:root{font-family:Arial,Helvetica,sans-serif;color:#dcecf6;background:#030d1a;font-synthesis:none;color-scheme:dark;--muted:#9ab1c6;--line:#274359;--cyan:#65d7f4;--panel:#0b1b2b}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}
#space{position:relative;width:100%;height:100dvh;min-height:260px}#room-canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}
.space-top{position:absolute;top:0;left:0;right:0;padding:max(20px,env(safe-area-inset-top)) 28px 64px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:linear-gradient(#030d1aeb,transparent);pointer-events:none}.place-name{display:flex;align-items:center;gap:13px;letter-spacing:.22em;font-size:13px;font-weight:600}.place-mark{font-size:27px;color:var(--cyan)}.place-name small{display:block;font-size:10px;letter-spacing:.06em;font-weight:400;margin-top:6px;color:var(--muted)}.space-top-actions{display:flex;align-items:center;gap:18px;font-size:11px;color:#bed0df}.quiet-button{border:1px solid var(--line);border-radius:5px;padding:10px 14px;background:#0b1b2bdb;color:#dcecf6;pointer-events:auto}.quiet-button:hover{border-color:var(--cyan);background:#122a40}
.space-bottom{position:absolute;bottom:0;left:0;right:0;padding:45px 24px max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(transparent,#030d1aed);pointer-events:none}.movement-help,.data-legend{font-size:10px;color:var(--muted);margin:0}.movement-help span{padding:0 8px}.data-legend{display:flex;flex-wrap:wrap;gap:9px 16px;justify-content:flex-end}.data-legend>span{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.data-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.key-unknown{background:#8395a7}.key-attention{background:#ff6b72}.key-normal{background:#52dca8}
.navigation{position:relative;pointer-events:auto;font-size:11px}.navigation summary{list-style:none;cursor:pointer;background:#0b1b2bdb;border:1px solid var(--line);padding:11px 14px;border-radius:5px;white-space:nowrap}.navigation summary::-webkit-details-marker{display:none}.navigation nav{position:absolute;bottom:46px;left:0;display:grid;min-width:215px;padding:7px;background:#0b1b2bfa;border:1px solid #31506a;border-radius:6px;box-shadow:0 8px 32px #0006}.navigation nav button{padding:12px;text-align:left;border:0;background:transparent;color:#dcecf6;border-radius:4px}.navigation nav button:hover{background:#16334a}
#crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;border:1px solid #b8efffaa;border-radius:50%;background:#65d7f433;pointer-events:none}.interact{position:absolute;left:50%;bottom:102px;transform:translateX(-50%);border:1px solid #40718b;border-radius:5px;background:#0b1b2bef;color:#e0f4ff;box-shadow:0 5px 24px #0005;max-width:calc(100% - 30px);display:flex;align-items:center;gap:20px;padding:12px 17px;font-size:13px}.interact kbd{font-size:10px;padding:3px 6px;border:1px solid #45677f;border-radius:3px}
.loading{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 38%,#102942,#030d1a 65%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;z-index:6}.loading-mark{font-size:39px;color:var(--cyan)}.loading h1{font-size:28px;font-weight:400;letter-spacing:-.02em}.loading p{font-size:13px;color:var(--muted);max-width:390px;line-height:1.8}.loading a{color:var(--cyan)}.space-notice{position:absolute;top:85px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 16px;border-radius:5px;background:#10273ded;border:1px solid #45657e;font-size:12px;line-height:1.5;z-index:3}.touch-walk{display:none}
.station-dialog{border:1px solid #35536c;border-radius:10px;padding:27px 29px;background:var(--panel);color:#dcecf6;width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 30px 120px #0009;scrollbar-color:#31506a #0b1b2b}.station-dialog::backdrop{background:#020912b8;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:20px}.eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#80bed5}h2{font-weight:400;font-size:27px;letter-spacing:-.02em;margin:9px 0 0;line-height:1.25}.close{flex:0 0 34px;height:34px;background:none;border:1px solid #35536c;border-radius:50%;font-size:23px;color:#c6e6f4}.close:hover{border-color:var(--cyan)}.station-dialog p,.station-dialog li{font-size:13px;line-height:1.7}.notice{padding:12px 14px;border-left:2px solid #5499b2;background:#122a3d;font-size:12px!important;color:#bcd4e5}.error{border-color:#ff7780;color:#ffd0d3;background:#3a1e2a}
.button,.primary-button,.retry-login{display:inline-block;padding:12px 16px;border:1px solid #67c8e3;border-radius:5px;background:#71d7ee;color:#061725;text-decoration:none;font-size:13px;font-weight:600;margin:8px 9px 5px 0}.button:hover,.primary-button:hover{background:#a1e7f7}.field{display:grid;gap:8px;font-size:12px;line-height:1.4;color:#bdd3e3}.field input,.field textarea,.field select,.wallet-actions textarea{width:100%;border:1px solid #36536b;border-radius:4px;background:#061321;color:#ecf6ff;padding:11px;min-width:0}.field input::placeholder,.field textarea::placeholder{color:#8299ae}.field textarea{resize:vertical;max-height:270px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.field-wide{grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;margin:20px 0}.check input{margin-top:4px;accent-color:#65d7f4}.detail-section{border-bottom:1px solid var(--line);padding:14px 0}.detail-section h3{font-size:15px;font-weight:500;line-height:1.5}.detail-section h4{font-size:12px;margin-bottom:4px}.detail-section a{display:block;font-size:12px;line-height:1.6;margin:10px 0;color:#7ad7ef}.meta{font-size:10px!important;color:var(--muted)}.answer{white-space:pre-wrap;overflow-wrap:anywhere}.wallet-actions details{margin:20px 0;font-size:12px}.wallet-actions textarea{margin:12px 0;resize:vertical;font-size:10px}.station-dialog form>label{margin-bottom:12px}.profile-group{border-top:1px solid var(--line);margin:20px 0;padding-top:16px}.profile-group>summary{cursor:pointer;font-size:13px;margin-bottom:16px;line-height:1.5;color:#b9d6e6}.age-hint{font-size:11px;line-height:1.55;color:#9dbbd0;max-width:36em}body[data-concealed=true] #room-canvas{visibility:hidden}
@media(pointer:coarse),(max-width:720px){.space-top{padding:16px 15px 40px;gap:10px}.place-name{font-size:11px;gap:8px;letter-spacing:.14em}.place-name small{font-size:8px;max-width:120px;line-height:1.5}.place-mark{font-size:24px}.space-top-actions{gap:8px;flex-direction:column-reverse;align-items:flex-end;font-size:9px}.quiet-button{font-size:11px;padding:8px 10px}.space-bottom{padding:30px 14px max(16px,env(safe-area-inset-bottom));gap:10px}.movement-help{display:none}.data-legend{font-size:9px;max-width:190px;gap:5px 10px;line-height:1.5}.data-legend i{width:6px;height:6px}.touch-walk{position:absolute;bottom:90px;left:17px;display:grid;grid-template-columns:repeat(3,39px);grid-template-rows:repeat(2,39px);gap:4px}.touch-walk button{border:1px solid #42657e88;border-radius:5px;background:#0b1b2bc9;color:#bce6f5;font-size:21px;touch-action:none}.walk-up{grid-column:2;grid-row:1}.walk-left{grid-column:1;grid-row:2}.walk-down{grid-column:2;grid-row:2}.walk-right{grid-column:3;grid-row:2}.interact{bottom:100px;left:auto;right:14px;transform:none;max-width:calc(100% - 165px);font-size:11px;padding:11px 13px}.interact kbd{display:none}.station-dialog{padding:21px 19px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.profile-grid{grid-template-columns:1fr}.field-wide{grid-column:1}h2{font-size:25px}.space-notice{top:91px;font-size:10px}.loading h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
