:root{--bg:#0b0d13;--panel:#0e111ab8;--line:#ffffff1a;--text:#e9e6df;--muted:#e9e6df9e;--accent:#f5b54a;--font:"Space Grotesk", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit}.stage{position:fixed;inset:0}.stage canvas{display:block}.header{z-index:20;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;align-items:center;gap:24px;height:64px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.brand{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.brand-name{font-size:18px;font-weight:700}.brand-role{color:var(--muted);letter-spacing:.04em;font-size:12px}.nav{gap:4px;margin:0 auto;display:flex}.nav button{color:var(--muted);border-radius:999px;padding:8px 14px;font-size:14px;transition:color .2s,background .2s}.nav button:hover{color:var(--text);background:#ffffff12}.links{gap:14px;font-size:14px;display:flex}.links a{color:var(--muted);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.links a:hover{color:var(--accent)}.radio-toggle{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:inline-flex}.radio-toggle:hover,.radio-toggle.on{color:var(--accent)}.progress{height:2px;position:absolute;bottom:-1px;left:0;right:0}.progress div{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(0)}.compass{z-index:15;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:8px 16px 8px 8px;display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%)}.compass-dial{background:#f5b54a1f;border:1px solid #f5b54a73;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.compass-dial svg{width:30px;height:30px;fill:var(--accent);transition:fill .3s}.compass.behind .compass-dial{animation:1.2s ease-in-out infinite pulse}.compass.behind .compass-dial svg{fill:#ff7a6b}@keyframes pulse{50%{box-shadow:0 0 0 6px #ff7a6b33}}.compass-text{flex-direction:column;min-width:0;display:flex}.compass-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.compass-text>span{color:var(--muted);font-size:12px}.dots{align-items:center;gap:10px;margin-top:5px;display:flex}.dot-group{gap:4px;display:flex}.dot-group+.dot-group{border-left:1px solid var(--line);padding-left:10px}.dot{border:1.5px solid #ffffff59;border-radius:50%;width:10px;height:10px;padding:0;transition:background .3s,transform .3s}.dot.seen{background:var(--accent);border-color:var(--accent)}.dot.here{border-color:#fff;transform:scale(1.35)}.dot-count{color:var(--muted);font-size:11px}.card{--text:#2b2f3a;--muted:#4d5566;--line:#b9c6d8;--accent:#2f5fa8;--dlg-frame:#34588f;--dlg-dots:#7fb0e6;z-index:15;color:var(--text);border:4px solid var(--dlg-frame);font-family:"Pixelify Sans", var(--font);background:#fbfbf6;border-radius:12px;padding:18px 28px 20px;animation:.35s ease-out rise;position:fixed;bottom:24px;left:24px;right:24px;box-shadow:0 4px #0a142859,0 12px 32px #00000059}.card:before{content:"";border:3px dotted var(--dlg-dots);pointer-events:none;border-radius:7px;position:absolute;inset:4px}.card:after{content:"";border:7px solid #0000;border-top:9px solid #d8403a;border-bottom:0;animation:.9s steps(2,end) infinite nudge;position:absolute;bottom:12px;right:16px}@keyframes nudge{50%{transform:translateY(3px)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.card small{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.modal small{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.card h2{margin:2px 0 6px;font-size:24px;font-weight:600}.card p{color:var(--muted);margin:0;font-size:16px;line-height:1.45}.logo-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.logo-row img{object-fit:contain;max-width:96px;height:28px}.logo-row span{color:var(--muted);font-size:14px}.card .card-open{background:var(--dlg-frame);color:#fff;border-radius:6px;box-shadow:0 3px #1f3a63}.card .card-open:hover{background:#3f69a8}.card-open{background:var(--accent);color:#1a1206;border-radius:999px;margin-top:10px;padding:7px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.hint{z-index:14;color:var(--muted);flex-direction:column;gap:2px;font-size:13px;transition:opacity .6s;display:flex;position:fixed;top:76px;left:24px}.hint.gone{opacity:0;pointer-events:none}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05060ab3;place-items:center;padding:16px;animation:.25s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{border:1px solid var(--line);background:#11141d;border-radius:18px;width:min(640px,100%);max-height:calc(100vh - 32px);position:relative;overflow:auto}.modal-media{background:#0a0c12}.modal-media img{object-fit:contain;width:100%;max-height:55vh;display:block}.modal-body{padding:20px 24px 24px}.modal h2{margin:4px 0;font-size:26px}.modal p{color:var(--muted)}.modal .modal-sub{margin:0;font-size:14px}.modal-close{background:#0000008c;border-radius:50%;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:10px;right:12px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags span{background:#ffffff14;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.tags img{object-fit:contain;background:#fbfbf6;border-radius:50%;width:18px;height:18px;margin-left:-6px;padding:2px}.modal-logos{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.modal-logos span{background:#fbfbf6;border-radius:8px;place-items:center;height:40px;padding:6px 10px;display:grid}.modal-logos img{object-fit:contain;max-width:110px;max-height:28px}.modal-links .card-open{align-items:center;gap:8px;display:inline-flex}.modal-links .card-open img{object-fit:contain;background:#fbfbf6;border-radius:4px;width:18px;height:18px;padding:2px}.modal-links{flex-wrap:wrap;gap:8px;display:flex}.modal-links .card-open{margin-top:14px}.card.contact{max-height:calc(100vh - 120px);overflow:auto}.card.contact:after{display:none}.contact-email{border:2px solid var(--line);background:#f1f4ea;border-radius:6px;align-items:center;gap:10px;margin-top:12px;padding:6px 6px 6px 12px;font-size:15px;display:flex}.contact-email>svg{color:var(--dlg-frame)}.contact-email a{text-overflow:ellipsis;min-width:0;color:var(--text);flex:1;text-decoration:none;overflow:hidden}.contact-email a:hover{color:var(--accent)}.contact-email button{width:30px;height:30px;color:var(--muted);border-radius:4px;transition:color .15s,background .15s}.contact-email button:hover{color:#fff;background:var(--dlg-frame)}.contact-form{flex-direction:column;gap:10px;margin-top:12px;display:flex}.contact-form input,.contact-form textarea{border:2px solid var(--line);width:100%;color:var(--text);font:16px/1.4 "Pixelify Sans", var(--font);resize:none;background:#f1f4ea;border-radius:6px;padding:10px 12px;transition:border-color .15s,background .15s;box-shadow:inset 0 2px #34588f14}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8a93a3}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--dlg-frame);background:#fff;outline:none}.contact-form .card-open{align-self:flex-start;align-items:center;gap:8px;margin-top:2px;display:inline-flex}.contact-form .card-open:active{transform:translateY(2px);box-shadow:0 1px #1f3a63}.socials{border-top:2px dotted var(--line);flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;display:flex}.socials a{border:2px solid var(--dlg-frame);box-shadow:0 3px 0 var(--dlg-frame);color:var(--dlg-frame);background:#fff;border-radius:6px;flex:100px;justify-content:center;align-items:center;gap:8px;padding:8px 0;font-size:14px;text-decoration:none;transition:color .15s,background .15s;display:flex}.socials a svg{font-size:16px}.socials a:hover{color:#fff;background:var(--dlg-frame)}.socials a:active{box-shadow:0 1px 0 var(--dlg-frame);transform:translateY(2px)}@media (width<=760px){.header{gap:12px;padding:0 16px}.links,.brand-role{display:none}.nav{margin-right:0}.nav button{padding:6px 8px;font-size:13px}.hint{display:none}.card{padding:16px 20px 18px;bottom:16px;left:16px;right:16px}.socials span{display:none}}@media (width<=460px){.brand-name{font-size:15px}.nav button:first-child{display:none}}@media (width>=1000px){.card.contact{width:420px;left:auto;right:28px}}.loader{z-index:100;background:repeating-linear-gradient(0deg, #00000038 0 2px, transparent 2px 4px), radial-gradient(ellipse at center, #171b28 0%, var(--bg) 70%);text-align:center;cursor:pointer;place-items:center;padding:16px;font-family:"Press Start 2P",Pixelify Sans,monospace;transition:opacity .45s steps(5,end);display:grid;position:fixed;inset:0}.loader.leaving{opacity:0}.loader-inner{flex-direction:column;align-items:center;gap:18px;width:min(520px,100%);display:flex}.loader-inner p{margin:0}.loader-title{color:var(--accent);text-shadow:3px 3px #7a4a12;font-size:clamp(18px,5vw,30px);line-height:1.3}.loader-sub{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.loader-bar{border:3px solid var(--text);grid-template-columns:repeat(20,1fr);gap:3px;width:100%;margin-top:18px;padding:5px;display:grid;box-shadow:4px 4px #0009}.loader-bar span{background:#ffffff0f;height:18px}.loader-bar span.on{background:var(--accent);box-shadow:inset 0 -4px #c27d1c}.loader-status{min-height:1.6em;font-size:11px;line-height:1.6}.blink{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.blink{animation:none}}.flying-letter{z-index:40;pointer-events:none;color:#fbfbf6;filter:drop-shadow(2px 2px #34588f)drop-shadow(0 4px 10px #00000080);font-size:30px;position:fixed}.flying-letter svg{display:block}
