:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#06070f;--ink:#f4e8dae6;--ink-soft:#d4cee699;--amber:#e9b47a;--violet:#a58ee0;--glass:#100e189e;--line:#e9c49638;--serif:"Cormorant Garamond", "Cormorant", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter:max(16px, env(safe-area-inset-left));--a11y-text-scale:1}body{font-size:calc(16px * var(--a11y-text-scale))}#ui .hud-control{font-size:calc(13px * var(--a11y-text-scale))}#ui .mark h1{font-size:calc(23px * var(--a11y-text-scale))}#ui .mark p,#ui .hint,#ui .presence,#ui .chat,#ui .account-panel,#ui .events-panel,#ui .control-room,#ui .control-room-btn,#ui .map-panel,#ui .creator-panel,#ui .friends-panel,#ui .inbox,#ui .safety,#ui .lift-buttons{font-size:calc(1em * var(--a11y-text-scale))}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber);outline-offset:3px;box-shadow:0 0 0 2px #06070fe6,0 0 18px #e9b47ab3}.sr-announcements{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:fixed;overflow:hidden}body.high-contrast{--ink:#fff;--ink-soft:#f5e9d9;--line:#fffc;--glass:#000000eb}body.high-contrast .hud-control,body.high-contrast .account-panel,body.high-contrast .map-panel,body.high-contrast .events-panel{background:#000;border-color:#fff}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html,body{background:var(--bg);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;height:100%;font-family:var(--sans);margin:0;overflow:hidden}button,input,select,textarea{touch-action:manipulation}body.touch #ui button,body.touch #ui input,body.touch #ui select,body.touch #ui textarea{box-sizing:border-box;min-width:44px;min-height:44px}#scene{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:fixed;inset:0}#scene.dragging{cursor:grabbing}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}.mark{left:var(--gutter);top:max(14px, env(safe-area-inset-top));position:fixed;pointer-events:none!important}.mark h1{font-family:var(--serif);letter-spacing:.14em;color:var(--ink);text-shadow:0 1px 10px #0000008c,0 0 18px #ffb46e47;margin:0;font-size:23px;font-weight:300}.mark p{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);text-shadow:0 1px 6px #000000b3;margin:3px 0 0;font-size:9.5px}button{font:inherit;color:inherit}.hud-actions{z-index:6;top:max(14px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex;position:fixed;left:clamp(190px,30vw,520px)}.hud-control{box-sizing:border-box;border:1px solid var(--line);background:var(--glass);min-height:40px;color:var(--ink);letter-spacing:.04em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:999px;font-size:13px;line-height:20px;transition:border-color .2s,background .2s,box-shadow .2s;font-family:var(--sans)!important;margin:0!important;padding:9px 14px!important;position:static!important;top:auto!important;right:auto!important}.hud-control:hover,.hud-more:hover{background:#281c1eb3;border-color:#e9b47a99}.hud-more{border:1px solid var(--line);background:var(--glass);cursor:pointer;border-radius:999px;order:99;min-width:40px;min-height:40px;padding:8px 10px;display:none}.hud-more[hidden],.hud-more-menu[hidden]{display:none!important}.hud-more-menu{display:contents}.hud-overflow{display:none!important}.hud-more-menu .hud-overflow{text-align:left;width:100%;display:block!important}.hud-control:focus-visible,.hud-more:focus-visible,.voice-button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.voice{justify-items:end;gap:4px;display:grid}.hud-control.voice{justify-content:center;align-items:center;display:flex}.hud-control.voice .voice-button{background:0 0;border:0;padding:0}.voice-button{color:var(--ink);cursor:pointer;background:#100e18b8;border:1px solid #a58ee073;border-radius:999px;padding:8px 14px}.voice-button.on{border-color:var(--amber);color:var(--amber)}.voice-button.talking{box-shadow:0 0 20px #e9b47aa6}.voice-state{color:var(--ink-soft);letter-spacing:.06em;font-size:11px}.creator-panel{right:16px;top:calc(var(--hud-height) + max(14px, env(safe-area-inset-top)) + 8px);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;border-radius:18px;width:min(360px,100% - 32px);max-height:calc(100% - 90px);padding:16px;transition:all .22s;position:fixed;overflow:auto;transform:translateY(-8px);pointer-events:none!important}.creator-panel.on{opacity:1;transform:none;pointer-events:auto!important}.creator-panel h2{font-family:var(--serif);color:var(--amber);margin:0 0 12px;font-weight:400}.creator-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.creator-grid label{color:var(--ink-soft);text-transform:capitalize;gap:4px;font-size:11px;display:grid}.creator-grid select,.creator-buttons button{border:1px solid var(--line);color:var(--ink);background:#08070eb3;border-radius:8px;padding:7px 8px}.creator-buttons{gap:8px;margin-top:14px;display:flex}.events-panel{right:max(16px, env(safe-area-inset-right));top:calc(var(--hud-height) + max(14px, env(safe-area-inset-top)) + 8px);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;border-radius:18px;width:min(390px,100% - 32px);max-height:calc(100% - 90px);padding:14px;transition:all .25s;position:fixed;overflow-y:auto;transform:translateY(-6px);pointer-events:none!important}.events-panel.on{opacity:1;transform:none;pointer-events:auto!important}.events-head{justify-content:space-between;align-items:center;display:flex}.events-head h2{font-family:var(--serif);margin:0;font-weight:400}.events-tabs{gap:6px;margin-top:10px;display:flex}.events-tab{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;padding:6px 10px}.events-tab.active{color:var(--amber);border-color:var(--amber)}.events-body{gap:10px;margin-top:10px;display:grid}.event-card{border:1px solid #e9c49629;border-radius:14px;padding:12px}.event-card h3,.event-card p{margin:0 0 6px}.event-card small,.event-attendees,.muted{color:var(--ink-soft)}.event-rsvp{color:var(--ink);border:1px solid var(--line);background:#08070e99;border-radius:8px;padding:4px 8px}.event-create{border-bottom:1px solid var(--line);gap:6px;margin-bottom:4px;padding:10px;display:grid}.event-create input,.event-create textarea,.event-create select{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#08070e99;border-radius:7px;padding:7px}.meetup-chat{gap:8px;margin-top:10px;display:grid}.meetup-chat input{border:1px solid var(--line);color:var(--ink);background:#08070e99;border-radius:8px;padding:8px}.meetup-messages{gap:4px;max-height:180px;display:grid;overflow:auto}.meetup-messages p{background:#08070e73;border-radius:8px;margin:0;padding:6px 8px}.decorate-btn{transition:opacity .4s}.decorate-btn:hover,.decorate-btn.active{background:#281c1eb3;border-color:#e9b47a99}.decorate-btn.hidden{opacity:0;pointer-events:none}.map-panel{z-index:20;opacity:0;background:#0f0c18ed;border:1px solid #e9c49659;border-radius:24px;padding:20px;transition:all .25s;position:fixed;inset:7%;transform:scale(.97);box-shadow:0 20px 90px #000;pointer-events:none!important}.map-panel.on{opacity:1;transform:none;pointer-events:auto!important}.map-head{justify-content:space-between;align-items:center;display:flex}.map-head h2{font:300 32px var(--serif);color:var(--amber);margin:0}.map-close{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:999px;padding:6px 12px}.map-sub{color:var(--ink-soft);letter-spacing:.18em;text-transform:uppercase;font-size:10px}.world-map{background:radial-gradient(#49395b73,#100d1b33);border-radius:18px;width:100%;height:calc(100% - 75px);min-height:250px}.map-link{fill:none;stroke:#e9b47a6b;stroke-width:.8px;stroke-dasharray:2 1.5}.map-district{fill:var(--ink-soft);font:3px var(--serif);text-anchor:middle}.map-place{cursor:pointer}.map-place circle{fill:#d99a5e;stroke:#f5d09b;stroke-width:.6px}.map-place text{fill:var(--ink);font:2.7px var(--sans);text-anchor:middle;paint-order:stroke;stroke:#0f0c18eb;stroke-width:1.4px;stroke-linejoin:round}.map-place.current circle{fill:#b9a7e8;stroke:#fff;stroke-width:1.1px}body.touch .map-panel{inset:4%}.balance-chip{color:var(--amber);letter-spacing:.08em;font-variant-numeric:tabular-nums;background:#140e16c7;border:1px solid #e9b47a59;border-radius:999px;padding:7px 11px;font-size:12px}.hint{left:50%;bottom:max(24px, calc(env(safe-area-inset-bottom) + 14px));max-width:calc(100% - 32px);color:var(--ink-soft);letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;opacity:0;background:#0a09106b;border-radius:999px;padding:8px 16px;font-size:12px;transition:opacity 1.2s,transform 1.2s;position:fixed;overflow:hidden;transform:translate(-50%,6px);pointer-events:none!important}.hint.on{opacity:1;transform:translate(-50%)}.onboarding-card{z-index:12;border:1px solid var(--line);background:linear-gradient(165deg,#1e1614fa,#08080efc);border-radius:20px;width:min(430px,100% - 32px);padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 70px #000b}.lesson-panel{right:16px;top:max(72px, calc(env(safe-area-inset-top) + 64px));z-index:11;border:1px solid var(--line);width:min(360px,100% - 32px);max-height:calc(100% - 160px);color:var(--ink-soft);background:linear-gradient(165deg,#1e1614f5,#08080ef7);border-radius:16px;padding:16px;position:fixed;overflow:auto}.lesson-panel[hidden],.lesson-panel [hidden]{display:none!important}.lesson-title{font:400 24px var(--serif);color:var(--amber);margin:4px 0}.lesson-text{color:var(--ink,#f3e6d3);white-space:pre-wrap;font-size:17px;line-height:1.5}.lesson-image{max-width:100%;max-height:160px;margin:8px auto;display:block}.lesson-actions,.lesson-start{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-start input,.lesson-start textarea{width:100%}.lesson-hands li,.lesson-turns li{justify-content:space-between;align-items:center;gap:8px;display:flex}body.touch .lesson-panel{top:auto;bottom:max(150px, calc(env(safe-area-inset-bottom) + 140px));max-height:45%}.onboarding-card h2{font:400 30px var(--serif);color:var(--amber);margin:8px 0}.onboarding-card p{color:var(--ink-soft);line-height:1.55}.onboarding-count{font-size:12px}.onboarding-actions{justify-content:space-between;align-items:center;margin-top:20px;display:flex}body.touch .hint{bottom:max(150px, calc(env(safe-area-inset-bottom) + 140px))}.joystick{left:max(26px, calc(env(safe-area-inset-left) + 18px));bottom:max(30px, calc(env(safe-area-inset-bottom) + 20px));touch-action:none;background:radial-gradient(circle,#1e18282e,#0e0c166b);border:1px solid #e9c49633;border-radius:50%;width:112px;height:112px;transition:opacity .3s;position:fixed}.joystick .knob{background:radial-gradient(circle at 40% 35%,#ffdeb48c,#be8cdc40);border-radius:50%;width:46px;height:46px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 18px #ffb46e40}.joystick.active{border-color:#e9c49673}body.decorating .joystick{opacity:0;pointer-events:none}.lift{opacity:0;background:#050409;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0;pointer-events:none!important}.lift.on{opacity:1}.lift-panel{text-align:center;color:var(--amber)}.lift-arrow{opacity:.7;height:18px;font-size:14px}.lift-floor{font-family:var(--serif);text-shadow:0 0 22px #ffaa5a73;font-variant-numeric:tabular-nums;border-top:1px solid #e9b47a59;border-bottom:1px solid #e9b47a59;min-width:2.2em;padding:2px 10px;font-size:64px;font-weight:300}.lift-label{letter-spacing:.4em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px;font-size:10px}.deco{right:max(16px, env(safe-area-inset-right));border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:300px;max-height:calc(100% - 96px);color:var(--ink);opacity:0;box-sizing:border-box;border-radius:18px;padding:14px 14px 16px;transition:opacity .35s,transform .35s;position:fixed;top:64px;overflow-y:auto;transform:translateY(-6px);pointer-events:none!important}.deco.on{opacity:1;transform:none;pointer-events:auto!important}.deco-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.deco-head span{font-family:var(--serif);letter-spacing:.1em;font-size:19px}.deco-done{color:var(--amber);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:12px}.deco-pieces{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.piece{color:var(--ink);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 6px;transition:border-color .2s,background .2s;display:flex}.piece svg{width:26px;height:26px;color:var(--amber)}.piece span{letter-spacing:.06em;color:var(--ink-soft);font-size:10.5px}.piece:hover{border-color:#e9b47a59}.piece.armed{border-color:var(--amber);background:#e9b47a1f}.deco-status{min-height:16px;color:var(--ink-soft);margin:10px 2px 4px;font-size:11.5px}.deco-tools{gap:6px;margin:6px 0 2px;display:none}.deco-tools.on{display:flex}.deco-tools button{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex:1;padding:7px 0;font-size:15px}.deco-tools .del{letter-spacing:.14em;text-transform:uppercase;color:#e7a99a;flex:1.4;font-size:11px}.deco-row{align-items:center;gap:10px;margin-top:12px;display:flex}.deco-row label{letter-spacing:.2em;text-transform:uppercase;width:44px;color:var(--ink-soft);font-size:10px}.swatches{flex-wrap:wrap;gap:7px;display:flex}.sw{cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;width:24px;height:24px;padding:0}.sw.on{outline:2px solid var(--amber);outline-offset:2px}.deco-row input[type=range]{accent-color:var(--amber);appearance:none;background:linear-gradient(90deg,#ffb46a,#fff2dc);border-radius:999px;flex:1;min-width:0;height:20px}.deco-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--amber);background:#1a1420;border-radius:50%;width:18px;height:18px}.kelvin{text-align:right;width:46px;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:11px}@media (max-width:640px){.hud-actions{left:10px;right:10px;top:calc(max(14px, env(safe-area-inset-top)) + 56px);flex-wrap:nowrap;justify-content:flex-start;gap:6px;max-height:none}body.touch .hud-more{display:block}.hud-control{letter-spacing:.02em;min-height:40px;font-size:11px;padding:8px 9px!important}.hud-control .voice-state{display:none}.hud-control.voice{display:block}.hud-control.voice .voice-button{min-height:0;font-size:inherit;background:0 0;border:0;padding:0}.hud-more-menu{z-index:8;top:calc(max(14px, env(safe-area-inset-top)) + 56px + var(--hud-height) + 8px);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;gap:6px;width:min(230px,100vw - 20px);padding:10px;display:grid;position:fixed;left:auto;right:10px;box-shadow:0 16px 50px #00000059}.deco{top:auto;left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));border-radius:20px;width:auto;max-height:52%;transform:translateY(10px)}.deco-pieces{grid-template-columns:repeat(7,1fr);gap:4px}.piece{padding:7px 0 5px}.piece svg{width:22px;height:22px}.piece span{font-size:9px}body.decorating .hint{display:none}}#veil{background:var(--bg);color:var(--ink);z-index:10;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1.4s;display:flex;position:fixed;inset:0}#veil h1{font-family:var(--serif);letter-spacing:.24em;text-shadow:0 0 24px #ffaa644d;margin:0;font-size:34px;font-weight:300}#veil p{letter-spacing:.4em;text-transform:uppercase;color:var(--ink-soft);margin:10px 0 0;font-size:10px}#veil.gone{opacity:0;pointer-events:none}body.gated #veil>*{visibility:hidden}#veil.error p{letter-spacing:.1em;text-transform:none;font-size:14px}@media (prefers-reduced-motion:reduce){.hint,.deco,#veil,.lift{transition-duration:10ms}}.lift-buttons{right:max(16px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;background:linear-gradient(160deg,#2a1e16d1,#0e0b12db);border:1px solid #e9b47a59;border-radius:20px;padding:14px 14px 16px;transition:opacity .35s,transform .35s;position:fixed;top:50%;transform:translate(8px,-50%);box-shadow:0 10px 40px #00000080,inset 0 1px #ffdcaa1f;pointer-events:none!important}.lift-buttons.on{opacity:1;transform:translateY(-50%);pointer-events:auto!important}.lb-head{text-align:center;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-size:9.5px}.lb-grid{grid-template-columns:repeat(2,46px);justify-content:center;gap:8px;display:grid}.lb-modes{border-top:1px solid #ffffff1f;max-height:42vh;margin-top:14px;padding-top:10px;overflow:auto}.lb-mode-title,.lb-mode-locked{color:var(--ink-soft);letter-spacing:.08em;margin:4px 0 8px;font-size:10px}.lb-mode-row{grid-template-columns:1fr repeat(3,auto);align-items:center;gap:4px;margin:4px 0;font-size:10px;display:grid}.lb-mode-row button{color:var(--ink);background:#0003;border:1px solid #fff3;border-radius:4px;padding:4px;font-size:9px}.lb-mode-row button.selected{color:#e7b873;border-color:#e7b873}.lb{width:46px;min-width:44px;height:46px;min-height:44px;color:var(--amber);font-family:var(--serif);cursor:pointer;background:radial-gradient(circle at 40% 35%,#5a4028e6,#1e1612f2);border:1px solid #e9b47a73;border-radius:50%;font-size:17px;transition:box-shadow .25s,border-color .25s}.lb:hover{border-color:var(--amber);box-shadow:0 0 14px #ffaa5a59}.lb.here{border-color:var(--amber);color:#fff3e0;cursor:default;box-shadow:0 0 16px #ffaa5a8c,inset 0 0 10px #ffb46466}.lb[data-floor=G],.lb[data-floor=R]{grid-column:span 2;justify-self:center}@media (max-width:640px){.lb-grid{grid-template-columns:repeat(2,42px);gap:6px}.lb{width:42px;height:42px;font-size:15px}}.gate{z-index:20;box-sizing:border-box;border:1px solid var(--line);width:min(340px,100vw - 32px);color:var(--ink);text-align:center;-webkit-user-select:text;user-select:text;background:linear-gradient(165deg,#241a16e6,#0a0910f0);border-radius:22px;padding:30px 26px 22px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000008c,0 0 40px #e9b47a0f}.gate h1{font-family:var(--serif);letter-spacing:.24em;text-shadow:0 0 24px #ffaa644d;margin:0;font-size:30px;font-weight:300}.gate-sub{letter-spacing:.34em;text-transform:uppercase;color:var(--ink-soft);margin:6px 0 22px;font-size:9.5px}.gate.busy{opacity:.7;pointer-events:none}.gate-primary{width:100%;color:var(--ink);font-family:var(--serif);letter-spacing:.08em;cursor:pointer;background:linear-gradient(#e9b47a3d,#e9b47a1a);border:1px solid #e9b47a8c;border-radius:999px;padding:11px 16px;font-size:17px;display:block}.gate-primary:hover{border-color:var(--amber)}.gate-primary:disabled{opacity:.45;cursor:default}.gate-primary.small{width:auto;padding:6px 16px;font-size:15px;display:inline-block}.gate-link{color:var(--amber);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:4px 6px;font-size:12px}.gate-link:hover{text-decoration:underline}.gate-form{text-align:left;gap:12px;display:grid}.gate-form[hidden]{display:none}.gate-form label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);gap:5px;font-size:11px;display:grid}.gate-form small{text-transform:none;letter-spacing:.02em;color:var(--ink-soft);font-size:11.5px;font-style:italic}.gate-form input:not([type]){border:1px solid var(--line);color:var(--ink);font:15px var(--sans);letter-spacing:.02em;background:#00000059;border-radius:10px;padding:9px 12px}.gate-form input:focus{outline:1px solid var(--amber);outline-offset:1px}.gate-form .gate-check{text-transform:none;letter-spacing:.02em;color:var(--ink);align-items:center;gap:10px;font-size:13.5px;display:flex}.gate-check input{width:17px;height:17px;accent-color:var(--amber)}.gate-error{color:#f0a49a;min-height:1.2em;margin:12px 0 0;font-size:12.5px}.account-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:46vw;color:var(--ink-soft);letter-spacing:.08em;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:12px;overflow:hidden}.account-panel{z-index:7;right:max(16px, env(safe-area-inset-right));top:calc(var(--hud-height) + max(14px, env(safe-area-inset-top)) + 8px);box-sizing:border-box;border:1px solid var(--line);width:min(280px,100vw - 32px);color:var(--ink);-webkit-user-select:text;user-select:text;background:linear-gradient(165deg,#241a16e6,#0a0910f0);border-radius:18px;padding:16px 18px 12px;position:fixed}.account-panel[hidden]{display:none}.account-name{font-family:var(--serif);letter-spacing:.08em;margin:0 0 10px;font-size:19px}.account-actions{border-top:1px solid var(--line);justify-content:space-between;margin-top:12px;display:flex}.account-actions .gate-link{margin-top:8px}.accessibility-settings{border-top:1px solid var(--line);gap:9px;margin-top:14px;padding-top:12px;display:grid}.accessibility-settings h2{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:10px;font-weight:400}.setting-check,.setting-range{align-items:center;gap:8px;letter-spacing:.02em!important;text-transform:none!important;color:var(--ink)!important;font-size:12px!important;display:flex!important}.setting-check small{color:var(--ink-soft)}.setting-range input{min-width:90px;accent-color:var(--amber);flex:1}.invites h2{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-size:10px;font-weight:400}.invite-code{color:var(--ink-soft);gap:4px;margin:10px 0 0;font-size:11px;display:grid}.invite-code[hidden]{display:none}.invite-code code{letter-spacing:.06em;color:var(--amber);word-break:break-all;font-size:14px}.invite-list{max-height:180px;margin:10px 0 0;padding:0;font-size:12.5px;list-style:none;overflow:auto}.invite-list li{color:var(--ink);justify-content:space-between;align-items:center;padding:4px 0;display:flex}.invite-list li.used,.invite-list li.expired,.invite-list li.revoked,.invite-list li.muted{color:var(--ink-soft)}.invite-list .gate-link{margin:0}.presence{left:var(--gutter);top:calc(max(14px, env(safe-area-inset-top)) + 50px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink-soft);letter-spacing:.1em;cursor:pointer;background:#0c0b1461;border:1px solid #e9c49624;border-radius:999px;align-items:center;gap:7px;padding:5px 12px 5px 10px;font-size:11px;transition:border-color .4s,color .4s;display:inline-flex;position:fixed}.presence[hidden]{display:none}.presence.company{color:var(--ink);border-color:var(--line)}.presence-dot{background:#d4cee673;border-radius:50%;width:6px;height:6px;transition:background .4s,box-shadow .4s}.presence.company .presence-dot{background:var(--amber);box-shadow:0 0 8px #e9b47acc}.presence-list{left:var(--gutter);top:calc(max(14px, env(safe-area-inset-top)) + 82px);border:1px solid var(--line);min-width:150px;max-width:min(260px,100vw - 32px);max-height:40vh;font-family:var(--serif);letter-spacing:.04em;color:var(--ink);background:linear-gradient(165deg,#241a16e0,#0a0910eb);border-radius:14px;margin:0;padding:8px 14px;font-size:16px;list-style:none;position:fixed;overflow:auto}.presence-list[hidden]{display:none}.presence-list li{white-space:nowrap;text-overflow:ellipsis;padding:3px 0;overflow:hidden}.presence-list li.you{color:var(--ink-soft)}.conn-toast{left:50%;top:calc(max(14px, env(safe-area-inset-top)) + 4px);max-width:calc(100vw - 2 * var(--gutter));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;opacity:0;background:#100e1cc7;border:1px solid #a58ee059;border-radius:999px;padding:7px 16px;font-size:12px;transition:opacity .5s,transform .5s;position:fixed;overflow:hidden;transform:translate(-50%,-8px);pointer-events:none!important}.conn-toast.on{opacity:1;transform:translate(-50%)}.residents h2{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin:12px 0 8px;font-size:10px;font-weight:400}.residents .resident-row{align-items:center;gap:6px;font-size:12.5px;display:flex}.residents .resident-row input{box-sizing:border-box;border:1px solid var(--line);min-width:0;color:var(--ink);font:13px var(--sans);background:#08070e99;border-radius:10px;flex:1;padding:6px 10px}.residents .resident-now{color:var(--ink);margin:0 0 6px;font-size:12.5px}.residents .resident-note{color:var(--ink-soft);min-height:1em;margin:6px 0 0;font-size:11px}.chat{left:var(--gutter);bottom:max(16px, calc(env(safe-area-inset-bottom) + 10px));width:min(380px, calc(100vw - 2 * var(--gutter)));color:var(--ink);-webkit-user-select:text;user-select:text;gap:6px;display:grid;position:fixed}.chat[hidden],.chat-toggle[hidden]{display:none}.chat-log{scrollbar-width:none;gap:3px;max-height:26vh;margin:0;padding:0 4px;font-size:13px;line-height:1.35;list-style:none;display:grid;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 22px);mask-image:linear-gradient(#0000 0,#000 22px)}.chat-log:empty{display:none}.chat-line{text-shadow:0 1px 6px #000000d9;overflow-wrap:anywhere}.chat-name{color:var(--amber);font:600 12.5px var(--sans);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;padding:0}.chat-name.you{color:var(--ink-soft);cursor:default}button.chat-name:hover{text-decoration:underline}.chat-time{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:0 6px;font-size:10.5px}.chat-text{color:var(--ink)}.chat-note{color:#f0c39a;min-height:0;margin:0 4px;font-size:11.5px}.chat-note:empty{display:none}.chat-form,.thread-form{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:6px;padding:4px 4px 4px 12px;display:flex}.thread-form[hidden]{display:none}.chat-form input,.thread-form input{min-width:0;color:var(--ink);font:16px var(--sans);background:0 0;border:0;outline:none;flex:1;padding:6px 0}.chat-form input::placeholder,.thread-form input::placeholder{color:var(--ink-soft)}.chat-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:10.5px}.chat-send{color:var(--ink);letter-spacing:.06em;cursor:pointer;background:#e9b47a24;border:1px solid #e9b47a66;border-radius:999px;padding:6px 14px;font-size:12.5px}.chat-toggle{right:max(16px, env(safe-area-inset-right));bottom:max(30px, calc(env(safe-area-inset-bottom) + 20px));border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);letter-spacing:.1em;cursor:pointer;border-radius:999px;padding:10px 18px;font-size:13px;position:fixed}.chat-dot{background:var(--amber);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:7px;display:none;box-shadow:0 0 8px #e9b47acc}.chat-toggle.fresh .chat-dot{display:inline-block}body.touch .chat{left:var(--gutter);right:var(--gutter);width:auto;bottom:max(84px, calc(env(safe-area-inset-bottom) + 74px));border:1px solid var(--line);background:linear-gradient(165deg,#241a16db,#0a0910e6);border-radius:20px;padding:10px}body.touch .chat.folded{display:none}body.touch .chat-log{max-height:32vh;-webkit-mask-image:none;mask-image:none}body.chatting .joystick,body.chatting .hint{opacity:0;pointer-events:none!important}.inbox-btn{right:max(16px, env(safe-area-inset-right));top:calc(max(14px, env(safe-area-inset-top)) + 84px);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink-soft);letter-spacing:.08em;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:12px;position:fixed}.inbox-btn.unread{color:var(--ink);border-color:#e9b47a8c}.inbox-badge{background:var(--amber);color:#1a120c;text-align:center;border-radius:999px;min-width:16px;margin-left:7px;padding:1px 5px;font-size:10.5px;font-weight:700;display:inline-block}.inbox-badge[hidden]{display:none}.inbox,.person-menu,.report{box-sizing:border-box;border:1px solid var(--line);color:var(--ink);-webkit-user-select:text;user-select:text;z-index:5;background:linear-gradient(165deg,#241a16f0,#0a0910f5);border-radius:18px;position:fixed}.inbox{right:max(16px, env(safe-area-inset-right));top:calc(max(14px, env(safe-area-inset-top)) + 120px);width:min(340px,100vw - 32px);max-height:min(70vh, calc(100vh - 160px - env(safe-area-inset-bottom)));flex-direction:column;padding:12px 14px;display:flex}.inbox[hidden],.person-menu[hidden],.report[hidden],.safety[hidden],.control-room[hidden]{display:none}.inbox-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.inbox-head h2{font-family:var(--serif);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:19px;font-weight:400;overflow:hidden}.inbox-head .gate-link,.inbox .gate-link{margin:0;font-size:12px}.inbox-list,.thread{flex:1;min-height:60px;margin:0;padding:0;list-style:none;overflow-y:auto}.inbox-list[hidden],.thread[hidden]{display:none}.inbox-thread{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e9c4961a;grid-template-columns:1fr auto;gap:2px 8px;width:100%;padding:8px 4px;display:grid}.inbox-who{font-size:14px}.inbox-thread.unread .inbox-who{color:var(--amber)}.inbox-last{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:12px;overflow:hidden}.inbox-when{color:var(--ink-soft);grid-area:1/2;font-size:10.5px}.inbox-thread .inbox-badge{grid-area:2/2;justify-self:end}.inbox-list .muted,.people-list .muted{color:var(--ink-soft);padding:8px 0;font-size:12.5px}.thread{flex-direction:column;gap:6px;padding:4px 0 8px;display:flex}.dm{overflow-wrap:anywhere;background:#a58ee029;border-radius:14px;align-self:flex-start;max-width:82%;padding:6px 10px;font-size:13.5px}.dm.mine{background:#e9b47a29;align-self:flex-end}.dm .chat-time{margin:0 0 0 8px}.thread-status{color:#f0c39a;margin:4px 2px;font-size:11.5px}.thread-status:empty{display:none}.inbox-foot{color:var(--ink-soft);margin:8px 0 0;font-size:10.5px}.person-menu{width:min(220px,100vw - 32px);padding:10px}.person-name{font-family:var(--serif);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;margin:2px 6px 8px;font-size:18px;overflow:hidden}.person-actions{gap:2px;display:grid}.person-act{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 10px;font-size:14px}.person-act:hover,.person-act:focus-visible{background:#e9c4961a;outline:none}.person-act.danger{color:#f0b0a4}.report{width:min(380px,100vw - 32px);max-height:calc(100vh - 32px);padding:16px 18px;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.report h2{font-family:var(--serif);letter-spacing:.06em;margin:0 0 10px;font-size:21px;font-weight:400}.report-reasons{border:0;gap:4px;margin:0;padding:0;display:grid}.report-reasons legend{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-size:10px}.report-reasons label{align-items:center;gap:10px;padding:5px 2px;font-size:14px;display:flex}.report-reasons label.urgent span{color:#f3b6a8}.report-reasons input,.report-dms input{accent-color:var(--amber);width:16px;height:16px}.report textarea,.appeal-form textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--ink);font:15px var(--sans);resize:vertical;background:#08070e99;border-radius:12px;margin-top:10px;padding:8px 10px}.report-dms{align-items:center;gap:10px;margin-top:10px;font-size:13.5px;display:flex}.report-dms.off{opacity:.45}.report-status{min-height:1.2em;color:var(--ink-soft);margin:10px 0 0;font-size:12.5px}.report-buttons{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.gate-suspended{letter-spacing:.04em;color:#f3c2a8;margin:10px 0 14px;font-size:16px}.appeal-form{text-align:left}.people h2{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin:12px 0 8px;font-size:10px;font-weight:400}.people-list{max-height:140px;margin:0;padding:0;font-size:12.5px;list-style:none;overflow:auto}.people-list li{justify-content:space-between;align-items:center;padding:3px 0;display:flex}.people-list .gate-link{margin:0}.safety-open{margin:0 0 10px}.presence-list button{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.presence-list button:hover{color:var(--amber)}.friends-panel{z-index:8;border:1px solid var(--line);background:#0b0916f5;border-radius:16px;width:min(360px,100vw - 36px);max-height:min(70vh,540px);padding:18px;position:fixed;top:76px;right:18px;overflow:auto;box-shadow:0 18px 50px #00000059}.friends-panel[hidden]{display:none}.friends-panel header{justify-content:space-between;align-items:center;display:flex}.friends-panel h2{font-family:var(--serif);margin:0 0 12px;font-weight:400}.friends-panel h3{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 6px;font-size:11px}.friend-row{width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e9c4961f;align-items:center;gap:8px;padding:9px 0;display:flex}.friend-row button{margin-left:auto}.safety{inset:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border:1px solid var(--line);max-width:720px;color:var(--ink);-webkit-user-select:text;user-select:text;z-index:6;background:linear-gradient(165deg,#1e1614f7,#08080efa);border-radius:20px;flex-direction:column;margin:0 auto;padding:16px 18px;display:flex;position:fixed}.safety-head{justify-content:space-between;align-items:center;display:flex}.safety-head h2{font-family:var(--serif);letter-spacing:.12em;margin:0;font-size:24px;font-weight:400}.safety-head .gate-link{margin:0}.safety-tabs{flex-wrap:wrap;gap:6px;margin:12px 0 6px;display:flex}.safety-tab{border:1px solid var(--line);color:var(--ink-soft);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:12.5px}.safety-tab.on{color:var(--ink);border-color:var(--amber);background:#e9b47a1f}.safety-status{min-height:1.2em;color:var(--ink-soft);margin:4px 0;font-size:12px}.safety-body{flex:1;align-content:start;gap:10px;display:grid;overflow-y:auto}.safety-body .muted{color:var(--ink-soft);font-size:13px}.safety-card{background:#ffffff05;border:1px solid #e9c49629;border-radius:14px;padding:12px 14px}.safety-card.under18{background:#f0786414;border-color:#f08c78b3}.safety-card.selling{border-color:#e9b47a8c}.safety-card.closed{opacity:.6}.safety-reason{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;font-size:14.5px;display:flex}.safety-urgent{color:#1a0e0a;letter-spacing:.12em;text-transform:uppercase;background:#e0705c;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.safety-done{border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:1px 8px;font-size:10.5px}.safety-who{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:14px;display:flex}.safety-chain{color:var(--ink-soft);font-size:11.5px}.safety-meta{color:var(--ink-soft);margin:2px 0 6px;font-size:11.5px}.safety-card blockquote{border-left:2px solid var(--line);overflow-wrap:anywhere;margin:6px 0;padding:6px 10px;font-size:13px}.safety-evidence h4{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);margin:8px 0 4px;font-size:10px;font-weight:400}.safety-lines{gap:2px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.safety-lines li{overflow-wrap:anywhere;gap:8px;display:flex}.safety-lines li.theirs b{color:#f0b0a4}.safety-lines time{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex:none;font-size:10.5px}.safety-lines b{flex:none;font-weight:600}.safety-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.safety-actions .gate-link{margin:0}.safety-mute{align-items:center;gap:4px;display:inline-flex}.safety-hours{color:var(--ink);border:1px solid var(--line);background:#08070e99;border-radius:8px;padding:2px 4px;font-size:12px}.danger,.gate-link.danger{color:#f0b0a4}.gate-primary.danger{color:#fff1ea;background:#e0705c40;border-color:#f08c78cc}.safety-list{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.safety-list li{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.safety-list small{color:var(--ink-soft)}.safety-list.audit li{justify-content:flex-start}.safety-list.audit time{color:var(--ink-soft);flex:none;font-size:11.5px}.control-room{inset:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border:1px solid var(--line);z-index:9;-webkit-user-select:text;user-select:text;background:linear-gradient(165deg,#1e1614fa,#08080efc);border-radius:20px;max-width:900px;margin:0 auto;padding:16px 18px;position:fixed;overflow-y:auto}.control-room-head{justify-content:space-between;align-items:start;display:flex}.control-room-head h2{font:400 28px var(--serif);letter-spacing:.1em;margin:0}.eyebrow{color:var(--amber);letter-spacing:.25em;text-transform:uppercase;margin:0;font-size:10px}.control-room-status{min-height:1.2em;color:var(--ink-soft);font-size:12px}.control-room-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.control-card{background:#ffffff05;border:1px solid #e9c49629;border-radius:14px;padding:12px}.control-card h3{font:400 18px var(--serif);margin:0 0 8px}.control-row{border-bottom:1px solid #e9c4961a;flex-wrap:wrap;align-items:center;gap:7px;padding:6px 0;display:flex}.control-row>span:first-child{flex:1;min-width:100px}.control-row input,.control-card input,.control-card select{box-sizing:border-box;border:1px solid var(--line);min-width:0;color:var(--ink);background:#08070e99;border-radius:8px;padding:7px 8px}.control-card .muted{color:var(--ink-soft);font-size:12px}.control-room .gate-link,.control-room .gate-primary{margin:0}.control-room code{color:var(--amber)}@media (max-width:650px){.control-room-body{grid-template-columns:1fr}.control-room{padding:14px}}.health-bar{height:6px;width:var(--health-width,0%);background:var(--amber);opacity:.75;border-radius:99px}.asset-progress{color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;opacity:0;pointer-events:none;font-size:11px;transition:opacity .2s;position:fixed;bottom:18%;left:50%;transform:translate(-50%)}.asset-progress.on{opacity:.9}.idle-warning{z-index:20;color:#160f08;background:#f2c17d;border-radius:.4rem;margin:0;padding:.55rem .8rem;position:fixed;top:1rem;left:50%;transform:translate(-50%)}
