@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-vietnamese-wght-normal.3jl0_j8w0bekq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-ext-wght-normal.2c7zyf29vrghw.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-wght-normal.0oxh562_148qc.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.2yptelh8aqa_5.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0s9lyv6-dq8sg.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.0injkow7o_js7.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.04ex7n90-6tif.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.1wlj3nn-4xnfp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2odd3csjijl0b.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--background:#020711;--surface:#07111dc7;--surface-strong:#050d18f0;--text:#f4f5ef;--muted:#9aa5b5;--muted-strong:#bec8d5;--border:#b0c5e03d;--border-strong:#c8daf06b;--accent:#d8ff3e;--accent-soft:#d8ff3e29;--cyan:#43ccff;--violet:#9f73ff;--warning:#ffc857;--font-ui:"Space Grotesk Variable", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono Variable", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html,body{min-height:100%}html{background:var(--background)}body{background:var(--background);color:var(--text);font-family:var(--font-ui);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}::selection{background:var(--accent);color:#0a0e06}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{isolation:isolate;background:radial-gradient(circle at 61% 52%,#13354f38,#0000 31%),radial-gradient(circle at 93% 88%,#104e7e24,#0000 27%),linear-gradient(#020711 0%,#030914 52%,#02060d 100%);min-height:100svh;position:relative;overflow:hidden}.app-shell:before,.app-shell:after{z-index:-1;pointer-events:none;content:"";position:absolute;inset:0}.app-shell:before{opacity:.78;background-image:radial-gradient(circle at 8% 18%,#cfe7ffbf 0 .7px,#0000 .9px),radial-gradient(circle at 21% 66%,#58aaff9e 0 .6px,#0000 .85px),radial-gradient(circle at 34% 27%,#eef6ffcc 0 .55px,#0000 .8px),radial-gradient(circle at 73% 21%,#74b6ffb8 0 .65px,#0000 .9px),radial-gradient(circle at 91% 47%,#eef6ffa3 0 .7px,#0000 .9px);background-size:181px 191px,247px 263px,313px 277px,211px 229px,277px 251px}.app-shell:after{background:linear-gradient(90deg,#020711bf 0%,#0000 32% 82%,#02071152 100%)}.top-navigation{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#02071194;border-bottom:1px solid #b0c5e02e;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex;position:relative}.brand-mark{color:var(--text);letter-spacing:-.035em;align-items:center;gap:11px;font-size:21px;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark>span:last-child>span{color:var(--accent)}.brand-icon{width:35px;height:35px;color:var(--accent);filter:drop-shadow(0 0 13px #d8ff3e47);place-items:center;display:grid;transform:rotate(-12deg)}.top-navigation nav{align-items:center;gap:10px;display:flex}.top-navigation nav button,.top-navigation nav a{min-height:38px;color:var(--muted-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:0 11px;font-size:14px;font-weight:520;text-decoration:none;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.top-navigation nav button:hover,.top-navigation nav button:focus-visible,.top-navigation nav a:hover,.top-navigation nav a:focus-visible{border-color:var(--border);color:var(--text);background:#98b7da0f;outline:none}.hero-copy{z-index:10;width:min(390px,31vw);position:absolute;top:clamp(118px,16vh,166px);left:clamp(30px,4vw,62px)}.hero-copy h1{letter-spacing:-.058em;text-wrap:balance;max-width:390px;margin:0;font-size:clamp(43px,3.75vw,62px);font-weight:590;line-height:.98}.hero-copy>p{max-width:365px;color:var(--muted-strong);text-wrap:pretty;margin:22px 0 0;font-size:clamp(15px,1.18vw,18px);font-weight:410;line-height:1.62}.repository-form{margin-top:29px}.repository-label{color:var(--text);letter-spacing:-.015em;justify-content:space-between;align-items:baseline;gap:16px;margin:0 2px 9px;font-size:13px;font-weight:620;display:flex}.repository-label small{color:var(--accent);font-family:var(--font-mono);letter-spacing:.035em;text-transform:uppercase;font-size:9px;font-weight:540}.repository-input{height:62px;color:var(--text);background:#040a13c7;border:1px solid #d8ff3e6b;border-radius:13px;align-items:center;gap:12px;padding:0 15px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex;position:relative;box-shadow:inset 3px 0 #d8ff3ec7,0 20px 54px #00000038}.repository-input:focus-within{border-color:var(--accent);background:#050c16f0;box-shadow:0 0 0 3px #d8ff3e1c,0 18px 52px #00000047}.repository-input.has-error{border-color:#ff7f79}.repository-input>svg:first-child{color:var(--accent);flex:none}.repository-input input{min-width:0;color:var(--text);font-family:var(--font-mono);letter-spacing:-.025em;background:0 0;border:0;outline:0;flex:1;font-size:13px}.repository-input input::placeholder{color:#768396}.input-check{color:var(--accent);flex:none}.form-error{color:#ffaaa5;margin:8px 2px 0;font-size:12px;line-height:1.4}.repository-hint{color:var(--muted);margin:8px 2px 0;font-size:11px;line-height:1.45}.generate-button{background:var(--accent);color:#111804;letter-spacing:-.022em;cursor:pointer;border:1px solid #eeff9f85;border-radius:13px;justify-content:center;align-items:center;gap:14px;width:100%;height:55px;margin-top:16px;font-size:15px;font-weight:690;transition:transform .18s,background .18s,box-shadow .18s;display:flex;box-shadow:0 14px 38px #a7d51529}.generate-button:hover:not(:disabled),.generate-button:focus-visible:not(:disabled){background:#e3ff72;outline:none;transform:translateY(-2px);box-shadow:0 18px 48px #aede1640}.generate-button:disabled{cursor:wait;opacity:.72}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.planet-stage{z-index:2;min-width:0;position:absolute;inset:68px 0 88px 25%}.planet-canvas{position:absolute;inset:0}.planet-canvas canvas{cursor:grab;outline:none;display:block}.planet-canvas canvas:active{cursor:grabbing}.planet-module-loading{color:var(--muted);font-family:var(--font-mono);text-align:center;place-content:center;gap:13px;font-size:11px;display:grid;position:absolute;inset:0}.planet-module-loading span{border:1px solid #d8ff3e33;border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin:auto;animation:1.4s linear infinite spin}.generation-status{color:#dbe6cd;max-width:min(420px,70%);font-family:var(--font-mono);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040c14c7;border:1px solid #d8ff3e3d;border-radius:10px;align-items:center;gap:9px;padding:10px 13px;font-size:10px;line-height:1.4;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}.generation-status svg{color:var(--accent);flex:none;animation:1.4s ease-in-out infinite status-pulse}@keyframes status-pulse{50%{opacity:.45;transform:scale(.88)}}.building-tooltip{z-index:18;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040a12eb;border:1px solid #d8ff3e7a;border-radius:9px;flex-direction:column;gap:4px;width:min(260px,36vw);padding:10px 11px;display:flex;position:absolute;transform:translate(14px,calc(-100% - 12px));box-shadow:0 15px 45px #00000075}.building-tooltip strong{color:var(--accent);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.building-tooltip span{color:#d5dfeb;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.building-tooltip small{color:#8391a3;font-family:var(--font-mono);font-size:8px}.contributor-marker{background:#101824;border:1.5px solid #d8ff3ee6;border-radius:50%;width:26px;height:26px;transition:transform .16s,box-shadow .16s;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 3px #d8ff3e14,0 0 22px #d8ff3e57}.contributor-marker:hover{transform:scale(1.22);box-shadow:0 0 0 4px #d8ff3e21,0 0 30px #d8ff3e80}.contributor-marker img{object-fit:cover;width:100%;height:100%;display:block}.district-label,.release-label{min-height:23px;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030911db;border:1px solid;border-radius:6px;align-items:center;padding:0 7px;font-size:8px;font-weight:550;line-height:1;display:inline-flex;box-shadow:0 7px 22px #00000052}.release-label{color:#ffe49b;border-color:#ffc85799}.repository-inspector{z-index:12;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(1.16);backdrop-filter:blur(18px)saturate(1.16);background:linear-gradient(145deg,#081422d1,#040b14b8);border-radius:15px;width:252px;padding:18px;position:absolute;top:clamp(104px,13vh,134px);right:clamp(20px,2.4vw,36px);box-shadow:0 26px 80px #00000042,inset 0 1px #ffffff06}.repository-title{color:var(--text);letter-spacing:-.025em;border-bottom:1px solid #b0c5e033;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding-bottom:15px;font-size:14px;font-weight:540;text-decoration:none;display:grid}.repository-title>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.repository-title b{color:#758297;font-weight:400}.repository-title>svg{color:#8290a2;opacity:0;transition:opacity .16s}.repository-title:hover>svg,.repository-title:focus-visible>svg{opacity:1}.repo-glyph{width:34px;height:34px;color:var(--cyan);font-family:var(--font-mono);background:#43ccff14;border:1px solid #43ccff75;border-radius:10px;place-items:center;font-size:14px;display:grid}.inspector-stats{border-bottom:1px solid #b0c5e033;gap:14px;padding:17px 0;display:grid}.inspector-stats>div,.language-legend>div{align-items:center;gap:11px;min-width:0;display:flex}.inspector-stats svg{color:#aab8c9;flex:none}.inspector-stats span{color:#dce4ed;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.inspector-stats strong{color:var(--accent);margin-left:3px;font-weight:600}.language-legend{gap:13px;padding-top:17px;display:grid}.language-legend span:last-child{color:#b9c5d3;font-size:11px}.legend-dot{border-radius:4px;flex:none;width:11px;height:11px;box-shadow:0 0 12px}.activity-icon{color:var(--accent);flex:none}.simplified-note{color:#78869a;font-family:var(--font-mono);border-top:1px solid #b0c5e029;margin:15px 0 0;padding-top:13px;font-size:8px;line-height:1.5}.action-controls{z-index:14;gap:9px;display:flex;position:absolute;bottom:106px;left:clamp(30px,4vw,62px)}.action-controls button{border:1px solid var(--border);color:#c5d0dd;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050d17b8;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:74px;height:66px;font-size:10px;font-weight:520;transition:color .16s,border-color .16s,background .16s,transform .16s;display:inline-flex}.action-controls button:hover,.action-controls button:focus-visible{border-color:var(--border-strong);color:var(--text);background:#0d1a29db;outline:none;transform:translateY(-2px)}.action-controls button.is-primary{color:var(--text);border-color:#d8ff3ed1;box-shadow:inset 0 0 26px #d8ff3e09}.action-controls button.is-primary svg{color:var(--accent)}.commit-timeline{z-index:13;height:57px;position:absolute;bottom:25px;left:clamp(30px,4vw,62px);right:clamp(28px,4vw,60px)}.timeline-labels{color:#d3dce7;justify-content:space-between;align-items:center;margin-bottom:11px;font-size:11px;font-weight:520;display:flex}.timeline-track{background:#acbed46b;height:1px;position:relative}.timeline-progress{background:linear-gradient(90deg, #d8ff3e2e, var(--accent));position:absolute;inset:0 auto 0 0;box-shadow:0 0 14px #d8ff3e66}.timeline-track button{cursor:pointer;background:#8793a3;border:0;border-radius:50%;width:7px;height:7px;padding:0;transition:background .16s,box-shadow .16s,transform .16s;position:absolute;top:50%;transform:translate(-50%,-50%)}.timeline-track button:nth-of-type(3n+1){background:#b6ca61}.timeline-track button:hover,.timeline-track button:focus-visible{background:var(--accent);outline:none;transform:translate(-50%,-50%)scale(1.35);box-shadow:0 0 0 5px #d8ff3e1f}.timeline-track button.is-active{background:var(--accent);border:2px solid #f6ffd0;width:13px;height:13px;box-shadow:0 0 0 7px #d8ff3e1f,0 0 22px #d8ff3ea8}.commit-callout{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050c16e0;border:1px solid #b0c5e047;border-radius:9px;flex-direction:column;gap:3px;width:220px;padding:9px 11px;display:flex;position:absolute;bottom:33px;transform:translate(-50%);box-shadow:0 12px 36px #0000004d}.commit-callout:after{content:"";background:#050c16e0;border-bottom:1px solid #b0c5e047;border-right:1px solid #b0c5e047;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.commit-callout span,.commit-callout small{color:#8d9aad;font-family:var(--font-mono);font-size:8px;font-style:normal}.commit-callout strong{color:#dfe7ef;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:520;overflow:hidden}.commit-callout small b{color:var(--accent);font-weight:520}.commit-callout small i{color:#ff857f;margin-left:6px;font-style:normal}.mobile-repo-strip{display:none}.about-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#01050cb8;place-items:center;padding:20px;animation:.16s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.about-panel{border:1px solid var(--border);background:var(--surface-strong);border-radius:16px;width:min(480px,100%);padding:34px;position:relative;box-shadow:0 30px 100px #0000008f}.about-panel h2{letter-spacing:-.047em;max-width:360px;margin:0;font-size:32px;font-weight:590;line-height:1.05}.about-panel p{color:var(--muted-strong);margin:18px 0 0;font-size:14px;line-height:1.65}.about-close{border:1px solid var(--border);width:36px;height:36px;color:var(--muted-strong);cursor:pointer;background:#ffffff06;border-radius:10px;place-items:center;display:grid;position:absolute;top:15px;right:15px}.about-close:hover,.about-close:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.not-found{background:var(--background);min-height:100svh;color:var(--text);text-align:center;place-content:center;padding:24px;display:grid}.not-found span{color:var(--accent);font-family:var(--font-mono);font-size:12px}.not-found h1{letter-spacing:-.05em;margin:12px 0 24px;font-size:clamp(34px,5vw,62px)}.not-found a{color:var(--accent)}@media (max-width:1180px){.hero-copy{width:min(350px,32vw)}.hero-copy h1{font-size:clamp(39px,4vw,50px)}.repository-inspector{width:220px;padding:15px}.planet-stage{left:23%}}@media (max-width:920px){.hero-copy{width:310px;top:96px;left:28px}.hero-copy h1{font-size:42px}.hero-copy>p{font-size:14px}.planet-stage{left:20%}.repository-inspector{width:205px;top:92px;right:18px}.language-legend{display:none}.action-controls{left:28px}.commit-timeline{left:28px;right:28px}}@media (max-width:700px){body{overflow:hidden}.top-navigation{height:58px;padding:0 17px}.brand-mark{gap:8px;font-size:18px}.brand-icon{width:29px;height:29px}.top-navigation nav button,.top-navigation nav a{padding:0 6px;font-size:0}.top-navigation nav button svg,.top-navigation nav a svg{width:19px;height:19px}.hero-copy{width:auto;top:78px;left:18px;right:18px}.hero-copy h1{max-width:345px;font-size:clamp(34px,10vw,43px);line-height:.98}.hero-copy>p{display:none}.repository-form{margin-top:17px}.repository-label{margin-bottom:7px;font-size:12px}.repository-input{border-radius:11px;height:52px}.repository-input input{font-size:11px}.generate-button{border-radius:11px;width:100%;height:48px;margin-top:16px}.generate-button span{display:inline}.repository-hint{display:none}.planet-stage{inset:320px -17% 142px}.generation-status{max-width:72vw;font-size:8px;top:5px}.repository-inspector{display:none}.mobile-repo-strip{z-index:12;border:1px solid var(--border);color:#9daaba;min-width:0;font-family:var(--font-mono);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050d17c7;border-radius:11px;align-items:center;gap:12px;padding:10px 12px;font-size:8px;display:flex;position:absolute;bottom:103px;left:17px;right:17px}.mobile-repo-strip strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-right:auto;font-size:9px;overflow:hidden}.action-controls{gap:7px;bottom:100px;left:20px;transform:translateY(-100%)}.action-controls button{border-radius:10px;width:43px;height:43px}.action-controls button span{display:none}.commit-timeline{height:58px;bottom:20px;left:20px;right:20px}.timeline-labels{font-size:9px}.commit-callout{display:none}.building-tooltip{width:min(220px,62vw)}}@media (max-height:720px) and (min-width:701px){.hero-copy{top:92px}.hero-copy h1{font-size:42px}.hero-copy>p{margin-top:15px;font-size:14px}.repository-form{margin-top:18px}.action-controls{bottom:92px}.repository-inspector{top:88px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
