*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#130f18;color:#fff5e8;font:12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #ffca9c;outline-offset:5px}#viewport{position:absolute;inset:0;outline:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;left:42px;right:42px;top:30px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.wordmark{font:italic 37px Georgia,serif;letter-spacing:-2px;text-decoration:none;color:inherit;pointer-events:auto}.wordmark span{display:inline-block;font:22px Georgia;margin-left:9px;vertical-align:top;color:#eabea2}.edition{font-size:9px;letter-spacing:2.6px;display:flex;align-items:center;gap:11px}.edition i{width:5px;height:5px;background:#d1e1ca;border-radius:50%;box-shadow:0 0 10px #c8dfae}.edition span{opacity:.4}header button{pointer-events:auto;border:1px solid #ffffff25;background:#17101940;backdrop-filter:blur(14px);border-radius:22px;padding:9px 14px;font-size:10px}kbd{font:9px inherit;border:1px solid #ffffff30;padding:1px 4px;margin-left:9px;border-radius:3px}.location{position:absolute;left:44px;top:112px;pointer-events:none;text-shadow:0 2px 24px #100911}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#efd9c2}h1{font:italic 36px/1.1 Georgia,serif;letter-spacing:-1px;font-weight:400;margin:12px 0 8px}.location p{font-size:11px;color:#d8c4ce;margin:0}.settings{position:absolute;right:40px;top:116px;display:flex;flex-direction:column;align-items:stretch;gap:4px;width:174px;padding:14px;background:#170f1952;backdrop-filter:blur(18px);border:1px solid #f3dcce20;border-radius:12px}.settings label{font-size:10px;color:#d6c3cd;display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.settings select{background:#211921;color:#fceee5;border:1px solid #ffffff20;border-radius:5px;font-size:10px;padding:5px}.settings button{border:0;background:none;text-align:left;padding:7px 0;font-size:10px;color:#eadbdd}.settings button:hover,.settings button[aria-pressed=true]{color:#ffce9d}.settings #rain{border-top:1px solid #ffffff1a;margin-top:2px;padding-top:11px;color:#ffd2ad}#event-status{font-size:8px;line-height:1.6;color:#c3aabc}footer{position:absolute;left:40px;right:40px;bottom:23px}nav{display:flex;gap:5px;padding:6px;background:#19111b85;border:1px solid #ffffff20;backdrop-filter:blur(20px);border-radius:12px;max-width:660px;margin:0 auto 17px}nav button{flex:1;border:0;border-radius:7px;padding:12px 9px;background:transparent;color:#d0bfc9;white-space:nowrap;font-size:11px}nav button small{font-size:8px;margin-right:8px;opacity:.5}nav button[aria-current]{background:#f3dcc7;color:#3c2735;box-shadow:0 2px 14px #0002}nav button:hover:not([aria-current]){background:#ffffff0b}.bottom-line{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1.4px;color:#e9d9df9c}.bottom-line b{margin:0 10px;font-weight:400;color:#eed2a9}#metrics{letter-spacing:.6px;text-align:right}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,#392736,#17111b 70%);z-index:10;transition:opacity .7s}#loading p{font-size:11px;color:#d2b3c2;margin:25px 0 18px}.load-line{height:1px;width:170px;background:linear-gradient(90deg,transparent,#efc79c,transparent);animation:breathe 1.4s infinite}@keyframes breathe{50%{opacity:.3;transform:scaleX(.6)}}body.clean header,body.clean .location,body.clean .settings,body.clean footer{display:none}#restore-ui{position:absolute;right:20px;bottom:20px;border:1px solid #ffffff30;background:#17101970;padding:8px 12px;border-radius:20px;font-size:10px;color:#ead6dc}#restore-ui[hidden]{display:none}@media(max-width:800px){header{left:20px;right:20px;top:20px}.wordmark{font-size:29px}.edition{display:none}.location{left:21px;top:83px}h1{font-size:27px}.settings{right:18px;top:auto;bottom:122px;width:150px;padding:10px}.settings button,.settings label{font-size:9px}.settings #event-status{font-size:7px}footer{left:15px;right:15px;bottom:16px}nav{gap:0;padding:4px;margin-bottom:10px}nav button{font-size:9px;padding:11px 5px}nav button small{display:block;margin:0 0 3px}.bottom-line{font-size:7px;letter-spacing:0}.bottom-line b{margin:0 3px}.bottom-line>span{max-width:140px}.location p{font-size:10px}}@media(prefers-reduced-motion:reduce){.load-line{animation:none}#loading{transition:none}}

