@charset "UTF-8";
:root{color-scheme:dark;--cream:#f3eddf;--muted:#b2abae;--pink:#ef8fab;--mint:#b6ecbf;--line:rgba(242,232,222,.16);--mono:"Consolas","SFMono-Regular","Courier New",monospace;--sans:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#121018;color:var(--cream);font-family:var(--sans);font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:6px}a{color:inherit;text-decoration:none}button{touch-action:manipulation}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}#scene{position:fixed;inset:0;touch-action:none}#scene canvas{display:block;width:100%;height:100%}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,8,14,.82),transparent 21%,transparent 67%,rgba(8,8,14,.72)),linear-gradient(90deg,rgba(8,8,14,.4),transparent 60%)}.topbar{position:fixed;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:28px 38px;gap:24px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand-mark{font-size:33px;font-weight:800;letter-spacing:-4px;line-height:1;color:var(--pink);font-style:italic;position:relative;padding-right:6px}.brand-mark>span{position:absolute;font-size:14px;top:-5px;right:-1px;font-style:normal;letter-spacing:0}.brand-name{font-size:12px;font-weight:700;letter-spacing:2px}.brand-name small{display:block;color:var(--muted);font:9px var(--mono);letter-spacing:3.2px;margin-top:6px}.venue-status{font:10px var(--mono);letter-spacing:1.4px;color:#c4bcc3;display:flex;align-items:center;gap:10px}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 9px #a9ffb999}.status-divider{color:#6a626d;margin:0 2px}nav{display:flex;gap:9px;align-items:center}.nav-button{border:1px solid var(--line);background:rgba(20,16,26,.44);border-radius:6px;min-height:38px;display:flex;gap:9px;align-items:center;justify-content:center;font-size:11px;padding:0 14px;transition:background .2s,border-color .2s;backdrop-filter:blur(10px)}.nav-button:hover{background:rgba(67,51,66,.8);border-color:#f3eddf55}.icon-button{width:38px;padding:0}.help-button{font-family:Georgia,serif;font-size:18px}.welcome{position:fixed;left:7%;bottom:14%;z-index:2;max-width:430px;transition:opacity .35s,transform .35s;filter:drop-shadow(0 2px 16px #09081088)}.eyebrow{font:10px var(--mono);font-weight:400;letter-spacing:2px;line-height:1.6;color:var(--pink);margin:0 0 23px}.welcome .eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{display:block;width:22px;height:1px;background:var(--pink)}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,6.5vw,100px);line-height:.92;letter-spacing:-4px;font-weight:400;margin:0 0 25px}h1 em{font-weight:400;color:var(--pink)}.welcome-copy{font-size:14px;line-height:1.8;font-weight:400;color:#d0c8cc;margin:0 0 26px}.welcome-actions{display:flex;align-items:center;gap:22px}.primary-button{border:1px solid #ffbad0;background:var(--pink);color:#261921;font-size:12px;font-weight:650;padding:15px 18px;min-height:47px;display:flex;align-items:center;gap:32px;border-radius:4px;box-shadow:0 0 30px #ed7fa51a;transition:background .2s,transform .2s}.primary-button:hover{background:#ffb0c9;transform:translateY(-2px)}.primary-button span{font-size:19px;font-weight:400;line-height:1}.text-button{border:0;background:none;padding:8px 0;font-size:11px;display:inline-flex;gap:12px;align-items:center;color:#d6ced2}.text-button:hover{color:white}.text-button span{color:var(--pink);font-size:18px}.footer{position:fixed;left:38px;right:38px;bottom:23px;display:flex;align-items:center;justify-content:space-between;z-index:3;pointer-events:none;gap:15px}.footer>*{pointer-events:auto}.control-guide{display:flex;align-items:center;gap:12px;font:10px var(--mono);color:#b5aeb5}.control-guide span{display:inline-flex;gap:4px;align-items:center}.control-guide b{font-weight:400;color:#655c68}kbd{font:9px var(--mono);padding:3px 4px;border:1px solid #d5c5db38;border-bottom-width:2px;border-radius:3px;min-width:18px;text-align:center;color:#d6ced6;background:#24202b60}.control-guide span kbd:last-of-type{margin-right:4px}.footer-note{font:9px var(--mono);letter-spacing:1.6px;color:#a89da8;display:flex;align-items:center;gap:15px}.footer-note>span{color:var(--pink);font-size:21px}.reset-button{display:none}.walking .welcome{opacity:0;transform:translateY(18px);pointer-events:none;visibility:hidden}.walking .reset-button{display:inline-flex}.walking .vignette{background:linear-gradient(180deg,rgba(8,8,14,.65),transparent 18%,transparent 80%,rgba(8,8,14,.6))}#crosshair{display:none;position:fixed;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%);pointer-events:none;opacity:.6;z-index:2}.walking #crosshair{display:block}#crosshair i{position:absolute;background:#fff7eb}#crosshair i:first-child{width:8px;height:1px;left:2px;top:6px}#crosshair i:last-child{height:8px;width:1px;left:6px;top:2px}.interaction{position:fixed;z-index:4;bottom:90px;left:50%;transform:translateX(-50%);border:1px solid #e0d4d73b;background:#16131fe6;border-radius:6px;color:var(--cream);padding:14px 22px;backdrop-filter:blur(14px);font-size:12px;box-shadow:0 8px 40px #0005;max-width:calc(100vw - 40px)}.interaction:hover{border-color:var(--pink)}.interaction kbd{margin-right:10px}.loading{position:fixed;z-index:5;bottom:31px;left:50%;transform:translateX(-50%);font:10px var(--mono);letter-spacing:1.3px;color:var(--cream);padding:12px 16px;background:#15121be8;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;gap:8px;white-space:nowrap}.loading-light{width:5px;height:5px;border-radius:50%;background:var(--pink);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.25}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{color:var(--cream);border:1px solid #61505f;background:#18151eee;border-radius:12px;padding:30px;box-shadow:0 25px 160px #000c;backdrop-filter:blur(25px);max-height:calc(100dvh - 50px);overflow:auto}dialog::backdrop{background:#0b0811b8;backdrop-filter:blur(8px)}.directory-dialog{width:min(1010px,calc(100vw - 44px))}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.dialog-top .eyebrow{margin:0}.close-button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:none;font-size:24px;line-height:1;color:#b8adb7}.close-button:hover{background:#ffffff15;color:#fff}h2{font:400 39px/1.12 Georgia,"Times New Roman",serif;letter-spacing:-1px;margin:0 0 12px}.dialog-intro{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 27px}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.game-card{border:1px solid var(--line);background:#201b26;overflow:hidden;border-radius:7px;transition:border-color .2s,transform .2s;--accent:#b4d982}.game-card:hover{transform:translateY(-4px);border-color:var(--accent)}.game-card.bush{--accent:#b4e89a}.game-card.hive{--accent:#f0c879}.game-card.evolife{--accent:#77cfda}.game-card.picnic{--accent:#ee88b9}.game-card.ball{--accent:#a4a4ef}.game-art{height:auto;aspect-ratio:4/3;background:radial-gradient(ellipse at 50% 70%,#304c35,#152622 80%);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--accent)}.hive .game-art{background:radial-gradient(ellipse at 50% 70%,#58472c,#252017 80%)}.evolife .game-art{background:radial-gradient(ellipse at 50% 70%,#15394a,#101a2e 80%)}.picnic .game-art{background:radial-gradient(ellipse at 50% 70%,#52304d,#25152e 80%)}.ball .game-art{background:radial-gradient(ellipse at 50% 70%,#363460,#19192d 80%)}.game-art canvas{width:100%;height:100%;display:block;object-fit:cover;image-rendering:pixelated}.fallback-art{text-align:center;font:900 33px/1 var(--mono);letter-spacing:-2px;text-shadow:4px 4px #0007}.game-info{padding:18px}.game-number{font:10px var(--mono);color:var(--accent);display:flex;align-items:center;justify-content:space-between}.game-number>span{font-size:8px;letter-spacing:1.1px;color:var(--muted)}h3{font-size:19px;font-weight:500;letter-spacing:-.3px;margin:14px 0 6px;display:flex;align-items:center;justify-content:space-between}h3>span{color:var(--accent);font-size:22px}.game-info p{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 21px}.game-genre{font:8px var(--mono);letter-spacing:1.2px;color:var(--accent)}.directory-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:24px;font:10px var(--mono);line-height:1.6;color:#988e9b}.directory-bottom>span:first-child{display:flex;align-items:center;gap:8px}.directory-bottom i{width:5px;height:5px;background:#b99d73;border-radius:50%;flex-shrink:0}.help-dialog{width:min(530px,calc(100vw - 40px))}.help-dialog h2{font-size:37px}.help-list{margin:0 0 24px}.help-list>div{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:18px 0}.help-list dt{font-size:12px;line-height:1.6;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.help-list dt span{font-size:10px;color:var(--muted);margin-left:4px}.help-list dd{font-size:11px;color:var(--muted);margin:0;text-align:right}.help-note{padding:16px;background:#ef8fab0b;border-left:2px solid #c67b97}.help-note>span{font:9px var(--mono);letter-spacing:1.5px;color:var(--pink)}.help-note p{font-size:12px;line-height:1.7;color:#c4bac5;margin:8px 0 0}.help-fine{font-size:11px;color:var(--muted);line-height:1.7;margin:19px 0 0}.touch-controls{display:none}
@media(min-width:1600px){.topbar{padding:35px 48px}.footer{left:48px;right:48px;bottom:30px}.welcome{bottom:15%}}
@media(max-width:1000px){.venue-status{display:none}.welcome{left:6%;bottom:15%;max-width:340px}h1{font-size:72px}.topbar{padding:24px}.footer{left:24px;right:24px}.footer-note{font-size:8px;letter-spacing:1px}.control-guide{font-size:9px;gap:8px}.directory-dialog{padding:24px}.game-grid{gap:12px}.game-info{padding:14px}.game-number>span{font-size:7px}h3{font-size:17px}.game-info p{font-size:10px}}
@media(max-width:620px){.topbar{padding:20px 19px;gap:10px}.brand{gap:9px}.brand-name{font-size:10px;letter-spacing:1.5px}.brand-name small{font-size:7px;letter-spacing:2.8px;margin-top:5px}.brand-mark{font-size:29px}.brand-mark>span{font-size:12px}.nav-button{min-height:34px;border-radius:5px}.directory-button{padding:0 10px}.directory-button>span{display:none}.icon-button{width:34px}nav{gap:6px}.welcome{left:25px;bottom:15%;max-width:calc(100vw - 50px)}h1{font-size:62px;letter-spacing:-3px;margin-bottom:20px}.welcome .eyebrow{font-size:9px;margin-bottom:18px}.welcome-copy{font-size:12px;margin-bottom:21px}.welcome-actions{gap:18px}.primary-button{font-size:11px;padding:13px 15px;gap:20px;min-height:44px}.text-button{font-size:10px}.footer{left:20px;right:20px;bottom:max(20px,env(safe-area-inset-bottom))}.control-guide{gap:7px;font-size:8px}.control-guide kbd{font-size:8px;min-width:15px;padding:2px 3px}.footer-note{display:none}.walking .control-guide{display:none}.walking .footer{justify-content:center}.interaction{bottom:94px;font-size:11px;white-space:nowrap;padding:12px 17px}.loading{bottom:64px;font-size:8px;padding:11px 12px;letter-spacing:.8px}.directory-dialog{width:calc(100vw - 28px);padding:22px 18px;max-height:calc(100dvh - 28px)}h2{font-size:29px}.dialog-intro{font-size:12px;margin-bottom:20px}.dialog-top .eyebrow{font-size:9px;letter-spacing:1.3px}.game-grid{grid-template-columns:1fr;gap:12px}.game-card{display:grid;grid-template-columns:120px 1fr}.game-art{height:100%;aspect-ratio:auto;min-height:140px}.game-art canvas{object-fit:cover}.fallback-art{font-size:23px}.game-info{padding:15px 13px}.game-number{font-size:9px}.game-number>span{font-size:6px;letter-spacing:.6px}h3{font-size:18px;margin-top:10px}.game-info p{font-size:10px;margin-bottom:13px}.game-genre{font-size:7px;letter-spacing:.8px}.directory-bottom{display:block;font-size:9px;padding-top:17px}.directory-bottom>span{display:block;margin-top:6px}.help-dialog{padding:22px}.help-dialog h2{font-size:31px}.help-list>div{gap:14px}.help-list dt{max-width:55%}.help-list dd{font-size:10px;max-width:43%}.help-list dt span{font-size:9px}.help-note p{font-size:11px}}
@media(pointer:coarse){.walking .touch-controls{display:flex;position:fixed;left:24px;right:24px;bottom:90px;z-index:3;justify-content:space-between;align-items:end;pointer-events:none}.touch-pad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:5px;pointer-events:auto}.touch-pad button{background:#1b1727aa;border:1px solid #b4a1c44d;border-radius:9px;font-size:21px;touch-action:none;user-select:none;-webkit-user-select:none}.touch-pad button:active{background:#ef8fab66}.touch-up{grid-column:2}.touch-left{grid-row:2;grid-column:1}.touch-down{grid-row:2;grid-column:2}.touch-right{grid-row:2;grid-column:3}.touch-look{font:8px var(--mono);letter-spacing:1px;color:#c7baca;background:#18122180;padding:9px;border-radius:4px}.walking .interaction{bottom:207px}.control-guide{display:none}.footer-note{display:flex}.walking .footer-note{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Interface simplification, November 2026: navigation only, no persistent HUD. */
.topbar { justify-content: flex-end; }
.topbar nav { margin-left: auto; }
.topbar .reset-button { display: none; font-family: inherit; font-size: 11px; }
.walking .topbar .reset-button { display: inline-flex; }
.topbar .reset-button span { color: var(--pink); font-size: 17px; }
@media (max-width: 620px) {
  .topbar .reset-button { padding: 0 10px; font-size: 10px; }
  .topbar .reset-button span { display: none; }
}
