.login-screen{display:flex;padding:3rem 1.5rem;background:radial-gradient(circle at top,rgb(59 130 246 / 20%),transparent 50%) #050b18;align-items:center;box-sizing:border-box;flex-direction:column;gap:2.5rem;justify-content:center;min-height:100vh}.login-hero{display:flex;width:min(720px,100%);padding:2rem;background:linear-gradient(135deg,#0f172af2,#0a0c18e5);border:1px solid rgb(148 163 184 / 30%);border-radius:1.2rem;box-shadow:inset 0 0 0 1px #5eead414,0 25px 70px #020617a6;flex-direction:column;justify-content:center}.login-hero-eyebrow{margin:0;color:#a5b4fc;font-size:.85rem;letter-spacing:.3em;text-transform:uppercase}.login-hero-title{margin:.35rem 0 .75rem;font-size:2.4rem;line-height:1.2}.login-hero-lore,.login-hero-plain{margin:0 0 1rem;color:#cbd5f5;font-size:1rem}.login-hero-plain{color:#e2e8f0;font-size:.95rem}.login-primer{background:linear-gradient(135deg,#0a0c18e5,#0f172af2)}.login-form-shell{display:flex;width:100%;align-items:center;justify-content:center}.login-card{display:flex;width:100%;margin:0 auto;padding:2rem;background:#0f172ae5;border:1px solid rgb(148 163 184 / 30%);border-radius:1rem;box-shadow:0 30px 80px #020617bf;flex-direction:column;gap:.75rem;max-width:420px}.login-title{margin:0 0 .5rem;font-size:1.2rem;text-align:center}.login-subtitle{margin:0 0 1rem;color:#94a3b8;font-size:.9rem;text-align:center}.login-label{color:#94a3b8;font-size:.85rem;letter-spacing:.04em}.login-input{padding:.6rem .8rem;color:inherit;background:#0f172acc;border:1px solid rgb(148 163 184 / 40%);border-radius:.6rem}.login-error{margin:0;color:#f87171;font-size:.85rem}.login-button{padding:.75rem;color:#0f172a;background:linear-gradient(135deg,#3b82f6d9,#ec4899d9);border:none;border-radius:.75rem;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem}.login-button-secondary{color:#e2e8f0;background:transparent;border:1px solid rgb(148 163 184 / 60%);margin-top:.75rem}@media(width<=768px){.login-hero{padding:1.5rem}}.momentum-indicator{display:inline-flex;width:1.25rem;height:1.25rem;background:#0f172a66;align-items:center;border:1px solid rgb(148 163 184 / 40%);border-radius:999px;font-size:.9rem;justify-content:center;margin-left:.2rem}.momentum-indicator.momentum-positive{color:#4ade80;border-color:#4ade807f}.momentum-indicator.momentum-negative{color:#f87171;border-color:#f871717f}.momentum-indicator.momentum-neutral{color:#fbbf24;border-color:#fbbf2466}.session-panel{display:flex;padding:var(--space-4);background:var(--surface-secondary);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md),var(--panel-glow-inset);flex-direction:column;gap:var(--space-4)}.session-panel-header{display:flex;align-items:flex-start;border-bottom:1px solid var(--border-subtle);gap:var(--space-3);justify-content:space-between;padding-bottom:var(--space-3)}.session-panel-header h2{margin:0}.session-panel-subtitle{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.session-panel-empty{margin:0;color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.session-chip{display:inline-flex;padding:var(--space-1) var(--space-2);color:#f8fafc;background:#3b82f633;align-items:center;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #3b82f64d;font-size:var(--text-xs);gap:var(--space-2);letter-spacing:.03em;text-transform:uppercase}.chip-muted{color:var(--text-secondary);background:#94a3b826;box-shadow:0 0 0 1px var(--border-muted)}.panel-label{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:.03em;text-transform:uppercase}.panel-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.panel-list{display:flex;margin:0;padding:0;flex-direction:column;gap:var(--space-2)}.panel-list-row{display:flex;align-items:center;font-size:var(--text-sm);justify-content:space-between}.panel-list-row dt{margin:0;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase}.panel-list-row dd{margin:0;color:var(--text-primary);font-weight:600}.panel-skill-list{display:flex;margin:0;padding:0;flex-direction:column;gap:var(--space-2);list-style:none}.panel-skill-list li{display:flex;padding:var(--space-2);background:var(--surface-primary);align-items:center;border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003;justify-content:space-between}.panel-skill-tier{color:var(--color-accent-yellow);font-weight:600}.panel-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.inventory-section{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2)}.inventory-list{display:flex;margin:0;padding:0;flex-direction:column;gap:var(--space-2);list-style:none}.inventory-list-item{display:flex;padding:var(--space-3);background:var(--surface-primary);align-items:center;border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003;gap:var(--space-3);justify-content:space-between}.inventory-item-name{margin:0;font-size:var(--text-sm);font-weight:600}.inventory-item-meta{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-xs)}.inventory-item-effect{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-xs);font-style:italic}.inventory-quantity{display:inline-flex;padding:var(--space-1) var(--space-2);color:var(--text-primary);background:#3b82f633;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #60a5fa4d;font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase}.character-drawer-backdrop{position:fixed;background:#02061799;inset:0;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:10}.character-drawer-backdrop.open{opacity:1;pointer-events:auto}.character-drawer{position:fixed;top:0;bottom:0;left:0;width:min(420px,90vw);padding:1.5rem;background:linear-gradient(160deg,#0c1329fa,#040814f2);backdrop-filter:blur(6px);border-right:1px solid rgb(96 165 250 / 30%);box-shadow:0 0 60px #050a14d9;isolation:isolate;overflow-y:auto;transform:translate(-100%);transition:transform .22s ease;z-index:11}.character-drawer:before{position:absolute;background:repeating-linear-gradient(0deg,rgb(59 130 246 / 5%),rgb(59 130 246 / 5%) 1px,transparent 1px,transparent 20px),repeating-linear-gradient(90deg,rgb(59 130 246 / 3%),rgb(59 130 246 / 3%) 1px,transparent 1px,transparent 20px);content:"";inset:0;opacity:.7;pointer-events:none;z-index:-1}.character-drawer.open{transform:translate(0)}.character-drawer-close{position:absolute;top:1rem;right:1rem;display:flex;width:2rem;height:2rem;color:#e2e8f0;background:#0f172acc;align-items:center;border:1px solid rgb(148 163 184 / 40%);border-radius:999px;cursor:pointer;font-size:1.5rem;justify-content:center;z-index:1}.chronicle-seed-text{margin:0;padding:var(--space-3);color:var(--text-secondary);background:var(--surface-primary);border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003;font-size:var(--text-sm);font-style:italic;line-height:1.6}.anchor-entity-card{display:flex;padding:var(--space-3);background:var(--surface-primary);border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003;flex-direction:column;gap:var(--space-1)}.anchor-entity-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.anchor-entity-meta{color:var(--text-muted);font-family:var(--font-mono, monospace);font-size:var(--text-xs)}.entity-unresolved-hint{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-xs);font-style:italic}.entity-focus-section{margin-top:var(--space-3)}.entity-focus-sublabel{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.entity-focus-list{display:flex;margin:0;padding:0;flex-direction:column;gap:var(--space-2);list-style:none}.entity-focus-item{display:flex;padding:var(--space-2);background:var(--surface-primary);align-items:center;border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003;font-size:var(--text-xs);gap:var(--space-2);justify-content:space-between}.entity-focus-details{display:flex;flex:1;flex-direction:column;gap:var(--space-1);overflow:hidden}.entity-focus-name{color:var(--text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-focus-meta{color:var(--text-muted);font-family:var(--font-mono, monospace);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-focus-score{color:var(--color-accent-yellow);flex-shrink:0;font-weight:600}.beat-list{display:flex;margin:0;padding:0;flex-direction:column;gap:var(--space-3);list-style:none}.beat-item{padding:var(--space-3);background:var(--surface-primary);border:none;border-left:3px solid var(--border-muted);border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003}.beat-item[data-status=in_progress]{border-left-color:#3b82f6;box-shadow:inset 0 1px 2px #0003,0 0 0 1px #3b82f633}.beat-item[data-status=succeeded]{border-left-color:#22c55e;box-shadow:inset 0 1px 2px #0003,0 0 0 1px #22c55e33}.beat-item[data-status=failed]{border-left-color:#ef4444;box-shadow:inset 0 1px 2px #0003,0 0 0 1px #ef444433}.beat-item-focused{background:#3b82f61a}.beat-header{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between}.beat-title{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.beat-status{padding:var(--space-1) var(--space-2);color:var(--text-secondary);background:#94a3b826;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--border-muted);flex-shrink:0;font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase}.beat-description{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-xs);line-height:1.5}.wrap-target-panel{padding:var(--space-3);background:#fb923c1a;border:1px solid rgb(251 146 60 / 30%);border-radius:var(--radius-sm)}.wrap-target-panel .panel-label{color:#fb923c;margin-bottom:var(--space-2)}.wrap-target-panel .session-chip{background:#fb923c33;box-shadow:0 0 0 1px #fb923c66}.entity-usage-hint{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-style:italic}.entity-usage-list{display:flex;margin:0;padding:0;flex-direction:column;gap:var(--space-2);list-style:none}.entity-usage-item{padding:var(--space-3);background:var(--surface-primary);border:none;border-left:3px solid var(--border-muted);border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003}.entity-usage-item[data-usage=central]{background:#22c55e0d;border-left-color:#22c55e}.entity-usage-item[data-usage=mentioned]{background:#3b82f60d;border-left-color:#3b82f6}.entity-usage-item[data-usage=unused]{border-left-color:#94a3b8;opacity:.6}.entity-usage-header{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between}.entity-usage-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.entity-usage-badge{padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-full);flex-shrink:0;font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.entity-usage-central{color:#22c55e;background:#22c55e33;box-shadow:0 0 0 1px #22c55e66}.entity-usage-mentioned{color:#3b82f6;background:#3b82f633;box-shadow:0 0 0 1px #3b82f666}.entity-usage-unused{color:var(--text-muted);background:#94a3b826;box-shadow:0 0 0 1px var(--border-muted)}.entity-usage-meta{margin:var(--space-1) 0 0;color:var(--text-muted);font-family:var(--font-mono, monospace);font-size:10px}.entity-usage-tags{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.entity-usage-emergent-label{color:var(--text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.chronicle-drawer-backdrop{position:fixed;background:#02061799;inset:0;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:10}.chronicle-drawer-backdrop.open{opacity:1;pointer-events:auto}.chronicle-drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,90vw);padding:1.5rem;background:linear-gradient(200deg,#0c1329fa,#040814f2);backdrop-filter:blur(6px);border-left:1px solid rgb(96 165 250 / 30%);box-shadow:0 0 60px #050a14d9;isolation:isolate;overflow-y:auto;transform:translate(100%);transition:transform .22s ease;z-index:11}.chronicle-drawer:before{position:absolute;background:repeating-linear-gradient(0deg,rgb(59 130 246 / 5%),rgb(59 130 246 / 5%) 1px,transparent 1px,transparent 20px),repeating-linear-gradient(90deg,rgb(59 130 246 / 3%),rgb(59 130 246 / 3%) 1px,transparent 1px,transparent 20px);content:"";inset:0;opacity:.7;pointer-events:none;z-index:-1}.chronicle-drawer.open{transform:translate(0)}.chronicle-drawer-close{position:absolute;top:1rem;right:1rem;display:flex;width:2rem;height:2rem;color:#e2e8f0;background:#0f172acc;align-items:center;border:1px solid rgb(148 163 184 / 40%);border-radius:999px;cursor:pointer;font-size:1.5rem;justify-content:center}.template-drawer-backdrop{position:fixed;background:#02061799;inset:0;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:12}.template-drawer-backdrop.open{opacity:1;pointer-events:auto}.template-drawer{position:fixed;top:0;right:0;bottom:0;display:flex;width:min(640px,95vw);padding:1.75rem;background:linear-gradient(160deg,#060d20fa,#020617f2);border-left:1px solid rgb(59 130 246 / 25%);box-shadow:0 0 60px #050a14cc;flex-direction:column;transform:translate(100%);transition:transform .22s ease;z-index:13}.template-drawer.open{transform:translate(0)}.template-drawer-close{position:absolute;top:1rem;left:1rem;display:flex;width:2rem;height:2rem;color:#e2e8f0;background:#0f172acc;align-items:center;border:1px solid rgb(148 163 184 / 40%);border-radius:999px;cursor:pointer;font-size:1.4rem;justify-content:center}.template-drawer-layout{display:grid;height:100%;gap:1.5rem;grid-template-columns:230px 1fr}.template-list{display:flex;flex-direction:column;gap:.65rem}.template-list-header{display:flex;flex-direction:column;gap:.25rem}.template-list-title{margin:0;color:#e2e8f0;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.template-list-subtitle{margin:0;color:#94a3b8;font-size:.85rem}.template-list-body{display:flex;margin:0;padding:0;flex-direction:column;gap:.4rem;list-style:none}.template-list-item{display:flex;padding:.45rem .6rem;color:#cbd5f5;border:1px solid transparent;border-radius:.5rem;cursor:pointer;flex-direction:column;gap:.15rem}.template-list-item.active{background:#0f172ab3;border-color:#3b82f699}.template-list-label{margin:0;font-size:.85rem;font-weight:600}.template-list-meta{margin:0;color:#94a3b8;font-size:.75rem}.template-empty{margin:0;color:#94a3b8;font-size:.9rem}.template-note{margin:0;color:#94a3b8;font-size:.8rem;font-style:italic}.template-editor{display:flex;padding:1rem;background:#060b1bd9;border:1px solid rgb(148 163 184 / 20%);border-radius:.75rem;flex-direction:column;gap:1rem}.template-editor-header{display:flex;flex-direction:column;gap:.35rem}.template-editor-title{margin:0;color:#f8fafc;font-size:1.2rem}.template-editor-description{margin:0;color:#94a3b8;font-size:.9rem}.template-editor-status{margin:0;color:#60a5fa;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.template-badge{display:inline-flex;padding:.15rem .55rem;border:1px solid rgb(148 163 184 / 30%);border-radius:999px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.template-badge.badge-override{color:#fef9c3;border-color:#facc1599}.template-updated{margin:0;color:#cbd5f5;font-size:.8rem}.template-editor-label{margin:0;color:#cbd5f5;font-size:.85rem;font-weight:600}.template-editor-textarea{padding:.75rem;color:#e2e8f0;background:#0f172acc;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem;font-family:JetBrains Mono,Source Code Pro,menlo,monospace;min-height:180px;resize:vertical}.template-editor-actions{display:flex;gap:.5rem;justify-content:flex-end}.template-button{padding:.4rem 1rem;border:1px solid transparent;border-radius:.5rem;cursor:pointer;font-weight:600}.template-button.primary{color:#0f172a;background:linear-gradient(135deg,#60a5fad9,#ec4899d9)}.template-button.secondary{color:#cbd5f5;background:#0f172acc;border-color:#94a3b866}.template-button:disabled{cursor:not-allowed;opacity:.5}.template-placeholder{margin:0;color:#94a3b8;min-height:4rem}.template-error{margin:0;color:#fca5a5;font-size:.85rem}.beat-tracker-badge{position:relative;display:inline-flex;padding:.125rem var(--space-2);color:var(--text-secondary);background:#94a3b81a;align-items:center;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--border-muted);cursor:default;gap:var(--space-2);transition:box-shadow .12s ease,color .12s ease}.beat-tracker-badge:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.beat-tracker-label{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase}.beat-tracker-tooltip{position:absolute;top:calc(100% + var(--space-2));left:50%;width:max(260px,18vw);padding:var(--space-3);background:var(--surface-primary);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border-accent),var(--shadow-lg);opacity:0;pointer-events:none;transform:translate(-50%,-10px);transition:opacity .12s ease,transform .12s ease;z-index:20}.beat-tracker-badge:hover,.beat-tracker-badge:focus-within{color:var(--text-primary);box-shadow:0 0 0 1px var(--border-accent)}.beat-tracker-badge:hover .beat-tracker-tooltip,.beat-tracker-badge:focus-within .beat-tracker-tooltip{opacity:1;pointer-events:auto;transform:translate(-50%)}.beat-tracker-title{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase}.beat-tracker-focus{margin:0;color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase}.beat-tracker-new{padding:var(--space-2) 0;border-top:1px solid var(--border-subtle);margin-top:var(--space-2)}.beat-tracker-new-title{margin:0;font-weight:600}.beat-tracker-new-description{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:var(--text-sm)}.beat-tracker-update-list{display:flex;margin:var(--space-2) 0 0;padding:0;flex-direction:column;gap:var(--space-2);list-style:none}.beat-tracker-update{border-top:1px solid var(--border-subtle);padding-top:var(--space-2)}.beat-tracker-update-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.beat-tracker-update-title{font-weight:600}.beat-tracker-update-kind{padding:.125rem var(--space-2);background:#f8fafc14;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #f8fafc26;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.beat-tracker-update-kind-advance{color:#bbf7d0;background:#22c55e26;box-shadow:0 0 0 1px #22c55e4d}.beat-tracker-update-kind-resolve{color:#fecaca;background:#f8717126;box-shadow:0 0 0 1px #f871714d}.beat-tracker-update-status{color:var(--text-muted);font-size:var(--text-xs)}.beat-tracker-update-description{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.inventory-delta-badge{position:relative;display:inline-flex;padding:.125rem var(--space-2);color:var(--text-secondary);background:#94a3b81a;align-items:center;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--border-muted);cursor:default;gap:var(--space-2);transition:box-shadow .12s ease,color .12s ease}.inventory-delta-badge:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.inventory-delta-badge .badge-icon{font-size:var(--text-sm)}.inventory-delta-tooltip{position:absolute;top:calc(100% + var(--space-2));left:50%;width:max(260px,18vw);padding:var(--space-3);background:var(--surface-primary);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border-accent),var(--shadow-lg);opacity:0;pointer-events:none;transform:translate(-50%,-10px);transition:opacity .12s ease,transform .12s ease;z-index:20}.inventory-delta-badge:hover,.inventory-delta-badge:focus-within{color:var(--text-primary);box-shadow:0 0 0 1px var(--border-accent)}.inventory-delta-badge:hover .inventory-delta-tooltip,.inventory-delta-badge:focus-within .inventory-delta-tooltip{opacity:1;pointer-events:auto;transform:translate(-50%)}.inventory-delta-title{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase}.inventory-delta-row{display:grid;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.inventory-delta-row:last-child{border-bottom:none}.inventory-delta-row .delta-op{font-weight:600;text-transform:uppercase}.inventory-delta-row.inventory-delta-add .delta-op{color:#4ade80}.inventory-delta-row.inventory-delta-remove .delta-op{color:#f87171}.inventory-delta-row.inventory-delta-consume .delta-op{color:#fde047}.inventory-delta-row.inventory-delta-update .delta-op{color:#38bdf8}.inventory-delta-row .delta-kind{color:var(--text-muted);font-size:var(--text-xs)}.inventory-delta-row .delta-name{font-weight:600}.inventory-delta-row .delta-quantity{font-weight:600;justify-self:end}.inventory-delta-row .delta-description{color:var(--text-secondary);font-size:var(--text-xs)}.inventory-delta-row .delta-effect{color:#fbbf24;font-style:italic}.skill-check-badge{position:relative;display:inline-flex}.skill-check-icon{display:inline-flex;width:2.25rem;height:2.25rem;padding:0;color:var(--text-accent);background:#0f172acc;align-items:center;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #94a3b833;cursor:pointer;justify-content:center;transition:box-shadow .12s ease,transform .12s ease}.skill-check-icon:hover{box-shadow:0 0 0 1px var(--border-accent),var(--shadow-sm);transform:translateY(-1px)}.skill-check-icon svg{width:1.35rem;height:1.35rem}.skill-check-tooltip{position:absolute;top:calc(100% + var(--space-2));right:0;padding:var(--space-3);color:var(--text-primary);background:var(--surface-primary);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border-accent),var(--shadow-lg);min-width:220px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease;z-index:20}.skill-check-badge:hover .skill-check-tooltip,.skill-check-badge:focus-within .skill-check-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.skill-check-title{margin:0 0 var(--space-2);color:var(--text-accent);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase}.skill-check-list{display:flex;margin:0;padding:0;flex-direction:column;font-size:var(--text-sm);gap:var(--space-2)}.skill-check-list div{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between}.skill-check-list dt{margin:0;color:var(--text-muted);font-weight:500}.skill-check-list dd{margin:0;color:var(--text-primary)}.chat-canvas{display:flex;flex:1;width:100%;padding:var(--space-3);background:var(--surface-primary);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:var(--panel-shadow),var(--panel-glow-inset);box-sizing:border-box;flex-direction:column;max-height:max(16rem,calc(100vh - 26rem));min-height:0;min-width:0;overflow:hidden}.chat-stream{flex:1;width:100%;box-sizing:border-box;outline:none;overflow:hidden auto;padding-right:var(--space-2)}.chat-stream:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.chat-entry{border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-3);padding-bottom:var(--space-3)}.chat-entry-header{display:flex;align-items:flex-start;gap:var(--space-2);justify-content:space-between}.chat-entry-heading{display:flex;color:var(--text-secondary);align-items:baseline;font-size:var(--text-xs);gap:var(--space-2);letter-spacing:.03em;text-transform:uppercase}.chat-entry-aside{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.chat-entry-summary{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.skill-progress-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.skill-progress-badge{padding:.125rem var(--space-2);color:#e0e7ff;background:#0f172a66;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #94a3b833;font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase}.skill-progress-badge-skill-gain{color:#5eead4;background:#2dd4bf26;box-shadow:0 0 0 1px #2dd4bf4d}.skill-progress-badge-skill-tier-up{color:#c4b5fd;background:#818cf826;box-shadow:0 0 0 1px #818cf84d}.chat-entry-delta-note,.chat-entry-node-trace{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-xs)}.chat-entry-tone{margin:0;color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.chat-entry-spark{color:var(--color-accent-yellow);font-size:var(--text-xs)}.chat-entry-beat-tag{position:relative;padding:.125rem var(--space-2);color:var(--text-secondary);background:#94a3b81a;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--border-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;transition:box-shadow .12s ease,color .12s ease}.chat-entry-beat-tag-hoverable:hover,.chat-entry-beat-tag-hoverable:focus-visible{color:var(--text-primary);box-shadow:0 0 0 1px var(--border-accent)}.chat-entry-beat-tooltip{position:absolute;top:110%;left:0;padding:var(--space-2) var(--space-3);color:var(--text-secondary);background:var(--surface-primary);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border-accent),var(--shadow-lg);font-size:var(--text-xs);max-width:260px;min-width:200px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease;z-index:10}.chat-entry-beat-tag-hoverable:hover .chat-entry-beat-tooltip,.chat-entry-beat-tag-hoverable:focus-visible .chat-entry-beat-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-entry-beat-tooltip-label{display:inline-flex;padding:.125rem var(--space-2);color:var(--text-accent);background:#93c5fd1a;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #93c5fd33;font-size:var(--text-xs);letter-spacing:.04em;margin-bottom:var(--space-1);text-transform:uppercase}.chat-entry-beat-tooltip-title{margin:0;color:var(--text-primary);font-weight:600}.chat-entry-beat-tooltip-description{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-xs)}.chat-entry-beat-effect{padding:.125rem var(--space-2);color:#d1fae5;background:#2dd4bf26;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #2dd4bf4d;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.chat-entry-intent-tag,.chat-entry-timeline-tag{padding:.125rem var(--space-2);color:#e0e7ff;background:#94a3b81a;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--border-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.chat-entry-intent-tag{background:#f8fafc14;box-shadow:0 0 0 1px #f8fafc26}.chat-entry-timeline-tag{color:#a5f3fc;background:#5eead426;box-shadow:0 0 0 1px #5eead44d}.chat-entry-player .chat-entry-content{color:#f9a8d4}.chat-entry-gm .chat-entry-content{color:#bfdbfe}.chat-entry-system{background:#f871711a;border-left:2px solid rgb(248 113 113 / 80%);box-shadow:inset 0 0 0 1px #f8717126;margin-left:calc(var(--space-2) * -1);padding-left:var(--space-2)}.chat-entry-system .chat-entry-heading,.chat-entry-system .chat-entry-content{color:#fecaca}.chat-entry-system .chat-entry-meta{color:#fca5a5}.chat-empty{color:var(--text-muted);margin-top:var(--space-6);text-align:center}.chat-loading{display:inline-flex;padding:var(--space-2) var(--space-3);color:var(--text-secondary);background:#3b82f61f;align-items:center;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #60a5fa33;font-size:var(--text-sm);gap:var(--space-2);margin-top:var(--space-3)}.chat-loading-spinner{width:1rem;height:1rem;animation:chat-loading-spin .85s linear infinite;border:2px solid rgb(59 130 246 / 25%);border-radius:var(--radius-full);border-top-color:var(--color-accent-pink)}.chat-loading-text{letter-spacing:.01em}@keyframes chat-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-entry-feedback-button{padding:.125rem var(--space-2);color:#e0f2fe;background:#3b82f633;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #93c5fd4d;cursor:pointer;font-size:var(--text-xs);letter-spacing:.03em;margin-left:var(--space-1);text-transform:uppercase;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.chat-entry-feedback-button:disabled{cursor:not-allowed;opacity:.4}.chat-entry-feedback-button:hover:not(:disabled){background:#60a5fa4d;box-shadow:0 0 0 1px #93c5fd99,var(--shadow-sm);transform:translateY(-1px)}.chat-entry-feedback-status{color:#a5b4fc;font-size:var(--text-xs);letter-spacing:.03em;margin-left:var(--space-1);text-transform:uppercase}.chat-feedback-modal{position:fixed;display:flex;padding:var(--space-4);align-items:center;inset:0;justify-content:center;z-index:50}.chat-feedback-backdrop{position:absolute;width:100%;height:100%;background:#0f172ab3;backdrop-filter:blur(4px);border:none;cursor:pointer;inset:0}.chat-feedback-content{position:relative;display:flex;width:100%;padding:var(--space-4);background:var(--surface-elevated);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border-default),var(--shadow-lg);flex-direction:column;gap:var(--space-3);max-width:28rem;z-index:1}.chat-feedback-header{display:flex;color:var(--text-primary);align-items:center;justify-content:space-between}.chat-feedback-header h3{margin:0;font-size:var(--text-base);letter-spacing:.03em;text-transform:uppercase}.chat-feedback-close{color:var(--text-secondary);background:none;border:none;cursor:pointer;font-size:1.3rem;transition:color .12s ease}.chat-feedback-close:hover{color:var(--text-primary)}.chat-feedback-excerpt{margin:0;padding:var(--space-3);color:var(--text-secondary);background:var(--surface-secondary);border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003;font-size:var(--text-sm)}.chat-feedback-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chat-feedback-expectations{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.chat-feedback-field{display:flex;color:var(--text-secondary);flex-direction:column;font-size:var(--text-sm);gap:var(--space-1)}.chat-feedback-field select{padding:var(--space-2);color:var(--text-primary);background:var(--surface-secondary);border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003}.chat-feedback-boolean-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.chat-feedback-note-input{padding:var(--space-2);color:var(--text-primary);background:var(--surface-secondary);border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003;font-family:inherit;margin-top:var(--space-2);resize:vertical}.chat-feedback-option{display:inline-flex;padding:var(--space-2) var(--space-3);color:var(--text-primary);background:var(--surface-secondary);align-items:center;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--border-muted);font-size:var(--text-xs);gap:var(--space-2);text-transform:uppercase}.chat-feedback-comment{display:flex;color:var(--text-secondary);flex-direction:column;font-size:var(--text-sm);gap:var(--space-1)}.chat-feedback-comment textarea{padding:var(--space-2);color:var(--text-primary);background:var(--surface-secondary);border:none;border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px #0003;font-family:inherit;min-height:4.5rem;resize:vertical}.chat-feedback-error{margin:0;color:#fecaca;font-size:var(--text-sm)}.chat-feedback-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-2)}.chat-feedback-actions button{padding:var(--space-2) var(--space-4);color:var(--text-primary);background:var(--surface-secondary);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}.chat-feedback-actions button:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.chat-feedback-submit{background:#3b82f659;box-shadow:0 0 0 1px #60a5fa66,var(--shadow-sm)}.chat-feedback-submit:hover{box-shadow:0 0 0 1px #60a5fa99,var(--shadow-md)}.chat-feedback-submit:disabled{cursor:not-allowed;opacity:.5}.location-pill{display:flex;flex:1 1 240px;padding:var(--space-2) var(--space-3);background:var(--surface-primary);border:none;border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #0003;box-sizing:border-box;flex-direction:column;gap:var(--space-1);max-width:100%;min-width:0}.location-pill-label{color:var(--text-accent);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.location-pill-value{display:flex;color:var(--text-primary);flex-direction:column;font-size:var(--text-sm);gap:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-pill-link{padding:0;color:var(--text-primary);background:none;border:none;cursor:pointer;font-weight:600;overflow:hidden;text-align:left;text-decoration:underline;text-decoration-color:var(--border-accent);text-decoration-style:dashed;text-overflow:ellipsis;transition:text-decoration-color .12s ease;white-space:nowrap}.location-pill-link:hover{text-decoration-color:var(--text-primary)}.location-pill-meta{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase}.location-pill-empty .location-pill-value{color:var(--text-muted)}.chat-composer{display:flex;padding:var(--space-3);background:var(--surface-primary);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:var(--panel-shadow),var(--panel-glow-inset);flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.chat-offline-banner{margin:0;padding:var(--space-2) var(--space-3);color:#fde68a;background-color:#facc1526;border:none;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #facc154d;font-size:var(--text-sm)}.chat-closed-banner{margin:0;padding:var(--space-2) var(--space-3);color:#fecaca;background-color:#f8717126;border:none;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #f871714d;font-size:var(--text-sm)}.chat-input{width:100%;padding:var(--space-3);color:inherit;background-color:var(--surface-secondary);border:none;border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #0003;box-sizing:border-box;resize:vertical;transition:box-shadow .12s ease}.chat-input:focus-visible{box-shadow:inset 0 1px 2px #0003,0 0 0 2px var(--border-accent);outline:none}.chat-composer-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}.chat-composer-actions{display:flex;align-items:center;gap:var(--space-2)}.chat-wrap-toggle{padding:var(--space-2) var(--space-3);color:#fdf2f8;background-color:#ec489926;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #ec48994d;cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:background-color .15s ease,color .15s ease,opacity .15s ease,box-shadow .15s ease}.chat-wrap-toggle-active{background-color:#ec489940;box-shadow:0 0 0 1px #ec489999,0 0 16px #ec48994d}.chat-wrap-toggle:disabled{cursor:not-allowed;opacity:.6}.chat-send-button{padding:var(--space-2) var(--space-6);color:#0f172a;background:linear-gradient(135deg,#60a5fae5,#ec4899e5);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:transform .12s ease,box-shadow .12s ease}.chat-send-button:disabled{cursor:not-allowed;opacity:.6}.chat-send-button:hover:not(:disabled){box-shadow:var(--shadow-lg),0 0 24px #60a5fa66;transform:translateY(-1px)}.chat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.chat-title{margin:0;color:#f8fafc;font-size:1.15rem;letter-spacing:.04em}.chat-status{color:#94a3b8;font-size:.9rem;margin-bottom:.5rem}.chat-error{padding:.5rem .75rem;color:#fecaca;background-color:#f871711f;border:1px solid rgb(248 113 113 / 40%);border-radius:.5rem;margin-bottom:.5rem}.modal-backdrop{position:fixed;background:#020617bf;backdrop-filter:blur(4px);inset:0;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:30}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{position:fixed;top:50%;left:50%;display:flex;width:min(640px,95vw);padding:0;background:var(--surface-elevated);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border-default),var(--shadow-lg);flex-direction:column;max-height:90vh;opacity:0;pointer-events:none;transform:translate(-50%,-45%) scale(.95);transition:opacity .15s ease,transform .15s ease;z-index:40}.modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.modal-header{display:flex;padding:var(--space-3) var(--space-4);align-items:center;border-bottom:1px solid var(--border-subtle);justify-content:space-between}.modal-header h2{margin:0;font-size:var(--text-base);letter-spacing:.03em}.modal-overline{margin:0;color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.modal-close{color:var(--text-muted);background:transparent;border:none;cursor:pointer;font-size:1.25rem;transition:color .12s ease}.modal-close:hover{color:var(--text-primary)}.modal-body{display:flex;padding:var(--space-4);flex-direction:column;gap:var(--space-4);overflow-y:auto}.modal-footer{display:flex;padding:0 var(--space-4) var(--space-4);gap:var(--space-2);justify-content:flex-end}.modal-primary,.modal-secondary{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;font-weight:600;transition:transform .12s ease,box-shadow .12s ease}.modal-primary{color:#0f172a;background:linear-gradient(135deg,#60a5fae5,#ec4899e5)}.modal-primary:hover{box-shadow:var(--shadow-md),0 0 24px #60a5fa66;transform:translateY(-1px)}.modal-secondary{color:var(--text-secondary);background:var(--surface-secondary)}.modal-secondary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.bug-report-modal{width:min(640px,95vw)}.bug-report-body{display:flex;flex-direction:column;gap:.75rem}.bug-report-intro{margin:0 0 .5rem;color:#cbd5f5}.bug-report-label{color:#94a3b8;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.bug-report-input,.bug-report-textarea{width:100%;padding:.65rem .75rem;color:#f8fafc;background:#0f172acc;border:1px solid rgb(148 163 184 / 40%);border-radius:.65rem;font-size:.95rem}.bug-report-textarea{min-height:120px;resize:vertical}.bug-report-context{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.bug-report-error{margin:0;color:#fda4af}.bug-report-success{margin:0;color:#a7f3d0}.bug-report-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.bug-report-cancel,.bug-report-submit{padding:.6rem 1.2rem;border:1px solid transparent;border-radius:.65rem;cursor:pointer;font-size:.95rem}.bug-report-cancel{color:#e2e8f0;background:transparent;border-color:#94a3b87f}.bug-report-submit{color:#0f172a;background:linear-gradient(135deg,#ec4899e5,#3b82f6e5);font-weight:600}.bug-report-submit:disabled{cursor:not-allowed;opacity:.6}.changelog-modal{width:min(560px,95vw)}.changelog-body{padding:0}.changelog-empty{margin:0;padding:1rem;color:#94a3b8;font-size:.9rem;text-align:center}.changelog-list{margin:0;padding:0;list-style:none}.changelog-entry{display:flex;padding:.85rem 1rem;border-bottom:1px solid rgb(148 163 184 / 25%);flex-direction:column;gap:.35rem;outline:none}.changelog-entry:last-child{border-bottom:none}.changelog-entry:focus-visible{border-radius:.5rem;box-shadow:0 0 0 2px #818cf873}.changelog-entry-main{display:flex;align-items:flex-start;gap:.75rem}.changelog-entry-type{display:inline-flex;padding:.2rem .6rem;color:#0f172a;align-items:center;border:1px solid transparent;border-radius:999px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.changelog-entry-type-feature{background:#3b82f6d9;border-color:#bfdbfecc}.changelog-entry-type-improvement{background:#10b981b3;border-color:#a7f3d0d9}.changelog-entry-type-bugfix{background:#fbbf24d9;border-color:#fef3c7e5}.changelog-entry-content{display:flex;flex-direction:column;gap:.2rem}.changelog-entry-summary{margin:0;color:#f8fafc;font-size:.95rem}.changelog-entry-meta{display:flex;margin:0;color:#94a3b8;align-items:center;font-size:.75rem;gap:.4rem}.changelog-entry-meta dt{letter-spacing:.08em;text-transform:uppercase}.changelog-entry-meta dd{margin:0;color:#cbd5f5;font-weight:600}.changelog-entry-details{margin:0;color:#e2e8f0;font-size:.85rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .15s ease,opacity .15s ease}.changelog-entry:hover .changelog-entry-details,.changelog-entry:focus .changelog-entry-details,.changelog-entry:focus-within .changelog-entry-details{max-height:200px;opacity:1}.changelog-toggle{display:inline-flex;color:#cbd5f5;align-items:center;font-size:.8rem;gap:.35rem;margin-left:1rem;margin-right:auto}.changelog-toggle input{width:1rem;height:1rem;accent-color:rgb(59 130 246)}.modal-header-title{display:flex;flex-direction:column;gap:.15rem}.form-field{display:flex;flex-direction:column;gap:.2rem}.form-field span{color:#94a3b8;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.form-field input,.form-field select{padding:.35rem .5rem;color:inherit;background:#0f172ad9;border:1px solid rgb(148 163 184 / 35%);border-radius:.5rem}.form-field-full{grid-column:span 2}.character-form-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.character-section{border-top:1px solid rgb(148 163 184 / 25%);padding-top:.75rem}.character-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.skill-list{display:flex;flex-direction:column;gap:.4rem}.skill-row{display:grid;align-items:center;gap:.4rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.skill-row input,.skill-row select{padding:.3rem .45rem;color:inherit;background:#0f172ad9;border:1px solid rgb(148 163 184 / 35%);border-radius:.4rem}.form-error{margin:0;color:#fecaca;font-size:.85rem}.form-hint{margin:0;color:#94a3b8;font-size:.85rem}.player-settings-modal{width:min(560px,95vw)}.player-settings-body{display:flex;flex-direction:column;gap:1rem}.player-settings-description{margin:0;color:#cbd5f5}.player-settings-slider-row{display:flex;flex-direction:column;gap:.5rem}.player-settings-slider{width:100%}.player-settings-slider-labels{display:flex;color:#94a3b8;font-size:.8rem;justify-content:space-between;letter-spacing:.08em;text-transform:uppercase}.player-settings-level h3{margin:0 0 .25rem}.player-settings-level p{margin:0;color:#e2e8f0}.player-settings-status{margin:0;color:#bae6fd}.player-settings-error{margin:0;color:#fca5a5}.player-settings-divider{height:1px;margin:.5rem 0;background:#94a3b833}.player-settings-models{display:flex;flex-direction:column;gap:1rem}.player-settings-models h3{margin:0 0 .25rem}.player-settings-model-row{display:flex;flex-direction:column;gap:.5rem}.player-settings-model-row label{display:flex;flex-direction:column;gap:.25rem}.player-settings-model-row .model-description{color:#94a3b8;font-size:.85rem}.player-settings-model-row select{padding:.5rem;color:#f8fafc;background:#1e293b7f;border:1px solid rgb(148 163 184 / 40%);border-radius:.35rem;cursor:pointer}.player-settings-model-row select:disabled{cursor:not-allowed;opacity:.5}.player-settings-close{padding:.5rem 1.2rem;color:#f8fafc;background:transparent;align-self:flex-end;border:1px solid rgb(148 163 184 / 40%);border-radius:.65rem;cursor:pointer}.user-guide-modal{width:min(720px,95vw)}.user-guide-body{display:flex;flex-direction:column;gap:1rem;max-height:min(70vh,640px);overflow-y:auto}.user-guide-intro{margin:0;color:#cbd5f5}.user-guide-accordion{display:flex;flex-direction:column;gap:.75rem}.user-guide-section{background:#0f172acc;border:1px solid rgb(99 102 241 / 25%);border-radius:.85rem}.user-guide-summary{display:flex;width:100%;padding:1rem;color:inherit;background:none;align-items:flex-start;border:none;cursor:pointer;gap:1rem;justify-content:space-between;text-align:left}.user-guide-summary h3{margin:0 0 .25rem}.user-guide-summary p{margin:0;color:#cbd5f5;font-size:.95rem}.user-guide-summary span{font-size:1.5rem;line-height:1}.user-guide-content{padding:0 1rem 1rem;border-top:1px solid rgb(99 102 241 / 20%)}.user-guide-content ol{display:flex;margin:0;color:#e2e8f0;flex-direction:column;gap:.35rem;padding-left:1.2rem}.user-guide-content li{line-height:1.4}.audit-page{display:flex;padding:1.5rem;flex-direction:column;gap:1.5rem}.audit-page-header{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;justify-content:space-between}.audit-page-header h1{margin:0;font-size:1.5rem}.audit-header-actions{display:flex;gap:.75rem}.audit-header-actions button,.audit-filter-apply,.audit-panel-footer button,.audit-form-actions button,.audit-panel-header button{padding:.5rem .9rem;color:#fff;background:var(--gf-surface-3, #253047);border:1px solid var(--gf-border, rgb(255 255 255 / 8%));border-radius:6px;cursor:pointer;transition:background .12s ease}.audit-filter-apply{align-self:flex-start}.audit-header-actions button:disabled,.audit-filter-apply:disabled,.audit-panel-footer button:disabled,.audit-form-actions button:disabled,.audit-panel-header button:disabled{cursor:not-allowed;opacity:.6}.audit-layout{display:flex;flex-direction:column;gap:1.25rem}.audit-panel{display:flex;padding:1rem;background:var(--gf-surface-2, #1b2335);border:1px solid rgb(255 255 255 / 8%);border-radius:12px;flex-direction:column;gap:1rem;min-height:0}.audit-grid-wrapper{margin-top:1rem}.audit-panel-header{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.audit-panel-header h2{margin:0;font-size:1.125rem}.audit-count{color:#ffffffb3;font-size:.9rem}.audit-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem}.audit-filter-group{display:flex;flex-direction:column;gap:.25rem}.audit-filter-group label,.audit-filter-group span{color:#ffffffb3;font-size:.85rem}.audit-filter-group input,.audit-filter-group select,.audit-filter-group textarea{padding:.45rem;color:#fff;background:#ffffff0d;border:1px solid rgb(255 255 255 / 8%);border-radius:6px}.audit-filter-group select{color:#e2e8f0;background:#0f172aeb;border-color:#ffffff2e}.audit-filter-group select option{color:#e2e8f0;background:#0f172a}.audit-filter-row{display:flex;gap:.75rem}.audit-filter-status-options{display:flex;flex-wrap:wrap;gap:.5rem}.audit-filter-checkbox{display:inline-flex;align-items:center;font-size:.8rem;gap:.25rem}.audit-queue-list{display:flex;margin:0;padding:0;flex-direction:column;gap:.5rem;list-style:none;max-height:12rem;overflow-y:auto}.audit-queue-list.horizontal{flex-direction:row;gap:.75rem;max-height:none;overflow:auto hidden;padding-bottom:.25rem}.audit-queue-list.horizontal>li{flex:0 0 auto;min-width:220px}.audit-queue-item{width:100%;padding:.75rem;background:#ffffff05;border:1px solid rgb(255 255 255 / 8%);border-radius:10px;cursor:pointer;text-align:left;transition:border .12s ease,background .12s ease}.audit-queue-item.selected{background:#6c8bff14;border-color:var(--gf-accent, #6c8bff)}.audit-queue-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.audit-chip{display:inline-flex;padding:.15rem .6rem;align-items:center;border-radius:999px;font-size:.75rem;justify-content:center;text-transform:capitalize}.audit-chip.status-completed{color:#4cd964;background:#4cd96426}.audit-chip.status-in-progress{color:#ffb740;background:#ffb34026}.audit-chip.status-unreviewed{color:#fff;background:#ffffff14}.audit-chip.severity-critical{color:#ff6b6b;background:#ff6b6b2e}.audit-chip.severity-major{color:#ff9f43;background:#ff9f432e}.audit-chip.severity-info,.audit-chip.severity-minor{color:#6c8bff;background:#6c8bff26}.audit-grid-link{padding:.25rem .8rem;color:inherit;background:#ffffff14;border:1px solid rgb(255 255 255 / 15%);border-radius:6px;cursor:pointer;font-size:.85rem}.audit-grid-link:hover{border-color:var(--gf-accent, #6c8bff)}.audit-queue-item-title{margin:0;font-weight:600}.audit-queue-item-meta,.audit-queue-item-date{color:#ffffffb3;font-size:.8rem}.audit-queue-item-preview{margin:.25rem 0 0;color:#e2e8f0cc;font-size:.82rem}.audit-panel-footer{display:flex;justify-content:center}.audit-workspace{display:flex;flex-direction:column;gap:1rem}.audit-context{display:grid;padding:.75rem;background:#ffffff05;border-radius:10px;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.audit-context-label{margin:0;color:#ffffffb3;font-size:.75rem}.audit-context-value{margin:0;font-weight:600}.audit-body{display:flex;flex-direction:column;gap:.75rem}.audit-body h3{margin:0 0 .5rem}.audit-blob{padding:.9rem;background:#00000059;border-radius:8px;font-size:.9rem;max-height:none;min-height:240px;overflow:auto;overflow-wrap:break-word;white-space:pre-wrap}.audit-form{display:flex;flex-direction:column;gap:.75rem}.audit-form label{display:flex;flex-direction:column;font-size:.85rem;gap:.35rem}.audit-form input,.audit-form textarea,.audit-form select{padding:.5rem;color:#fff;background:#00000073;border:1px solid rgb(255 255 255 / 12%);border-radius:8px}.audit-tags{display:flex;flex-direction:column;gap:.4rem}.audit-tag-grid{display:grid;gap:.35rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.audit-dialog-content{display:flex;flex-direction:column;gap:1rem}.audit-dialog-notes textarea{width:100%;padding:.5rem;font:inherit;color:inherit;background:#ffffff0d;border:1px solid rgb(255 255 255 / 10%);border-radius:6px}.audit-dialog-tags{display:flex;flex-direction:column;gap:.25rem}.audit-dialog-tags .audit-tag-grid{display:grid;gap:.4rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.audit-form-actions{display:flex;gap:.75rem;justify-content:flex-end}.audit-form-actions .primary{background:#6c8bff;border:none}.audit-form-actions .secondary{background:#ffffff14}.audit-placeholder{margin:0;color:#ffffffb3}.audit-proposal-list{display:flex;margin:0;padding:0;flex-direction:column;gap:.75rem;list-style:none}.audit-proposal-item{padding:.75rem;background:#ffffff05;border:1px solid rgb(255 255 255 / 8%);border-radius:10px}.audit-proposal-head{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.audit-proposal-title{margin:0;font-weight:600}.audit-proposal-summary{margin:.35rem 0}.audit-proposal-meta{margin:0;color:#ffffffb3;font-size:.8rem}.audit-proposal-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.audit-chip.tag-chip{background:#ffffff1a}.audit-error{margin:0;color:#ff6b6b}.horizontal .audit-queue-item{min-width:220px}.audit-feedback-panel{display:flex;border-top:1px solid rgb(255 255 255 / 8%);flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem}.audit-feedback-header{display:flex;align-items:baseline;gap:.5rem;justify-content:space-between}.audit-feedback-header h3{margin:0;font-size:1rem}.audit-feedback-count{color:#ffffffb3;font-size:.85rem}.audit-feedback-list{display:flex;margin:0;padding:0;flex-direction:column;gap:.75rem;list-style:none}.audit-feedback-item{display:flex;padding:.75rem;background:#ffffff05;border:1px solid rgb(255 255 255 / 8%);border-radius:8px;flex-direction:column;gap:.4rem}.audit-feedback-meta{display:flex;color:#fffc;align-items:center;flex-wrap:wrap;font-size:.8rem;gap:.5rem}.audit-feedback-comment{margin:0;color:#ffffffd9;font-size:.9rem}.audit-feedback-expectations{display:flex;color:#fffc;flex-direction:column;font-size:.8rem;gap:.25rem}.audit-feedback-expectation-row{display:flex;gap:.5rem;justify-content:space-between}.audit-feedback-expectation-row span{color:#fff9;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.audit-feedback-expectation-row strong{font-weight:600}.audit-feedback-note{margin:.15rem 0 0;color:#e2e8f0e5;font-size:.85rem}.audit-feedback-item .sentiment-positive{color:#6ee7b7;border-color:#34d399cc}.audit-feedback-item .sentiment-neutral{color:#fde68a;border-color:#fbbf2499}.audit-feedback-item .sentiment-negative{color:#fca5a5;border-color:#f87171bf}.bug-page{display:flex;padding:24px;flex-direction:column;gap:16px;min-height:calc(100vh - 120px)}.bug-page-header{display:flex;align-items:center;gap:16px;justify-content:space-between}.bug-page-header h1{margin:0;font-size:1.8rem}.bug-page-header p{margin:4px 0 0;color:#ffffffbf}.bug-page-actions{display:flex;gap:12px}.bug-page-actions button{padding:8px 18px;color:#f5f7ff;background:transparent;border:1px solid rgb(255 255 255 / 35%);border-radius:999px;cursor:pointer;transition:background .12s ease}.bug-page-actions button:disabled{opacity:.5}.bug-page-actions button:not(:disabled):hover{background:#ffffff14}.bug-grid-card{display:flex;padding:16px;background:#0c0f1abf;border:1px solid rgb(255 255 255 / 8%);border-radius:18px;box-shadow:0 14px 32px #00000059;flex-direction:column;gap:12px}.bug-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.bug-filter-statuses{display:flex;flex-wrap:wrap;gap:8px}.bug-grid-wrapper{flex:1;min-height:480px}.bug-grid{width:100%;height:100%}.bug-grid .bug-grid-row-selected{background:#6c8bff2e}.bug-page-error{margin:0;padding:12px 16px;color:#ff9f9f;background:#ff56561f;border:1px solid rgb(255 86 86 / 30%);border-radius:12px}.bug-detail-dialog{display:flex;flex-direction:column;gap:16px}.bug-detail-header{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.bug-detail-overline{margin:0 0 4px;color:#fff9;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.bug-detail-title{margin:0;font-size:1.4rem}.bug-detail-meta{margin:6px 0 0;color:#ffffffa6;font-size:.9rem}.bug-detail-context{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.bug-detail-context dl{margin:0}.bug-detail-context dt{color:#fff9;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.bug-detail-context dd{margin:2px 0 0;font-size:.95rem}.bug-detail-section{display:flex;flex-direction:column;gap:8px}.bug-detail-body,.bug-detail-metadata{margin:0;padding:12px;background:#0f1524e5;border:1px solid rgb(255 255 255 / 8%);border-radius:12px;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;white-space:pre-wrap}.bug-detail-form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.bug-detail-error{margin:0;color:#ff9f9f}.atlas-page{display:flex;padding:1.5rem;flex-direction:column;gap:1rem}.atlas-header{display:flex;align-items:center;justify-content:space-between}.atlas-actions button{margin-left:.75rem}.atlas-alert{padding:.75rem 1rem;background:#ffd7d7;border:1px solid #f39494;border-radius:8px}.atlas-layout{display:grid;grid-template-columns:1fr}.atlas-list{display:flex;flex-direction:column;gap:.75rem}.atlas-list-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.atlas-list-card{padding:.75rem;color:#e8ecf5;background:#0c111a;border:1px solid #1f2a3a;border-radius:8px;cursor:pointer;text-align:left}.atlas-list-kind{margin:0;color:#8aa2c3}.atlas-list-name{margin:.25rem 0;font-weight:700}.atlas-list-meta{margin:0;color:#9fb2cf}.atlas-start{display:grid;padding:1rem;border:1px dashed #25354a;border-radius:10px;gap:.75rem}.atlas-start-fields{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.atlas-article{display:flex;padding:1rem;background:#0c111a;border:1px solid #1c2737;border-radius:10px;flex-direction:column;gap:1rem}.atlas-section h3{margin-bottom:.5rem}.atlas-fields{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.atlas-fields input,.atlas-fields select,.atlas-fragment-form input,.atlas-fragment-form textarea{width:100%;padding:.5rem;color:#eef3ff;background:#0b1019;border:1px solid #273246;border-radius:6px}.atlas-links{display:flex;flex-direction:column;gap:.5rem}.atlas-link-row{display:flex;padding:.5rem;background:#0c121c;align-items:center;border:1px solid #1f2d42;border-radius:6px;gap:.5rem}.atlas-link-pill{padding:.25rem .5rem;background:#172134;border-radius:4px;font-weight:600}.atlas-link-body{display:flex;flex:1;align-items:center;gap:.5rem}.atlas-link-target{color:#cfe1ff;text-decoration:none}.atlas-link-target:hover{text-decoration:underline}.atlas-link-action{color:#6ec1ff;background:none;border:none;cursor:pointer}.atlas-fragments{display:grid;gap:.75rem}.atlas-fragment{padding:.75rem;background:#0c1019;border:1px solid #1f2a3a;border-radius:8px}.atlas-fragment-head{display:flex;align-items:center;justify-content:space-between}.atlas-fragment-meta{margin:.25rem 0 0;color:#90a4c2}.atlas-fragment-body{margin-top:.5rem;white-space:pre-wrap}.atlas-fragment-actions button{margin-left:.5rem}.atlas-fragment-form{display:grid;gap:.5rem;margin-top:.5rem}.atlas-empty{padding:1rem}.ws-page{display:flex;padding:1.5rem;flex-direction:column;gap:1.5rem}.ws-header{display:flex;align-items:center;justify-content:space-between}.ws-actions button{margin-left:.75rem}.ws-alert{padding:.75rem 1rem;background:#ffd7d7;border:1px solid #f39494;border-radius:6px}.ws-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(26rem,1fr))}.ws-card{display:flex;padding:1rem;background:#0f1724;border:1px solid #1f2a3a;border-radius:10px;flex-direction:column;gap:1rem}.ws-card-header h2{margin:0}.ws-form{display:grid;gap:.75rem}.ws-field input,.ws-field select{width:100%;padding:.5rem;color:#e8ecf5;background:#0c111a;border:1px solid #253046;border-radius:6px}.ws-form button{justify-self:flex-start}.ws-table{display:flex;flex-direction:column;gap:.35rem}.ws-table-head,.ws-table-row{display:grid;align-items:center;gap:.5rem;grid-template-columns:repeat(5,1fr)}.ws-table-head{color:#9fb5d1;font-weight:600}.ws-table-row{padding:.5rem;background:#0c111a;border:1px solid #1b2434;border-radius:6px}.ws-kind-id{font-weight:700}.ws-link{padding:0;color:#76c7ff;background:none;border:none;cursor:pointer}.app-nav{display:flex;width:260px;height:fit-content;padding:var(--space-2);background:var(--surface-secondary);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md),var(--panel-glow-inset);flex-direction:column;gap:var(--space-2)}.app-nav-buttons{display:flex;flex-direction:column;gap:var(--space-2)}.app-nav-item{display:flex;padding:var(--space-2);color:var(--text-muted);background:transparent;align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;font-size:var(--text-xs);font-weight:600;gap:var(--space-1);transition:color .12s ease,background .12s ease,box-shadow .12s ease}.app-nav-item svg{color:inherit}.app-nav-item:hover,.app-nav-item:focus-visible{color:var(--text-primary);background:#60a5fa1a;box-shadow:0 0 0 1px var(--border-accent)}.app-nav-item.active{color:var(--text-accent);background:#60a5fa33;box-shadow:0 0 0 1px var(--border-accent),var(--shadow-glow)}.session-manager{display:flex;padding:.75rem;background:#020617bf;border:1px solid rgb(148 163 184 / 35%);border-radius:.75rem;flex-direction:column;gap:.5rem;min-width:220px}.session-manager-header{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.session-manager-header-actions{display:flex;flex-wrap:wrap;gap:.35rem}.session-manager-header h3{margin:0;color:#bfdbfe;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.session-manager-new{padding:.3rem .75rem;color:#bfdbfe;background:#3b82f626;border:1px solid rgb(148 163 184 / 35%);border-radius:999px;cursor:pointer;font-size:.8rem;font-weight:600}.session-manager-section{border-top:1px solid rgb(148 163 184 / 18%);padding-top:.75rem}.session-manager-section-header{display:flex;align-items:center;gap:.5rem;justify-content:space-between;margin-bottom:.4rem}.session-manager-section-title{display:flex;flex-direction:column;gap:.15rem}.session-manager-section-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.session-manager-card-list{display:flex;margin:0;padding:0;flex-direction:column;gap:.5rem;list-style:none}.session-manager-card{display:flex;padding:.6rem;background:#020617d9;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem;flex-direction:column;gap:.35rem}.session-manager-card-header{display:flex;align-items:center;gap:.35rem;justify-content:space-between}.session-manager-card-toggle{display:inline-flex;flex:1;padding:.2rem 0;font:inherit;color:#e2e8f0;background:none;align-items:center;border:none;cursor:pointer;font-weight:600;gap:.4rem;justify-content:flex-start;text-align:left}.session-manager-card-toggle-text{display:inline-flex;align-items:baseline;gap:.35rem}.session-manager-card-toggle-icon{display:inline-flex;width:1.5rem;height:1.5rem;color:inherit;background:#3b82f61f;align-items:center;border:1px solid rgb(96 165 250 / 35%);border-radius:.4rem;justify-content:center}.session-manager-card-toggle:hover,.session-manager-card-toggle:focus-visible{color:#bfdbfe;outline:none}.session-manager-card-toggle.active .session-manager-card-toggle-icon{background:#3b82f640;border-color:#60a5fab3}.session-card-title{margin:0;color:#e2e8f0;font-weight:600}.session-manager-card .session-card-meta{margin:0;color:#94a3b8;font-size:.8rem}.session-manager-card-active{border-color:#60a5fab3;box-shadow:0 0 12px #3b82f640}.session-manager-card-disabled{filter:grayscale(.4);opacity:.6}.session-manager-actions{display:flex;flex-wrap:wrap;gap:.35rem}.session-manager-label{margin:0;color:#94a3b8;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.session-manager-status{display:flex;align-items:center;justify-content:space-between}.status-chip{padding:.15rem .55rem;border:1px solid transparent;border-radius:999px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.status-ready{color:#bbf7d0;background:#22c55e2e;border-color:#22c55e66}.status-loading{color:#bfdbfe;background:#3b82f62e;border-color:#3b82f666}.status-error{color:#fecaca;background:#f871712e;border-color:#f8717173}.status-idle{color:#cbd5f5;background:#94a3b826;border-color:#94a3b859}.session-manager-input-row{display:flex;align-items:center;gap:.5rem}.session-manager-input{flex:1;padding:.3rem .6rem;color:inherit;background:#0f172ad9;border:1px solid rgb(148 163 184 / 35%);border-radius:.5rem}.session-manager-hint{margin:0;color:#94a3b8;font-size:.75rem}.session-manager-icon-button{display:inline-flex;width:2.25rem;height:2.25rem;color:#94a3b8;background:#0f172acc;align-items:center;border:1px solid rgb(148 163 184 / 35%);border-radius:999px;cursor:pointer;justify-content:center;transition:color .12s ease,border-color .12s ease,background .12s ease,transform .12s ease}.session-manager-icon-button svg{width:1.15rem;height:1.15rem}.session-manager-beat-list{display:flex;margin:0;padding:0;flex-direction:column;gap:.5rem;list-style:none}.session-manager-beat{position:relative;display:flex;padding:.5rem .6rem;background:#020617d9;border:1px solid rgb(148 163 184 / 30%);border-radius:.55rem;flex-direction:column;gap:.25rem}.session-manager-beat-focused{border-color:#60a5fab3;box-shadow:0 0 12px #3b82f640}.session-manager-beat-header{display:flex;align-items:center;gap:.35rem;justify-content:space-between}.session-manager-beat-title{color:#e2e8f0;font-weight:600}.session-manager-beat-status{padding:.1rem .4rem;border:1px solid rgb(148 163 184 / 40%);border-radius:999px;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.session-manager-beat[data-status=succeeded] .session-manager-beat-status{color:#bbf7d0;border-color:#22c55e7f}.session-manager-beat[data-status=failed] .session-manager-beat-status{color:#fecaca;border-color:#f871717f}.session-manager-beat-detail{position:absolute;top:100%;left:0;padding:.45rem .6rem;color:#cbd5f5;background:#0f172af2;border:1px solid rgb(96 165 250 / 35%);border-radius:.5rem;box-shadow:0 8px 20px #020617b3;margin-top:.4rem;max-width:280px;min-width:220px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease;z-index:5}.session-manager-beat-detail-label{display:inline-flex;padding:.1rem .4rem;color:#bfdbfe;border:1px solid rgb(148 163 184 / 35%);border-radius:999px;font-size:.65rem;letter-spacing:.08em;margin-bottom:.25rem;text-transform:uppercase}.session-manager-beat-detail p{margin:0;color:#dee6ff;font-size:.8rem}.session-manager-beat:focus-within .session-manager-beat-detail,.session-manager-beat:hover .session-manager-beat-detail{opacity:1;pointer-events:auto;transform:translateY(0)}.session-manager-icon-button:hover,.session-manager-icon-button:focus-visible{color:#f8fafc;border-color:#94c5ff99;outline:none;transform:translateY(-1px)}.session-manager-icon-button.active{color:#bfdbfe;background:#3b82f633;border-color:#60a5facc}.session-manager-load{padding:.3rem .75rem;color:#bfdbfe;background:#3b82f633;border:1px solid rgb(59 130 246 / 50%);border-radius:.5rem;cursor:pointer;font-weight:600}.session-manager-recents{display:flex;flex-direction:column;gap:.3rem}.session-manager-empty{margin:0;color:#94a3b8;font-size:.8rem}.session-manager-list{display:flex;margin:0;padding:0;flex-direction:column;gap:.35rem;list-style:none}.session-manager-recent{width:100%;padding:.4rem .5rem;color:inherit;background:#0f172acc;border:1px solid rgb(148 163 184 / 25%);border-radius:.5rem;cursor:pointer;font-size:.8rem;text-align:left;word-break:break-all}.session-manager-error{margin:0;color:#f87171;font-size:.8rem}.session-manager-link{padding:0;color:#60a5fa;background:none;border:none;cursor:pointer;margin-top:.5rem;text-decoration:underline}.landing-page{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1rem}.landing-hero{display:grid;padding:1.75rem;background:radial-gradient(circle at top,rgb(59 130 246 / 25%),transparent 70%) #0a1224;border:1px solid rgb(99 102 241 / 35%);border-radius:1rem;box-shadow:inset 0 0 0 1px #0f172a59;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.landing-hero-copy h1{margin:.25rem 0 .5rem;font-size:2rem;line-height:1.2}.landing-tagline{margin:0;color:#cbd5f5}.landing-eyebrow{margin:0;color:#94a3b8;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}.landing-feature-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.landing-feature-card{padding:1rem;background:#0f172a66;border:1px solid rgb(148 163 184 / 30%);border-radius:.85rem;box-shadow:inset 0 0 0 1px #3b82f60d}.landing-feature-card h3{margin:.25rem 0;font-size:1.1rem}.landing-feature-card p{margin:0;color:#d1d5db}.landing-feature-details-wrapper{position:relative;display:block}.landing-feature-details{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-height:1.4;min-height:5.6em;overflow:hidden;text-overflow:ellipsis}.landing-feature-tooltip{position:absolute;top:calc(100% + .5rem);right:0;padding:.85rem;color:#e2e8f0;background:#0f172af2;border:1px solid rgb(148 163 184 / 35%);border-radius:.75rem;box-shadow:0 12px 30px #020617bf;max-width:min(360px,90vw);min-width:220px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease;z-index:15}.landing-feature-details-wrapper:hover .landing-feature-tooltip,.landing-feature-details-wrapper:focus-within .landing-feature-tooltip,.landing-feature-details-wrapper:focus .landing-feature-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.landing-feature-date{margin:0;color:#a5b4fc;font-size:.8rem}.landing-feature-pill{display:inline-flex;padding:.15rem .65rem;color:#c7d2fe;background:#3b82f640;border:1px solid rgb(59 130 246 / 40%);border-radius:999px;font-size:.75rem;margin-top:.75rem}.landing-panel{padding:1.5rem;background:#080d1ad9;border:1px solid rgb(148 163 184 / 25%);border-radius:1rem;box-shadow:inset 0 0 0 1px #0f172a73}.landing-panel-header{display:flex;align-items:flex-start;gap:1rem;justify-content:space-between;margin-bottom:1rem}.landing-panel-header h2{margin:.35rem 0 0}.landing-panel-header-note{display:flex;align-items:flex-end;flex-direction:column;gap:.25rem}.landing-panel-header-note>p{margin:0}.landing-panel-header-note>p:not(.landing-coming-soon){color:#94a3b8}.landing-news-list,.landing-chronicle-list,.landing-update-list,.landing-snippet-list{display:flex;margin:0;padding:0;flex-direction:column;gap:1rem;list-style:none}.landing-news-list li,.landing-chronicle-list li,.landing-my-chronicles li,.landing-my-characters li,.landing-update-list li,.landing-snippet-list li{padding:1rem;background:#0f172a59;border:1px solid rgb(99 102 241 / 15%);border-radius:.85rem}.landing-news-meta,.landing-chronicle-date,.landing-update-date,.landing-snippet-meta{display:flex;margin:0 0 .35rem;color:#94a3b8;font-size:.8rem;justify-content:space-between}.landing-chronicle-meta,.landing-chronicle-character{margin:0;color:#cbd5f5;font-size:.9rem}.landing-chronicle-hook{margin:.35rem 0 0;color:#f1f5f9}.landing-split-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.landing-placeholder{display:flex;color:#cbd5f5;flex-direction:column;gap:.75rem}.landing-chronicle-header-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.landing-status-chip{display:inline-flex;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;text-transform:capitalize}.landing-status-chip.status-ready{color:#a7f3d0;background:#10b98133;border:1px solid rgb(16 185 129 / 40%)}.landing-status-chip.status-loading{color:#bfdbfe;background:#3b82f633;border:1px solid rgb(59 130 246 / 40%)}.landing-status-chip.status-error{color:#fecaca;background:#ef444440;border:1px solid rgb(239 68 68 / 35%)}.landing-status-chip.status-idle{color:#e2e8f0;background:#94a3b833;border:1px solid rgb(148 163 184 / 35%)}.landing-chronicle-actions{display:flex;gap:.5rem}.landing-link-button{padding:.4rem .85rem;color:#c7f9ff;background:transparent;border:1px solid rgb(94 234 212 / 40%);border-radius:.65rem;cursor:pointer;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.landing-link-button:disabled{cursor:not-allowed;opacity:.5}.landing-my-chronicles,.landing-my-characters{display:flex;margin:0;padding:0;flex-direction:column;gap:.75rem;list-style:none;margin-top:.5rem}.landing-my-chronicle-title,.landing-my-character-title{margin:0 0 .2rem;font-weight:600}.landing-my-chronicle-meta,.landing-my-character-meta{margin:0;color:#cbd5f5;font-size:.9rem}.landing-error{margin:0 0 .5rem;color:#fecaca}.landing-empty-copy{margin:0;color:#cbd5f5}.landing-disabled-button{padding:.65rem 1rem;color:#94a3b8;background:transparent;border:1px dashed rgb(148 163 184 / 50%);border-radius:.75rem;cursor:not-allowed}.landing-coming-soon{margin:0;color:#f97316;font-size:.85rem}.landing-status-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.landing-status-card{padding:1rem;background:#0f172a59;border:1px solid rgb(94 234 212 / 25%);border-radius:.9rem}.landing-status-meta{display:flex;margin:0 0 .5rem;color:#5eead4;font-size:.8rem;justify-content:space-between;text-transform:capitalize}.landing-update-pill{display:inline-flex;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;margin-top:.5rem;text-transform:capitalize}.landing-update-pill-feature{background:#3b82f640;border:1px solid rgb(59 130 246 / 45%)}.landing-update-pill-improvement{background:#10b98133;border:1px solid rgb(52 211 153 / 40%)}.landing-update-pill-bugfix{background:#ec489933;border:1px solid rgb(244 114 182 / 40%)}@media(width<=720px){.landing-hero{grid-template-columns:1fr}}.player-menu{position:relative}.player-menu-toggle{display:inline-flex;padding:.4rem .9rem;color:#ccfbf1;background:#0f766e40;align-items:center;border:1px solid rgb(94 234 212 / 40%);border-radius:999px;cursor:pointer;gap:.5rem;transition:border-color .12s ease,background .12s ease,transform .12s ease}.player-menu-toggle:hover,.player-menu-toggle:focus-visible{background:#0f766e59;border-color:#5eead4cc;outline:none;transform:translateY(-1px)}.player-menu-toggle-text{display:flex;font-weight:700;letter-spacing:.08em;min-width:0}.player-menu-name-badge{display:flex}.player-menu-role-badge{display:inline-flex;padding:.2rem 0;color:#bbf7d0;align-items:center;border:1px solid rgb(148 197 255 / 45%);border-radius:999px;font-size:1rem;justify-content:center;line-height:1;margin-left:.1rem;min-width:1.5rem}.player-menu-caret{color:#ccfbf1d9;font-size:.9rem}.player-menu-panel{position:absolute;top:calc(100% + .4rem);right:0;width:min(360px,90vw);padding:1rem;background:#020617fa;border:1px solid rgb(45 212 191 / 40%);border-radius:.75rem;box-shadow:0 15px 30px #00000059;max-height:80vh;opacity:0;overflow-y:auto;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease;z-index:45}.player-menu-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.player-menu-header{display:flex;align-items:center;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.player-menu-name{margin:0;color:#e2e8f0;font-size:1rem;font-weight:700}.player-menu-logout{padding:.25rem .9rem;color:#fecaca;background:#f871711f;border:1px solid rgb(248 113 113 / 50%);border-radius:999px;cursor:pointer;font-weight:600}.player-menu-logout:hover,.player-menu-logout:focus-visible{background:#f8717133;border-color:#f87171cc;outline:none}.player-menu-pill-label{margin:0;color:#94a3b8;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.player-menu-links{display:flex;margin:0;padding:0;flex-direction:column;gap:.35rem;list-style:none}.player-menu-link-button{display:flex;width:100%;padding:.45rem .55rem;color:#e2e8f0;background:#0f172ab3;align-items:center;border:1px solid rgb(148 163 184 / 35%);border-radius:.65rem;cursor:pointer;gap:.5rem;text-align:left;transition:border-color .12s ease,background .12s ease,transform .12s ease}.player-menu-link-button:hover,.player-menu-link-button:focus-visible{background:#0f172ad9;border-color:#94c5ffa6;outline:none;transform:translateY(-1px)}.player-menu-link-icon{display:inline-flex;width:2rem;height:2rem;color:#94c5ff;background:#0f766e40;align-items:center;border-radius:.5rem;justify-content:center}.player-menu-link-text{display:flex;flex-direction:column;gap:.05rem}.player-menu-link-title{font-size:.9rem;font-weight:600}.player-menu-link-subtitle{color:#94a3b8;font-size:.75rem}.player-menu-empty{margin:0;color:#94a3b8;font-size:.8rem}.player-menu-info-row{display:flex;gap:.5rem;margin-bottom:.75rem}.player-menu-info-card{flex:1;padding:.5rem;background:#0f172ab3;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem}.player-menu-info-primary{margin:0;color:#f8fafc;font-size:.85rem;font-weight:600}.player-menu-info-secondary{margin:.2rem 0 0;color:#cbd5f5;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-menu-usage-row{display:flex;margin:.6rem 0;padding:.4rem 0;align-items:center;border-bottom:1px solid rgb(148 163 184 / 25%);border-top:1px solid rgb(148 163 184 / 25%);flex-wrap:wrap;gap:.5rem}.player-menu-usage-label{color:#94a3b8;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.player-menu-usage-table{width:100%;border-collapse:collapse}.player-menu-usage-table th,.player-menu-usage-table td{padding:.15rem .25rem;text-align:left}.player-menu-usage-value{color:#f1f5f9;font-size:.8rem;font-weight:600;text-align:left}.player-menu-usage-note{margin:0;color:#cbd5f5;font-size:.75rem}.player-menu-usage-header{display:flex;width:100%;align-items:center;gap:.5rem;justify-content:space-between}.player-menu-usage-cost{position:relative;padding:.15rem .5rem;color:#86efac;background:#22c55e26;border:1px solid rgb(34 197 94 / 40%);border-radius:999px;cursor:help;font-size:.75rem;font-weight:600}.player-menu-cost-breakdown{position:absolute;top:50%;right:calc(100% + .5rem);width:220px;padding:.6rem;background:#020617fa;animation:slide-in .15s ease;border:1px solid rgb(45 212 191 / 40%);border-radius:.6rem;box-shadow:0 10px 25px #0006;transform:translateY(-50%);z-index:50}@keyframes slide-in{0%{opacity:0;transform:translateY(-50%) translate(8px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.player-menu-cost-breakdown-title{margin:0 0 .5rem;color:#94a3b8;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.player-menu-cost-breakdown-table{width:100%;border-collapse:collapse;font-size:.75rem}.player-menu-cost-breakdown-table th{padding:.25rem .35rem;color:#94a3b8;font-size:.6rem;font-weight:500;letter-spacing:.05em;text-align:left;text-transform:uppercase}.player-menu-cost-breakdown-table td{padding:.3rem .35rem;color:#e2e8f0;border-top:1px solid rgb(148 163 184 / 15%)}.player-menu-cost-model-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chronicle-wizard{display:flex;flex-direction:column;gap:1rem;padding-bottom:2rem}.chronicle-wizard-header{display:flex;align-items:flex-start;border-bottom:1px solid rgb(148 163 184 / 25%);gap:1rem;justify-content:space-between;padding-bottom:.75rem}.chronicle-wizard-header h1{margin:0 0 .25rem}.chronicle-wizard-header p{margin:0;color:#94a3b8}.wizard-close{padding:.4rem .9rem;color:#cbd5f5;background:transparent;border:1px solid rgb(148 163 184 / 35%);border-radius:999px;cursor:pointer}.wizard-close:hover,.wizard-close:focus-visible{border-color:#94a3b8b3;outline:none}.wizard-banner{padding:.75rem 1rem;color:#0f172a;background:#60a5facc;border:1px solid rgb(191 219 254 / 90%);border-radius:.75rem;font-weight:600}.chronicle-wizard-body{padding:1rem;background:#0f172ab3;border:1px solid rgb(148 163 184 / 25%);border-radius:1rem;box-shadow:inset 0 0 0 1px #0f172a59;min-height:520px}.chronicle-wizard-footer{display:flex;gap:.75rem;justify-content:flex-end}.primary,.secondary{padding:.5rem 1.1rem;border:1px solid transparent;border-radius:.65rem;cursor:pointer;font-size:.95rem;font-weight:600}.primary{color:#0f172a;background:linear-gradient(135deg,#3b82f6d9,#10b981cc);border-color:#7dd3fc99}.primary:disabled{cursor:not-allowed;opacity:.5}.secondary{color:#cbd5f5;background:transparent;border-color:#94a3b859}.wizard-error{margin:.5rem 0 0;color:#fecaca;font-size:.9rem}.wizard-stepper{display:flex;margin:0;padding:0;flex-wrap:wrap;gap:.5rem;list-style:none}.wizard-stepper li{flex:1;min-width:120px}.wizard-step{width:100%;padding:.5rem .8rem;color:#cbd5f5;background:#0f172ab3;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem;cursor:pointer;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.wizard-step.active{color:#0f172a;background:#3b82f6d9;border-color:#bfdbfed9;font-weight:600}.location-step{display:flex;flex-direction:column;gap:1rem}.location-step-header{display:flex;align-items:flex-start;gap:1rem;justify-content:space-between}.location-step-header h2{margin:0 0 .25rem;font-size:1.25rem}.location-step-header p{margin:0;color:#94a3b8;font-size:.9rem}.location-step-actions{display:flex;gap:.5rem}.location-step-actions button{padding:.4rem .9rem;color:#cbd5f5;background:#0f172a99;border:1px solid rgb(148 163 184 / 25%);border-radius:.6rem;cursor:pointer;font-size:.85rem}.location-step-create{display:flex;padding:.75rem;background:#02061773;border:1px solid rgb(148 163 184 / 25%);border-radius:.75rem;gap:.5rem}.location-step-create input{flex:1;padding:.45rem .7rem;color:inherit;background:#0f172acc;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem}.wizard-modal-actions button{padding:.35rem .9rem;color:#e2e8f0;background:#0f172a99;border:1px solid rgb(148 163 184 / 35%);border-radius:.6rem;cursor:pointer}.location-step-create button{padding:.45rem 1rem;color:#0f172a;background:#5eead4cc;border:1px solid rgb(110 231 183 / 70%);border-radius:.6rem;cursor:pointer;font-weight:600;white-space:nowrap}.location-step-create button:disabled{cursor:not-allowed;opacity:.5}.location-step-filters{display:flex;flex-wrap:wrap;gap:.5rem}.location-step-filters input[type=search]{flex:1;padding:.5rem .7rem;color:inherit;background:#02061766;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem;min-width:200px}.location-step-filters select{padding:.5rem .7rem;color:inherit;background:#02061766;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem;cursor:pointer}.location-step-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.location-step-empty{margin:2rem 0;color:#94a3b8;font-style:italic;text-align:center}.location-card{display:flex;padding:.85rem;color:inherit;background:#02061773;border:1px solid rgb(148 163 184 / 25%);border-radius:.75rem;cursor:pointer;flex-direction:column;gap:.35rem;text-align:left;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.location-card:hover{border-color:#94a3b873;box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.location-card.active{background:#3b82f626;border-color:#3b82f6b3;box-shadow:0 0 0 1px #3b82f659}.location-card-name{margin:0;color:#f8fafc;font-size:1rem;font-weight:600;line-height:1.3}.location-card-meta{margin:0;color:#94a3b8;font-size:.75rem;letter-spacing:.02em;text-transform:uppercase}.location-card-desc{display:-webkit-box;margin:0;color:#cbd5f5;-webkit-box-orient:vertical;font-size:.85rem;-webkit-line-clamp:2;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.location-sidebar{padding:.9rem;background:#0f172a99;border:1px solid rgb(148 163 184 / 25%);border-radius:.75rem}.location-sidebar h2{margin:0 0 .5rem;font-size:1rem}.location-sidebar ul{display:flex;margin:0;padding:0;flex-direction:column;gap:.4rem;list-style:none}.location-root{width:100%;padding:.35rem .6rem;color:#cbd5f5;background:#0f172a99;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem;cursor:pointer;text-align:left}.location-root.active{color:#0f172a;background:#3b82f6d9;border-color:#bfdbfed9;font-weight:600}.location-main{display:flex;padding:.9rem;background:#0f172a99;border:1px solid rgb(148 163 184 / 25%);border-radius:.75rem;flex-direction:column;gap:.75rem}.location-map-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.location-map-header input[type=search]{flex:1;padding:.4rem .6rem;color:inherit;background:#02061766;border:1px solid rgb(148 163 184 / 30%);border-radius:.5rem;min-width:160px}.location-map-header label{display:inline-flex;color:#cbd5f5;align-items:center;gap:.35rem}.location-map{display:grid;gap:.5rem;margin-top:.5rem}.location-map.grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.location-map.list{display:flex;flex-direction:column}.location-node{display:flex;padding:.6rem;color:#e2e8f0;background:#02061766;border:1px solid rgb(148 163 184 / 25%);border-radius:.6rem;cursor:pointer;flex-direction:column;gap:.2rem;text-align:left}.location-node small{color:#94a3b8;font-size:.75rem}.location-node.active{border-color:#60a5faa6;box-shadow:0 0 0 1px #60a5fa59}.location-inspector{display:flex;padding:.9rem;background:#0f172a99;border:1px solid rgb(148 163 184 / 25%);border-radius:.75rem;flex-direction:column;gap:.5rem;min-height:100%}.inspector-name{margin:0;font-size:1.1rem;font-weight:600}.inspector-kind{margin:0;color:#94a3b8;text-transform:capitalize}.inspector-breadcrumb{margin:0;padding:.6rem;background:#02061766;border:1px solid rgb(148 163 184 / 20%);border-radius:.6rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;max-height:140px;overflow:auto}.inspector-description{margin:0;color:#cbd5f5;font-size:.9rem}.inspector-tags{display:flex;flex-wrap:wrap;gap:.35rem}.inspector-tags span{padding:.15rem .5rem;background:#94a3b833;border-radius:999px;font-size:.75rem}.inspector-actions{display:flex;flex-wrap:wrap;gap:.4rem}.inspector-empty{margin:0;color:#94a3b8;font-size:.9rem}.tone-step,.seed-step,.create-step,.custom-seed-editor{display:flex;flex-direction:column;gap:.75rem}.custom-seed-editor{border-top:1px solid rgb(148 163 184 / 25%);margin-top:1rem;padding-top:.75rem}.tone-chips{display:flex;flex-wrap:wrap;gap:.4rem}.tone-chip{padding:.4rem .9rem;color:#cbd5f5;background:#0f172a99;border:1px solid rgb(148 163 184 / 25%);border-radius:999px;cursor:pointer}.tone-chip.active{color:#0f172a;background:#f87171cc;border-color:#fed7aacc;font-weight:600}.seed-step input,.seed-step textarea,.custom-seed-editor input,.custom-seed-editor textarea,.wizard-modal-content input,.wizard-modal-content textarea,.tone-step label textarea{width:100%;padding:.5rem .7rem;color:inherit;background:#02061766;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem}.tone-step label{display:flex;color:#cbd5f5;flex-direction:column;gap:.35rem}.seed-toolbar{display:flex;justify-content:flex-end}.seed-toolbar-prominent{justify-content:space-between}.seed-list{display:flex;flex-direction:column;gap:.75rem}.seed-card{display:flex;padding:.85rem;background:#02061773;border:1px solid rgb(148 163 184 / 25%);border-radius:.75rem;flex-direction:column;gap:.5rem;transition:border-color .12s ease,box-shadow .12s ease}.seed-card:hover{border-color:#94a3b873}.seed-card.active{border-color:#3b82f6b3;box-shadow:0 0 0 1px #3b82f659}.seed-card-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.seed-title{flex:1 1 auto;margin:0;font-size:1.05rem;font-weight:600;min-width:200px}.seed-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.seed-tag{padding:.2rem .6rem;color:#94a3b8;background:#0f172a99;border:1px solid rgb(148 163 184 / 25%);border-radius:999px;font-size:.75rem}.seed-choose-button{padding:.3rem .75rem;color:#0f172a;background:#5eead4cc;border:none;border-radius:.5rem;cursor:pointer;font-size:.85rem;font-weight:600;white-space:nowrap}.seed-choose-button:hover{background:#5eead4f2}.seed-card.active .seed-choose-button{color:#fff;background:#3b82f6d9}.seed-teaser{margin:0;color:#cbd5f5;font-size:.9rem;line-height:1.5}.seed-empty{margin:0;color:#94a3b8;font-style:italic}.custom-seed-editor h4{margin:0}.custom-seed-editor label{display:flex;color:#cbd5f5;flex-direction:column;gap:.35rem}.create-step{display:flex;flex-direction:column;gap:.75rem}.create-summary-card{display:flex;padding:.85rem;background:#02061773;border:1px solid rgb(148 163 184 / 25%);border-radius:.75rem;flex-direction:column;gap:.5rem}.create-summary-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.create-summary-card h3{margin:0;color:#94a3b8;flex-shrink:0;font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.create-summary-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.create-badge{padding:.2rem .6rem;color:#cbd5f5;background:#0f172a99;border:1px solid rgb(148 163 184 / 25%);border-radius:999px;font-size:.75rem;white-space:nowrap}.create-badge-muted{color:#94a3b8;background:#0f172a66}.create-badge-accent{color:#93c5fd;background:#3b82f640;border-color:#3b82f666}.create-summary-title{margin:0;color:#f8fafc;font-size:1.1rem;font-weight:600;line-height:1.3}.create-summary-desc{margin:0;color:#cbd5f5;font-size:.9rem;line-height:1.5}.create-summary-empty{margin:0;color:#94a3b8;font-size:.85rem;font-style:italic}.create-summary-inline{align-items:center;flex-direction:row;gap:.75rem}.create-summary-inline h3{min-width:120px}.create-summary-content{display:flex;flex:1;align-items:center;flex-wrap:wrap;gap:.5rem}.create-summary-compact{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.create-tone-note{margin:0;color:#fbbf24;font-size:.85rem;font-style:italic}.create-title-input{width:100%;padding:.5rem .7rem;color:inherit;background:#0f172acc;border:1px solid rgb(148 163 184 / 30%);border-radius:.6rem;font-size:.95rem}.beat-toggle{display:inline-flex;align-items:center;font-weight:600;gap:.4rem}.beat-toggle input{width:1rem;height:1rem}.summary-title{margin:0;color:#f8fafc;font-size:1rem;font-weight:600}.tone-note{margin:0;color:#fbbf24;font-style:italic}.wizard-modal{position:fixed;display:flex;background:#020617bf;align-items:center;inset:0;justify-content:center;z-index:50}.wizard-modal-content{display:flex;width:min(480px,90vw);padding:1rem;background:#0f172af2;border:1px solid rgb(148 163 184 / 30%);border-radius:.9rem;flex-direction:column;gap:.5rem;max-height:90vh;overflow-y:auto}.wizard-modal-content h3{margin:0}.wizard-modal-content label{display:flex;color:#cbd5f5;flex-direction:column;gap:.25rem}.wizard-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.wizard-segment-row{display:flex;padding:.5rem;background:#02061766;border:1px dashed rgb(148 163 184 / 35%);border-radius:.6rem;flex-direction:column;gap:.25rem}.anchor-step{display:flex;flex-direction:column;gap:var(--space-4)}.anchor-step-header{display:flex;align-items:flex-start;gap:var(--space-3);justify-content:space-between}.anchor-step-header h2{margin:0 0 var(--space-1)}.anchor-step-header p{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.anchor-step-list{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.anchor-card{display:flex;padding:var(--space-3);background:var(--surface-secondary);border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--border-muted);cursor:pointer;flex-direction:column;gap:var(--space-2);text-align:left;transition:box-shadow .12s ease,transform .12s ease}.anchor-card:hover{box-shadow:0 0 0 1px var(--border-accent),var(--shadow-sm);transform:translateY(-1px)}.anchor-card.active{background:#60a5fa33;box-shadow:0 0 0 2px var(--border-accent),var(--shadow-md)}.anchor-card-name{margin:0;color:var(--text-primary);font-size:var(--text-base);font-weight:600}.anchor-card-meta{margin:0;color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase}.anchor-card-desc{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4}@media(width<=1200px){.location-step{grid-template-columns:minmax(0,1fr)}.anchor-step-list{grid-template-columns:1fr}}.location-step-loading-details{margin:.5rem 0 0;padding:.5rem .75rem;color:#94a3b8;background:#3b82f61a;border:1px solid rgb(59 130 246 / 25%);border-radius:.6rem;font-size:.85rem;font-style:italic}@media(width<=640px){.chronicle-wizard-header{flex-direction:column}.chronicle-wizard-body{padding:.75rem}.chronicle-wizard-footer{align-items:stretch;flex-direction:column}}.app-body{display:flex;flex:1;min-height:0;min-width:0}.app-main{display:flex;flex:1;flex-direction:column;gap:var(--space-3);min-height:0;min-width:0}.session-bar{display:flex;width:100%;align-items:flex-start;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-3)}.session-guide-button,.session-report-button{padding:var(--space-2) var(--space-3);color:var(--text-secondary);background:var(--surface-secondary);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;font-size:var(--text-sm);letter-spacing:.03em;text-transform:uppercase;transition:background .12s ease,box-shadow .12s ease}.session-guide-button:hover,.session-guide-button:focus-visible,.session-report-button:hover,.session-report-button:focus-visible{background:#6366f140;box-shadow:0 0 0 1px #a5b4fc99,var(--shadow-md);outline:none}.session-changelog-button{display:inline-flex;width:2rem;height:2rem;color:#c7d2fe;background:#4f46e533;align-items:center;border:none;border-radius:var(--radius-full);box-shadow:0 0 0 1px #a5b4fc33;cursor:pointer;justify-content:center;transition:background .12s ease,box-shadow .12s ease,transform .12s ease}.session-changelog-button:hover,.session-changelog-button:focus-visible{background:#6366f14d;box-shadow:0 0 0 1px #a5b4fc99,var(--shadow-glow);outline:none;transform:translateY(-1px)}.session-changelog-button svg{pointer-events:none}.app-global-header{display:flex;align-items:center;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.session-meta{display:flex;align-items:center;gap:var(--space-2);justify-content:flex-end}.session-meta-actions{display:flex;align-items:center;gap:var(--space-2)}.session-home-button{padding:var(--space-2) var(--space-3);color:var(--text-primary);background:var(--surface-secondary);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:box-shadow .12s ease}.session-home-button:hover,.session-home-button:focus-visible{box-shadow:0 0 0 1px var(--border-accent),var(--shadow-md);outline:none}.app-route-surface{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.chronicle-route-state{display:flex;flex:1;color:var(--text-secondary);align-items:center;border:1px dashed var(--border-muted);border-radius:var(--radius-md);flex-direction:column;gap:var(--space-3);justify-content:center;min-height:320px}.chronicle-route-state button{padding:var(--space-2) var(--space-4);color:inherit;background:#6366f140;border:none;border-radius:var(--radius-md);box-shadow:0 0 0 1px #6366f14d,var(--shadow-sm);cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}.chronicle-route-state button:hover,.chronicle-route-state button:focus-visible{box-shadow:0 0 0 1px #6366f199,var(--shadow-md);transform:translateY(-1px)}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-full: 999px;--opacity-muted: .08;--opacity-low: .15;--opacity-mid: .3;--opacity-high: .6;--shadow-sm: 0 2px 8px rgb(0 0 0 / 15%);--shadow-md: 0 4px 16px rgb(0 0 0 / 20%);--shadow-lg: 0 8px 32px rgb(0 0 0 / 30%);--shadow-glow: 0 0 24px rgb(96 165 250 / 20%);--color-primary: #6c8bff;--color-secondary: #4bd4aa;--color-accent-pink: #ec4899;--color-accent-blue: #3b82f6;--color-accent-teal: #2dd4bf;--color-accent-purple: #a78bfa;--color-accent-yellow: #fde047;--surface-primary: rgb(8 15 28);--surface-secondary: rgb(15 23 42 / 60%);--surface-tertiary: rgb(15 23 42 / 40%);--surface-elevated: rgb(15 23 42 / 95%);--bg-base: #0f172a;--bg-shell: #050b18;--text-primary: #f5f7ff;--text-secondary: #cbd5f5;--text-muted: #94a3b8;--text-accent: #93c5fd;--border-subtle: rgb(148 163 184 / 8%);--border-muted: rgb(148 163 184 / 15%);--border-default: rgb(148 163 184 / 30%);--border-accent: rgb(96 165 250 / 60%);--panel-glow-inset: inset 0 0 0 1px rgb(96 165 250 / 12%);--panel-highlight: inset 0 -1px 2px rgb(96 165 250 / 8%);--panel-shadow: 0 8px 32px rgb(0 0 0 / 30%);--focus-ring: 2px solid rgb(96 165 250 / 70%);--focus-offset: 2px}:root{color:var(--text-primary);background-color:var(--bg-base);color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body{margin:0;min-height:100vh}.app-shell{display:flex;width:100%;padding:var(--space-6);background:radial-gradient(circle at top left,rgb(59 130 246 / 20%),transparent 45%) var(--bg-shell);box-sizing:border-box;justify-content:center;min-height:100vh;overflow-x:hidden}.app-frame{display:flex;width:100%;padding:var(--space-4);background:linear-gradient(135deg,var(--surface-elevated),rgb(2 6 23 / 90%));backdrop-filter:blur(8px);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-lg),var(--panel-glow-inset),var(--panel-highlight);flex-direction:column;gap:var(--space-4);max-width:1280px}.app-layout{display:flex;flex:1;gap:var(--space-4)}.app-content{display:flex;flex:1;flex-direction:column;min-width:0}.app-header{display:flex;align-items:center;border-bottom:1px solid var(--border-subtle);justify-content:space-between;margin-bottom:var(--space-3);padding-bottom:var(--space-3)}.app-title{font-size:var(--text-xl);font-weight:600;letter-spacing:.02em}.app-session-id{margin:0;color:var(--text-muted);font-size:var(--text-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;scroll-behavior:auto;transition-duration:.01ms}}.chip-button{display:inline-flex;padding:.2rem .7rem;color:#bfdbfe;background:#3b82f626;align-items:center;border:1px solid rgb(59 130 246 / 40%);border-radius:999px;cursor:pointer;font-size:.75rem;gap:.3rem}.chip-button:focus-visible,.chip-button:hover{border-color:#5eead473;outline:none}.chip-button:disabled{cursor:not-allowed;opacity:.5}.chip-button-active{color:#dcfce7;background:#4ade802e;border-color:#4ade8073}.chip-button-danger{color:#fecaca;background:#f871712e;border-color:#f8717173}