#loading[hidden]{display:none}

#market-ticker{position:absolute;top:82px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;border:1px solid #e5c3a733;background:#19121ee0;backdrop-filter:blur(16px);border-radius:20px;padding:8px 18px;font-size:10px}#market-ticker span{color:#dab3df}#market-ticker strong{font-size:12px;color:#ffe2af}#market-mode{font-size:8px;letter-spacing:1px;color:#c8b7c6}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}#reference{position:absolute;left:40px;top:215px;bottom:122px;width:240px;background:#211723ed;border:1px solid #e8cdd638;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}#reference>div{padding:9px 13px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px}#reference button{border:0;background:none;font-size:18px}#reference img{display:block;width:100%;min-height:0;height:100%;object-fit:contain;background:#e4e2e3}#reference[hidden],body.clean #reference,body.clean #market-ticker{display:none}@media(max-width:800px){#market-ticker{top:67px;right:18px;left:auto;transform:none;padding:5px 10px;gap:7px}#market-mode{font-size:6px}#reference{left:18px;top:175px;width:145px;bottom:138px}}

#sheet-toggle{pointer-events:auto;margin-top:13px;background:none;border:0;border-bottom:1px solid #e2c7cd55;padding:0 0 4px;font-size:10px;color:#f1d8c8}#settings-toggle{display:none}#settings-content{display:flex;flex-direction:column;gap:4px}body:not(.agi-view) #sheet-toggle{display:none}@media(max-width:800px){.settings{width:144px;padding:7px 11px;bottom:118px}#settings-toggle{display:block;font-size:10px;padding:3px 0}#settings-content{display:none}.settings.open #settings-content{display:flex;padding-top:10px}#reference{left:12px;width:112px;top:213px;bottom:130px}#reference>div{font-size:6px;padding:5px 7px;letter-spacing:.2px}#sheet-toggle{font-size:9px;margin-top:8px}}

