:root{color-scheme:dark;--world-bg: #0a0b0d;--world-bg-elevated: #131519;--world-bg-soft: #1a1d23;--world-bg-deep: #07080a;--world-border: rgba(255, 255, 255, .07);--world-border-warm: rgba(255, 255, 255, .14);--world-text: #e8eaed;--world-text-muted: #9aa0a8;--world-text-dim: #6b7079;--world-green: #4ade80;--world-crimson: #f87171;--world-teal: #60a5fa;--world-shadow: rgba(0, 0, 0, .55);--world-brass: #d4d4d8;--world-brass-bright: #f4f4f5;--font-ui: "Inter", "Inter Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Inter", "Inter Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display-weight: 600;--font-display-tracking: -.02em;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--control-h: 38px}html{background:var(--world-bg)}body{min-width:320px;min-height:100vh;margin:0;background:var(--world-bg);color:var(--world-text);font-family:var(--font-ui);font-feature-settings:"ss01","cv11";font-size:14px;line-height:1.55;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font:inherit}button{letter-spacing:0}img{display:block;max-width:100%}a{color:var(--world-brass-bright)}::selection{background:#c4925a47;color:var(--world-text)}#root{min-height:100vh}.world-app{min-height:100vh;background:var(--world-bg)}.world-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:var(--space-5)}.world-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:center;min-height:56px;padding:0 0 var(--space-4);border-bottom:1px solid var(--world-border-warm)}.brand-lockup{display:flex;min-width:0;flex-direction:column;gap:2px}.brand-title,.world-heading,.modal-title{margin:0;color:var(--world-text);font-family:var(--chrome-display, var(--font-display));font-weight:var(--chrome-display-weight, var(--font-display-weight));letter-spacing:var(--chrome-display-tracking, var(--font-display-tracking))}.scene-title{margin:0;color:var(--world-brass-bright);font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:var(--font-display-tracking)}.brand-title{font-size:30px;line-height:1}.brand-subtitle,.eyebrow,.meta-line{color:var(--world-text-muted);font-size:12px;letter-spacing:0}.world-main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-5);padding-top:var(--space-5)}.scene-layout{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;gap:var(--space-4)}.scene-header,.panel-header{display:flex;gap:var(--space-3);align-items:flex-start;justify-content:space-between;min-width:0}.scene-title{font-size:28px;line-height:1.12}.scene-summary,.body-copy{margin:0;color:var(--world-text-muted)}.scene-stage{position:relative;overflow:hidden;min-height:420px;aspect-ratio:16 / 9;border:1px solid var(--world-border);border-radius:var(--radius-lg);background:var(--world-bg-deep);box-shadow:0 1px #ffffff0a inset,0 16px 40px var(--world-shadow)}.scene-stage:after{position:absolute;inset:0;pointer-events:none;content:"";box-shadow:inset 0 0 80px #00000080}.scene-image{width:100%;height:100%;object-fit:cover}.hotspot{position:absolute;z-index:2;width:26px;height:26px;padding:0;transform:translate(-50%,-50%);border:1px solid rgba(224,168,104,.85);border-radius:50%;background:#0f0a06b8;color:var(--world-brass-bright);box-shadow:0 0 0 4px #c4925a29,0 6px 16px var(--world-shadow);cursor:pointer}.hotspot:before{position:absolute;inset:8px;border-radius:50%;background:currentColor;content:""}.hotspot:hover,.hotspot:focus-visible{border-color:var(--world-text);outline:none;box-shadow:0 0 0 5px #e0a8683d,0 10px 24px var(--world-shadow)}.side-panel,.npc-panel,.chat-panel,.contribution-panel,.creator-panel,.modal-panel{border:1px solid var(--world-border);border-radius:var(--radius-lg);background:var(--world-bg-elevated);box-shadow:0 1px #ffffff0a inset,0 12px 32px var(--world-shadow)}.side-panel,.npc-panel,.chat-panel,.contribution-panel,.creator-panel{padding:var(--space-4)}.panel-stack{display:grid;gap:var(--space-4);align-content:start}.npc-list,.location-grid,.demo-controls,.action-row{display:grid;gap:var(--space-3)}.npc-card,.location-card,.pending-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-3);align-items:center;min-width:0;padding:var(--space-3);border:1px solid var(--world-border);border-radius:var(--radius-md);background:var(--world-bg-soft);transition:border-color .12s ease,background .12s ease}.npc-card:hover,.location-card:hover{border-color:var(--world-border-warm)}.npc-card.is-active,.location-card.is-active{border-color:var(--world-brass);background:var(--world-bg-elevated)}.npc-portrait{width:64px;height:64px;overflow:hidden;border:1px solid var(--world-border-warm);border-radius:var(--radius-md);background:var(--world-bg-deep)}.npc-portrait img{width:100%;height:100%;object-fit:cover}.npc-name,.card-title{margin:0;color:var(--world-text);font-weight:650;line-height:1.18}.npc-role,.card-meta,.trust-label{margin:2px 0 0;color:var(--world-text-muted);font-size:12px}.status-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.status-pill,.byline-pill{display:inline-flex;align-items:center;min-height:24px;max-width:100%;padding:2px 10px;border:1px solid var(--world-border);border-radius:999px;background:transparent;color:var(--world-text-muted);font-size:11px;font-weight:500;letter-spacing:.01em;white-space:nowrap}.status-pill.is-warn{border-color:#f8717152;color:#fca5a5}.status-pill.is-ok{border-color:#4ade8052;color:#86efac}.chat-log{display:grid;max-height:min(52vh,560px);overflow:auto;gap:var(--space-3);padding-right:var(--space-1)}.message{max-width:92%;padding:var(--space-3);border:1px solid var(--world-border);border-radius:var(--radius-md);background:var(--world-bg-soft);color:var(--world-text)}.message--player{justify-self:end;border-color:var(--world-border-warm);background:var(--world-bg-elevated)}.message--npc{justify-self:start}.message--system{max-width:100%;border:0;background:transparent;color:var(--world-text-muted);font-size:12px}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);margin-top:var(--space-4)}.field,.textarea,.select{width:100%;min-height:var(--control-h);border:1px solid var(--world-border);border-radius:var(--radius-md);background:var(--world-bg-deep);color:var(--world-text);padding:8px 12px;transition:border-color .12s ease,box-shadow .12s ease}.textarea{min-height:96px;resize:vertical}.field:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--world-brass);box-shadow:0 0 0 3px color-mix(in srgb,var(--world-brass) 22%,transparent)}.button,.icon-button,.segmented-control button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);border:1px solid var(--world-border);border-radius:var(--radius-md);background:var(--world-bg-elevated);color:var(--world-text);cursor:pointer;text-decoration:none;font-weight:500;letter-spacing:-.005em;transition:border-color .12s ease,background .12s ease}.button{gap:var(--space-2);padding:0 14px}.icon-button{width:var(--control-h);padding:0}.button:hover,.icon-button:hover,.segmented-control button:hover{border-color:var(--world-border-warm);background:var(--world-bg-soft)}.button:focus-visible,.icon-button:focus-visible,.segmented-control button:focus-visible{outline:none;border-color:var(--world-brass);box-shadow:0 0 0 3px color-mix(in srgb,var(--world-brass) 24%,transparent)}.button--primary{border-color:var(--world-brass);background:var(--world-brass);color:#0a0b0d;font-weight:600}.button--primary:hover{background:var(--world-brass-bright);border-color:var(--world-brass-bright)}.button--danger{border-color:color-mix(in srgb,var(--world-crimson) 40%,transparent);background:color-mix(in srgb,var(--world-crimson) 14%,transparent);color:var(--world-crimson)}.button--ghost{background:transparent}.segmented-control{display:inline-grid;grid-auto-flow:column;gap:0;overflow:hidden;border:1px solid var(--world-border-warm);border-radius:var(--radius-md)}.segmented-control button{border:0;border-right:1px solid var(--world-border);border-radius:0;padding:0 12px}.segmented-control button:last-child{border-right:0}.segmented-control .is-selected{background:color-mix(in srgb,var(--world-brass) 18%,transparent);color:var(--world-brass-bright)}.city-compare,.image-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.image-frame{overflow:hidden;aspect-ratio:16 / 9;border:1px solid var(--world-border);border-radius:var(--radius-md);background:var(--world-bg-deep)}.image-frame img{width:100%;height:100%;object-fit:cover}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:var(--space-5);background:#0000008c;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%)}.modal-panel{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:var(--space-5)}.modal-title{font-size:26px;line-height:1.1}.divider{height:1px;margin:var(--space-4) 0;border:0;background:var(--world-border-warm)}@media(max-width:1080px){.world-main{grid-template-columns:1fr}.panel-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.world-shell{padding:var(--space-3)}.world-topbar,.scene-header,.panel-header,.composer,.city-compare,.image-compare,.panel-stack{grid-template-columns:1fr}.scene-stage{min-height:280px}.brand-title{font-size:26px}.scene-title{font-size:24px}.npc-card,.location-card,.pending-card{grid-template-columns:56px minmax(0,1fr)}.npc-portrait{width:56px;height:56px}}:root{color-scheme:dark;color:#e8eaed;background:#0a0b0d;font-family:Inter,Inter Variable,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"ss01","cv11";font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink: #0a0b0d;--panel: #131519;--panel-2: #1a1d23;--paper: #e8eaed;--muted: #9aa0a8;--dim: #6b7079;--line: rgba(255, 255, 255, .07);--line-warm: rgba(255, 255, 255, .14);--shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 12px 36px rgba(0, 0, 0, .5);--ember: #f87171;--moss: #4ade80;--teal: #60a5fa;--chrome-display: "Inter", "Inter Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--chrome-display-weight: 600;--chrome-display-tracking: -.02em;--brass: #d4d4d8;--brass-bright: #f4f4f5;--display: "Inter", "Inter Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display-weight: 600;--display-tracking: -.02em;--radius: 8px;--radius-lg: 12px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--paper);background:var(--ink);letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:4px}.boot-screen{min-height:100vh;display:grid;place-content:center;gap:18px;color:var(--paper)}.boot-lockup{display:inline-flex;align-items:center;justify-content:center;gap:16px}.boot-lockup strong{color:var(--paper);font-family:var(--chrome-display);font-size:36px;font-weight:var(--chrome-display-weight);letter-spacing:var(--chrome-display-tracking)}.boot-mark{width:72px;height:72px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);color:var(--paper);border-radius:var(--radius-lg);font-family:var(--chrome-display);font-size:28px;font-weight:var(--chrome-display-weight)}.boot-logo{width:72px;height:72px;border:0;background:transparent;border-radius:0;object-fit:contain}.boot-error{display:grid;justify-items:center;gap:10px;max-width:360px;text-align:center;color:var(--paper)}.boot-error strong{font-family:var(--chrome-display);font-size:18px}.boot-error span{color:var(--muted, var(--paper));font-size:14px;opacity:.85}.boot-retry{margin-top:4px;padding:8px 18px;border:1px solid var(--line);background:var(--panel);color:var(--paper);border-radius:var(--radius-lg);font:inherit;cursor:pointer}.boot-retry:hover{border-color:var(--paper)}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--ink)}.auth-panel{width:min(420px,100%);display:grid;gap:20px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}.auth-brand,.session-actions{display:inline-flex;align-items:center;gap:10px}.auth-brand{width:100%}.auth-brand>span{min-width:0}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{color:var(--paper);font-family:var(--chrome-display);font-size:20px;font-weight:var(--chrome-display-weight);letter-spacing:var(--chrome-display-tracking)}.auth-brand small,.auth-copy p,.auth-form span,.auth-message,.session-actions span{color:var(--muted)}.auth-copy{display:grid;gap:6px}.auth-copy h1{margin:0;color:var(--paper);font-family:var(--chrome-display);font-size:30px;font-weight:var(--chrome-display-weight);letter-spacing:var(--chrome-display-tracking);line-height:1.1}.auth-copy p,.auth-message{margin:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:var(--radius);background:var(--ink)}.auth-tabs button{min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-weight:500;transition:background .12s ease,color .12s ease}.auth-tabs button:hover{color:var(--paper)}.auth-tabs button.active{background:var(--panel-2);color:var(--paper)}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px}.auth-form input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--ink);color:var(--paper);transition:border-color .12s ease,box-shadow .12s ease}.auth-form input:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px color-mix(in srgb,var(--brass) 22%,transparent)}.auth-close{margin-left:auto}.auth-modal-scrim{z-index:120}.session-actions{margin-left:auto;justify-content:flex-end}.session-actions .ghost-button{min-height:34px;padding:7px 10px}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.app-shell.setup-theme-night{--ink: #080b12;--panel: #101725;--panel-2: #172033;--paper: #edf4ff;--muted: #9fb1ca;--dim: #6b7c96;--line: rgba(157, 187, 232, .1);--line-warm: rgba(157, 187, 232, .2);--brass: #7dd3fc;--brass-bright: #bae6fd;--world-bg: #080b12;--world-bg-elevated: #101725;--world-bg-soft: #172033;--world-bg-deep: #05070c;--world-border: rgba(157, 187, 232, .1);--world-border-warm: rgba(157, 187, 232, .2);--world-text: #edf4ff;--world-text-muted: #9fb1ca;--world-text-dim: #6b7c96;--world-brass: #7dd3fc;--world-brass-bright: #bae6fd}.app-shell.setup-theme-parchment{--ink: #15120e;--panel: #211c16;--panel-2: #2d261d;--paper: #f6ead8;--muted: #c9b9a4;--dim: #8b7b68;--line: rgba(246, 234, 216, .1);--line-warm: rgba(246, 234, 216, .2);--brass: #d6a35c;--brass-bright: #f0c987;--world-bg: #15120e;--world-bg-elevated: #211c16;--world-bg-soft: #2d261d;--world-bg-deep: #0f0c09;--world-border: rgba(246, 234, 216, .1);--world-border-warm: rgba(246, 234, 216, .2);--world-text: #f6ead8;--world-text-muted: #c9b9a4;--world-text-dim: #8b7b68;--world-brass: #d6a35c;--world-brass-bright: #f0c987}.app-shell.setup-theme-terminal{--ink: #050806;--panel: #0b130e;--panel-2: #101c14;--paper: #e8ffe9;--muted: #93c49a;--dim: #5f8466;--line: rgba(126, 211, 33, .12);--line-warm: rgba(126, 211, 33, .24);--brass: #86efac;--brass-bright: #bbf7d0;--world-bg: #050806;--world-bg-elevated: #0b130e;--world-bg-soft: #101c14;--world-bg-deep: #030503;--world-border: rgba(126, 211, 33, .12);--world-border-warm: rgba(126, 211, 33, .24);--world-text: #e8ffe9;--world-text-muted: #93c49a;--world-text-dim: #5f8466;--world-brass: #86efac;--world-brass-bright: #bbf7d0}.app-shell.setup-focus-rendering .topbar-world{min-height:46px;padding-block:6px;background:color-mix(in srgb,var(--ink) 92%,transparent)}.app-shell.setup-focus-rendering .world-nav-tabs,.app-shell.setup-focus-rendering .session-actions{opacity:.72}.app-shell.setup-focus-rendering .world-nav-tabs:hover,.app-shell.setup-focus-rendering .world-nav-tabs:focus-within,.app-shell.setup-focus-rendering .session-actions:hover,.app-shell.setup-focus-rendering .session-actions:focus-within{opacity:1}.topbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--ink) 80%,transparent);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.brand-logo{width:32px;height:32px;display:block;object-fit:contain}.brand-mark,.npc-sigil{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel-2);color:var(--paper);border-radius:var(--radius);font-family:var(--chrome-display);font-size:16px;font-weight:var(--chrome-display-weight)}.brand strong{color:var(--paper);font-family:var(--chrome-display);font-size:16px;font-weight:var(--chrome-display-weight);letter-spacing:var(--chrome-display-tracking)}.brand strong,.brand small{display:block}.brand small,.scene-clock,.location-row small,.empty-slot small,.npc-copy small,.bubble-meta small{color:var(--muted)}.scene-clock{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.scene-clock span{padding:5px 9px;border:1px solid var(--line);background:#ffffff08}.play-status-bar{width:min(1160px,calc(100% - 48px));margin:12px auto 0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:14px}.play-status-bar>span{padding:7px 10px;border:1px solid var(--line);background:#ffffff08}.play-status-bar .ghost-button{min-height:35px}.save-menu{position:relative;display:inline-flex;justify-content:flex-end}.save-menu-toggle{min-width:92px}.save-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(380px,calc(100vw - 32px));display:grid;gap:8px;padding:10px;border:1px solid rgba(196,146,90,.42);border-radius:var(--radius-lg);background:#0b0806f7;box-shadow:0 22px 64px #0000009e}.save-slot-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff09}.save-slot-row div{min-width:0;display:grid;gap:3px}.save-slot-row strong,.save-slot-row span,.save-slot-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-slot-row strong{color:var(--text);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.save-slot-row span{color:var(--muted);font-size:13px}.save-slot-row small{color:var(--faint);font-size:11px}.save-slot-actions{display:inline-flex;gap:6px}.save-slot-actions button{min-height:30px;border:1px solid rgba(249,217,142,.28);background:#ffffff0a;color:var(--text);cursor:pointer;padding:5px 9px;font-size:12px;font-weight:800}.save-slot-actions button:hover:not(:disabled),.save-slot-actions button:focus-visible:not(:disabled){border-color:#f9d98ea3;outline:none}.save-slot-actions button:disabled{cursor:not-allowed;opacity:.45}.offline-pill{color:#f1d99f;border-color:#c79b5273!important}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboard-trigger span{display:inline-grid;min-width:22px;height:22px;place-items:center;border:1px solid rgba(224,168,104,.55);border-radius:999px;color:var(--brass-bright);font-size:12px}.primary-button,.secondary-button,.ghost-button,.demo-controls button,.chat-form button{min-height:36px;border:1px solid transparent;border-radius:var(--radius);padding:8px 14px;font-weight:500;letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,background .12s ease,color .12s ease}.dashboard-trigger{gap:8px}.dashboard-trigger span{min-width:22px;height:22px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--panel-2);color:var(--paper);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}.primary-button{background:var(--paper);color:var(--ink);border-color:var(--paper);font-weight:600}.secondary-button{background:var(--panel-2);color:var(--paper);border-color:var(--line-warm)}.ghost-button,.demo-controls button{background:transparent;border-color:var(--line);color:var(--paper)}.primary-button:hover{background:#fff;border-color:#fff}.secondary-button:hover,.ghost-button:hover,.demo-controls button:hover,.chat-form button:hover{border-color:var(--line-warm);background:var(--panel-2)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.demo-controls button:disabled,.chat-form button:disabled{opacity:.55;cursor:not-allowed}.map-layout{min-height:calc(100vh - 56px);display:grid;align-content:start;justify-items:center;gap:14px;padding:24px 18px 28px;background:var(--ink)}.map-intro,.world-map-frame,.map-footer{width:min(1180px,100%)}.map-intro{display:flex;align-items:end;justify-content:space-between;gap:18px}.map-intro-copy{min-width:0;display:grid;gap:7px}.map-intro h1{margin:0;color:var(--brass-bright);font-family:var(--display);font-size:58px;font-weight:600;line-height:.95}.map-intro p{max-width:96ch;margin:0;color:#d9ccb6;line-height:1.48}.map-controls{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.map-detail-tabs,.map-zoom-controls,.map-major-limit{min-height:38px;display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#0f0a0657}.map-detail-tabs button,.map-zoom-controls button,.map-focus-strip button{min-height:36px;border:0;border-right:1px solid var(--line);background:transparent;color:#d8cbb5;cursor:pointer;padding:8px 11px;font-size:13px;font-weight:800}.map-detail-tabs button:last-child,.map-zoom-controls button:last-child{border-right:0}.map-detail-tabs button.active,.map-focus-strip button.active{color:#fff0c2;background:#c4925a2e}.map-zoom-controls button:disabled{opacity:.42;cursor:not-allowed}.map-zoom-controls span{min-width:54px;padding:0 10px;color:var(--brass-bright);font-size:13px;font-weight:900;text-align:center}.map-major-limit{gap:8px;padding:7px 10px;color:var(--muted);font-size:12px}.map-major-limit strong{color:var(--brass-bright);font-size:13px}.map-create-pin{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:#0f0a0657;color:#f1dfb3;font-family:var(--display, inherit);font-size:13px;font-weight:700;letter-spacing:.3px;cursor:pointer;user-select:none;-webkit-user-select:none}.map-create-pin:hover,.map-create-pin:focus-visible{border-color:var(--brass-bright, #c4925a);background:#c4925a2e;outline:none}.map-create-pin.active{border-color:var(--brass-bright, #c4925a);background:#c4925a47;color:#fff0c2}.world-map-frame.arming,.world-map-frame.arming:active{cursor:copy}.map-create-pin-icon{position:relative;width:22px;height:26px;display:inline-block;pointer-events:none;color:#f4dca0}.map-create-pin-icon .map-pin-stem{top:12px;height:12px}.map-create-pin-icon .map-pin-core{position:absolute;top:0;left:50%;transform:translate(-50%);width:14px;height:14px}.map-create-pin-label{pointer-events:none}.map-create-ghost{position:fixed;z-index:9000;width:32px;height:42px;pointer-events:none;color:#f4dca0;transform:translate(-50%,-90%);filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));opacity:.85;transition:opacity .12s ease,transform .12s ease}.map-create-ghost.over{opacity:1;transform:translate(-50%,-100%) scale(1.08)}.map-create-ghost .map-pin-stem{position:absolute;top:14px;left:50%;width:1px;height:22px;background:linear-gradient(180deg,currentColor,transparent);opacity:.7;transform:translate(-50%)}.map-create-ghost .map-pin-core{position:absolute;top:0;left:50%;transform:translate(-50%);width:16px;height:16px;border:1.5px solid #14100c;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffebb400 35%,#00000080 95%),linear-gradient(150deg,#ffe0a0,#d49a3c 55%,#844d18);box-shadow:inset 0 0 0 1px #fff0c3b3,0 1px 3px #0009}.world-map-frame.drop-target{border-color:var(--brass-bright, #c4925a);box-shadow:var(--shadow),inset 0 0 0 2px #e0a8688c,0 0 0 4px #e0a8682e}.world-map-frame{position:relative;aspect-ratio:1376 / 768;overflow:hidden;border:1px solid var(--line-warm);border-radius:var(--radius-lg);background:#100d0b;box-shadow:var(--shadow);touch-action:none;cursor:crosshair}.world-map-frame:after{position:absolute;inset:0;pointer-events:none;content:"";box-shadow:inset 0 0 70px #0f0a062e,inset 0 0 0 1px #f9d98e14}.world-map-frame:active{cursor:grabbing}.world-map-canvas{position:absolute;inset:0;transform:translate3d(var(--map-pan-x),var(--map-pan-y),0) scale(var(--map-scale));transition:transform .22s ease,transform-origin .22s ease;will-change:transform}.world-map-image{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.96) contrast(1.04)}.map-crossfade{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden;background:#100d0b}.map-crossfade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.04)}.map-crossfade-before{animation:city-crossfade-before .6s ease both}.map-crossfade-after{animation:city-crossfade-after .6s ease both}.map-rendering-overlay{z-index:8}.map-pin{position:absolute;z-index:4;width:48px;height:64px;display:grid;place-items:start center;border:0;background:transparent;color:#f4dca0;cursor:pointer;padding:0;transform:translate(-50%,-50%) scale(var(--map-marker-scale, 1));transform-origin:center}.map-pin-stem{position:absolute;top:26px;left:50%;width:1px;height:22px;background:linear-gradient(180deg,currentColor,transparent);opacity:.55;transform:translate(-50%)}.map-pin-core{position:relative;z-index:1;width:18px;height:18px;border:1.5px solid #14100c;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffebb400 35%,#00000080 95%),linear-gradient(150deg,#e8b86a,#b07028 55%,#6e3e14);box-shadow:inset 0 0 0 1px #ffe6b48c,inset 0 -1px 2px #00000073,0 1px 3px #0009,0 0 0 5px #14100c66}.map-pin-core:before,.map-pin-core:after{position:absolute;background:#14100cb3;content:""}.map-pin-core:before{top:50%;left:22%;right:22%;height:1px;transform:translateY(-50%)}.map-pin-core:after{left:50%;top:22%;bottom:22%;width:1px;transform:translate(-50%)}.map-pin.current .map-pin-core{background:radial-gradient(circle at 50% 50%,#fff5c800 30%,#00000073 95%),linear-gradient(150deg,#ffe0a0,#d49a3c 55%,#844d18);box-shadow:inset 0 0 0 1px #fff0c3b3,inset 0 -1px 2px #00000073,0 1px 3px #0009,0 0 0 5px #14100c66,0 0 0 9px #e0a86838;animation:map-current-pulse 2.4s infinite ease-out}.map-pin.expansion{color:#c8bfae}.map-pin.expansion .map-pin-core{background:radial-gradient(circle at 50% 50%,#fffaf000 35%,#00000073 95%),linear-gradient(150deg,#c9c2b0,#7e7868 55%,#3a352c);box-shadow:inset 0 0 0 1px #e8dcc473,inset 0 -1px 2px #0006,0 1px 3px #0000008c,0 0 0 5px #14100c59;opacity:.92}.map-pin.accepted-region{color:#dce7c8}.map-pin.accepted-region .map-pin-core{background:radial-gradient(circle at 50% 50%,#f5ffdc00 35%,#00000073 95%),linear-gradient(150deg,#c8d896,#6e8a3e 55%,#2d3820);box-shadow:inset 0 0 0 1px #dce7c88c,inset 0 -1px 2px #0006,0 1px 3px #0000008c,0 0 0 5px #14100c66,0 0 0 9px #7a9a4a2e}.map-pin.branch-region{color:#bde8e4}.map-pin.branch-region .map-pin-core{background:radial-gradient(circle at 50% 50%,#dcfffa00 35%,#00000073 95%),linear-gradient(150deg,#9cdad4,#3e8a82 55%,#1d3a38);box-shadow:inset 0 0 0 1px #bde8e48c,inset 0 -1px 2px #0006,0 1px 3px #0000008c,0 0 0 5px #14100c66,0 0 0 9px #4eaaa233}.map-pin-label{position:absolute;top:14px;left:38px;max-width:190px;padding:3px 11px 4px;border:1px solid #14100c;border-radius:2px;background:linear-gradient(180deg,#0f0a06eb,#1c140eeb);color:#f1dfb3;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.3px;line-height:1.2;text-align:left;white-space:nowrap;box-shadow:inset 0 0 0 1px #c4925a52,0 2px #00000080,0 6px 18px #0000008c}.map-pin.label-left .map-pin-label{right:46px;left:auto;text-align:right}.map-pin.expansion .map-pin-label{border-color:#e8dcc442;color:#ddd5c8}.map-pin.accepted-region .map-pin-label{border-color:#b4d88c6b;color:#f1f8df}.map-pin.branch-region .map-pin-label{border-color:#8bdad56b;color:#eafffb}.map-pin[data-tooltip]:after{position:absolute;top:-34px;left:50%;width:max-content;max-width:230px;padding:6px 8px;border:1px solid rgba(232,220,196,.28);border-radius:var(--radius);background:#0f0a06e6;color:#f1dfc0;content:attr(data-tooltip);font-size:12px;line-height:1.2;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .16s ease,transform .16s ease}.map-expansion-site{position:absolute;z-index:3;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(249,217,142,.52);border-radius:50%;background:#0f0a06b3;color:#f9d98e;cursor:pointer;padding:0;box-shadow:0 0 0 5px #e0a8681a,0 10px 22px #00000059;transform:translate(-50%,-50%) scale(var(--map-marker-scale, 1));transform-origin:center}.map-expansion-site.focused{background:#2f3b28c7;border-color:#b4d88cad;color:#e9f7cf}.map-site-cross{position:relative;width:14px;height:14px}.map-site-cross:before,.map-site-cross:after{position:absolute;inset:6px 0 auto;height:2px;background:currentColor;content:""}.map-site-cross:after{transform:rotate(90deg)}.map-site-label{position:absolute;left:26px;top:50%;width:max-content;max-width:190px;padding:5px 8px;border:1px solid rgba(249,217,142,.34);border-radius:var(--radius);background:#0f0a06db;color:#f3e6c8;font-size:12px;font-weight:800;line-height:1.15;text-align:left;opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity .14s ease,transform .14s ease;white-space:normal}.map-expansion-site:hover,.map-expansion-site:focus-visible{border-color:#fff1b6;filter:brightness(1.08)}.map-expansion-site:hover .map-site-label,.map-expansion-site:focus-visible .map-site-label{opacity:1;transform:translate(4px,-50%)}.map-pin:hover .map-pin-core,.map-pin:focus-visible .map-pin-core{border-color:#fff1b6;filter:brightness(1.1)}.map-pin:hover:after,.map-pin:focus-visible:after{opacity:1;transform:translate(-50%)}.map-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.map-focus-strip{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:4px;overflow-x:auto}.map-focus-strip button{flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius);background:#e8dcc40d;white-space:nowrap}.map-region-count{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.map-region-count strong{display:inline-grid;min-width:34px;height:34px;place-items:center;border:1px solid rgba(224,168,104,.5);border-radius:50%;color:var(--brass-bright);background:#e0a8681a}.city-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;padding:18px;min-height:calc(100vh - 72px)}.city-art{min-height:620px;position:relative;overflow:hidden;border:1px solid var(--line-warm);border-radius:var(--radius-lg);background:#100d0b;box-shadow:var(--shadow)}.city-art:after{position:absolute;inset:0;pointer-events:none;content:"";box-shadow:inset 0 -210px 170px #0f0a06bd,inset 0 0 130px #0f0a0670}.city-main-image,.city-art>img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.06)}.city-main-image{animation:city-fade-in .42s ease both}.city-crossfade{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;background:#100d0b}.city-crossfade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.06)}.city-crossfade-before{animation:city-crossfade-before .6s ease both}.city-crossfade-after{animation:city-crossfade-after .6s ease both}.rendering-world-overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:24px;pointer-events:none;background:linear-gradient(180deg,#0c090652,#0c09068a),#0c09063d}.rendering-world-status{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:12px 16px;border:1px solid rgba(249,217,142,.58);border-radius:var(--radius);background:#0f0a06d1;color:#fff0c2;box-shadow:0 16px 46px #0000007a}.rendering-world-status strong{font-size:15px;overflow-wrap:anywhere}.render-spinner{width:24px;height:24px;border:2px solid rgba(249,217,142,.28);border-top-color:#f9d98ef5;border-radius:50%;animation:render-spin .78s linear infinite}.cached-preview-badge{position:absolute;top:16px;right:16px;z-index:7;padding:6px 9px;border:1px solid rgba(224,168,104,.58);border-radius:var(--radius);background:#0f0a06cc;color:#f9d98e;font-size:12px;font-weight:800}.city-sub-pin{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:#f4dca0;cursor:pointer;padding:0;transform:translate(-50%,-50%)}.city-sub-pin.label-left{flex-direction:row-reverse}.city-sub-pin-dot{position:relative;width:14px;height:14px;border:1.5px solid #14100c;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffebb400 35%,#00000080 95%),linear-gradient(150deg,#e8b86a,#b07028 55%,#6e3e14);box-shadow:inset 0 0 0 1px #ffe6b48c,inset 0 -1px 2px #00000073,0 1px 3px #0009,0 0 0 4px #14100c73}.city-sub-pin-dot:before,.city-sub-pin-dot:after{position:absolute;background:#14100cb3;content:""}.city-sub-pin-dot:before{top:50%;left:22%;right:22%;height:1px;transform:translateY(-50%)}.city-sub-pin-dot:after{left:50%;top:22%;bottom:22%;width:1px;transform:translate(-50%)}.city-sub-pin-label{max-width:min(260px,30vw);padding:3px 11px 4px;border:1px solid #14100c;border-radius:2px;background:linear-gradient(180deg,#0f0a06eb,#1c140eeb);color:#f1dfb3;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.3px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 0 0 1px #c4925a59,0 2px #00000080,0 6px 18px #0000008c}.city-sub-pin.active{z-index:4}.city-sub-pin.active .city-sub-pin-dot{background:radial-gradient(circle at 50% 50%,#fff5c800 30%,#00000073 95%),linear-gradient(150deg,#ffe0a0,#d49a3c 55%,#844d18);box-shadow:inset 0 0 0 1px #fff0c3b3,inset 0 -1px 2px #00000073,0 1px 3px #0009,0 0 0 4px #14100c73,0 0 0 8px #e0a86838}.city-sub-pin.active .city-sub-pin-label{border-color:#e0a868b3;background:linear-gradient(180deg,#34220ff2,#24180cf2);color:#fff0c2}.city-sub-pin:hover .city-sub-pin-dot,.city-sub-pin:focus-visible .city-sub-pin-dot{filter:brightness(1.12)}.city-sub-pin:hover .city-sub-pin-label,.city-sub-pin:focus-visible .city-sub-pin-label{border-color:#e0a86899}.city-reveal-overlay{position:absolute;inset:18px;z-index:5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;border:1px solid rgba(249,217,142,.58);background:#0a0806d6;box-shadow:0 18px 60px #0000009e;animation:reveal-pop 3.1s ease both}.reveal-frame{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(239,225,200,.2);background:#100d0b}.reveal-frame img{width:100%;height:100%;min-height:360px;object-fit:cover}.reveal-frame span{position:absolute;top:12px;left:12px;z-index:2;padding:6px 9px;background:#15110edb;border:1px solid rgba(239,225,200,.28);color:#f9d98e;font-weight:800}.reveal-frame.after{border-color:#6d8a58e0;box-shadow:0 0 0 3px #6d8a582e}.reveal-camp-ring,.camp-pulse{position:absolute;left:25%;top:73%;width:15%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;border:3px solid rgba(249,217,142,.98);box-shadow:0 0 0 8px #c79b5233,0 0 34px #f9d98eb8}.camp-pulse{z-index:4;width:11%;border-radius:50%;animation:camp-pulse 2.4s ease-out both}.camp-pulse span{position:absolute;inset:18%;border:1px solid rgba(249,217,142,.72);border-radius:50%}.city-main-image{transition:opacity .32s ease,transform .52s ease}.city-art.reveal-active .city-main-image,.city-art.rendering-active .city-main-image{opacity:.22;transform:scale(1.01)}.camp-pulse{position:absolute;left:20%;top:70%;z-index:2;width:58px;height:58px;transform:translate(-50%,-50%);border:2px solid rgba(224,168,104,.95);border-radius:50%;box-shadow:0 0 0 8px #c4925a26}.camp-pulse span{position:absolute;inset:-11px;border:1px solid rgba(224,168,104,.45);border-radius:50%;animation:camp-ring 1.7s infinite ease-out}.city-reveal-overlay{position:absolute;inset:16px;z-index:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:center;padding:14px;border:1px solid rgba(249,217,142,.5);background:#0a0806d6;box-shadow:0 18px 60px #0000009e;pointer-events:none}.reveal-frame{position:relative;overflow:hidden;min-height:0;aspect-ratio:16 / 9;border:1px solid var(--line-warm);border-radius:var(--radius);background:var(--ink);box-shadow:0 16px 46px #0000007a}.reveal-frame span{position:absolute;top:10px;left:10px;z-index:1;padding:5px 9px;border:1px solid rgba(224,168,104,.62);border-radius:var(--radius);background:#0f0a06d6;color:var(--brass-bright);font-size:13px;font-weight:800}.reveal-frame img{width:100%;height:100%;min-height:0;object-fit:cover}.reveal-frame.after{border-color:#7a9a4ab8;box-shadow:0 0 0 3px #7a9a4a29,0 18px 48px #00000085}.reveal-camp-ring{position:absolute;left:20%;top:70%;width:62px;height:62px;transform:translate(-50%,-50%);border:3px solid rgba(249,217,142,.98);border-radius:50%;box-shadow:0 0 0 8px #c4925a33,0 0 34px #f9d98eb8}.city-caption{position:absolute;z-index:1;left:26px;right:26px;bottom:24px;max-width:760px;padding:0;text-shadow:0 2px 18px rgba(0,0,0,.88)}.city-parent-button,.city-overview-button{margin:0 0 12px;padding:7px 10px;border:1px solid rgba(224,168,104,.58);border-radius:var(--radius);background:#0f0a06c2;color:var(--brass-bright);cursor:pointer;font-size:13px;font-weight:800;text-shadow:none}.city-parent-button{margin-right:8px}.city-parent-button+.city-overview-button{margin-left:0}.city-parent-button:hover,.city-parent-button:focus-visible,.city-overview-button:hover,.city-overview-button:focus-visible{background:#34220fe6}.city-caption h1,.scene-header h1{margin:0 0 8px;font-family:var(--display);font-size:64px;font-weight:600;line-height:.98;letter-spacing:0}.city-caption p,.scene-header p{max-width:78ch;margin:0 0 18px;color:#f4ead9;line-height:1.55}.city-panel,.chat-column{border-left:1px solid var(--line);background:#1f1812f0}.city-panel{padding:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--paper)}.location-list{display:grid;gap:10px}.location-preview{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:10px;border:1px solid rgba(199,155,82,.44);border-radius:var(--radius);background:#f4ead90f}.location-preview img{width:120px;aspect-ratio:16 / 9;object-fit:cover;border-radius:calc(var(--radius) - 2px);border:1px solid rgba(244,234,217,.14)}.location-preview div{min-width:0;display:grid;gap:4px}.location-preview strong,.location-preview span{overflow-wrap:anywhere}.location-preview strong{color:var(--paper)}.location-preview span{color:var(--muted);font-size:12px;text-transform:capitalize}.location-row,.empty-slot{width:100%;min-height:72px;display:grid;grid-template-columns:72px minmax(0,1fr);align-content:center;align-items:center;gap:5px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#f4ead90d;cursor:pointer}.location-row img{grid-row:span 3;width:72px;aspect-ratio:16 / 9;object-fit:cover;border-radius:calc(var(--radius) - 2px);border:1px solid rgba(244,234,217,.12)}.location-row.active{border-color:#c79b52c7;background:#c79b521f}.location-row.contributed{border-color:#7a9a4ab3;background:#7a9a4a1f}.location-row.location-pulse{box-shadow:0 0 0 3px #e0a86829;animation:location-glow 2.4s ease-out both}.location-row em{color:var(--brass-bright);font-size:12px;font-style:normal}.empty-slot{border-style:dashed;color:#d8c291;background:#6d8a5814}.tavern-layout{display:grid;grid-template-columns:minmax(480px,1.15fr) minmax(380px,.85fr);gap:0;min-height:calc(100vh - 72px)}.scene-column{display:grid;grid-template-rows:auto minmax(300px,1fr) auto;min-width:0;padding:18px;gap:14px}.scene-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.scene-header h1{font-size:42px}.scene-header p{color:#d9ccb6;margin-bottom:0}.scene-tag{padding:6px 10px;color:#dce7c8;border:1px solid rgba(109,138,88,.72);background:#6d8a5829;white-space:nowrap}.scene-frame{position:relative;min-height:360px;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--line-warm);border-radius:var(--radius-lg);background:#0c0a08;box-shadow:var(--shadow)}.scene-frame:after{position:absolute;inset:0;pointer-events:none;content:"";box-shadow:inset 0 0 90px #0f0a0657}.scene-frame img{width:100%;height:100%;display:block;object-fit:cover}.hotspot{position:absolute;transform:translate(-50%,-50%);width:42px;height:42px;border:1px solid rgba(249,217,142,.88);background:#15110ebd;color:#ffe6a4;display:grid;place-items:center;cursor:pointer;border-radius:50%;box-shadow:0 0 0 6px #c79b521f,0 8px 24px #0000007a}.scene-frame .hotspot:before{content:none}.hotspot span{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(249,217,142,.42);border-radius:50%;font-family:var(--display)}.hotspot.selected{background:#a94f37e6;box-shadow:0 0 0 7px #a94f372e,0 8px 24px #0000008c}.npc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.npc-card{min-height:132px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:10px 12px;padding:12px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#f4ead90f;cursor:pointer;box-shadow:0 8px 24px #00000038}.npc-card.selected{border-color:#c79b52d1;background:#c79b5221;box-shadow:0 0 0 3px #c79b521f,0 12px 32px #0000004d}.npc-copy{min-width:0;display:grid;gap:4px}.npc-copy strong,.location-row span,.empty-slot span{overflow-wrap:anywhere}.npc-tone{color:#aabf96;font-size:12px}.npc-state{grid-column:1 / -1;display:grid;gap:7px}.mood-badge,.trust-label{width:fit-content;max-width:100%;padding:5px 8px;font-size:13px;font-weight:800;line-height:1;border:1px solid var(--line);border-radius:var(--radius);background:#0000002e;color:#e9d5b2}.trust-label{color:#e4f0cc;border-color:#6d8a589e;background:#52673c42}.trust-track{height:9px;border:1px solid rgba(239,225,200,.16);background:#00000057;border-radius:999px;overflow:hidden}.trust-track span{display:block;height:100%;background:linear-gradient(90deg,var(--ember),var(--brass),var(--moss));box-shadow:0 0 14px #e0a86870;transition:width .52s ease}.npc-state:has(.trust-track span[style*="34%"]) .trust-label{color:#f0c9b6;border-color:#a94f37ad;background:#a94f372e}.npc-state:has(.trust-track span[style*="58%"]) .trust-label{color:#f4e8bc;border-color:#e0a868d1;background:#c4925a38;box-shadow:0 0 0 2px #e0a8681a}.trust-track span[style*="58%"],.trust-track span[style*="62%"],.trust-track span[style*="78%"],.trust-track span[style*="96%"]{background:linear-gradient(90deg,#a94f37,#e0a868 58%,#94b86a);box-shadow:0 0 18px #f9d98e94}.chat-column{min-width:0;display:grid;grid-template-rows:auto minmax(320px,1fr) auto auto;gap:12px;padding:18px}.demo-controls{display:flex;gap:8px;flex-wrap:wrap}.demo-controls button{flex:1 1 150px;min-width:0;text-wrap:balance}.chat-log{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.bubble{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#f4ead913;box-shadow:0 10px 28px #0003}.bubble.player{margin-left:46px;border-color:#6f8ca694;background:#6f8ca61f}.bubble.npc{margin-right:28px;border-left:3px solid rgba(224,168,104,.72);background:#2a201ad1}.bubble.system{color:#d8cbb5;background:#00000029}.bubble.pending{color:#f1d99f;border-color:#e0a86894;border-style:dashed;background:#c4925a1a}.bubble-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.bubble-meta span{color:#f7d88f;font-size:15px;font-weight:900}.bubble-meta small{padding:3px 7px;border:1px solid rgba(224,168,104,.32);border-radius:999px;background:#0f0a065c;color:#d9ccb6;font-size:12px;white-space:nowrap}.bubble p{margin:0;font-size:15.5px;line-height:1.6;color:#f3e5ca;overflow-wrap:anywhere}.bubble .bubble-action{color:#d3c2a6;font-style:italic;margin-bottom:6px}.bubble em{color:#d3c2a6}.gm-debug{border:1px solid var(--line);border-radius:var(--radius);background:#0000002e;color:#d8cbb5}.gm-debug summary{cursor:pointer;padding:10px 12px;color:#ecd09a}.gm-debug p{margin:0;padding:0 12px 12px;line-height:1.5}.gm-state-row{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}.gm-state-row span{padding:4px 7px;border:1px solid rgba(196,146,90,.36);border-radius:var(--radius);color:#ecd09a;background:#c4925a14;font-size:.78rem}.gm-consequences{margin:0;padding:0 12px 10px 28px;color:#d8cbb5;font-size:.82rem;line-height:1.45}.safety-flags{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 12px}.safety-flags span{padding:4px 7px;border:1px solid rgba(169,79,55,.55);border-radius:var(--radius);color:#f2c3b3;background:#a94f371f;font-size:12px}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.chat-form input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#00000047;color:var(--paper);padding:10px 12px}.chat-form input::placeholder{color:#efe1c87a}.scene-view{position:relative;min-height:calc(100vh - 72px);display:flex;flex-direction:column;align-items:center;gap:14px;overflow:visible;padding:16px 24px 20px;background:radial-gradient(circle at 50% 10%,rgba(74,138,138,.13),transparent 34%),linear-gradient(180deg,#100b08c2,#090706)}.scene-view:before{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(5,3,2,.34),transparent 18%,transparent 82%,rgba(5,3,2,.34)),radial-gradient(circle at 50% 108%,rgba(196,146,90,.12),transparent 38%);z-index:1}.scene-stage,.scene-dock{position:relative;z-index:2;width:100%;max-width:1240px}.scene-stage{display:grid;gap:12px;min-width:0;min-height:0;aspect-ratio:auto;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.scene-stage:after{display:none}.scene-dock{display:grid;gap:10px;min-width:0}.scene-hud-wrap{position:relative;z-index:3;display:grid;gap:6px}.scene-hud{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:6px 10px;border:1px solid rgba(196,146,90,.36);border-radius:var(--radius);background:linear-gradient(90deg,#1c130cf0,#120d09db 60%,#1c130cf0),var(--panel);box-shadow:0 6px 18px #00000052,inset 0 0 0 1px #f9d98e0d}.scene-hud-lower{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.scene-hud-lower .card-slot{pointer-events:auto}.scene-hud-identity{display:flex;align-items:baseline;gap:10px;min-width:0}.scene-hud-name{color:#f7d890eb;font-family:var(--display);font-size:clamp(13px,1.1vw,15px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.scene-hud-crowns{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid rgba(249,217,142,.32);border-radius:999px;background:#08060599;color:#f7d890;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em}.scene-hud-crown-glyph{font-size:13px;line-height:1}.scene-hud-crowns-label{color:#f9d98e99;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.scene-hud-status{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}.scene-hud-status-chip{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid rgba(196,146,90,.34);border-radius:4px;background:#1f1812b3;color:#d8cbb5;font-size:11px;letter-spacing:.03em;text-transform:lowercase}.scene-hud-bars{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;list-style:none}.scene-hud-bar{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.03em;color:#d8cbb5}.scene-hud-bar-label{text-transform:uppercase;font-weight:700;font-size:10px;letter-spacing:.08em}.scene-hud-bar-meter{display:inline-block;position:relative;width:86px;height:8px;background:#1c1610c7;border:1px solid rgba(196,146,90,.28);border-radius:4px;overflow:hidden}.scene-hud-bar-fill{display:block;height:100%;background:#b94646;transition:width .22s ease}.scene-hud-bar-pips{letter-spacing:.12em;font-variant-numeric:tabular-nums;color:#f7d890}.scene-hud-bar-numeric{font-variant-numeric:tabular-nums;color:#f7d890}.scene-hud-buttons{display:flex;align-items:center;gap:6px;margin-left:auto}.social-feed-scene{display:flex;flex-direction:column;gap:16px;padding:24px;max-width:720px;margin:0 auto;color:#d8cbb5}.social-feed-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid rgba(196,146,90,.24)}.social-feed-identity{display:flex;flex-direction:column}.social-feed-handle{font-size:12px;color:#d8cbb5b3}.social-feed-body{display:flex;flex-direction:column;gap:16px}.social-feed-contacts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.social-feed-contact{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border:1px solid rgba(196,146,90,.24);border-radius:6px;background:#1c1610b3}.social-feed-contact-handle{color:#d8cbb5b3;font-size:12px}.social-feed-empty,.social-feed-notice{padding:12px 14px;border:1px dashed rgba(196,146,90,.3);border-radius:6px;color:#d8cbb5c7;font-size:13px}.social-feed-notice{border-style:solid;background:#4a311c6b}.virtual-tabletop-scene{min-height:calc(100vh - 72px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:16px 18px;background:linear-gradient(180deg,#0e1212f5,#0a0908),var(--bg);color:#e9dfcc}.vtt-header,.vtt-action-area,.vtt-map-frame,.vtt-sidebar>section,.vtt-sidebar>.card-slot,.vtt-sidebar>.card-placement-fallback{border:1px solid rgba(201,167,104,.28);border-radius:8px;background:#161411d1;box-shadow:0 14px 36px #0000003d}.vtt-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px}.vtt-location-label{min-width:0}.vtt-location-label span,.vtt-sheet-head span,.vtt-selected-panel>span,.vtt-log>span,.vtt-dice-result span,.vtt-compact-list>span{display:block;color:#c9a768c7;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.vtt-location-label h1,.vtt-sheet h2,.vtt-selected-panel h2{margin:2px 0 0;color:#fff2cf;font-family:var(--display);letter-spacing:0}.vtt-location-label h1{font-size:clamp(19px,2vw,30px)}.vtt-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.vtt-utility-button{padding:6px 10px;border:1px solid rgba(201,167,104,.32);border-radius:6px;background:#0c0b0ab8;color:#f5d99a;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.vtt-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:12px;min-height:0}.vtt-map-panel,.vtt-sidebar{min-width:0;min-height:0}.vtt-map-frame{position:relative;min-height:min(58vh,680px);height:100%;overflow:hidden;background:linear-gradient(135deg,#4859506b,#261e15a8),#161411}.vtt-map-image,.vtt-map-placeholder,.vtt-map-grid{position:absolute;inset:0}.vtt-map-image{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(.92) brightness(.68)}.vtt-map-placeholder{display:grid;place-items:center;color:#fff2cfc2;font-family:var(--display);font-size:clamp(26px,5vw,54px);text-align:center}.vtt-map-image+.vtt-map-placeholder{opacity:0}.vtt-map-grid{opacity:.22;background-image:linear-gradient(rgba(255,242,207,.26) 1px,transparent 1px),linear-gradient(90deg,rgba(255,242,207,.26) 1px,transparent 1px);background-size:48px 48px;mix-blend-mode:screen;pointer-events:none}.vtt-token,.vtt-item-token{position:absolute;z-index:2;transform:translate(-50%,-50%);cursor:pointer}.vtt-token{display:grid;justify-items:center;gap:4px;width:82px;border:0;background:transparent;color:#fff6df}.vtt-token-portrait,.vtt-token-initials{width:52px;height:52px;border:2px solid rgba(243,211,148,.86);border-radius:50%;background:#20252b;box-shadow:0 8px 20px #0000006b}.vtt-token-portrait{object-fit:cover}.vtt-token-initials{display:grid;place-items:center;color:#f7d890;font-family:var(--display);font-size:17px;font-weight:800}.vtt-token-label,.vtt-item-token span:last-child{max-width:96px;padding:2px 6px;border-radius:4px;background:#080706c7;color:#fff2cf;font-size:10px;font-weight:800;line-height:1.2;overflow-wrap:anywhere;text-align:center}.vtt-token.selected .vtt-token-portrait,.vtt-token.selected .vtt-token-initials{border-color:#68c7bd;box-shadow:0 0 0 4px #68c7bd33,0 10px 24px #0000007a}.vtt-token.pending .vtt-token-portrait,.vtt-token.pending .vtt-token-initials{outline:3px solid rgba(216,94,75,.54);outline-offset:2px}.vtt-item-token{display:flex;align-items:center;gap:5px;max-width:150px;border:1px solid rgba(104,199,189,.42);border-radius:999px;padding:4px 7px;background:#0c181ac2;color:#d8f4f0;font-size:10px;font-weight:800}.vtt-item-token span:first-child{color:#68c7bde6;text-transform:uppercase}.vtt-sidebar{display:flex;flex-direction:column;gap:10px;overflow:auto}.vtt-sidebar>section,.vtt-sidebar>.card-slot,.vtt-sidebar>.card-placement-fallback{padding:10px}.vtt-sheet{display:grid;gap:10px}.vtt-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.vtt-sheet-head h2{font-size:20px}.vtt-sheet-head strong{color:#f6d98c;font-size:12px;white-space:nowrap}.vtt-bars{display:grid;gap:6px}.vtt-bar{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:7px;color:#ded1bd;font-size:11px}.vtt-bar-track{height:8px;overflow:hidden;border-radius:4px;background:#ffffff14}.vtt-bar-fill{height:100%}.vtt-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vtt-stat{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff0a}.vtt-stat span{color:#e9dfccc7;font-size:10px;text-transform:uppercase}.vtt-stat strong{color:#fff2cf;font-variant-numeric:tabular-nums}.vtt-sheet-lists{display:grid;gap:8px}.vtt-compact-list ul,.vtt-log ol{display:grid;gap:5px;margin:6px 0 0;padding:0;list-style:none}.vtt-compact-list li,.vtt-compact-list p,.vtt-log p,.vtt-selected-panel p{margin:0;color:#e9dfccc7;font-size:12px;line-height:1.35}.vtt-selected-panel{display:grid;gap:7px}.vtt-selected-panel.muted{border-style:dashed}.vtt-selected-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}.vtt-selected-panel dt{color:#c9a768c7;font-size:10px;font-weight:800;text-transform:uppercase}.vtt-selected-panel dd{margin:2px 0 0;color:#fff2cf;font-size:12px}.vtt-log li{padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.07)}.vtt-log strong{color:#f6d98c;font-size:12px}.vtt-action-area{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px;padding:10px}.vtt-dice-tray{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;align-items:stretch}.vtt-dice-result{display:grid;place-items:center;border:1px solid rgba(104,199,189,.26);border-radius:6px;background:#0c181a94}.vtt-dice-result strong{color:#d8f4f0;font-size:26px;line-height:1}.vtt-dice-result small{color:#d8f4f0b3}.vtt-dice-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.vtt-dice-buttons button{min-height:32px;border:1px solid rgba(201,167,104,.3);border-radius:6px;background:#0c0b0ab8;color:#f5d99a;font-weight:800;cursor:pointer}.vtt-action-main{display:grid;gap:8px;min-width:0}.vtt-card-row{display:flex;gap:10px;justify-content:space-between}.vtt-card-row:empty{display:none}.vtt-card-row .card-slot{min-width:min(240px,100%)}@media(max-width:980px){.vtt-layout,.vtt-action-area{grid-template-columns:1fr}.vtt-map-frame{min-height:54vh}.vtt-sidebar{overflow:visible}}@media(max-width:680px){.virtual-tabletop-scene{padding:10px}.vtt-header{align-items:stretch;flex-direction:column}.vtt-header-actions{justify-content:flex-start}.vtt-map-frame{min-height:430px}.vtt-token{width:70px}.vtt-token-portrait,.vtt-token-initials{width:44px;height:44px}.vtt-dice-tray{grid-template-columns:1fr}.vtt-dice-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}}.dating-sim-scene{position:relative;min-height:min(100vh,920px);overflow:hidden;isolation:isolate;background:#050507;color:#f7efe6}.dating-sim-bg,.dating-sim-bg-scrim{position:absolute;inset:0}.dating-sim-bg{z-index:-3;width:100%;height:100%;object-fit:cover}.dating-sim-bg-scrim{z-index:-2;background:linear-gradient(90deg,#020408c7,#02040838 42%,#020408c7),linear-gradient(180deg,#0204085c,#02040814 42%,#020408e6)}.dating-sim-topbar{position:relative;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px}.dating-sim-location{min-width:0;display:grid;gap:4px;text-shadow:0 2px 12px rgba(0,0,0,.72)}.dating-sim-location span{color:#f2debec7;font-size:12px;font-weight:850;text-transform:uppercase}.dating-sim-location h1{margin:0;max-width:680px;color:#fff8ef;font-size:34px;line-height:1.06;letter-spacing:0;overflow-wrap:anywhere}.dating-sim-top-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px}.dating-sim-top-actions .divergence-hint{max-width:420px}.dating-sim-card-row{position:absolute;z-index:3;top:92px;left:22px;right:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;pointer-events:none}.dating-sim-card-row .card-slot{width:min(320px,42vw);pointer-events:auto}.dating-sim-portrait{position:absolute;z-index:1;left:50%;bottom:23vh;width:min(40vw,420px);height:min(70vh,680px);transform:translate(-50%);border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 22px 38px rgba(0,0,0,.58))}.dating-sim-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.dating-sim-portrait-placeholder{width:min(280px,58vw);height:min(420px,48vh);display:grid;place-items:center;margin:auto auto 0;border:1px solid rgba(255,232,190,.3);border-radius:8px;background:#070a1094;color:#ffe6ad;font-size:62px;font-weight:950;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dating-sim-portrait.state-warm{transform:translate(-50%) translateY(-4px) rotate(-1deg);filter:drop-shadow(0 24px 40px rgba(0,0,0,.58)) saturate(1.08) brightness(1.06)}.dating-sim-portrait.state-guarded{transform:translate(-53%) translateY(6px) scale(.98);filter:drop-shadow(0 22px 38px rgba(0,0,0,.58)) saturate(.92) contrast(1.04)}.dating-sim-portrait.state-tense{transform:translate(-47%) translateY(10px) rotate(1.2deg) scale(1.01);filter:drop-shadow(0 22px 38px rgba(0,0,0,.62)) saturate(.86) contrast(1.14)}.dating-sim-portrait.speaking{animation:dating-sim-speaking 1.4s ease-in-out infinite}.dating-sim-pose-label{position:absolute;left:50%;bottom:20px;transform:translate(-50%);border:1px solid rgba(255,236,199,.34);border-radius:999px;background:#0a0c129e;color:#fff6e8c7;padding:5px 10px;font-size:11px;font-weight:850;text-transform:uppercase}.dating-sim-relationship{position:absolute;z-index:4;top:118px;right:22px;width:min(320px,34vw);display:grid;gap:9px;border:1px solid rgba(255,232,190,.28);border-radius:8px;background:#070a10b8;padding:12px;box-shadow:0 14px 36px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dating-sim-relationship-head,.dating-sim-relationship-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dating-sim-relationship-head strong,.dating-sim-relationship-foot span{min-width:0;overflow-wrap:anywhere}.dating-sim-relationship-head span,.dating-sim-relationship-foot small{color:#eadbc4b8;font-size:12px}.dating-sim-relationship-foot{align-items:flex-start}.dating-sim-relationship-foot small{max-width:52%;text-align:right}.dating-sim-trust-track{height:9px;overflow:hidden;border:1px solid rgba(255,232,190,.18);border-radius:999px;background:#020306ad}.dating-sim-trust-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b54a55,#d9a441 54%,#65b886)}.dating-sim-cast{position:absolute;z-index:4;left:22px;bottom:calc(26vh + 16px);display:grid;gap:8px;width:min(260px,28vw)}.dating-sim-cast button{min-width:0;display:grid;gap:2px;border:1px solid rgba(255,232,190,.2);border-radius:8px;background:#070a1094;color:#fff4e4;cursor:pointer;padding:8px 10px;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dating-sim-cast button.active{border-color:#d9a441b8;background:#412b18b8}.dating-sim-cast span,.dating-sim-cast small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dating-sim-cast small{color:#efe0c8ad}.dating-sim-bottom{position:absolute;z-index:5;left:22px;right:22px;bottom:22px;display:grid;grid-template-rows:auto auto;gap:10px;min-height:24vh;transition:min-height .18s ease}.dating-sim-bottom:has(.choice-button){min-height:min(48vh,430px)}.dating-sim-dialogue{min-width:0;border:1px solid rgba(255,232,190,.28);border-radius:8px;background:#06080ed1;padding:14px 16px;box-shadow:0 18px 46px #00000061;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dating-sim-speaker{width:fit-content;max-width:100%;margin-bottom:7px;border:1px solid rgba(217,164,65,.42);border-radius:999px;background:#d9a44129;color:#ffe6ad;padding:4px 10px;font-size:13px;font-weight:900;overflow-wrap:anywhere}.dating-sim-dialogue p{margin:0;color:#fff8ee;font-size:18px;line-height:1.48;overflow-wrap:anywhere}.dating-sim-dialogue small{display:block;margin-top:8px;color:#ebddc9ad}.dating-sim-scene .input-dock{position:relative;display:grid;gap:10px;border:1px solid rgba(255,232,190,.24);border-radius:8px;background:#06080ec7;padding:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dating-sim-scene .choice-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:28vh;overflow:auto;padding:0}.dating-sim-scene .choice-strip:empty{display:none}.dating-sim-scene .choice-button{min-height:58px;border-radius:8px}.dating-sim-scene .freeform-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.dating-sim-scene .card-placement-fallback{position:absolute;z-index:6;right:22px;bottom:calc(48vh + 34px);width:min(320px,38vw)}@media(max-width:820px){.dating-sim-scene{min-height:100vh}.dating-sim-topbar{padding:14px}.dating-sim-top-actions{flex-direction:column;align-items:flex-end}.dating-sim-location h1{font-size:26px}.dating-sim-card-row,.dating-sim-relationship,.dating-sim-cast{display:none}.dating-sim-portrait{bottom:36vh;width:min(76vw,360px);height:min(50vh,440px)}.dating-sim-bottom{left:12px;right:12px;bottom:12px}.dating-sim-bottom:has(.choice-button){min-height:52vh}.dating-sim-dialogue p{font-size:16px}.dating-sim-scene .choice-strip{grid-template-columns:minmax(0,1fr);max-height:30vh}.dating-sim-scene .freeform-bar{grid-template-columns:minmax(0,1fr) auto}}.phone-screen-scene{min-height:min(calc(100vh - 78px),900px);display:grid;place-items:center;padding:clamp(14px,3vw,28px);background:radial-gradient(circle at 18% 12%,rgba(56,189,248,.16),transparent 28%),linear-gradient(145deg,#171b20,#25211b 48%,#111827)}.phone-device{width:min(100%,430px);height:clamp(480px,calc(100vh - 118px),780px);min-height:0;display:grid;grid-template-rows:34px minmax(0,1fr) 86px;overflow:hidden;border:10px solid #07090c;border-radius:34px;background:#0f1418;box-shadow:0 28px 80px #00000075,inset 0 0 0 1px #ffffff0f}.phone-status-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:0 18px;background:#05070a;color:#f1f5f9d6;font-size:12px;font-weight:800}.phone-status-bar>:last-child{justify-self:end}.phone-status-location{color:#93c5fdeb}.phone-active-screen{min-height:0;background:linear-gradient(180deg,#17202a,#10151c)}.phone-messages-screen,.phone-contacts-screen,.phone-placeholder-screen{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#e5edf4}.phone-contacts-screen,.phone-placeholder-screen{grid-template-rows:auto minmax(0,1fr)}.phone-messages-screen>.frame-region,.phone-contacts-screen>.frame-region,.phone-placeholder-screen>.frame-region{min-height:0}.phone-placeholder-screen>.frame-region{display:grid}.phone-screen-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid rgba(148,163,184,.16)}.phone-screen-header h1{margin:2px 0 0;color:#f8fafc;font-size:24px;line-height:1.1;letter-spacing:0}.phone-kicker{display:block;max-width:250px;overflow:hidden;color:#bae6fdc7;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.phone-selected-contact{flex:0 1 auto;max-width:150px;overflow:hidden;border:1px solid rgba(125,211,252,.28);border-radius:999px;background:#0ea5e91a;color:#bae6fde0;padding:6px 10px;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.phone-link-button{flex:0 0 auto;min-height:32px;border:1px solid rgba(125,211,252,.32);border-radius:999px;background:#0ea5e91f;color:#bae6fd;cursor:pointer;padding:5px 10px;font-size:12px;font-weight:850}.phone-link-button:hover,.phone-link-button:focus-visible{border-color:#7dd3fc94;background:#0ea5e933;outline:none}.phone-thread-strip{min-width:0;display:flex;gap:8px;overflow-x:auto;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.12)}.phone-thread-button{width:154px;flex:0 0 154px;min-height:56px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:#0f172aad;color:#e2e8f0;cursor:pointer;padding:8px;text-align:left}.phone-thread-button.active{border-color:#34d399a3;background:#14532d6b}.phone-thread-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#34d399);color:#04111a;font-size:12px;font-weight:950}.phone-thread-copy{min-width:0;display:grid;gap:2px}.phone-thread-copy strong,.phone-thread-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-thread-copy strong{color:#f8fafc;font-size:13px}.phone-thread-copy span{color:#cbd5e1b8;font-size:11px}.phone-message-log{min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:14px 14px 16px}.phone-message-bubble{width:fit-content;max-width:min(86%,330px);display:grid;gap:6px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:#1e293be0;padding:10px 12px}.phone-message-bubble.player{align-self:flex-end;border-color:#34d39961;background:#166534b8}.phone-message-bubble.npc{border-color:#7dd3fc42;background:#0c4a6e94}.phone-message-bubble.system,.phone-message-bubble.gm,.phone-message-bubble.contribution{align-self:center;max-width:92%;border-color:#facc153d;background:#713f1242}.phone-message-bubble header{display:flex;align-items:center;justify-content:space-between;gap:12px}.phone-message-bubble strong{color:#f8fafc;font-size:12px}.phone-message-bubble header span,.phone-message-bubble small{color:#e2e8f0ad;font-size:11px}.phone-message-bubble p{margin:0;color:#f8fafc;font-size:14px;line-height:1.42}.phone-typing-indicator,.phone-empty-state{width:fit-content;max-width:92%;display:grid;gap:4px;border:1px solid rgba(148,163,184,.16);border-radius:16px;background:#0f172ab8;color:#e2e8f0c7;padding:10px 12px;font-size:13px}.phone-empty-state{align-self:center;margin-top:30%;text-align:center}.phone-empty-state strong{color:#f8fafc}.phone-messages-screen .input-dock{position:relative;width:auto;display:grid;gap:8px;border-top:1px solid rgba(148,163,184,.14);background:#020617eb;padding:10px}.phone-messages-screen .choice-strip{display:flex;gap:6px;overflow-x:auto;padding:0}.phone-messages-screen .choice-button{min-width:144px;min-height:44px}.phone-messages-screen .freeform-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.phone-messages-screen .freeform-send-button{min-width:64px}.phone-contacts-screen .frame-npc-list-slot{height:100%;min-height:0;display:grid;align-content:start;gap:10px;overflow-y:auto;padding:14px}.phone-contacts-screen .frame-npc-list-button{min-height:62px;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:#0f172aad;color:#e2e8f0;cursor:pointer;padding:10px;text-align:left}.phone-contacts-screen .frame-npc-list-button.active{border-color:#34d399a3;background:#14532d6b}.phone-contacts-screen .frame-npc-list-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#34d399);color:#04111a;font-size:12px;font-weight:950}.phone-contacts-screen .frame-npc-list-copy{min-width:0;display:grid;gap:2px}.phone-contacts-screen .frame-npc-list-copy strong,.phone-contacts-screen .frame-npc-list-copy span,.phone-contacts-screen .frame-npc-list-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-contacts-screen .frame-npc-list-copy strong{color:#f8fafc;font-size:14px}.phone-contacts-screen .frame-npc-list-copy span,.phone-contacts-screen .frame-npc-list-copy small{color:#cbd5e1b8;font-size:11px}.phone-placeholder-card{align-self:center;justify-self:center;width:min(84%,320px);display:grid;justify-items:center;gap:10px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:#0f172aad;padding:24px 18px;text-align:center}.phone-placeholder-card strong{color:#f8fafc;font-size:18px}.phone-placeholder-card p{margin:0;color:#cbd5e1c2;font-size:14px;line-height:1.42}.phone-placeholder-glyph{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#38bdf8,#34d399);color:#03131f;font-size:22px;font-weight:950}.phone-app-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:center;border-top:1px solid rgba(148,163,184,.16);background:#07090c;padding:8px 10px 10px}.phone-app-button{min-width:0;min-height:64px;display:grid;justify-items:center;align-content:center;gap:4px;border:1px solid transparent;border-radius:16px;background:transparent;color:#e2e8f0b3;cursor:pointer;font-size:11px;font-weight:750}.phone-app-button.active{border-color:#34d39957;background:#14532d47;color:#dcfce7}.phone-app-button:hover,.phone-app-button:focus-visible{border-color:#7dd3fc4d;outline:none}.phone-app-glyph{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#1e293bf2;color:#e0f2fe;font-size:13px;font-weight:950}.phone-app-button.active .phone-app-glyph{background:linear-gradient(135deg,#38bdf8,#34d399);color:#03131f}.scene-hud-button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(249,217,142,.32);border-radius:var(--radius);background:#08060599;color:#f7d890;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:border-color .14s ease,background .14s ease,color .14s ease}.scene-hud-button:hover,.scene-hud-button:focus-visible{border-color:#f9d98eb8;background:#261810eb;outline:none}.scene-hud-button.active{border-color:#f9d98ed9;background:#4a311ceb;color:#fff1c4}.scene-hud-button-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;padding:0 5px;border-radius:999px;background:#f9d98e2e;color:#f9d98eeb;font-size:10px;font-variant-numeric:tabular-nums}.scene-hud-button.active .scene-hud-button-count{background:#f9d98e52;color:#fff1c4}.scene-hud-panel{border:1px solid rgba(196,146,90,.36);border-radius:var(--radius);padding:10px 12px;background:linear-gradient(180deg,#140e0af5,#0e0a07fa),var(--panel);color:#d8cbb5;font-size:12px;line-height:1.45;box-shadow:0 10px 22px #0000006b;max-height:220px;overflow-y:auto}.room-lobby-panel{position:fixed;z-index:45;right:20px;bottom:20px;display:grid;gap:10px;width:min(420px,calc(100vw - 40px));border:1px solid rgba(196,146,90,.34);border-radius:8px;padding:12px;background:linear-gradient(180deg,#150f0bf2,#0c0907fa),var(--panel);color:#e7d8bc;box-shadow:0 16px 38px #00000075}.room-lobby-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.room-lobby-eyebrow{display:block;margin-bottom:3px;color:#e7d8bc9e;font-size:10px;font-weight:800;letter-spacing:0;text-transform:uppercase}.room-lobby-main h2{margin:0;color:#fff1c4;font-size:16px;line-height:1.2}.room-lobby-main p{margin:5px 0 0;color:#e7d8bcbd;font-size:12px;line-height:1.35}.room-lobby-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.room-lobby-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.room-lobby-stats span{display:grid;gap:2px;min-width:0;border:1px solid rgba(249,217,142,.16);border-radius:6px;padding:7px 8px;background:#f9d98e0f;color:#e7d8bc94;font-size:10px;text-transform:uppercase}.room-lobby-stats strong{overflow:hidden;color:#f6d790;font-size:12px;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.room-switcher{border-top:1px solid rgba(249,217,142,.12);padding-top:8px}.room-switcher summary{cursor:pointer;color:#e7d8bcb8;font-size:11px;font-weight:800;text-transform:uppercase}.room-start-list{display:grid;gap:8px}.room-start-button{display:grid;gap:3px;width:100%;border:1px solid rgba(196,146,90,.24);border-radius:7px;padding:9px 10px;background:#0a070594;color:#e7d8bc;text-align:left}.room-start-button strong{color:#fff1c4}.room-start-button span,.room-start-button small{color:#e7d8bcad}.room-script-panel{position:fixed;z-index:45;left:20px;bottom:20px;width:min(360px,calc(100vw - 40px));max-height:min(420px,calc(100vh - 140px));overflow:auto;border:1px solid rgba(196,146,90,.34);border-radius:8px;background:linear-gradient(180deg,#150f0bf0,#0c0907fa),var(--panel);color:#e7d8bc;box-shadow:0 16px 38px #00000075}.room-script-panel summary{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;cursor:pointer;list-style:none;font-size:12px;font-weight:800;text-transform:uppercase;color:#f6d790}.room-script-panel summary::-webkit-details-marker{display:none}.room-script-panel summary span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid rgba(249,217,142,.24);border-radius:999px;background:#f9d98e17}.room-script-panel-section{display:grid;gap:8px;padding:0 10px 10px}.room-script-panel-section h2{margin:0;color:#e7d8bcb8;font-size:11px;text-transform:uppercase;letter-spacing:0}.room-clue-list,.room-consequence-list{display:grid;gap:8px}.room-clue,.room-consequence{border:1px solid rgba(196,146,90,.22);border-radius:7px;background:#0a070594}.room-clue{display:grid;gap:6px;padding:8px}.room-clue>div,.room-consequence{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-clue strong,.room-consequence strong{color:#fff1c4;font-size:13px;line-height:1.25}.room-clue span,.room-consequence span{flex:0 0 auto;color:#e7d8bca8;font-size:10px;font-weight:800;text-transform:uppercase}.room-clue p{margin:0;color:#e7d8bcc2;font-size:12px;line-height:1.35}.room-clue-body{padding-top:6px;border-top:1px solid rgba(249,217,142,.12);color:#f5e8ca}.room-consequence{min-height:36px;padding:7px 8px}.scene-hud-empty{margin:0;color:var(--muted);font-style:italic}.scene-hud-inventory,.scene-hud-skills,.scene-hud-tasks{display:grid;gap:8px;margin:0;padding:0;list-style:none}.scene-hud-inventory{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.scene-hud-item,.scene-hud-skill{display:grid;gap:3px;padding:8px 10px;border:1px solid rgba(196,146,90,.22);border-radius:6px;background:#0e0906b3}.scene-hud-item strong,.scene-hud-skill strong{color:#f7d890;font-family:var(--display);font-size:13px;letter-spacing:.02em}.scene-hud-item-type{align-self:start;display:inline-flex;padding:1px 6px;border-radius:3px;background:#f9d98e1f;color:#f9d98ec7;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;width:fit-content}.scene-hud-item-desc{color:#d8cbb5c7}.scene-hud-skill-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.scene-hud-skill-source{color:#d8cbb599;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.scene-hud-skill-tags{display:flex;flex-wrap:wrap;gap:4px}.scene-hud-skill-tags span{padding:1px 6px;border:1px solid rgba(196,146,90,.28);border-radius:3px;background:#1f181299;color:#d8cbb5;font-size:10px;letter-spacing:.04em}.scene-hud-skill-meta{display:flex;gap:10px;color:#d8cbb599;font-size:11px;font-variant-numeric:tabular-nums}.scene-hud-tasks{list-style:disc;padding-left:18px}.scene-hud-tasks li{margin:0 0 4px}.scene-hud-memory{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.1fr);gap:10px}.scene-hud-memory-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.scene-hud-memory-list button{display:grid;gap:4px;width:100%;padding:8px 10px;border:1px solid rgba(196,146,90,.22);border-radius:6px;background:#0e0906b3;color:#d8cbb5;cursor:pointer;text-align:left}.scene-hud-memory-list button:hover,.scene-hud-memory-list button:focus-visible,.scene-hud-memory-list button.active{border-color:#f9d98ead;background:#261810eb;outline:none}.scene-hud-memory-kind{color:#f7d890;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.scene-hud-memory-text{color:#eadac1;font-size:12px;line-height:1.35}.scene-hud-memory-meta{color:#d8cbb59e;font-size:10px;letter-spacing:.04em;text-transform:lowercase}.scene-hud-memory-provenance{display:grid;gap:8px;min-width:0;padding:8px 10px;border:1px solid rgba(109,138,88,.38);border-radius:6px;background:#121b1075}.scene-hud-memory-provenance-head{display:flex;justify-content:space-between;gap:10px;color:#dce9c9;font-size:11px}.scene-hud-memory-provenance-head strong{overflow-wrap:anywhere}.scene-hud-memory-events{display:grid;gap:6px;margin:0;padding:0;list-style:none}.scene-hud-memory-events li{display:grid;gap:3px;padding:7px 8px;border:1px solid rgba(216,203,181,.14);border-radius:5px;background:#0709076b}.scene-hud-memory-events span{color:#a8c684;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.scene-hud-memory-events p{margin:0;color:#d8cbb5;line-height:1.4;overflow-wrap:anywhere}@media(max-width:760px){.scene-hud-memory{grid-template-columns:1fr}.room-lobby-panel,.room-script-panel{position:static;width:auto;margin:10px}.room-lobby-main{grid-template-columns:1fr}.room-lobby-actions{justify-content:flex-start}.room-lobby-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.scene-titleplate{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 6px 0}.scene-titleplate h1{margin:0;color:#f7d890d6;font-family:var(--display);font-size:clamp(18px,1.6vw,24px);font-weight:600;line-height:1;letter-spacing:.02em}.scene-title-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:min(760px,62vw)}.scene-leave-button,.scene-create-button{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(249,217,142,.42);border-radius:var(--radius);background:#0e0906d1;color:#f7d890;cursor:pointer;padding:6px 12px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 22px #00000052;transition:border-color .16s ease,background .16s ease,transform .16s ease}.scene-create-button{background:#3d2811e6}.scene-leave-button:hover,.scene-leave-button:focus-visible,.scene-create-button:hover,.scene-create-button:focus-visible{border-color:#f9d98eb8;background:#261810eb;outline:none}.scene-leave-button:hover,.scene-leave-button:focus-visible{transform:translate(-1px)}.scene-leave-button .scene-leave-arrow{font-size:14px;line-height:1}.scene-canvas{position:relative;z-index:2;width:100%;aspect-ratio:1376 / 768;max-width:min(1240px,calc(64vh * 1376 / 768));margin-inline:auto;overflow:hidden;border:1px solid rgba(196,146,90,.5);border-radius:var(--radius-lg);background:#080605;box-shadow:0 22px 90px #0000008f,0 0 0 1px #f9d98e14}.scene-canvas:after{position:absolute;inset:0;z-index:3;pointer-events:none;content:"";box-shadow:inset 0 0 86px #05030242,inset 0 -120px 120px #08050347}.scene-painting{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.96) contrast(1.04)}.scene-foreground-overlay{position:absolute;inset:0;z-index:4;width:100%;height:100%;object-fit:cover;pointer-events:none}.scene-caption-image{position:absolute;right:16px;bottom:14px;z-index:7;width:min(220px,28%);aspect-ratio:4 / 3;object-fit:cover;border:1px solid rgba(249,217,142,.32);border-radius:var(--radius);background:#080503ad;box-shadow:0 14px 36px #00000057}.scene-narrative-caption{position:absolute;left:16px;right:16px;bottom:14px;z-index:6;width:min(720px,calc(100% - 32px));padding:10px 12px;border:1px solid rgba(249,217,142,.28);border-radius:var(--radius);background:#080503c2;color:#f4ead9;font-size:14px;line-height:1.35;box-shadow:0 12px 34px #00000047}.scene-narrative-caption.with-image{right:min(260px,32%);width:auto}.character-rim{position:absolute;z-index:5;width:92px;height:148px;border-radius:48% 48% 40% 40%;opacity:0;pointer-events:none;transform:translate(-50%,-50%);transition:opacity .18s ease,filter .18s ease;background:radial-gradient(ellipse at 50% 28%,rgba(249,217,142,.2),transparent 42%),radial-gradient(ellipse at 50% 58%,rgba(224,168,104,.1),transparent 62%);box-shadow:0 0 34px #f9d98e38,inset 0 0 24px #f9d98e1f;mix-blend-mode:screen}.character-rim.hovered,.character-rim.active,.character-rim.speaking{opacity:1}.character-rim.active{filter:brightness(1.16)}.character-rim.speaking{animation:rim-speaking .9s ease-in-out infinite}.scene-hotspot-nav{position:absolute;inset:0;z-index:8;pointer-events:none}.scene-hotspot-nav .head-glyph-button{pointer-events:auto}.scene-roster-fallback{position:relative;z-index:9;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 14px 0;padding:10px 12px;border:1px solid rgba(245,211,142,.24);border-radius:8px;background:#0b0d12c7;box-shadow:0 12px 30px #00000047}.scene-roster-fallback-label{color:#fff8e19e;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0}.scene-roster-fallback-list{display:flex;flex:1;min-width:180px;gap:8px;flex-wrap:wrap}.scene-roster-fallback-button{display:inline-flex;align-items:center;gap:8px;min-height:34px;max-width:100%;padding:7px 10px;border:1px solid rgba(255,248,225,.16);border-radius:8px;background:#fff8e114;color:#fff8e1;cursor:pointer}.scene-roster-fallback-button:hover,.scene-roster-fallback-button:focus-visible,.scene-roster-fallback-button.active{border-color:#f9d98e9e;background:#f9d98e29}.scene-roster-fallback-button.pending,.scene-roster-fallback-button.speaking{box-shadow:0 0 0 2px #61d1ff2e}.scene-roster-name{overflow-wrap:anywhere;font-size:.86rem;font-weight:800}.scene-roster-meta{color:#fff8e1a3;font-size:.76rem;white-space:nowrap}.head-glyph-button{position:absolute;z-index:8;width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;color:#f9d98e;cursor:pointer;padding:0;transform:translate(-50%,-50%)}.head-glyph-core{position:relative;width:16px;height:16px;display:block;border:1px solid rgba(255,234,171,.78);background:radial-gradient(circle at 35% 30%,#fff3bb,transparent 28%),linear-gradient(135deg,#f2c46f,#8a5729 74%);box-shadow:0 0 0 5px #e0a86814,0 0 18px #f9d98e73,0 6px 16px #00000075;transform:rotate(45deg);animation:glyph-intro-pulse .67s ease-out 3}.head-glyph-core:before,.head-glyph-core:after{position:absolute;content:"";inset:3px;border:1px solid rgba(80,43,18,.44)}.head-glyph-core:after{inset:-4px;border-color:#f9d98e33;opacity:0;transition:opacity .16s ease}.head-glyph-button:hover .head-glyph-core,.head-glyph-button:focus-visible .head-glyph-core,.head-glyph-button.active .head-glyph-core{background:radial-gradient(circle at 35% 30%,#fff7ce,transparent 28%),linear-gradient(135deg,#ffd98e,#a86732 74%);box-shadow:0 0 0 7px #e0a86824,0 0 24px #f9d98ebd,0 7px 18px #0000007a}.head-glyph-button:hover .head-glyph-core:after,.head-glyph-button:focus-visible .head-glyph-core:after,.head-glyph-button.active .head-glyph-core:after{opacity:1}.head-glyph-button.pending .head-glyph-core,.head-glyph-button.speaking .head-glyph-core{animation:glyph-speaking .86s ease-in-out infinite}.head-nameplate{position:absolute;top:30px;left:50%;max-width:170px;padding:5px 8px;border:1px solid rgba(249,217,142,.36);border-radius:var(--radius);background:#0d0907c7;color:#fff0c2;font-family:var(--display);font-size:16px;font-weight:700;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .16s ease,transform .16s ease}.head-glyph-button:hover .head-nameplate,.head-glyph-button:focus-visible .head-nameplate,.head-glyph-button.active .head-nameplate{opacity:1;transform:translate(-50%)}.npc-dock-banner{position:relative;z-index:3;display:grid;grid-template-columns:60px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 14px;border:1px solid rgba(196,146,90,.55);border-top:2px solid rgba(249,217,142,.5);border-radius:var(--radius-lg);background:linear-gradient(180deg,#462b166b,#140e0af0),#140e0af0;color:#f6e7c9;box-shadow:0 16px 44px #00000075,inset 0 1px #fff4cf14;animation:card-rise .18s ease both}.npc-dock-portrait{width:60px;height:60px;border:1px solid rgba(126,83,37,.7);border-radius:var(--radius);object-fit:cover;background:#23160d;box-shadow:inset 0 0 0 1px #fff6d31f}.npc-dock-identity{min-width:0;display:grid;gap:2px}.npc-dock-eyebrow{color:#decfb19e;font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.npc-dock-identity h2{margin:0;color:#f9d98e;font-family:var(--display);font-size:22px;font-weight:700;line-height:1}.npc-dock-identity p{margin:0;color:#edddc2c7;font-size:12px}.npc-dock-identity small{display:-webkit-box;margin-top:2px;overflow:hidden;color:#decfb19e;font-size:11.5px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:1}.npc-dock-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.npc-dock-mood,.npc-dock-trust{padding:4px 10px;border:1px solid rgba(232,220,196,.18);border-radius:999px;background:#00000047;color:#ead9ba;font-size:11px;font-weight:900;text-transform:uppercase}.npc-dock-trust{border-color:#7a9a4a99;background:#1c291780;color:#e4f0cc}.npc-dock-close{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(232,220,196,.2);border-radius:50%;background:#00000052;color:#f6e7c9;cursor:pointer;font-size:18px;line-height:1}.npc-dock-close:hover,.npc-dock-close:focus-visible{border-color:#f9d98e9e;background:#472d1bc7}.npc-dock-portrait-button{position:relative;width:60px;height:60px;padding:0;border:0;border-radius:var(--radius);background:transparent;cursor:pointer;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease}.npc-dock-portrait-button:hover,.npc-dock-portrait-button:focus-visible{transform:translateY(-1px);box-shadow:0 12px 28px #0000006b,0 0 0 2px #f9d98e9e;outline:none}.npc-dock-portrait-button .npc-dock-portrait{width:100%;height:100%;display:block}.npc-dock-portrait-hint{position:absolute;inset:auto 0 0;padding:3px 0 4px;background:linear-gradient(180deg,#0000,#000000c7);color:#f9d98e;font-family:var(--display);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-align:center;opacity:0;transition:opacity .14s ease}.npc-dock-portrait-button:hover .npc-dock-portrait-hint,.npc-dock-portrait-button:focus-visible .npc-dock-portrait-hint{opacity:1}.npc-detail-scrim{z-index:60;align-content:center}.npc-detail-modal{position:relative;width:min(640px,92vw);max-height:min(86vh,720px);display:grid;gap:18px;overflow:auto;padding:22px 24px 24px;border:1px solid rgba(126,83,37,.92);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(255,247,218,.08),transparent 36%),radial-gradient(circle at 15% 12%,rgba(95,62,30,.16),transparent 30%),repeating-linear-gradient(0deg,rgba(77,45,19,.035),rgba(77,45,19,.035) 1px,transparent 1px,transparent 5px),#e5d0a4;color:#26170d;box-shadow:0 28px 80px #0000009e,0 0 30px #e0a8682e;animation:card-rise .2s ease both}.npc-detail-close{position:absolute;top:10px;right:10px;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(73,43,18,.4);border-radius:50%;background:#502b121f;color:#4e2f17;cursor:pointer;font-size:18px;line-height:1}.npc-detail-close:hover,.npc-detail-close:focus-visible{border-color:#7e5325db;background:#c4925a47;outline:none}.npc-detail-header{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;padding-right:28px}.npc-detail-portrait{width:112px;height:112px;border:1px solid rgba(73,43,18,.6);border-radius:var(--radius);object-fit:cover;background:#23160d;box-shadow:inset 0 0 0 1px #fff6d333}.npc-detail-identity{min-width:0;display:grid;gap:4px}.npc-detail-eyebrow{color:#8a5729;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.npc-detail-identity h2{margin:0;color:#4d2b12;font-family:var(--display);font-size:32px;font-weight:700;line-height:1}.npc-detail-identity p{margin:0;color:#6e4d2c;font-size:13px}.npc-detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.npc-detail-badge{padding:4px 10px;border:1px solid rgba(84,54,26,.32);border-radius:999px;background:#39210f14;color:#4e2f17;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.npc-detail-badge.trust{border-color:#465e3485;background:#6481482e;color:#2f4119}.npc-detail-badge.seen{text-transform:none;letter-spacing:0;font-weight:700;color:#6e4d2c}.npc-detail-section{display:grid;gap:8px;padding-top:14px;border-top:1px solid rgba(73,43,18,.22)}.npc-detail-section h3{margin:0;color:#8a5729;font-family:var(--display);font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.npc-detail-empty{margin:0;color:#6e4d2c;font-size:13px;font-style:italic}.npc-detail-memory-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.npc-detail-memory-list li{position:relative;padding:8px 12px 8px 22px;border:1px solid rgba(92,55,24,.22);border-radius:var(--radius);background:#fff4cf80;color:#3d2717;font-size:13px;line-height:1.4}.npc-detail-memory-list li:before{position:absolute;top:12px;left:9px;width:6px;height:6px;border-radius:50%;background:#8a5729;content:""}.npc-detail-verb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.npc-detail-verb{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(92,55,24,.34);border-radius:var(--radius);background:linear-gradient(180deg,#fff8e08c,#73441c14),#ffeeb852;color:#3d2717;cursor:pointer;text-align:left;transition:border-color .14s ease,background .14s ease,transform .14s ease}.npc-detail-verb:hover,.npc-detail-verb:focus-visible{border-color:#7e5325db;background:linear-gradient(180deg,#fff8e0b8,#73441c1f),#ffeeb875;transform:translateY(-1px);outline:none}.npc-detail-verb-label{color:#4d2b12;font-family:var(--display);font-size:16px;font-weight:700;line-height:1.05}.npc-detail-verb-prompt{color:#6e4d2c;font-size:12px;line-height:1.35}.npc-goal-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.npc-goal{display:grid;gap:4px;padding:8px 12px;border:1px solid rgba(92,55,24,.24);border-radius:var(--radius);background:#fff4cf80;color:#3d2717}.npc-goal.status-satisfied{opacity:.78}.npc-goal.status-blocked{border-color:#84382473;background:#c4694e1f}.npc-goal-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.npc-goal-priority{display:inline-flex;gap:3px}.npc-goal-priority .tick{width:8px;height:8px;border:1px solid rgba(126,83,37,.45);border-radius:2px;background:transparent}.npc-goal-priority .tick.filled{background:#b9772f;border-color:#8a5729}.npc-goal-status{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8a5729}.npc-goal.status-blocked .npc-goal-status{color:#8a3b22}.npc-goal.status-satisfied .npc-goal-status{color:#4f6b2c}.npc-goal-text{margin:0;font-size:13px;line-height:1.4}.npc-appraisal-trace{display:grid;gap:4px}.npc-appraisal-step{padding:8px 12px;border:1px solid rgba(92,55,24,.22);border-radius:var(--radius);background:#fff4cf80;color:#3d2717}.npc-appraisal-step.intent{border-color:#7e53259e;background:linear-gradient(180deg,#fff8e0b3,#73441c1a),#ffeeb866}.npc-appraisal-step.thought,.npc-appraisal-step.said{border-color:#465e3480;background:#64814824}.npc-appraisal-label{display:block;margin-bottom:2px;color:#8a5729;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.npc-appraisal-step.thought .npc-appraisal-label,.npc-appraisal-step.said .npc-appraisal-label{color:#4f6b2c}.npc-appraisal-step p{margin:0;font-size:13px;line-height:1.4}.npc-appraisal-step.thought p,.npc-appraisal-step.said p{font-style:italic}.npc-appraisal-arrow{text-align:center;color:#7e532599;font-size:14px;line-height:1}.npc-memory-record-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.npc-memory-record{display:grid;gap:4px;padding:8px 12px;border:1px solid rgba(92,55,24,.22);border-radius:var(--radius);background:#fff4cf80;color:#3d2717}.npc-memory-record-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.npc-memory-importance{display:inline-flex;gap:3px}.npc-memory-importance .dot{width:6px;height:6px;border:1px solid rgba(126,83,37,.45);border-radius:50%;background:transparent}.npc-memory-importance .dot.filled{background:#b9772f;border-color:#8a5729}.npc-memory-tags{display:inline-flex;flex-wrap:wrap;gap:4px}.npc-memory-tag{padding:2px 8px;border:1px solid rgba(126,83,37,.36);border-radius:999px;background:#ffeeb866;color:#6e4d2c;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:lowercase}.npc-memory-record p{margin:0;font-size:13px;line-height:1.4}.floating-bubble{width:100%;display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(249,217,142,.36);border-radius:var(--radius-lg);background:linear-gradient(180deg,#231912eb,#140e0ae6),#17100c;color:#f4e4c5;text-align:left;box-shadow:0 16px 40px #00000075,0 0 22px #e0a86814;animation:floating-bubble-in .2s ease both}.floating-bubble strong{color:#f9d98e;font-family:var(--display);font-size:17px;line-height:1}.floating-bubble em{color:#decfb1c2;font-size:12px;line-height:1.3}.floating-bubble span{font-size:13.5px;line-height:1.42;overflow-wrap:anywhere}.floating-bubble.expanded{width:100%}.scene-dialogue-stack{position:absolute;z-index:12;left:50%;bottom:14px;transform:translate(-50%);display:grid;gap:8px;width:min(620px,86%);max-height:min(48%,280px);overflow:auto;padding-right:3px;pointer-events:auto}.trust-shift-badge{position:absolute;z-index:14;padding:6px 9px;border:1px solid rgba(122,154,74,.62);border-radius:999px;background:#1c2917e0;color:#e4f0cc;font-size:12px;font-weight:900;white-space:nowrap;box-shadow:0 12px 30px #00000061;transform:translate(-50%,-100%);animation:trust-shift 2.2s ease forwards}.conflict-panel{display:grid;gap:9px;padding:12px;border:1px solid rgba(160,64,48,.62);border-radius:var(--radius-lg);background:linear-gradient(180deg,#361812f0,#120c09f0),#17100c;box-shadow:0 18px 56px #00000085,inset 0 1px #fff4cf12}.conflict-panel.resolved{border-color:#7a9a4a94}.conflict-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.conflict-panel-head span,.conflict-panel small{color:#decfb1b8;font-size:12px;font-weight:900;text-transform:uppercase}.conflict-panel-head strong{color:#f9d98e;font-family:var(--display);font-size:22px;line-height:1}.conflict-panel p{margin:0;color:#ead9ba;font-size:13px;line-height:1.42}.conflict-skill-grid,.conflict-consequence-grid,.conflict-axis-row{display:flex;flex-wrap:wrap;gap:7px}.conflict-skill-grid button{min-height:34px;border:1px solid rgba(224,168,104,.44);border-radius:var(--radius);background:#e8dcc412;color:#f6e7c9;cursor:pointer;padding:7px 10px;font-size:12px;font-weight:900}.conflict-skill-grid button.primary-skill{border-color:#7a9a4aa3;color:#e4f0cc}.conflict-skill-grid button:hover:not(:disabled),.conflict-skill-grid button:focus-visible{border-color:#f9d98ed1;background:#472d1be6}.conflict-skill-grid button:disabled{opacity:.58;cursor:not-allowed}.conflict-consequence,.conflict-axis-row span{border:1px solid rgba(232,220,196,.16);border-radius:999px;background:#ffffff0d;color:#ead9ba;padding:5px 8px;font-size:12px;font-weight:900}.conflict-consequence.tone-good{border-color:#7a9a4a94;color:#e4f0cc}.conflict-consequence.tone-mixed{border-color:#e0a86885;color:#f9d98e}.conflict-consequence.tone-bad{border-color:#a040309e;color:#ffd6bf}.combat-kernel-header{display:flex;flex-direction:column;gap:2px;padding:6px 9px;border:1px solid rgba(224,168,104,.28);border-radius:var(--radius);background:#e8dcc40a}.combat-kernel-name{color:#f9d98e;font-family:var(--display);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.combat-kernel-tagline{color:#ead9bac7;font-size:11px;line-height:1.45}.combat-roll-breakdown{display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid rgba(232,220,196,.16);border-radius:var(--radius);background:#ffffff09}.combat-roll-tier{font-family:var(--display);font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.combat-roll-detail{color:#ead9bad1;font-size:12px;font-variant-numeric:tabular-nums}.combat-roll-breakdown[data-result=success]{border-color:#7a9a4a94}.combat-roll-breakdown[data-result=success] .combat-roll-tier{color:#e4f0cc}.combat-roll-breakdown[data-result=mixed]{border-color:#e0a86885}.combat-roll-breakdown[data-result=mixed] .combat-roll-tier{color:#f9d98e}.combat-roll-breakdown[data-result=failure]{border-color:#a040309e}.combat-roll-breakdown[data-result=failure] .combat-roll-tier{color:#ffd6bf}.gameplay-view{display:grid;gap:28px;width:min(100%,1080px);padding:28px 36px 56px;max-width:1080px;margin:0 auto;color:#ead9ba}.gameplay-header h2{margin:0 0 8px;color:#f9d98e;font-family:var(--display);font-size:28px;letter-spacing:.01em}.gameplay-header p{margin:0;max-width:720px;color:#ead9bac7;font-size:14px;line-height:1.55}.gameplay-section{display:grid;gap:12px}.gameplay-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid rgba(232,220,196,.12)}.gameplay-section-head h3{margin:0;color:#f6e7c9;font-family:var(--display);font-size:18px;letter-spacing:.02em}.gameplay-section-tag{border:1px solid rgba(122,154,74,.58);border-radius:999px;padding:3px 9px;color:#e4f0cc;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.gameplay-section-tag.soon{border-color:#e0a86880;color:#ead9bab3}.gameplay-section-status{margin:0;color:#ead9ba99;font-size:13px;font-style:italic}.gameplay-section-status.error{color:#ffd6bf;font-style:normal}.gameplay-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.gameplay-card{display:grid;gap:10px;padding:14px 16px;border:1px solid rgba(224,168,104,.34);border-radius:var(--radius-lg);background:linear-gradient(180deg,#36281cb3,#120c09eb),#17100c;box-shadow:0 12px 32px #0000005c}.gameplay-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.gameplay-card-head h4{margin:0;color:#f9d98e;font-family:var(--display);font-size:18px;letter-spacing:.01em}.gameplay-card-kernel{flex-shrink:0;border:1px solid rgba(232,220,196,.18);border-radius:999px;padding:3px 8px;background:#ffffff0a;color:#ead9bad1;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.gameplay-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0;color:#ead9bab8;font-size:12px;font-variant-numeric:tabular-nums}.gameplay-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}.gameplay-card-tags li{border:1px solid rgba(232,220,196,.14);border-radius:999px;padding:3px 8px;background:#ffffff08;color:#ead9bab3;font-size:11px}.gameplay-card-action{align-self:start;min-height:32px;margin-top:2px;border:1px solid rgba(122,154,74,.6);border-radius:var(--radius);background:#354e2680;color:#e4f0cc;cursor:pointer;padding:6px 14px;font-family:var(--display);font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.gameplay-card-action:hover:not(:disabled),.gameplay-card-action:focus-visible{border-color:#a8cc6ed9;background:#40602cb3}.gameplay-card-action:disabled{opacity:.56;cursor:not-allowed}.gameplay-placeholder{padding:14px 16px;border:1px dashed rgba(232,220,196,.2);border-radius:var(--radius-lg);background:#ffffff06;color:#ead9bab3;font-size:13px;line-height:1.55}.gameplay-placeholder p{margin:0}.craft-view{display:grid;gap:18px;width:min(1180px,calc(100vw - 48px));margin:0 auto;padding:28px 0 56px;color:#e8eaed}.craft-topbar,.craft-template-tabs,.craft-board,.craft-slots,.craft-history li{display:grid}.craft-topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.craft-topbar h1,.craft-template-summary h2,.craft-history h2{margin:0;color:#f6e7c9;font-family:var(--display);letter-spacing:.01em}.craft-topbar h1{font-size:30px}.craft-template-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:#ffffff08}.craft-template-tabs button{min-height:68px;display:grid;align-content:center;gap:4px;border:1px solid transparent;border-radius:var(--radius);padding:10px 12px;background:transparent;color:#e8eaedb8;cursor:pointer;text-align:left}.craft-template-tabs button:hover,.craft-template-tabs button.active{border-color:#7a9a4a8a;background:#7a9a4a21;color:#f6e7c9}.craft-template-tabs strong{font-size:13px}.craft-template-tabs span{color:#e8eaed9e;font-size:12px;line-height:1.3}.craft-board{grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.craft-workbench,.craft-history{border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:linear-gradient(180deg,#1a1d23f5,#0d0f12fa),var(--panel);box-shadow:var(--shadow)}.craft-workbench{display:grid;gap:18px;min-width:0;padding:18px}.craft-template-summary{display:grid;gap:8px}.craft-template-summary h2{font-size:22px}.craft-template-summary p{max-width:760px;margin:0;color:#e8eaedb8;font-size:14px;line-height:1.5}.craft-goals,.craft-element-grid{display:flex;flex-wrap:wrap;gap:8px}.craft-goals span{border:1px solid rgba(96,165,250,.28);border-radius:999px;padding:4px 9px;background:#60a5fa14;color:#bfdbfe;font-size:11px}.craft-slots{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:stretch;gap:10px}.craft-slot{min-height:70px;display:grid;gap:6px;align-content:center;border:1px dashed rgba(255,255,255,.18);border-radius:var(--radius);padding:10px 12px;background:#ffffff06}.craft-slot.filled{border-style:solid;border-color:#7a9a4a75;background:#7a9a4a14}.craft-slot span,.craft-history small,.craft-element-group h3{color:#e8eaed94;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.craft-slot strong{min-width:0;overflow-wrap:anywhere;color:#f6e7c9}.craft-slot button{justify-self:start;border:0;padding:0;background:transparent;color:#93c5fd;cursor:pointer;font-size:12px}.craft-plus{align-self:center;color:#e8eaed7a;font-weight:900}.craft-combine-button{align-self:center;min-width:116px}.craft-status{margin:-4px 0 0;color:#e4f0cc;font-size:13px}.craft-element-groups{display:grid;gap:16px}.craft-element-group{display:grid;gap:8px}.craft-element-group h3{margin:0}.craft-element-tile{width:min(180px,100%);min-height:112px;display:grid;grid-template-rows:auto auto 1fr;gap:6px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:10px;background:#ffffff09;color:#e8eaed;cursor:pointer;text-align:left}.craft-element-tile:hover,.craft-element-tile.selected{border-color:#f9d98e8a;background:#f9d98e14}.craft-element-glyph{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#0000003d;color:#f9d98e;font-weight:900}.craft-element-tile strong,.craft-history strong{color:#f6e7c9}.craft-element-tile small{color:#e8eaed9e;font-size:12px;line-height:1.35}.craft-history{position:sticky;top:92px;padding:16px}.craft-history header{display:grid;gap:4px;margin-bottom:12px}.craft-history h2{font-size:20px}.craft-history ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.craft-history li{gap:4px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:10px;background:#ffffff08}.craft-history li>span{color:#e8eaed9e;font-size:12px}.judge-view{display:grid;gap:18px;width:min(1180px,calc(100vw - 48px));margin:0 auto;padding:28px 0 56px;color:#e8eaed}.judge-topbar,.judge-layout,.judge-template-tabs,.judge-scenario-tabs,.judge-plan-list,.judge-result-grid,.judge-score-list{display:grid}.judge-topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.judge-topbar h1,.judge-scenario-brief h2,.judge-panel-head h2,.judge-result-card h3{margin:0;color:#f6e7c9;font-family:var(--display);letter-spacing:.01em}.judge-topbar h1{font-size:30px}.judge-template-tabs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:#ffffff08}.judge-template-tabs button,.judge-scenario-tabs button,.judge-samples button{border:1px solid transparent;border-radius:var(--radius);background:transparent;color:#e8eaedb8;cursor:pointer}.judge-template-tabs button{min-height:68px;display:grid;align-content:center;gap:4px;padding:10px 12px;text-align:left}.judge-template-tabs button:hover,.judge-template-tabs button.active,.judge-scenario-tabs button:hover,.judge-scenario-tabs button.active,.judge-samples button:hover{border-color:#60a5fa7a;background:#60a5fa1a;color:#f6e7c9}.judge-template-tabs strong{font-size:13px}.judge-template-tabs span{color:#e8eaed9e;font-size:12px;line-height:1.3}.judge-layout{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:16px;align-items:start}.judge-scenario-panel,.judge-table-panel,.judge-results{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:linear-gradient(180deg,#1a1d23f5,#0d0f12fa),var(--panel);box-shadow:var(--shadow)}.judge-scenario-panel,.judge-table-panel,.judge-results{display:grid;gap:16px;padding:16px}.judge-scenario-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.judge-scenario-tabs button,.judge-samples button{min-height:36px;padding:7px 9px;font-size:12px;font-weight:800;line-height:1.2}.judge-scenario-brief{display:grid;gap:12px}.judge-scenario-brief header{display:grid;gap:4px}.judge-scenario-brief header span,.judge-plan-card header span,.judge-result-card header span{color:#e8eaed94;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.judge-scenario-brief h2,.judge-panel-head h2{font-size:22px}.judge-scenario-brief p,.judge-panel-head p,.judge-result-card p{margin:0;color:#e8eaedb8;font-size:14px;line-height:1.5}.judge-scenario-brief ul{display:grid;gap:7px;margin:0;padding-left:18px;color:#e8eaedad;font-size:13px;line-height:1.45}.judge-dimensions,.judge-samples{display:flex;flex-wrap:wrap;gap:8px}.judge-dimensions span{border:1px solid rgba(122,154,74,.38);border-radius:999px;padding:4px 9px;background:#7a9a4a17;color:#e4f0cc;font-size:11px}.judge-samples button{border-color:#ffffff1a;background:#ffffff08}.judge-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.judge-panel-head>div{min-width:0}.judge-panel-head p{max-width:620px;text-align:right}.judge-plan-list{gap:12px}.judge-plan-card{display:grid;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:12px;background:#ffffff09}.judge-plan-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.judge-plan-card header button{border:0;padding:0;background:transparent;color:#93c5fd;cursor:pointer;font-size:12px}.judge-plan-card header button:disabled{color:#e8eaed52;cursor:not-allowed}.judge-plan-card label{display:grid;gap:5px}.judge-plan-card label>span{color:#e8eaed94;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.judge-plan-card input,.judge-plan-card textarea{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:#00000038;color:#e8eaed;padding:9px 10px}.judge-plan-card textarea{min-height:118px;resize:vertical;line-height:1.45}.judge-submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.judge-submit{min-width:142px}.judge-status{margin:0;color:#e4f0cc;font-size:13px}.judge-result-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.judge-result-card{display:grid;gap:12px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);padding:14px;background:#ffffff09}.judge-result-card.survived{border-color:#7a9a4a85;background:#7a9a4a14}.judge-result-card.died{border-color:#f871716b;background:#f8717112}.judge-result-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.judge-result-card header strong{color:#f9d98e;font-size:30px;font-variant-numeric:tabular-nums}.judge-result-card h3{overflow-wrap:anywhere;font-size:22px}.judge-result-card small{color:#e8eaed9e;font-size:12px;line-height:1.4}.judge-score-list{gap:8px}.judge-score-row{display:grid;grid-template-columns:minmax(86px,.6fr) minmax(90px,1fr) 38px;align-items:center;gap:8px;color:#e8eaedad;font-size:12px}.judge-score-row>div{height:7px;overflow:hidden;border-radius:999px;background:#ffffff14}.judge-score-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#a7f3d0)}.judge-score-row strong{color:#f6e7c9;font-variant-numeric:tabular-nums;text-align:right}.gatekeeper-view{display:grid;gap:18px;width:min(1240px,calc(100vw - 48px));margin:0 auto;padding:28px 0 56px;color:#e8eaed}.gatekeeper-topbar,.gatekeeper-layout,.gatekeeper-template-tabs,.gatekeeper-encounter-tabs,.gatekeeper-meters,.gatekeeper-chat,.gatekeeper-input,.gatekeeper-readout,.gatekeeper-signal-list,.gatekeeper-memory{display:grid}.gatekeeper-topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.gatekeeper-topbar h1,.gatekeeper-profile h2,.gatekeeper-outcome strong{margin:0;color:#f6e7c9;font-family:var(--display);letter-spacing:.01em}.gatekeeper-topbar h1{font-size:30px}.gatekeeper-template-tabs,.gatekeeper-encounter-tabs{gap:8px}.gatekeeper-template-tabs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:#ffffff08}.gatekeeper-template-tabs button,.gatekeeper-encounter-tabs button,.gatekeeper-samples button{border:1px solid transparent;border-radius:var(--radius);background:transparent;color:#e8eaedb8;cursor:pointer}.gatekeeper-template-tabs button{min-height:68px;display:grid;align-content:center;gap:4px;padding:10px 12px;text-align:left}.gatekeeper-template-tabs button:hover,.gatekeeper-template-tabs button.active,.gatekeeper-encounter-tabs button:hover,.gatekeeper-encounter-tabs button.active,.gatekeeper-samples button:hover{border-color:#a78bfa7a;background:#a78bfa1a;color:#f6e7c9}.gatekeeper-template-tabs strong{font-size:13px}.gatekeeper-template-tabs span{color:#e8eaed9e;font-size:12px;line-height:1.3}.gatekeeper-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.35fr) minmax(230px,.62fr);gap:16px;align-items:start}.gatekeeper-brief,.gatekeeper-table,.gatekeeper-readout{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:linear-gradient(180deg,#191c22f5,#0d0f12fa),var(--panel);box-shadow:var(--shadow)}.gatekeeper-brief,.gatekeeper-table,.gatekeeper-readout{display:grid;gap:16px;padding:16px}.gatekeeper-encounter-tabs{grid-template-columns:1fr}.gatekeeper-encounter-tabs button,.gatekeeper-samples button{min-height:36px;padding:7px 9px;font-size:12px;font-weight:800;line-height:1.2}.gatekeeper-profile{display:grid;gap:9px}.gatekeeper-profile h2{font-size:24px}.gatekeeper-profile p,.gatekeeper-profile strong,.gatekeeper-readout p,.gatekeeper-memory li{margin:0;color:#e8eaedb8;font-size:13px;line-height:1.45}.gatekeeper-profile strong{color:#e4f0cc}.gatekeeper-rules,.gatekeeper-samples{display:flex;flex-wrap:wrap;gap:8px}.gatekeeper-rules span{border:1px solid rgba(96,165,250,.32);border-radius:999px;padding:5px 9px;background:#60a5fa14;color:#dbeafe;font-size:11px;line-height:1.25}.gatekeeper-samples button{border-color:#ffffff1a;background:#ffffff08}.gatekeeper-meters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 128px;gap:10px}.gatekeeper-meter,.gatekeeper-outcome{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:10px;background:#ffffff09}.gatekeeper-meter header{display:flex;justify-content:space-between;gap:10px;color:#e8eaedbd;font-size:12px;font-weight:900}.gatekeeper-meter header strong{color:#f6e7c9;font-variant-numeric:tabular-nums}.gatekeeper-meter>div{height:8px;overflow:hidden;border-radius:999px;margin-top:9px;background:#ffffff14}.gatekeeper-meter i{display:block;height:100%;border-radius:inherit}.gatekeeper-meter.trust i{background:linear-gradient(90deg,#86efac,#38bdf8)}.gatekeeper-meter.suspicion i{background:linear-gradient(90deg,#f97316,#f43f5e)}.gatekeeper-outcome{display:grid;align-content:center;gap:4px}.gatekeeper-outcome span{color:#e8eaed94;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.gatekeeper-outcome strong{overflow-wrap:anywhere;font-size:18px}.gatekeeper-outcome.won{border-color:#86efac7a}.gatekeeper-outcome.failed{border-color:#f43f5e85}.gatekeeper-chat{min-height:360px;max-height:58vh;align-content:start;gap:10px;overflow:auto;padding-right:4px}.gatekeeper-line{width:min(86%,680px);display:grid;gap:5px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:10px 12px;background:#ffffff0a}.gatekeeper-line.player{justify-self:end;border-color:#60a5fa57;background:#60a5fa14}.gatekeeper-line.npc{justify-self:start;border-color:#a78bfa47}.gatekeeper-line span{color:#e8eaed94;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.gatekeeper-line p{margin:0;color:#e8eaedd1;font-size:14px;line-height:1.48;overflow-wrap:anywhere}.gatekeeper-input{grid-template-columns:minmax(0,1fr) 116px;gap:10px}.gatekeeper-input textarea{width:100%;min-height:84px;resize:vertical;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:#0000003d;color:#e8eaed;padding:10px 11px;line-height:1.45}.gatekeeper-input button{align-self:stretch}.gatekeeper-status{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:#e4f0cc;font-size:12px;font-weight:800}.gatekeeper-readout{position:sticky;top:18px;align-content:start}.gatekeeper-readout section{display:grid;gap:9px}.gatekeeper-signal-list,.gatekeeper-memory{gap:8px}.gatekeeper-signal{display:grid;gap:4px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:10px;background:#ffffff09}.gatekeeper-signal.trust{border-color:#86efac57}.gatekeeper-signal.suspicion{border-color:#f43f5e61}.gatekeeper-signal strong{color:#f6e7c9;font-size:13px}.gatekeeper-memory{margin:0;padding-left:18px}.catalog-view{display:grid;gap:18px;width:min(1240px,calc(100vw - 48px));margin:0 auto;padding:28px 0 56px;color:#e8eaed}.catalog-topbar,.catalog-template-tabs,.catalog-layout,.catalog-log,.catalog-input-row,.catalog-meter-list,.prompt-grid,.pose-stage{display:grid}.catalog-topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.catalog-topbar h1,.catalog-panel h2,.catalog-subpanel h3,.prompt-result h2{margin:0;color:#f6e7c9;font-family:var(--display);letter-spacing:.01em}.catalog-topbar h1{font-size:30px}.catalog-template-tabs{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:#ffffff08}.catalog-template-tabs button,.catalog-chip-row button{border:1px solid transparent;border-radius:var(--radius);background:transparent;color:#e8eaedb8;cursor:pointer}.catalog-template-tabs button{min-height:68px;display:grid;align-content:center;gap:4px;padding:10px 12px;text-align:left}.catalog-template-tabs button:hover,.catalog-template-tabs button.active,.catalog-chip-row button:hover,.catalog-chip-row button.active{border-color:#f9d98e75;background:#f9d98e17;color:#f6e7c9}.catalog-template-tabs strong{font-size:13px}.catalog-template-tabs span{color:#e8eaed9e;font-size:12px;line-height:1.3}.catalog-layout{grid-template-columns:minmax(280px,.82fr) minmax(0,1.35fr);gap:16px;align-items:start}.catalog-layout.three{grid-template-columns:minmax(250px,.72fr) minmax(0,1.35fr) minmax(230px,.66fr)}.catalog-panel,.catalog-subpanel,.prompt-box,.prompt-result,.pose-card{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:linear-gradient(180deg,#191c22f5,#0d0f12fa),var(--panel);box-shadow:var(--shadow)}.catalog-panel,.catalog-subpanel,.prompt-box,.prompt-result,.pose-card{display:grid;gap:14px;padding:16px}.catalog-main{min-height:560px}.catalog-panel p,.catalog-panel strong,.catalog-subpanel p,.catalog-muted,.prompt-result p,.prompt-box strong{margin:0;color:#e8eaedb8;font-size:13px;line-height:1.48}.catalog-panel>strong{color:#e4f0cc}.catalog-chip-row,.catalog-rule-list{display:flex;flex-wrap:wrap;gap:8px}.catalog-chip-row button{min-height:34px;padding:7px 9px;border-color:#ffffff1a;background:#ffffff08;font-size:12px;font-weight:800}.catalog-rule-list span{border:1px solid rgba(96,165,250,.32);border-radius:999px;padding:5px 9px;background:#60a5fa14;color:#dbeafe;font-size:11px;line-height:1.25}.catalog-log{min-height:330px;max-height:56vh;align-content:start;gap:10px;overflow:auto;padding-right:4px}.catalog-line{width:min(88%,720px);display:grid;gap:5px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:10px 12px;background:#ffffff0a}.catalog-line.player{justify-self:end;border-color:#60a5fa57;background:#60a5fa14}.catalog-line span,.prompt-box>span,.pose-card header span{color:#e8eaed94;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.catalog-line p{margin:0;color:#e8eaedd1;font-size:14px;line-height:1.48;overflow-wrap:anywhere}.catalog-input-row{grid-template-columns:minmax(0,1fr) 118px;gap:10px}.catalog-input-row.stacked{grid-template-columns:1fr}.catalog-input-row textarea,.prompt-box textarea,.catalog-select-line select{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:#0000003d;color:#e8eaed;padding:10px 11px;line-height:1.45}.catalog-input-row textarea,.prompt-box textarea{resize:vertical}.catalog-input-row button{align-self:stretch}.catalog-select-line{display:grid;gap:6px;color:#e8eaed9e;font-size:12px;font-weight:800}.catalog-status{margin:0;color:#e4f0cc;font-size:12px;font-weight:800;line-height:1.45}.catalog-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.catalog-list li{display:grid;gap:4px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:10px;background:#ffffff09}.catalog-list li strong{color:#f6e7c9}.catalog-list li span{color:#e8eaedad;font-size:12px;line-height:1.4}.catalog-meter-list{gap:10px}.catalog-meter{display:grid;gap:7px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:10px;background:#ffffff09}.catalog-meter header{display:flex;justify-content:space-between;gap:10px;color:#e8eaedb8;font-size:12px;font-weight:900}.catalog-meter header strong,.pose-card header strong{color:#f6e7c9;font-variant-numeric:tabular-nums}.catalog-meter>div{height:8px;overflow:hidden;border-radius:999px;background:#ffffff14}.catalog-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7a9a4a,#60a5fa)}.catalog-meter small{color:#e8eaed94;font-size:12px;line-height:1.35}.prompt-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.prompt-box textarea{min-height:180px}.prompt-result{grid-column:1 / -1}.pose-stage{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;min-height:560px}.pose-card header{display:flex;justify-content:space-between;gap:10px}.stick-figure{width:100%;aspect-ratio:3 / 4;min-height:320px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:linear-gradient(180deg,#111827a3,#0000002e),radial-gradient(circle at 50% 78%,rgba(122,154,74,.18),transparent 38%)}.stick-figure line,.stick-figure circle{fill:none;stroke-linecap:round;stroke-linejoin:round}.stick-target line,.stick-target circle{stroke:#f9d98e5c;stroke-width:7}.stick-current line,.stick-current circle{stroke:#93c5fd;stroke-width:5}@media(max-width:900px){.craft-view{width:min(calc(100vw - 28px),720px);padding-top:18px}.gatekeeper-view,.judge-view,.catalog-view{width:min(calc(100vw - 28px),760px);padding-top:18px}.craft-template-tabs,.craft-board,.craft-slots,.gatekeeper-layout,.gatekeeper-template-tabs,.gatekeeper-meters,.judge-layout,.judge-template-tabs,.judge-scenario-tabs,.catalog-layout,.catalog-layout.three,.catalog-template-tabs,.prompt-grid,.pose-stage{grid-template-columns:1fr}.judge-panel-head{align-items:flex-start;flex-direction:column}.judge-panel-head p{text-align:left}.craft-plus{justify-self:center}.craft-combine-button{width:100%}.craft-history,.gatekeeper-readout{position:static}.catalog-input-row{grid-template-columns:1fr}.craft-element-tile{width:calc(50% - 4px)}}@media(max-width:560px){.craft-topbar,.gatekeeper-topbar,.judge-topbar,.catalog-topbar{grid-template-columns:1fr;align-items:stretch}.gatekeeper-input{grid-template-columns:1fr}.craft-element-tile{width:100%}}.input-dock{position:relative;z-index:3;display:grid;gap:9px;pointer-events:auto}.navigation-suggestion-chips{position:relative;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(232,220,196,.18);border-radius:12px;background:linear-gradient(180deg,#22160ec7,#140d08eb);box-shadow:0 8px 24px #00000059;pointer-events:auto;animation:navigation-suggestion-chips-in .22s ease-out}@keyframes navigation-suggestion-chips-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.navigation-suggestion-chips__hint{flex:0 0 auto;color:#efe1c89e;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.navigation-suggestion-chips__list{display:flex;flex-wrap:wrap;gap:6px}.navigation-suggestion-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid rgba(232,220,196,.28);border-radius:999px;background:#301e12eb;color:#f5e8d0f5;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.navigation-suggestion-chip:hover:not(:disabled),.navigation-suggestion-chip:focus-visible{background:#482e1af5;border-color:#ffdca08c;outline:none;transform:translateY(-1px)}.navigation-suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.navigation-suggestion-chip--submitting{background:#604020f0}.navigation-suggestion-chip--dismiss{padding:6px 10px;background:transparent;border-color:#e8dcc42e;color:#efe1c88c}.navigation-suggestion-chip__icon{font-size:14px;line-height:1}.choice-group{display:grid;gap:6px;pointer-events:none}.choice-group-title{justify-self:center;padding:3px 8px;border:1px solid rgba(232,220,196,.14);border-radius:999px;background:#0e0906ad;color:#efe1c8b8;font-size:11px;font-weight:800;text-transform:uppercase}.choice-strip{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;min-height:40px;pointer-events:auto}.choice-group-plot .choice-strip{align-items:stretch}.choice-group-plot .choice-button{border-color:#4a8a8a80;background:linear-gradient(180deg,#598e862e,#3e2c1c2e),#191612eb}.choice-button{position:relative;min-height:40px;flex:1 1 205px;max-width:290px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(224,168,104,.48);border-radius:var(--radius);background:linear-gradient(180deg,#eccb8e33,#5732162b),#1f150ee6;color:#f9d98e;padding:8px 12px;cursor:pointer;font-family:var(--display);font-size:17px;font-weight:700;line-height:1.05;text-align:center;box-shadow:0 10px 26px #00000042;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.choice-button:after{position:absolute;inset:3px;border:1px solid rgba(255,238,180,.08);border-radius:calc(var(--radius) - 2px);pointer-events:none;content:""}.choice-button:hover:not(:disabled),.choice-button:focus-visible{border-color:#f9d98ed1;background:linear-gradient(180deg,#f6d39747,#6239193d),#2a1b11f0;box-shadow:0 12px 32px #00000057,0 0 22px #e0a86829;transform:translateY(-2px)}.choice-button.selected{animation:choice-warm-flash .4s ease both}.choice-button.tone-danger{border-color:#a0403094;color:#ffd6bf}.choice-button.tone-quiet{color:#f6e7c9}.choice-button.tone-world{border-color:#7a9a4a94;color:#e4f0cc}.choice-button:disabled{opacity:.58;cursor:not-allowed}.choice-seal{width:11px;height:11px;flex:0 0 auto;border:1px solid rgba(255,234,171,.62);background:linear-gradient(135deg,#f2c46f,#815027 74%);transform:rotate(45deg);box-shadow:0 0 13px #f9d98e38}.choice-label{min-width:0;overflow-wrap:anywhere}.choice-copy{min-width:0;display:grid;gap:4px}.choice-meta{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:800;text-transform:uppercase;color:#efe1c8ad}.choice-meta span{padding:2px 5px;border:1px solid rgba(232,220,196,.14);border-radius:999px;background:#0000002e}.divergence-hint{width:auto;max-width:min(440px,44vw);justify-self:center;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px 9px 12px;border:1px solid rgba(74,138,138,.62);border-radius:var(--radius);background:linear-gradient(180deg,#4a8a8a33,#0f0a0675),#121918eb;color:#d9f4ef;box-shadow:0 12px 32px #0000004d;pointer-events:auto}.divergence-hint-copy{min-width:0;display:grid;gap:2px}.divergence-hint-copy strong{color:#effdfa;font-size:12px}.divergence-hint-copy span{color:#d9f4efc7;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divergence-hint-button{flex:0 0 auto;min-height:30px;border:1px solid rgba(118,205,194,.72);border-radius:var(--radius);background:#4a8a8a3d;color:#effdfa;padding:6px 9px;cursor:pointer;font-size:11px;font-weight:800;white-space:nowrap}.divergence-hint-button:hover:not(:disabled),.divergence-hint-button:focus-visible{border-color:#c6f6efeb;background:#4a8a8a5c}.divergence-hint-button:disabled{cursor:not-allowed;opacity:.58}.freeform-bar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:62px;padding:10px;border:1px solid rgba(196,146,90,.42);border-top:2px solid rgba(249,217,142,.58);border-radius:var(--radius-lg);background:linear-gradient(180deg,#462b165c,#18110cf0),#140e0af0;box-shadow:0 18px 62px #0000008a,inset 0 1px #fff4cf14;pointer-events:auto}.freeform-bar input{min-width:0;min-height:42px;border:1px solid rgba(232,220,196,.16);border-radius:var(--radius);background:linear-gradient(180deg,#ebd3a41a,#0000001f),#08060580;color:#f6e7c9;padding:10px 12px}.freeform-bar.is-revealing input{border-color:#f9d98e80;box-shadow:inset 0 0 0 1px #f9d98e24}.freeform-bar input::placeholder{color:#efe1c880}.typewriter-caret{position:absolute;top:22px;right:114px;width:1px;height:22px;background:#f9d98ed1;opacity:0;pointer-events:none}.typewriter-caret.active{animation:caret-blink .6s steps(2,start) infinite}.freeform-send-button{min-width:84px;min-height:42px;border:1px solid rgba(249,217,142,.58);border-radius:var(--radius);background:linear-gradient(180deg,#7b4b23,#593419);color:#fff0c2;cursor:pointer;font-weight:900}.freeform-send-button:hover:not(:disabled){border-color:#ffeeb4e6;filter:brightness(1.08)}.freeform-send-button:disabled{opacity:.58;cursor:not-allowed}.scene-log{position:absolute;z-index:14;top:12px;right:12px;width:min(360px,60%);display:grid;gap:8px;justify-items:end;pointer-events:none}.log-toggle-button{width:auto;min-height:40px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(249,217,142,.42);border-radius:var(--radius);background:#0e0906d1;color:#f7d890;cursor:pointer;padding:6px 12px;font-size:12px;font-weight:900;letter-spacing:.04em;box-shadow:0 10px 22px #00000052;pointer-events:auto}.log-toggle-button span{color:#f7d890}.log-toggle-button small{color:#ead3b0c7;font-size:11px;font-weight:800;letter-spacing:0;text-transform:none}.log-toggle-button:hover,.log-toggle-button:focus-visible{border-color:#f9d98eb8;background:#261810eb;outline:none}.scene-log-panel{position:relative;top:auto;right:auto;width:100%;max-height:0;overflow:auto;border:1px solid rgba(196,146,90,.42);border-radius:var(--radius-lg);background:#0b0806f5;box-shadow:0 22px 64px #0000009e;opacity:0;transform:translateY(-6px);transition:max-height .22s ease,opacity .16s ease,transform .16s ease;pointer-events:none}.scene-log.is-open .scene-log-panel{max-height:min(56vh,420px);opacity:1;transform:translateY(0);pointer-events:auto}.scene-log-entry{display:grid;gap:5px;padding:10px 11px;border-bottom:1px solid rgba(232,220,196,.1)}.scene-log-entry:last-child{border-bottom:0}.scene-log-entry>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.scene-log-entry-head{min-width:0}.scene-log-entry strong{color:#f9d98e;font-size:13px}.scene-log-entry span,.scene-log-entry em{color:#decfb1b8;font-size:12px}.scene-log-actions{display:inline-flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}.transition-variant-count,.transition-debug-badge{min-height:24px;display:inline-flex;align-items:center;border:1px solid rgba(249,217,142,.18);border-radius:6px;padding:3px 7px;font-size:11px;font-weight:800;white-space:nowrap}.transition-variant-count{color:#ead3b0c7;background:#100b0861}.transition-debug-badge{color:#9bd2ffdb;border-color:#60a5fa47;background:#2563eb24}.scene-log-actions button{min-height:24px;border:1px solid rgba(249,217,142,.24);border-radius:6px;background:#100b08b8;color:#f9d98ee0;cursor:pointer;padding:3px 7px;font-size:11px;font-weight:800}.scene-log-actions button:hover:not(:disabled),.scene-log-actions button:focus-visible:not(:disabled){border-color:#f9d98e94;background:#3c2719db;outline:none}.scene-log-actions button:disabled{opacity:.45;cursor:not-allowed}.scene-log-entry p{margin:0;color:#ead9ba;font-size:13px;line-height:1.45}.scene-log-entry.player{background:#4a6a8a1f}.scene-log-entry.npc{background:#c4925a12}.scene-log-entry.pending{background:#c4925a1c}.modal-scrim,.drawer-scrim{position:fixed;inset:0;z-index:50;background:#0a0705b8}.drawer-scrim{display:grid;justify-items:end}.add-place-modal,.creator-drawer{border:1px solid var(--line-warm);background:#1f1812fa;box-shadow:var(--shadow)}.add-place-modal{width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:var(--radius-lg);padding:18px}.creator-drawer{width:min(560px,100%);height:100vh;overflow:auto;padding:18px}.kicker{display:block;margin-bottom:4px;color:var(--brass);font-size:12px;font-weight:700}.modal-heading h2,.drawer-heading h2{margin:0;color:var(--brass-bright);font-family:var(--display);font-size:32px;font-weight:600;line-height:1;letter-spacing:0}.add-place-form label{display:grid;gap:6px;color:var(--muted);font-size:13px}.add-place-form input,.add-place-form select,.add-place-form textarea{width:100%;border:1px solid var(--line-warm);border-radius:var(--radius);background:#0f0a06ad;color:var(--paper);padding:10px 11px}.add-place-form textarea{resize:vertical}.modal-actions,.review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.review-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#2a201ac7}.review-preview{overflow:hidden;aspect-ratio:4 / 3;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink)}.review-copy{display:grid;min-width:0;gap:8px}.review-meta,.accepted-strip{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:12px}.review-meta span,.accepted-strip span,.accepted-strip strong{padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:#0f0a0659}.review-copy h3{margin:0;color:var(--paper);font-size:18px}.review-copy p,.empty-review span{margin:0;color:var(--muted);line-height:1.45}.empty-review{display:grid;gap:5px;padding:18px;border:1px dashed var(--line);border-radius:var(--radius);background:#0f0a0647}.accepted-strip{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.accepted-strip strong{color:var(--brass-bright);font-weight:700}.thinking-inline{display:inline-flex;align-items:center;gap:6px;min-height:16px;color:#f9d98e}.thinking-inline>span{width:8px;height:8px;background:currentColor;border-radius:50%;opacity:.5;box-shadow:0 0 10px #f9d98e85;animation:pulse-dot 1s infinite ease-in-out}.thinking-inline>span:nth-child(2){animation-delay:.12s}.thinking-inline>span:nth-child(3){animation-delay:.24s}.handoff-toast{position:fixed;right:18px;bottom:18px;z-index:40;padding:12px 14px;background:#2f3b28;color:#eef4dc;border:1px solid rgba(109,138,88,.75);border-radius:var(--radius);box-shadow:var(--shadow)}.creator-repo-shell{min-height:calc(100vh - 72px);display:grid;grid-template-columns:240px minmax(0,1fr);background:#17110d}.repo-sidebar{border-right:1px solid var(--line);background:#1f1812f5;padding:18px}.repo-title-block{display:grid;gap:4px;margin-bottom:18px}.repo-eyebrow,.repo-browser-head span,.repo-review-head span,.repo-diff-heading span,.repo-field>span{color:var(--muted);font-size:12px;text-transform:uppercase}.repo-title-block strong{color:var(--brass-bright);font-family:var(--display);font-size:24px;font-weight:600}.repo-section-list,.repo-file-list,.repo-form-grid,.repo-diff-list{display:grid;gap:8px}.repo-section-list button,.repo-file-row{width:100%;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--paper);cursor:pointer}.repo-section-list button{display:flex;justify-content:space-between;padding:10px;text-align:left}.repo-section-list button.active,.repo-file-row.active{border-color:#e0a8689e;background:#c4925a1f}.repo-section-list em{color:var(--muted);font-style:normal}.repo-main{min-width:0;padding:18px}.repo-header,.repo-detail-head,.repo-review-head,.repo-diff-heading,.repo-diff-op-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.repo-header{margin-bottom:16px}.repo-header h1,.repo-detail-head h2{margin:4px 0 0;color:var(--brass-bright);font-family:var(--display);font-weight:600}.repo-breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted)}.repo-breadcrumb button{border:0;background:transparent;color:var(--brass);cursor:pointer;padding:0}.repo-header-actions,.repo-detail-actions,.contribution-action-strip{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.repo-save-state{align-self:center;color:var(--muted);font-size:12px}.repo-save-state.dirty{color:#f0c978}.repo-content-grid{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,.64fr);gap:14px}.repo-browser,.repo-detail-panel,.repo-review-card,.repo-diff-panel,.repo-nested-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:#1f1812bd}.repo-browser,.repo-detail-panel{min-height:620px;padding:14px}.repo-browser-head{display:flex;justify-content:space-between;margin-bottom:12px}.repo-file-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;text-align:left;background:#f4ead90a}.repo-file-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);color:var(--brass);font-size:11px}.repo-file-copy{min-width:0;display:grid;gap:2px}.repo-file-copy strong,.repo-file-copy small,.repo-review-grid dd,.repo-diff-op small{overflow-wrap:anywhere}.repo-file-copy small,.repo-detail-head span,.repo-detail-meta,.repo-empty-note{color:var(--muted)}.repo-status{padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700}.repo-status.pending,.repo-status.status-pending{border-color:#e0a8689e;color:#f0c978}.repo-status.accepted,.repo-status.status-accepted{border-color:#7a9a4aad;color:#dce7c8}.repo-status.declined,.repo-status.status-declined{border-color:#a04030a6;color:#e9b0a7}.repo-detail-head{margin-bottom:16px}.repo-detail-meta{display:flex;gap:7px;flex-wrap:wrap}.repo-detail-meta em{font-style:normal}.repo-editor{min-width:0}.repo-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.repo-field,.repo-toggle-field{display:grid;gap:6px}.repo-field.wide,.repo-nested-panel,.repo-review-card,.repo-diff-panel,.contribution-action-strip{grid-column:1 / -1}.repo-field input,.repo-field textarea,.repo-field select{width:100%;border:1px solid var(--line-warm);border-radius:var(--radius);background:#0f0a069e;color:var(--paper);padding:9px 10px}.repo-select-custom{display:grid;gap:6px}.repo-review-card,.repo-diff-panel,.repo-nested-panel{padding:14px}.repo-mutation-card,.repo-divergence-card{grid-column:1 / -1;border:1px solid var(--line);border-radius:6px;padding:14px;background:#1f1812db}.repo-divergence-card{border-color:#e0a8686b;background:linear-gradient(180deg,#c4925a1a,#1f1812db 48%)}.repo-divergence-head,.repo-mutation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.repo-divergence-head span,.repo-mutation-head span{display:block;margin-bottom:3px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.repo-divergence-head strong,.repo-mutation-head strong{color:var(--paper)}.repo-divergence-card p{margin:0;color:#d8cbb5;line-height:1.45}.repo-consequence-list,.repo-mutation-list,.repo-outcome-list{display:grid;gap:8px;margin-top:12px}.repo-consequence-row,.repo-mutation-list span,.repo-outcome-list span,.repo-promotion-result{border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:#0f0a066b;color:var(--paper)}.repo-consequence-row span,.repo-outcome-list span{color:var(--brass-bright)}.repo-consequence-row p{margin-top:4px}.repo-promotion-result{color:#dce7c8}.repo-review-card h3,.repo-diff-panel h3{margin:0;color:var(--paper)}.repo-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.repo-review-grid dt{color:var(--muted);font-size:12px}.repo-review-grid dd{margin:2px 0 0;color:#f4ead9}.repo-review-card p,.repo-diff-panel p{margin:0;color:#d8cbb5;line-height:1.45}.story-asset-preview-image{width:min(100%,420px);aspect-ratio:16 / 9;display:block;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;background:#0f0a069e}.repo-diff-heading{margin-bottom:8px}.repo-diff-list{margin-top:12px}.repo-diff-op{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#0f0a0647}.repo-diff-op-head span{color:var(--muted);font-size:12px;text-transform:uppercase}.repo-diff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.repo-diff-cell{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:#f4ead90a}.repo-diff-cell>span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;text-transform:uppercase}.repo-diff-cell pre{max-height:260px;margin:0;overflow:auto;white-space:pre-wrap;color:#ead9ba;font-size:12px}.repo-diff-cell.added{border-color:#7a9a4ab8;background:#7a9a4a1f}.repo-diff-cell.changed{border-color:#e0a868ad;background:#e0a8681f}.repo-diff-cell.deleted{border-color:#a04030b8;background:#a040301f}.modal-scrim,.drawer-scrim{position:fixed;inset:0;z-index:35;background:#0a0705a8}.modal-scrim{display:grid;place-items:center;padding:18px}.add-place-modal{width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:18px;border:1px solid var(--line-warm);border-radius:var(--radius-lg);background:#1f1812fa;box-shadow:var(--shadow)}.modal-heading,.drawer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.kicker{display:block;margin-bottom:4px;color:var(--muted);font-size:12px;text-transform:uppercase}.modal-heading h2,.drawer-heading h2{margin:0;color:var(--brass-bright);font-family:var(--display);font-size:34px;font-weight:600;line-height:1}.add-place-form{display:grid;gap:13px}.add-place-form label{display:grid;gap:6px;color:var(--paper)}.add-place-form label>span{color:var(--muted);font-size:13px}.add-place-form input,.add-place-form select,.add-place-form textarea{width:100%;min-height:42px;border:1px solid var(--line-warm);border-radius:var(--radius);background:#00000047;color:var(--paper);padding:10px 12px}.add-place-form textarea{min-height:124px;resize:vertical}.map-preview-panel{display:grid;grid-template-columns:168px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#0f0a0647}.map-preview-image{position:relative;overflow:hidden;aspect-ratio:16 / 9;border:1px solid rgba(224,168,104,.32);border-radius:var(--radius);background:#100d0b}.map-preview-image img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.9) contrast(1.05)}.map-preview-marker{position:absolute;width:18px;height:18px;border:2px solid rgba(249,217,142,.95);border-radius:50%;background:#7a9a4ac7;box-shadow:0 0 0 5px #e0a86829,0 8px 18px #00000070;transform:translate(-50%,-50%)}.map-preview-panel strong,.map-preview-panel small{display:block}.map-preview-panel strong{color:var(--brass-bright)}.map-preview-panel small{margin-top:4px;color:var(--muted)}.map-preview-panel.ready{border-color:#7a9a4aad;background:#43582d2e}.modal-actions,.review-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.drawer-scrim{display:flex;justify-content:flex-end}.creator-drawer{width:min(520px,100%);height:100%;overflow:auto;padding:18px;border-left:1px solid var(--line-warm);background:#1f1812fa;box-shadow:-22px 0 70px #00000080}.creator-drawer{width:min(720px,100%)}.plot-editor{display:grid;gap:14px;margin-bottom:18px;padding:14px;border:1px solid rgba(74,138,138,.42);border-radius:var(--radius);background:#121c1b5c}.plot-editor-heading,.plot-choice-heading,.plot-choice-card-heading,.drawer-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.plot-editor-heading h3,.drawer-section-heading h3{margin:0;color:var(--brass-bright);font-family:var(--display);font-size:24px;font-weight:600;line-height:1.05}.plot-editor-heading>span,.plot-choice-heading>span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.plot-form,.plot-choice-editor{display:grid;gap:12px}.plot-form label,.plot-choice-grid label{display:grid;gap:6px;color:var(--paper)}.plot-form label>span,.plot-choice-grid label>span,.plot-fieldset legend{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.plot-form input,.plot-form select,.plot-form textarea,.plot-choice-grid input,.plot-choice-grid select,.plot-choice-grid textarea{width:100%;min-height:40px;border:1px solid rgba(232,220,196,.18);border-radius:var(--radius);background:#00000042;color:var(--paper);padding:9px 10px}.plot-form textarea,.plot-choice-grid textarea{resize:vertical}.plot-fieldset{margin:0;padding:10px;border:1px solid rgba(232,220,196,.16);border-radius:var(--radius)}.plot-npc-grid{display:flex;gap:8px;flex-wrap:wrap}.plot-npc-grid label{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(232,220,196,.12);border-radius:999px;background:#0000002e}.plot-choice-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(196,146,90,.28);border-radius:var(--radius);background:#0a070538}.plot-choice-card-heading strong{color:#f9d98e}.plot-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plot-choice-wide{grid-column:1 / -1}.drawer-section-heading{margin:18px 0 10px}.review-list{display:grid;gap:12px}.review-card{display:grid;grid-template-columns:136px minmax(0,1fr);gap:12px;padding:12px;border:1px solid rgba(122,154,74,.55);border-radius:var(--radius);background:#7a9a4a1a}.review-preview{overflow:hidden;aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);background:#100d0b}.review-preview img{width:100%;height:100%;object-fit:cover}.review-copy{min-width:0;display:grid;gap:8px}.review-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.review-copy h3{margin:0;color:var(--paper);font-size:18px;line-height:1.18}.review-copy p{margin:0;color:#d8cbb5;line-height:1.45}.empty-review,.accepted-strip{display:grid;gap:6px;padding:14px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);background:#00000024}.accepted-strip{margin-top:14px;border-style:solid;border-color:#7a9a4a80;color:#dce7c8}.creator-repo-shell,.repo-layout{min-height:calc(100vh - 72px);display:grid;grid-template-columns:248px minmax(0,1fr);background:#17110d;color:var(--paper)}.repo-sidebar{min-height:100%;border-right:1px solid var(--line-warm);background:#1f1812f5;padding:16px 12px}.repo-title-block,.repo-branch{display:grid;gap:4px;padding:10px 10px 14px;border-bottom:1px solid var(--line-warm)}.repo-eyebrow,.repo-branch span,.repo-breadcrumb,.repo-browser-head,.repo-detail-head>div>span,.repo-detail-meta,.repo-field>span,.repo-toggle-field,.repo-list-heading,.repo-editor-heading span{color:var(--muted);font-size:12px}.repo-title-block strong,.repo-branch strong{color:var(--brass-bright);font-family:var(--display);font-size:17px}.repo-title-block small{color:var(--muted)}.repo-section-list,.repo-sidebar nav,.repo-file-list{display:grid;gap:4px}.repo-section-list{margin-top:12px}.repo-section-list button,.repo-section-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:34px;border:1px solid transparent;border-radius:6px;padding:7px 9px;background:transparent;color:var(--paper);cursor:pointer;text-align:left}.repo-section-list button:hover,.repo-section-button:hover,.repo-section-list button.active,.repo-section-button.active{border-color:#e0a8685c;background:#c4925a1f;color:#fff3d9}.repo-section-list em,.repo-section-button small{min-width:24px;padding:2px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);text-align:center;font-style:normal;font-size:11px}.repo-main{min-width:0;display:grid;grid-template-rows:auto 1fr}.repo-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line-warm);background:#14100cf5}.repo-header h1{margin:5px 0 0;color:var(--paper);font-family:var(--display);font-size:32px;line-height:1.15}.repo-breadcrumb{display:flex;align-items:center;gap:7px}.repo-breadcrumb button{border:0;padding:0;background:transparent;color:var(--brass-bright);cursor:pointer}.repo-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.repo-save-state,.repo-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid var(--line);border-radius:999px;padding:3px 8px;color:var(--muted);background:#0f0a0657;font-size:12px;white-space:nowrap}.repo-save-state.dirty,.repo-status.changed,.repo-status.draft,.repo-status.pending{border-color:#e0a868a6;color:#f0c978;background:#e0a8681f}.repo-status.tracked,.repo-status.accepted,.repo-status.contributed{border-color:#7a9a4aad;color:#dce7c8;background:#7a9a4a1f}.repo-status.declined{border-color:#a04030a6;color:#e9b0a7;background:#a040301f}.repo-content-grid,.repo-workbench{min-height:0;display:grid;grid-template-columns:minmax(320px,.42fr) minmax(0,1fr)}.repo-browser,.repo-entity-list{min-width:0;border-right:1px solid var(--line-warm);background:#17110d;overflow:auto}.repo-browser-head,.repo-list-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border-bottom:1px solid var(--line-warm);background:#1f1812f0}.repo-file-row,.repo-file{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid rgba(90,69,48,.55);padding:10px 12px;background:transparent;color:var(--paper);cursor:pointer;text-align:left}.repo-file{grid-template-columns:minmax(0,1fr)}.repo-file-row:hover,.repo-file:hover,.repo-file-row.active,.repo-file.active{background:#c4925a1f}.repo-file-icon{display:inline-grid;width:30px;height:26px;place-items:center;border:1px solid rgba(224,168,104,.34);border-radius:5px;color:var(--brass-bright);background:#0f0a067a;font-size:10px;font-weight:800;text-transform:uppercase}.repo-file-copy,.repo-file{min-width:0}.repo-file-copy strong,.repo-file span{display:block;overflow:hidden;color:var(--paper);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.repo-file-copy small,.repo-file small{display:block;overflow:hidden;margin-top:3px;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.repo-location-tree,.repo-location-group,.repo-location-children{display:grid}.repo-location-group{border-bottom:1px solid rgba(90,69,48,.36)}.repo-location-group>.repo-file-row:last-child,.repo-location-children .repo-file-row:last-child{border-bottom:0}.repo-location-children{margin-left:18px;border-left:1px solid rgba(224,168,104,.24)}.repo-location-children .repo-file-row{grid-template-columns:28px minmax(0,1fr) auto;padding-left:12px}.repo-location-children .repo-file-icon{width:22px;height:22px;font-size:8px}.repo-location-orphans{padding:10px 12px 6px;color:var(--muted);font-size:12px;text-transform:uppercase}.repo-detail-panel,.repo-editor{min-width:0;overflow:auto;background:#17110d}.repo-detail-head,.repo-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line-warm);background:#14100cf5}.repo-detail-head h2,.repo-editor-heading h2,.plot-editor h3,.repo-nested-panel h3{margin:3px 0 0;color:var(--paper);font-size:20px;line-height:1.2}.repo-detail-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.repo-detail-meta em{border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--muted);font-style:normal}.repo-detail-actions{display:flex;gap:8px}.repo-editor{display:grid;gap:14px;padding:14px 16px 22px}.repo-editor-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line-warm);padding-bottom:8px}.repo-editor-tabs button{min-height:32px;border:1px solid var(--line);border-radius:6px;padding:6px 9px;background:#1f1812db;color:var(--paper);cursor:pointer}.repo-editor-tabs button.active,.repo-editor-tabs button:hover{border-color:var(--brass);color:#fff3d9}.setup-pack-runtime-preview{display:grid;gap:14px;margin-top:6px;border:1px solid var(--line-warm);border-radius:8px;padding:14px;background:#ffffff08}.setup-pack-runtime-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.setup-pack-runtime-preview-head h3{margin:2px 0 0;font-size:18px;font-weight:650;letter-spacing:0}.setup-pack-runtime-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.setup-pack-runtime-pills span,.setup-pack-runtime-attrs span,.setup-pack-runtime-talents li{border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:#00000029;color:var(--muted);font-size:12px}.setup-pack-runtime-preview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:14px;align-items:start}.setup-pack-runtime-output{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#0a0b0d75}.setup-pack-runtime-output h4{margin:0;font-size:14px;font-weight:650;letter-spacing:0}.setup-pack-runtime-output dl{display:grid;gap:8px;margin:0}.setup-pack-runtime-output dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:7px}.setup-pack-runtime-output dt{color:var(--muted)}.setup-pack-runtime-output dd{margin:0;text-align:right}.setup-pack-runtime-attrs,.setup-pack-runtime-talents{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.setup-pack-runtime-recorded{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:12px;line-height:1.45}.setup-pack-runtime-recorded strong{color:var(--paper)}.repo-form-grid,.repo-field-grid,.plot-form,.plot-choice-grid,.plot-editor-top{display:grid;gap:12px}.repo-form-grid.two,.plot-editor-top{grid-template-columns:repeat(2,minmax(0,1fr))}.repo-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.repo-field,.plot-editor label,.plot-choice-editor label{min-width:0;display:grid;gap:6px;color:var(--muted)}.repo-field.wide,.plot-choice-wide{grid-column:1 / -1}.repo-field input,.repo-field select,.repo-field textarea,.repo-record-row input,.repo-record-row textarea,.repo-inline-add input,.plot-editor input,.plot-editor select,.plot-editor textarea,.plot-choice-editor input,.plot-choice-editor select,.plot-choice-editor textarea{width:100%;min-height:36px;border:1px solid var(--line-warm);border-radius:6px;background:#0f0a069e;color:var(--paper);padding:8px 10px}.repo-field textarea,.repo-record-row textarea,.plot-editor textarea,.plot-choice-editor textarea{resize:vertical}.repo-field input:disabled,.repo-field select:disabled,.repo-field textarea:disabled,.repo-record-row input:disabled,.repo-record-row textarea:disabled,.repo-inline-add input:disabled{color:var(--muted);background:#1f1812eb}.repo-toggle-field{display:flex;align-items:center;gap:9px}.repo-toggle-field input{width:16px;height:16px;accent-color:var(--moss)}.repo-tag-list{display:flex;flex-wrap:wrap;gap:6px;min-height:30px}.repo-tag{border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:#1f1812db;color:var(--paper);cursor:pointer}.repo-inline-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.repo-tag-editor{display:flex;flex-direction:column;gap:0;border:1px solid var(--line-warm);border-radius:6px;background:#0f0a069e;overflow:hidden}.repo-tag-editor.is-disabled{background:#1f181280}.repo-tag-editor.is-readonly.is-empty,.repo-tag-editor.is-empty.is-disabled{border-style:dashed;opacity:.7}.repo-tag-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--paper)}.repo-tag-item:hover{background:#ffffff06}.repo-tag-editor.is-disabled .repo-tag-item:hover{background:transparent}.repo-tag-item__text{flex:1;min-width:0;line-height:1.45;word-break:break-word}.repo-tag-item.is-long .repo-tag-item__text{font-size:13px;color:#f3e8d2e0}.repo-tag-item__remove{flex:none;width:20px;height:20px;margin-top:1px;border:none;border-radius:4px;background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease}.repo-tag-item__remove:hover{background:#b43c322e;color:#ffc8bef2}.repo-tag-input{display:flex;align-items:center;gap:6px;padding:0 6px 0 10px}.repo-tag-editor .repo-tag-item+.repo-tag-input{border-top:1px solid rgba(255,255,255,.06)}.repo-tag-input input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--paper);padding:8px 0;font:inherit}.repo-tag-input input::placeholder{color:var(--muted);opacity:.7}.repo-tag-input__commit{flex:none;border:1px solid var(--line);border-radius:4px;background:#1f1812db;color:var(--brass-bright);padding:3px 8px;font-size:12px;cursor:pointer}.repo-tag-input__commit:hover{border-color:var(--brass)}.repo-tag-empty{padding:8px 10px;color:var(--muted);font-style:italic;font-size:13px}.repo-record-list,.repo-object-list,.plot-choice-list{display:grid;gap:10px}.repo-record-row{display:grid;grid-template-columns:minmax(130px,.32fr) minmax(0,1fr) auto;gap:8px}.repo-object-row,.plot-choice-editor{display:grid;gap:10px;border:1px solid var(--line);border-radius:6px;padding:10px;background:#1f1812db}.effect-row,.choice-row,.patch-row,.goal-row{grid-template-columns:repeat(2,minmax(0,1fr))}.repo-nested-panel,.plot-editor,.contribution-action-strip{border:1px solid var(--line);border-radius:6px;padding:12px;background:#1f1812db}.contribution-action-strip{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.repo-add-row{justify-self:start}.icon-button{min-width:36px;padding:0}.repo-empty-state{display:grid;gap:8px;margin:14px;padding:18px;border:1px dashed var(--line-warm);border-radius:6px;color:var(--muted);background:#1f1812b8}.canon-candidate-detail{align-content:start}.canon-bucket-summary .repo-review-grid{margin:0}.canon-entry-list{display:grid;gap:12px}.canon-entry-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:6px;padding:12px;background:#1f1812db}.canon-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.canon-entry-head span,.canon-stat-grid dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.canon-entry-head strong{display:block;margin-top:3px;color:var(--paper);overflow-wrap:anywhere}.canon-entry-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.canon-entry-actions{display:flex;flex-wrap:wrap;gap:8px}.canon-candidate-flag{display:inline-flex;align-items:center;min-height:24px;border:1px solid var(--line);border-radius:999px;padding:3px 8px;background:#0f0a0657;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.canon-candidate-flag.hot{border-color:#7a9a4aad;background:#7a9a4a1f;color:#dce7c8}.canon-candidate-flag.fresh{border-color:#4a8a8ab8;background:#4a8a8a1f;color:#c5ebeb}.canon-candidate-flag.review{border-color:#e0a868a6;background:#e0a8681f;color:#f0c978}.canon-candidate-flag.cold{border-color:#796f63bd;color:#c8baa2}.canon-candidate-flag.stale{border-color:#a04030b8;background:#a040301f;color:#f1c0b6}.canon-candidate-flag.promoted{border-color:#7a9a4ac7;background:#7a9a4a2e;color:#e5f2d6}.canon-candidate-flag.suppressed{border-color:#a04030bd;background:#a0403029;color:#f1c0b6}.canon-candidate-flag.watching{border-color:#4a8a8abd;background:#4a8a8a24;color:#c5ebeb}.canon-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.canon-stat-grid div{min-width:0;border:1px solid rgba(232,220,196,.12);border-radius:6px;padding:9px 10px;background:#0f0a0647}.canon-quality-strip{display:grid;gap:4px;border:1px solid rgba(160,64,48,.42);border-radius:6px;padding:10px;background:#a040301a;color:#f1c0b6}.canon-quality-strip strong{color:#f5d0c9}.canon-error-strip{border:1px solid rgba(160,64,48,.56);border-radius:6px;padding:10px 12px;background:#a0403024;color:#f1c0b6}.canon-stat-grid .wide{grid-column:1 / -1}.canon-stat-grid dd{margin:4px 0 0;color:var(--paper);overflow-wrap:anywhere}.plot-choice-heading,.plot-choice-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}@keyframes pulse-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes choice-warm-flash{0%,to{box-shadow:0 10px 26px #00000042}45%{border-color:#ffeeb4f2;box-shadow:0 14px 34px #0000005c,0 0 30px #e0a8687a;transform:translateY(-2px)}}@keyframes caret-blink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes glyph-intro-pulse{0%{box-shadow:0 0 0 4px #e0a86814,0 0 14px #f9d98e57,0 6px 16px #00000075}55%{box-shadow:0 0 0 12px #e0a86800,0 0 26px #f9d98ed1,0 6px 16px #00000075}to{box-shadow:0 0 0 4px #e0a86814,0 0 14px #f9d98e57,0 6px 16px #00000075}}@keyframes glyph-speaking{0%,to{transform:rotate(45deg) scale(1)}50%{transform:rotate(45deg) scale(1.18)}}@keyframes rim-speaking{0%,to{opacity:.72}50%{opacity:1}}@keyframes dating-sim-speaking{0%,to{translate:0 0}50%{translate:0 -5px}}@keyframes card-rise{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}@keyframes floating-bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes trust-shift{0%{opacity:0;transform:translate(-50%,-80%) scale(.96)}18%,72%{opacity:1;transform:translate(-50%,-120%) scale(1)}to{opacity:0;transform:translate(-50%,-178%) scale(.98)}}@keyframes map-current-pulse{0%{box-shadow:0 0 0 6px #e0a8682e,0 8px 24px #0000007a}70%{box-shadow:0 0 0 15px #e0a86800,0 8px 24px #0000007a}to{box-shadow:0 0 0 6px #e0a8682e,0 8px 24px #0000007a}}@keyframes camp-ring{0%{opacity:.85;transform:scale(.82)}to{opacity:0;transform:scale(1.34)}}@keyframes city-fade-in{0%{opacity:.55}to{opacity:1}}@keyframes city-crossfade-before{0%{opacity:1}to{opacity:0}}@keyframes city-crossfade-after{0%{opacity:0;transform:scale(1.006)}to{opacity:1;transform:scale(1)}}@keyframes render-spin{to{transform:rotate(360deg)}}@keyframes reveal-pop{0%{opacity:0;transform:scale(.985)}16%,82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.01)}}@keyframes camp-pulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.75)}18%,82%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}@keyframes location-glow{0%{border-color:#e0a868fa;box-shadow:0 0 #e0a86859}45%{border-color:#e0a868fa;box-shadow:0 0 0 6px #e0a8682e}to{box-shadow:0 0 #e0a86800}}@media(max-width:1120px){.city-layout,.tavern-layout,.scene-view{grid-template-columns:1fr}.city-panel,.chat-column{border-left:0;border-top:1px solid var(--line)}.chat-column{min-height:620px}.map-intro h1{font-size:48px}.scene-dialogue-stack{max-height:none}}@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column}.top-actions,.scene-clock,.session-actions{width:100%;justify-content:flex-start}.city-layout,.map-layout,.scene-column,.chat-column{padding:12px}.scene-view{min-height:calc(100vh - 128px);padding:12px;align-content:start}.scene-canvas{width:calc(100vw - 24px)}.scene-titleplate h1{font-size:18px}.scene-title-actions{max-width:100%;justify-content:flex-start}.npc-dock-banner{grid-template-columns:56px minmax(0,1fr) auto}.npc-dock-banner .npc-dock-meta{grid-row:2;grid-column:1 / -1;justify-content:flex-start}.floating-bubble,.floating-bubble.expanded{width:100%}.conflict-panel{max-height:none;overflow:visible}.conflict-panel-head{display:grid}.conflict-panel-head strong{font-size:19px}.input-dock{width:100%}.choice-strip{display:grid;grid-template-columns:1fr;gap:7px}.choice-button{max-width:none;min-height:38px;font-size:16px}.divergence-hint{max-width:100%;align-items:stretch;flex-direction:column}.divergence-hint-copy span{white-space:normal}.freeform-bar{grid-template-columns:1fr}.typewriter-caret{display:none}.freeform-send-button{width:100%}.plot-choice-grid{grid-template-columns:1fr}.map-layout{gap:12px}.map-intro{align-items:stretch;flex-direction:column}.map-controls,.map-detail-tabs,.map-zoom-controls,.map-major-limit,.map-focus-strip,.map-focus-strip button{width:100%}.map-detail-tabs button,.map-zoom-controls button{flex:1}.map-intro h1{font-size:38px}.world-map-frame{width:100%}.map-pin-label{max-width:126px;padding:5px 7px;font-size:11px}.map-site-label{max-width:130px;font-size:11px}.map-pin.label-left .map-pin-label{right:38px}.map-pin:not(.label-left) .map-pin-label{left:38px}.city-sub-pin{left:58%;top:62%}.city-sub-pin-label{max-width:150px;white-space:normal}.city-art{min-height:560px}.city-caption h1{font-size:42px}.scene-header h1{font-size:32px}.city-caption{left:16px;right:16px;bottom:16px}.npc-grid{grid-template-columns:1fr}.city-reveal-overlay{grid-template-columns:1fr;align-items:center}.review-card{grid-template-columns:1fr}.review-preview{aspect-ratio:16 / 9}.scene-header{display:grid}.chat-form{grid-template-columns:1fr}}.world-select-layout{min-height:calc(100vh - 56px);padding:40px 22px 64px;background:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.world-directory{width:min(1280px,100%);margin:0 auto;display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.world-directory-sidebar{display:grid;grid-template-columns:auto minmax(260px,1fr) minmax(360px,auto);gap:24px;align-items:center;color:var(--paper);padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel)}.world-directory-avatar{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--paper);font-family:var(--chrome-display);font-size:28px}.world-directory-avatar img{width:44px;height:44px;object-fit:contain}.world-directory-title{display:grid;gap:6px}.world-directory-title h1{margin:0;color:var(--paper);font-family:var(--chrome-display);font-size:26px;line-height:1.15;font-weight:var(--chrome-display-weight);letter-spacing:var(--chrome-display-tracking)}.world-directory-title p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.world-directory-stats{display:grid;grid-template-columns:repeat(4,minmax(76px,1fr));gap:10px;margin:0}.world-directory-stats div{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.world-directory-stats dt{color:var(--muted);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.world-directory-stats dd{margin:6px 0 0;color:var(--paper);font-family:var(--chrome-display);font-size:22px;font-weight:var(--chrome-display-weight);letter-spacing:var(--chrome-display-tracking);font-variant-numeric:tabular-nums}.world-directory-secondary{display:grid;gap:8px;justify-items:end;color:var(--muted);font-size:12px;white-space:nowrap}.world-create-link{min-height:34px;padding:7px 10px;display:inline-flex;align-items:center;justify-content:center}.create-world-modal{width:min(940px,100%);padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 36px);background:radial-gradient(120% 80% at 50% -10%,#e0a86814,#1f181200 60%),#1f1812fb}.create-world-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid var(--line-warm);background:linear-gradient(180deg,#e0a8680f,#0000)}.create-world-header-text{min-width:0}.create-world-header h2{margin:2px 0 6px;font-size:30px}.create-world-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:52ch}.create-world-header-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.create-world-meter{display:inline-flex;flex-direction:column;align-items:stretch;gap:6px;min-width:120px}.create-world-meter-track{position:relative;display:block;height:4px;border-radius:999px;background:#e8dcc41f;overflow:hidden}.create-world-meter-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--brass),var(--brass-bright));transition:width .2s ease}.create-world-meter-label{color:var(--muted);font-size:11px;letter-spacing:.04em;text-align:right;text-transform:uppercase}.create-world-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 24px;border-bottom:1px solid rgba(90,69,48,.72);background:#0a07043d}.create-world-path{appearance:none;display:grid;gap:5px;min-height:88px;padding:12px;border:1px solid rgba(90,69,48,.86);border-radius:8px;background:#0a070461;color:var(--paper);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.create-world-path span{color:var(--brass-bright);font-family:var(--display);font-size:17px}.create-world-path small{color:var(--muted);font-size:12px;line-height:1.4}.create-world-path:hover,.create-world-path:focus-visible{border-color:var(--brass)}.create-world-path.active{border-color:#e0a868c2;background:#c4925a1f;box-shadow:inset 0 0 0 1px #e0a86833}.create-world-form{gap:0;padding:8px 24px 22px;overflow-y:auto}.create-world-section{margin:0;padding:18px 0 4px;border:0;border-top:1px dashed rgba(90,69,48,.7)}.create-world-section:first-of-type{border-top:0;padding-top:16px}.create-world-section legend{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:12px;row-gap:2px;padding:0;margin-bottom:12px;width:100%}.create-world-section-num{grid-row:1 / span 2;align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line-warm);border-radius:999px;color:var(--brass-bright);font-family:var(--display);font-size:14px;letter-spacing:.06em;background:#0000004d}.create-world-section-title{color:var(--brass-bright);font-family:var(--display);font-size:19px;letter-spacing:.01em}.create-world-section-sub{color:var(--muted);font-size:12.5px;line-height:1.45}.create-world-grid{display:grid;gap:14px;align-items:start}.create-world-grid.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.create-world-form label{align-content:start}.create-world-form input{min-height:38px}.create-world-form textarea{min-height:84px}@media(max-width:640px){.create-world-grid.two-col,.create-world-paths,.create-frame-picker,.create-module-picker,.create-mechanic-picker,.create-combat-picker{grid-template-columns:minmax(0,1fr)}.create-world-header{flex-direction:column}.create-world-header-side{flex-direction:row;align-items:center;width:100%;justify-content:space-between}}.create-world-form label{font-size:12.5px}.create-world-form label>span{display:flex;align-items:baseline;gap:6px;color:var(--paper);font-size:12.5px;letter-spacing:.02em;text-transform:uppercase}.add-place-form label>span em{color:var(--muted);font-style:normal;font-weight:400;font-size:11px;letter-spacing:.05em;text-transform:uppercase;opacity:.7}.create-world-form input,.create-world-form textarea{background:#0a07048c;border-color:#5a4530d9;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease;font-family:inherit;font-size:14px;line-height:1.45}.create-world-form input::placeholder,.create-world-form textarea::placeholder{color:#9a8970b3;font-style:italic}.create-world-form input:hover,.create-world-form textarea:hover{border-color:#c4925ab3}.create-world-form input:focus,.create-world-form textarea:focus{outline:none;border-color:var(--brass-bright);background:#0a0704b3;box-shadow:0 0 0 3px #e0a86826}.create-world-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.create-world-chip{appearance:none;border:1px solid rgba(90,69,48,.85);background:#0a070466;color:var(--muted);padding:4px 10px;border-radius:999px;font-size:11.5px;letter-spacing:.02em;cursor:pointer;transition:all .14s ease;font-family:inherit}.create-world-chip:hover{color:var(--paper);border-color:var(--brass)}.create-world-chip.active{color:var(--paper);background:#c4925a2e;border-color:var(--brass-bright);box-shadow:inset 0 0 0 1px #e0a86840}.create-option-picker{display:grid;gap:10px}.create-frame-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.create-module-picker,.create-mechanic-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.create-combat-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.create-option-card{appearance:none;display:grid;gap:6px;min-height:104px;padding:12px;text-align:left;border:1px solid rgba(90,69,48,.85);border-radius:8px;background:#0a070461;color:var(--paper);cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.create-option-card.compact{min-height:88px;padding:10px}.create-option-card span{color:var(--brass-bright);font-family:var(--display);font-size:17px}.create-option-card.compact span{font-size:15px}.create-option-card small{color:var(--muted);font-size:12px;line-height:1.4}.create-option-card:hover,.create-option-card:focus-visible{border-color:var(--brass)}.create-option-card.active{border-color:var(--brass-bright);background:#c4925a24;box-shadow:inset 0 0 0 1px #e0a8683d}@media(max-width:980px){.create-world-paths,.create-frame-picker,.create-module-picker,.create-mechanic-picker,.create-combat-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.create-world-paths,.create-frame-picker,.create-module-picker,.create-mechanic-picker,.create-combat-picker{grid-template-columns:minmax(0,1fr)}}.create-world-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-warm);align-items:center}.create-world-actions-note{margin-right:auto;color:var(--muted);font-size:12.5px;font-style:italic}.world-repo-index{display:grid;gap:14px;min-width:0}.world-repo-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.world-search-field{flex:1 1 300px;min-width:min(320px,100%)}.world-search-field input,.world-sort-field select{width:100%;min-height:38px;border:1px solid var(--line-warm);border-radius:6px;padding:8px 12px;background:#0f0a069e;color:var(--paper)}.world-search-field input::placeholder{color:var(--muted)}.world-sort-field{min-width:176px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;color:var(--muted);font-size:12px}.world-sort-field span{text-transform:uppercase;letter-spacing:.08em}.world-sort-field select{appearance:none;color:var(--paper);background:linear-gradient(45deg,transparent 50%,var(--brass-bright) 50%) calc(100% - 16px) 15px / 6px 6px no-repeat,linear-gradient(135deg,var(--brass-bright) 50%,transparent 50%) calc(100% - 10px) 15px / 6px 6px no-repeat,#0f0a069e;padding-right:30px}.world-filter-tabs{display:inline-flex;min-height:38px;border:1px solid var(--line);border-radius:6px;background:#1f1812db;overflow:hidden}.world-filter-tabs button{border:0;border-right:1px solid var(--line);padding:8px 12px;background:transparent;color:var(--paper);cursor:pointer}.world-filter-tabs button:last-child{border-right:0}.world-filter-tabs button:hover,.world-filter-tabs button.active{background:#c4925a1f;color:#fff3d9}.world-repo-list{overflow:visible}.world-repo-list-head{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 10px;color:var(--paper)}.world-repo-list-head strong{color:var(--paper)}.world-repo-list-head span{color:var(--muted);font-size:12px}.world-repo-row{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:0;border-bottom:1px solid rgba(90,69,48,.55);background:transparent;color:var(--paper);text-align:left;cursor:pointer}.world-repo-row:last-child{border-bottom:0}.world-repo-row:hover:not(:disabled),.world-repo-row:focus-visible:not(:disabled){background:#c4925a1f;outline:none}.world-repo-row:disabled{cursor:not-allowed;opacity:.72}.world-repo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.world-card{display:grid;grid-template-rows:168px auto auto;gap:12px;padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);color:var(--paper);text-align:left;cursor:pointer;overflow:hidden;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.world-card:hover:not(:disabled),.world-card:focus-visible:not(:disabled){border-color:var(--line-warm);background:var(--panel-2);outline:none;transform:translateY(-2px);box-shadow:0 12px 32px #0006}.world-card:disabled{cursor:not-allowed;opacity:.72}.world-repo-thumb{width:56px;height:42px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--paper);font-family:var(--chrome-display);font-size:18px;font-weight:var(--chrome-display-weight)}.world-repo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.world-card>.world-repo-thumb{width:100%;height:150px;border:0;border-bottom:1px solid var(--line);border-radius:0}.world-card-copy{min-width:0;display:grid;gap:7px;padding:0 14px 16px}.world-card-copy small{min-height:42px;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.world-card .world-tile-stats{align-self:start;padding:0 14px 14px}.world-tile-stats.muted{color:var(--muted)}.world-repo-copy{min-width:0;display:grid;gap:5px}.world-repo-name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.world-repo-name-line strong{color:var(--paper);font-family:var(--chrome-display);font-size:16px;font-weight:var(--chrome-display-weight);letter-spacing:var(--chrome-display-tracking);overflow-wrap:anywhere}.world-repo-row:hover:not(:disabled) .world-repo-name-line strong{text-decoration:underline}.world-repo-copy small{color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.world-repo-status{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border:1px solid var(--line);border-radius:999px;font-size:11px;color:var(--muted);text-transform:capitalize}.world-repo-status.ready{border-color:#7a9a4a80;color:#dce7c8;background:#7a9a4a1f}.world-repo-status.draft{border-color:#d2992280;color:#e3b341;background:#d299221f}.world-repo-status.generating,.world-repo-status.images_rendering{border-color:#5c96b38c;color:#c8e2ec;background:#5c96b31f}.world-repo-status.failed{border-color:#ae50429e;color:#f0c1b7;background:#ae504224}.world-card.generating .world-repo-thumb,.world-card.images_rendering .world-repo-thumb{background:linear-gradient(135deg,#1d2d30f5,#2b2018f5),#1f1812db}.world-card.failed .world-repo-thumb{background:linear-gradient(135deg,#481f1af5,#241d18f5),#1f1812db}.retry-link{color:var(--brass-bright);text-decoration:underline;cursor:pointer}.world-delete-button{justify-self:start;border:1px solid rgba(174,80,66,.48);border-radius:6px;background:#481f1a6b;color:#f0c1b7;font:inherit;font-size:12px;cursor:pointer;padding:5px 8px}.world-delete-button:hover,.world-delete-button:focus-visible,.danger-button:hover,.danger-button:focus-visible{border-color:#dd705eb8;color:#ffd6ce;outline:none}.danger-button{border-color:#ae504294;color:#f0c1b7}.world-repo-meta{display:grid;gap:5px;justify-items:end;color:var(--muted);font-size:12px;white-space:nowrap}.world-repo-empty,.world-create-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;color:var(--paper)}.world-repo-empty{display:grid;justify-content:stretch}.world-repo-empty strong,.world-create-strip strong{color:var(--paper)}.world-repo-empty small,.world-create-strip small{display:block;margin-top:3px;color:var(--muted)}.world-create-strip{border:1px solid var(--line);border-radius:6px;background:#1f1812db}@media(max-width:900px){.world-directory{grid-template-columns:1fr}.world-directory-sidebar{grid-template-columns:auto minmax(0,1fr)}.world-directory-stats,.world-directory-secondary{grid-column:1 / -1}.world-directory-secondary{justify-items:start;grid-template-columns:1fr auto;align-items:center}}@media(max-width:680px){.world-select-layout{padding:16px 12px 32px}.world-repo-row{grid-template-columns:48px minmax(0,1fr);align-items:start;padding:12px}.world-directory-sidebar{grid-template-columns:1fr}.world-directory-stats{grid-template-columns:1fr 1fr}.world-repo-grid{grid-template-columns:1fr;padding:10px}.world-repo-thumb{width:42px;height:42px}.world-repo-meta{grid-column:2;justify-items:start;white-space:normal}.world-repo-list-head,.world-create-strip{align-items:flex-start;flex-direction:column}.world-filter-tabs,.world-search-field,.world-sort-field,.world-create-strip .secondary-button{width:100%}.world-filter-tabs button{flex:1}}.topbar-select .top-actions,.topbar-select .scene-clock{display:none}.world-nav-tabs{display:flex;align-items:stretch;gap:4px;flex:1 1 auto;margin:0 16px;overflow:visible}.world-nav-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:18px 14px 16px;border:0;background:transparent;color:var(--paper);font-size:14px;font-weight:500;letter-spacing:.01em;cursor:pointer;border-bottom:2px solid transparent;transition:color .12s ease,border-color .12s ease,background .12s ease}.world-nav-manage{position:relative;display:inline-flex}.world-nav-tab:hover{color:var(--brass-bright);background:#ffffff05}.world-nav-tab.active{color:var(--brass-bright);border-bottom-color:var(--brass)}.world-nav-badge{display:inline-grid;min-width:22px;height:22px;place-items:center;padding:0 6px;border:1px solid rgba(224,168,104,.55);border-radius:999px;color:var(--brass-bright);font-size:12px;font-weight:600}.world-nav-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:190px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#160f0afa;box-shadow:0 18px 40px #00000061}.world-nav-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--paper);text-align:left;cursor:pointer}.world-nav-menu button:last-child{border-bottom:0}.world-nav-menu button:hover{background:#c79b521a;color:var(--brass-bright)}.world-nav-menu span{display:inline-grid;min-width:20px;height:20px;place-items:center;border:1px solid rgba(224,168,104,.55);border-radius:999px;color:var(--brass-bright);font-size:12px}.play-page-pill{display:inline-flex;min-height:38px;align-items:center;border:1px solid rgba(224,168,104,.55);border-radius:var(--radius);padding:8px 12px;background:#c4925a24;color:var(--brass-bright);font-weight:700;white-space:nowrap}.topbar-world .top-actions{flex-shrink:0}.topbar-world .scene-clock{font-size:13px}.world-overview{max-width:1160px;margin:0 auto;padding:28px 24px 56px;display:flex;flex-direction:column;gap:18px}.overview-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.overview-repo-heading{min-width:0;display:grid;gap:8px}.overview-owner{color:var(--muted);font-size:13px}.overview-repo-heading h1{margin:0;color:var(--brass-bright);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:28px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.overview-repo-heading p{max-width:78ch;margin:0;color:#d6c5a4;line-height:1.5}.overview-repo-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:13px}.overview-repo-meta span{display:inline-flex;align-items:center;gap:6px}.overview-repo-meta span:before{width:6px;height:6px;border-radius:50%;background:#e0a868bf;content:""}.overview-repo-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.overview-repo-shell{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:18px;align-items:stretch}.overview-map-preview{min-height:260px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#0c0907}.overview-map-preview img{width:100%;height:100%;min-height:260px;display:block;object-fit:cover}.overview-player-map{position:relative;min-height:380px}.overview-map-hotspot{position:absolute;border:1px solid rgba(255,221,139,.9);border-radius:999px;padding:8px 12px;background:#2a1c0dd6;color:#ffe6a5;box-shadow:0 0 0 6px #e6aa4f2e,0 14px 34px #00000061;font-size:12px;font-weight:800;cursor:pointer;transform:translate(-50%,-50%);transition:transform .14s ease,background .14s ease}.overview-map-hotspot:hover{background:#5b3b19f5;transform:translate(-50%,-50%) scale(1.04)}.hotspot-novigrad{left:82%;top:58%}.hotspot-primary{left:50%;top:50%}.hotspot-tavern{left:76%;top:50%}.overview-cta-badge{display:inline-grid;min-width:22px;height:22px;place-items:center;padding:0 6px;margin-left:8px;border:1px solid rgba(224,168,104,.55);border-radius:999px;color:var(--brass-bright);font-size:12px}.overview-manage-button{display:inline-flex;align-items:center;gap:8px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.overview-readme,.overview-activity,.overview-pending,.overview-contributors{border:1px solid var(--line);background:#1f18128c;border-radius:var(--radius-lg);padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px}.overview-readme header,.overview-activity header,.overview-pending header,.overview-contributors header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0}.overview-readme header>div,.overview-activity header>div,.overview-pending header>div{display:flex;flex-direction:column;gap:4px}.overview-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.overview-readme h2,.overview-activity h2,.overview-pending h2,.overview-contributors h2{margin:0;font-size:20px;font-weight:700;color:var(--paper)}.overview-readme p{margin:0;font-size:15px;line-height:1.6;color:#d6c5a4}.overview-player-brief{justify-content:center}.overview-player-brief .primary-button{align-self:flex-start}.overview-player-objectives{display:grid;gap:8px}.overview-player-objectives span,.overview-growth-stats span{display:flex;align-items:flex-start;gap:8px;color:#e9ddc5;font-size:14px;line-height:1.45}.overview-player-objectives span:before,.overview-growth-stats span:before{flex:0 0 auto;width:7px;height:7px;margin-top:7px;border-radius:50%;background:#e0a868d9;content:""}.overview-readme-aside{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.overview-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#0f0a0638}.overview-file-list span{min-width:0;padding:10px 12px;border-bottom:1px solid var(--line);color:#e4d7bd;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;overflow-wrap:anywhere}.overview-file-list span:nth-last-child(-n+2){border-bottom:0}.overview-file-list span:nth-child(odd){border-right:1px solid var(--line)}.overview-contributors ul,.overview-activity ul,.overview-pending ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.overview-contributors li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px dashed var(--line);font-size:14px}.overview-contributors li:last-child{border-bottom:0}.overview-byline{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--paper);font-size:13px}.overview-contributors em{font-style:normal;color:var(--muted);font-size:12px}.overview-avatar{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid rgba(199,155,82,.55);background:#2a1f17;color:#f9d98e;border-radius:999px;font-family:var(--display);font-size:13px;font-weight:600}.overview-activity-row,.overview-pending-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 8px;background:transparent;border:0;border-radius:var(--radius);text-align:left;cursor:pointer;transition:background .12s ease}.overview-activity-row:hover,.overview-pending-row:hover{background:#c79b5214}.overview-activity-copy,.overview-pending-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.overview-activity-line{font-size:14px;color:var(--paper)}.overview-activity-line strong{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-weight:500;color:var(--brass-bright)}.overview-activity-line em{font-style:normal;color:var(--paper)}.overview-activity-copy small{color:var(--muted);font-size:12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.overview-activity-time{color:var(--muted);font-size:12px;white-space:nowrap}.overview-place-row{width:100%;display:grid;grid-template-columns:minmax(86px,auto) 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid rgba(199,155,82,.18);border-radius:var(--radius);background:#0f0a0633;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease}.overview-place-row:hover,.overview-npc-card:hover,.overview-npc-card.active{border-color:#e0a8689e;background:#c79b5214}.overview-place-label,.overview-place-action,.overview-npc-card em{color:var(--brass-bright);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.overview-place-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.overview-place-copy strong{color:var(--paper);font-size:15px}.overview-place-copy small{display:-webkit-box;color:var(--muted);font-size:13px;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.overview-npc-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.overview-npc-card{min-width:0;display:grid;grid-template-columns:1fr;gap:10px;padding:10px;border:1px solid rgba(199,155,82,.2);border-radius:var(--radius);background:#0f0a0633;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease}.overview-npc-card img{width:100%;aspect-ratio:1;border-radius:var(--radius);border:1px solid rgba(199,155,82,.28);object-fit:cover;object-position:top center}.overview-npc-card span{min-width:0;display:flex;flex-direction:column;gap:4px}.overview-npc-card strong{color:var(--paper);font-size:15px}.overview-npc-card small{display:-webkit-box;min-height:34px;color:var(--muted);font-size:12px;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.overview-npc-detail{display:grid;grid-template-columns:120px 1fr;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(199,155,82,.2)}.overview-npc-detail img{width:120px;aspect-ratio:1;border-radius:var(--radius);border:1px solid rgba(199,155,82,.32);object-fit:cover;object-position:top center}.overview-npc-detail header{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.overview-npc-detail header span{color:var(--brass-bright);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.overview-npc-detail h3{margin:0;color:var(--paper);font-size:22px;line-height:1.05}.overview-npc-detail p{margin:0 0 12px;color:#d6c5a4;font-size:14px;line-height:1.45}.overview-npc-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0}.overview-npc-detail dl div{min-width:0}.overview-npc-detail dt{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.overview-npc-detail dd{margin:2px 0 0;color:var(--paper);font-size:13px;line-height:1.35}.overview-player-growth p{max-width:82ch;margin:0;color:#d6c5a4;font-size:15px;line-height:1.55}.overview-growth-stats{display:flex;flex-wrap:wrap;gap:12px 18px}.overview-pr-id{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--muted);font-size:12px;align-self:center}.overview-pending-copy strong{font-size:14px;font-weight:500;color:var(--paper)}.overview-pending-copy small{color:var(--muted);font-size:12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.overview-empty{margin:0;font-size:14px;color:var(--muted);font-style:italic}.placeholder-view{max-width:760px;margin:0 auto;padding:64px 24px;display:flex;flex-direction:column;gap:12px;text-align:center}.placeholder-view h1{font-family:var(--display);font-size:32px;color:var(--brass-bright);margin:0}.placeholder-view p{color:var(--muted);margin:0}.placeholder-view button{align-self:center;margin-top:12px}@media(max-width:900px){.overview-hero{flex-direction:column}.overview-repo-actions{justify-content:flex-start}.overview-repo-shell,.overview-grid,.overview-npc-strip{grid-template-columns:1fr}.overview-npc-card{grid-template-columns:72px 1fr;align-items:center}.overview-npc-card img{width:72px}.overview-npc-detail{grid-template-columns:84px 1fr}.overview-npc-detail img{width:84px}.overview-npc-detail dl{grid-template-columns:1fr}}@media(max-width:560px){.overview-file-list{grid-template-columns:1fr}.overview-file-list span,.overview-file-list span:nth-child(odd){border-right:0}.overview-file-list span:nth-last-child(2){border-bottom:1px solid var(--line)}.map-preview-panel,.overview-place-row{grid-template-columns:1fr}.overview-place-action{justify-self:start}.overview-player-map{min-height:300px}.overview-map-hotspot{padding:7px 9px}}@media(max-width:700px){.topbar-world{position:static;display:grid;grid-template-columns:1fr;align-items:start;gap:12px;width:100%;max-width:100vw;overflow-x:clip;padding-inline:14px}.topbar-world .brand{width:auto;min-width:0;max-width:100%}.topbar-world .brand>span{min-width:0}.topbar-world .brand small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-nav-tabs{width:auto;min-width:0;max-width:100%;margin:0;overflow-x:auto}.topbar-world .top-actions{width:auto;min-width:0;max-width:100%;justify-content:flex-start}.topbar-world .session-actions{width:auto;min-width:0;max-width:100%;flex-wrap:wrap}.topbar-world .scene-clock span{padding:5px 8px}.gameplay-view{width:100%;max-width:100%;padding:22px 14px 44px;overflow-x:clip}.gameplay-card-grid{grid-template-columns:minmax(0,1fr)}.gameplay-section-head,.gameplay-card-head{align-items:flex-start;flex-wrap:wrap}.overview-repo-heading h1{font-size:23px}.overview-repo-actions{width:100%}}.activity-view{max-width:940px;margin:0 auto;padding:32px 24px 56px;display:flex;flex-direction:column;gap:20px}.activity-header h1{margin:4px 0 6px;font-family:var(--display);font-size:32px;font-weight:600;color:var(--brass-bright)}.activity-subtitle{margin:0;color:var(--muted);font-size:14px;max-width:60ch}.activity-filters{display:flex;flex-wrap:wrap;gap:6px}.activity-filter{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);background:#1f181299;color:var(--paper);border-radius:999px;font-size:13px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.activity-filter em{font-style:normal;color:var(--muted);font-size:12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.activity-filter:hover{border-color:#c79b528c}.activity-filter.active{background:#c79b5229;border-color:var(--brass);color:var(--brass-bright)}.activity-filter.active em{color:var(--brass-bright)}.activity-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.activity-empty-state{border:1px dashed var(--line);border-radius:var(--radius-lg);padding:24px;text-align:center;color:var(--muted);background:#1f181266}.activity-empty-state p{margin:0;font-size:14px}.activity-entry{border:1px solid var(--line);background:#1f18128c;border-radius:var(--radius-lg);padding:16px 18px}.activity-entry-bootstrap{border-style:dashed;background:#1f18124d}.activity-entry-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start}.activity-avatar-button{border:0;background:transparent;padding:0;cursor:pointer}.activity-entry-body{display:flex;flex-direction:column;gap:8px;min-width:0}.activity-entry-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14px}.activity-byline-button,.activity-title-button{border:0;background:transparent;padding:0;cursor:pointer;color:var(--brass-bright);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.activity-title-button{font-family:var(--display);font-size:16px;color:var(--paper)}.activity-title-button:hover{color:var(--brass-bright)}.activity-verb{color:var(--muted)}.activity-time{color:var(--muted);font-size:12px;margin-left:auto}.activity-entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px}.activity-meta-chip{padding:2px 8px;border:1px solid rgba(74,138,138,.4);background:#4a8a8a14;color:#88c2c2;border-radius:999px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.activity-meta-path{color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.activity-diff-toggle{margin-left:auto;border:0;background:transparent;color:var(--brass);font-size:12px;cursor:pointer;text-decoration:underline}.activity-diff-toggle:hover{color:var(--brass-bright)}.activity-diff-drawer{margin-top:8px;border:1px solid var(--line);border-radius:var(--radius);background:#0c0907b3;padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:12px}.activity-diff-empty{margin:0;color:var(--muted);font-style:italic}.diff-row{border-radius:var(--radius);border:1px solid transparent;padding:8px 10px;background:#ffffff05}.diff-row header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}.diff-row code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--paper);font-size:12px}.diff-row em{font-style:normal;color:var(--muted)}.diff-op-pill{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}.diff-row-add{border-color:#7a9a4a66;background:#7a9a4a14}.diff-row-add .diff-op-pill{background:#7a9a4a66;color:#d4e4ad}.diff-row-remove{border-color:#a0403066;background:#a040301a}.diff-row-remove .diff-op-pill{background:#a0403080;color:#f1c2b4}.diff-row-replace{border-color:#c4925a66;background:#c4925a1a}.diff-row-replace .diff-op-pill{background:#c4925a80;color:#f9d98e}.diff-row pre{margin:0;padding:6px 8px;background:#00000059;border-radius:4px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--paper);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.diff-row-before{border-left:3px solid rgba(160,64,48,.5)}.diff-row-after{border-left:3px solid rgba(122,154,74,.5)}.pr-view{max-width:1180px;margin:0 auto;padding:28px 24px 56px;display:flex;flex-direction:column;gap:18px}.pr-view-missing{text-align:center;padding-top:80px}.pr-back-button{align-self:flex-start;border:0;background:transparent;color:var(--brass);font-size:13px;cursor:pointer;padding:4px 0}.pr-back-button:hover{color:var(--brass-bright)}.pr-header{display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line);padding-bottom:16px}.pr-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.pr-id{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:18px;color:var(--muted)}.pr-title-row h1{margin:0;font-family:var(--display);font-size:30px;font-weight:600;color:var(--paper);flex:1 1 auto;min-width:240px}.pr-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.pr-byline-button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;cursor:pointer;color:var(--brass-bright);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.pr-byline-button:hover{text-decoration:underline}.pr-meta-divider{color:var(--dim)}.pr-meta-text{color:var(--muted)}.pr-body{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:flex-start}.pr-main{min-width:0;display:flex;flex-direction:column;gap:16px}.pr-sidebar{position:sticky;top:88px;align-self:flex-start;display:flex;flex-direction:column;gap:14px;border:1px solid var(--line);background:#1f18128c;border-radius:var(--radius-lg);padding:16px 18px}.pr-sidebar-block{display:flex;flex-direction:column;gap:6px}.pr-sidebar-block strong{font-family:var(--display);font-size:18px;color:var(--paper)}.pr-kind-label{color:var(--paper)}.pr-summary-card{border:1px solid var(--line);background:#1f18128c;border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:12px}.pr-summary-card header{display:flex;flex-direction:column;gap:4px}.pr-summary-card header small{color:var(--muted);font-size:12px}.pr-generated-preview{margin:0;border:1px solid rgba(224,168,104,.34);border-radius:var(--radius);overflow:hidden;background:#0c0907a3}.pr-generated-preview img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.pr-generated-preview figcaption{padding:8px 10px 9px;color:var(--brass-bright);font-size:12px;background:#14100cd1}.pr-summary-line{margin:0;color:var(--paper);font-size:15.5px;line-height:1.6}.pr-readmore-toggle{align-self:flex-start;border:0;background:transparent;padding:4px 0;color:var(--brass-bright);font-size:13px;cursor:pointer;font-family:inherit}.pr-readmore-toggle:hover{text-decoration:underline}.pr-description{display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.6;color:#d6c5a4;border-top:1px dashed var(--line);padding-top:12px}.pr-description p{margin:0}.pr-visuals-card{border:1px solid var(--line);background:#1f18128c;border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:12px}.pr-visuals-card header{display:flex;flex-direction:column;gap:4px}.pr-visuals-card header small{color:var(--muted);font-size:12px}.pr-visuals-grid{display:grid;gap:12px}.pr-visuals-grid-1{grid-template-columns:1fr}.pr-visuals-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pr-visual{margin:0;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#0c09078c}.pr-visual img{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;display:block}.pr-visual figcaption{font-size:12px;color:var(--muted);padding:6px 10px 8px}.pr-status-trail{border:1px dashed var(--line);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:8px}.pr-status-trail-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:13px}.pr-status-trail-row strong{color:var(--paper);font-weight:500}.pr-status-trail-row small{color:var(--muted);font-size:12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.pr-status-dot{width:9px;height:9px;border-radius:999px;background:var(--brass);display:inline-block}.pr-status-trail-merged .pr-status-dot{background:var(--moss)}.pr-status-trail-closed .pr-status-dot{background:var(--ember)}.pr-actions{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:16px}.pr-action-merge,.pr-action-close{border:1px solid transparent;border-radius:var(--radius);padding:10px 18px;font-family:var(--display);font-size:16px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.pr-action-merge{background:#7a9a4ad9;color:#14100c;border-color:#7a9a4af2}.pr-action-merge:hover:not(:disabled){background:#8fb25af2}.pr-action-merge:disabled{background:#7a9a4a33;color:var(--muted);cursor:not-allowed}.pr-action-close{background:transparent;color:var(--paper);border-color:#a0403080}.pr-action-close:hover:not(:disabled){background:#a040302e;border-color:#a04030b3;color:#f1c2b4}.pr-action-close:disabled{color:var(--dim);border-color:var(--line);cursor:not-allowed}.overview-status-pill.closed{border-color:#a040308c;background:#a040301f;color:#f1c2b4}@media(max-width:900px){.pr-body{grid-template-columns:1fr}.pr-sidebar{position:static}.pr-visuals-grid-2{grid-template-columns:1fr}}.contributor-drawer-scrim{position:fixed;inset:0;background:#0806048c;z-index:60;display:flex;justify-content:flex-end}.contributor-drawer{width:min(420px,96vw);height:100vh;background:linear-gradient(180deg,#1f1812fa,#14100cfa);border-left:1px solid var(--line);box-shadow:-24px 0 60px #00000080;display:flex;flex-direction:column;gap:18px;padding:20px 22px 28px;overflow-y:auto;animation:drawer-slide-in .22s ease}@keyframes drawer-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.contributor-drawer-header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px}.contributor-identity{display:flex;align-items:center;gap:12px}.contributor-avatar{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(232,220,196,.18);color:#f5e8c9;font-family:var(--display);font-size:16px;font-weight:600}.contributor-avatar-mini{width:30px;height:30px;font-size:12px}.contributor-name-block strong{display:block;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--brass-bright);font-size:16px}.contributor-name-block small{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.contributor-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.contributor-stats>div{border:1px solid var(--line);background:#1f181280;border-radius:var(--radius);padding:12px 14px}.contributor-stats dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}.contributor-stats dd{margin:0;font-family:var(--display);font-size:22px;color:var(--brass-bright)}.contributor-history{display:flex;flex-direction:column;gap:10px}.contributor-history header{display:flex;justify-content:space-between;align-items:center;gap:10px}.contributor-history h2{margin:0;font-family:var(--display);font-size:18px;color:var(--paper)}.contributor-history ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.contributor-empty{margin:0;color:var(--muted);font-style:italic;font-size:13px}.contributor-history-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;background:transparent;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;transition:background .12s ease,border-color .12s ease}.contributor-history-row:hover{background:#c79b5214;border-color:#c79b5266}.contributor-history-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.contributor-history-copy strong{font-size:13px;font-weight:500;color:var(--paper)}.contributor-history-copy small{font-size:12px;color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.contributor-history-time{font-size:12px;color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;white-space:nowrap}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.activity-byline-filter{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#4a8a8a1a;font-size:13px;color:var(--paper)}.activity-byline-filter span{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:#88c2c2}.overview-contributor-button{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:10px;cursor:pointer;color:inherit}.overview-contributor-button:hover .overview-byline{color:var(--brass-bright)}.world-tile-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}.world-tile-stat{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.world-tile-stat-time{margin-left:auto}.world-tile-pulse{width:8px;height:8px;border-radius:999px;background:var(--dim);display:inline-block}.world-tile-pulse.active{background:var(--moss);box-shadow:0 0 #7a9a4a80;animation:tile-pulse 1.6s ease-in-out infinite}.world-repo-row .world-tile-stats{margin-top:4px;border-top:0;padding-top:0}.world-repo-row .world-tile-stat-time{margin-left:0}@keyframes tile-pulse{0%{box-shadow:0 0 #7a9a4a8c}70%{box-shadow:0 0 0 6px #7a9a4a00}to{box-shadow:0 0 #7a9a4a00}}.avatar{display:inline-grid;place-items:center;border-radius:999px;border:1px solid rgba(199,155,82,.55);background:#2a1f17;color:#f9d98e;font-family:var(--display);font-weight:600;flex-shrink:0}.avatar-sm{width:24px;height:24px;font-size:11px}.avatar-md{width:32px;height:32px;font-size:13px}.avatar-lg{width:48px;height:48px;font-size:17px}.avatar-tinted{border-color:#e8dcc42e;color:#f5e8c9}.status-pill{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;border:1px solid var(--line);background:#1f181280;color:var(--paper);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.status-pill-open{border-color:#4a8a8a8c;background:#4a8a8a1f;color:#88c2c2}.status-pill-merged{border-color:#7c5ca88c;background:#7c5ca81f;color:#c2a3e0}.status-pill-closed{border-color:#a040308c;background:#a040301f;color:#f1c2b4}.status-pill-canon{border-color:#7a9a4a8c;background:#7a9a4a1f;color:#b9d086}.status-pill-draft{border-color:#9a89708c;background:#9a89701f;color:var(--muted)}.status-pill-pending{border-color:#c4925a8c;background:#c4925a1f;color:var(--brass-bright)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.breadcrumb-segment{display:inline-flex;align-items:center;border:0;background:transparent;padding:0;cursor:default;color:var(--muted);font-size:13px}.breadcrumb-segment[type=button],button.breadcrumb-segment{cursor:pointer;color:var(--brass)}button.breadcrumb-segment:hover{color:var(--brass-bright);text-decoration:underline}.breadcrumb-mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.breadcrumb-current{color:var(--paper)}.breadcrumb-sep{color:var(--dim)}.generated-world-preview{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:24px 0 56px;display:grid;gap:22px}.generated-world-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.generated-world-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.generated-world-hero h1{margin:8px 0;font-family:var(--display);font-size:clamp(32px,5vw,58px);line-height:.95;color:var(--paper)}.generated-world-hero p,.generated-section-grid p,.generated-card-grid p,.generated-npc-card p{color:var(--muted);line-height:1.6}.generated-error{padding:12px 14px;border:1px solid rgba(174,80,66,.62);border-radius:8px;color:#f0c1b7;background:#ae50421f}.generated-local-save{padding:12px 14px;border:1px solid rgba(122,154,74,.58);border-radius:8px;color:#dbe8bd;background:#7a9a4a1f;overflow-wrap:anywhere}.generated-play-modal{width:min(620px,100%)}.generated-play-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.generated-play-commands{display:grid;gap:10px}.generated-play-commands label{display:grid;gap:7px}.generated-play-commands span,.generated-play-path{color:var(--muted);font-size:12px}.generated-play-commands code{display:block;padding:12px;border:1px solid rgba(232,220,196,.18);border-radius:var(--radius);background:#090705b3;color:var(--brass-bright);overflow-wrap:anywhere}.generated-play-path{margin:0;overflow-wrap:anywhere}.generated-media-grid,.generated-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.generated-section-grid article,.generated-list,.generated-npcs,.generated-combat,.generated-assets{border-top:1px solid var(--line);padding-top:18px}.generated-section-grid h2,.generated-list h2,.generated-npcs h2,.generated-combat h2,.generated-assets h2{margin:4px 0 12px;color:var(--paper);font-size:24px}.generated-section-grid ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.6}.generated-asset-frame{position:relative;min-height:260px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#1d2d30d1,#2b2018db),#1f1812d1;color:var(--muted)}.generated-hotspot{width:32px;height:32px;padding:0;transform:translate(-50%,calc(-100% - 8px))}.generated-hotspot .generated-hotspot-label{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);display:inline-block;width:max-content;max-width:220px;padding:4px 8px;font-family:var(--display);font-size:11px;letter-spacing:.04em;color:#ffe6a4;background:#0f0c0aeb;border:1px solid rgba(199,155,82,.45);border-radius:4px;opacity:0;pointer-events:none;transition:opacity .18s ease-out}.generated-hotspot:hover .generated-hotspot-label,.generated-hotspot:focus-visible .generated-hotspot-label{opacity:1}.generated-target-highlight{outline:2px solid rgba(199,155,82,.85);outline-offset:4px;animation:generatedTargetPulse 2.4s ease-out}@keyframes generatedTargetPulse{0%{box-shadow:0 0 #c79b528c}60%{box-shadow:0 0 0 12px #c79b5200}to{box-shadow:0 0 #c79b5200}}.generated-asset-frame.compact{min-height:150px;aspect-ratio:1 / 1}.generated-asset-frame img{width:100%;height:100%;object-fit:cover;display:block}.generated-card-grid,.generated-npc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.generated-card-grid article,.generated-npc-card{display:grid;gap:10px;padding:14px;border:1px solid rgba(90,69,48,.58);border-radius:8px;background:#1f18128f}.generated-card-grid strong,.generated-npc-card strong{color:var(--brass-bright);font-size:16px}.generated-npc-card small,.generated-npc-card em{display:block;color:var(--muted);line-height:1.4}.generated-npc-card em{font-style:normal;color:#c8e2ec}.generated-combat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.generated-combat-grid article{display:grid;gap:10px;padding:14px;border:1px solid rgba(90,69,48,.58);border-radius:8px;background:#1f18128f}.generated-combat-grid article.recommended{border-color:#e0a86899;background:#3625169e}.generated-combat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.generated-combat-head span,.generated-combat-head strong{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.generated-combat-head strong{color:var(--brass-bright)}.generated-combat-grid h3{margin:0;color:var(--brass-bright);font-family:var(--display);font-size:20px}.generated-combat-grid p{margin:0;color:var(--muted);line-height:1.5}.generated-combat-meta,.generated-combat-actions{display:flex;flex-wrap:wrap;gap:6px}.generated-combat-meta span,.generated-combat-actions span{border:1px solid rgba(232,220,196,.14);border-radius:999px;padding:4px 7px;color:#ead9ba;font-size:11px;font-weight:800}.generated-combat-actions span{color:#c8e2ec}.generated-asset-list{display:grid;gap:8px}.generated-asset-row{display:grid;grid-template-columns:minmax(130px,1fr) 120px 110px minmax(0,1.3fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#1f18126b;font-size:13px}.generated-asset-row span,.generated-asset-row strong{overflow-wrap:anywhere}.generated-asset-row strong{color:var(--paper)}.generated-asset-row.ready em{color:#dce7c8}.generated-asset-row.failed em,.generated-asset-row.failed small{color:#f0c1b7}.generated-pending{min-height:360px;display:grid;place-items:center}.generated-expansion-modal{width:min(860px,calc(100vw - 28px))}.generate-card-modal{width:min(620px,calc(100vw - 28px))}.generate-frame-modal{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}.generate-frame-scrim{place-items:stretch end;background:#0a070557;padding:14px}.generate-card-panel,.generate-frame-panel{display:grid;gap:14px}.generate-card-panel label,.generate-frame-panel label,.frame-plan-editor label{display:grid;gap:7px}.generate-card-panel label>span,.generate-card-preview>span,.generate-frame-panel label>span,.frame-plan-editor label>span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.generate-card-panel textarea,.generate-card-panel select,.generate-frame-panel textarea,.generate-frame-panel input,.generate-frame-panel select{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#080605a3;color:var(--paper);font:inherit}.generate-card-panel textarea{min-height:96px;resize:vertical;padding:10px 12px}.generate-frame-panel textarea{min-height:84px;resize:vertical;padding:10px 12px}.generate-card-panel select,.generate-frame-panel input,.generate-frame-panel select{min-height:38px;padding:0 10px}.generate-card-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.generate-card-actions,.generate-frame-actions{margin-top:0;align-items:center;justify-content:flex-start}.generate-card-saved,.generate-frame-saved{color:#bfe3c0;font-size:13px;font-weight:700}.generate-card-status,.generate-frame-status{display:flex;flex-wrap:wrap;gap:7px;padding:9px 10px;border:1px solid rgba(196,146,90,.28);border-radius:var(--radius);background:#1f181285;color:#d8cbb5;font-size:12px}.generate-card-warning,.generate-card-error,.generate-frame-warning,.generate-frame-error{flex-basis:100%;color:#f0c1b7}.generate-frame-origin-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;border:1px solid rgba(159,216,255,.24);background:#9fd8ff1f;color:#9fd8ff;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.generate-frame-origin-badge.success{border-color:#8dd19657;background:#8dd19629;color:#c9f0cb}.generate-frame-origin-badge.warning{border-color:#f1d39b57;background:#f1d39b29;color:#f1d39b}.generate-frame-origin-badge.error{border-color:#dd786561;background:#60251c42;color:#f0c1b7}.generate-frame-origin-badge.neutral{border-color:#9fd8ff3d;background:#9fd8ff1f;color:#9fd8ff}.generate-frame-warning{color:#f1d39b}.generate-card-tip{flex-basis:100%;color:#9fd8ff;font-weight:500}.generate-card-preview{display:grid;gap:8px;padding-top:4px}.generate-card-preview-card{width:min(260px,100%)}.frame-plan-editor{display:grid;gap:12px}.frame-plan-editor details{border:1px solid rgba(196,146,90,.22);border-radius:8px;background:#1f181261;padding:10px}.frame-plan-editor summary{cursor:pointer;color:var(--paper);font-weight:800}.frame-plan-list{display:grid;gap:10px;padding-top:10px}.frame-plan-card{display:grid;gap:10px;padding:10px;border:1px solid rgba(90,69,48,.62);border-radius:8px;background:#0806055c}.frame-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.frame-plan-checkbox{display:flex!important;grid-template-columns:auto minmax(0,1fr);align-items:center;color:var(--muted);font-size:13px}.frame-plan-checkbox input{width:auto;min-height:auto}.generate-frame-refinement-summary,.generate-frame-refine{display:grid;gap:8px;padding:10px;border:1px solid rgba(196,146,90,.24);border-radius:8px;background:#1f18126b}.generate-frame-refinement-summary{grid-template-columns:auto minmax(0,1fr);align-items:start}.generate-frame-refinement-summary p{margin:0;color:#d8cbb5;font-size:13px}.generate-frame-rewrite-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#8dd19629;color:#c9f0cb;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.generate-frame-rewrite-badge.rewrite{background:#f1d39b24;color:#f1d39b}.generate-frame-rewrite-badge.first-generation{background:#9fd8ff24;color:#9fd8ff}.generate-frame-validation{display:grid;gap:9px;padding:10px;border-radius:8px;font-size:13px}.generate-frame-validation.ok{border:1px solid rgba(141,209,150,.4);background:#35653e33;color:#c9f0cb;font-weight:800}.generate-frame-validation.error{border:1px solid rgba(221,120,101,.45);background:#60251c3d}.generate-frame-validation-list{display:grid;gap:8px}.generate-frame-validation-list article{display:grid;gap:4px;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#0806054d}.generate-frame-validation-list header{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.generate-frame-validation-list code{color:#ffd0c2;font-size:12px}.generate-frame-validation-list p,.generate-frame-validation-list small{margin:0}.generate-frame-validation-list small{color:#f1d39b}.generate-frame-preview-status{display:grid;gap:4px;padding:10px;border:1px solid rgba(196,146,90,.28);border-radius:8px;background:#1f181285;font-size:13px}.generate-frame-preview-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(360px,100%);padding:4px;border:1px solid rgba(196,146,90,.28);border-radius:8px;background:#0806056b}.generate-frame-preview-toggle button{min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.generate-frame-preview-toggle button.active{background:#9fd8ff29;color:#d8eeff}.generate-frame-preview-toggle button:disabled{cursor:not-allowed;opacity:.52}.generate-frame-preview-status p{margin:0;color:#f0c1b7}.generate-frame-preview-status small{color:var(--muted)}.generate-frame-preview-mode-badge{display:inline-flex;align-items:center;width:fit-content;min-height:20px;padding:0 7px;border-radius:999px;background:#9fd8ff24;color:#9fd8ff;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.generate-frame-preview-mode-badge.module{background:#8dd19629;color:#c9f0cb}.generate-frame-preview-mode-badge.runner{background:#9fd8ff2e;color:#d8eeff}.generate-frame-preview-mode-badge.manifest{background:#f1d39b29;color:#f1d39b}.generate-frame-preview-ok{color:#bfe3c0;font-weight:800}.generate-frame-preview-error{color:#f0c1b7;font-weight:800}.generate-frame-history,.generate-frame-confirm{display:grid;gap:10px;padding:10px;border:1px solid rgba(196,146,90,.24);border-radius:8px;background:#1f18126b}.generate-frame-history>header{display:flex;gap:10px;align-items:center;justify-content:space-between}.generate-frame-history>header div{display:grid;gap:2px}.generate-frame-history>header span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.generate-frame-history>header strong{color:var(--paper);font-size:14px}.generate-frame-history>header small,.generate-frame-history-empty,.generate-frame-history-error{margin:0;color:var(--muted);font-size:12px}.generate-frame-history-error{color:#f0c1b7}.generate-frame-history-list{display:grid;gap:8px}.generate-frame-history-row{display:grid;gap:6px;width:100%;padding:9px;border:1px solid rgba(90,69,48,.62);border-radius:8px;background:#0806055c;color:inherit;font:inherit;text-align:left}.generate-frame-history-row:hover,.generate-frame-history-row.selected{border-color:#9fd8ff8c;background:#1629346b}.generate-frame-history-row.active{border-color:#8dd1968c}.generate-frame-history-main{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.generate-frame-history-main>span:first-child{display:grid;gap:2px}.generate-frame-history-main strong{color:var(--paper);font-size:13px}.generate-frame-history-main small,.generate-frame-history-prompt,.generate-frame-history-action{color:var(--muted);font-size:12px}.generate-frame-history-prompt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generate-frame-history-action{color:#f1d39b;font-weight:800}.generate-frame-publish-gate{color:#d8cbb5;font-size:12px;font-weight:800}.generate-frame-history-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.generate-frame-history-actions button{min-height:30px;padding:0 10px}.generate-frame-version-badges{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center}.generate-frame-version-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#9fd8ff24;color:#9fd8ff;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.generate-frame-version-badge.published,.generate-frame-version-badge.validated,.generate-frame-version-badge.source-promoted,.generate-frame-version-badge.bundled,.generate-frame-version-badge.publishable{background:#8dd19629;color:#c9f0cb}.generate-frame-version-badge.active{background:#f1d39b2e;color:#f1d39b}.generate-frame-version-badge.unsaved{background:#dd786529;color:#f0c1b7}.generate-frame-version-badge.broken{background:#dd78652e;color:#f0c1b7}.generate-frame-version-badge.broken{background:#dd78653d;color:#ffd1c8}.generate-frame-confirm p{margin:0;color:#d8cbb5;font-size:13px}.frame-runner-host{display:block;width:100%;min-height:100%;border:0;background:transparent}.generated-frame-load-fallback-banner,.generated-frame-runner-fallback-banner{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:9px 11px;border:1px solid rgba(221,120,101,.48);border-radius:6px;background:#5b2721a8;color:#ffe5dc;font-size:13px}.generated-frame-load-fallback-banner strong,.generated-frame-runner-fallback-banner strong{color:#ffd1c8}.generated-frame-load-fallback-banner span,.generated-frame-runner-fallback-banner span{min-width:0;overflow-wrap:anywhere}.generated-expansion-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.generated-expansion-jobs{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.generated-expansion-card{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(90,69,48,.62);border-radius:8px;background:#1f18128a}.generated-expansion-preview{width:132px;aspect-ratio:1 / 1;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#1d2d30c2,#2b2018db),#1f1812d1;color:var(--muted);font-size:12px;text-align:center;padding:8px}.generated-expansion-preview img{width:100%;height:100%;object-fit:cover;display:block}.generated-expansion-copy{min-width:0;display:grid;gap:7px}.generated-expansion-copy strong{color:var(--brass-bright);font-size:16px;overflow-wrap:anywhere}.generated-expansion-copy small,.generated-expansion-copy p,.generated-expansion-copy em{color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.generated-expansion-copy em{color:#f0c1b7;font-style:normal}.generated-expansion-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.generated-expansion-empty{display:grid;gap:4px;padding:14px;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}@media(max-width:760px){.generated-world-hero,.generated-media-grid,.generated-section-grid,.generated-combat-grid,.generated-asset-row,.generated-expansion-controls,.generated-expansion-card{grid-template-columns:1fr}.generated-expansion-preview{width:100%;aspect-ratio:16 / 9}}.community-view{max-width:1080px;margin:0 auto;padding:28px 24px 56px;display:flex;flex-direction:column;gap:18px}.community-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.community-header h1{margin:4px 0 6px;color:var(--brass-bright);font-family:var(--display);font-size:32px;font-weight:600;letter-spacing:0}.community-subtitle{margin:0;max-width:64ch;color:var(--muted);font-size:14px;line-height:1.5}.community-actions{flex-shrink:0}.community-filters{display:flex;flex-wrap:wrap;gap:6px}.community-feed{list-style:none;margin:0;padding:0;display:grid;gap:14px}.community-empty{padding:22px;border:1px dashed var(--line);border-radius:var(--radius-lg);color:var(--muted);text-align:center}.community-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#2a201ac7;list-style:none}.community-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:flex-start;gap:12px}.community-card-meta{display:grid;gap:4px;min-width:0}.community-card-byline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:13px}.community-card-byline strong{color:var(--paper)}.community-pin,.community-own{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.community-pin{background:#c79b522e;color:var(--brass-bright);border:1px solid rgba(224,168,104,.45)}.community-own{background:#78b48c2e;color:#b6dfb8;border:1px solid rgba(140,200,160,.45)}.community-card-title{margin:0;color:var(--paper);font-family:var(--display);font-size:20px;font-weight:600;line-height:1.2}.community-card-world{color:var(--muted);font-size:12px}.community-card-remove{align-self:flex-start}.community-card-note{margin:0;color:var(--paper);font-size:14px;line-height:1.55;opacity:.92}.community-card-tags{display:flex;flex-wrap:wrap;gap:6px}.community-tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;border:1px solid var(--line);background:#0f0a0680;color:var(--paper)}.community-tag-plot{border-color:#e0a86880;color:var(--brass-bright)}.community-tag-location{border-color:#78aac880;color:#b6d4e8}.community-tag-npc{border-color:#be82aa80;color:#e6b6d4}.community-card-items{list-style:none;margin:0;padding:0;display:grid;gap:6px}.community-item{display:grid;grid-template-columns:80px minmax(0,auto) 1fr;align-items:baseline;gap:8px;padding:8px 10px;border-left:2px solid var(--line);background:#0f0a0657;border-radius:0 6px 6px 0;font-size:13px}.community-item-plot{border-left-color:var(--brass)}.community-item-location{border-left-color:#6f9bbb}.community-item-npc{border-left-color:#b06f99}.community-item-kind{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.community-item-label{color:var(--paper);font-weight:600}.community-item-detail{color:var(--muted);font-size:12.5px;line-height:1.4}.community-share-modal{width:min(680px,100%)}.community-share-subtitle{margin:6px 0 0;max-width:56ch;color:var(--muted);font-size:13px;line-height:1.5}.community-share-form{gap:16px}.community-share-section{margin:0;padding:12px 14px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#0f0a0657}.community-share-section legend{display:flex;align-items:center;gap:8px;padding:0 6px;color:var(--paper);font-size:14px}.community-share-section legend strong{color:var(--brass-bright);font-family:var(--display);font-weight:600}.community-share-section-meta{color:var(--muted);font-size:12px}.community-share-section-desc{margin:4px 0 10px;color:var(--muted);font-size:12.5px}.community-share-empty{margin:0;padding:10px 12px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);font-size:13px}.community-share-options{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:220px;overflow-y:auto}.community-share-option{border:1px solid transparent;border-radius:var(--radius);background:#1f1812b3;transition:border-color .12s ease,background .12s ease}.community-share-option.selected{border-color:#e0a8688c;background:#c79b521f}.community-share-option label{display:grid;grid-template-columns:18px 1fr;align-items:flex-start;gap:10px;padding:9px 11px;cursor:pointer;font-size:13px;color:var(--paper)}.community-share-option input[type=checkbox]{margin-top:3px;accent-color:var(--brass)}.community-share-option-body{display:grid;gap:2px;min-width:0}.community-share-option-label{font-weight:600}.community-share-option-detail{color:var(--muted);font-size:12px;line-height:1.4;word-break:break-word}.community-share-count{flex:1 1 auto;color:var(--muted);font-size:12.5px;align-self:center}@media(max-width:760px){.community-header{flex-direction:column;align-items:stretch}.community-actions{align-self:flex-start}.community-card-head{grid-template-columns:auto 1fr}.community-card-remove{grid-column:1 / -1;justify-self:flex-end}.community-item{grid-template-columns:1fr;gap:2px}}.character-select{max-width:1160px;margin:0 auto;padding:28px 24px 64px;display:flex;flex-direction:column;gap:22px}.character-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.character-hero-text{display:grid;gap:6px;min-width:0}.character-hero-text h1{margin:0;color:var(--brass-bright);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:30px;font-weight:700;line-height:1.18}.character-tagline{margin:0;max-width:78ch;color:#d6c5a4;line-height:1.5}.character-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--muted)}.character-hero-actions{display:flex;gap:8px}.character-plot{border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px;background:linear-gradient(180deg,#22160c99,#140e08a6);display:grid;gap:12px}.character-plot header{display:grid;gap:4px}.character-plot h2{margin:0;font-size:22px;color:#ffe6a5}.character-plot p{margin:0;line-height:1.55;color:#e9d8b6;max-width:80ch}.character-opening-line{margin:4px 0 0;padding:12px 16px;border-left:3px solid rgba(230,170,79,.6);background:#00000038;font-style:italic;color:#f1e2c0;border-radius:0 6px 6px 0}.character-objectives{display:grid;gap:8px;margin-top:6px}.character-objectives-label{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--muted)}.character-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.character-objectives li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:baseline;color:#e9d8b6;line-height:1.45}.character-objective-step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#e6aa4f2e;border:1px solid rgba(230,170,79,.45);color:#ffe6a5;font-size:11px;font-weight:700}.character-plot-note{margin:4px 0 0;padding-top:10px;border-top:1px dashed rgba(230,170,79,.25);color:#c9b690;font-size:13px;line-height:1.5}.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.character-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;background:#120c068c;display:grid;gap:14px;min-width:0}.character-card header{display:grid;gap:2px;position:relative}.character-card header h2{margin:0;font-size:18px;color:#ffe6a5}.character-persona-list{display:grid;gap:8px}.character-persona{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md, 8px);background:#00000040;color:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.character-persona:hover{border-color:#e6aa4f8c;background:#e6aa4f14}.character-persona.is-active{border-color:#e6aa4fe6;background:#e6aa4f2e;box-shadow:0 0 0 2px #e6aa4f2e}.character-persona strong{color:#ffe6a5;font-size:14px}.character-persona small{color:#e2cf9f;font-size:12.5px;line-height:1.45}.character-field{display:grid;gap:6px}.character-field>span{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--muted)}.character-field input,.character-field textarea{border:1px solid var(--line);border-radius:8px;background:#00000052;color:#f5e7c4;padding:10px 12px;font:inherit;font-size:14px;resize:vertical}.character-field input:focus,.character-field textarea:focus{outline:none;border-color:#e6aa4fd9;box-shadow:0 0 0 3px #e6aa4f2e}.character-field small{color:var(--muted);font-size:11.5px}.character-stat-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.character-stat-row{display:grid;gap:4px}.character-stat-head{display:flex;justify-content:space-between;align-items:baseline;color:#ffe6a5}.character-stat-head strong{font-size:13px}.character-stat-head span{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;color:#ffe6a5}.character-stat-row input[type=range]{width:100%;accent-color:#e6aa4f}.character-stat-row small{color:var(--muted);font-size:11.5px;line-height:1.4}.character-skill-list,.character-inventory-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.character-skill{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#00000038;display:grid;gap:6px}.character-skill-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.character-skill-head strong{color:#ffe6a5;font-size:13.5px}.character-skill-head span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.character-remove-button{border:1px solid rgba(230,170,79,.35);border-radius:999px;background:#0003;color:#d6c5a4;font:inherit;font-size:11px;padding:3px 8px;cursor:pointer}.character-remove-button:hover{border-color:#e6aa4fb3;color:#ffe6a5}.character-skill-tags{display:flex;flex-wrap:wrap;gap:4px}.character-skill-tags span{font-size:11px;padding:2px 8px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#d6c5a4}.character-inventory-item{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#00000038;display:grid;gap:4px}.character-inventory-item strong{color:#ffe6a5;font-size:13.5px}.character-inventory-type{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.character-inventory-item small{color:#d6c5a4;font-size:12px;line-height:1.45}.character-inline-editor{display:flex;align-items:center;gap:8px}.character-inline-editor input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;background:#00000052;color:#f5e7c4;padding:9px 11px;font:inherit;font-size:13px}.character-inline-editor input:focus{outline:none;border-color:#e6aa4fd9;box-shadow:0 0 0 3px #e6aa4f2e}.character-check-row{display:flex;align-items:flex-start;gap:9px}.character-check-row input{margin-top:3px;accent-color:#e6aa4f}.character-check-row span{display:grid;gap:2px}.character-check-row em{color:var(--muted);font-size:11px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.character-crowns-field{max-width:180px}.character-empty{margin:0;color:var(--muted);font-size:13px}.character-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#1c120899;position:sticky;bottom:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.character-footer-summary{display:grid;gap:2px;min-width:0}.character-footer-summary strong{color:#ffe6a5;font-size:16px}.character-footer-summary span{color:#d6c5a4;font-size:13px}.character-footer-actions{display:flex;gap:8px}.character-begin{font-weight:700}@media(max-width:860px){.character-hero{flex-direction:column;align-items:flex-start}.character-grid{grid-template-columns:minmax(0,1fr)}.character-footer{flex-direction:column;align-items:stretch;gap:10px;bottom:8px}.character-footer-actions{justify-content:flex-end}}.creator-page{display:flex;flex-direction:column;min-height:100vh;background:#0a0b0d;color:#e8eaed;font-family:inherit}.creator-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #2a2c30;gap:16px}.creator-topbar-lead{display:flex;align-items:center;gap:16px;min-width:0}.creator-brand{display:inline-flex;align-items:center;gap:10px;background:none;border:none;padding:0;cursor:pointer;color:inherit}.creator-brand .brand-logo{width:28px;height:28px;border-radius:6px}.creator-brand-text{display:flex;flex-direction:column;line-height:1.1;text-align:left}.creator-brand-text strong{font-size:14px;font-weight:700;letter-spacing:-.01em}.creator-brand-text small{font-size:11px;color:#888c95}.creator-back-link{white-space:nowrap}.creator-title{display:flex;align-items:baseline;gap:12px;min-width:0}.creator-title h1{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}.creator-id{font-family:ui-monospace,JetBrains Mono,Fira Code,monospace;font-size:12px;color:#888c95}.creator-topbar-actions{display:flex;align-items:center;gap:16px}.creator-mode-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:#888c95}.creator-mode-toggle select{background:#1c1e22;color:#e8eaed;border:1px solid #2a2c30;border-radius:6px;padding:4px 8px;font:inherit}.creator-save-btn{background:#2a5fbf;color:#fff;border:none;border-radius:6px;padding:8px 16px;font:inherit;font-weight:500;cursor:pointer}.creator-save-btn:disabled{background:#2a2c30;color:#888c95;cursor:not-allowed}.creator-body{display:grid;grid-template-columns:260px minmax(0,1fr) 360px;flex:1;min-height:0}.creator-tree,.creator-chat{border-right:1px solid #2a2c30;padding:16px;overflow-y:auto;background:#101115}.creator-chat{border-right:none;border-left:1px solid #2a2c30;display:flex;flex-direction:column;gap:12px}.creator-preview{padding:16px 24px;overflow-y:auto}.creator-tree h2,.creator-preview h2,.creator-chat h2{margin:0 0 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#888c95;font-weight:600}.creator-tree-empty,.creator-preview-empty{color:#888c95;font-size:13px;line-height:1.5}.creator-tree-list,.creator-tree-list ul{list-style:none;padding-left:0;margin:0}.creator-tree-list>li{margin-bottom:12px;font-size:13px;line-height:1.4}.creator-tree-list strong{font-weight:600;color:#e8eaed}.creator-tree-list ul{margin-top:4px;padding-left:12px;border-left:1px solid #2a2c30}.creator-tree-list ul li{color:#b6bac4;margin-bottom:2px;font-size:12px}.creator-tree-list em{color:#888c95;font-style:normal;font-size:11px}.creator-capability-order{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #2a2c30;counter-reset:creator-step}.creator-capability-order>li{counter-increment:creator-step;display:flex;align-items:center;gap:8px;color:#b6bac4}.creator-capability-order>li:before{content:counter(creator-step);display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#1c1e22;color:#888c95;font-size:11px}.creator-preview-body section{margin-bottom:24px}.creator-preview-body h3{margin:0 0 4px;font-size:22px;font-weight:600}.creator-preview-body h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#888c95;font-weight:600}.creator-tagline{color:#b6bac4;font-size:14px;line-height:1.5;margin:0}.creator-preview-body ul{list-style:none;padding-left:0;margin:0}.creator-preview-body li{font-size:13px;line-height:1.5;margin-bottom:4px;color:#d4d6dc}.creator-preview-body code{background:#1c1e22;border-radius:4px;padding:0 4px;font-family:ui-monospace,monospace;font-size:11px;color:#b6bac4}.creator-preview-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.creator-preview-section-heading h4{margin:0}.creator-preview-section-heading button{border:1px solid #3a3d44;background:#1b1d22;color:#f0f1f4;border-radius:6px;padding:7px 10px;font-size:12px;cursor:pointer}.creator-preview-section-heading button:disabled{cursor:not-allowed;opacity:.5}.creator-import-triage{border:1px solid #343842;border-radius:8px;padding:14px;background:#111419}.creator-import-triage>p{color:#c4c8d0;font-size:13px;line-height:1.5;margin:0 0 12px}.creator-import-audit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.creator-import-audit-card{border:1px solid #2a2e37;border-radius:6px;padding:9px;background:#0d1015}.creator-import-audit-card strong{display:block;color:#f0f1f4;font-size:16px}.creator-import-audit-card span{color:#a9aeb9;font-size:11px}.creator-import-audit-card.warning{border-color:#8a6d2d}.creator-import-audit-card.danger{border-color:#8c3b3b}.creator-import-warning-list{display:grid;gap:6px;padding:0;margin:0 0 12px;list-style:none}.creator-import-warning-list li{display:grid;gap:2px;border:1px solid #3a3d44;border-radius:6px;padding:8px;background:#15181f}.creator-import-warning-list strong{color:#f0f1f4;font-size:12px}.creator-import-warning-list span{color:#bec3cc;font-size:12px}.creator-import-warning-warning{border-color:#8a6d2d!important}.creator-import-warning-danger{border-color:#8c3b3b!important}.creator-import-triage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.creator-import-triage-card{border:1px solid #2a2e37;border-radius:8px;padding:12px;background:#0d1015}.creator-import-triage-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.creator-import-triage-card-heading h5{margin:0;color:#f0f1f4;font-size:13px}.creator-import-triage-card-heading div{display:flex;gap:4px}.creator-import-triage-card-heading button{border:1px solid #343842;border-radius:5px;padding:4px 6px;background:#171a20;color:#d8dbe2;font-size:11px;cursor:pointer}.creator-import-triage-card ul{display:grid;gap:8px;max-height:360px;padding:0;margin:0;overflow-y:auto;list-style:none}.creator-import-triage-card li{padding-bottom:8px;border-bottom:1px solid #20242c}.creator-import-triage-card li:last-child{padding-bottom:0;border-bottom:0}.creator-import-triage-card span{color:#a9aeb9}.creator-import-triage-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start}.creator-import-triage-row input{margin-top:2px}.creator-import-triage-row>span{display:grid;gap:3px}.creator-import-triage-row small{color:#8f96a3;font-size:11px}.creator-import-triage-row em{color:#d6b96b;font-size:11px;font-style:normal}.creator-import-triage details{margin-top:12px;color:#c4c8d0;font-size:13px}.creator-import-bindings ul{display:grid;gap:6px;max-height:420px;overflow-y:auto;padding-left:18px}.creator-log{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;font-size:12px;line-height:1.5}.creator-log-entry{padding:6px 10px;border-radius:6px;border:1px solid #2a2c30;background:#16181c;color:#d4d6dc}.creator-log-success{border-color:#1f5a3f;background:#15291f;color:#b9e0c8}.creator-log-error{border-color:#5a1f2f;background:#291515;color:#e0b9b9}.creator-log-pending{border-color:#2a4f5a;background:#152229;color:#b9d5e0;font-style:italic}.creator-capability{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid #2a2c30;border-radius:8px;background:#16181c}.creator-capability-header{font-size:12px;font-weight:600;color:#e8eaed;text-transform:uppercase;letter-spacing:.04em}.creator-capability-hint{font-size:11px;color:#888c95;font-style:italic}.creator-capability input,.creator-capability select,.creator-capability textarea{background:#0a0b0d;color:#e8eaed;border:1px solid #2a2c30;border-radius:6px;padding:8px;font:inherit;font-size:13px}.creator-capability textarea{resize:vertical}.creator-capability input:disabled,.creator-capability select:disabled,.creator-capability textarea:disabled{background:#16181c;color:#5a5d65;cursor:not-allowed}.creator-content-dials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.creator-content-dials label{display:flex;flex-direction:column;gap:4px;color:#888c95;font-size:11px}.creator-capability button{align-self:flex-end;background:#2a5fbf;color:#fff;border:none;border-radius:6px;padding:6px 14px;font:inherit;font-size:12px;font-weight:500;cursor:pointer}.creator-capability button:disabled{background:#2a2c30;color:#5a5d65;cursor:not-allowed}.setup-pack-wizard{display:grid;gap:14px}.setup-pack-wizard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.setup-pack-wizard-heading h3{margin:0 0 4px;font-size:18px;font-weight:600;letter-spacing:0}.setup-pack-wizard-heading p{margin:0;color:#a8acb6;font-size:13px;line-height:1.5}.setup-pack-issues{display:grid;gap:6px;border:1px solid #5b4a24;border-radius:8px;padding:10px 12px;background:#211b12;color:#f3dfb1;font-size:12px}.setup-pack-issues strong{color:#f8e9c2}.setup-pack-issues ul{display:grid;gap:4px;margin:0;padding-left:18px}.creator-setup-frame{display:grid;gap:14px;margin-bottom:24px;padding:16px;border:1px solid #2a2c30;border-radius:8px;background:#101216}.creator-setup-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.creator-setup-heading h3{margin:0 0 4px;font-size:18px;font-weight:600;letter-spacing:0}.creator-setup-heading p,.creator-runtime-panel p{margin:0;color:#a8acb6;font-size:13px;line-height:1.5}.creator-setup-attach{flex:0 0 auto;min-height:34px;border:1px solid #3f5f7d;border-radius:6px;padding:0 14px;background:#15314a;color:#d8ecff;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.creator-setup-attach:disabled{border-color:#2a2c30;background:#16181c;color:#6f7480;cursor:not-allowed}.creator-setup-preview-banner{width:fit-content;border:1px solid #5b4a24;border-radius:999px;padding:5px 10px;background:#211b12;color:#f3dfb1;font-size:12px;font-weight:600}.creator-setup-tabs,.creator-segmented,.creator-difficulty-row{display:flex;flex-wrap:wrap;gap:8px}.creator-setup-tabs{padding-bottom:10px;border-bottom:1px solid #25282e}.creator-setup-tabs button,.creator-segmented button{min-height:32px;border:1px solid #2a2c30;border-radius:6px;padding:0 12px;background:#16181c;color:#b6bac4;font:inherit;font-size:12px;cursor:pointer}.creator-setup-tabs button.active,.creator-segmented button.active,.creator-difficulty-row button.active,.creator-option-list button.active,.creator-talent-list button.active{border-color:#d6a94f;background:#292218;color:#f3dfb1}.creator-setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.creator-setup-grid-character{grid-template-columns:180px minmax(0,1fr)}.creator-avatar-drop{min-height:190px;display:grid;place-content:center;gap:6px;border:1px dashed #4c535f;border-radius:8px;background:#0a0b0d;color:#d4d6dc;text-align:center}.creator-avatar-drop span,.creator-avatar-drop small{display:block}.creator-avatar-drop span{font-weight:700}.creator-avatar-drop small,.creator-option-list small,.creator-talent-list small{color:#8e949f;font-size:11px}.creator-setup-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.creator-setup-fields label,.creator-scenario-panel label,.creator-runtime-panel label{display:grid;gap:5px;color:#9aa0a8;font-size:12px}.creator-setup-fields input,.creator-setup-fields select,.creator-setup-fields textarea,.creator-scenario-panel input,.creator-scenario-panel select,.creator-runtime-panel select{width:100%;min-height:36px;border:1px solid #2a2c30;border-radius:6px;background:#0a0b0d;color:#e8eaed;padding:8px 10px;font:inherit;font-size:13px}.creator-setup-wide,.creator-difficulty-row,.creator-attribute-panel{grid-column:1 / -1}.creator-difficulty-row button{flex:1 1 120px;min-height:58px;display:grid;gap:3px;justify-items:start;border:1px solid #2a2c30;border-radius:8px;padding:10px;background:#15171b;color:#d4d6dc;text-align:left;cursor:pointer}.creator-difficulty-row span{color:#9aa0a8;font-size:12px}.creator-attribute-panel,.creator-option-panel,.creator-talent-panel,.creator-scenario-panel,.creator-runtime-panel{display:grid;gap:10px;min-width:0;border:1px solid #25282e;border-radius:8px;padding:12px;background:#15171b}.creator-setup-meter{display:flex;align-items:center;justify-content:space-between;color:#9aa0a8;font-size:12px}.creator-setup-meter strong{color:#f3dfb1;font-size:20px}.creator-attribute-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.creator-attribute-row{display:grid;grid-template-columns:minmax(82px,1fr) 28px 32px 28px minmax(80px,1fr);align-items:center;gap:6px;min-width:0;color:#d4d6dc;font-size:12px}.creator-attribute-row button,.creator-talent-toolbar button,.creator-scenario-panel>button,.creator-stepper button{min-height:28px;border:1px solid #2f3540;border-radius:6px;background:#1f232a;color:#e8eaed;cursor:pointer}.creator-attribute-row button:disabled,.creator-stepper button:disabled{color:#5a5d65;cursor:not-allowed}.creator-attribute-row strong{text-align:center}.creator-attribute-bar{height:8px;overflow:hidden;border-radius:999px;background:#262b34}.creator-attribute-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5fc39a,#d6a94f)}.creator-option-panel h4,.creator-scenario-panel h4,.creator-runtime-panel h4{margin:0;color:#e8eaed;font-size:13px;font-weight:600}.creator-option-list,.creator-talent-list{display:grid;gap:8px}.creator-option-list button,.creator-talent-list button{display:grid;gap:4px;min-height:76px;border:1px solid #2a2c30;border-radius:8px;padding:10px;background:#101216;color:#d4d6dc;text-align:left;cursor:pointer}.creator-option-list span,.creator-talent-list span{color:#a8acb6;font-size:12px}.creator-talent-panel{grid-column:span 1}.creator-talent-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.creator-talent-toolbar div{display:grid;gap:2px}.creator-talent-toolbar span{color:#9aa0a8;font-size:12px}.creator-clue-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.creator-stepper,.creator-toggle-row{display:grid;align-items:center;gap:8px}.creator-stepper{grid-template-columns:minmax(0,1fr) 30px 36px 30px}.creator-stepper strong{text-align:center}.creator-regex-sandbox{display:grid;gap:6px;padding:10px;border:1px dashed #3a414c;border-radius:8px;color:#a8acb6;font-size:12px}.creator-regex-sandbox code{width:fit-content}.creator-toggle-row{grid-template-columns:minmax(0,1fr) auto;color:#d4d6dc}.creator-toggle-row input{width:18px;height:18px}.creator-setup-summary{padding:12px;border:1px solid #274339;border-radius:8px;background:#102019}@media(max-width:1180px){.creator-body{grid-template-columns:220px minmax(0,1fr) 320px}.creator-setup-grid,.creator-setup-grid-character{grid-template-columns:1fr}.creator-avatar-drop{min-height:120px}}@media(max-width:860px){.creator-body{grid-template-columns:1fr}.setup-pack-runtime-preview-head{align-items:stretch;flex-direction:column}.creator-import-triage-grid{grid-template-columns:1fr}.creator-import-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-pack-runtime-pills{justify-content:flex-start}.setup-pack-runtime-preview-grid{grid-template-columns:1fr}.creator-tree,.creator-chat{max-height:none;border-right:0;border-left:0;border-bottom:1px solid #2a2c30}.creator-topbar,.creator-setup-heading{align-items:stretch;flex-direction:column}.creator-topbar-actions,.creator-attribute-list,.creator-setup-fields{grid-template-columns:1fr;display:grid}.creator-attribute-row{grid-template-columns:minmax(72px,1fr) 28px 32px 28px}.creator-attribute-bar{grid-column:1 / -1}}.card-slot{display:flex;flex-direction:column;gap:4px;align-items:stretch}.card-slot-card,.generate-card-preview-card{position:relative}.card-generated:after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:999px;background:#e2b94f;box-shadow:0 0 0 1px #140e08bf,0 0 8px #e2b94f8c}.card-placement-fallback{display:grid;gap:4px;justify-self:center;width:min(520px,100%);pointer-events:auto}.card-placement-fallback-label{justify-self:start;padding:2px 6px;border-radius:4px;border:1px solid rgba(225,176,75,.32);background:#2a1f10b8;color:#f2dbac;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.card-slot-placement_fallback{width:100%}.card-slot-hud_top_right{margin-left:auto;min-width:180px;max-width:240px}.card-slot-hud_bottom_left,.card-slot-hud_bottom_right{min-width:180px;max-width:260px}.card-slot-hud_bottom_right{margin-left:auto}.status-card{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:6px;background:#14161ca6;border:1px solid rgba(255,255,255,.08);font-size:12px;color:#d6d8df}.status-card-group,.relationship-card-group{display:grid;gap:5px;padding:7px;border-radius:6px;background:#0c0e128a;border:1px solid rgba(255,255,255,.07)}.status-card-group-title,.relationship-card-group-title{padding:0 3px;color:#f7d890e6;font-family:var(--display);font-size:11px;font-weight:700;text-transform:uppercase}.status-card-group-bars,.relationship-card-group-bars{display:grid;gap:4px}.status-card-label{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.status-card-bar{position:relative;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.status-card-bar-fill{height:100%;border-radius:4px;transition:width .22s ease-out}.status-card-amber .status-card-bar-fill{background:linear-gradient(90deg,#b88a2c,#e1b04b)}.status-card-red .status-card-bar-fill{background:linear-gradient(90deg,#aa3a3a,#d96868)}.status-card-green .status-card-bar-fill{background:linear-gradient(90deg,#3a7a4a,#5ec07a)}.status-card-blue .status-card-bar-fill{background:linear-gradient(90deg,#2e5fa5,#5a93d8)}.status-card-violet .status-card-bar-fill{background:linear-gradient(90deg,#6a3aaa,#9a6fd9)}.status-card-value{font-size:11px;opacity:.75;align-self:flex-end;font-variant-numeric:tabular-nums}.status-card-error{font-size:11px;color:#d96868;font-style:italic}.custom-module-debug{display:flex;flex-direction:column;gap:4px;padding:4px 6px;border:1px dashed rgba(255,255,255,.12);border-radius:4px;font-size:10px;opacity:.85}.custom-module-debug-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.custom-module-debug-label{opacity:.7;text-transform:uppercase;letter-spacing:.04em;font-size:9px}.custom-module-debug-button{background:#ffffff14;color:inherit;border:1px solid rgba(255,255,255,.16);border-radius:3px;padding:2px 6px;font:inherit;font-size:10px;cursor:pointer;transition:background .12s ease-out}.custom-module-debug-button:hover{background:#ffffff29}.generated-frame-shell{min-height:100dvh;padding:24px;background:#171512;color:#ece7db}.generated-frame-preview-shell{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}.generated-frame-preview-title{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(236,231,219,.16);padding-bottom:10px}.generated-frame-preview-title h1{margin:0;font-size:24px;letter-spacing:0}.generated-frame-preview-title span,.generated-frame-preview-title small{color:#b8ae99;font-size:13px}.generated-frame-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);grid-auto-rows:minmax(160px,auto);gap:14px}.generated-frame-preview-region{border:1px solid rgba(236,231,219,.12);border-radius:6px;background:#110f0cb8;padding:12px}.generated-frame-preview-region-cardSlot,.generated-frame-preview-region-scene,.generated-frame-preview-region-dialogue{min-height:300px}.generated-frame-preview-region-input{grid-column:1 / -1}.generated-frame-preview-region-inner{display:grid;gap:10px}.generated-frame-preview-region-inner>header{display:flex;justify-content:space-between;gap:8px;color:#e7c779;font-size:12px;text-transform:uppercase}.generated-frame-preview-region-inner>header span{color:#b8ae99;text-transform:none}.generated-frame-preview-empty{margin:0;color:#b8ae99;font-size:13px}.generated-frame-preview-crash{min-height:45dvh;display:grid;place-content:center;gap:8px;padding:24px;background:#21130f;color:#f0c1b7;text-align:center}.generated-frame-preview-crash strong{color:#ffd0c2}.frame-region{min-width:0}.detective-corkboard-frame{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);grid-template-rows:auto minmax(320px,1fr) auto;gap:16px;min-height:calc(100dvh - 48px)}.detective-corkboard-title{grid-column:1 / -1;display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(236,231,219,.16);padding-bottom:10px}.detective-corkboard-title h1{margin:0;font-size:24px;letter-spacing:0}.detective-corkboard-title span{color:#b8ae99;font-size:13px}.detective-corkboard-board{min-height:420px;border:1px solid rgba(88,56,34,.72);border-radius:6px;padding:18px;background:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.03) 1px,transparent 1px),#6b452d;background-size:42px 42px;box-shadow:inset 0 0 0 8px #2e1b106b}.detective-corkboard-sidebar,.detective-corkboard-input{border:1px solid rgba(236,231,219,.12);border-radius:6px;background:#110f0cb8;padding:14px}.detective-corkboard-sidebar{display:grid;align-content:start;gap:10px}.detective-corkboard-sidebar h2,.detective-corkboard-input h2{margin:0;color:#e7c779;font-size:13px;letter-spacing:0;text-transform:uppercase}.detective-corkboard-sidebar .frame-npc-list-slot{display:grid;gap:8px;margin:0;padding:0}.detective-corkboard-sidebar .frame-npc-list-button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;border:0;border-bottom:1px solid rgba(236,231,219,.1);background:transparent;color:#d9d2c4;cursor:pointer;padding-bottom:8px;text-align:left}.detective-corkboard-sidebar .frame-npc-list-button.active{color:#f7e6a4}.detective-corkboard-sidebar .frame-npc-list-avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(231,199,121,.28);border-radius:50%;background:#e7c7791a;color:#e7c779;font-size:10px;font-weight:900}.detective-corkboard-sidebar .frame-npc-list-copy{min-width:0;display:grid;gap:2px;color:#d9d2c4;font-size:13px}.detective-corkboard-sidebar .frame-npc-list-copy strong,.detective-corkboard-sidebar .frame-npc-list-copy span,.detective-corkboard-sidebar .frame-npc-list-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detective-corkboard-sidebar .frame-npc-list-copy span,.detective-corkboard-sidebar .frame-npc-list-copy small{color:#b8ae99;font-size:12px}.detective-corkboard-input{grid-column:1 / -1;display:grid;gap:8px}.detective-corkboard-input .frame-input-dock-slot{width:100%}.detective-corkboard-input .freeform-bar{min-height:0;border-color:#ece7db29;border-top-color:#e7c7796b;background:#110f0cb8;box-shadow:none}.detective-corkboard-board .card-slot{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}@media(max-width:760px){.generated-frame-shell{padding:14px}.generated-frame-preview-grid{grid-template-columns:1fr}.generated-frame-preview-region-input{grid-column:auto}.detective-corkboard-frame{grid-template-columns:1fr;min-height:calc(100dvh - 28px)}.detective-corkboard-title{align-items:start;flex-direction:column}}.card-slot-hud_top_left{min-width:220px;max-width:min(360px,100%)}.card-slot-sidebar_right{align-self:end;width:min(280px,100%)}.notification-card{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;background:#14161cbd;border:1px solid rgba(255,255,255,.1);color:#e4e5e8;font-size:12px;line-height:1.35;box-shadow:0 8px 18px #0000002e}.notification-card-icon{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:800;background:#ffffff17}.notification-card-message{min-width:0}.notification-card-info{border-color:#5b93d873}.notification-card-warn{border-color:#e1b04b94;background:#2a1f10c7;color:#f2dbac}.notification-card-danger{border-color:#d968688a;background:#301212c7;color:#f1c0bd}.notification-card-success{border-color:#5ec07a75;background:#122b1bc7;color:#bee8c9}.notification-card-error,.inventory-card-error,.relationship-card-error{font-size:11px;color:#d96868;font-style:italic}.inventory-card{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:6px;border:1px solid rgba(196,146,90,.28);background:#110e0bdb;color:#e5dccb;box-shadow:0 10px 24px #00000038}.inventory-card-title,.relationship-card-subject{color:#f7d890f0;font-family:var(--display);font-size:12px;font-weight:700;text-transform:uppercase}.inventory-card-list{display:flex;flex-wrap:wrap;gap:5px}.inventory-card-chip{display:inline-flex;align-items:center;max-width:100%;padding:4px 7px;border-radius:4px;border:1px solid rgba(249,217,142,.28);background:#f9d98e14;color:#e7d6b7;font-size:11px;line-height:1.25;text-transform:capitalize}.inventory-card-more,.inventory-card-empty{color:#e5dccb9e}.inventory-card-empty{font-size:12px}.relationship-card{display:flex;flex-direction:column;gap:4px;padding:7px 10px;border-radius:6px;background:#14161ca6;border:1px solid rgba(255,255,255,.08);color:#d6d8df;font-size:12px}.relationship-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.relationship-card-hint{color:#d6d8dfb8;font-size:11px;text-transform:lowercase}.relationship-card-bar{position:relative;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.relationship-card-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#3a7a4a,#d6b04e);transition:width .22s ease-out}.relationship-card-value{align-self:flex-end;font-size:11px;font-variant-numeric:tabular-nums;opacity:.75}.generic-card-fallback{display:grid;gap:8px;padding:10px;border-radius:6px;border:1px solid rgba(225,176,75,.46);background:#1f1810e6;color:#f1dfbb;box-shadow:0 10px 24px #00000038;font-size:12px}.generic-card-fallback-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.generic-card-fallback-head span{color:#f7d890f0;font-family:var(--display);font-size:12px;font-weight:700;text-transform:uppercase}.generic-card-fallback code,.generic-card-fallback dd{overflow-wrap:anywhere}.generic-card-fallback code{color:#f2dbac;font-size:11px}.generic-card-fallback-meta{display:grid;gap:4px;margin:0}.generic-card-fallback-meta div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px}.generic-card-fallback dt{color:#f1dfbb99;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.generic-card-fallback dd{margin:0}.generic-card-fallback pre{max-height:180px;margin:0;padding:8px;overflow:auto;border-radius:4px;background:#00000042;color:#ead8b5;font-size:11px;line-height:1.35;white-space:pre-wrap}.settings-button{display:inline-flex;align-items:center;gap:6px}.settings-button-label{display:inline}@media(max-width:720px){.settings-button-label{display:none}}.settings-modal{width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px 22px 18px;border-radius:var(--radius-lg);border:1px solid var(--line-warm);background:#1f1812fa;box-shadow:var(--shadow);color:var(--text)}.settings-intro{margin:-4px 0 18px;color:var(--muted);font-size:13px;line-height:1.5}.settings-intro code{padding:1px 6px;border-radius:4px;background:#0000004d;font-size:12px}.settings-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-warm)}.settings-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.settings-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.settings-section-heading h3{margin:0;color:var(--brass);font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.02em}.settings-link{color:var(--brass-bright);font-size:12px;text-decoration:none}.settings-link:hover{text-decoration:underline}.settings-key-row{display:flex;gap:8px;align-items:center}.settings-input{flex:1;padding:8px 10px;border:1px solid var(--line-warm);border-radius:6px;background:#00000052;color:var(--text);font-family:var(--mono, ui-monospace, "SF Mono", Menlo, monospace);font-size:13px;min-width:0}.settings-input::placeholder{color:var(--muted);font-style:italic}.settings-input:focus{outline:2px solid var(--brass);outline-offset:1px}.settings-helper{margin:8px 0 0;color:var(--muted);font-size:12px}.settings-warning{margin:8px 0 0;color:#f0a868;font-size:12px}.settings-success{margin:8px 0 0;color:#a3d977;font-size:12px}.settings-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:6px}.settings-role{display:grid;gap:6px}.settings-role-label{display:grid;gap:2px}.settings-role-label strong{color:var(--brass-bright);font-size:13px}.settings-role-label small{color:var(--muted);font-size:11px;line-height:1.35}.settings-actions{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-warm)}.settings-actions-right{display:flex;align-items:center;gap:12px}.settings-saved{color:#a3d977;font-size:12px}.creator-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.creator-studio-toggle{display:inline-flex;border:1px solid #2a2c30;border-radius:8px;overflow:hidden}.creator-studio-toggle button{background:#16181c;color:var(--muted);border:none;padding:5px 11px;font-size:11px;font-weight:600;letter-spacing:.02em;cursor:pointer}.creator-studio-toggle button+button{border-left:1px solid #2a2c30}.creator-studio-toggle button.is-active{background:var(--paper);color:var(--ink)}.albin-chat{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.albin-thread{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;min-height:120px;padding-right:4px}.albin-msg{font-size:13px;line-height:1.5;border-radius:10px;padding:9px 12px;max-width:95%}.albin-user{align-self:flex-end;background:var(--paper);color:var(--ink);font-weight:500}.albin-said{align-self:flex-start;background:#16181c;border:1px solid #2a2c30;color:var(--paper)}.albin-encouragement{color:var(--brass-bright);font-weight:700;font-size:12px;margin-bottom:3px}.albin-source-badge{display:inline-block;margin-top:5px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);border:1px solid var(--line-warm);border-radius:5px;padding:1px 5px}.albin-answer{align-self:flex-start;background:#12141a;border:1px solid #2a2c30;width:95%}.albin-answer pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,ui-monospace,Menlo,monospace;font-size:12px;color:var(--paper)}.albin-pushback{align-self:flex-start;background:#f871711a;border:1px solid rgba(248,113,113,.35);color:var(--paper)}.albin-pushback strong{color:var(--ember)}.albin-error{align-self:flex-start;background:#f871711f;border:1px solid rgba(248,113,113,.4);color:var(--ember)}.albin-busy{align-self:flex-start;color:var(--muted);font-style:italic;font-size:12px;padding:4px 12px;animation:albin-pulse 1.4s ease-in-out infinite}@keyframes albin-pulse{0%,to{opacity:.55}50%{opacity:1}}.albin-report{align-self:stretch;background:#12141a;border:1px solid #2a2c30;width:100%;display:flex;flex-direction:column;gap:5px}.albin-report-failed{border-color:#f8717166}.albin-step{display:flex;align-items:baseline;gap:7px;font-size:12.5px}.albin-step-icon{flex:none;width:14px;text-align:center;font-weight:700}.albin-step-done .albin-step-icon{color:var(--moss)}.albin-step-failed .albin-step-icon{color:var(--ember)}.albin-step-skipped,.albin-step-skipped .albin-step-icon{color:var(--dim)}.albin-step-label{flex:1}.albin-step-warn{font-size:10px;text-transform:uppercase;color:#fbbf24;border:1px solid rgba(251,191,36,.4);border-radius:4px;padding:0 4px}.albin-step-error{color:var(--ember);font-size:11px}.albin-next{color:var(--brass-bright);font-size:12.5px;margin-top:3px;padding-top:6px;border-top:1px solid var(--line)}.albin-validation{font-size:11px;color:var(--muted)}.albin-validation-ok{color:var(--moss)}.albin-plan-card{border:1px solid var(--brass);border-radius:10px;background:var(--panel-2);padding:12px;display:flex;flex-direction:column;gap:8px}.albin-plan-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.albin-plan-head strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--brass-bright)}.albin-plan-mapping{font-size:11px;color:var(--muted);font-family:SFMono-Regular,ui-monospace,Menlo,monospace}.albin-plan-rationale{margin:0;font-size:12.5px;line-height:1.5;color:var(--paper)}.albin-plan-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.albin-plan-step{border:1px solid #2a2c30;border-radius:8px;padding:7px 9px;background:#16181c;display:flex;flex-direction:column;gap:5px}.albin-plan-step-head{display:flex;align-items:center;gap:7px}.albin-cap-tag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);border:1px solid rgba(96,165,250,.35);border-radius:5px;padding:1px 5px;flex:none}.albin-plan-step-label{flex:1;font-size:12.5px;color:var(--paper)}.albin-step-del{flex:none;background:none;border:none;color:var(--dim);font-size:16px;line-height:1;cursor:pointer;padding:0 2px}.albin-step-del:hover{color:var(--ember)}.albin-step-prompt{width:100%;resize:vertical;background:#0e0f13;border:1px solid #2a2c30;border-radius:6px;color:var(--paper);font-size:12px;font-family:inherit;padding:6px 8px;box-sizing:border-box}.albin-plan-actions{display:flex;gap:8px}.albin-ghost{background:none;border:1px solid #2a2c30;color:var(--muted);border-radius:7px;padding:6px 12px;font-size:12px;cursor:pointer}.albin-input-row{display:flex;align-items:flex-end;gap:7px}.albin-input{flex:1;resize:none;background:#0e0f13;border:1px solid #2a2c30;border-radius:8px;color:var(--paper);font-size:13px;font-family:inherit;padding:8px 10px;box-sizing:border-box}.albin-input:focus{outline:none;border-color:var(--brass)}.albin-send{flex:none}.albin-undo{flex:none;background:none;border:1px solid var(--line-warm);color:var(--muted);border-radius:7px;padding:8px 10px;font-size:12px;cursor:pointer;align-self:stretch}.albin-undo:hover{color:var(--paper);border-color:var(--brass)}.albin-manifest{font-size:11.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}.albin-manifest summary{cursor:pointer;color:var(--dim)}.albin-manifest-body p{margin:6px 0 0}.albin-manifest-body strong{color:var(--paper)}.albin-manifest-note{font-style:italic;color:var(--dim)}
