:root{color-scheme:dark;--bg:#101718;--panel:#172123;--line:#ffffff16;--muted:#9daead;--mint:#c5ecd8;--rail:304px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:#f2f5ef;font-family:Inter,ui-sans-serif,system-ui,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--mint);outline-offset:4px}body>canvas{display:block;position:fixed;left:0;top:88px;border-radius:0 24px 0 0}body:before{content:'';position:fixed;right:0;top:0;bottom:0;width:var(--rail);background:var(--bg);border-left:1px solid var(--line)}#topLive{position:fixed;top:25px;left:28px;z-index:30;display:flex;align-items:center;gap:12px;font-size:16px;font-weight:850;letter-spacing:.09em}.liveDot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d5ff76;box-shadow:0 0 0 4px #d5ff7610;flex:none}.liveSep{color:#ffffff28}#liveDay,.liveClock{font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--muted)}#info{position:fixed;left:28px;top:109px;z-index:3;pointer-events:none}#info b{font-size:10px;letter-spacing:.2em;display:block;color:#fff}#status{display:block;font-size:11px;color:#e0e8e3;margin-top:7px;max-width:340px;text-shadow:0 1px 8px #000}#roomLegend{position:fixed;left:28px;bottom:164px;z-index:20;font-size:10px;letter-spacing:.15em;color:#edf7ef;background:#101718cc;border:1px solid var(--line);border-radius:6px;padding:9px 12px}#voiceBtn{position:fixed;right:calc(var(--rail) + 24px);top:22px;z-index:31;border:1px solid #ffffff28;background:transparent;color:#f2f5ef;border-radius:99px;padding:10px 16px;font-size:11px}#voiceState{top:64px!important;left:28px!important;max-width:calc(100vw - 40px)}#directorPanel{position:fixed;right:0;top:0;width:var(--rail);padding:30px 23px 22px;z-index:31;border-bottom:1px solid var(--line)}.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--mint);font-weight:800}h2{font-size:26px;line-height:1.12;font-weight:550;letter-spacing:-.045em;margin:15px 0 12px}#directorPanel p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 18px}#budgetState{font-size:10px;color:#d4e2da;margin-bottom:10px;min-height:24px}#aiToggle{width:100%;padding:12px;border:1px solid #e5be8440;background:#4e3925;color:#ffe0b6;border-radius:9px;font-size:11px;font-weight:750}#aiToggle.paused{background:var(--mint);color:#152b21;border-color:var(--mint)}#directorPanel small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin:10px 0 16px}#cookTest{background:transparent;border:0;color:#c9d5d1;font-size:11px;padding:0}#peopleDock{position:fixed;left:28px;bottom:64px;z-index:27;display:flex;gap:9px}.personBtn{display:flex;align-items:center;gap:10px;min-width:148px;background:#192324;color:#f5f6ee;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:left;transition:border-color .2s}.personBtn:hover,.personBtn.active{border-color:var(--mint)}.personBtn i{display:grid;place-items:center;width:32px;height:36px;background:#e8b99c;color:#493225;border-radius:8px;font:700 15px Georgia}.personBtn[data-person="Álex"] i{background:#bad5e7;color:#2b4453}.personBtn[data-person="Sofía"] i{background:#c9c2e9;color:#433657}.personBtn strong{font-size:12px}.personBtn span{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:4px}#cameraDock{position:fixed;left:28px;bottom:137px;z-index:28;display:flex;gap:4px;padding:5px;background:#142021ed;border:1px solid var(--line);border-radius:99px}.camBtn{border:0;background:transparent;color:#b7c5c0;padding:8px 13px;border-radius:99px;font-size:11px}.camBtn:hover,.camBtn.active{background:var(--mint);color:#152b21}#roomLegend{bottom:193px}#social{position:fixed;z-index:25;right:0;top:374px;bottom:48px;width:var(--rail);padding:22px;overflow:auto}#social>b{font-size:9px;letter-spacing:.16em;display:flex;align-items:center;gap:10px;margin-bottom:24px}#chatEmpty{font-size:14px;line-height:1.55;color:#d4ddd7}#chatEmpty span{display:block;color:var(--muted);font-size:11px;margin-top:8px}.msg{margin:0 0 18px;padding:0 0 0 12px;border-left:2px solid #c9c2e9;line-height:1.5}.msg[data-actor="Laura"]{border-color:#e8b99c}.msg[data-actor="Álex"]{border-color:#bad5e7}.who{font-size:11px;font-weight:750}.time{font-size:9px;color:var(--muted);margin-left:8px}.msg p{font-size:12px;color:#bfcdc6;margin:5px 0}.worldTag{position:fixed;z-index:18;transform:translate(-50%,-100%);pointer-events:none;display:none;text-align:center}.worldName{display:inline-block;background:#142021e8;border:1px solid #ffffff35;color:#f4fff5;padding:5px 10px;border-radius:99px;font-size:9px;font-weight:750;letter-spacing:.08em}.worldBubble{display:none;margin:0 auto 7px;max-width:210px;background:#f3f7ef;color:#172a22;padding:10px 12px;border-radius:12px 12px 12px 2px;font-size:11px;box-shadow:0 8px 22px #0003}#tvBanner{position:fixed;z-index:24;left:28px;bottom:244px;max-width:min(520px,calc(100vw - 380px));display:flex;align-items:center;gap:14px;background:#10221fea;border-left:3px solid var(--mint);padding:15px 18px;border-radius:4px 12px 12px 4px;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;pointer-events:none}#tvBanner.show{opacity:1;transform:translateY(0)}#tvLive{font-size:8px;letter-spacing:.14em;color:var(--mint)}#tvText{font-size:13px;font-weight:750}#tvSub{font-size:11px;color:#c0d1c6;margin-top:5px}#adStrip{position:fixed;bottom:0;left:0;right:0;height:42px;z-index:32;display:flex;align-items:center;gap:17px;padding:0 28px;background:#c5ecd8;color:#193528;cursor:pointer}.adTag{font-size:8px;letter-spacing:.15em;border:1px solid #19352840;padding:4px 6px;border-radius:3px}#adText{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#adCta{margin-left:auto;font-size:9px;letter-spacing:.06em;font-weight:800;white-space:nowrap}@media(min-width:1500px){:root{--rail:340px}h2{font-size:30px}}@media(max-width:1000px){:root{--rail:270px}#topLive{font-size:13px}#liveDay,.liveSep{display:none}.personBtn{min-width:110px;padding:9px}.personBtn span{font-size:8px}.camBtn{padding:8px 10px}#peopleDock,#cameraDock,#info,#roomLegend{left:18px}#directorPanel{padding:25px 18px}#social{padding:18px}.personBtn i{display:none}}@media(max-width:700px){body:before{display:none}body>canvas{top:70px;border-radius:0}#topLive{top:25px;left:16px;font-size:12px}.liveClock{display:none}#voiceBtn{top:16px;right:14px;padding:10px;font-size:10px}#info{top:88px;left:16px}#info b{display:none}#status{font-size:9px;max-width:210px}#directorPanel{top:auto;bottom:47px;right:12px;left:12px;width:auto;padding:12px;border:1px solid var(--line);border-radius:12px;background:#142021}#directorPanel .eyebrow,#directorPanel h2,#directorPanel p,#directorPanel small,#cookTest{display:none}#budgetState{font-size:9px;min-height:0;margin:0 0 9px}#aiToggle{padding:10px}#social{display:none}#peopleDock{left:12px;right:12px;bottom:153px;gap:6px}.personBtn{flex:1;min-width:0;padding:9px}.personBtn span{font-size:8px}#cameraDock{left:12px;right:12px;bottom:218px;overflow:auto;gap:0;border-radius:10px}.camBtn{flex:1;padding:8px;font-size:9px;white-space:nowrap}#roomLegend{bottom:269px;left:12px;font-size:8px}#tvBanner{left:12px;bottom:311px;max-width:calc(100vw - 24px);padding:10px 12px}#tvText{font-size:11px}#tvSub{font-size:10px}#adStrip{height:35px;padding:0 12px;gap:8px}.adTag,#adCta{display:none}#adText{font-size:10px}.worldBubble{max-width:150px;font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Local scene controls stay available on mobile as well. */
#sitTest{display:block;margin:0 0 12px;padding:0;background:transparent;border:0;color:#c5ecd8;font-size:11px;text-align:left}#sitTest:disabled,#cookTest:disabled{opacity:.45;cursor:wait}#social{top:410px}
@media(max-width:700px){#sitTest{display:block;margin:9px 0 0;font-size:10px}#peopleDock{bottom:178px}#cameraDock{bottom:240px}#roomLegend{bottom:290px}#tvBanner{bottom:328px}}

#sponsorDialog{width:min(480px,calc(100vw - 32px));padding:32px;background:#172623;color:#f7f3e9;border:1px solid #c5ecd840;border-radius:20px;box-shadow:0 25px 100px #0008}#sponsorDialog::backdrop{background:#071512b3;backdrop-filter:blur(5px)}#sponsorClose{position:absolute;right:13px;top:9px;background:none;border:0;color:#fff;font-size:28px}#sponsorDialog h2{font-size:28px;margin-top:22px}#sponsorDialog p{color:#c3d0c7;line-height:1.6;font-size:14px}#sponsorLink{display:inline-block;background:#c5ecd8;color:#152d22;padding:13px 18px;border-radius:9px;text-decoration:none;font-weight:700;font-size:13px;margin-top:12px}
