:root{color-scheme:dark;--bg: #1a1c1e;--panel: rgba(28, 30, 32, .92);--text: #f2efe8;--muted: #a8a49a;--accent: #fd801d;--border: rgba(242, 239, 232, .12);--hud-h: 5.75rem;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}#scene{display:block;width:100%;height:100%}#agent-labels{position:absolute;top:0;right:0;bottom:0;left:0;bottom:var(--hud-h);pointer-events:none;z-index:5}.agent-label{position:absolute;transform:translate(-50%,-135%);white-space:nowrap;background:#0c0e10f0;border:1px solid rgba(255,248,236,.72);border-radius:999px;padding:.34rem .8rem;font-size:.86rem;font-weight:700;color:#fffaf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 12px #0000008c,0 0 0 1px #00000059;text-shadow:0 1px 3px rgba(0,0,0,.75);letter-spacing:.015em}.agent-label .dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.4rem;vertical-align:middle;box-shadow:0 0 0 2px #00000040}.agent-label .dot.busy{background:var(--accent)}.agent-label .dot.idle{background:#7db87a}.agent-label .dot.routine{background:#6aa8d8}.agent-label .dot.awaiting_user{background:#e8c547}.agent-label .dot.error{background:#e74c3c}#brand{position:absolute;top:.75rem;left:1rem;z-index:8;pointer-events:none;max-width:14rem}#brand h1{margin:0;font-size:1rem;font-weight:650;letter-spacing:.02em;text-shadow:0 1px 4px rgba(0,0,0,.55)}#brand .subtitle{margin:.15rem 0 0;color:var(--muted);font-size:.72rem;text-shadow:0 1px 3px rgba(0,0,0,.5)}.presence-status{display:inline-block;margin:.35rem 0 0;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border);background:#1c1e20bf;text-shadow:none;pointer-events:auto}.presence-status[data-status=live]{color:#7db87a;border-color:#7db87a8c}.presence-status[data-status=demo]{color:#6aa8d8;border-color:#6aa8d88c}.presence-status[data-status=stale]{color:#e8c547;border-color:#e8c5478c}.presence-status[data-status=offline]{color:#e74c3c;border-color:#e74c3c73}.controls button.mode-toggle.active{background:#7db87a29;border-color:#7db87a;color:#9fd09c}.controls button.ghost-feed{border-style:dashed;color:var(--muted)}#hud{position:absolute;left:0;right:0;bottom:0;z-index:12;pointer-events:none;display:flex;flex-direction:column;gap:.4rem;padding:.55rem .85rem .7rem;background:linear-gradient(to top,#121416f0,#121416d1 70%,#12141600);border-top:1px solid var(--border);min-height:var(--hud-h)}.hud-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .85rem;pointer-events:none}.mode-indicator{margin:0;font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.mode-indicator.editing{color:var(--accent)}.interior-title{margin:0;display:inline-block;padding:.15rem .5rem;border-radius:.35rem;background:#fd801d29;border:1px solid rgba(253,128,29,.45);color:var(--accent);font-size:.72rem;font-weight:600}.hint{margin:0;color:var(--muted);font-size:.7rem;flex:1 1 12rem}.controls{display:flex;gap:.4rem;pointer-events:auto;flex-wrap:wrap;align-items:center}.controls button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:.45rem;padding:.4rem .7rem;font:inherit;font-size:.78rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.controls button:hover{border-color:var(--accent);color:var(--accent)}.controls button.active{background:#fd801d2e;border-color:var(--accent);color:var(--accent)}.controls button.leave{border-color:#fd801d8c;color:var(--accent)}.controls button.leave:hover{background:#fd801d2e}.controls button.feed{border-color:#6aa8d88c;color:#9ec9e8}.controls button.feed:hover,.controls button.feed.active{background:#6aa8d82e;border-color:#6aa8d8;color:#c5dff0}.controls button.edit{border-color:#fd801d66}.controls button.edit:hover,.controls button.edit.active{background:#fd801d2e;border-color:var(--accent);color:var(--accent)}#toast{position:absolute;left:50%;bottom:calc(var(--hud-h) + .6rem);transform:translate(-50%) translateY(8px);padding:.5rem .9rem;border-radius:.5rem;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:.82rem;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:25}#toast.visible{opacity:1;transform:translate(-50%) translateY(0)}#feed-log{position:absolute;right:.85rem;bottom:calc(var(--hud-h) + .45rem);width:min(16rem,calc(100vw - 1.7rem));pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:.5rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.7rem;color:var(--muted);overflow:hidden;z-index:15}#feed-log.collapsed #feed-log-list{display:none}.feed-log-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;color:var(--text);font-weight:600;border-bottom:1px solid var(--border)}#feed-log.collapsed .feed-log-head{border-bottom:none}.feed-log-head button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:.3rem;padding:.12rem .4rem;font:inherit;font-size:.65rem;cursor:pointer}.feed-log-head button:hover{border-color:var(--accent);color:var(--accent)}#feed-log-list{list-style:none;margin:0;padding:.3rem .5rem .45rem;max-height:6.5rem;overflow:hidden}#feed-log-list li{padding:.18rem 0;border-bottom:1px solid rgba(242,239,232,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}#feed-log-list li:last-child{border-bottom:none}#building-editor,#exterior-editor,#character-editor{position:absolute;top:.75rem;right:.85rem;bottom:calc(var(--hud-h) + .5rem);width:min(19rem,calc(100vw - 1.7rem));max-height:none;overflow-y:auto;pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:.6rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.7rem .8rem .85rem;z-index:20;font-size:.78rem}#character-editor{width:min(26rem,calc(100vw - 1.7rem))}#building-editor[hidden],#exterior-editor[hidden],#character-editor[hidden]{display:none!important}.ee-check{display:flex;align-items:center;gap:.45rem;color:var(--text);font-size:.72rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ee-check input{accent-color:var(--accent)}.ee-swatch-inline{display:inline-block;width:.85rem;height:.85rem;border-radius:.2rem;border:1px solid var(--border);vertical-align:middle}.editor-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.editor-plot{color:var(--accent);font-size:.72rem;font-weight:600}.editor-hint{margin:0 0 .55rem;color:var(--muted);font-size:.68rem;line-height:1.35}.editor-hint kbd{display:inline-block;padding:.05rem .3rem;border:1px solid var(--border);border-radius:.25rem;font-size:.65rem;color:var(--accent)}.editor-section{margin-bottom:.55rem}.editor-label{display:block;margin:.3rem 0 .25rem;color:var(--muted);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.palette{display:flex;flex-wrap:wrap;gap:.28rem}.palette-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#f2efe80f;color:var(--text);border-radius:.35rem;padding:.28rem .45rem;font:inherit;font-size:.7rem;cursor:pointer}.palette-btn:hover{border-color:var(--accent)}.palette-btn.active{border-color:var(--accent);background:#fd801d33;color:var(--accent)}.swatches{display:flex;flex-wrap:wrap;gap:.3rem}.swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.45rem;height:1.45rem;border-radius:.3rem;border:2px solid transparent;cursor:pointer;padding:0}.swatch:hover{outline:1px solid var(--accent)}.swatch.active{border-color:#f2efe8;box-shadow:0 0 0 2px var(--accent)}.editor-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.editor-actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#f2efe80f;color:var(--text);border-radius:.4rem;padding:.35rem .55rem;font:inherit;font-size:.72rem;cursor:pointer}.editor-actions button.primary{background:#fd801d38;border-color:var(--accent);color:var(--accent);font-weight:600}.editor-actions button.ghost:hover,.editor-actions button:hover{border-color:var(--accent);color:var(--accent)}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:.3rem;width:1.6rem;height:1.6rem;font-size:1.05rem;line-height:1;cursor:pointer}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.ce-body{display:flex;gap:.65rem;flex-wrap:wrap}.ce-preview-wrap{flex:0 0 auto;background:#00000040;border-radius:.45rem;border:1px solid var(--border);overflow:hidden}#ce-preview{display:block;width:220px;height:280px}.ce-controls{flex:1 1 10rem;min-width:10rem}#ce-agent{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#f2efe80f;color:var(--text);border-radius:.35rem;padding:.35rem .45rem;font:inherit;font-size:.78rem;margin-bottom:.3rem}@media(max-width:720px){:root{--hud-h: 7.5rem}#brand{max-width:40vw}#brand h1{font-size:.9rem}}.travel-switch{display:inline-flex;flex-wrap:wrap;max-width:28rem;border:1px solid var(--border);border-radius:.45rem;overflow:hidden;background:var(--panel)}.travel-switch .travel-btn{border:none;border-radius:0;border-right:1px solid var(--border);background:transparent;padding:.35rem .5rem;font:inherit;font-size:.72rem;color:var(--text);cursor:pointer}.travel-switch .travel-btn:last-child{border-right:none}.travel-switch .travel-btn:hover{color:var(--accent)}.travel-switch .travel-btn.active{background:#fd801d2e;color:var(--accent)}#follow-chip{position:absolute;top:.85rem;left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:center;gap:.45rem;padding:.4rem .55rem .4rem .75rem;border-radius:999px;background:#16120ef0;border:1px solid var(--accent);color:var(--text);font-size:.78rem;font-weight:600;letter-spacing:.01em;pointer-events:auto;box-shadow:0 4px 18px #0006}#follow-chip .follow-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #fd801dbf;flex-shrink:0}#follow-chip .follow-verb{color:var(--muted);font-weight:500;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#follow-chip .follow-stop{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(253,128,29,.55);background:#fd801d29;color:var(--accent);border-radius:999px;padding:.18rem .55rem;font:inherit;font-size:.7rem;font-weight:700;cursor:pointer}#follow-chip .follow-stop:hover{background:#fd801d47}#follow-chip[hidden]{display:none!important}.agent-label.following{border-color:var(--accent);box-shadow:0 0 0 2px #fd801d59;background:#281c12f2}.agent-bubble{position:absolute;transform:translate(-50%,-160%);white-space:nowrap;background:#f2efe8f2;color:#2a2826;border-radius:.65rem;padding:.22rem .55rem;font-size:.68rem;font-weight:650;pointer-events:none;z-index:6;box-shadow:0 2px 8px #00000040}.agent-bubble:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translate(-50%);border:5px solid transparent;border-top-color:#f2efe8f2}#tips-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#0a0c0e8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:1.5rem}#tips-overlay[hidden]{display:none!important}.tips-card{max-width:22rem;width:100%;background:var(--panel);border:1px solid var(--border);border-radius:1rem;padding:1.25rem 1.35rem 1.1rem;box-shadow:0 12px 40px #00000073}.tips-card h2{margin:0 0 .75rem;font-size:1.05rem}.tips-list{margin:0 0 1rem;padding-left:1.15rem;color:var(--muted);font-size:.86rem;line-height:1.45}.tips-list strong{color:var(--text)}#btn-tips-dismiss{width:100%;border:none;border-radius:.65rem;padding:.55rem .85rem;background:var(--accent);color:#1a1208;font-weight:700;font-size:.88rem;cursor:pointer}#btn-tips-dismiss:hover{filter:brightness(1.06)}#btn-visitor-edit.visitor-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#fd801d26;color:var(--text);border-radius:.45rem;padding:.35rem .7rem;font:inherit;font-size:.78rem;font-weight:650;cursor:pointer}#btn-visitor-edit[aria-expanded=true]{border-color:var(--accent);background:#fd801d47}.pro-controls{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.pro-controls[hidden]{display:none!important}#app.visitor-mode{--hud-h: 4.25rem}#app.visitor-mode #hud .hint{max-width:28rem}.agent-label.label-dim{filter:saturate(.75);pointer-events:auto}.agent-label.label-lod-far{font-size:.74rem;padding:.22rem .55rem;opacity:.85}.agent-label.label-activity{border-color:#fd801da6;background:#281c10f0}.agent-label.following{font-size:.92rem;z-index:8}.agent-label{transition:opacity .2s ease;pointer-events:auto;cursor:pointer;padding:.42rem .92rem;margin:-.12rem}#estate-panel{position:absolute;top:3.5rem;right:1rem;z-index:20;width:min(22rem,calc(100vw - 2rem));max-height:calc(100vh - var(--hud-h) - 5rem);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:.75rem;padding:.85rem 1rem 1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 28px #00000059}#estate-panel .estate-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}#estate-panel .estate-home{margin:0 0 .4rem;font-size:.85rem;color:var(--accent)}#estate-panel .estate-blurb{margin:0 0 .75rem;font-size:.75rem;color:var(--muted);line-height:1.35}.estate-tier{border:1px solid var(--border);border-radius:.5rem;padding:.55rem .65rem;margin-bottom:.45rem;font-size:.78rem}.estate-tier.owned{border-color:#fd801d8c;background:#fd801d14}.estate-tier .price{color:var(--accent);margin-left:.35rem}.estate-tier .tier-tag{display:inline-block;margin-left:.35rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.estate-tier p{margin:.35rem 0 0;color:var(--muted);font-size:.72rem}.estate-actions{display:flex;flex-direction:column;gap:.45rem;margin-top:.65rem}.estate-actions .estate-hint{margin:0;font-size:.72rem;color:var(--muted)}.estate-actions button,#estate-panel .ghost{font:inherit;font-size:.8rem;padding:.45rem .7rem;border-radius:.4rem;border:1px solid var(--border);background:#fd801d26;color:var(--text);cursor:pointer}#estate-panel .ghost{background:transparent}.estate-actions button:hover,#estate-panel .ghost:hover{border-color:var(--accent);color:var(--accent)}#feed-log-list li{display:flex;gap:.45rem;align-items:baseline}#feed-log-list .feed-stamp{flex:0 0 auto;min-width:3.4rem;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:650;font-size:.64rem}#feed-log-list .feed-body{color:var(--text);line-height:1.35}#feed-log-list li.feed-fresh .feed-stamp{color:#9fd09c}#feed-log-list li.feed-fresh{background:#7db87a14}.agent-label.label-activity{border-color:#fd801dd9;background:#24160cf5;box-shadow:0 2px 14px #00000080,0 0 0 1px #fd801d40}#follow-chip{background:linear-gradient(135deg,#2a241ceb,#3a3024e6);border:1px solid rgba(253,128,29,.35);box-shadow:0 8px 28px #140c0459}#follow-chip .follow-dot{box-shadow:0 0 8px #fd801dd9}#feed-log{background:#1c1814c7;border:1px solid rgba(255,214,160,.12)}#feed-log-list li.feed-fresh{background:#fd801d1f}.tips-card{background:linear-gradient(160deg,#2a241c,#1c1814);border:1px solid rgba(253,128,29,.28)}.tips-card h2{color:#ffe2c4}#follow-chip.follow-act-bike .follow-dot,#follow-chip.follow-act-football .follow-dot,#follow-chip.follow-act-kite .follow-dot,#follow-chip.follow-act-pub .follow-dot,#follow-chip.follow-act-shop .follow-dot,#follow-chip.follow-act-cafe .follow-dot,#follow-chip.follow-act-park .follow-dot,#follow-chip.follow-act-call .follow-dot,#follow-chip.follow-act-busy .follow-dot{box-shadow:0 0 0 3px #fd801d59}#follow-chip.follow-act-bike{border-color:#4a6fa58c}#follow-chip.follow-act-football{border-color:#5e94528c}#follow-chip.follow-act-kite{border-color:#fd801d8c}#follow-chip.follow-act-pub{border-color:#a878588c}#follow-chip.follow-act-shop{border-color:#4ae08a8c}#follow-chip.follow-act-cafe{border-color:#e8b84a8c}#follow-chip.follow-act-park{border-color:#5e94528c}#follow-chip.follow-act-call{border-color:#3dd6c6a6}#follow-chip.follow-act-call .follow-verb{color:#7eecd8}#follow-chip.follow-act-busy{border-color:#3dd6c680}#follow-chip.follow-act-busy .follow-verb{color:#3dd6c6}#follow-chip .follow-verb{color:#ffe6c8c7;letter-spacing:.02em}#follow-chip.follow-chip-live strong{font-weight:700;color:#fff6ea}#feed-log-list li{opacity:.92}#feed-log-list li.feed-fresh{opacity:1;border-left:2px solid rgba(253,128,29,.55);padding-left:.35rem}.agent-label.following .text{color:#ffe8cc}.agent-label.following{border-color:#ffc878f2;background:#2a1e0ef5;box-shadow:0 0 0 2px #ffc87861,0 4px 18px #00000073,0 0 22px #ffc87842;transform:translate(-50%,-135%) scale(1.06);z-index:8;animation:follow-pulse 1.6s ease-in-out infinite}.agent-label.following .text{color:#ffe8c4;letter-spacing:.02em}.agent-label.following .dot{box-shadow:0 0 0 3px #ffc8786b,0 0 10px #ffc878a6}.agent-label.calling{border-color:#3dd6c6f2;box-shadow:0 0 0 2px #3dd6c673,0 4px 16px #0006,0 0 18px #3dd6c659;z-index:9}.agent-label.calling .text{color:#e8fff8}@keyframes follow-pulse{0%,to{box-shadow:0 0 0 2px #fd801d59,0 4px 18px #00000073,0 0 16px #fd801d33}50%{box-shadow:0 0 0 3px #fd801d8c,0 4px 20px #00000080,0 0 28px #fd801d66}}#feed-log.collapsed{opacity:.72}#feed-log.collapsed:hover{opacity:1}#follow-chip.follow-chip-live{animation:follow-chip-in .35s ease-out}@keyframes follow-chip-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}#follow-chip.follow-chip-live{border-color:#ffc87873;box-shadow:0 8px 28px #00000059,0 0 18px #ffc8781f}#follow-chip.follow-chip-live .follow-dot{background:#ffc878;box-shadow:0 0 0 3px #ffc87859,0 0 10px #ffc8788c}