@media(max-width:800px){body.agi-view .location h1{font-size:25px}#reference img{object-fit:cover}}

.cast-dock{position:absolute;left:50%;transform:translateX(-50%);bottom:130px;text-align:center;max-width:calc(100% - 32px);width:570px}.cast-strip{display:flex;gap:4px;padding:5px;border:1px solid #ffffff22;background:#171019a8;backdrop-filter:blur(18px);border-radius:22px;overflow-x:auto;scrollbar-width:none}.cast-strip button{flex:1;border:0;border-radius:18px;padding:8px 10px;background:none;color:#ddc9d6;font-size:10px;white-space:nowrap}.cast-strip button[aria-pressed=true]{background:#f0d5be;color:#342332}.cast-strip button:hover{background:#ffffff20}.cast-dock output{display:block;font-size:8px;letter-spacing:.4px;color:#d5bece;margin-top:7px;text-shadow:0 2px 8px #000}.clean .cast-dock{display:none}.settings{width:210px}.settings select{max-width:122px}@media(max-width:800px){.cast-dock{bottom:122px;left:15px;transform:none;width:calc(100% - 30px);max-width:none}.cast-strip button{padding:7px 9px;font-size:9px}.settings{bottom:188px;width:178px}.settings select{max-width:110px}}

#motion-status{font-size:9px;color:#efd2ac;min-height:14px}.settings{max-height:calc(100dvh - 180px);overflow:auto}.settings label{flex-wrap:wrap}.settings select{min-width:0}@media(max-width:800px){.settings{max-height:calc(100dvh - 225px)}}

#motion-position{width:110px;accent-color:#efc7a5;margin:3px 0}

@media(max-width:800px){.settings{max-height:calc(100dvh - 315px)}#settings-toggle{position:sticky;top:0;background:#211921;z-index:1}}

/* Five room destinations remain usable in the narrow in-app preview. */
nav{max-width:760px}@media(max-width:380px){nav button{font-size:8px;padding:10px 4px}.location{top:106px}.location p{max-width:265px}.location h1{max-width:270px}}

#ledger-focus{display:none;pointer-events:auto;margin-top:13px;background:#172022aa;border:1px solid #e2c7cd55;border-radius:18px;padding:7px 12px;font-size:10px;color:#f1d8c8}body.exchange-view #ledger-focus{display:block}

.motion-studies{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-top:1px solid #ffffff20;padding-top:8px}.settings .motion-studies button{padding:7px 5px;border:1px solid #d7baa133;border-radius:5px;text-align:center;font-size:9px}#motion-study-status{font-size:8px;color:#d7bfa4;line-height:1.5;margin-bottom:5px}
/* One unmistakable house price; secondary information stays quiet. */
#market-ticker{top:25px;gap:12px;border-radius:9px;padding:10px 20px;border-color:#d7b79755;background:#201820e8}#market-ticker span{font-size:11px;letter-spacing:1.8px;color:#eed7b7}#market-ticker strong{font:25px Georgia;color:#fff0d2}#market-mode{font-size:7px;max-width:125px}.edition{visibility:hidden}
@media(max-width:800px){#market-ticker{left:50%;right:auto;top:67px;transform:translateX(-50%);width:calc(100% - 40px);justify-content:center;padding:9px 10px;gap:10px}#market-ticker strong{font-size:23px}#market-mode{font-size:6px;max-width:78px}.location{top:132px}.location h1{font-size:24px}.location p{max-width:260px}}

@media(max-width:800px){body.arrival-view .location h1,body.arrival-view .location p{display:none}body.arrival-view .location{top:129px}}

.balanced-label{font-size:8px;letter-spacing:1px;color:#e8ceac;margin:2px 0 12px}#room-status,#feed-status{font-size:9px;color:#d9c5b0}#speech-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}nav{max-width:940px;overflow-x:auto}nav button{min-width:80px}#market-ticker strong{font-family:ui-monospace,SFMono-Regular,monospace;font-variant-numeric:tabular-nums;color:#f6f9ff}#market-ticker{background:#0c1118f5;border-radius:5px}.clean #speech-layer{display:block}@media(max-width:800px){nav button{min-width:62px}.location h1{max-width:220px}.location{pointer-events:none}}
#connect-feed{border-top:1px solid #ffffff18;padding-top:8px}#connect-feed label{display:block}#preview-password{display:block;width:100%;min-width:0;margin-top:6px;padding:7px 8px;background:#17131d;color:#eee5dc;border:1px solid #c6ac8b40;border-radius:5px;font:10px inherit}#connect-feed button{color:#e5c49e}#preview-password:focus-visible{outline:2px solid #e5c49e;outline-offset:2px}

/* The central price readout shares the stage board’s black-and-gold finish. */
#market-ticker{background:#030303f5;border-color:#ad8c4b88;box-shadow:inset 0 0 0 1px #e4c4770a}#market-ticker span,#market-ticker strong{color:#e4c477}#market-ticker #market-mode{color:#ae935c}

.header-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}#music-toggle{color:#e4c477;min-width:76px}#music-toggle[aria-pressed="true"]{border-color:#c6a15b80;background:#171019b0}.settings #music-volume{width:82px;accent-color:#d8b86e}.settings #music-status{display:block;color:#c3b195;font-size:9px;line-height:1.5;margin:0 0 12px}input:focus-visible{outline:2px solid #e4c477;outline-offset:3px}body.clean header{display:flex;justify-content:flex-end}body.clean header .wordmark,body.clean header .edition{visibility:hidden}@media(max-width:800px){.header-actions{gap:5px}header .header-actions button{padding:8px 9px;font-size:9px}#music-toggle{min-width:66px}header .header-actions kbd{display:none}}

/* Speech is a native-resolution overlay, never a texture inside the 3D render. */
.club-speech{position:absolute;left:0;top:0;width:max-content;max-width:min(320px,calc(100vw - 24px));margin:0;padding:15px 19px 17px;background:#fffaf1;border:1px solid #d5bd91;border-radius:22px;color:#241c29;text-align:left;font:500 16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;box-shadow:0 5px 18px #08040e45;overflow-wrap:anywhere;text-shadow:none;transform:none}
.club-speech::before,.club-speech::after{content:"";position:absolute;left:var(--tail-x,50%);width:0;height:0;pointer-events:none;border-left:11px solid transparent;border-right:11px solid transparent}
.club-speech::before{bottom:-17px;margin-left:-11px;border-top:17px solid #d5bd91}
.club-speech::after{bottom:-15px;margin-left:-10px;border-left-width:10px;border-right-width:10px;border-top:16px solid #fffaf1}
.club-speech__author{display:block;margin:0 0 6px;color:#755631;font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.15px}
.club-speech__text{display:block;white-space:pre-wrap;max-height:10.2em;overflow:auto;scrollbar-width:thin;pointer-events:auto}
.club-speech__detail{display:block;margin-top:10px;padding-top:9px;border-top:1px solid #decfb7;color:#61513e;font-size:12px;line-height:1.55}
.club-speech--poll{pointer-events:auto;cursor:pointer}
.club-speech--poll:hover{border-color:#98713b;background:#fffaf1}
.club-speech--poll:focus-visible{outline:3px solid #d7b569;outline-offset:5px}
.club-speech[hidden]{display:none}
@media(max-width:600px){.club-speech{max-width:min(280px,calc(100vw - 24px));padding:13px 16px 15px;font-size:15px}.club-speech__author,.club-speech__detail{font-size:12px}}

.club-speech__action{display:block;margin-top:7px;color:#704f24;font-size:12px;font-weight:700;white-space:nowrap}

/* Keep the interactive room covered until the complete cast is ready. */
#loading{z-index:100}

.mimi-actions{position:fixed;left:50%;bottom:125px;transform:translateX(-50%);z-index:15;display:flex;gap:8px;padding:10px;background:#19131dee;border:1px solid #ab8b6866;border-radius:14px;white-space:nowrap}.mimi-actions button{color:#f5e6d4;background:#312332;border:1px solid #ab8b6866;border-radius:8px;padding:10px 14px;cursor:pointer}.mimi-actions button:hover,.mimi-actions [aria-pressed="true"]{background:#745943}.ui-hidden .mimi-actions{display:none}@media(max-width:700px){.mimi-actions{bottom:155px;max-width:95vw;flex-wrap:wrap;justify-content:center}.mimi-actions button{padding:8px;font-size:11px}}

.mimi-follow-mode .cast-dock{display:none}@media(max-width:700px){.mimi-actions{width:calc(100vw - 24px);max-width:520px;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px;bottom:50px}.mimi-actions button{font-size:10px;white-space:normal;padding:9px 4px}.mimi-follow-mode footer nav{display:none}}

/* A stable hit target for both UI states, above scene overlays. */
header{z-index:30}#hide-ui{width:110px;min-width:110px;flex:none}.header-actions{margin-left:auto}#loading{z-index:100}#loading[hidden]{display:none}
/* Following a performer must not remove navigation or the cast switcher. */
body.mimi-follow-mode .cast-dock{display:block}body.mimi-follow-mode footer nav{display:flex}
