/* GoGo desktop — solid black surfaces with restrained yellow accents. */
:root{
 color-scheme:dark;
 --bg:#080808;--surface:#111111;--surface-2:#191919;--surface-3:#242424;
 --line:#303030;--line-soft:#222222;--text:#f5f5f2;--muted:#a3a3a0;
 --yellow:#f4c542;--yellow-soft:#ffe082;--yellow-dark:#c99a18;
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 font-size:14px;color:var(--text);background:var(--bg)
}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,select{font:inherit}[hidden]{display:none!important}
::selection{color:#080808;background:var(--yellow)}
header{display:flex;align-items:center;height:56px;padding:0 clamp(18px,3vw,42px);background:#0b0b0b;border-bottom:1px solid var(--line-soft)}
header .brand{font-size:24px;font-weight:800;letter-spacing:-1.2px;color:var(--text)}
main{display:grid;grid-template-columns:304px minmax(0,1fr);gap:18px;max-width:1680px;margin:0 auto;padding:18px clamp(18px,3vw,42px)}
aside,.experience{background:var(--surface);border:1px solid var(--line-soft);border-radius:18px}
aside{height:calc(100vh - 92px);min-height:560px;padding:18px;overflow:auto;scrollbar-width:thin}
aside::-webkit-scrollbar{width:8px}aside::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:8px}
label{display:block;margin:0 0 13px;font-size:12px;font-weight:650;letter-spacing:.03em;color:var(--muted)}
select,input:not([type=checkbox]){width:100%;min-width:0;margin-top:6px;padding:10px 40px 10px 12px;color:var(--text);background-color:var(--surface-2);border:1px solid var(--line);border-radius:10px}
select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%23f4c542' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px 9px}
select:hover{border-color:#444}select:focus,input:focus{outline:0;border-color:var(--yellow);box-shadow:0 0 0 3px #f4c54224}
option{color:var(--text);background:#181818}.pair{display:block}
.field-title{margin-top:18px;padding-top:15px;border-top:1px solid var(--line-soft);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow-soft)}
.field-title+*{margin-top:11px}.status{display:none!important}
.access-card{margin:2px 0 15px;padding:12px 13px;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--yellow);border-radius:11px}
.access-card>span{display:block;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.access-card strong{display:block;margin-top:4px;font-size:21px;font-weight:800;color:var(--yellow)}
button{min-height:40px;padding:9px 14px;font-weight:650;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;cursor:pointer}
button:hover{background:var(--surface-3)}button:disabled{opacity:.35;cursor:default}button:disabled:hover{background:var(--surface-2)}
.primary{color:#0a0a08;background:var(--yellow);border-color:var(--yellow);box-shadow:none}.primary:hover{background:var(--yellow-soft)}.primary:disabled{box-shadow:none}
.icon-button{display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;color:var(--muted)}.icon-button svg{width:19px;height:19px}
.icon-button:hover{color:var(--yellow);border-color:var(--yellow)}#start{width:100%;min-height:46px;margin-top:16px;font-size:15px;font-weight:750}
.experience{overflow:hidden;align-self:start}.toolbar{display:flex;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border-bottom:1px solid var(--line-soft)}
.toolbar .icon-button{margin-right:auto}.views{display:flex;gap:3px;padding:3px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:10px}
.views button{min-height:32px;padding:6px 12px;font-size:13px;color:var(--muted);background:transparent;border:0}.views button:hover{color:var(--text);background:var(--surface-3)}
.views .selected,.views .selected:hover{color:#080808;background:var(--yellow)}.toolbar #floorSelect{display:none!important}
#scene{position:relative;height:calc(100vh - 328px);min-height:420px;max-height:720px;background:#090909}
#scene canvas{display:block;width:100%;height:100%;touch-action:none}
.indoor-minimap{position:absolute;right:14px;top:14px;width:140px;height:110px;padding:7px;background:#111111e8;border:1px solid var(--line);border-radius:12px;pointer-events:none}
.indoor-minimap svg{width:100%;height:100%}#walkHint{position:absolute;left:18px;bottom:18px;padding:10px 13px;font-size:12px;color:var(--text);background:#111111f2;border:1px solid var(--line);border-radius:10px;pointer-events:none}
#renderError{padding:60px 24px;color:var(--muted)}.guidance{min-height:154px;padding:20px 24px;background:#0d0d0d;border-top:1px solid var(--line-soft)}
#cueMeta{display:none}.guidance h1{margin:0;font-size:26px;font-weight:750;line-height:1.2;letter-spacing:-.6px}.actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
#play{display:none}#outdoorMap{height:calc(100vh - 270px);min-height:480px;background:#090909}.leaflet-container{font-family:inherit;background:#090909}
.leaflet-control-attribution{font-size:9px!important;color:var(--muted)!important;background:#111111d9!important}.leaflet-control-attribution a{color:var(--yellow-soft)!important}
.leaflet-tile{filter:grayscale(1) invert(.9) brightness(.72) contrast(.95)}.leaflet-bar a{color:var(--text)!important;background:var(--surface-2)!important;border-color:var(--line)!important}
dialog{min-width:270px;padding:22px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px #000000b8}
dialog::backdrop{background:#000000b8}dialog h2{margin:0 0 14px;font-size:18px;font-weight:750;letter-spacing:-.3px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
@media(max-width:900px){main{grid-template-columns:1fr;gap:12px;padding:12px}aside{height:auto;min-height:0}.experience{min-width:0}#scene{height:52vh;min-height:330px}.guidance{min-height:0}.toolbar{height:auto;flex-wrap:wrap}.toolbar .icon-button{margin-right:0}.views{width:100%;justify-content:space-between}.views button{flex:1}#outdoorMap{height:52vh;min-height:360px}}
@media(max-width:520px){main{padding:8px}#scene{min-height:300px}.guidance{padding:17px}.guidance h1{font-size:22px}.actions button{flex:1;padding:8px}.indoor-minimap{width:104px;height:82px}}
