:root{--ed-bg: #0D1117;--ed-panel: #161C24;--ed-hairline: rgba(255, 255, 255, .08);--ed-hairline-strong: rgba(255, 255, 255, .16);--ed-text: #E6EDF3;--ed-text-dim: #8B949E;--ed-text-faint: #6E7681;--ed-evidence: #E8E3D5;--ed-font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--ed-font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--ed-accent: #D4A94E;--ed-accent-dim: rgba(212, 169, 78, .1);--ed-accent-ink: #14100A;--ed-signal-bad: #E5534B;--ed-signal-warn: #D29922;--ed-signal-ok: #3FB950;--ed-signal-info: #58A6FF;--ed-s1: 4px;--ed-s2: 8px;--ed-s3: 12px;--ed-s4: 16px}.character-mention{display:inline;background:none;border:none;color:var(--accent-blue);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;padding:0;font-size:inherit;font-weight:600;transition:color .2s ease}.character-mention:hover{color:var(--accent-green);text-decoration-style:solid}.character-mention:active{color:var(--accent-yellow)}.character-mention-text{display:inline;color:inherit;font-size:inherit}.character-description-inline{margin:20px 0;padding:15px;background:#4a9eff1a;border-left:4px solid var(--accent-blue);border-radius:4px;animation:slideIn .3s ease-out}.character-description-inline .description-text{margin:0 0 10px;font-style:italic;color:var(--text-secondary)}.character-description-inline .character-illustration{max-width:100%;height:auto;border-radius:8px;margin-top:10px}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.annotate-button-container{position:fixed;z-index:1000;pointer-events:none}.annotate-button{pointer-events:auto;background:var(--accent-blue);color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:all .15s ease;display:flex;align-items:center;gap:4px}.annotate-button:hover{background:var(--accent-green);transform:translateY(-1px);box-shadow:0 4px 12px #0006}.annotate-button-icon{font-size:1rem}.annotation-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.annotation-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.annotation-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:8px 8px 0 0}.annotation-dialog-header h3{margin:0;color:var(--text-primary);font-size:1.1rem}.annotation-dialog-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.annotation-dialog-close:hover{color:var(--accent-red)}.annotation-dialog-body{flex:1;overflow-y:auto;padding:20px}.annotation-quoted-text{background:var(--bg-tertiary);border-left:4px solid var(--accent-yellow);padding:12px 16px;margin-bottom:16px;border-radius:0 4px 4px 0;font-style:italic;color:var(--text-secondary)}.annotation-quoted-text:before{content:'"';font-size:1.5rem;color:var(--accent-yellow);opacity:.7}.annotation-quoted-text:after{content:'"';font-size:1.5rem;color:var(--accent-yellow);opacity:.7}.annotation-critique-section{margin-bottom:20px}.annotation-critique-section label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500}.annotation-critique-input{width:100%;min-height:80px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.95rem;resize:vertical}.annotation-critique-input:focus{outline:none;border-color:var(--accent-blue)}.annotation-critique-input::placeholder{color:var(--text-secondary);opacity:.7}.annotation-conversation{display:flex;flex-direction:column;gap:16px}.annotation-message{padding:12px 16px;border-radius:8px;max-width:95%}.annotation-message.user{background:var(--accent-blue);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.annotation-message.assistant{background:var(--bg-tertiary);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:4px;border:1px solid var(--border-color)}.annotation-message-content{white-space:pre-wrap;line-height:1.5}.annotation-message-content strong{color:var(--accent-green)}.annotation-followup-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.annotation-followup-input-row{display:flex;gap:8px}.annotation-followup-input{flex:1;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit}.annotation-followup-input:focus{outline:none;border-color:var(--accent-blue)}.annotation-dialog-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:0 0 8px 8px}.annotation-status-select{padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem}.annotation-dialog-actions{display:flex;gap:8px}.annotation-btn{padding:8px 16px;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .15s ease}.annotation-btn-primary{background:var(--accent-blue);color:#fff}.annotation-btn-primary:hover{background:var(--accent-green)}.annotation-btn-primary:disabled{background:var(--border-color);cursor:not-allowed}.annotation-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.annotation-btn-secondary:hover{background:var(--bg-primary)}.annotation-loading{display:flex;align-items:center;gap:10px;padding:16px;color:var(--text-secondary)}.annotation-loading-spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}.annotation-marker{background:#ffc10740;border-bottom:2px solid var(--accent-yellow);cursor:pointer;transition:background .15s ease;position:relative}.annotation-marker:hover{background:#ffc10766}.annotation-marker.resolved{background:#4caf5026;border-bottom-color:var(--accent-green)}.annotation-marker.noted{background:#9c27b026;border-bottom-color:#9c27b0}.annotation-marker-icon{position:absolute;top:-8px;right:-4px;font-size:.7rem;background:var(--accent-yellow);color:#000;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}.annotation-marker-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;min-width:200px;max-width:300px;z-index:100;box-shadow:0 4px 12px #0000004d;margin-bottom:8px;pointer-events:none}.annotation-marker-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border-color)}.annotation-marker-tooltip-critique{font-size:.85rem;color:var(--accent-blue);font-weight:500;margin-bottom:6px;font-style:normal}.annotation-marker-tooltip-preview{font-size:.8rem;color:var(--text-secondary);font-style:normal;line-height:1.4}.annotations-tab{padding:16px}.annotations-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.annotations-tab-header h3{margin:0;color:var(--text-primary)}.annotations-export-btn{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;cursor:pointer}.annotations-export-btn:hover{background:var(--bg-primary)}.annotations-list{display:flex;flex-direction:column;gap:12px}.annotations-empty{text-align:center;padding:40px 20px;color:var(--text-secondary)}.annotations-empty-icon{font-size:2.5rem;opacity:.5;margin-bottom:12px}.annotation-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.annotation-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;cursor:pointer;transition:background .15s ease}.annotation-card-header:hover{background:var(--bg-primary)}.annotation-card-quote{flex:1;font-style:italic;color:var(--text-secondary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:12px}.annotation-card-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.annotation-card-status{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500;text-transform:uppercase}.annotation-card-status.open{background:#ffc10733;color:var(--accent-yellow)}.annotation-card-status.resolved{background:#4caf5033;color:var(--accent-green)}.annotation-card-status.noted{background:#9c27b033;color:#ba68c8}.annotation-card-expand-icon{color:var(--text-secondary);transition:transform .2s ease}.annotation-card-expand-icon.expanded{transform:rotate(180deg)}.annotation-card-body{padding:0 12px 12px;border-top:1px solid var(--border-color)}.annotation-card-critique{padding:12px 0;color:var(--text-primary);font-size:.9rem}.annotation-card-response{background:var(--bg-primary);padding:12px;border-radius:4px;font-size:.85rem;color:var(--text-secondary);max-height:200px;overflow-y:auto}.annotation-card-actions{display:flex;gap:8px;margin-top:12px}.annotation-card-btn{padding:4px 10px;font-size:.8rem;border-radius:4px;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary)}.annotation-card-btn:hover{background:var(--bg-secondary)}.annotation-card-btn.primary{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.annotation-card-btn.primary:hover{background:var(--accent-green);border-color:var(--accent-green)}.text-annotator{position:relative}.text-annotator.debug-active{cursor:text}.text-annotator.debug-active::selection,.text-annotator.debug-active *::selection{background:#ffc10766}.annotations-filters{display:flex;gap:8px;margin-bottom:12px}.annotations-filter-btn{padding:4px 10px;font-size:.8rem;border-radius:12px;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);transition:all .15s ease}.annotations-filter-btn:hover{background:var(--bg-primary)}.annotations-filter-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.historical-choices{margin-top:1rem;border-top:1px solid var(--border-color, #333);padding-top:.75rem}.historical-choices-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-muted, #888);cursor:pointer;padding:.25rem 0;font-size:.85rem;transition:color .2s}.historical-choices-toggle:hover{color:var(--text-color, #ccc)}.toggle-icon{font-size:.7rem;transition:transform .2s}.toggle-label{font-style:italic}.historical-choices-content{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-left:1rem;border-left:2px solid var(--border-color, #333)}.choice-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:4px;font-size:.9rem;transition:all .2s;text-align:left}.choice-item.selected{background:#4caf5026;border:1px solid rgba(76,175,80,.3);color:var(--text-color, #eee)}.choice-item.selected .choice-marker{color:#4caf50;font-weight:700}.choice-item.alternate{background:#8080801a;border:1px solid transparent;color:var(--text-muted, #999);cursor:pointer}.choice-item.alternate:hover:not(:disabled){background:#80808033;border-color:var(--border-color, #444);color:var(--text-color, #ccc)}.choice-item.alternate:disabled{opacity:.5;cursor:not-allowed}.choice-item.choice-type-dialogue{border-left:3px solid #4A90D9}.choice-item.choice-type-action{border-left:3px solid #D94A4A}.choice-item.choice-type-observation{border-left:3px solid #D9D94A}.choice-item.choice-type-internal{border-left:3px solid #9B4AD9}.choice-icon{font-size:1rem;opacity:.8}.branch-indicator{font-size:.75rem;color:var(--accent-color, #7b8cde);opacity:0;transition:opacity .2s;white-space:nowrap}.choice-item.alternate:hover .branch-indicator{opacity:1}.turn-controls{display:flex;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px dashed var(--border-color, #333)}.turn-control-button{padding:.25rem .5rem;font-size:.75rem;border-radius:3px;cursor:pointer;transition:all .2s;white-space:nowrap}.turn-control-button:disabled{opacity:.5;cursor:not-allowed}.redo-button{background:#ffc10733;border:1px solid rgba(255,193,7,.3);color:#ffc107}.redo-button:hover:not(:disabled){background:#ffc1074d;border-color:#ffc10780}.rewind-button{background:#9c27b033;border:1px solid rgba(156,39,176,.3);color:#ce93d8}.rewind-button:hover:not(:disabled){background:#9c27b04d;border-color:#9c27b080}.historical-choices.collapsed{margin-top:.5rem;padding-top:.5rem}.historical-choices-content{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.historical-choices-content{padding-left:.5rem}.choice-item{padding:.4rem .5rem;font-size:.85rem}.branch-indicator{display:none}.redo-button{padding:.2rem .4rem;font-size:.7rem}}.state-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;margin:0 .25rem;border-radius:12px;font-size:.75rem;font-weight:500;vertical-align:middle;transition:all .2s ease}.state-badge[role=button]{cursor:pointer}.state-badge[role=button]:hover{transform:scale(1.05);filter:brightness(1.1)}.badge-icon{font-size:.85rem}.badge-content{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-event_triggered{background:#ffd70033;border:1px solid rgba(255,215,0,.4);color:gold}.badge-event_triggered[data-kernel=true]{background:#ff8c0040;border-color:#ff8c0080;color:#ff8c00}.badge-pacing_change{background:#6495ed33;border:1px solid rgba(100,149,237,.4);color:#6495ed}.badge-emotion_change{background:#da70d633;border:1px solid rgba(218,112,214,.4);color:orchid}.badge-world_change{background:#3cb37133;border:1px solid rgba(60,179,113,.4);color:#3cb371}.badge-knowledge_gained{background:#ffff0026;border:1px solid rgba(255,255,0,.3);color:#ff0}.badge-default{background:#80808033;border:1px solid rgba(128,128,128,.4);color:#aaa}.state-badge-group{display:flex;flex-wrap:wrap;gap:.25rem;margin:.5rem 0}.badge-expand,.badge-collapse{background:#80808026;border:1px dashed rgba(128,128,128,.4);color:var(--text-secondary, #888);cursor:pointer;transition:all .2s ease}.badge-expand:hover,.badge-collapse:hover{background:#80808040;border-style:solid}.narrative-segment-badge{display:block;margin:.5rem 0}.state-badge.compact{padding:.1rem .35rem;font-size:.7rem}.state-badge.compact .badge-icon{font-size:.75rem}@keyframes badgeFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.state-badge.new{animation:badgeFadeIn .3s ease-out}@media (max-width: 768px){.state-badge{font-size:.7rem;padding:.1rem .4rem}.badge-content{max-width:150px}.badge-icon{font-size:.8rem}}@media (prefers-color-scheme: light){.badge-event_triggered{background:#ffd7004d;color:#b8860b}.badge-pacing_change{background:#6495ed4d;color:#4169e1}.badge-emotion_change{background:#da70d64d;color:#9932cc}.badge-world_change{background:#3cb3714d;color:#2e8b57}.badge-knowledge_gained{background:#ffff0040;color:#9acd32}}.comic-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000eb;display:flex;align-items:center;justify-content:center;padding:24px;animation:comicLightboxFadeIn .2s ease-out}.comic-viewer-close{position:absolute;top:16px;right:20px;background:#ffffff26;border:none;color:#fff;font-size:32px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}.comic-viewer-close:hover{background:#ffffff40}.comic-viewer-close:focus-visible{outline:2px solid white;outline-offset:2px}.comic-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;width:48px;height:64px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s;opacity:.4;z-index:10}.comic-viewer-nav:hover{background:#fff3;opacity:1}.comic-viewer-nav:focus-visible{outline:2px solid white;outline-offset:2px;opacity:1}.comic-viewer-prev{left:16px}.comic-viewer-next{right:16px}.comic-viewer-image{max-width:calc(100vw - 160px);max-height:calc(100vh - 120px);object-fit:contain;border-radius:4px;box-shadow:0 8px 32px #00000080}.comic-viewer-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 24px 16px;background:linear-gradient(transparent,#000c);pointer-events:auto}.comic-viewer-counter{color:#ffffffe6;font-size:.9rem;font-weight:600;letter-spacing:.05em}.comic-viewer-caption{color:#fff9;font-size:.8rem;max-width:600px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comic-viewer-edit-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#ffffffd9;font-size:.8rem;cursor:pointer;transition:background .15s ease,border-color .15s ease;pointer-events:auto}.comic-viewer-edit-btn:hover{background:#fff3;border-color:#ffffff80;color:#fff}@media (max-width: 768px){.comic-viewer-image{max-width:calc(100vw - 32px);max-height:calc(100vh - 100px)}.comic-viewer-nav{width:40px;height:56px}.comic-viewer-prev{left:4px}.comic-viewer-next{right:4px}}@media (prefers-reduced-motion: reduce){.comic-viewer-overlay{animation:none}}.gvr-tutorial{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;background:#111;animation:gvr-tut-in .35s ease both;overflow:hidden}.gvr-tutorial--exit{animation:gvr-tut-out .35s ease both}@keyframes gvr-tut-in{0%{opacity:0}to{opacity:1}}@keyframes gvr-tut-out{0%{opacity:1}to{opacity:0}}.gvr-tut-chrome{flex:0 0 auto;height:44px;background:#000000b3;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08)}.gvr-tut-chrome__header{display:flex;width:100%;justify-content:space-between;align-items:center}.gvr-tut-chrome__title{font-size:13px;font-weight:600;color:#ffffffbf;letter-spacing:.02em}.gvr-tut-chrome__counter{font-size:12px;color:#fff6}.gvr-tut-panel-wrap{flex:1 1 auto;position:relative;overflow:hidden;animation:gvr-panel-in .22s ease both}.gvr-tut-panel-wrap--exit{animation:gvr-panel-out .22s ease both}@keyframes gvr-panel-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes gvr-panel-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.gvr-tut-panel{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:stretch;background:#1a1a2e;transition:box-shadow .25s}.gvr-tut-panel--success{box-shadow:inset 0 0 0 3px #64dc8cb3;animation:panel-success-flash .55s ease both}@keyframes panel-success-flash{0%{box-shadow:inset 0 0 0 3px #64dc8c00}30%{box-shadow:inset 0 0 0 3px #64dc8ce6}to{box-shadow:inset 0 0 0 3px #64dc8c4d}}.gvr-tut-panel__scene{flex:1;position:relative;overflow:hidden;background:repeating-linear-gradient(-45deg,transparent,transparent 18px,rgba(255,255,255,.015) 18px,rgba(255,255,255,.015) 19px),#1c1c2e}.gvr-tut-panel__figure{position:absolute;bottom:20%;width:22%;height:55%;background:#ffffff14;border-radius:40% 40% 0 0}.gvr-tut-panel__figure--left{left:12%}.gvr-tut-panel__figure--right{right:12%}.gvr-tut-panel__figure--center{left:50%;transform:translate(-50%);width:26%;height:60%}.gvr-tut-panel__figure--highlighted{background:#b48cff40;box-shadow:0 0 20px #b48cff33}.gvr-tut-panel__caption{position:absolute;bottom:12px;left:12px;right:12px;background:#000000b8;border-left:3px solid rgba(255,255,255,.4);color:#ffffffd9;font-size:12px;line-height:1.5;padding:6px 10px;font-style:italic}.gvr-tut-panel__pov-label{position:absolute;top:14px;left:50%;transform:translate(-50%);font-size:11px;color:#ffffff80;background:#00000080;border-radius:20px;padding:3px 10px;white-space:nowrap}.gvr-tut-panel__pov-label strong{color:#b48cffe6}.gvr-tut-panel__dots{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;gap:5px}.gvr-tut-dot{width:5px;height:5px;border-radius:50%;background:#fff3}.gvr-tut-dot--active{background:#ffffffd9;transform:scale(1.3)}.gvr-tut-dot--done{background:#ffffff73}.gvr-tut-panel__back-arrow{position:absolute;top:50%;left:16px;transform:translateY(-50%);font-size:16px;color:#ffffff80;letter-spacing:.04em}.gvr-tut-bubble{position:absolute;background:#ffffffeb;color:#1a1a2e;font-size:12px;font-weight:500;line-height:1.4;padding:7px 10px;border-radius:14px;max-width:120px;cursor:pointer;top:42%;transform:translateY(-50%);transition:box-shadow .15s,transform .15s}.gvr-tut-bubble:active{transform:translateY(-50%) scale(.95)}.gvr-tut-bubble--speech{background:#ffffffeb}.gvr-tut-bubble--action{background:#dc6e46e6;color:#fff}.gvr-tut-bubble--left-edge{left:8px}.gvr-tut-bubble--right-edge{right:8px}.gvr-tut-bubble__tail{position:absolute;bottom:-10px;left:20px;width:0;height:0;border-left:7px solid transparent;border-right:4px solid transparent;border-top:10px solid rgba(255,255,255,.92)}.gvr-tut-bubble__dir{font-size:10px;font-weight:700;letter-spacing:.05em;margin-bottom:3px;opacity:.6}.gvr-tut-bubble--action .gvr-tut-bubble__dir{opacity:.8}.gvr-tut-interrupt-btn{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fffc;font-size:12px;font-weight:600;padding:8px 18px;border-radius:20px;cursor:pointer;white-space:nowrap;letter-spacing:.02em;transition:background .15s,border-color .15s,transform .1s;animation:btn-pulse 2s ease-in-out infinite}.gvr-tut-interrupt-btn:active{transform:translate(-50%) scale(.95)}@keyframes btn-pulse{0%,to{border-color:#ffffff4d;box-shadow:none}50%{border-color:#ffffffb3;box-shadow:0 0 12px #ffffff26}}.gvr-tut-pov-btn{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#b48cff26;border:1px solid rgba(180,140,255,.5);color:#c8aafff2;font-size:13px;font-weight:700;padding:7px 20px;border-radius:20px;cursor:pointer;letter-spacing:.03em;transition:background .15s,transform .1s;animation:pov-pulse 2.2s ease-in-out infinite}.gvr-tut-pov-btn:active{transform:translate(-50%) scale(.95)}@keyframes pov-pulse{0%,to{border-color:#b48cff66;box-shadow:none}50%{border-color:#b48cffe6;box-shadow:0 0 14px #b48cff40}}.gvr-tutorial__gesture-row{flex:0 0 auto;height:80px;display:flex;align-items:center;justify-content:center;background:#00000080;border-top:1px solid rgba(255,255,255,.07);transition:background .3s}.gvr-tutorial__gesture-row--success{background:#3c8c5040}.gvr-tutorial__footer{flex:0 0 auto;text-align:center;padding:12px 24px 20px;background:#111}.gvr-tutorial__title{margin:0 0 4px;font-size:16px;font-weight:700;color:#fff;letter-spacing:-.01em}.gvr-tutorial__subtitle{margin:0 0 12px;font-size:12px;color:#ffffff8c;line-height:1.5}.gvr-tutorial__dots{display:flex;justify-content:center;gap:6px;margin-bottom:14px}.gvr-tutorial__dot{width:6px;height:6px;border-radius:50%;background:#fff3;transition:background .25s,transform .25s}.gvr-tutorial__dot.active{background:#ffffffe6;transform:scale(1.35)}.gvr-tutorial__dot.done{background:#ffffff73}.gvr-tutorial__skip{background:none;border:1px solid rgba(255,255,255,.18);color:#ffffff73;font-size:12px;padding:5px 16px;border-radius:20px;cursor:pointer;transition:border-color .15s,color .15s}.gvr-tutorial__skip:hover{border-color:#fff6;color:#ffffffbf}.gvr-gesture{position:relative;width:100px;height:60px}.gvr-gesture__finger{position:absolute;width:30px;height:30px;border-radius:50%;background:#ffffffd9;box-shadow:0 2px 10px #00000080}.gvr-gesture__ripple{position:absolute;width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.6);opacity:0}.gvr-gesture--success .gvr-gesture__finger{background:#64dc8cf2;animation:success-pop .5s ease both!important}@keyframes success-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}70%{transform:scale(.92)}to{transform:scale(1)}}.gvr-gesture--swipe .gvr-gesture__finger{top:50%;right:8px;transform:translateY(-50%);animation:swipe-move 1.6s ease-in-out .3s infinite}.gvr-gesture--swipe .gvr-gesture__trail{position:absolute;top:50%;right:40px;height:3px;width:0;background:linear-gradient(to left,rgba(255,255,255,.7),transparent);border-radius:2px;transform:translateY(-50%);animation:swipe-trail 1.6s ease-in-out .3s infinite}.gvr-gesture--swipe .gvr-gesture__arrow{position:absolute;top:50%;left:4px;transform:translateY(-50%);font-size:28px;color:#fff9;line-height:1;animation:swipe-arrow 1.6s ease-in-out .3s infinite}.gvr-gesture--swipe.gvr-gesture--success .gvr-gesture__finger{animation:success-pop .5s ease both!important}.gvr-gesture--swipe.gvr-gesture--success .gvr-gesture__trail,.gvr-gesture--swipe.gvr-gesture--success .gvr-gesture__arrow{animation:none!important;opacity:0}@keyframes swipe-move{0%{right:8px;opacity:0}10%{opacity:1}60%{right:58px;opacity:1}80%{right:58px;opacity:0}to{right:8px;opacity:0}}@keyframes swipe-trail{0%{width:0;opacity:0}10%{opacity:.7}60%{width:36px;opacity:.7}80%{opacity:0}to{width:0;opacity:0}}@keyframes swipe-arrow{0%,10%{opacity:.3;transform:translateY(-50%) translate(0)}40%{opacity:1;transform:translateY(-50%) translate(-5px)}70%,to{opacity:.3;transform:translateY(-50%) translate(0)}}.gvr-gesture--choice-swipe{display:flex;align-items:center;justify-content:center;gap:10px;width:140px}.gvr-gesture--choice-swipe .gvr-gesture__finger{position:relative;top:auto;left:auto;flex-shrink:0;animation:choice-finger-rock 2s ease-in-out .2s infinite}.gvr-gesture--choice-swipe.gvr-gesture--success .gvr-gesture__finger{animation:success-pop .5s ease both!important}.gvr-gesture--choice-swipe .gvr-gesture__dir-arrow{font-size:22px;color:#ffffffb3}.gvr-gesture__dir-arrow--left{animation:dir-pulse-left 2s ease-in-out infinite}.gvr-gesture__dir-arrow--right{animation:dir-pulse-right 2s ease-in-out .4s infinite}@keyframes choice-finger-rock{0%,to{transform:translate(0)}25%{transform:translate(-12px)}75%{transform:translate(12px)}}@keyframes dir-pulse-left{0%,to{opacity:.35;transform:scale(1) translate(0)}25%{opacity:1;transform:scale(1.2) translate(-3px)}}@keyframes dir-pulse-right{0%,to{opacity:.35;transform:scale(1) translate(0)}75%{opacity:1;transform:scale(1.2) translate(3px)}}.gvr-gesture--tap .gvr-gesture__finger{top:50%;left:50%;transform:translate(-50%,-50%);animation:tap-finger 1.5s ease-in-out .2s infinite}.gvr-gesture--tap .gvr-gesture__ripple{top:50%;left:50%;transform:translate(-50%,-50%);animation:tap-ripple 1.5s ease-out .5s infinite}.gvr-gesture--tap .gvr-gesture__ripple--delay{animation-delay:.9s}.gvr-gesture--tap.gvr-gesture--success .gvr-gesture__finger{animation:success-pop .5s ease both!important}@keyframes tap-finger{0%,to{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-50%,-50%) scale(.82)}}@keyframes tap-ripple{0%{width:30px;height:30px;opacity:.7;margin:0}to{width:70px;height:70px;opacity:0;margin-left:-20px;margin-top:-20px}}.gvr-gesture--doubletap .gvr-gesture__finger{top:50%;left:50%;transform:translate(-50%,-50%);animation:dtap-finger 2s ease-in-out .2s infinite}.gvr-gesture--doubletap .gvr-gesture__ripple{top:50%;left:50%;transform:translate(-50%,-50%);animation:tap-ripple 2s ease-out .45s infinite}.gvr-gesture--doubletap .gvr-gesture__ripple--tap2{animation:tap-ripple 2s ease-out .85s infinite}.gvr-gesture--doubletap.gvr-gesture--success .gvr-gesture__finger{animation:success-pop .5s ease both!important}@keyframes dtap-finger{0%,to{transform:translate(-50%,-50%) scale(1)}18%{transform:translate(-50%,-50%) scale(.82)}32%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(.82)}58%{transform:translate(-50%,-50%) scale(1)}}.gvr-gesture--twofinger{width:80px;height:64px}.gvr-gesture--twofinger .gvr-gesture__finger--f1{bottom:8px;left:18px;animation:twofinger-up 1.8s ease-in-out .2s infinite}.gvr-gesture--twofinger .gvr-gesture__finger--f2{bottom:8px;right:18px;animation:twofinger-up 1.8s ease-in-out .35s infinite}.gvr-gesture--twofinger .gvr-gesture__up-arrow{position:absolute;top:4px;left:50%;transform:translate(-50%);font-size:18px;color:#fff9;animation:up-arrow-pulse 1.8s ease-in-out infinite}.gvr-gesture--twofinger.gvr-gesture--success .gvr-gesture__finger--f1,.gvr-gesture--twofinger.gvr-gesture--success .gvr-gesture__finger--f2{animation:success-pop .5s ease both!important}@keyframes twofinger-up{0%{bottom:8px;opacity:0}15%{opacity:1}65%{bottom:36px;opacity:1}80%{bottom:36px;opacity:0}to{bottom:8px;opacity:0}}@keyframes up-arrow-pulse{0%,to{opacity:.3;transform:translate(-50%) translateY(0)}40%{opacity:1;transform:translate(-50%) translateY(-4px)}70%{opacity:.3;transform:translate(-50%) translateY(0)}}@font-face{font-family:Bangers;font-style:normal;font-weight:400;font-display:swap;src:url(/vendor/fonts/Bangers.ttf) format("truetype")}.gvr-library{min-height:100vh;background:#111;color:#e2e8f0;padding:32px 24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.gvr-library-header{max-width:800px;margin:0 auto 32px}.gvr-library-header h1{font-size:28px;font-weight:700;margin:0 0 8px;color:#fff}.gvr-library-sub{margin:0;font-size:14px;color:#ffffff80}.gvr-library-sub code{font-family:SF Mono,Fira Code,monospace;font-size:13px;background:#ffffff14;padding:2px 6px;border-radius:4px}.gvr-grid{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.gvr-card{background:#1e1e2e;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;cursor:pointer;text-align:left;color:inherit;transition:border-color .15s,transform .15s}.gvr-card:hover{border-color:#ffffff40;transform:translateY(-2px)}.gvr-card-thumb{aspect-ratio:2/3;overflow:hidden;background:#000}.gvr-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gvr-card-info{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px}.gvr-card-info strong{font-size:14px;font-weight:600;text-transform:capitalize;color:#e2e8f0}.gvr-card-info span{font-size:12px;color:#ffffff73}.gvr-card-info em{font-size:11px;color:#ffffff4d;font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gvr-status{color:#ffffff73;font-size:14px;text-align:center;padding:48px 0;grid-column:1 / -1;margin:0}.gvr-error{color:#f87171}.gvr-page{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none;overscroll-behavior:none;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);box-sizing:border-box;transition:background .55s cubic-bezier(.16,1,.3,1)}.gvr-image-wrapper{position:absolute;top:0;left:0;will-change:transform}.gvr-comic-img{display:block;max-width:none;image-rendering:high-quality;-webkit-image-rendering:high-quality}.gvr-matte{position:absolute;pointer-events:none;z-index:2;opacity:1;transition:opacity .3s ease .15s}.gvr-page--transitioning .gvr-matte-lr{opacity:0;transition:opacity .1s ease}.gvr-anim-pending{position:fixed;bottom:36px;right:16px;z-index:30;display:flex;gap:5px;align-items:center;pointer-events:none}.gvr-anim-pending__dot{width:6px;height:6px;border-radius:50%;background:#ffffffb3;animation:gvr-anim-pulse 1.2s ease-in-out infinite}.gvr-anim-pending__dot:nth-child(2){animation-delay:.2s}.gvr-anim-pending__dot:nth-child(3){animation-delay:.4s}@keyframes gvr-anim-pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.gvr-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(to bottom,rgba(0,0,0,.7) 0%,transparent 100%);pointer-events:none}@media (max-width: 768px){.gvr-header{transform:translateY(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.gvr-header--visible{transform:translateY(0)}.gvr-header--visible .gvr-exit-btn{pointer-events:auto}}.gvr-exit-btn{pointer-events:auto;background:#00000080;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:32px;height:32px;color:#ffffffd9;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.gvr-exit-btn:hover{background:#000000bf}.gvr-title{font-size:13px;font-weight:600;color:#fffc;text-transform:capitalize;text-shadow:0 1px 3px rgba(0,0,0,.8);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.gvr-counter{font-size:12px;color:#ffffff8c;font-family:SF Mono,Fira Code,monospace;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.8)}.gvr-dots{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:5px;z-index:20;pointer-events:none}.gvr-dot{width:5px;height:5px;border-radius:50%;background:#ffffff40;transition:background .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.gvr-dot.done{background:#ffffff80}.gvr-dot.active{background:#fff;transform:scale(1.4)}.gvr-bubble{position:absolute;z-index:15;box-sizing:border-box;pointer-events:none;font-family:var(--font-comic);font-size:13px;line-height:1.35;min-width:60px;max-width:300px;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;animation:gvr-bubble-in .2s ease-out both}@keyframes gvr-bubble-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.gvr-bubble-speech{background:#fff;color:#111;border:2px solid #1a1a1a;border-radius:12px;padding:5px 9px;position:relative;font-weight:500}.gvr-bubble-caption{background:#f5e642;color:#1a1a1a;border:1.5px solid #b8a800;border-radius:3px;padding:4px 7px;font-weight:700;font-size:12px;letter-spacing:.02em;text-transform:uppercase}.gvr-bubble-narration{background:#dbeafef2;color:#1e3a5f;border:1.5px solid #93c5fd;border-radius:3px;padding:4px 8px;font-style:italic}.gvr-bubble-thought{background:#f0ebffed;color:#2d1a5e;border:1.5px solid #a78bfa;border-radius:20px 20px 20px 4px;padding:5px 10px;font-style:italic}.gvr-bubble-sfx{background:transparent;border:none;padding:0;color:#e53e3e;font-size:26px;font-weight:900;font-style:italic;letter-spacing:-.03em;line-height:1;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 0 8px rgba(0,0,0,.35)}.gvr-bubble-tail{position:absolute;width:0;height:0;border:solid transparent}.gvr-bubble-tail:after{content:"";position:absolute;width:0;height:0;border:solid transparent}.gvr-tail-bottom-left{border-width:11px 8px 0;border-top-color:#1a1a1a;bottom:-13px;left:16px}.gvr-tail-bottom-left:after{border-width:9px 6px 0;border-top-color:#fff;top:-11px;left:-6px}.gvr-tail-bottom-right{border-width:11px 8px 0;border-top-color:#1a1a1a;bottom:-13px;right:16px}.gvr-tail-bottom-right:after{border-width:9px 6px 0;border-top-color:#fff;top:-11px;left:-6px}.gvr-tail-top-left{border-width:0 8px 11px;border-bottom-color:#1a1a1a;top:-13px;left:16px}.gvr-tail-top-left:after{border-width:0 6px 9px;border-bottom-color:#fff;top:3px;left:-6px}.gvr-tail-top-right{border-width:0 8px 11px;border-bottom-color:#1a1a1a;top:-13px;right:16px}.gvr-tail-top-right:after{border-width:0 6px 9px;border-bottom-color:#fff;top:3px;left:-6px}.gvr-hint{position:absolute;bottom:38px;right:20px;z-index:20;font-size:13px;color:#fff9;background:#0000008c;padding:6px 12px;border-radius:20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.comic-bubble{position:absolute;z-index:25;pointer-events:none;max-width:70%;animation:bubble-pop .25s cubic-bezier(.34,1.56,.64,1) both}@keyframes bubble-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bubble-pop-centered{0%{transform:translate(-50%) scale(.7);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.comic-bubble--speech{animation-name:bubble-pop}.comic-bubble--thought{animation-name:bubble-pop-centered}.comic-bubble--left .comic-bubble__text{text-align:left}.comic-bubble--right .comic-bubble__text,.comic-bubble--right .comic-bubble__speaker{text-align:right}@keyframes gvr-text-enter-from-right{0%{transform:translate(56px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes gvr-text-enter-from-left{0%{transform:translate(-56px);opacity:0}to{transform:translate(0);opacity:1}}.gvr-text-enter-right{animation:gvr-text-enter-from-right .22s ease both}.gvr-text-enter-left{animation:gvr-text-enter-from-left .22s ease both}.comic-bubble--speech{background:#fff;border:2px solid #111;border-radius:12px;padding:10px 20px 13px;box-shadow:2px 2px #111;pointer-events:auto}.comic-bubble--speech .comic-bubble__speaker{display:block;font-family:Bangers,Comic Sans MS,cursive;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#666;margin-bottom:1px}.comic-bubble--speech .comic-bubble__text{margin:0;font-family:Bangers,Comic Sans MS,cursive;font-size:14px;line-height:1.2;color:#111;letter-spacing:.02em;text-align:center}.comic-bubble__tail--up{position:absolute;top:-14px;left:35%;width:0;height:0;border-left:10px solid transparent;border-right:7px solid transparent;border-bottom:14px solid #111}.comic-bubble__tail--up:after{content:"";position:absolute;top:3px;left:-8px;width:0;height:0;border-left:8px solid transparent;border-right:6px solid transparent;border-bottom:12px solid #fff}.comic-bubble__tail--down{position:absolute;bottom:-14px;left:35%;width:0;height:0;border-left:10px solid transparent;border-right:7px solid transparent;border-top:14px solid #111}.comic-bubble__tail--down:after{content:"";position:absolute;bottom:3px;left:-8px;width:0;height:0;border-left:8px solid transparent;border-right:6px solid transparent;border-top:12px solid #fff}.comic-bubble--caption{width:fit-content;background:#0a0a12e0;border:1.5px solid rgba(255,220,120,.35);border-radius:4px;padding:7px 12px 8px;box-shadow:0 2px 12px #00000080;pointer-events:auto}.comic-bubble--caption .comic-bubble__text{margin:0;font-family:Bangers,Comic Sans MS,cursive;font-size:20px;line-height:1.35;color:#f0e6c8;letter-spacing:.04em;font-style:italic;white-space:normal;text-align:left}.comic-bubble--thought{background:#ffffffeb;border:2px solid #888;border-radius:50%/60% 60% 40% 40%;padding:10px 16px;box-shadow:1px 2px #aaa;animation:thought-drift .6s cubic-bezier(.25,.46,.45,.94) both}@keyframes thought-drift{0%{transform:translate(-50%) scale(.85) translateY(8px);opacity:0}to{transform:translate(-50%) scale(1) translateY(0);opacity:1}}.comic-bubble--thought .comic-bubble__text{margin:0;font-family:Bangers,Comic Sans MS,cursive;font-size:15px;line-height:1.3;color:#444;letter-spacing:.03em;font-style:italic;text-align:center}.comic-bubble--thought:before{content:"";position:absolute;bottom:-12px;left:35%;width:10px;height:10px;background:#fff;border:2px solid #888;border-radius:50%}.comic-bubble--thought:after{content:"";position:absolute;bottom:-22px;left:30%;width:6px;height:6px;background:#fff;border:2px solid #888;border-radius:50%}.gvr-dot.narration{display:none}.gvr-dot.narration.active{background:#fff;transform:scale(1.3)}.gvr-choices-slot{position:absolute;bottom:0;left:0;right:0;z-index:50;background:linear-gradient(to top,rgba(0,0,0,.92) 70%,rgba(0,0,0,.6) 85%,transparent);padding:16px 16px max(24px,env(safe-area-inset-bottom,24px));pointer-events:auto;display:flex;flex-direction:column;align-items:center;max-height:55vh;overflow-y:auto}.gvr-page--choices-visible .comic-bubble{opacity:0;pointer-events:none;transition:opacity .3s ease}.gvr-breakout-btn{position:absolute;bottom:46px;right:16px;z-index:25;background:#000000a6;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:7px 16px 7px 12px;color:#ffffffd9;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);letter-spacing:.01em;transition:background .15s,border-color .15s,transform .15s}.gvr-breakout-btn:hover{background:#000000d9;border-color:#ffffff80;transform:scale(1.04)}.gvr-breakout-btn:active{transform:scale(.97)}.gvr-writein-chip{position:absolute;bottom:46px;right:16px;z-index:25;width:36px;height:36px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.22);color:#fff9;font-size:15px;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .15s}.gvr-writein-chip:hover{background:#000000bf;border-color:#fff6;transform:scale(1.08)}.gvr-writein-chip:active{transform:scale(.95)}.gvr-writein-form{position:absolute;bottom:40px;left:12px;right:12px;z-index:25;display:flex;align-items:center;gap:6px;animation:gvr-writein-in .18s ease}@keyframes gvr-writein-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gvr-writein-input{flex:1;background:#0a0514e0;border:1px solid rgba(200,180,255,.35);border-radius:22px;padding:9px 16px;color:#ffffffeb;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;outline:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.gvr-writein-input::placeholder{color:#ffffff59}.gvr-writein-input:focus{border-color:#c8b4ff99}.gvr-writein-send{width:36px;height:36px;border-radius:50%;background:#b48cffbf;border:none;color:#fff;font-size:16px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s}.gvr-writein-send:disabled{background:#7864a066;cursor:default}.gvr-writein-send:not(:disabled):hover{background:#b48cfff2;transform:scale(1.06)}.gvr-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#111}.gvr-loading-dots{display:flex;gap:8px}.gvr-loading-dots span{width:10px;height:10px;border-radius:50%;background:#fff9;animation:gvr-dot-bounce 1.4s ease-in-out infinite}.gvr-loading-dots span:nth-child(2){animation-delay:.16s}.gvr-loading-dots span:nth-child(3){animation-delay:.32s}@keyframes gvr-dot-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.gvr-swipe-hints{position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;pointer-events:none}.gvr-swipe-hint{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:40px;opacity:0;animation:gvr-hint-pulse 2.5s ease-in-out .4s infinite}.gvr-swipe-hint--left{left:6px}.gvr-swipe-hint--right{right:6px}.gvr-swipe-hint--up{top:6px;transform:none;left:50%;margin-left:-20px;width:40px}.gvr-swipe-hint__chevron{font-size:28px;font-weight:300;color:#ffffffb3;text-shadow:0 1px 6px rgba(0,0,0,.8);line-height:1}.gvr-swipe-hint__label{font-size:9px;color:#fff9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-shadow:0 1px 4px rgba(0,0,0,.8);white-space:nowrap;letter-spacing:.05em;text-transform:uppercase}@keyframes gvr-hint-pulse{0%,to{opacity:0}25%,75%{opacity:1}}.gvr-choice-bubble-wrapper{position:fixed;z-index:22;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:min(52vw,220px);pointer-events:none;animation:gvr-choice-pop-in .42s cubic-bezier(.34,1.56,.64,1) both,gvr-choice-float 3s ease-in-out .42s infinite}.gvr-choice-bubble__dir-hint{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:#ffffffbf;text-shadow:0 2px 8px rgba(0,0,0,.9);padding:4px 2px;animation:gvr-hint-pulse 1.8s ease-in-out infinite}@keyframes gvr-hint-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.gvr-thought-cloud__tap{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#00000073;white-space:nowrap}.gvr-choice-bubble{position:relative;cursor:pointer;pointer-events:auto;max-width:210px;min-width:100px;font-family:Bangers,Comic Sans MS,cursive}.gvr-choice-bubble--in{animation:gvr-choice-pop-in .42s cubic-bezier(.34,1.56,.64,1) both,gvr-choice-float 3s ease-in-out .42s infinite}@keyframes gvr-choice-pop-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes gvr-choice-float{0%,to{translate:0 0px}50%{translate:0 -6px}}.gvr-choice-bubble--shrunk{transform:scale(.6)!important;opacity:.45;filter:saturate(.3);transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .22s ease,filter .22s ease;animation:none!important}.gvr-choice-bubble--expanded{transform:scale(1.12)!important;transition:transform .22s cubic-bezier(.34,1.56,.64,1);animation:none!important;box-shadow:5px 6px #111}.gvr-choice-bubble--decided-active{opacity:.7;pointer-events:none;animation:gvr-mc-fade-in .3s ease-out both!important}.gvr-choice-bubble--selecting{box-shadow:0 0 0 3px #fff9,0 4px 24px #0009}.gvr-choice-bubble__dir-hint--active{opacity:1!important;animation:none!important;transform:scale(1.25);transition:transform .1s ease}.gvr-choice-bubble--chosen{animation:gvr-choice-chosen .3s cubic-bezier(.34,1.56,.64,1) forwards;pointer-events:none}.gvr-choice-bubble--dismissed{animation:gvr-choice-dismiss .18s ease-in forwards;pointer-events:none}@keyframes gvr-choice-chosen{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(0);opacity:0}}@keyframes gvr-choice-dismiss{to{transform:scale(.4);opacity:0}}.gvr-choice-bubble--speech{background:#fff;border:3px solid #111;border-radius:18px;padding:9px 14px 14px;box-shadow:3px 4px #111;position:relative}.gvr-choice-bubble--speech:active{box-shadow:1px 2px #111;translate:2px 2px}.gvr-choice-bubble--speech .gvr-choice-bubble__text{color:#111;font-size:15px;line-height:1.25;letter-spacing:.02em}.gvr-choice-bubble--speech .gvr-choice-bubble__tail{position:absolute;bottom:-15px;left:20px;width:0;height:0;border-left:11px solid transparent;border-right:7px solid transparent;border-top:15px solid #111}.gvr-choice-bubble--speech .gvr-choice-bubble__tail:after{content:"";position:absolute;bottom:3px;left:-9px;width:0;height:0;border-left:9px solid transparent;border-right:5px solid transparent;border-top:12px solid #fff}.gvr-choice-bubble--action{background:#ffe033;border:3px solid #111;border-radius:4px 14px;padding:10px 16px 11px;box-shadow:3px 4px #111;text-align:center}.gvr-choice-bubble--action:active{translate:2px 2px;box-shadow:1px 2px #111}.gvr-choice-bubble--action .gvr-choice-bubble__text{color:#111;font-size:14px;font-weight:900;line-height:1.25;letter-spacing:.04em;text-transform:uppercase}.gvr-choice-bubble--thought{background:#f0ebffed;border:2.5px solid #a78bfa;border-radius:22px 22px 22px 6px;padding:9px 14px 11px;box-shadow:3px 4px #7c3aed}.gvr-choice-bubble--thought:active{box-shadow:1px 2px #7c3aed;translate:2px 2px}.gvr-choice-bubble--thought .gvr-choice-bubble__text{color:#2d1a5e;font-size:15px;line-height:1.25;letter-spacing:.01em;font-style:italic}.gvr-thought-cloud{position:fixed;z-index:23;cursor:pointer;border-radius:48% 52% 44% 56%/52% 44% 56% 48%;border:4px solid #111;background:#f8f8fcf0;overflow:hidden;box-shadow:4px 5px #111;animation:gvr-cloud-pop-in .38s cubic-bezier(.34,1.56,.64,1) both;padding:8px}@keyframes gvr-cloud-pop-in{0%{transform:translate(-50%) scale(.3);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.gvr-thought-cloud__img{width:100%;height:auto;display:block;border-radius:40% 45% 38% 42%/42% 38% 45% 40%;filter:grayscale(.45) contrast(1.15) brightness(1.05)}.gvr-thought-cloud__trail{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);display:flex;gap:5px;align-items:flex-end}.gvr-thought-cloud__trail span{background:#fff;border:2.5px solid #111;border-radius:50%}.gvr-thought-cloud__trail span:nth-child(1){width:5px;height:5px}.gvr-thought-cloud__trail span:nth-child(2){width:7px;height:7px}.gvr-thought-cloud__trail span:nth-child(3){width:9px;height:9px}.gvr-choice-bubble--decided{background:#0a0a12d1;border:1.5px solid rgba(255,220,120,.4);border-radius:12px;padding:7px 16px 9px;display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:gvr-mc-fade-in .3s ease-out both}.gvr-choice-bubble__decided-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#ffdc7899}.gvr-choice-bubble__decided-text{font-size:16px;color:#ffffffd9;letter-spacing:.04em}.gvr-micro-choice--below{display:none}@keyframes gvr-mc-fade-in{0%{opacity:0;transform:translate(-50%) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.gvr-micro-choice__option{display:flex;align-items:center;gap:10px;background:#000000bf;border:1.5px solid rgba(255,255,255,.3);border-radius:24px;padding:10px 20px 10px 16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;cursor:pointer;transition:border-color .15s,transform .15s}.gvr-micro-choice__option:active{transform:scale(.96)}.gvr-micro-choice__option--left{border-color:#63b3ed80}.gvr-micro-choice__option--up{border-color:#9ae6b480}.gvr-micro-choice__arrow{font-size:18px;color:#ffffffb3;flex-shrink:0}.gvr-micro-choice__text{font-size:15px;font-weight:500;color:#ffffffe6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.3}.gvr-desktop-nav{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:20;display:flex;gap:8px;align-items:center;pointer-events:auto}.gvr-desktop-nav__btn{background:#00000080;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:38px;height:38px;color:#ffffffbf;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .15s,border-color .15s,transform .1s}.gvr-desktop-nav__btn:hover{background:#000000bf;border-color:#ffffff73}.gvr-desktop-nav__btn:active{transform:scale(.93)}.gvr-desktop-nav__btn--up{font-size:16px;width:34px;height:34px;border-color:#ffdc784d;color:#ffdc78b3}.gvr-desktop-nav__btn--up:hover{border-color:#ffdc7899;color:#ffdc78}.gvr-choice-peek-caption{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#000000b8;color:#ffffffe6;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:6px 16px;border-radius:20px;white-space:nowrap;animation:gvr-mc-fade-in .2s ease-out both;pointer-events:none}.gvr-consequence-beat{cursor:pointer;pointer-events:auto;animation:gvr-consequence-in .3s cubic-bezier(.16,1,.3,1) both}@keyframes gvr-consequence-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gvr-micro-choice__decided{display:flex;flex-direction:column;align-items:center;gap:4px;background:#0009;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:8px 18px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.gvr-micro-choice__decided-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#fff6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.gvr-micro-choice__decided-text{font-size:14px;font-weight:500;color:#ffffffbf;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-style:italic}@media (min-width: 900px){.comic-bubble--caption{padding:10px 18px 11px!important}.comic-bubble--speech,.comic-bubble--thought{max-width:420px!important;padding:12px 20px 14px!important}.comic-bubble__text{font-size:22px!important;line-height:1.35!important}.comic-bubble__speaker{font-size:13px!important}.comic-bubble--caption .comic-bubble__text{font-size:28px!important;letter-spacing:.05em!important}.gvr-choice-bubble{max-width:260px!important;min-width:140px!important}.gvr-choice-bubble--speech .gvr-choice-bubble__text,.gvr-choice-bubble--thought .gvr-choice-bubble__text{font-size:20px!important}.gvr-choice-bubble--action .gvr-choice-bubble__text{font-size:19px!important}.gvr-choice-bubble__dir-hint{font-size:14px!important}}.acp-canvas-container{position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.acp-canvas-container canvas{display:block;width:100%!important;height:100%!important}.acp-loading{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:100}.feature-intro-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:500;animation:featureIntroFadeIn .2s ease-out}@keyframes featureIntroFadeIn{0%{opacity:0}to{opacity:1}}.feature-intro-popup{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;width:90%;max-width:440px;box-shadow:0 8px 32px var(--shadow);animation:featureIntroSlideUp .3s ease-out}@keyframes featureIntroSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.feature-intro-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-color);background-color:var(--bg-tertiary);border-radius:10px 10px 0 0}.feature-intro-icon{font-size:1.5rem;flex-shrink:0}.feature-intro-header h3{font-size:1.1rem;color:var(--text-primary);margin:0}.feature-intro-body{padding:16px 20px;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.feature-intro-body p{margin:0 0 10px}.feature-intro-body p:last-child{margin-bottom:0}.feature-intro-body ul{margin:8px 0;padding-left:20px}.feature-intro-body li{margin-bottom:6px}.feature-intro-body strong{color:var(--text-primary)}.feature-intro-body kbd{display:inline-block;padding:2px 6px;font-family:inherit;font-size:.8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:var(--text-primary)}.feature-intro-footer{padding:12px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.feature-intro-dismiss{padding:8px 24px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.feature-intro-dismiss:hover{background-color:var(--accent-blue-hover, #357ae8)}.feature-intro-dismiss:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}@media (max-width: 768px){.feature-intro-popup{max-width:95%}}.narrative-panel{flex:1;padding:24px 24px 20px;background-color:#09090b;border-radius:16px 16px 0 0;border:1px solid rgba(255,255,255,.08);border-bottom:none;position:relative;--narrative-h-pad: 24px}.narrative-content{max-width:700px;margin:0 auto}.narrative-entry{position:relative;margin-bottom:20px;animation:fadeIn .3s ease-in}.narrative-entry p{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.7;color:#e8e6e1;margin-bottom:.8em;text-indent:2em}.narrative-entry p:first-child{text-indent:0}.scene-text{color:var(--text-primary)}.consequence-text{padding-left:16px;border-left:3px solid rgba(165,180,252,.35);margin-top:16px}.player-action-text{margin-top:24px;margin-bottom:8px}.player-action-text p{color:#ffffff80;font-size:1rem}.player-action-text em{font-style:italic}.loading-indicator{position:sticky;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;background:linear-gradient(to top,#09090b 60%,transparent);color:#ffffff80;font-size:.95rem;z-index:10}.loading-indicator .spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}.narrative-entry.illustration{margin-bottom:24px;text-align:center}.scene-illustration{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #0000004d}.clickable-image{cursor:pointer;transition:transform .2s,box-shadow .2s}.clickable-image:hover{transform:scale(1.01);box-shadow:0 6px 24px #0006}.illustration-loading{margin-top:8px}.illustration-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 24px;border:2px dashed var(--border-color);border-radius:8px;background:var(--bg-tertiary, rgba(0, 0, 0, .05));max-width:400px;margin:0 auto}.illustration-placeholder-icon{color:var(--text-tertiary, var(--text-secondary));opacity:.5}.illustration-placeholder-spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}.illustration-placeholder-text{color:var(--text-secondary);font-size:.85rem;font-style:italic}.comic-version-picker{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px 8px;background:#000000b3;border-radius:16px;opacity:0;transition:opacity .2s ease;z-index:2}.comic-section-with-image:hover .comic-version-picker{opacity:1}.comic-version-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;color:#fffc;cursor:pointer;border-radius:50%;transition:background .15s,color .15s}.comic-version-arrow:hover:not(:disabled){background:#fff3;color:#fff}.comic-version-arrow:disabled{opacity:.3;cursor:default}.comic-version-label{font-size:.75rem;color:#ffffffe6;font-variant-numeric:tabular-nums;min-width:28px;text-align:center;-webkit-user-select:none;user-select:none}.comic-button{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin-top:8px;font-size:.75rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s,color .2s}.comic-button:hover{opacity:1;color:var(--accent-blue);border-color:var(--accent-blue)}.comic-button.comic-suggested{opacity:1;color:var(--accent-blue);border-color:var(--accent-blue);animation:comic-pulse 2s ease-in-out 3}@keyframes comic-pulse{0%,to{box-shadow:none}50%{box-shadow:0 0 8px var(--accent-blue)}}.comic-button.comic-retry{color:var(--text-secondary);margin-left:8px}.comic-section{margin-top:12px;text-align:center}.comic-section-with-image{position:relative;display:inline-block}.comic-section .comic-image{max-width:100%;max-height:600px;border-radius:8px;box-shadow:0 4px 16px #0000004d}.comic-regenerate-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,background .15s ease}.comic-section-with-image:hover .comic-regenerate-btn{opacity:1}.comic-regenerate-btn:hover{background:#000c;color:#fff;border-color:#fff6}.comic-regenerate-btn:focus-visible{opacity:1;outline:2px solid var(--accent-color, #63B3ED);outline-offset:2px}.comic-edit-btn{position:absolute;top:8px;right:42px;width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0009;color:#ffffffd9;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,background .15s ease}.comic-section-with-image:hover .comic-edit-btn{opacity:1}.comic-edit-btn:hover{background:#000c;color:#fff;border-color:#fff6}.comic-edit-btn:focus-visible{opacity:1;outline:2px solid var(--accent-color, #63B3ED);outline-offset:2px}.comic-guided-btn{position:absolute;top:8px;right:76px;width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0009;color:#ffffffd9;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,background .15s ease}.comic-section-with-image:hover .comic-guided-btn{opacity:1}.comic-guided-btn:hover{background:#63b3ed4d;color:#fff;border-color:#63b3ed99}.comic-guided-btn:focus-visible{opacity:1;outline:2px solid var(--accent-color, #63B3ED);outline-offset:2px}.comic-loading{text-align:left}.comic-loading-inner{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;color:var(--text-secondary);font-style:italic}.comic-error{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.comic-image.comic-clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.comic-image.comic-clickable:hover{transform:scale(1.01);box-shadow:0 6px 24px #0006}.comic-image.comic-clickable:focus-visible{outline:2px solid var(--accent-color, #63B3ED);outline-offset:4px}.comic-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000e6;display:flex;align-items:center;justify-content:center;padding:24px;animation:comicLightboxFadeIn .2s ease-out}@keyframes comicLightboxFadeIn{0%{opacity:0}to{opacity:1}}.comic-lightbox-close{position:absolute;top:16px;right:20px;background:#ffffff26;border:none;color:#fff;font-size:32px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:1}.comic-lightbox-close:hover{background:#ffffff40}.comic-lightbox-close:focus-visible{outline:2px solid white;outline-offset:2px}.comic-lightbox-image{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:4px;box-shadow:0 8px 32px #00000080}@media (prefers-reduced-motion: reduce){.comic-lightbox-overlay{animation:none}.comic-image.comic-clickable:hover{transform:none}}.comic-first-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 24px;color:var(--text-secondary);font-size:.95rem;font-style:italic}.comic-first-loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}.streaming-preview{opacity:.9;border-left:3px solid var(--accent-blue);padding-left:16px}.streaming-cursor{display:inline-block;color:var(--accent-blue);animation:blink 1s step-end infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.structured-narrative p{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.7;color:#e8e6e1;margin-bottom:.8em;text-indent:2em}.structured-narrative p:first-child{text-indent:0}.structured-narrative .state-badge{margin:.5rem 0;display:inline-block}@media (max-width: 768px){.narrative-panel{max-height:none;overflow-y:visible;padding:16px;border-radius:8px 8px 0 0}.narrative-entry p{font-size:.98rem;line-height:1.7;text-indent:1.5em}.player-action-text p{font-size:.9rem}.loading-indicator{position:relative;padding:12px 16px;font-size:.85rem;background:transparent}}.rp-exchange-expander{margin-top:12px}.rp-expand-btn{background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.8rem;padding:4px 10px;cursor:pointer;opacity:.7;transition:opacity .2s,color .2s}.rp-expand-btn:hover{opacity:1;color:var(--text-primary)}.rp-exchange-log{margin-top:8px;padding:12px;background:#17171d;border:1px solid rgba(255,255,255,.08);border-radius:16px;font-size:.9rem;line-height:1.6;max-height:300px;overflow-y:auto}.rp-log-line{margin-bottom:4px;text-indent:0}.rp-log-player{color:var(--text-primary)}.rp-log-npc{color:var(--accent-color, #6b9bd2)}.rp-log-speaker{font-weight:600;margin-right:4px}.rp-log-emote{font-style:italic;opacity:.8;margin-right:4px}.narrative-panel .comic-entry--fullwidth{margin-left:calc(-1 * var(--narrative-h-pad, 24px));margin-right:calc(-1 * var(--narrative-h-pad, 24px));max-width:none}.comic-entry--fullwidth .comic-section{width:100%;max-width:none;text-align:center}.comic-entry--fullwidth .comic-section-with-image{display:block;width:100%}.comic-entry--fullwidth .comic-image{width:100%;max-width:none;max-height:none;border-radius:4px}.comic-entry--fullwidth .comic-image-wrapper{display:block;cursor:pointer;position:relative;width:100%}.comic-entry--fullwidth .comic-image-wrapper:after{content:"▶ Read panels";position:absolute;bottom:14px;right:14px;background:#0009;color:#fff;padding:4px 10px;border-radius:4px;font-size:.75rem;pointer-events:none;opacity:0;transition:opacity .2s}.comic-entry--fullwidth .comic-image-wrapper:hover:after{opacity:1}.comic-auto-label{display:flex;align-items:center;gap:6px;padding:10px 12px 6px;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--border-color, rgba(255,255,255,.1));margin-top:4px;color:var(--text-primary)}.comic-auto-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent-color, #63B3ED)}.scene-marker{display:flex;align-items:center;gap:16px;margin:32px 0;padding:0}.scene-marker-line{flex:1;height:1px;background:#ffffff1a}.scene-marker-label{font-size:.85rem;font-variant:small-caps;letter-spacing:.15em;color:#ffffff80;white-space:nowrap;font-weight:500}.act-marker{text-align:center;margin:48px 0 40px;padding:0}.act-marker-ornament{font-size:1.2rem;letter-spacing:.5em;color:#ffffff80;opacity:.5;margin-bottom:8px}.act-marker-label{font-size:1.1rem;font-variant:small-caps;letter-spacing:.25em;color:#e8e6e1;font-weight:600}.scene-header{text-align:center;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.scene-header-text{font-size:.9rem;font-variant:small-caps;letter-spacing:.2em;color:#ffffff80;font-weight:500}.choice-strip{position:relative;margin-bottom:12px;border-radius:8px;overflow:hidden;min-height:60px}.choice-strip-refresh{position:absolute;top:8px;right:8px;z-index:10;width:32px;height:32px;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.choice-strip:hover .choice-strip-refresh{opacity:1}.choice-strip-refresh:hover{background:#000000b3}.choice-strip-refresh:disabled{opacity:.3;cursor:default}.choice-strip-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;background:var(--surface-secondary, #1a1a2e);border-radius:8px;gap:12px}.choice-strip-shimmer{width:80%;height:80px;border-radius:6px;background:linear-gradient(90deg,#ffffff08,#ffffff14,#ffffff08);background-size:200% 100%;animation:choice-strip-shimmer 1.5s ease-in-out infinite}@keyframes choice-strip-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.choice-strip-loading-text{color:var(--text-secondary, #8b8fa3);font-size:.8rem}.choice-strip-error{padding:8px 16px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:8px;color:#ff6b6b;font-size:.8rem;text-align:center}.choice-strip-image-container{position:relative;width:100%;border-radius:8px;overflow:hidden}.choice-strip-image{width:100%;height:auto;display:block;border-radius:8px}.choice-strip-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.choice-strip-region{fill:transparent;stroke:transparent;stroke-width:3;transition:stroke .2s,fill .2s}.choice-strip-region:hover,.choice-strip-region.hovered{stroke:#fffc;fill:#ffffff14;filter:drop-shadow(0 0 8px rgba(255,255,255,.4))}.choice-strip-label{background:#000000bf;color:#fff;font-size:12px;padding:4px 8px;text-align:center;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;box-sizing:border-box;pointer-events:none}.choice-buttons{padding:16px 24px 24px;background-color:#09090b;border-radius:0 0 16px 16px;border:1px solid rgba(255,255,255,.08);border-top:none;margin-top:0;position:relative}.choices-grid{display:flex;flex-direction:column;gap:8px;max-width:700px;margin:0 auto}.choice-button{width:100%;padding:14px 18px;background-color:#ffffff0d;color:#e8e6e1;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:.95rem;font-weight:500;text-align:left;transition:all .2s ease}.choice-button:hover:not(:disabled){background-color:#ffffff1a;border-color:#ffffff40;color:#fff;transform:translateY(-1px)}.choice-button:active:not(:disabled){transform:translateY(0)}.choice-button:disabled{opacity:.5;cursor:not-allowed}.write-in-section{margin-top:12px;position:relative;max-width:700px;margin-left:auto;margin-right:auto}.write-in-form{display:flex;align-items:center;gap:8px}.write-in-ic-ooc{flex-shrink:0;padding:4px 8px;background:#ffffff14;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:.72rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.write-in-ic-ooc:hover{background:#ffffff24;color:var(--text-primary)}.write-in-ic-ooc--ooc{background:#a78bfa2e;color:#a78bfa;border-color:#a78bfa}.write-in-ic-ooc--ooc:hover{background:#a78bfa47}.write-in-identity{flex-shrink:0;padding:4px 10px;background:#a78bfa1f;color:#c4b5fd;border:1px solid rgba(167,139,250,.3);border-radius:4px;font-size:.72rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}.write-in-identity:hover{background:#a78bfa38;color:#e0d4ff}.write-in-identity--ooc{background:#a78bfa2e;color:#a78bfa;border-color:#a78bfa}.write-in-identity--ooc:hover{background:#a78bfa47}.write-in-input{flex:1;padding:10px 16px;background-color:#17171d;color:#e8e6e1;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:.95rem;font-family:inherit;transition:all .2s ease}.write-in-section.compact .write-in-input{border-style:dashed}.write-in-section.expanded .write-in-input{border-style:solid;border-color:#ffffff40}.write-in-input:focus{outline:none;border-color:#ffffff40;border-style:solid}.write-in-input::placeholder{color:#ffffff59;font-style:italic}.write-in-input:disabled{opacity:.5;cursor:not-allowed}.write-in-submit{padding:10px 18px;background-color:#a5b4fc;color:#09090b;border:none;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.write-in-submit:hover:not(:disabled){background-color:#c7d2fe}.write-in-submit:disabled{opacity:.5;cursor:not-allowed}.write-in-tutorial{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;padding:12px 16px;background-color:var(--bg-tertiary);border:1px solid var(--accent-blue);border-radius:8px;box-shadow:0 4px 12px var(--shadow);z-index:10;animation:fadeInUp .2s ease}.write-in-tutorial p{margin:0 0 10px;font-size:.9rem;color:var(--text-primary);line-height:1.4}.write-in-tutorial button{padding:6px 14px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer}.write-in-tutorial button:hover{background-color:var(--accent-green)}.write-in-tutorial:after{content:"";position:absolute;bottom:-6px;left:20px;width:12px;height:12px;background-color:var(--bg-tertiary);border-right:1px solid var(--accent-blue);border-bottom:1px solid var(--accent-blue);transform:rotate(45deg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.choice-text{display:inline-block;vertical-align:middle}.choice-type-dialogue{border-left:3px solid rgba(108,145,255,.35)}.choice-type-dialogue:hover:not(:disabled){border-left-color:#6c91ff8c}.choice-type-action{border-left:3px solid rgba(255,107,107,.35)}.choice-type-action:hover:not(:disabled){border-left-color:#ff6b6b8c}.choice-type-observation{border-left:3px solid rgba(255,217,61,.3)}.choice-type-observation:hover:not(:disabled){border-left-color:#ffd93d80}.choice-type-internal{border-left:3px solid rgba(165,180,252,.35)}.choice-type-internal:hover:not(:disabled){border-left-color:#a5b4fc8c}@media (max-width: 768px){.choice-buttons{padding:12px 16px 16px;border-radius:0 0 8px 8px}.choices-grid{gap:8px}.choice-button{padding:10px 12px;font-size:.85rem}.write-in-section{margin-top:10px}.write-in-input{padding:8px 12px;font-size:.9rem}.write-in-submit{padding:8px 12px;font-size:.85rem}.write-in-tutorial{padding:10px 12px}.write-in-tutorial p{font-size:.85rem}}.choices-grid--binary{gap:10px}.choice-button--binary{padding:18px 24px;font-size:1.05rem;font-weight:600;text-align:center;border-radius:10px;border-width:2px}.choices-grid--binary .choice-button--binary:first-child{border-color:#63b3ed;background:#63b3ed14}.choices-grid--binary .choice-button--binary:last-child{border-color:#fc8181;background:#fc818114}.choices-grid--binary .choice-button--binary:first-child:hover:not(:disabled){background:#63b3ed2e}.choices-grid--binary .choice-button--binary:last-child:hover:not(:disabled){background:#fc81812e}.choices-grid--tone{gap:6px}.choice-button--tone{padding:14px 20px;font-size:.95rem;border-left-width:3px;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-radius:6px;background:transparent;text-align:left}.choice-button--tone:first-child{border-left-color:#9ae6b4}.choice-button--tone:nth-child(2){border-left-color:#63b3ed}.choice-button--tone:last-child{border-left-color:#b794f4}.choice-button--tone:hover:not(:disabled){background:#ffffff0d}.choice-buttons--solo{display:flex;justify-content:center;padding:12px 24px 20px;background:transparent;border:none}.choice-button--solo{padding:12px 36px;font-size:.95rem;font-weight:500;color:#fff9;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:20px;letter-spacing:.04em;transition:all .2s ease}.choice-button--solo:hover:not(:disabled){color:#ffffffe6;border-color:#fff6}.feedback-panel{padding:12px 24px;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color)}.feedback-panel.feedback-collapsed{padding:4px 24px;cursor:pointer;transition:background .15s ease}.feedback-panel.feedback-collapsed:hover{background-color:var(--bg-tertiary)}.feedback-panel.feedback-collapsed .feedback-header{margin-bottom:0}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.feedback-title{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.feedback-header-actions{display:flex;align-items:center;gap:8px}.feedback-saved-badge{font-size:.75rem;color:var(--accent-green, #4ade80);font-weight:500}.feedback-toggle{padding:2px 10px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .15s ease}.feedback-toggle:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.feedback-ratings{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:4px}.rating-row{display:flex;align-items:center;gap:8px}.rating-label{font-size:.8rem;color:var(--text-secondary);min-width:72px;display:inline-flex;align-items:center;gap:4px}.rating-help-wrap{position:relative;display:inline-flex}.rating-help-btn{width:16px;height:16px;border-radius:50%;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.65rem;font-weight:700;cursor:pointer;padding:0;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease;flex-shrink:0}.rating-help-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.rating-help-popover{position:absolute;top:calc(100% + 6px);left:-8px;width:240px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px #0000004d;z-index:100;font-size:.8rem;color:var(--text-primary);line-height:1.4}.rating-help-text{margin-bottom:8px}.rating-help-scale{display:flex;justify-content:space-between;gap:8px;font-size:.72rem;color:var(--text-secondary);border-top:1px solid var(--border-color);padding-top:6px}.rating-help-anchor strong{color:var(--accent-blue);margin-right:2px}.summary-rating-label{min-width:90px}.rating-dots{display:flex;gap:4px}.rating-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-color);background:transparent;cursor:pointer;padding:0;transition:all .12s ease}.rating-dot:hover{border-color:var(--accent-blue);background:#6c91ff33;transform:scale(1.15)}.rating-dot.filled{border-color:var(--accent-blue);background:#6c91ff40}.rating-dot.active{border-color:var(--accent-blue);background:var(--accent-blue)}.feedback-expanded{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:10px}.feedback-text-field{display:flex;flex-direction:column;gap:4px}.feedback-text-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.feedback-text-input{padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;font-family:inherit;transition:border-color .15s ease}.feedback-text-input:focus{outline:none;border-color:var(--accent-blue)}.feedback-textarea{padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;font-family:inherit;resize:vertical;transition:border-color .15s ease}.feedback-textarea:focus{outline:none;border-color:var(--accent-blue)}.feedback-actions{display:flex;justify-content:flex-end}.feedback-save-btn{padding:5px 16px;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .15s ease}.feedback-save-btn:hover:not(:disabled){background:#5a7de8}.feedback-save-btn:disabled{opacity:.4;cursor:default}.chip-input-group{display:flex;flex-direction:column;gap:4px}.chip-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.chip-container{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;min-height:32px;align-items:center;transition:border-color .15s ease}.chip-container:focus-within{border-color:var(--accent-blue)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;font-size:.8rem;color:var(--text-primary)}.chip-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:0 2px;line-height:1;transition:color .12s ease}.chip-remove:hover{color:#ff6b6b}.chip-text-input{border:none;background:transparent;color:var(--text-primary);font-size:.85rem;font-family:inherit;outline:none;flex:1;min-width:120px}.chip-text-input::placeholder{color:var(--text-secondary);opacity:.6}.end-summary-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.end-summary-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.end-summary-header{padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:8px 8px 0 0}.end-summary-header h2{margin:0;font-size:1.1rem;color:var(--text-primary)}.end-summary-body{padding:16px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.end-summary-section h3{margin:0 0 10px;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding-bottom:6px}.end-summary-section .rating-row,.end-summary-section .chip-input-group,.end-summary-section .feedback-text-field{margin-bottom:4px}.replay-interest{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.replay-options{display:flex;gap:8px}.replay-btn{padding:5px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .15s ease}.replay-btn:hover{border-color:var(--accent-blue);color:var(--text-primary)}.replay-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.end-summary-footer{padding:12px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:10px;background:var(--bg-tertiary);border-radius:0 0 8px 8px}.end-summary-skip{padding:6px 16px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .15s ease}.end-summary-skip:hover{color:var(--text-primary);border-color:var(--text-secondary)}.end-summary-submit{padding:6px 20px;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s ease}.end-summary-submit:hover{background:#5a7de8}@media (max-width: 640px){.feedback-panel{padding:10px 16px}.feedback-ratings{flex-direction:column;gap:8px}.rating-label{min-width:64px;font-size:.75rem}.rating-dot{width:14px;height:14px}.rating-help-popover{width:200px;left:-4px}.end-summary-modal{width:95%;max-height:90vh}.end-summary-body{padding:12px 16px}}.mobile-sidebar-toggle{position:fixed;right:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:mixed;padding:12px 8px;background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-right:none;border-radius:8px 0 0 8px;font-size:.875rem;font-weight:500;cursor:pointer;z-index:100;transition:all .2s ease;box-shadow:-2px 0 8px var(--shadow)}.mobile-sidebar-toggle:hover{background-color:var(--bg-tertiary);color:var(--text-primary);padding-left:12px}.character-sidebar{width:300px;background-color:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;transition:transform .3s ease}.character-sidebar.collapsed{position:fixed;right:0;top:0;height:100vh;transform:translate(100%);pointer-events:none}.character-sidebar.expanded{position:fixed;right:0;top:0;height:100vh;z-index:150;box-shadow:-4px 0 16px var(--shadow)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-color)}.sidebar-header h2{font-size:1.25rem;color:var(--text-primary)}.toggle-button{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;padding:4px;transition:color .2s ease}.toggle-button:hover{color:var(--text-primary)}.character-list{padding:12px;overflow-y:auto}.character-item{margin-bottom:12px;padding:12px;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.character-portrait{width:auto;max-width:100%;height:auto;max-height:200px;object-fit:contain;border-radius:6px;margin:0 auto 8px;display:block}.clickable-portrait{cursor:pointer;transition:transform .2s,box-shadow .2s}.clickable-portrait:hover{transform:scale(1.03);box-shadow:0 4px 16px #0006}.character-name{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:var(--accent-blue);font-size:1rem;font-weight:600;text-align:left;transition:color .2s ease;cursor:pointer}.character-name:hover:not(:disabled){color:var(--accent-green)}.character-brief{display:block;margin-top:4px;font-size:.75rem;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.character-role{display:block;margin-top:4px;font-size:.875rem;color:var(--text-secondary)}.loading-spinner{animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.mobile-sidebar-toggle{display:none!important}.character-sidebar:not(.embedded){display:none!important}.character-sidebar.embedded{width:100%;height:100%;border-left:none;position:relative}}.portrait-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out}.portrait-lightbox-close{position:absolute;top:16px;right:20px;background:#ffffff26;border:none;color:#fff;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2001;transition:background .2s}.portrait-lightbox-close:hover{background:#ffffff40}.portrait-lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;gap:16px}.portrait-lightbox-image{max-width:80vw;max-height:70vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080}.portrait-lightbox-bio{text-align:center;max-width:500px;padding:0 16px}.portrait-lightbox-name{color:#fff;font-size:1.4rem;margin:0 0 6px;font-weight:600}.portrait-lightbox-desc{color:#ffffffbf;font-size:.95rem;line-height:1.5;margin:0}@media (max-width: 768px){.portrait-lightbox-image{max-width:90vw;max-height:60vh}}.character-name-row{display:flex;align-items:center;gap:6px;width:100%}.character-name-row .character-name{flex:1}.pov-btn{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 7px;border-radius:3px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#ffffff59;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.pov-btn:hover{background:#ffffff14;color:#ffffffb3;border-color:#ffffff4d}.pov-btn--active{background:#63b3ed26;border-color:#63b3ed;color:#63b3ed}.character-item--pov{border-left:2px solid #63b3ed}.pipeline-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pipeline-modal{background:var(--bg-secondary, #1a1a2e);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.pipeline-modal h2{margin:0 0 8px;font-size:1.5rem;color:var(--text-primary, #fff)}.pipeline-modal-subtitle{margin:0 0 24px;color:var(--text-secondary, #aaa);font-size:.95rem}.pipeline-modal-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.pipeline-modal-option{display:flex;align-items:center;gap:14px;padding:14px 16px;border:2px solid rgba(255,255,255,.1);border-radius:10px;background:#0003;cursor:pointer;transition:all .2s ease;position:relative}.pipeline-modal-option:hover{border-color:#6366f166;background:#6366f10d}.pipeline-modal-option:focus{outline:2px solid var(--accent-primary, #6366f1);outline-offset:2px}.pipeline-modal-option.selected{border-color:var(--accent-primary, #6366f1);background:#6366f126}.pipeline-modal-option.disabled{opacity:.5;cursor:not-allowed}.pipeline-modal-option.disabled:hover{border-color:#ffffff1a;background:#0003}.pipeline-modal-icon{font-size:1.5rem;flex-shrink:0}.pipeline-modal-content{flex:1}.pipeline-modal-content h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary, #fff)}.pipeline-modal-content p{margin:0;font-size:.85rem;color:var(--text-secondary, #aaa);line-height:1.4}.pipeline-modal-check{color:var(--accent-primary, #6366f1);font-weight:700;font-size:1.2rem}.pipeline-modal-section-title{margin:24px 0 12px;font-size:1rem;font-weight:600;color:var(--text-primary, #fff)}.pipeline-modal-providers{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.pipeline-modal-provider{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid rgba(255,255,255,.1);border-radius:10px;background:#0003;cursor:pointer;transition:all .2s ease}.pipeline-modal-provider:hover{border-color:#6366f166;background:#6366f10d}.pipeline-modal-provider:focus{outline:2px solid var(--accent-primary, #6366f1);outline-offset:2px}.pipeline-modal-provider.selected{border-color:var(--accent-primary, #6366f1);background:#6366f126}.pipeline-modal-provider .pipeline-modal-content h4{font-size:1rem}.pipeline-modal-provider .pipeline-modal-content p{font-size:.85rem}.pipeline-modal-arrow{font-size:1.4rem;color:#ffffff4d;flex-shrink:0;transition:color .15s ease,transform .15s ease}.pipeline-modal-provider:hover .pipeline-modal-arrow{color:#ffffffb3;transform:translate(2px)}.pipeline-modal-provider--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.pipeline-modal-badge{display:inline-block;margin-left:8px;padding:1px 7px;font-size:.7rem;font-weight:500;border-radius:10px;background:#ffffff1a;color:#ffffff80;vertical-align:middle;letter-spacing:.03em}.pipeline-modal-default{display:flex;align-items:center;gap:10px;margin-bottom:24px;cursor:pointer;color:var(--text-secondary, #aaa);font-size:.95rem}.pipeline-modal-default input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary, #6366f1)}.pipeline-modal-actions{display:flex;gap:12px;justify-content:flex-end}.pipeline-modal-cancel{padding:10px 20px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:transparent;color:var(--text-secondary, #aaa);cursor:pointer;font-size:.95rem;transition:all .2s ease}.pipeline-modal-cancel:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.pipeline-modal-confirm{padding:10px 24px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent-primary, #6366f1),#8b5cf6);color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease}.pipeline-modal-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.pipeline-modal-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.pipeline-modal-loading,.pipeline-modal-error{padding:24px;text-align:center;color:var(--text-secondary, #aaa);font-size:.95rem}.pipeline-modal-error{color:#ef4444}.rn-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:rn-fade-in .2s ease}@keyframes rn-fade-in{0%{opacity:0}to{opacity:1}}.rn-popup{background:var(--bg-secondary, #1e1e2e);border:1px solid rgba(255,255,255,.15);border-radius:12px;width:min(440px,90vw);max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000080;animation:rn-slide-up .25s ease}@keyframes rn-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.rn-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .75rem;border-bottom:1px solid rgba(255,255,255,.08)}.rn-header h3{margin:0;font-size:1.15rem;color:var(--text-primary, #e0e0e0)}.rn-close{background:none;border:none;color:var(--text-secondary, #999);font-size:1.1rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;line-height:1}.rn-close:hover{background:#ffffff1a;color:var(--text-primary, #e0e0e0)}.rn-list{list-style:none;margin:0;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.6rem}.rn-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;line-height:1.4}.rn-tag{flex-shrink:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .45rem;border-radius:4px;margin-top:.15rem}.rn-tag--feature{background:#4a90e233;color:#6db3f2;border:1px solid rgba(74,144,226,.3)}.rn-tag--fix{background:#4caf5033;color:#81c784;border:1px solid rgba(76,175,80,.3)}.rn-tag--perf{background:#ffb74d33;color:#ffcc80;border:1px solid rgba(255,183,77,.3)}.rn-text{color:var(--text-secondary, #b0b0b0)}.rn-footer{padding:.75rem 1.5rem 1.25rem;display:flex;justify-content:flex-end}.rn-dismiss{background:var(--accent-blue, #4a90e2);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .15s}.rn-dismiss:hover{background:#357abd}@media (max-width: 768px){.rn-popup{width:95vw;max-height:85vh}.rn-header{padding:1rem 1rem .6rem}.rn-list{padding:.75rem 1rem}.rn-footer{padding:.6rem 1rem 1rem}}.start-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:20px}.start-content{text-align:center;padding:40px;max-width:900px;width:100%}.start-header{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px}.start-content h1{font-size:2.5rem;margin:0;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-buttons{display:flex;gap:8px;align-items:center}.editor-button{background:#6366f133;border:1px solid rgba(99,102,241,.4);border-radius:8px;font-size:.9rem;padding:8px 16px;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.editor-button:hover{background:#6366f14d;border-color:#6366f199}.user-menu{display:flex;align-items:center;gap:12px;margin-left:16px;padding-left:16px;border-left:1px solid rgba(255,255,255,.2)}.user-menu .username{color:var(--text-secondary, #a0a0a0);font-size:.9rem}.user-menu .logout-button{background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:6px;color:#f87171;font-size:.85rem;padding:6px 12px;cursor:pointer;transition:all .2s ease}.user-menu .logout-button:hover{background:#ef44444d;border-color:#ef444499}.user-menu .admin-link-button{background:transparent;border:1px solid rgba(99,179,237,.4);border-radius:6px;color:#63b3ed;font-size:.85rem;padding:6px 12px;cursor:pointer;transition:all .2s ease}.user-menu .admin-link-button:hover{background:#63b3ed1a;border-color:#63b3edb3}.mobile-only{display:none}.desktop-only{display:flex}.mobile-menu-container{position:relative}.hamburger-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:20px}.hamburger-icon span{display:block;height:2px;background:var(--text-primary, #fff);border-radius:1px;transition:all .3s ease}.hamburger-icon.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.mobile-menu{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-secondary, #1a1a2e);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:8px;min-width:180px;box-shadow:0 8px 32px #0006;z-index:100}.mobile-menu button{display:block;width:100%;text-align:left;padding:12px 16px;background:transparent;border:none;color:var(--text-primary, #fff);font-size:.95rem;cursor:pointer;border-radius:8px;transition:background .2s ease}.mobile-menu button:hover{background:#ffffff1a}.mobile-menu button.logout{color:#f87171}.mobile-menu button.logout:hover{background:#ef444426}.mobile-menu-divider{height:1px;background:#ffffff1a;margin:8px 0}.mobile-menu-user{padding:8px 16px;color:var(--text-secondary, #888);font-size:.85rem}@media (max-width: 768px){.mobile-only{display:block}.desktop-only{display:none!important}.start-header{justify-content:flex-end}}.settings-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:1.5rem;padding:8px 12px;cursor:pointer;transition:all .2s ease}.settings-toggle:hover{background:#fff3;transform:rotate(30deg)}.settings-panel{background:var(--bg-secondary);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;padding:20px;margin-bottom:24px;text-align:left}.settings-panel h3{margin:0 0 16px;font-size:1rem;color:var(--text-primary)}.settings-controls{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.settings-controls label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--text-secondary)}.settings-controls select,.settings-controls input[type=text]{padding:8px 12px;border:1px solid var(--border-color, rgba(255, 255, 255, .2));border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;min-width:150px}.settings-note{font-size:.85rem;color:var(--text-secondary);margin:0;opacity:.8}.settings-checkbox{display:flex;align-items:center;gap:8px;margin-top:12px;cursor:pointer;font-size:.9rem}.settings-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary, #6B4BA1);cursor:pointer}.settings-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.webgpu-settings{margin-top:12px;padding:12px;background:#0003;border-radius:8px}.webgpu-model-select{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--text-secondary);margin-bottom:12px}.webgpu-model-select select{padding:8px 12px;border:1px solid var(--border-color, rgba(255, 255, 255, .2));border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;min-width:200px}.webgpu-model-select select:disabled{opacity:.5;cursor:not-allowed}.webgpu-download{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.download-model-button{padding:8px 16px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));border:none;border-radius:6px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease}.download-model-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.clear-cache-button{padding:8px 16px;background:transparent;border:1px solid rgba(244,67,54,.5);border-radius:6px;color:#f44336;font-size:.85rem;cursor:pointer;transition:all .2s ease}.clear-cache-button:hover{background:#f443361a;border-color:#f44336}.webgpu-progress{display:flex;flex-direction:column;gap:8px}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-green));border-radius:4px;transition:width .3s ease}.progress-text{font-size:.85rem;color:var(--text-secondary);text-align:right}.settings-note.error{color:#f44336}.settings-note.success{color:var(--accent-green, #4caf50)}.experiments-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.experiments-toggle{background:transparent;border:none;color:var(--accent-blue);font-size:.9rem;font-weight:500;cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:6px;transition:color .2s ease}.experiments-toggle:hover{color:var(--accent-green)}.experiments-content{margin-top:12px;padding:12px;background:#0003;border-radius:8px}.experiments-description{font-size:.85rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.5}.config-radio-group{display:flex;flex-direction:column;gap:12px}.config-radio-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:2px solid rgba(255,255,255,.1);border-radius:8px;background:#0003;cursor:pointer;transition:all .2s ease}.config-radio-option:hover{border-color:#2196f366;background:#2196f30d}.config-radio-option.selected{border-color:var(--accent-blue);background:#2196f326}.config-radio-option input[type=radio]{margin-top:4px;min-width:16px;min-height:16px;cursor:pointer;accent-color:var(--accent-blue)}.config-radio-content{flex:1;display:flex;flex-direction:column;gap:6px}.config-radio-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.config-radio-name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.config-radio-meta{font-size:.8rem;color:var(--text-secondary);opacity:.8}.config-radio-description{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.5}.config-radio-hypothesis{font-size:.8rem;color:var(--text-secondary);margin:4px 0 0;line-height:1.4;font-style:italic;opacity:.9}.config-radio-hypothesis strong{color:var(--accent-blue);font-style:normal}.config-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.config-tag{font-size:.75rem;color:var(--accent-green);background:#4caf5026;padding:2px 8px;border-radius:4px;text-transform:lowercase}.start-content .subtitle{font-size:1.1rem;color:var(--text-secondary);margin-bottom:32px}.error-notice{background:#ff980026;border:1px solid rgba(255,152,0,.4);color:var(--text-secondary);padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:.9rem}.empty-state{color:var(--text-secondary);padding:40px 20px;text-align:center;font-size:1rem}.template-selection-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;text-align:left}.template-grid{display:flex!important;flex-direction:column!important;gap:12px;flex-wrap:nowrap}.template-card{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#1e1e28cc;border:2px solid rgba(255,255,255,.15);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.template-card:hover,.template-card:focus{border-color:var(--accent-blue);background:#2196f340;transform:translate(4px);outline:none}.template-card:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.template-card.selected{border-color:var(--accent-green);background:linear-gradient(90deg,#4caf5080,#4caf5059);box-shadow:0 0 0 1px var(--accent-green),0 2px 8px #4caf504d;color:#fff}.template-card.selected .template-info h3{color:#fff}.template-card.selected .template-genre{color:#fff;background:#ffffff40}.template-icon{font-size:1.8rem;line-height:1;flex-shrink:0}.template-info{flex:1;min-width:0}.template-info h3{font-size:.95rem;font-weight:600;margin:0 0 2px;color:var(--text-primary)}.template-genre{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-blue);background:#2196f326;padding:2px 6px;border-radius:3px}.template-tagline{display:none}.template-session-badge{position:absolute;top:50%;right:-8px;transform:translateY(-50%);background:linear-gradient(135deg,var(--accent-blue),#6366f1);color:#fff;font-size:.85rem;font-weight:700;min-width:28px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;box-shadow:0 2px 8px #6366f166;border:2px solid var(--bg-secondary, #1a1a2e);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;overflow:hidden;z-index:2}.template-session-badge:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #6366f199;padding:0 12px;min-width:auto}.template-session-badge:active{transform:translateY(-50%) scale(1.05)}.template-session-badge .badge-label{display:none;font-size:.7rem;font-weight:500;letter-spacing:.02em}.template-session-badge:hover .badge-label{display:inline}.template-sessions-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-secondary, #1a1a2e);border:1px solid rgba(255,255,255,.15);border-radius:12px;min-width:260px;max-width:320px;box-shadow:0 8px 32px #00000080;z-index:100;overflow:hidden}.template-sessions-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.85rem;font-weight:600;color:var(--text-secondary)}.template-sessions-header button{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:0;line-height:1}.template-sessions-header button:hover{color:var(--text-primary)}.template-session-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.template-session-item:last-child{border-bottom:none}.template-session-item:hover{background:#6366f126}.session-item-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.session-item-name{font-size:.9rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item-meta{font-size:.75rem;color:var(--text-secondary)}.session-item-delete{background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:4px 8px;margin-left:8px;border-radius:4px;transition:all .2s ease}.session-item-delete:hover{background:#ef444433;color:#f87171}.selected-description{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:28px;text-align:left;min-height:280px;display:flex;flex-direction:column;justify-content:space-between}.cover-image-container{width:100%;margin-bottom:24px;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0006}.template-cover-image{width:100%;height:auto;display:block;object-fit:cover;border-radius:8px}.selected-description h2{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0 0 8px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.selected-description .template-genre{margin-bottom:16px}.template-premise{color:var(--text-primary);line-height:1.7;margin:0 0 20px;font-size:1.05rem;font-style:italic}.play-time{padding:12px 16px;background:#4caf501a;border-left:3px solid var(--accent-green);border-radius:4px;font-size:.95rem;color:var(--text-primary);margin-top:16px}.play-time strong{color:var(--accent-green);font-weight:600}.tone-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tone-tag{font-size:.8rem;color:var(--text-secondary);background:var(--bg-primary);padding:4px 12px;border-radius:16px;text-transform:capitalize}.start-options{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px;margin-bottom:24px}.checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:1rem;color:var(--text-secondary);cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.action-buttons{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap}.start-button{padding:16px 48px;font-size:1.25rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));border:none;border-radius:12px;box-shadow:0 4px 16px var(--shadow);transition:all .3s ease;cursor:pointer}.start-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow)}.start-button:active:not(:disabled){transform:translateY(0)}.start-button:disabled{opacity:.5;cursor:not-allowed}.description-sessions-btn{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:5px 12px;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--text-secondary, #888);font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s}.description-sessions-btn:hover{border-color:#63b3ed66;color:#63b3ed}.continue-action-btn{padding:16px 36px;font-size:1.1rem;font-weight:600;color:#63b3ed;background:#63b3ed1a;border:1px solid rgba(99,179,237,.35);border-radius:12px;cursor:pointer;transition:all .2s ease}.continue-action-btn:hover:not(:disabled){background:#63b3ed2e;border-color:#63b3ed99;transform:translateY(-2px)}.continue-action-btn:disabled{opacity:.5;cursor:not-allowed}.manage-templates-button{padding:16px 32px;font-size:1rem;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:2px solid var(--accent-blue);border-radius:12px;transition:all .3s ease;cursor:pointer}.manage-templates-button:hover:not(:disabled){background:#2196f31a;border-color:var(--accent-green);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.manage-templates-button:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{color:var(--text-secondary);font-size:1.2rem}.previous-sessions-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.toggle-sessions-button{background:transparent;border:1px solid var(--accent-blue);color:var(--accent-blue);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s ease}.toggle-sessions-button:hover{background:#2196f31a}.previous-sessions-list{margin-top:16px;display:flex;flex-direction:column;gap:12px}.session-card{display:flex;align-items:center;background:var(--bg-secondary);border-radius:10px;overflow:hidden;transition:all .2s ease}.session-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.session-card-main{flex:1;display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;text-align:left}.session-icon{font-size:1.8rem;flex-shrink:0}.session-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.session-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.session-meta{font-size:.85rem;color:var(--text-secondary)}.session-preview{font-size:.85rem;color:var(--text-secondary);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.session-delete-button{background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:4px;color:#f44336;font-size:1rem;padding:6px 10px;cursor:pointer;opacity:.8;transition:all .2s ease;flex-shrink:0}.session-delete-button:hover{background:#f4433633;border-color:#f44336;opacity:1}.pipeline-selector{background:var(--bg-secondary);border:2px solid rgba(99,102,241,.3);border-radius:16px;padding:24px;margin-bottom:24px;text-align:left}.pipeline-selector h3{margin:0 0 8px;font-size:1.2rem;color:var(--text-primary);display:flex;align-items:center;gap:8px}.pipeline-selector h3:before{content:"⚡";font-size:1.1em}.pipeline-description{font-size:.9rem;color:var(--text-secondary);margin:0 0 16px}.pipeline-options{display:flex;flex-direction:column;gap:12px}.pipeline-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid rgba(255,255,255,.1);border-radius:12px;background:#0003;cursor:pointer;transition:all .2s ease}.pipeline-option:hover{border-color:#6366f166;background:#6366f10d}.pipeline-option.selected{border-color:var(--accent-primary, #6366f1);background:#6366f126}.pipeline-option input[type=radio]{margin-top:4px;min-width:18px;min-height:18px;cursor:pointer;accent-color:var(--accent-primary, #6366f1)}.pipeline-content{flex:1;display:flex;flex-direction:column;gap:6px}.pipeline-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pipeline-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.pipeline-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.pipeline-badge.system{background:#3b82f633;color:#60a5fa}.pipeline-badge.default{background:#10b98133;color:#34d399}.pipeline-desc{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.5}.pipeline-divider{display:flex;align-items:center;gap:16px;margin:8px 0;color:var(--text-secondary);font-size:.85rem;font-weight:500}.pipeline-divider:before,.pipeline-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.pipeline-cards{display:flex;flex-direction:column;gap:8px;margin-top:12px}.pipeline-card{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 16px;border:2px solid rgba(255,255,255,.1);border-radius:10px;background:#0003;cursor:pointer;transition:all .2s ease;text-align:left;position:relative}.pipeline-card:hover{border-color:#6366f166;background:#6366f10d}.pipeline-card:focus{outline:2px solid var(--accent-primary, #6366f1);outline-offset:2px}.pipeline-card.selected{border-color:var(--accent-primary, #6366f1);background:#6366f126}.pipeline-card.selected:after{content:"✓";position:absolute;top:4px;right:6px;color:var(--accent-primary, #6366f1);font-weight:700;font-size:.9rem}.pipeline-card-icon{font-size:1.5rem}.pipeline-card-content{flex:1}.pipeline-card-content h4{margin:0 0 4px;font-size:.85rem;font-weight:600;color:var(--text-primary)}.pipeline-card-content p{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.3}.selected-description .pipeline-selector{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);grid-column:1 / -1;width:100%}.selected-description .pipeline-selector h3{margin-bottom:4px;font-size:1rem}.selected-description .pipeline-selector h3:before{content:none}.mobile-background{display:none}@media (max-width: 768px){.start-screen{padding:0;height:100vh;height:100dvh;min-height:auto;max-height:100vh;max-height:100dvh;overflow:hidden;align-items:stretch;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.start-content{padding:0;max-width:100%;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.mode-selection-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:72px 16px calc(24px + env(safe-area-inset-bottom,0px));margin:0}.start-header{position:fixed;top:0;right:0;z-index:50;padding:12px}.template-selection-container{display:flex;flex-direction:column;flex:1;position:relative;overflow:hidden;min-height:0}.mobile-background{display:block;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;pointer-events:none}.mobile-bg-image{width:100%;height:100%;object-fit:contain;object-position:center center;transition:opacity .5s ease}.mobile-bg-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0006,#0003 40%,#0009)}.selected-description.desktop-only{display:none!important}.start-screen .template-grid{position:absolute;z-index:10;top:50%;left:50%;transform:translate(-50%,-50%);width:75%;max-width:280px;max-height:calc(100% - 140px);padding:0;display:flex!important;flex-direction:column!important;gap:8px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.start-screen .template-card{background:#14141e99!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12)!important;border-radius:8px!important;padding:10px 14px!important;gap:10px!important;flex-shrink:0;width:100%}.template-session-badge{right:0}.start-screen .template-card:hover,.start-screen .template-card:focus{background:#2196f34d!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:none!important}.start-screen .template-card.selected{background:#4caf5073!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:2px solid var(--accent-green)!important;box-shadow:0 0 20px #4caf504d}.template-info h3{font-size:.9rem;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.5)}.template-genre{font-size:.6rem;padding:2px 5px;background:#fff3}.template-sessions-dropdown{position:fixed;top:auto;bottom:25%;left:16px;right:16px;max-width:none;max-height:50vh;overflow-y:auto}.mobile-bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0));background:#0a0a14d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1)}.mobile-bar-info{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.mobile-bar-info h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-bar-genre{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-blue);background:#2196f333;padding:2px 6px;border-radius:3px;flex-shrink:0}.mobile-bar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.mobile-info-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.mobile-info-button:hover,.mobile-info-button:active{background:#fff3}.mobile-play-button{padding:10px 28px;font-size:1rem;font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #22c55e4d}.mobile-play-button:hover,.mobile-play-button:active{background:linear-gradient(135deg,#16a34a,#15803d);transform:scale(1.02)}.mobile-play-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.mobile-continue-button{padding:10px 20px;font-size:1rem;font-weight:600;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease}.mobile-continue-button:hover,.mobile-continue-button:active{background:#fff3}.mobile-continue-button:disabled{opacity:.5;cursor:not-allowed}.mobile-info-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.mobile-info-content{position:relative;background:var(--bg-secondary, #1a1a2e);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:24px;max-width:360px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px #00000080}.mobile-info-close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:#ffffff1a;border:none;border-radius:50%;color:var(--text-secondary);font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mobile-info-close:hover{background:#fff3;color:var(--text-primary)}.mobile-info-content h2{font-size:1.4rem;font-weight:700;margin:0 0 8px;color:var(--text-primary);padding-right:30px}.mobile-info-content .template-genre{margin-bottom:12px}.mobile-info-content .info-tagline{font-size:.95rem;font-style:italic;color:var(--accent-blue);margin:0 0 12px}.mobile-info-content .info-description{font-size:.9rem;line-height:1.6;color:var(--text-primary);margin:0 0 16px}.mobile-info-content .info-tone{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.mobile-info-content .info-playtime{font-size:.85rem;color:var(--text-secondary);margin-bottom:20px}.mobile-info-content .info-play-button{width:100%;padding:14px;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease}.mobile-info-content .info-play-button:hover,.mobile-info-content .info-play-button:active{background:linear-gradient(135deg,#16a34a,#15803d)}.mobile-info-content .info-play-button:disabled{opacity:.5;cursor:not-allowed}.template-selection-container.mobile-hidden{display:none!important}.mobile-pipeline-screen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:var(--bg-primary, #0f0f1a);display:flex;flex-direction:column}.mobile-pipeline-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#14141ef2;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-back-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:var(--text-primary);cursor:pointer}.mobile-pipeline-header h2{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.mobile-pipeline-content{flex:1;padding:24px 20px;overflow-y:auto}.mobile-pipeline-subtitle{margin:0 0 24px;font-size:.9rem;color:var(--text-secondary);text-align:center}.mobile-pipeline-options{display:flex;flex-direction:column;gap:12px}.mobile-pipeline-option{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#1e1e2d99;border:2px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.mobile-pipeline-option:hover,.mobile-pipeline-option:active{background:#28283ccc;border-color:#fff3}.mobile-pipeline-option.selected{background:#22c55e26;border-color:#22c55e}.pipeline-option-info{display:flex;flex-direction:column;gap:4px}.pipeline-option-name{font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.recommended-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#22c55e;background:#22c55e33;padding:2px 6px;border-radius:4px}.v4-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#3b82f6;background:#3b82f633;padding:2px 6px;border-radius:4px}.pipeline-icon{font-size:1.1rem}.mobile-pipeline-loading{padding:20px;text-align:center;color:var(--text-secondary)}.pipeline-option-desc{font-size:.85rem;color:var(--text-secondary)}.mobile-pipeline-option .check-icon{color:#22c55e;flex-shrink:0}.mobile-pipeline-footer{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));background:#14141ef2;border-top:1px solid rgba(255,255,255,.1)}.mobile-start-story-button{width:100%;padding:16px;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .2s ease}.mobile-start-story-button:hover,.mobile-start-story-button:active{background:linear-gradient(135deg,#16a34a,#15803d)}.mobile-start-story-button:disabled{opacity:.6;cursor:not-allowed}.error-notice{margin:60px 16px 0;position:relative;z-index:10}}@media (max-width: 600px){.template-icon{font-size:1.5rem}.pipeline-selector{padding:16px}.pipeline-option{padding:12px}.pipeline-header{flex-direction:column;align-items:flex-start;gap:6px}.pipeline-cards{grid-template-columns:repeat(2,1fr)}.pipeline-card{padding:10px 6px}.pipeline-card-content h4{font-size:.8rem}.pipeline-card-content p{font-size:.7rem}}.sessions-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.sessions-modal{background:linear-gradient(180deg,#1e1e2e,#16161f);border:1px solid rgba(255,255,255,.15);border-radius:16px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.sessions-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.sessions-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.sessions-modal-close{background:none;border:none;color:var(--text-secondary, #888);font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1;border-radius:6px;transition:all .2s ease}.sessions-modal-close:hover{background:#ffffff1a;color:#fff}.sessions-modal-content{flex:1;overflow-y:auto;padding:8px}.session-modal-item{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:4px 0;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;cursor:pointer;transition:all .2s ease}.session-modal-item:hover{background:#2196f326;border-color:#2196f34d;transform:translateY(-1px)}.session-modal-item-icon{font-size:1.5rem;flex-shrink:0}.session-modal-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.session-modal-item-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-modal-item-name{font-weight:600;color:#fff;font-size:1rem}.session-mode-badge{font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:10px;letter-spacing:.02em;flex-shrink:0}.session-mode-guided{background:#63b3ed26;color:#63b3ed;border:1px solid rgba(99,179,237,.3)}.session-mode-roleplay{background:#9a75eb26;color:#b794f4;border:1px solid rgba(154,117,235,.3)}.session-modal-item-meta{font-size:.8rem;color:var(--text-secondary, #888)}.session-modal-item-owner{opacity:.7;font-style:italic}.session-modal-item-preview{font-size:.75rem;color:var(--text-tertiary, #666);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.session-modal-item-delete{flex-shrink:0;background:none;border:none;color:var(--text-secondary, #888);padding:8px;cursor:pointer;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.session-modal-item-delete:hover{background:#dc262633;color:#ef4444}.sessions-modal-empty{text-align:center;padding:40px 20px;color:var(--text-secondary, #888);font-size:.9rem}.start-screen-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.version-tag{font-size:.75rem;color:var(--text-muted, #666);opacity:.7}.continue-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.continue-inline-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.continue-inline-name{font-size:.9rem;font-weight:600;color:var(--text-primary, #e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-inline-detail{font-size:.75rem;color:var(--text-secondary, #888)}.continue-inline-btn{flex-shrink:0;padding:7px 18px;background:#63b3ed;color:#0d1117;border:none;border-radius:6px;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.continue-inline-btn:hover{background:#90cdf4;transform:translateY(-1px)}.continue-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;margin-bottom:16px;background:#63b3ed14;border:1px solid rgba(99,179,237,.25);border-radius:10px;transition:background .2s}.continue-banner:hover{background:#63b3ed21}.continue-banner-info{display:flex;flex-direction:column;gap:2px;min-width:0}.continue-banner-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#63b3ed;opacity:.8}.continue-banner-name{font-size:1rem;font-weight:600;color:var(--text-primary, #e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-banner-meta{font-size:.78rem;color:var(--text-secondary, #888)}.continue-banner-btn{flex-shrink:0;padding:8px 20px;background:#63b3ed;color:#0d1117;border:none;border-radius:6px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.continue-banner-btn:hover{background:#90cdf4;transform:translateY(-1px)}.illustration-toggle{display:flex;justify-content:center;margin:.75rem 0 .25rem}.illustration-toggle-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;opacity:.9}.illustration-toggle-label input{cursor:pointer}.illustration-toggle-label--mobile{justify-content:center;margin-top:1rem;padding:.5rem}.mode-selection-container{display:flex;flex-direction:column;align-items:center;gap:28px;margin:24px 0 8px}.mode-selection-intro{text-align:center}.mode-selection-title{font-size:2rem;font-weight:700;margin:0 0 6px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mode-selection-subtitle{color:var(--text-secondary, #a0a0a0);margin:0}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;max-width:720px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:24px 22px;background:#1e1e28cc;border:2px solid rgba(255,255,255,.15);border-radius:14px;cursor:pointer;transition:all .2s ease;text-align:left;color:var(--text-primary, #fff)}.mode-card:hover:not(:disabled),.mode-card:focus-visible{border-color:var(--accent-blue);background:#2196f338;transform:translateY(-3px);outline:none}.mode-card:disabled{opacity:.5;cursor:not-allowed}.mode-card-icon{font-size:2.2rem;line-height:1}.mode-card-name{font-size:1.25rem;font-weight:700}.mode-card-desc{font-size:.9rem;color:var(--text-secondary, #a0a0a0)}.mode-selection-continue{display:flex;justify-content:center}.story-picker-heading{display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.mode-back-button{padding:8px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:var(--text-primary, #fff);cursor:pointer;transition:all .2s ease}.mode-back-button:hover{background:#ffffff29}.story-picker-title{display:flex;align-items:center;gap:8px;font-size:1.3rem;font-weight:600;margin:0}.story-picker-mode-icon{font-size:1.4rem}.gt-locked-note{color:var(--text-secondary, #a0a0a0);font-size:.9rem;margin-top:10px;text-align:center}@media (max-width: 640px){.mode-grid{grid-template-columns:1fr;max-width:420px}}.resume-section{width:100%;max-width:560px;margin:28px auto 0;text-align:left}.resume-section-title{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary, #a0a0a0);margin:0 0 10px}.resume-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.resume-card{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:linear-gradient(160deg,#63b3ed24,#1a1a2ee6);transition:border-color .2s ease,transform .2s ease}.resume-card:hover{border-color:#63b3ed80;transform:translateY(-2px)}.resume-card-main{position:relative;display:flex;width:100%;aspect-ratio:4 / 5;padding:0;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit}.resume-card-main:disabled{opacity:.55;cursor:not-allowed}.resume-card-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}.resume-card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#080a16eb,#080a168c 28%,#080a1600 55%)}.resume-card-body{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;width:100%;padding:10px 12px 11px;min-width:0}.resume-card-title{font-weight:600;font-size:.92rem;line-height:1.25;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.resume-card-meta{font-size:.72rem;color:#ffffffbf;text-shadow:0 1px 2px rgba(0,0,0,.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-card-errors{position:absolute;top:10px;left:10px;margin-left:0;background:#1e1408bf}.resume-card-archive{position:absolute;top:0;right:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:#ffffff8c;cursor:pointer;transition:color .2s ease}.resume-card-archive:hover:not(:disabled){color:#fff}.resume-card-archive:disabled{opacity:.5;cursor:not-allowed}.resume-card-archive svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.7))}.resume-entry{display:flex;align-items:stretch;gap:8px}.resume-entry-main{flex:1;display:flex;align-items:center;gap:12px;padding:10px 14px;min-width:0;text-align:left;color:inherit;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:12px;cursor:pointer;transition:all .2s ease}.resume-entry-main:hover:not(:disabled){background:#63b3ed1f;border-color:#63b3ed66}.resume-entry-main:disabled{opacity:.5;cursor:not-allowed}.resume-entry-icon{font-size:1.3rem;flex-shrink:0}.resume-entry-thumb{width:40px;height:40px;flex-shrink:0;border-radius:8px;object-fit:cover;object-position:50% 18%;background:#ffffff0f}.resume-entry-info{display:flex;flex-direction:column;gap:2px;min-width:0}.resume-entry-title{font-weight:600;font-size:.95rem;color:var(--text-primary, #f0f0f0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-entry-errors{display:inline-block;margin-left:8px;padding:1px 7px;font-size:.68rem;font-weight:500;vertical-align:middle;color:#f6ad55;background:#f6ad551f;border:1px solid rgba(246,173,85,.3);border-radius:999px}.resume-entry-meta{font-size:.78rem;color:var(--text-secondary, #a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-entry-archive{flex-shrink:0;padding:0 14px;font-size:.78rem;font-weight:500;color:var(--text-secondary, #a0a0a0);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease}.resume-entry-archive:hover:not(:disabled){color:#f0f0f0;border-color:#ffffff4d}.resume-entry-archive:disabled{opacity:.5;cursor:not-allowed}.resume-expander-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding:10px 14px;font-size:.85rem;font-weight:500;color:var(--text-secondary, #a0a0a0);background:transparent;border:1px dashed rgba(255,255,255,.18);border-radius:12px;cursor:pointer;transition:all .2s ease}.resume-expander-toggle:hover{color:#f0f0f0;border-color:#ffffff59}.resume-expander-chevron{display:inline-block;transition:transform .2s ease;font-size:1.1rem}.resume-expander-chevron.open{transform:rotate(90deg)}.resume-expander{margin-top:10px}.resume-archived-toggle{margin-bottom:8px;padding:6px 12px;font-size:.78rem;color:var(--text-secondary, #a0a0a0);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:999px;cursor:pointer;transition:all .2s ease}.resume-archived-toggle:hover,.resume-archived-toggle.active{color:#f0f0f0;border-color:#ffffff4d}.resume-expander-list{display:flex;flex-direction:column;gap:8px;max-height:min(38vh,340px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:2px}.resume-expander-empty{font-size:.82rem;color:var(--text-secondary, #a0a0a0);margin:6px 2px}@media (max-width: 768px){.resume-section{max-width:100%;padding:0 4px}.resume-expander-list{max-height:34vh}}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:20px}.login-content{text-align:center;padding:40px;max-width:400px;width:100%}.login-content h1{font-size:2.5rem;margin-bottom:8px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-content .subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:32px}.login-form{background:var(--bg-secondary);border-radius:12px;padding:24px;text-align:left}.login-form h2{font-size:1.25rem;color:var(--text-primary);margin:0 0 20px;text-align:center}.login-error{background:#f4433626;border:1px solid rgba(244,67,54,.4);color:#f44336;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.9rem;color:var(--text-secondary);margin-bottom:6px}.form-group input{width:100%;padding:12px 14px;font-size:1rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--accent-blue)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group .hint{display:block;font-size:.8rem;color:var(--text-secondary);opacity:.7;margin-top:4px}.login-button{width:100%;padding:14px;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-switch{margin-top:20px;font-size:.9rem;color:var(--text-secondary)}.login-switch button{background:none;border:none;color:var(--accent-blue);font-size:.9rem;cursor:pointer;padding:0;text-decoration:underline}.login-switch button:hover{color:var(--accent-green)}.login-switch button:disabled{opacity:.6;cursor:not-allowed}.form-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:20px;line-height:1.5}.form-description strong{color:var(--text-primary)}.success-message{background:#4caf5026;border:1px solid rgba(76,175,80,.4);color:#4caf50;padding:16px;border-radius:8px;margin-bottom:20px;text-align:center}.success-message p{margin:0 0 8px}.success-message p:last-child{margin-bottom:0}.success-message .hint{color:#4caf50cc;font-size:.85rem}.code-input{font-size:1.5rem!important;letter-spacing:8px;text-align:center;font-family:monospace}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:60px}.password-toggle{position:absolute;right:8px;background:none;border:none;color:var(--accent-blue);font-size:.8rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.password-toggle:hover:not(:disabled){background:#4a9eff1a;color:var(--accent-green)}.password-toggle:disabled{opacity:.5;cursor:not-allowed}.beta-notice{margin-top:24px;padding:16px;background:#ffffff0d;border-radius:8px;text-align:center}.beta-notice p{margin:0;color:var(--text-secondary);font-size:.9rem}.beta-notice .hint{font-size:.8rem;opacity:.7;margin-top:4px}@media (max-width: 480px){.login-content{padding:20px}.login-content h1{font-size:2rem}.login-form{padding:20px}.code-input{letter-spacing:4px}}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:300}.settings-modal{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;width:90%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--shadow)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:2px solid var(--border-color);background-color:var(--bg-tertiary);border-radius:10px 10px 0 0}.settings-header h2{font-size:1.5rem;color:var(--text-primary);margin:0}.settings-modal .close-button{background:none;border:none;color:var(--text-secondary);font-size:2rem;line-height:1;padding:0;width:32px;height:32px;cursor:pointer;transition:color .2s ease}.settings-modal .close-button:hover{color:var(--text-primary)}.settings-content{flex:1;overflow-y:auto;padding:24px}.settings-section{margin-bottom:28px}.settings-section:last-child{margin-bottom:0}.settings-section h3{font-size:1.125rem;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.settings-section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.settings-section-toggle:hover{color:var(--accent-blue, #4a9eff)}.toggle-arrow{display:inline-block;font-size:.75rem;transition:transform .15s ease;color:var(--text-secondary)}.toggle-arrow.open{transform:rotate(90deg)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:middle}.status-dot.running{background-color:var(--accent-green, #4caf50);box-shadow:0 0 4px var(--accent-green, #4caf50)}.settings-controls{display:flex;flex-direction:column;gap:16px}.settings-controls .checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;color:var(--text-primary);font-size:1rem}.settings-controls .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-blue)}.settings-controls .select-label,.settings-controls .input-label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:.9rem}.settings-controls .select-label span,.settings-controls .input-label span{font-weight:500}.settings-controls select,.settings-controls input[type=text]{padding:10px 14px;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;transition:border-color .2s ease}.settings-controls select:focus,.settings-controls input[type=text]:focus{outline:none;border-color:var(--accent-blue)}.settings-controls .help-text{font-size:.8rem;color:var(--text-secondary);font-style:italic;margin-top:2px}.settings-footer{display:flex;align-items:center;gap:12px;padding:12px 24px;border-top:2px solid var(--border-color);background-color:var(--bg-tertiary);border-radius:0 0 10px 10px;flex-wrap:wrap}.footer-link{background:none;border:none;color:var(--text-secondary);font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:transparent;transition:all .15s ease}.footer-link:hover{color:var(--accent-blue);text-decoration-color:var(--accent-blue)}.footer-hint{font-size:.75rem;color:var(--text-secondary);opacity:.7}.footer-hint kbd{display:inline-block;padding:1px 5px;font-family:inherit;font-size:.75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px}.footer-spacer{flex:1}.settings-footer button{padding:10px 24px;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.settings-footer .cancel-button{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.settings-footer .cancel-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.settings-footer .save-button{background-color:var(--accent-blue);color:#fff;border:none}.settings-footer .save-button:hover{background-color:var(--accent-green)}.settings-footer .save-button:active,.settings-footer .cancel-button:active{transform:scale(.98)}.experimental-badge{display:inline-block;font-size:.65rem;padding:2px 6px;background-color:var(--accent-purple, #9c27b0);color:#fff;border-radius:4px;margin-left:8px;vertical-align:middle;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.adaptive-info{margin-top:12px;padding:12px;background-color:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.adaptive-info .info-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.adaptive-info .feature-list{margin:8px 0 0;padding-left:20px;font-size:.85rem;color:var(--text-primary)}.adaptive-info .feature-list li{margin-bottom:4px}.adaptive-info .feature-list li::marker{color:var(--accent-green, #4caf50)}.status-row{display:flex;align-items:center;gap:8px;font-size:.95rem}.status-label{color:var(--text-secondary);font-weight:500;min-width:60px}.status-value{color:var(--text-primary)}.status-value.running{color:var(--accent-green, #4caf50);font-weight:600}.status-value.stopped{color:var(--accent-red, #f44336);font-weight:600}.status-value.loading{color:var(--text-secondary);font-style:italic}.button-row{display:flex;gap:8px;margin-top:4px}.control-button{padding:8px 16px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,opacity .2s ease;border:none}.control-button:disabled{opacity:.5;cursor:not-allowed}.control-button.start{background-color:var(--accent-green, #4caf50);color:#fff}.control-button.start:hover:not(:disabled){background-color:#43a047}.control-button.stop{background-color:var(--accent-red, #f44336);color:#fff}.control-button.stop:hover:not(:disabled){background-color:#e53935}.control-button.refresh{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.control-button.refresh:hover:not(:disabled){background-color:var(--border-color)}.tutorial-reset-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.tutorial-info{flex:1}.tutorial-info strong{display:block;color:var(--text-primary);margin-bottom:4px}.reset-tutorial-button{padding:8px 16px;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.reset-tutorial-button:hover{background-color:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.keyboard-hint{display:flex;align-items:center;gap:4px}.keyboard-hint kbd{display:inline-block;padding:2px 6px;font-family:inherit;font-size:.8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;box-shadow:0 1px #0003}.story-options-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:250}.story-options-panel{position:fixed;top:0;right:0;bottom:0;width:340px;max-width:92vw;background-color:var(--bg-secondary);border-left:2px solid var(--border-color);z-index:251;display:flex;flex-direction:column;box-shadow:-8px 0 32px #0006;animation:sop-slide-in .2s ease}@keyframes sop-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.story-options-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:2px solid var(--border-color);background-color:var(--bg-tertiary);flex-shrink:0}.story-options-header h2{font-size:1.25rem;color:var(--text-primary);margin:0}.story-options-close{background:none;border:none;color:var(--text-secondary);font-size:1.8rem;line-height:1;padding:0;width:30px;height:30px;cursor:pointer;transition:color .15s ease}.story-options-close:hover{color:var(--text-primary)}.story-options-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:4px}.sop-section{padding:16px 0;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.sop-section:last-child{border-bottom:none}.sop-section h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0}.sop-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-primary);font-size:.95rem}.sop-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-blue);flex-shrink:0}.sop-select-label,.sop-input-label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:.875rem}.sop-select-label>span:first-child,.sop-input-label>span:first-child{font-weight:600;color:var(--text-primary);font-size:.925rem}.sop-select-label select,.sop-input-label input[type=text]{padding:9px 12px;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;transition:border-color .2s ease}.sop-select-label select:focus,.sop-input-label input[type=text]:focus{outline:none;border-color:var(--accent-blue)}.sop-hint{font-size:.775rem;color:var(--text-secondary);font-style:italic;line-height:1.4}.sop-badge-experimental{display:inline-block;font-size:.6rem;padding:2px 5px;background-color:var(--accent-purple, #9c27b0);color:#fff;border-radius:4px;margin-left:6px;vertical-align:middle;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.sop-feature-list{margin:0;padding-left:18px;font-size:.825rem;color:var(--text-primary);display:flex;flex-direction:column;gap:4px}.sop-feature-list li::marker{color:var(--accent-green, #4caf50)}.story-options-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:2px solid var(--border-color);background-color:var(--bg-tertiary);flex-shrink:0}.sop-cancel-button{padding:9px 20px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.sop-cancel-button:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.sop-save-button{padding:9px 22px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.sop-save-button:hover:not(:disabled){background-color:var(--accent-green, #4caf50)}.sop-cancel-button:disabled,.sop-save-button:disabled{opacity:.5;cursor:not-allowed}.multi-agent-activity{background:#17171d;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;max-width:100%;min-width:0;text-align:left}.multi-agent-activity.minimized{cursor:pointer;transition:border-color .2s ease}.multi-agent-activity.minimized:hover{border-color:#ffffff29}.wr-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);min-width:0}.wr-header-left{display:flex;align-items:center;gap:10px;min-width:0}.wr-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.wr-title{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wr-live{display:inline-flex;align-items:center;gap:5px;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;flex-shrink:0}.wr-live-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.wr-live.connected{color:#4ade80}.wr-live.connected .wr-live-dot{animation:wr-pulse 2s ease-in-out infinite}.wr-live.disconnected{color:#ffffff4d}.wr-progress-text{font-size:.7rem;font-variant-numeric:tabular-nums;color:#ffffff73;white-space:nowrap}.wr-minimize-btn{background:none;border:none;color:#fff6;cursor:pointer;padding:2px 6px;font-size:.85rem;line-height:1;transition:color .2s ease}.wr-minimize-btn:hover{color:#ffffffd9}.wr-header-mini{display:flex;align-items:center;gap:10px;padding:9px 14px;min-width:0}.wr-title-mini{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wr-progress-mini{flex:1;min-width:40px;height:3px;background:#ffffff14;border-radius:999px;overflow:hidden}.wr-progress-bar{height:100%;background:#a5b4fc;border-radius:999px;transition:width .3s ease}.wr-status-mini{font-size:.7rem;font-variant-numeric:tabular-nums;color:#ffffff73;white-space:nowrap}.wr-content{padding:8px 10px;min-width:0}.wr-waiting{display:flex;align-items:center;gap:8px;padding:8px 6px;color:#fff6}.wr-waiting p{margin:0;font-size:.8rem}.wr-dot{width:7px;height:7px;border-radius:50%;background:#fff3;flex-shrink:0}.wr-dot.running{background:#a5b4fc;animation:wr-pulse 1.2s ease-in-out infinite}.wr-dot.complete{background:#4ade80}.wr-dot.error{background:#f87171}@keyframes wr-pulse{0%,to{opacity:1}50%{opacity:.35}}.wr-pipeline-nodes{display:flex;flex-direction:column;gap:2px;min-width:0}.wr-node-row{padding:5px 6px;border-radius:8px;min-width:0;transition:background .15s ease}.wr-node-row.complete{cursor:pointer}.wr-node-row.complete:hover{background:#ffffff08}.wr-node-line{display:flex;align-items:center;gap:8px;min-width:0}.wr-node-name{font-size:.8rem;font-weight:500;color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.wr-node-progress{position:relative;flex:1;min-width:30px;height:2px;background:#ffffff14;border-radius:999px;overflow:hidden}.wr-node-progress-fill{position:absolute;top:0;left:0;height:100%;background:#a5b4fc;border-radius:999px;transition:width .3s ease}.wr-node-meta{margin-left:auto;font-size:.68rem;font-variant-numeric:tabular-nums;color:#fff6;white-space:nowrap;flex-shrink:0}.wr-node-meta+.wr-node-meta{margin-left:0}.wr-node-model{max-width:40%;overflow:hidden;text-overflow:ellipsis;color:#ffffff4d}.wr-agent-preview{margin:6px 4px 4px 19px;padding:8px 10px;background:#00000040;border-radius:8px;max-height:160px;overflow-y:auto;overflow-x:hidden}.wr-agent-preview .wr-formatted-content,.wr-synthesis-preview .wr-formatted-content,.wr-component-preview .wr-formatted-content{margin:0;font-size:.8rem;color:#ffffff8c;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;line-height:1.55;font-style:italic}.wr-ensemble-node{border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden;min-width:0}.wr-ensemble-node.running{border-color:#a5b4fc40}.wr-ensemble-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;min-width:0}.wr-ensemble-header:hover{background:#ffffff08}.wr-ensemble-header-left{display:flex;align-items:center;gap:8px;min-width:0}.wr-ensemble-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.wr-ensemble-progress{font-size:.7rem;font-variant-numeric:tabular-nums;color:#ffffff73}.wr-toggle-btn{background:none;border:none;color:#ffffff59;font-size:.7rem;cursor:pointer;padding:2px}.wr-ensemble-content{padding:4px 8px 8px}.wr-ensemble-components{display:flex;flex-direction:column;gap:1px}.wr-ensemble-footer{padding:5px 10px;border-top:1px solid rgba(255,255,255,.05);font-size:.68rem;font-variant-numeric:tabular-nums;color:#ffffff59;text-align:right}.wr-component-row{padding:4px 2px;min-width:0}.wr-component-preview{margin:4px 0 2px 15px;padding:6px 8px;background:#00000040;border-radius:6px;max-height:72px;overflow-y:auto;overflow-x:hidden}.wr-synthesis{margin-top:6px;border-top:1px solid rgba(255,255,255,.05);padding-top:6px}.wr-synthesis-header{display:flex;align-items:center;gap:8px;min-width:0}.wr-synthesis-title{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.wr-synthesis-status{margin-left:auto;font-size:.7rem;font-variant-numeric:tabular-nums;color:#ffffff73;display:flex;align-items:center;gap:6px}.wr-synthesis-preview{margin-top:6px;padding:8px 10px;background:#00000040;border-radius:8px;max-height:200px;overflow-y:auto;overflow-x:hidden}.wr-agent-preview::-webkit-scrollbar,.wr-synthesis-preview::-webkit-scrollbar,.wr-component-preview::-webkit-scrollbar,.wr-content::-webkit-scrollbar{width:4px}.wr-agent-preview::-webkit-scrollbar-thumb,.wr-synthesis-preview::-webkit-scrollbar-thumb,.wr-component-preview::-webkit-scrollbar-thumb,.wr-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.wr-fallback-stage{text-align:center;padding:12px 6px}.wr-fallback-stage p{margin:0 0 12px;font-size:.85rem;color:#ffffff80;font-style:italic}.wr-progress-bar-container{display:flex;align-items:center;gap:10px;max-width:320px;margin:0 auto}.wr-progress-bar-track{flex:1;height:4px;background:#ffffff14;border-radius:999px;overflow:hidden}.wr-progress-bar-fill{height:100%;background:#a5b4fc;border-radius:999px;transition:width .3s ease}.wr-progress-percent{font-size:.7rem;font-variant-numeric:tabular-nums;color:#ffffff73;min-width:32px;text-align:right}.story-viewer>.multi-agent-activity{position:fixed;right:20px;bottom:20px;z-index:150;animation:slideInFromRight .3s ease-out;width:420px;max-width:90vw;max-height:calc(100vh - 100px);overflow-y:auto;box-shadow:0 12px 40px #00000080}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.loading-experience{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:400px;padding:3rem 1.5rem;position:relative;background:#09090b}.loading-experience.minimal{flex-direction:row;gap:1rem;min-height:auto;padding:1rem;background:transparent}.loading-stage{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:480px}.loading-title{font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:400;line-height:1.25;color:#fafafa;margin:0 0 .5rem;letter-spacing:.01em}.loading-subtitle{font-size:.95rem;color:#ffffff80;margin:0 0 1rem;line-height:1.5}.loading-phase{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#a5b4fc;margin:0 0 1.25rem}.loading-statement{font-size:.9rem;color:#ffffff80;margin:1rem 0 0;min-height:1.5em;transition:opacity .3s ease;max-width:400px}.loading-statement.fade-out{opacity:0}.loading-statement.fade-in{opacity:1}.loading-progress-container{width:100%;max-width:320px}.loading-progress-bar{position:relative;height:4px;background:#ffffff14;border-radius:999px;overflow:hidden}.loading-progress-fill{position:absolute;top:0;left:0;height:100%;background:#a5b4fc;border-radius:999px;transition:width .3s ease-out}.loading-progress-bar.indeterminate .loading-progress-fill{width:30%;animation:indeterminateSlide 1.4s ease-in-out infinite}@keyframes indeterminateSlide{0%{left:-30%}to{left:100%}}.loading-progress-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.18) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-progress-info{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.72rem;min-height:1em}.progress-time{color:#ffffff80;font-weight:500}.progress-estimate{color:#ffffff4d}.loading-activity-admin{width:100%;max-width:100%;min-width:0;margin-top:2rem;text-align:left}.loading-dots{display:flex;gap:4px}.loading-dots span{width:6px;height:6px;background:#a5b4fc;border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}@media (max-width: 480px){.loading-experience{padding:2rem 1.25rem;min-height:300px}.loading-title{font-size:1.4rem}.loading-statement{font-size:.85rem}.loading-progress-container{max-width:260px}}.mobile-panel-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#19191efa;border-top:1px solid rgba(100,100,120,.3);padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);--nav-h: calc(56px + max(8px, env(safe-area-inset-bottom))) }@media (max-width: 768px){.mobile-panel-nav{display:flex;justify-content:space-around;align-items:center}}.panel-nav-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;background:transparent;border:none;color:#888;cursor:pointer;transition:all .2s ease;border-radius:8px;min-width:64px}.panel-nav-btn:active{transform:scale(.95)}.panel-nav-btn.active{color:#a78bfa;background:#8b5cf626}.panel-nav-btn.disabled{opacity:.4;cursor:not-allowed}.panel-nav-icon{font-size:1.4rem;line-height:1}.panel-nav-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.mobile-panel-wrapper{display:none}@media (max-width: 768px){.mobile-panel-wrapper{display:block;position:fixed;top:0;left:0;right:0;bottom:calc(56px + max(8px,env(safe-area-inset-bottom)));background:var(--bg-primary, #1a1a1a);z-index:150;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:slideUp .2s ease-out}.mobile-panel-wrapper.panel-flow,.mobile-panel-wrapper.panel-debug,.mobile-panel-wrapper.panel-characters{padding-bottom:env(safe-area-inset-bottom)}.mobile-panel-wrapper>*{max-height:none;overflow:visible}}.mobile-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#1e1e28f2;border-bottom:1px solid rgba(100,100,120,.2);position:sticky;top:0;z-index:10}.mobile-panel-header h2{margin:0;font-size:1.1rem;font-weight:600;color:#e0e0e0;display:flex;align-items:center;gap:8px}.mobile-panel-close{background:#64647833;border:none;color:#aaa;width:36px;height:36px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .2s}.mobile-panel-close:hover{background:#64647866;color:#fff}@media (max-width: 768px){.story-viewer:not(.loading-session) .story-main{padding-bottom:80px}.mobile-panel-wrapper .debug-panel{position:static;width:100%;height:auto;min-height:calc(100vh - 120px);border:none;box-shadow:none}.mobile-panel-wrapper .debug-panel .debug-header{display:none}.mobile-panel-wrapper .character-sidebar{display:block!important;position:static;width:100%;height:auto;min-height:calc(100vh - 120px);border:none;box-shadow:none;padding:16px}.mobile-panel-wrapper .observability-timeline{height:auto;min-height:calc(100vh - 120px)}}.current-phase-indicator{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 16px;background:#1e1e2df2;border:1px solid rgba(139,92,246,.4);border-radius:24px;color:#e0e0e0;font-size:.85rem;cursor:pointer;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0006;transition:all .2s ease;animation:slideUp .3s ease-out}.current-phase-indicator:hover{background:#28283cf2;border-color:#8b5cf699;transform:translate(-50%) translateY(-2px)}.current-phase-indicator:active{transform:translate(-50%) scale(.98)}.phase-spinner{width:14px;height:14px;border:2px solid rgba(139,92,246,.3);border-top-color:#a78bfa;border-radius:50%;animation:spin .8s linear infinite}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.phase-text{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-progress{padding:2px 8px;background:#8b5cf633;border-radius:12px;font-size:.75rem;color:#a78bfa}.phase-expand{opacity:.6;font-size:.9rem}@media (min-width: 769px){.current-phase-indicator{bottom:20px;left:auto;right:280px;transform:none}.current-phase-indicator:hover{transform:translateY(-2px)}.current-phase-indicator:active{transform:scale(.98)}}.first-time-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}.first-time-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;position:relative;animation:slideUp .4s ease-out;color:#e0e0e0}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.skip-button{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:.5rem 1rem;font-size:.9rem;transition:color .2s}.skip-button:hover{color:#ffffffe6}.step-icon{font-size:4rem;text-align:center;margin-bottom:1.5rem;animation:bounceIn .6s ease-out}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.first-time-modal h2{text-align:center;margin-bottom:1.5rem;font-size:1.8rem;color:#fff;font-weight:600}.step-content{margin-bottom:2rem;line-height:1.7;font-size:1.1rem;text-align:center}.step-content p{margin:0}.advocate-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin:.5rem 0;background:#ffffff0d;border-radius:8px;text-align:left;transition:background .2s}.advocate-item:hover{background:#ffffff14}.advocate-icon{font-size:1.8rem;flex-shrink:0}.advocate-item strong{color:#4fc3f7;font-weight:600}.step-indicators{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem}.step-dot{width:10px;height:10px;border-radius:50%;background:#fff3;transition:all .3s}.step-dot.active{background:#4fc3f7;width:30px;border-radius:5px}.step-dot.completed{background:#4fc3f780}.tutorial-actions{display:flex;justify-content:center;gap:1rem}.primary-button,.secondary-button{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.secondary-button{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.secondary-button:hover{background:#ffffff26}.skip-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible{outline:2px solid #4fc3f7;outline-offset:2px}.step-dot:focus-visible{outline:2px solid #4fc3f7;outline-offset:2px;transform:scale(1.2)}.choice-types-tutorial{text-align:left}.choice-intro{text-align:center;margin-bottom:1rem}.choice-type-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;margin:.4rem 0;background:#ffffff0d;border-radius:8px;border-left:4px solid;transition:background .2s}.choice-type-item:hover{background:#ffffff14}.choice-type-item.dialogue{border-left-color:#6c91ff}.choice-type-item.action{border-left-color:#ff6b6b}.choice-type-item.observation{border-left-color:#ffd93d}.choice-type-item.internal{border-left-color:#a78bfa}.choice-type-icon{font-size:1.5rem;flex-shrink:0}.choice-type-info{display:flex;flex-direction:column;gap:.15rem}.choice-type-info strong{color:#fff;font-weight:600}.choice-type-desc{font-size:.85rem;opacity:.8}.write-in-example{margin:1rem 0;padding:.75rem 1rem;background:#ffffff0d;border-radius:8px;border:1px dashed rgba(255,255,255,.2)}.example-label{display:block;font-size:.8rem;color:#fff9;margin-bottom:.25rem}.example-text{font-style:italic;color:#4fc3f7}.feature-list{text-align:left;padding-left:1.5rem;margin:1rem 0}.feature-list li{margin:.5rem 0;line-height:1.4}kbd{display:inline-block;padding:.2rem .5rem;font-family:inherit;font-size:.9em;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;box-shadow:0 2px #0003}.step-dot{cursor:pointer}.step-dot:hover{transform:scale(1.2)}@media (max-width: 768px){.first-time-modal{padding:2rem 1.5rem;max-width:95%}.first-time-modal h2{font-size:1.5rem}.step-content{font-size:1rem}.step-icon{font-size:3rem}.choice-type-item{padding:.5rem .6rem}.choice-type-icon{font-size:1.3rem}.choice-type-desc{font-size:.8rem}}.help-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:400;animation:fadeIn .2s ease-out}.help-modal{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;width:90%;max-width:620px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--shadow);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.help-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:2px solid var(--border-color);background-color:var(--bg-tertiary);border-radius:10px 10px 0 0}.help-header h2{font-size:1.25rem;color:var(--text-primary);margin:0}.help-modal .close-button{background:none;border:none;color:var(--text-secondary);font-size:1.75rem;line-height:1;padding:0;width:28px;height:28px;cursor:pointer;transition:color .2s ease}.help-modal .close-button:hover{color:var(--text-primary)}.help-tabs{display:flex;border-bottom:1px solid var(--border-color);background-color:var(--bg-tertiary)}.help-tab{flex:1;padding:12px 10px;background:none;border:none;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.help-tab:hover{color:var(--text-primary);background-color:#ffffff0d}.help-tab.active{color:var(--accent-blue)}.help-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:var(--accent-blue)}.help-content{flex:1;overflow-y:auto;padding:20px}.help-section h3{font-size:1.1rem;color:var(--text-primary);margin:0 0 12px}.help-section h4{font-size:.95rem;color:var(--text-primary);margin:20px 0 12px}.help-intro{color:var(--text-secondary);margin-bottom:16px;font-size:.95rem}.choice-reference{display:flex;flex-direction:column;gap:10px}.choice-ref-item{padding:12px;background-color:var(--bg-tertiary);border-radius:8px;border-left:4px solid}.choice-ref-item.dialogue{border-left-color:#6c91ff}.choice-ref-item.action{border-left-color:#ff6b6b}.choice-ref-item.observation{border-left-color:#ffd93d}.choice-ref-item.internal{border-left-color:#a78bfa}.choice-ref-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.choice-ref-icon{font-size:1.2rem}.choice-ref-header strong{color:var(--text-primary)}.choice-ref-color{font-size:.8rem;color:var(--text-secondary);margin-left:auto}.choice-ref-item p{margin:0;font-size:.85rem;color:var(--text-secondary)}.shortcuts-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.shortcut-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background-color:var(--bg-tertiary);border-radius:6px}.shortcut-item kbd{display:inline-block;padding:4px 10px;font-family:inherit;font-size:.85rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;box-shadow:0 2px #0003;min-width:60px;text-align:center;color:var(--text-primary)}.shortcut-item span{color:var(--text-secondary);font-size:.9rem}.advocates-reference{display:flex;flex-direction:column;gap:10px}.advocate-ref-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background-color:var(--bg-tertiary);border-radius:8px}.advocate-ref-icon{font-size:1.5rem;flex-shrink:0}.advocate-ref-info strong{display:block;color:var(--text-primary);margin-bottom:2px}.advocate-ref-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.help-tip{margin-top:16px;padding:12px;background-color:#4fc3f71a;border:1px solid rgba(79,195,247,.3);border-radius:6px;font-size:.9rem;color:var(--text-primary)}.help-tip strong{color:#4fc3f7}.more-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.option-button{display:flex;align-items:center;gap:12px;padding:14px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;text-decoration:none;color:inherit;transition:all .2s ease}.option-button:hover{background-color:var(--border-color);border-color:var(--accent-blue)}.option-icon{font-size:1.5rem;flex-shrink:0}.option-info{text-align:left}.option-info strong{display:block;color:var(--text-primary);margin-bottom:2px}.option-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.quick-tips{padding-left:20px;margin:0}.quick-tips li{margin-bottom:8px;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.quick-tips strong{color:var(--text-primary)}.help-modal .close-button:focus-visible,.help-tab:focus-visible,.option-button:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}@media (max-width: 768px){.help-modal{max-width:95%;max-height:85vh}.help-header{padding:14px 16px}.help-header h2{font-size:1.1rem}.help-tab{padding:10px 6px;font-size:.75rem}.help-content{padding:16px}.choice-ref-item,.advocate-ref-item{padding:10px}.shortcut-item kbd{min-width:50px;padding:3px 8px;font-size:.8rem}}.rp-inline-container{margin-top:0;border:1px solid rgba(255,255,255,.08);border-top:none;border-radius:0 0 16px 16px;background:#09090b;display:flex;flex-direction:column}.rp-fluent-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:#09090b;border-bottom:1px solid rgba(255,255,255,.08);min-height:32px}.rp-fluent-left{display:flex;align-items:center;gap:8px}.rp-scene-context{padding:8px 12px;background:#161b22;border-bottom:1px solid #21262d;font-size:12px}.rp-scene-location{display:block;color:#6e7681;font-style:italic;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.rp-scene-npcs{display:flex;flex-wrap:wrap;gap:6px}.rp-scene-npc{display:flex;flex-direction:column;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:4px 8px;min-width:80px;max-width:140px}.rp-scene-npc-name{color:#cdd9e5;font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-scene-npc-detail{color:#6e7681;font-size:11px;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.rp-pacing-bar{display:flex;align-items:center;gap:8px;padding:3px 12px;background:#17171d;border-bottom:1px solid rgba(255,255,255,.08);font-size:11px;color:#ffffff80}.rp-pacing-bar.rp-pacing-warm{color:#d29922}.rp-pacing-bar.rp-pacing-hot{color:#f85149}.rp-pacing-label{white-space:nowrap;font-weight:500}.rp-pacing-meter{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden;max-width:120px}.rp-pacing-fill{height:100%;border-radius:2px;transition:width .3s ease}.rp-pacing-warm .rp-pacing-fill{background:#d29922}.rp-pacing-hot .rp-pacing-fill{background:#f85149}.rp-pacing-value{font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.rp-messages{padding:16px 24px 80px;max-width:720px;margin:0 auto;width:100%;box-sizing:border-box}@keyframes rp-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.rp-prose-entry{font-size:.95rem;line-height:1.6;color:#e8e6e1;margin:0 0 14px;animation:rp-fade-in .2s ease;position:relative}.rp-prose-speaker{display:block;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#ffffff73;margin-bottom:4px}.rp-prose-npc{background:linear-gradient(180deg,#17171d,#1d1d26);border:1px solid rgba(255,255,255,.08);border-radius:16px 16px 16px 6px;padding:10px 16px 12px;width:fit-content;max-width:85%;margin-right:auto}.rp-prose-player{background:#818cf81f;border:1px solid rgba(129,140,248,.25);border-radius:16px 16px 6px;padding:10px 16px 12px;width:fit-content;max-width:85%;margin-left:auto;color:#e8e6e1}.rp-comic-opening{margin:0 0 16px;border-radius:8px;overflow:hidden}.rp-comic-image{width:100%;max-width:480px;height:auto;display:block;border-radius:8px;box-shadow:0 2px 12px #0006}.rp-prose-narrator{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.7;color:#e8e6e1;margin:8px 0 20px;white-space:pre-line}.rp-prose-narrator .rp-prose-speaker{font-family:system-ui,-apple-system,sans-serif;color:#ffffff73;font-style:normal;font-weight:600;margin-bottom:6px}.rp-prose-dimmed{opacity:.5;transition:opacity .2s ease}.rp-prose-dimmed:hover{opacity:.8}.rp-action-beat{font-style:italic;color:#b9b3c9}.rp-panel-worthy .rp-prose-entry,.rp-prose-entry.rp-panel-worthy{border-left:2px solid rgba(165,180,252,.35)}.rp-streaming{color:#e8e6e1}.rp-cursor{animation:rp-blink .8s infinite;color:#a5b4fc}@keyframes rp-blink{0%,50%{opacity:1}51%,to{opacity:0}}.rp-typing-indicator{display:flex;gap:4px;padding:6px 12px;align-self:flex-start}.rp-typing-indicator span{width:5px;height:5px;border-radius:50%;background:#fff6;animation:rp-bounce 1.4s infinite}.rp-typing-indicator span:nth-child(2){animation-delay:.2s}.rp-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes rp-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.rp-panel-icon{margin-left:6px;font-size:.7rem;opacity:.55;vertical-align:middle}.rp-error{color:#f85149;font-size:.8rem;padding:6px 10px;background:#f8514922;border-radius:6px;border:1px solid #f8514944}.rp-input-container{padding:8px 12px 10px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:#09090b;border-top:1px solid rgba(255,255,255,.08);position:sticky;bottom:0;z-index:10;max-width:720px;margin:0 auto;width:100%;box-sizing:border-box}.rp-phase-label{font-size:.72rem;color:#a5b4fc;font-style:italic;margin-bottom:4px;padding:0 6px}.rp-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.rp-suggestion-pill{padding:4px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#fff9;cursor:pointer;font-size:.78rem;transition:all .15s ease;white-space:nowrap}.rp-suggestion-pill:hover{background:#ffffff1a;color:#e8e6e1;border-color:#ffffff40;transform:translateY(-1px)}.rp-suggestion-pill.selected{background:#818cf81f;border-color:#818cf866;color:#a5b4fc}.rp-suggestion-pill:disabled{opacity:.5;cursor:not-allowed}.rp-input-row{display:flex;gap:6px;align-items:center;background:#17171d;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 8px 6px 18px;transition:border-color .15s ease}.rp-input-row:focus-within{border-color:#ffffff40}.rp-text-input{flex:1;min-width:0;padding:6px 0;background:transparent;border:none;color:#e8e6e1;font-size:.92rem;outline:none}.rp-text-input:disabled{opacity:.5}.rp-text-input::placeholder{color:#ffffff59}.rp-identity-btn{flex-shrink:0;max-width:90px;padding:4px 8px;background:transparent;border:none;border-radius:999px;color:#ffffff80;font-size:.75rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease,background .15s ease}.rp-identity-btn:hover{color:#fff;background:#ffffff14}.rp-send-button{width:34px;height:34px;padding:0;background:#a5b4fc;border:none;border-radius:999px;color:#09090b;cursor:pointer;transition:background .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rp-send-button:hover:not(:disabled){background:#c7d2fe}.rp-send-button:disabled{opacity:.3;cursor:not-allowed}.rp-exit-button{height:30px;padding:0 8px;background:transparent;border:none;border-radius:999px;color:#ffffff80;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;font-size:.75rem}.rp-exit-button:hover{background:#ffffff14;color:#fff}.rp-exit-label{font-size:.75rem;white-space:nowrap}.rp-indirect-toggle{width:30px;height:30px;padding:0;background:transparent;border:1px solid transparent;border-radius:999px;cursor:pointer;font-size:1rem;opacity:.45;transition:opacity .15s,border-color .15s,background .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rp-indirect-toggle:hover{opacity:.8;background:#ffffff14}.rp-indirect-toggle.active{opacity:1;border-color:#818cf866;background:#818cf81f}.rp-interpretation-note{color:#ffffff80;font-size:.78em;font-style:italic;margin:0 0 4px;padding:0 6px}.rp-strip-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:4px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.rp-strip-ghost-btn{border-color:transparent;color:#ffffff59;font-weight:500}.rp-generate-strip-btn{padding:4px 12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#ffffff80;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s ease;letter-spacing:.02em}.rp-generate-strip-btn:hover:not(:disabled){background:#ffffff1a;color:#fff;border-color:#ffffff40;transform:translateY(-1px)}.rp-generate-strip-btn.rp-generating,.rp-generate-strip-btn:disabled{opacity:.5;cursor:default}.rp-panel-covered-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a5b4fc80;margin-left:6px;vertical-align:middle;flex-shrink:0}.rp-mobile-tab-bar,.rp-mobile-comic-view{display:none}.rp-comic-loading{padding:24px;text-align:center;color:#6e7681;font-size:.85rem}.rp-prose-hover-zone{display:block}.rp-exchange-actions{display:flex;width:fit-content;margin:2px 0 6px auto;gap:2px;background:#17171d;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:2px;animation:rp-fade-in .15s ease}.rp-action-btn{width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:999px;color:#ffffff80;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.rp-action-btn:hover{background:#ffffff1a;color:#fff}.rp-branch-picker{display:flex;align-items:center;gap:4px;padding:2px 6px;background:#818cf814;border:1px solid rgba(129,140,248,.2);border-radius:999px}.rp-branch-arrow{width:18px;height:18px;padding:0;background:transparent;border:none;color:#a5b4fc;cursor:pointer;font-size:.55rem;display:flex;align-items:center;justify-content:center;border-radius:999px;transition:all .12s ease}.rp-branch-arrow:hover:not(:disabled){background:#818cf826}.rp-branch-arrow:disabled{color:#ffffff40;cursor:not-allowed}.rp-branch-label{font-size:.68rem;color:#a5b4fc;font-weight:600;min-width:28px;text-align:center}.rp-fork-divider{display:flex;align-items:center;gap:8px;margin:6px 0;padding:0 12px}.rp-fork-line{flex:1;height:1px;background:#a5b4fc33}.rp-fork-label{font-size:.65rem;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;opacity:.7}.rp-parent-exchange{opacity:.55;transition:opacity .2s ease}.rp-parent-exchange:hover{opacity:.8}.rp-branch-input-row{display:flex;gap:6px;align-self:flex-end;max-width:85%;padding:4px 0;animation:rp-fade-in .2s ease}.rp-branch-text-input{flex:1;padding:6px 12px;background:#17171d;border:1px solid rgba(129,140,248,.25);border-radius:999px;color:#e8e6e1;font-size:.82rem;outline:none;min-width:180px}.rp-branch-text-input:focus{border-color:#818cf880}.rp-branch-submit-btn{padding:5px 12px;background:#818cf81f;border:1px solid rgba(129,140,248,.25);border-radius:999px;color:#a5b4fc;cursor:pointer;font-size:.75rem;font-weight:600;white-space:nowrap;transition:all .15s ease}.rp-branch-submit-btn:hover:not(:disabled){background:#818cf838;border-color:#818cf880}.rp-branch-submit-btn:disabled{opacity:.4;cursor:not-allowed}.rp-branch-cancel-btn{padding:5px 10px;background:transparent;border:none;border-radius:999px;color:#ffffff80;cursor:pointer;font-size:.75rem;transition:all .15s ease}.rp-branch-cancel-btn:hover:not(:disabled){background:#ffffff14;color:#fff}@media (max-width: 768px){.rp-inline-container{position:fixed;top:0;left:0;right:0;bottom:60px;z-index:201;border:none;border-radius:0;max-height:calc(100dvh - 60px)}.rp-messages{flex:1;min-height:0;overflow-y:auto;padding:12px 16px 8px}.rp-hidden-on-mobile{display:none}.rp-prose-entry{font-size:1rem;line-height:1.5}.rp-input-container{padding:6px 8px 10px;padding-bottom:max(10px,env(safe-area-inset-bottom));flex-shrink:0}.rp-fluent-bar{padding:4px 8px;padding-top:max(4px,env(safe-area-inset-top));flex-shrink:0}.rp-branch-input-row{max-width:95%;flex-wrap:wrap}.rp-branch-text-input{min-width:140px}.rp-mobile-tab-bar{display:flex;gap:6px;padding:6px 10px;padding-top:max(6px,env(safe-area-inset-top));background:#09090b;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.rp-mobile-tab-btn{flex:1;padding:6px 0;background:transparent;border:none;border-radius:999px;color:#ffffff80;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s ease}.rp-mobile-tab-btn.rp-mobile-tab-active{background:#ffffff1a;color:#fff}.rp-mobile-comic-view{display:flex;flex:1;min-height:0;overflow-y:auto}.rp-mobile-comic-view>*{flex:1;min-height:0}}.rp-narrative-opening-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#09090b;display:flex;align-items:flex-start;justify-content:center;padding:48px 24px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch}.rp-narrative-opening-content{max-width:700px;width:100%;text-align:center;padding-bottom:80px}.rp-narrative-opening-text{color:#e8e6e1;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.7;white-space:pre-line;text-align:left;margin-bottom:24px}.rp-narrative-opening-comic{width:100%;max-width:480px;border-radius:8px;margin-bottom:24px;box-shadow:0 4px 20px #00000080}.rp-begin-roleplay-btn{background:#a5b4fc;color:#09090b;border:none;padding:14px 36px;border-radius:999px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}.rp-begin-roleplay-btn:hover{background:#c7d2fe;transform:translateY(-1px);box-shadow:0 4px 16px #818cf840}.rp-narrative-opening-overlay{overflow-y:auto;-webkit-overflow-scrolling:touch}.rp-narrative-opening-content{padding-bottom:80px}.rp-narrative-opening-text{word-wrap:break-word;overflow-wrap:break-word;max-height:none}.rp-begin-roleplay-btn{position:sticky;bottom:16px;margin-top:16px}.rp-generated-comics{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.rp-generated-comic-img{width:100%;max-width:480px;border-radius:8px;box-shadow:0 4px 20px #00000080;display:block;margin:0 auto}.rp-narrative-back-btn{position:absolute;top:12px;left:16px;background:transparent;border:none;color:var(--text-secondary, #b0b0b0);font-size:.9rem;cursor:pointer;padding:8px;z-index:10}.rp-narrative-back-btn:hover{color:var(--text-primary, #e0e0e0)}.rp-comic-container{position:relative}.rp-comic-actions{display:flex;justify-content:center;gap:16px;padding:6px 0;opacity:.4;transition:opacity .2s}.rp-comic-container:hover .rp-comic-actions,.rp-comic-actions:focus-within{opacity:.8}.rp-comic-action-btn{background:none;border:none;color:var(--text-secondary, #b0b0b0);font-size:1.1rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s,background .15s}.rp-comic-action-btn:hover:not(:disabled){color:var(--text-primary, #e0e0e0);background:#ffffff14}.rp-comic-action-btn:disabled{opacity:.3;cursor:default}.rp-comic-img-wrapper{position:relative;display:inline-block;width:100%}.rp-comic-dimmed{opacity:.5;transition:opacity .3s}.rp-comic-regen-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-primary, #e0e0e0);font-size:.85rem;pointer-events:none}.rp-comic-regen-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--text-primary, #e0e0e0);border-radius:50%;animation:rp-spin .8s linear infinite}@keyframes rp-spin{to{transform:rotate(360deg)}}.rp-comic-version-dots{display:flex;justify-content:center;gap:8px;padding:6px 0 2px}.rp-version-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--text-secondary, #b0b0b0);background:transparent;padding:0;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.rp-version-dot:hover{border-color:var(--text-primary, #e0e0e0);transform:scale(1.3)}.rp-version-dot-active{background:var(--text-primary, #e0e0e0);border-color:var(--text-primary, #e0e0e0)}.longstrip-strip{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:8px;background:#1a1a2e;border-radius:8px;max-height:100%}.longstrip-empty{display:flex;align-items:center;justify-content:center;min-height:200px}.longstrip-empty-message{color:#888;font-style:italic;text-align:center;padding:24px}.longstrip-strip-block{position:relative;border-radius:4px;overflow:hidden;background:#0f0f1a}.longstrip-strip-image{width:100%;display:block;border-radius:4px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.longstrip-strip-image:hover{transform:scale(1.005);box-shadow:0 4px 16px #0006}.longstrip-strip-captions{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;background:#0006}.longstrip-strip-caption-item{font-size:.75rem;color:#ccc;cursor:pointer;padding:2px 6px;border-radius:3px;transition:background .15s ease}.longstrip-strip-caption-item:hover{background:#ffffff1a}.longstrip-panel-badge-inline{font-size:.6rem;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-left:6px}.longstrip-panel{position:relative;border-radius:4px;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;background:#0f0f1a}.longstrip-panel:hover{transform:scale(1.01);box-shadow:0 4px 16px #0006}.longstrip-panel-image{width:100%;display:block;border-radius:4px}.longstrip-panel-placeholder{width:100%;aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:center;background:#1e1e3a;border:1px dashed #444;border-radius:4px}.longstrip-placeholder-text{color:#777;font-size:.85rem}.longstrip-panel-error{border-color:#a33;background:#2a1515}.longstrip-panel-error .longstrip-placeholder-text{color:#c66}.longstrip-panel--dimmed{opacity:.35;filter:grayscale(.6);position:relative}.longstrip-panel--dimmed:after{content:"EXCLUDED";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0009;color:#aaa;padding:4px 12px;border-radius:4px;font-size:.7rem;letter-spacing:1px;pointer-events:none}.longstrip-shimmer{background:linear-gradient(110deg,#1e1e3a 30%,#2a2a4a,#1e1e3a 70%);background-size:300% 100%;animation:longstrip-shimmer 1.5s ease-in-out infinite}@keyframes longstrip-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.longstrip-panel-caption{position:absolute;bottom:0;left:0;right:0;padding:6px 10px;background:linear-gradient(transparent,#000000b3);color:#eee;font-size:.8rem}.longstrip-caption-speaker{font-weight:600}.longstrip-caption-emote{font-style:italic;color:#bbb}.longstrip-panel-badge{position:absolute;top:6px;right:6px;padding:2px 6px;background:#0009;color:#aaa;font-size:.65rem;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;opacity:0;transition:opacity .15s ease}.longstrip-panel:hover .longstrip-panel-badge{opacity:1}.longstrip-manager{display:flex;flex-direction:column;height:100%;background:#16162a;border-radius:8px;overflow:hidden}.longstrip-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #2a2a4a;background:#1a1a35}.longstrip-title{margin:0;font-size:.95rem;color:#ddd;font-weight:600}.longstrip-count{font-size:.75rem;color:#888;flex:1}.longstrip-excluded-count{color:#666}.longstrip-header-actions{display:flex;gap:6px;align-items:center}.longstrip-toggle-excluded{background:none;border:1px solid #3a3a5a;color:#888;font-size:.7rem;padding:3px 8px;border-radius:4px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.longstrip-toggle-excluded:hover{color:#bbb;border-color:#555}.longstrip-btn-generate{background:#1a1a2a;border:1px solid #3a3a5a;color:#88c;font-size:.7rem;padding:3px 8px;border-radius:4px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.longstrip-btn-generate:hover:not(:disabled){color:#aaf;border-color:#5a5a8a;background:#25253a}.longstrip-btn-generate:disabled{opacity:.5;cursor:not-allowed}.longstrip-btn-flush{background:#1a2a1a;border:1px solid #3a5a3a;color:#8c8;font-size:.7rem;padding:3px 8px;border-radius:4px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.longstrip-btn-flush:hover:not(:disabled){color:#afa;border-color:#5a8a5a;background:#253a25}.longstrip-btn-flush:disabled{opacity:.5;cursor:not-allowed}.longstrip-loading{padding:24px;text-align:center;color:#888}.longstrip-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.longstrip-editor{background:#1e1e35;border:1px solid #3a3a5a;border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.longstrip-editor-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #2a2a4a}.longstrip-editor-header h4{margin:0;color:#ddd;font-size:.95rem}.longstrip-editor-close{background:none;border:none;color:#888;font-size:1.4rem;cursor:pointer;line-height:1;padding:0 4px}.longstrip-editor-close:hover{color:#ddd}.longstrip-editor-preview{padding:12px}.longstrip-editor-preview img{width:100%;border-radius:6px}.longstrip-editor-no-image{width:100%;aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:center;background:#0f0f1a;border-radius:6px;color:#666}.longstrip-editor-info{padding:0 16px 12px;color:#ccc;font-size:.85rem}.longstrip-editor-emote{font-style:italic;color:#aaa;margin-top:4px}.longstrip-editor-line{margin-top:4px;color:#bbb}.longstrip-editor-meta{margin-top:6px;color:#777;font-size:.75rem}.longstrip-editor-controls{padding:12px 16px 16px;border-top:1px solid #2a2a4a}.longstrip-editor-label{display:flex;align-items:center;gap:8px;color:#aaa;font-size:.8rem;margin-bottom:12px}.longstrip-editor-label select{background:#0f0f1a;color:#ddd;border:1px solid #3a3a5a;border-radius:4px;padding:4px 8px;font-size:.8rem}.longstrip-editor-actions{display:flex;gap:8px}.longstrip-btn{padding:6px 14px;border:1px solid #3a3a5a;border-radius:6px;font-size:.8rem;cursor:pointer;transition:background .15s ease}.longstrip-btn:disabled{opacity:.5;cursor:not-allowed}.longstrip-btn-exclude{background:#2a1515;color:#e88;border-color:#533}.longstrip-btn-exclude:hover:not(:disabled){background:#3a2020}.longstrip-btn-include{background:#152a15;color:#8e8;border-color:#353}.longstrip-btn-include:hover:not(:disabled){background:#203a20}.longstrip-btn-regenerate{background:#15152a;color:#88e;border-color:#335}.longstrip-btn-regenerate:hover:not(:disabled){background:#20203a}.longstrip-inline-panel{margin:8px 0;border-radius:6px;overflow:hidden;background:#1a1a2e;cursor:pointer;transition:transform .15s ease}.longstrip-inline-panel:hover{transform:scale(1.005)}.longstrip-inline-panel img{width:100%;display:block}.longstrip-inline-generating{width:100%;aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:center;color:#777;font-size:.8rem}.longstrip-split-layout{display:grid;grid-template-columns:1fr 380px;gap:12px;height:100%;min-height:0}.longstrip-split-chat{overflow-y:auto;min-height:0}.longstrip-split-strip{overflow-y:auto;min-height:0;border-left:1px solid #2a2a4a;padding-left:12px}.longstrip-tabbed-layout{display:flex;flex-direction:column;height:100%;min-height:0}.longstrip-tab-bar{display:flex;gap:0;border-bottom:1px solid #2a2a4a;margin-bottom:8px}.longstrip-tab{padding:8px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:#888;font-size:.85rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.longstrip-tab:hover{color:#bbb}.longstrip-tab--active{color:#ddd;border-bottom-color:#6c5ce7}.longstrip-tab-content{flex:1;overflow-y:auto;min-height:0}@media (max-width: 900px){.longstrip-split-layout{grid-template-columns:1fr}.longstrip-split-strip{border-left:none;padding-left:0;border-top:1px solid #2a2a4a;padding-top:12px;max-height:300px}}.fr-root{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;background:#000;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;font-family:Shantell Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.fr-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top}.fr-bg-placeholder{background:linear-gradient(160deg,#1a1a2e,#16213e,#0f3460)}.fr-bg-active{animation:fr-fade-in .35s ease forwards}.fr-bg-fading{animation:fr-fade-out .35s ease forwards;z-index:1}@keyframes fr-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fr-fade-out{0%{opacity:1}to{opacity:0}}.fr-root:after{content:"";position:absolute;bottom:0;left:0;right:0;height:45%;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 40%,transparent 100%);pointer-events:none;z-index:5}.fr-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;z-index:20;pointer-events:none}.fr-page-label{font-size:13px;color:#ffffffbf;text-shadow:0 1px 3px rgba(0,0,0,.7);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.02em}.fr-exit-btn{pointer-events:auto;background:#00000059;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:30px;height:30px;color:#ffffffd9;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s ease}.fr-exit-btn:hover{background:#0000008c}.fr-tap-zone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;cursor:pointer}.fr-tap-left,.fr-tap-right{flex:1;height:100%}.fr-text-box{position:absolute;bottom:calc(32px + env(safe-area-inset-bottom,0px));left:14px;right:14px;z-index:15;padding:12px 16px 14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:4px;border-radius:12px;pointer-events:none;animation:fr-box-in .25s ease forwards}.fr-text-box.narration{background:#080814d1;box-shadow:0 4px 24px #00000080}.fr-text-box.narration .fr-text{font-style:italic;color:#ffffffed}.fr-text-box.dialogue{background:#ffffffed;box-shadow:0 4px 24px #00000059}.fr-text-box.dialogue .fr-text{color:#111}@keyframes fr-box-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fr-speaker{font-family:Shantell Sans,-apple-system,sans-serif;font-size:15px;font-weight:700;letter-spacing:.04em;line-height:1.2;text-transform:uppercase}.fr-text{margin:0;font-size:17px;line-height:1.4;word-wrap:break-word}.fr-empty-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:20}.fr-empty-label{margin:0;font-size:15px;color:#fff9;letter-spacing:.03em}.fr-generating{position:absolute;bottom:130px;left:50%;transform:translate(-50%);z-index:20;display:flex;gap:6px}.fr-generating span{width:8px;height:8px;background:#ffffffd9;border-radius:50%;animation:fr-dot-pulse 1.2s ease-in-out infinite both}.fr-generating span:nth-child(2){animation-delay:.2s}.fr-generating span:nth-child(3){animation-delay:.4s}@keyframes fr-dot-pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.fr-choice-overlay{position:relative;z-index:15;width:100%;padding:20px 16px 28px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.6) 60%,transparent 100%)}.fr-choice-prompt{margin:0 0 4px;font-size:16px;font-weight:600;color:#fffffff2;text-align:center;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.6)}.fr-choice-list{display:flex;flex-direction:column;gap:8px}.fr-choice-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#ffffffeb;font-family:Shantell Sans,-apple-system,sans-serif;font-size:15px;text-align:left;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 12px #0000004d,inset 0 1px #ffffff14;transition:background .15s ease,border-color .15s ease,transform .1s ease;text-shadow:0 1px 2px rgba(0,0,0,.5)}.fr-choice-btn:hover,.fr-choice-btn:focus-visible{background:#ffffff24;border-color:#ffffff4d;outline:none}.fr-choice-btn:active{transform:scale(.985)}.fr-choice-btn.selected{background:#8b45ff47;border-color:#8b45ff8c;box-shadow:0 0 14px #8b45ff4d,inset 0 1px #8b45ff33}.fr-choice-btn.selected .fr-choice-label{background:#8b45ff99;border-color:#8b45ffe6;color:#fff}.fr-choice-label{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#ffffffd9;font-family:-apple-system,sans-serif;text-shadow:none}.fr-choice-text{flex:1;line-height:1.35}.fr-write-in-row{display:flex;align-items:center;gap:8px;padding:0 2px}.fr-write-in-input{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:11px 14px;color:#ffffffeb;font-family:Shantell Sans,-apple-system,sans-serif;font-size:15px;outline:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-shadow:0 1px 2px rgba(0,0,0,.5);transition:background .15s ease,border-color .15s ease}.fr-write-in-input::placeholder{color:#ffffffa6;text-shadow:0 1px 2px rgba(0,0,0,.4)}.fr-write-in-input:focus{background:#ffffff29;border-color:#fff6}.fr-write-in-send{width:42px;height:42px;flex-shrink:0;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#ffffffd9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,opacity .15s ease}.fr-write-in-send:disabled{opacity:.35;cursor:default}.fr-write-in-send:not(:disabled):hover{background:#ffffff38}.fr-progress-row{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:5px;z-index:20;pointer-events:none}.fr-dot{width:5px;height:5px;border-radius:50%;background:#ffffff4d;transition:background .2s ease,transform .2s ease}.fr-dot.done{background:#ffffff8c}.fr-dot.active{background:#fff;transform:scale(1.35)}.fr-choice-overlay{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}@media (orientation: landscape) and (max-height: 500px){.fr-text-box{bottom:calc(16px + env(safe-area-inset-bottom,0px));left:10%;right:10%;padding:10px 14px 12px}.fr-text{font-size:15px}}.effects-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5}.effects-layer__overlay{mix-blend-mode:screen}.effects-layer__overlay--subtle{filter:brightness(.85)}.effects-layer__overlay--moderate{filter:brightness(1)}.effects-layer__overlay--dramatic{filter:brightness(1.35) saturate(1.2)}.effects-layer__overlay--glow{background:radial-gradient(ellipse at center,rgba(255,230,180,.65) 0%,rgba(255,200,140,.35) 35%,transparent 70%);animation:beat-glow 2.8s ease-in-out infinite}@keyframes beat-glow{0%,to{filter:blur(8px)}50%{filter:blur(14px)}}.effects-layer__overlay--pulse{background:radial-gradient(ellipse at center,rgba(255,255,255,.4) 0%,transparent 60%);animation:beat-pulse 1.6s ease-in-out infinite}@keyframes beat-pulse{0%,to{transform:scale(.95);opacity:.4}50%{transform:scale(1.05);opacity:1}}.effects-layer__overlay--sparkles{background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.9) 0%,transparent 1%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.9) 0%,transparent 1%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.9) 0%,transparent 1%),radial-gradient(circle at 30% 80%,rgba(255,255,255,.8) 0%,transparent 1%),radial-gradient(circle at 70% 20%,rgba(255,255,255,.8) 0%,transparent 1%);animation:beat-sparkles 3s ease-in-out infinite;background-size:40% 40%}@keyframes beat-sparkles{0%,to{opacity:.2}25%,75%{opacity:1}50%{opacity:.4}}.effects-layer__overlay--mist{background:linear-gradient(180deg,rgba(200,210,230,.45) 0%,rgba(200,210,230,.2) 60%,transparent 100%);animation:beat-mist 11s ease-in-out infinite}@keyframes beat-mist{0%,to{transform:translate(-5%)}50%{transform:translate(5%)}}.effects-layer__overlay--snow{background:radial-gradient(circle at 10% 20%,white .8px,transparent 1px),radial-gradient(circle at 30% 50%,white .8px,transparent 1px),radial-gradient(circle at 60% 30%,white .8px,transparent 1px),radial-gradient(circle at 80% 70%,white .8px,transparent 1px),radial-gradient(circle at 50% 80%,white .8px,transparent 1px);background-size:60px 60px;animation:beat-snow 6s linear infinite}@keyframes beat-snow{0%{background-position:0 0,0 0,0 0,0 0,0 0}to{background-position:0 120px,0 180px,0 60px,0 120px,0 60px}}.effects-layer__overlay--dramatic.effects-layer__overlay--pulse{animation-duration:.9s}.effects-layer__overlay--dramatic.effects-layer__overlay--glow{animation-duration:1.6s}.effects-layer__overlay--subtle.effects-layer__overlay--pulse{animation-duration:2.8s}@media (prefers-reduced-motion: reduce){.effects-layer__overlay,.effects-layer__overlay--glow,.effects-layer__overlay--pulse,.effects-layer__overlay--sparkles,.effects-layer__overlay--mist,.effects-layer__overlay--snow{animation:none!important}}.reader__stage{position:absolute;top:0;left:0;will-change:transform;perspective:1200px;perspective-origin:center center}.reader__stage-inner,.reader__stage-inner-reading{display:block;width:100%;height:100%}.reader__media{display:block;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;object-fit:contain;max-width:none;max-height:none}@media (prefers-reduced-motion: no-preference){.reader__media{animation:reader-media-in .48s cubic-bezier(.22,1,.36,1) both}.reader__media--enter{animation:reader-media-in .48s cubic-bezier(.22,1,.36,1) both,reader-media-enter var(--entry-duration, 1.4s) cubic-bezier(.16,1,.3,1) both;transform-origin:var(--entry-origin, 50% 50%)}.reader__media--drift{animation:reader-media-in .48s cubic-bezier(.22,1,.36,1) both,reader-media-drift 14s ease-in-out .48s infinite alternate}.reader__media--enter.reader__media--drift{animation:reader-media-in .48s cubic-bezier(.22,1,.36,1) both,reader-media-enter var(--entry-duration, 1.4s) cubic-bezier(.16,1,.3,1) both,reader-media-drift 14s ease-in-out var(--entry-duration, 1.4s) infinite alternate}}@keyframes reader-media-in{0%{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes reader-media-enter{0%{transform:var(--entry-from, none)}to{transform:none}}@keyframes reader-media-drift{0%{transform:scale(1) translate(0)}to{transform:scale(1.02) translate(-.35%,-.5%)}}.reader__media-swap{position:relative;overflow:hidden}.reader__media-swap-strip{position:relative;width:100%;height:100%;will-change:transform}.reader__media--swap-tile{position:absolute;top:0;left:0}@media (prefers-reduced-motion: no-preference){.reader__media--pc{animation:none}.reader__media--pc.reader__media--enter{animation:reader-media-enter var(--entry-duration, 1.4s) cubic-bezier(.16,1,.3,1) both;transform-origin:var(--entry-origin, 50% 50%)}.reader__media--pc.reader__media--drift{animation:reader-media-drift 14s ease-in-out .48s infinite alternate}.reader__media--pc.reader__media--enter.reader__media--drift{animation:reader-media-enter var(--entry-duration, 1.4s) cubic-bezier(.16,1,.3,1) both,reader-media-drift 14s ease-in-out var(--entry-duration, 1.4s) infinite alternate}}.reader__media--interiority{filter:saturate(.68) contrast(.97) brightness(1.03)}.reader__interiority-frame{position:absolute;z-index:3;pointer-events:none;box-sizing:border-box;border:14px solid rgba(240,236,228,.92);box-shadow:inset 0 0 0 3px #1a1a1a8c,inset 0 0 64px #14141e59}.reader__panel-overlay{position:absolute;z-index:2;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:reader-panel-overlay-in .18s ease-out both}.reader__panel-overlay--choice_variant{box-shadow:0 0 0 1px #ffffff14}@keyframes reader-panel-overlay-in{0%{opacity:0;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}.reader__tile{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;max-width:96%;max-height:96%;object-fit:contain;-webkit-user-select:none;user-select:none;transition:opacity .2s}.reader__loading{color:#e8e4f080;font-size:.95rem;font-style:italic;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;height:100%}.reader__pending-tile{height:100%;width:100%;background:#ffffff0a}.reader__quick-visual-pending{position:absolute;top:calc(18px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:7;padding:8px 12px;border-radius:999px;background:#0a0a0fc7;border:1px solid rgba(255,255,255,.18);color:#e8e4f0e6;font-family:Helvetica Neue,Arial,sans-serif;font-size:.8rem;letter-spacing:.02em;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}.reader__stage-inner--shake{animation:reader-shake-x var(--shake-duration, .5s) cubic-bezier(.36,.07,.19,.97) both,reader-shake-flash var(--shake-duration, .5s) ease-out both}@keyframes reader-shake-x{0%,to{transform:translate(0)}10%{transform:translate(calc(var(--shake-amp, 7px) * -1),calc(var(--shake-amp, 7px) * .3))}20%{transform:translate(calc(var(--shake-amp, 7px) * .8),calc(var(--shake-amp, 7px) * -.4))}30%{transform:translate(calc(var(--shake-amp, 7px) * -.7),calc(var(--shake-amp, 7px) * .2))}40%{transform:translate(calc(var(--shake-amp, 7px) * .5),calc(var(--shake-amp, 7px) * .5))}55%{transform:translate(calc(var(--shake-amp, 7px) * -.3),calc(var(--shake-amp, 7px) * -.3))}75%{transform:translate(calc(var(--shake-amp, 7px) * .2),calc(var(--shake-amp, 7px) * .1))}}@keyframes reader-shake-flash{0%,to{filter:brightness(1)}20%,60%{filter:brightness(1.08) contrast(1.05)}}.reader__stage-inner--pan-from-right{animation:reader-pan-from-right var(--pan-duration, .5s) cubic-bezier(.22,1,.36,1) both}@keyframes reader-pan-from-right{0%{transform:translate(30%)}to{transform:translate(0)}}.reader__stage-inner--pan-from-left{animation:reader-pan-from-left var(--pan-duration, .5s) cubic-bezier(.22,1,.36,1) both}@keyframes reader-pan-from-left{0%{transform:translate(-30%)}to{transform:translate(0)}}.reader__stage-inner--pan-from-top{animation:reader-pan-from-top var(--pan-duration, .5s) cubic-bezier(.22,1,.36,1) both}@keyframes reader-pan-from-top{0%{transform:translateY(-30%)}to{transform:translateY(0)}}.reader__stage-inner--pan-from-bottom{animation:reader-pan-from-bottom var(--pan-duration, .5s) cubic-bezier(.22,1,.36,1) both}@keyframes reader-pan-from-bottom{0%{transform:translateY(30%)}to{transform:translateY(0)}}.reader__stage-inner--radial-burst{animation:reader-radial-burst var(--pan-duration, .5s) cubic-bezier(.16,1,.3,1) both}@keyframes reader-radial-burst{0%{transform:scale(.65);opacity:.4}40%{opacity:1}to{transform:scale(1);opacity:1}}.reader__stage-inner--through{animation:reader-through var(--pan-duration, .55s) cubic-bezier(.22,1,.36,1) both}@keyframes reader-through{0%{transform:scale(1.15);filter:brightness(1.15) contrast(1.05)}55%{filter:brightness(1.08)}to{transform:scale(1);filter:brightness(1)}}.reader__stage-inner--iris{animation:reader-iris var(--pan-duration, .55s) cubic-bezier(.22,1,.36,1) both}@keyframes reader-iris{0%{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}}.reader__stage-inner--page-flip{animation:reader-page-flip var(--pan-duration, .65s) cubic-bezier(.16,1,.3,1) both;transform-origin:left center;backface-visibility:hidden}@keyframes reader-page-flip{0%{transform:rotateY(-90deg)}to{transform:rotateY(0)}}.reader__stage-inner-reading--ken-burns{animation:reader-ken-burns 12s ease-in-out infinite alternate}@keyframes reader-ken-burns{0%{transform:scale(1) translate(0)}to{transform:scale(1.04) translate(-1%)}}.reader__flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none;z-index:6;animation-name:reader-flash;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}@keyframes reader-flash{0%{opacity:0}20%{opacity:.75}60%{opacity:.2}to{opacity:0}}.reader__dissolve{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0f;opacity:0;pointer-events:none;z-index:5;animation-name:reader-dissolve;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-fill-mode:both}@keyframes reader-dissolve{0%{opacity:0}50%{opacity:.85}to{opacity:0}}.reader__matte--animating{will-change:top,left,width,height}@media (prefers-reduced-motion: reduce){.reader__stage{transition-duration:1ms!important}.reader__stage-inner--shake,.reader__stage-inner--pan-from-right,.reader__stage-inner--pan-from-left,.reader__stage-inner--pan-from-top,.reader__stage-inner--pan-from-bottom,.reader__stage-inner--radial-burst,.reader__stage-inner--through,.reader__stage-inner--iris,.reader__stage-inner--page-flip,.reader__stage-inner-reading--ken-burns{animation:none!important}.reader__flash,.reader__dissolve{animation:none!important;opacity:0!important}.reader__matte--animating{transition:none!important}}.reader__subbeat-anchor{position:absolute;z-index:7;pointer-events:none}.reader__subbeat{position:relative;font-family:var(--font-comic);font-weight:700;color:#1a1a1a;max-width:min(340px,72vw);min-width:min(120px,50vw);padding:10px 14px;border-radius:14px;line-height:1.35;font-size:max(13px,.84rem);box-shadow:0 4px 16px #00000059;pointer-events:none;animation:reader-subbeat-in-from-right .36s cubic-bezier(.22,1,.36,1) both}.reader__subbeat-anchor--authored .reader__subbeat{max-width:100%;min-width:0}.reader__subbeat-anchor--strip{width:min(92%,480px);display:flex;justify-content:center}.reader__subbeat-anchor--strip .reader__subbeat{max-width:100%}.reader__subbeat-anchor--sfx{z-index:7;transform:translate(-50%,-50%)}.reader__subbeat--dir-forward{animation:reader-subbeat-in-from-right .36s cubic-bezier(.22,1,.36,1) both}.reader__subbeat--dir-backward{animation:reader-subbeat-in-from-left .36s cubic-bezier(.22,1,.36,1) both}.reader__subbeat--exiting.reader__subbeat--dir-forward{animation:reader-subbeat-out-to-left .26s cubic-bezier(.4,0,1,1) forwards}.reader__subbeat--exiting.reader__subbeat--dir-backward{animation:reader-subbeat-out-to-right .26s cubic-bezier(.4,0,1,1) forwards}@keyframes reader-subbeat-in-from-right{0%{opacity:.5;transform:translate(72px) scale(.92)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes reader-subbeat-in-from-left{0%{opacity:.5;transform:translate(-72px) scale(.92)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes reader-subbeat-out-to-left{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-72px) scale(.92)}}@keyframes reader-subbeat-out-to-right{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(72px) scale(.92)}}.reader__subbeat-tail{position:absolute;width:0;height:0;pointer-events:none;transform-origin:0 50%;transform:translate(-50%);border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #ffffff;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}.reader__subbeat--dialogue{background:#fff;transform-origin:bottom center}.reader__subbeat--dialogue .reader__subbeat-tail{left:50%;bottom:-6px}.reader__subbeat--dialogue .reader__subbeat-tail--edge-top{bottom:auto;top:-6px}.reader__subbeat--caption{background:#f4e4b5;font-style:italic}.reader__subbeat--interiority{background:#e6e8ef;font-style:italic;border:2px dashed rgba(0,0,0,.2)}.reader__subbeat--interiority .reader__subbeat-tail{display:none}.reader__subbeat-speaker{font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#5a3a2a;margin-bottom:4px}.reader__subbeat--interiority .reader__subbeat-speaker{color:#3a4a6a;font-style:normal}.reader__subbeat-text{font-size:inherit}@media (min-width: 900px){.reader__subbeat{font-size:max(16px,1rem);max-width:min(440px,36vw);padding:12px 18px}.reader__subbeat-speaker{font-size:.76rem}}.reader__subbeat--sfx{padding:0;border-radius:0;background:none;box-shadow:none;font-family:Bangers,Impact,Helvetica Neue,sans-serif;font-weight:900;letter-spacing:.05em;color:#f7d058;text-shadow:2px 2px 0 #111,-2px 2px 0 #111,2px -2px 0 #111,-2px -2px 0 #111,0 0 24px rgba(247,208,88,.5);max-width:80%;text-align:center;animation:reader-sfx-in .32s cubic-bezier(.22,1,.36,1) both}.reader__subbeat--sfx.reader__subbeat--exiting{animation:reader-sfx-out .24s cubic-bezier(.4,0,1,1) forwards}@keyframes reader-sfx-in{0%{opacity:.5;transform:rotate(-6deg) scale(.5)}to{opacity:1;transform:rotate(-6deg) scale(1)}}@keyframes reader-sfx-out{0%{opacity:1;transform:rotate(-6deg) scale(1)}to{opacity:0;transform:rotate(-6deg) scale(.85)}}.reader__subbeat--sfx-small{font-size:2rem}.reader__subbeat--sfx-medium{font-size:3.5rem}.reader__subbeat--sfx-huge{font-size:5.5rem}.reader__micro-choice{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none}.reader__micro-choice-btn{position:absolute;display:flex;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:10px 14px;background:none;color:#fff;border:none;font-family:Georgia,serif;font-size:1rem;font-weight:700;line-height:1.2;cursor:pointer;max-width:60%;text-align:left;pointer-events:auto;transition:transform .1s;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.9),0 2px 18px rgba(0,0,0,.7);-webkit-tap-highlight-color:transparent}.reader__micro-choice-btn:hover .reader__micro-choice-arrow{color:#fff}.reader__micro-choice-btn:active{transform:scale(.96)}.reader__micro-choice-btn--left{top:var(--mc-img-cy, 50%);transform:translateY(-50%)}.reader__micro-choice-btn--right{top:var(--mc-img-cy, 50%);transform:translateY(-50%);flex-direction:row-reverse;text-align:right}.reader__micro-choice-btn--up{left:var(--mc-img-cx, 50%);transform:translate(-50%);flex-direction:column;text-align:center}.reader__micro-choice-btn--down{left:var(--mc-img-cx, 50%);transform:translate(-50%);flex-direction:column-reverse;text-align:center}.reader__micro-choice-btn--left.reader__micro-choice-btn--inside{left:calc(var(--mc-img-left, 0px) + 6px)}.reader__micro-choice-btn--right.reader__micro-choice-btn--inside{right:calc(100% - var(--mc-img-right, 100%) + 6px)}.reader__micro-choice-btn--up.reader__micro-choice-btn--inside{top:max(calc(var(--mc-img-top, 0px) + 6px),calc(env(safe-area-inset-top,0px) + 6px))}.reader__micro-choice-btn--down.reader__micro-choice-btn--inside{bottom:calc(100% - var(--mc-img-bottom, 100%) + 6px)}.reader__micro-choice-btn--left.reader__micro-choice-btn--outside{right:min(calc(100% - var(--mc-img-left, 0px) + 2px),calc(100% - 240px))}.reader__micro-choice-btn--right.reader__micro-choice-btn--outside{left:min(calc(var(--mc-img-right, 100%) + 2px),calc(100% - 240px))}.reader__micro-choice-btn--up.reader__micro-choice-btn--outside{bottom:min(calc(100% - var(--mc-img-top, 0px) + 2px),calc(100% - 116px))}.reader__micro-choice-btn--down.reader__micro-choice-btn--outside{top:min(calc(var(--mc-img-bottom, 100%) + 2px),calc(100% - 116px))}.reader__micro-choice-btn--left:active,.reader__micro-choice-btn--right:active{transform:translateY(-50%) scale(.96)}.reader__micro-choice-btn--up:active,.reader__micro-choice-btn--down:active{transform:translate(-50%) scale(.96)}.reader__micro-choice-arrow{font-size:1.85rem;line-height:1;color:#ffffffeb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:inline-block;animation:reader-mc-arrow-nudge 1.3s ease-in-out infinite;will-change:transform}.reader__micro-choice-btn--left .reader__micro-choice-arrow{animation-name:reader-mc-arrow-nudge-left}.reader__micro-choice-btn--right .reader__micro-choice-arrow{animation-name:reader-mc-arrow-nudge-right}.reader__micro-choice-btn--up .reader__micro-choice-arrow{animation-name:reader-mc-arrow-nudge-up}.reader__micro-choice-btn--down .reader__micro-choice-arrow{animation-name:reader-mc-arrow-nudge-down}@keyframes reader-mc-arrow-nudge-left{0%,to{transform:translate(0)}50%{transform:translate(-6px)}}@keyframes reader-mc-arrow-nudge-right{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes reader-mc-arrow-nudge-up{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes reader-mc-arrow-nudge-down{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.reader__micro-choice-text{font-size:.95rem;max-width:14ch}.reader__micro-choice-hint{position:absolute;bottom:18px;left:50%;transform:translate(-50%);color:#e8e4f073;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;pointer-events:none;opacity:0;animation:reader-mc-hint-fade 2.4s ease-out forwards;animation-delay:.6s}@keyframes reader-mc-hint-fade{0%{opacity:0;transform:translate(-50%,6px)}30%{opacity:.7;transform:translate(-50%)}to{opacity:.7;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.reader__micro-choice-btn,.reader__micro-choice-arrow,.reader__micro-choice-hint{animation:none!important}.reader__micro-choice-hint{opacity:.7}}.reader__consequence-chose{position:absolute;top:calc(56px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:9;padding:6px 14px;background:#0a0a0fb3;border:1px solid rgba(255,255,255,.18);border-radius:999px;display:inline-flex;align-items:baseline;gap:8px;pointer-events:none;animation:reader-chose-in .32s ease-out both}.reader__consequence-chose-label{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#e8e4f08c}.reader__consequence-chose-text{font-family:Georgia,serif;font-size:.95rem;color:#e8e4f0;font-style:italic}@keyframes reader-chose-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.reader__intro{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:48px 32px;background:transparent;border:none;color:inherit;font:inherit;text-align:inherit;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.reader__intro:focus-visible{outline:2px solid rgba(232,228,240,.4);outline-offset:-8px}.reader__intro-inner{max-width:640px;text-align:center;color:#e8e4f0}.reader__intro-super{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;color:#e8e4f066;margin-bottom:32px}.reader__intro-kicker{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:.85rem;color:#e8e4f0a6;margin-bottom:12px}.reader__intro-title{font-family:Georgia,serif;font-size:2.6rem;font-weight:400;line-height:1.2;margin:0;color:#e8e4f0}.reader__intro-text{font-family:Georgia,serif;font-size:1.35rem;line-height:1.65;margin:0}.reader__intro--opening_hook .reader__intro-text{font-style:italic;font-size:1.55rem;color:#e8e4f0eb}.reader__intro-hint{margin-top:32px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#e8e4f059}@media (prefers-reduced-motion: reduce){.reader__subbeat,.reader__subbeat--exiting,.reader__subbeat--dir-forward,.reader__subbeat--dir-backward,.reader__subbeat--sfx,.reader__consequence-chose{animation:none!important}}.reader__intro-hint--waiting{animation:reader-intro-hint-pulse 1.6s ease-in-out infinite}@keyframes reader-intro-hint-pulse{0%,to{opacity:.45}50%{opacity:.9}}.reader__page-failed{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:7;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-comic);font-weight:700;color:#1a1a1a;background:#f4e4b5;font-style:italic;max-width:min(340px,72vw);padding:14px 18px;border-radius:14px;line-height:1.35;font-size:max(13px,.84rem);box-shadow:0 4px 16px #00000059;text-align:center}.reader__page-failed-retry{font-family:var(--font-comic);font-weight:700;font-style:normal;font-size:.85rem;letter-spacing:.04em;color:#f4e4b5;background:#1a1a1a;border:none;border-radius:10px;padding:7px 18px;cursor:pointer}.reader__page-failed-retry:hover:not(:disabled){background:#333}.reader__page-failed-retry:disabled{opacity:.6;cursor:default}.reader__exit{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;width:36px;height:36px;border:1px solid rgba(255,255,255,.15);background:#00000073;color:#e8e4f0;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;z-index:10;transition:background .15s,border-color .15s}.reader__exit:hover{background:#000000b3;border-color:#fff6}.reader__back{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));left:16px;width:36px;height:36px;border:1px solid rgba(255,255,255,.15);background:#00000073;color:#e8e4f0;border-radius:50%;font-size:28px;line-height:1;padding-bottom:4px;cursor:pointer;z-index:10;transition:background .15s,border-color .15s}.reader__back:hover{background:#000000b3;border-color:#fff6}.reader__choices{position:absolute;left:0;right:0;bottom:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,rgba(10,10,15,.92) 0%,rgba(10,10,15,.7) 70%,transparent 100%);z-index:5;display:flex;justify-content:center;align-items:flex-end;pointer-events:auto}.reader__choices .choice-buttons{width:min(100%,34rem);margin:0 auto;border-radius:16px;border-top:1px solid var(--border-color)}@media (max-width: 768px){.reader__choices{padding:0 0 env(safe-area-inset-bottom,0px);background:linear-gradient(to top,rgba(10,10,15,.96) 0%,rgba(10,10,15,.82) 62%,transparent 100%)}.reader__choices .choice-buttons{width:100%;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none}.reader__choices .choice-buttons{padding:10px 14px 12px}.reader__choices .choice-button{padding:9px 12px;font-size:.85rem}.reader__choices .choices-grid{gap:6px}}.reader__conversation{position:absolute;left:0;right:0;bottom:0;z-index:9;display:flex;flex-direction:column;gap:10px;padding:14px 18px 22px;background:linear-gradient(to top,#0a0a0ff5,#0a0a0fe0 55%,#0a0a0f80);border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -12px 40px #0009;font-family:Georgia,serif;animation:reader-conversation-in .28s cubic-bezier(.22,1,.36,1) both}@keyframes reader-conversation-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reader__conversation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px;min-height:18px}.reader__conversation-counter{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#e8e4f073}.reader__conversation-objective{font-size:.78rem;font-style:italic;color:#e8e4f09e;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader__conversation-suggestions{display:flex;flex-direction:column;gap:8px}.reader__conversation-suggestion{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffff0a;color:#e8e4f0;border:1px solid rgba(255,255,255,.18);border-radius:16px;font-family:Georgia,serif;font-size:1rem;line-height:1.35;text-align:left;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;pointer-events:auto}.reader__conversation-suggestion:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff73}.reader__conversation-suggestion:active:not(:disabled){transform:scale(.98)}.reader__conversation-suggestion:disabled{opacity:.45;cursor:default}.reader__conversation-trait{flex:0 0 auto;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#e8e4f080;padding:3px 8px;border:1px solid rgba(255,255,255,.22);border-radius:999px}.reader__conversation-suggestion-text{flex:1 1 auto;font-style:italic}.reader__conversation-writein{display:flex;align-items:stretch;gap:8px;margin-top:2px}.reader__conversation-writein-input{flex:1 1 auto;padding:11px 14px;background:#ffffff0f;color:#e8e4f0;border:1px solid rgba(255,255,255,.25);border-radius:14px;font-family:Georgia,serif;font-size:.95rem}.reader__conversation-writein-input::placeholder{color:#e8e4f061;font-style:italic}.reader__conversation-writein-input:focus{outline:none;border-color:#fff9;background:#ffffff1a}.reader__conversation-writein-input:disabled{opacity:.5}.reader__conversation-writein-send{flex:0 0 auto;padding:0 14px;background:#ffffff24;color:#e8e4f0;border:1px solid rgba(255,255,255,.28);border-radius:14px;font-size:1.35rem;cursor:pointer;transition:background .15s,border-color .15s}.reader__conversation-writein-send:hover:not(:disabled){background:#ffffff38;border-color:#ffffff8c}.reader__conversation-writein-send:disabled{opacity:.35;cursor:default}.reader__conversation-loading{display:flex;align-items:center;gap:8px;padding:4px 2px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#e8e4f08c}.reader__conversation-spinner{width:10px;height:10px;border-radius:50%;border:2px solid rgba(232,228,240,.28);border-top-color:#e8e4f0cc;animation:reader-conversation-spin .72s linear infinite}@keyframes reader-conversation-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.reader__conversation,.reader__conversation-spinner{animation:none!important}}.turn-loading-overlay-wrap{position:absolute;bottom:10px;right:16px;z-index:9;display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:min(24rem,calc(100% - 32px));pointer-events:none}.turn-loading-overlay{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;background:#0a0a0fd1;border:1px solid rgba(255,255,255,.18);border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 12px #0006;pointer-events:none;white-space:nowrap;animation:turn-loading-fadein .4s ease-out both}@keyframes turn-loading-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.turn-loading-overlay__dots{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.turn-loading-overlay__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e8e4f08c;animation:turn-loading-dot-pulse 1.2s ease-in-out infinite both}.turn-loading-overlay__dot:nth-child(1){animation-delay:0ms}.turn-loading-overlay__dot:nth-child(2){animation-delay:.2s}.turn-loading-overlay__dot:nth-child(3){animation-delay:.4s}@keyframes turn-loading-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1.1)}}.turn-loading-overlay__copy{font-family:var(--font-comic);font-weight:700;font-size:.82rem;letter-spacing:.01em;color:#e8e4f0d9}.turn-loading-overlay__elapsed{font-family:var(--font-comic);font-size:.72rem;color:#e8e4f06b;letter-spacing:.01em}@media (prefers-reduced-motion: reduce){.turn-loading-overlay{animation:none}.turn-loading-overlay__dot{animation:none;opacity:.55;transform:none}}.turn-loading-overlay__preview{display:block;margin-top:6px;max-width:42ch;font-style:italic;opacity:.85;line-height:1.35}.reader{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0f;color:#e8e4f0;overflow:hidden;z-index:400;font-family:Georgia,serif;touch-action:none}.reader__column{position:absolute;top:0;bottom:0;left:0;right:0;margin:0 auto;width:100%;overflow:hidden;background:#0a0a0f;box-shadow:0 0 0 1px #e8e4f00f,0 0 64px 16px #0000008c}.reader--empty,.reader--empty .reader__column{display:flex;align-items:center;justify-content:center}.reader__empty{display:flex;align-items:center;gap:.6rem;color:#e8e4f080;font-size:.95rem;font-style:italic;letter-spacing:.02em}.reader__empty-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#ffffffe6;animation:reader-panel-pending-spin .9s linear infinite}@media (prefers-reduced-motion: reduce){.reader__empty-spinner{animation:none}}.reader-conclusion-card{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5rem;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 60%);pointer-events:none;z-index:40}.reader-conclusion-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;pointer-events:auto}.reader-conclusion-title{font-family:var(--font-display, serif);font-size:2rem;letter-spacing:.15em;color:#ffffffe6;text-shadow:0 2px 12px rgba(0,0,0,.8)}.reader-conclusion-rewind{background:#ffffff1f;border:1px solid rgba(255,255,255,.3);color:#ffffffd9;padding:.5rem 1.4rem;border-radius:2rem;font-size:.9rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,border-color .2s}.reader-conclusion-rewind:hover{background:#ffffff38;border-color:#fff9}.reader-conclusion-actions{display:flex;flex-direction:row;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.reader-conclusion-epilogue{background:#b48cff2e;border:1px solid rgba(180,140,255,.5);color:#dcc8fff2;padding:.5rem 1.4rem;border-radius:2rem;font-size:.9rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,border-color .2s,opacity .2s}.reader-conclusion-epilogue:hover:not(:disabled){background:#b48cff52;border-color:#b48cffcc}.reader-conclusion-epilogue:disabled{opacity:.5;cursor:default}.reader__panel-pending{position:absolute;right:16px;bottom:16px;z-index:9;display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-radius:999px;background:#0000008c;color:#ffffffeb;font-size:13px;pointer-events:none}.reader__panel-pending--stalled{pointer-events:auto;cursor:pointer}.reader__panel-pending-stall-btn{all:unset;cursor:pointer;color:inherit;font:inherit}.reader__panel-pending-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#ffffffe6;animation:reader-panel-pending-spin .9s linear infinite}.reader__panel-pending-chevron{font-size:18px;line-height:1;animation:reader-panel-pending-pulse 1.2s ease-in-out infinite}.reader__panel-pending-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes reader-panel-pending-spin{to{transform:rotate(360deg)}}@keyframes reader-panel-pending-pulse{0%,to{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(3px)}}@media (prefers-reduced-motion: reduce){.reader__panel-pending-spinner{animation:none}.reader__panel-pending-chevron{animation:none;opacity:1}}.reader__new-page-cue{position:absolute;right:16px;bottom:60px;z-index:9;display:flex;align-items:center;padding:8px 12px;border:none;border-radius:999px;background:#0000008c;color:#ffffffeb;font-size:13px;pointer-events:auto;cursor:pointer;animation:reader-new-page-cue-in .25s ease-out}.reader__new-page-cue-btn{all:unset;cursor:pointer;color:inherit;font:inherit}@keyframes reader-new-page-cue-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.reader__new-page-cue{animation:none}}.reader__interrupt-hint{position:absolute;bottom:44px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:0;background:none;border:none;padding:4px 14px;cursor:pointer;color:#fff9;z-index:5;transition:color .16s ease}.reader__interrupt-hint:hover,.reader__interrupt-hint:focus-visible{color:#ffffffd9}.reader__interrupt-hint-chevron{font-size:14px;line-height:1}.reader__back-button{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:44px;height:64px;display:flex;align-items:center;justify-content:center;background:#00000047;border:none;border-radius:12px;color:#ffffffbf;font-size:30px;line-height:1;padding-bottom:4px;cursor:pointer;z-index:5;transition:background .16s ease,color .16s ease}.reader__back-button:hover,.reader__back-button:focus-visible{background:#00000080;color:#fff}@media (pointer: fine){.reader__back-button{background:transparent;color:#ffffff4d}}.reader__interrupt-composer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-end;justify-content:center;z-index:12}.reader__interrupt-composer{width:min(560px,calc(100% - 32px));margin-bottom:40px;background:#fff;border-radius:14px;padding:14px 16px 12px;box-shadow:0 8px 32px #00000073;font-family:Comic Neue,Comic Sans MS,cursive;animation:reader-composer-up .16s ease-out}@keyframes reader-composer-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.reader__interrupt-composer-title{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5a3a2a;margin-bottom:8px}.reader__interrupt-composer-input{width:100%;box-sizing:border-box;border:2px dashed rgba(0,0,0,.2);border-radius:10px;padding:10px 12px;font:inherit;font-size:.95rem;color:#1a1a1a;background:#f7f7fa;resize:none;outline:none}.reader__interrupt-composer-input:focus{border-color:#5a3a2a8c;background:#fff}.reader__interrupt-composer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.reader__interrupt-composer-cancel,.reader__interrupt-composer-submit{font:inherit;font-size:.85rem;font-weight:700;border-radius:9px;padding:6px 16px;cursor:pointer;border:none}.reader__interrupt-composer-cancel{background:transparent;color:#0000008c}.reader__interrupt-composer-cancel:hover{color:#000000d9}.reader__interrupt-composer-submit{background:#5a3a2a;color:#fff}.reader__interrupt-composer-submit:hover{background:#6d4835}.reader__interrupt-composer-submit:disabled{background:#5a3a2a59;cursor:not-allowed}.reader__interrupt-composer-blocked{font:inherit;font-size:.85rem;font-weight:700;width:100%;box-sizing:border-box;border:none;border-radius:9px;padding:8px 12px;margin-bottom:8px;cursor:pointer;background:#0000008c;color:#ffffffeb;text-align:left}.reader__interrupt-hint-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .16s ease}.reader__interrupt-hint:hover .reader__interrupt-hint-label,.reader__interrupt-hint:focus-visible .reader__interrupt-hint-label{opacity:1}@media (pointer: coarse){.reader__interrupt-hint{display:none}}.pov-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;animation:pov-fade-in .2s ease-out}@keyframes pov-fade-in{0%{opacity:0}to{opacity:1}}.pov-modal{width:100%;max-width:400px;background:#0f0c1ef5;border:1px solid rgba(255,255,255,.12);border-bottom:none;border-radius:16px 16px 0 0;padding:20px 20px 28px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -8px 40px #00000080;animation:pov-slide-up .25s ease-out}@keyframes pov-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width: 600px){.pov-modal-backdrop{align-items:center}.pov-modal{border-radius:16px;border-bottom:1px solid rgba(255,255,255,.12);max-height:80vh;overflow-y:auto}}.pov-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.pov-modal-title{margin:0;font-size:15px;font-weight:600;color:#ffffffd9;letter-spacing:.02em}.pov-modal-close{background:none;border:none;color:#ffffff80;font-size:22px;cursor:pointer;padding:4px 8px;line-height:1;transition:color .15s}.pov-modal-close:hover{color:#fff}.pov-modal-characters{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.pov-modal-char{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:2px solid transparent;border-radius:12px;padding:8px 10px;cursor:pointer;transition:border-color .2s,background .2s;scroll-snap-align:start;flex-shrink:0;min-width:72px}.pov-modal-char:hover{background:#ffffff0f;border-color:#ffffff26}.pov-modal-char--active{border-color:#a78bfa;background:#a78bfa1a}.pov-modal-portrait{width:56px;height:56px;border-radius:50%;overflow:hidden;background:#ffffff0f;flex-shrink:0}.pov-modal-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 15%}.pov-modal-portrait-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff6}.pov-modal-char-name{font-size:11px;color:#ffffffb3;text-align:center;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pov-modal-char--active .pov-modal-char-name{color:#a78bfa;font-weight:600}.pov-modal-char-badge{font-size:9px;font-weight:700;letter-spacing:.06em;color:#a78bfa;background:#a78bfa26;padding:1px 6px;border-radius:4px}.pov-modal-actions{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.pov-modal-action{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#ffffffb3;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.pov-modal-action:hover{background:#ffffff1a;color:#fff}.pov-modal-action-icon{font-size:16px;flex-shrink:0}.pov-modal-action--ooc{border-color:#a78bfa40}.pov-modal-action--ooc:hover{background:#a78bfa1f;color:#c4b5fd}.pov-modal-action--interrupt{border-color:#fbbf2440}.pov-modal-action--interrupt:hover{background:#fbbf241a;color:#fbbf24}.story-viewer{display:flex;min-height:100vh;position:relative;background-color:#09090b}.story-main{flex:1;display:flex;flex-direction:column;max-width:1200px;margin:0 auto;padding:20px;gap:20px}@media (max-width: 768px){html,body{height:100%;overflow:hidden}.story-viewer{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;min-height:unset;flex-direction:column;overflow:hidden}.story-main{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-top:12px;padding-bottom:calc(72px + max(8px,env(safe-area-inset-bottom)))}.story-lobby{height:100dvh;min-height:unset;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}}.story-content-container{display:flex;flex-direction:column}.initial-loading-container{flex:1;display:flex;flex-direction:column;min-height:calc(100vh - 120px);background:#09090b;border-radius:12px;overflow:hidden}.initial-loading-container .loading-experience{flex:1;width:100%;max-width:none}.debug-toggle{position:fixed;bottom:20px;right:20px;padding:12px 20px;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 2px 8px var(--shadow);transition:all .2s ease;z-index:200}.debug-toggle:hover{background-color:var(--bg-tertiary);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.observability-toggle{position:fixed;bottom:20px;right:140px;padding:12px 20px;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 2px 8px var(--shadow);transition:all .2s ease;z-index:200}.observability-toggle:hover{background-color:var(--bg-tertiary);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.observability-panel-container{position:fixed;top:0;right:0;width:600px;height:100vh;background:#1a1a1a;border-left:2px solid #333;box-shadow:-4px 0 12px #00000080;z-index:90;overflow:hidden}.observability-panel-container .panel-close-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;background:#2a2a2a;color:#e0e0e0;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:18px;line-height:1;transition:all .2s;z-index:100}.observability-panel-container .panel-close-btn:hover{background:#d32f2f;color:#fff;border-color:#d32f2f}@media (max-width: 1024px){.observability-panel-container{width:500px}}@media (max-width: 768px){.observability-panel-container{width:100%}.debug-toggle,.observability-toggle,.observability-panel-container.desktop-only,.character-sidebar{display:none}.story-content-container{overflow:visible}}.error-notification{position:fixed;top:20px;right:20px;max-width:400px;padding:16px;background-color:var(--accent-red);color:#fff;border-radius:8px;box-shadow:0 4px 12px var(--shadow);z-index:1000}.error-notification strong{display:block;margin-bottom:4px}.error-notification.session-expired{background-color:var(--bg-secondary);border:2px solid var(--accent-orange, #ff9800);color:var(--text-primary);text-align:center;max-width:450px;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}.error-notification.session-expired strong{color:var(--accent-orange, #ff9800);font-size:1.2rem;margin-bottom:12px}.error-notification.session-expired p{margin:0 0 16px;color:var(--text-secondary);line-height:1.5}.error-notification.session-expired .start-new-button{padding:12px 24px;background-color:var(--accent-blue, #2196F3);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.error-notification.session-expired .start-new-button:hover{background-color:var(--accent-blue-hover, #1976D2)}.story-viewer.loading-session{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#09090b}.story-viewer.loading-session .loading-experience{flex:1;min-height:100vh}.loading-container{text-align:center;padding:40px}.loading-container h2{margin:20px 0 8px;font-size:1.5rem;color:var(--text-primary)}.loading-container p{color:var(--text-secondary);font-size:1rem}.loading-message{color:var(--text-secondary);font-size:1.2rem}.loading-spinner-large{width:60px;height:60px;margin:0 auto;border:4px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}.story-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(var(--bg-secondary-rgb, 30, 30, 30),.9)}@media (max-width: 768px){.story-header{position:relative;padding:10px 16px}.story-title{font-size:.95rem}.header-buttons{gap:6px}.new-story-button{padding:6px 12px;font-size:.8rem}.settings-button,.story-options-button,.freeroam-toggle-button{width:32px;height:32px}}.story-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.new-story-button{padding:8px 16px;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.new-story-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.header-buttons{display:flex;align-items:center;gap:8px}.roleplay-mode-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;margin-top:8px;background-color:transparent;color:var(--text-secondary, #9ca3af);border:1px dashed rgba(167,139,250,.4);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.roleplay-mode-toggle:hover{background-color:#a78bfa1a;border-color:#a78bfa;color:#a78bfa}.roleplay-mode-toggle:disabled{opacity:.4;cursor:not-allowed}.roleplay-mode-toggle svg{width:16px;height:16px;flex-shrink:0}.engine-editor-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#4299e11a;color:var(--accent-blue, #4299E1);border:1px solid var(--accent-blue, #4299E1);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.engine-editor-button:hover{background-color:#4299e133;transform:translateY(-1px)}.engine-editor-button:focus-visible{outline:2px solid var(--accent-blue, #4299E1);outline-offset:2px}.engine-editor-button svg{width:16px;height:16px;flex-shrink:0}@media (max-width: 768px){.engine-editor-button{padding:8px}.engine-editor-button .button-text{display:none}}.template-editor-button{padding:8px 16px;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.template-editor-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.settings-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.settings-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.settings-button svg{transition:transform .3s ease}.settings-button:hover svg{transform:rotate(45deg)}.story-options-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.story-options-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.freeroam-toggle-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.freeroam-toggle-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.freeroam-toggle-button.active{background-color:#553c9a;color:#fff;border-color:#6b46c1}.animated-mode-fab{position:fixed;bottom:5rem;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#1e1432bf;color:#ffffff8c;border:1px solid rgba(255,255,255,.18);border-radius:50%;cursor:pointer;font-size:1.1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .2s ease}.animated-mode-fab:hover{background-color:#321e50e0;color:#fff;border-color:#fff6}.animated-mode-fab.active{background-color:#553c9a;color:#fff;border-color:#6b46c1;box-shadow:0 0 12px #6b46c180}.header-icon-button{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.header-icon-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.header-icon-button.comic-batch-active{border-color:var(--accent-blue);color:var(--accent-blue)}.comic-batch-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:600;line-height:18px;text-align:center;color:#fff;background:var(--accent-blue);border-radius:9px;pointer-events:none;font-variant-numeric:tabular-nums}.comic-header-dropdown{position:relative}.comic-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:60;padding:4px;animation:comicDropdownFadeIn .15s ease-out}@keyframes comicDropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.comic-dropdown-menu button{display:block;width:100%;padding:10px 14px;text-align:left;font-size:.85rem;color:var(--text-primary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.comic-dropdown-menu button:hover{background:var(--bg-tertiary)}.help-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.help-button:hover{background-color:var(--bg-tertiary);color:var(--accent-blue);border-color:var(--accent-blue)}.story-viewer:not(.loading-session){flex-direction:column}.story-viewer:not(.loading-session) .story-main{padding-top:10px}@media (min-width: 1024px){.story-viewer.debug-open .story-main{margin-right:520px;margin-left:20px;max-width:none;transition:margin .3s ease}.story-viewer.debug-open .story-header{margin-right:500px;transition:margin .3s ease}}@media (min-width: 768px) and (max-width: 1023px){.story-viewer.debug-open .story-main{margin-right:360px;margin-left:10px;max-width:none}.story-viewer.debug-open .story-header{margin-right:350px}}@media (max-width: 767px){.story-viewer.debug-open .story-main,.story-viewer.debug-open .story-header{opacity:.3;pointer-events:none}}@media (max-width: 768px){.admin-link-button,.user-menu .username{display:none}}.admin-link-button{background:transparent;border:1px solid rgba(99,179,237,.4);color:var(--accent-blue, #63B3ED);padding:3px 8px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.admin-link-button:hover{background:#63b3ed1a;border-color:var(--accent-blue, #63B3ED)}.ooc-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:500;width:min(88vw,480px);background:#0f0a23eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(167,139,250,.5);border-radius:10px;padding:14px 18px;cursor:pointer;animation:ooc-toast-in .2s ease;display:flex;flex-direction:column;gap:6px}.ooc-toast-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;color:#a78bfa}.ooc-toast-text{font-size:.9rem;line-height:1.5;color:#e8e4f8;margin:0}.ooc-toast-dismiss{font-size:.68rem;color:#ffffff4d;text-align:right}@keyframes ooc-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.vn-loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;overflow-y:auto;background:#09090b}.vn-loading-screen .loading-experience{min-height:100%;flex:1}.template-chat-panel{position:fixed;bottom:0;right:24px;width:400px;max-width:calc(100vw - 48px);height:580px;max-height:80vh;display:flex;flex-direction:column;background:#fff;border:1px solid #ddd;border-radius:12px 12px 0 0;box-shadow:0 -4px 24px #00000024;z-index:1000}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid #e0e0e0;background:#7c4dff;border-radius:12px 12px 0 0;flex-shrink:0}.chat-header-title{display:flex;align-items:center;gap:.5rem;color:#fff;font-weight:600;font-size:.95rem}.chat-header-icon{font-size:1.1rem}.chat-close-btn{background:none;border:none;color:#fffc;cursor:pointer;font-size:1.1rem;padding:0 .25rem;line-height:1}.chat-close-btn:hover{color:#fff}.chat-messages{overflow-y:auto;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;background:#f9f9f9;min-height:0;flex:1;margin-bottom:1rem}.chat-message{display:flex;gap:.75rem;margin-bottom:1.5rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{font-size:2rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.message-content{flex:1;min-width:0}.message-text{background:#fff;padding:1rem;border-radius:12px;line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word;box-shadow:0 2px 4px #0000000d}.chat-message.user .message-text{background:#e3f2fd;border-bottom-right-radius:4px}.chat-message.assistant .message-text{background:#f5f5f5;border-bottom-left-radius:4px}.tool-calls{margin-top:.75rem;padding:.75rem;background:#e8f5e9;border-radius:8px;border-left:4px solid #4caf50}.tool-calls-header{font-weight:600;color:#2e7d32;margin-bottom:.5rem;font-size:.9rem}.tool-call-badge{display:inline-block;background:#fff;padding:.4rem .8rem;border-radius:16px;font-size:.85rem;color:#2e7d32;margin-right:.5rem;margin-bottom:.5rem;border:1px solid #4caf50}.typing-indicator{display:flex;gap:.5rem;padding:1rem}.typing-indicator span{width:8px;height:8px;background:#999;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.chat-input-area{display:flex;gap:.75rem;margin-bottom:1rem}.chat-input-area textarea{flex:1;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:none;transition:border-color .2s ease}.chat-input-area textarea:focus{outline:none;border-color:#7c4dff}.chat-input-area textarea:disabled{background:#f5f5f5;cursor:not-allowed}.send-btn{min-width:100px}.chat-examples{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:1rem;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.examples-label{font-weight:600;color:#666;font-size:.9rem;margin-right:.5rem}.example-btn{background:#fff;border:2px solid #7c4dff;color:#7c4dff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-weight:500}.example-btn:hover{background:#7c4dff;color:#fff;transform:translateY(-1px)}@media (max-width: 768px){.chat-messages{min-height:300px;max-height:400px}.chat-examples{flex-direction:column;align-items:flex-start}.example-btn{width:100%;text-align:left}}.template-images-tab{padding:20px;max-width:1200px;margin:0 auto}.images-header{margin-bottom:30px}.images-header h3{margin:0 0 10px;font-size:24px;color:#333}.images-header .subtitle{margin:0;color:#666;font-size:14px}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px}.style-selector{margin-bottom:20px;display:flex;align-items:center;gap:10px}.style-selector label{font-weight:500;color:#333}.style-selector select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:200px}.style-selector select:disabled{opacity:.6;cursor:not-allowed}.generation-options{display:flex;gap:20px;margin-bottom:20px;padding:12px 16px;background:#f8f9fa;border-radius:6px}.gen-option{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#333;cursor:pointer}.gen-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}.prompt-preview-section{margin-bottom:24px}.prompt-cards{margin-top:16px}.prompt-info{padding:8px 12px;background:#e8f4f8;border-radius:4px;margin-bottom:12px;font-size:13px}.prompt-style-label{color:#2c6e8a;font-weight:500}.prompt-card{border:1px solid #ddd;border-radius:6px;margin-bottom:8px;overflow:hidden}.prompt-card-header{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fafafa;cursor:pointer;-webkit-user-select:none;user-select:none}.prompt-card-header:hover{background:#f0f0f0}.prompt-card-name{font-weight:600;font-size:14px;color:#333}.prompt-card-role{font-size:13px;color:#888;flex:1}.prompt-card-toggle{font-size:12px;color:#999}.prompt-card-body{padding:14px;border-top:1px solid #eee}.prompt-field{margin-bottom:14px}.prompt-field:last-child{margin-bottom:0}.prompt-field label{display:block;font-weight:500;font-size:13px;color:#555;margin-bottom:6px}.prompt-field textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical;line-height:1.5;box-sizing:border-box}.prompt-field textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff26}.prompt-field textarea:disabled{opacity:.6;cursor:not-allowed}.prompt-hint{display:block;margin-top:4px;font-size:12px;color:#999}.cover-section,.portraits-section,.design-sheets-section{margin-bottom:40px}.cover-section h4,.portraits-section h4,.design-sheets-section h4{margin:0 0 15px;font-size:18px;color:#333}.image-preview{display:flex;flex-direction:column;align-items:center;gap:15px}.image-preview img{max-width:400px;max-height:600px;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#f8f9fa;border:2px dashed #ddd;border-radius:8px}.image-placeholder p{color:#666;margin:0;font-size:14px}.portraits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.portrait-preview{display:flex;flex-direction:column;align-items:center;gap:10px}.portrait-preview img{width:100%;max-width:200px;height:auto;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a}.portrait-name{margin:0;font-size:14px;font-weight:500;color:#333;text-align:center}.design-sheets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.design-sheet-preview{display:flex;flex-direction:column;align-items:center;gap:10px}.design-sheet-preview img{width:100%;max-width:320px;height:auto;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a}.generate-all-section{display:flex;justify-content:center;margin:24px 0}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-large{padding:12px 32px;font-size:16px}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.progress-section{margin:20px 0 30px;padding:20px;background:#f8f9fa;border-radius:8px}.progress-bar{width:100%;height:24px;background:#e9ecef;border-radius:12px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#007bff,#0056b3);transition:width .3s ease}.progress-text{margin:5px 0;font-size:14px;color:#666;text-align:center}.progress-percent{margin:0;font-size:18px;font-weight:500;color:#007bff;text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.template-editor-modal{background:var(--ed-panel);border:1px solid var(--ed-hairline-strong);border-radius:8px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;color:var(--ed-text);font-family:var(--ed-font-ui);font-size:13px}.template-editor-modal button:focus-visible,.template-editor-modal input:focus-visible,.template-editor-modal select:focus-visible,.template-editor-modal textarea:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px}@media (prefers-reduced-motion: reduce){.template-editor-modal *,.template-editor-modal *:before,.template-editor-modal *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.template-editor-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ed-s3) var(--ed-s4);background:var(--ed-panel);border-bottom:1px solid var(--ed-hairline)}.template-editor-modal .modal-header h2{margin:0;font-size:14px;font-weight:600;color:var(--ed-text)}.template-editor-modal .close-btn{background:transparent;border:1px solid var(--ed-hairline-strong);font-size:16px;color:var(--ed-text-dim);cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0;line-height:1;transition:color .15s,background .15s}.template-editor-modal .close-btn:hover{background:#ffffff0f;color:var(--ed-text)}.template-editor-modal .tab-nav{display:flex;border-bottom:1px solid var(--ed-hairline);background:var(--ed-panel);overflow-x:auto;padding:0 var(--ed-s2)}.template-editor-modal .tab-nav button{background:transparent;border:none;padding:var(--ed-s2) var(--ed-s3);font-family:var(--ed-font-ui);font-size:12px;color:var(--ed-text-dim);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s;white-space:nowrap;font-weight:500}.template-editor-modal .tab-nav button:hover{color:var(--ed-text);background:transparent}.template-editor-modal .tab-nav button.active{color:var(--ed-accent);border-bottom-color:var(--ed-accent);background:transparent;font-weight:600}.template-editor-modal .tab-nav button.ai-tab{color:var(--ed-text-dim)}.template-editor-modal .tab-nav button.ai-tab:hover{color:var(--ed-text)}.template-editor-modal .tab-nav button.ai-tab.active{color:var(--ed-accent);border-bottom-color:var(--ed-accent)}.template-editor-modal .tab-content{flex:1;overflow-y:auto;padding:var(--ed-s4)}.template-editor-modal .tab-panel{max-width:700px;margin:0 auto}.template-editor-modal .template-images-tab{background:#fff;border-radius:6px}.template-editor-modal .form-group{margin-bottom:var(--ed-s3)}.template-editor-modal .form-group label{display:block;font-weight:500;color:var(--ed-text);margin-bottom:var(--ed-s1);font-size:12px}.template-editor-modal .form-group input[type=text],.template-editor-modal .form-group input[type=number],.template-editor-modal .form-group textarea,.template-editor-modal .form-group select{width:100%;padding:6px var(--ed-s2);background:var(--ed-bg);border:1px solid var(--ed-hairline-strong);border-radius:4px;color:var(--ed-text);font-size:12px;font-family:var(--ed-font-ui);transition:border-color .15s;box-sizing:border-box}.template-editor-modal .form-group input::placeholder,.template-editor-modal .form-group textarea::placeholder{color:var(--ed-text-faint)}.template-editor-modal .form-group input:focus,.template-editor-modal .form-group textarea:focus,.template-editor-modal .form-group select:focus{outline:none;border-color:var(--ed-accent);background:var(--ed-bg)}.template-editor-modal .form-group textarea{resize:vertical;min-height:80px}.template-editor-modal .form-group small{display:block;color:var(--ed-text-dim);font-size:11px;margin-top:var(--ed-s1)}.template-editor-modal .help-text{color:var(--ed-text-dim);font-size:12px;margin-bottom:var(--ed-s1);line-height:1.4}.template-editor-modal .help-text code{background:#ffffff0f;border:1px solid var(--ed-hairline);padding:0 4px;border-radius:3px;font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence)}.template-editor-modal .characters-panel,.template-editor-modal .dimensions-panel{max-width:none}.template-editor-modal .panel-header{margin-bottom:var(--ed-s3)}.template-editor-modal .characters-list,.template-editor-modal .dimensions-list{display:flex;flex-direction:column;gap:var(--ed-s2)}.template-editor-modal .character-card,.template-editor-modal .dimension-card{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;overflow:hidden;transition:border-color .15s}.template-editor-modal .character-card:hover,.template-editor-modal .dimension-card:hover{border-color:#d4a94e80}.template-editor-modal .character-header,.template-editor-modal .dimension-header{background:transparent;padding:var(--ed-s2) var(--ed-s3);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .15s}.template-editor-modal .character-header:hover,.template-editor-modal .dimension-header:hover{background:#ffffff08}.template-editor-modal .character-header h4,.template-editor-modal .dimension-header h4{margin:0;font-size:13px;font-weight:600;color:var(--ed-text)}.template-editor-modal .role-badge,.template-editor-modal .weight-badge{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);padding:1px 5px;border-radius:3px}.template-editor-modal .character-form,.template-editor-modal .dimension-form{padding:var(--ed-s3);background:transparent;border-top:1px solid var(--ed-hairline)}.template-editor-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--ed-s3) var(--ed-s4);background:var(--ed-panel);border-top:1px solid var(--ed-hairline);gap:var(--ed-s3)}.template-editor-modal .error-message{color:var(--ed-signal-bad);font-size:12px;flex:1}.template-editor-modal .modal-footer button{min-width:100px}.template-editor-modal .empty-state{text-align:center;padding:var(--ed-s4);background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-text-dim);font-size:12px}.template-editor-modal .empty-state p{margin:var(--ed-s1) 0}.template-editor-modal .btn-primary.btn-primary{background:var(--ed-accent);color:var(--ed-accent-ink);border:none;padding:6px 14px;border-radius:4px;font-family:var(--ed-font-ui);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;transform:none;box-shadow:none}.template-editor-modal .btn-primary.btn-primary:hover:not(:disabled){background:#c09538;transform:none;box-shadow:none}.template-editor-modal .btn-primary.btn-primary:disabled{opacity:.5;cursor:not-allowed}.template-editor-modal .btn-secondary.btn-secondary{background:transparent;color:var(--ed-text);border:1px solid var(--ed-hairline-strong);padding:5px 12px;border-radius:4px;font-family:var(--ed-font-ui);font-size:12px;font-weight:400;cursor:pointer;white-space:nowrap}.template-editor-modal .btn-secondary.btn-secondary:hover:not(:disabled){color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.template-editor-modal .btn-secondary.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.template-editor-modal .btn-danger.btn-danger{background:transparent;color:var(--ed-signal-bad);border:1px solid rgba(229,83,75,.35);padding:5px 12px;border-radius:4px;font-family:var(--ed-font-ui);font-size:12px;font-weight:400;cursor:pointer;white-space:nowrap}.template-editor-modal .btn-danger.btn-danger:hover{border-color:var(--ed-signal-bad);background:#e5534b1f;box-shadow:none}@media (max-width: 768px){.template-editor-modal{max-height:95vh}.template-editor-modal .tab-nav button{padding:var(--ed-s2);font-size:11px}.template-editor-modal .tab-content{padding:var(--ed-s3)}.template-editor-modal .modal-footer{flex-wrap:wrap}.template-editor-modal .error-message{width:100%;margin-bottom:var(--ed-s1)}}.tab-content--pool{padding:0;overflow:hidden;display:flex;flex-direction:column}.execution-replay-panel{display:flex;flex-direction:column;height:100%;color:#e2e8f0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.replay-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #2D3748;flex-shrink:0}.replay-header-left{display:flex;align-items:center;gap:8px}.replay-header-left h3{margin:0;font-size:14px;font-weight:600;color:#63b3ed}.replay-step-counter{font-size:12px;color:#a0aec0;background:#2d3748;padding:2px 8px;border-radius:10px}.replay-close-btn{background:none;border:none;color:#718096;font-size:16px;cursor:pointer;padding:4px;line-height:1;border-radius:4px}.replay-close-btn:hover{color:#e2e8f0;background:#2d3748}.replay-controls{display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid #2D3748;flex-shrink:0}.replay-controls button{background:#2d3748;border:1px solid #4A5568;color:#e2e8f0;padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.replay-controls button:hover:not(:disabled){background:#4a5568;border-color:#63b3ed}.replay-controls button:disabled{opacity:.4;cursor:default}.replay-controls button.running{background:#2b6cb0;border-color:#63b3ed;color:#fff}.replay-body{display:flex;flex:1;min-height:0;overflow:hidden}.replay-node-list{width:180px;min-width:140px;border-right:1px solid #2D3748;overflow-y:auto;flex-shrink:0}.replay-node-list::-webkit-scrollbar{width:4px}.replay-node-list::-webkit-scrollbar-track{background:transparent}.replay-node-list::-webkit-scrollbar-thumb{background:#4a5568;border-radius:2px}.replay-node-item{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;border-left:3px solid transparent;transition:background .15s,border-color .15s;font-size:11px}.replay-node-item:hover{background:#2d3748}.replay-node-item.completed{border-left-color:#48bb78}.replay-node-item.current{background:#4299e126;border-left-color:#63b3ed}.replay-node-item.pending{color:#718096}.replay-node-icon{font-size:12px;flex-shrink:0;width:16px;text-align:center}.replay-node-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.replay-node-duration{font-size:10px;color:#718096;font-family:Monaco,monospace;flex-shrink:0}.replay-node-status-icon{flex-shrink:0;font-size:10px}.replay-detail{flex:1;overflow-y:auto;padding:12px;min-width:0}.replay-detail::-webkit-scrollbar{width:4px}.replay-detail::-webkit-scrollbar-track{background:transparent}.replay-detail::-webkit-scrollbar-thumb{background:#4a5568;border-radius:2px}.replay-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#718096;font-size:13px;text-align:center;padding:20px}.replay-detail-header{margin-bottom:12px}.replay-detail-title{display:flex;align-items:center;gap:8px;margin-bottom:6px}.replay-detail-title .icon{font-size:16px}.replay-detail-title .name{font-size:14px;font-weight:600;color:#e2e8f0}.replay-detail-meta{display:flex;gap:12px;font-size:11px;color:#a0aec0}.replay-detail-meta .tag{background:#2d3748;padding:2px 6px;border-radius:3px}.replay-detail-meta .duration{font-family:Monaco,monospace;color:#48bb78}.replay-detail-meta .status-success{color:#48bb78}.replay-detail-meta .status-failed{color:#f56565}.replay-detail-meta .status-skipped{color:#718096}.replay-section{margin-top:10px;border:1px solid #4A5568;border-radius:6px;overflow:hidden}.replay-section-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#2d3748;cursor:pointer;font-size:11px;font-weight:600;color:#a0aec0;-webkit-user-select:none;user-select:none}.replay-section-header:hover{background:#374151}.replay-section-toggle{font-size:8px;color:#718096;transition:transform .15s}.replay-section-toggle.expanded{transform:rotate(90deg)}.replay-section-content{padding:8px 10px;background:#1a202c;border-top:1px solid #4A5568}.replay-kv-list{display:flex;flex-direction:column;gap:4px}.replay-kv-item{display:flex;flex-direction:column;gap:2px}.replay-kv-key{font-size:10px;font-weight:600;color:#63b3ed;font-family:Monaco,monospace}.replay-kv-value{font-size:10px;color:#cbd5e0;font-family:Monaco,monospace;background:#2d3748;padding:4px 6px;border-radius:3px;white-space:pre-wrap;word-break:break-all;max-height:60px;overflow:hidden;cursor:pointer;transition:max-height .2s}.replay-kv-value.expanded{max-height:none}.replay-kv-value:hover{background:#374151}.replay-kv-empty{font-size:11px;color:#718096;font-style:italic;padding:4px 0}.replay-rerun-bar{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid #21262d}.replay-rerun-btn{padding:4px 10px;font-size:11px;border:1px solid #388bfd;background:transparent;color:#388bfd;border-radius:4px;cursor:pointer;white-space:nowrap}.replay-rerun-btn:hover:not(:disabled){background:#388bfd26}.replay-rerun-btn:disabled{opacity:.5;cursor:default}.replay-rerun-btn.running{border-color:#d29922;color:#d29922}.replay-rerun-status{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-rerun-status.success{color:#3fb950}.replay-rerun-status.error{color:#f85149}.rerun-outputs-header{background:#388bfd14}.cdp-root{display:flex;flex-direction:column;height:100%;background:#0d1117;color:#e2e8f0;font-size:.8rem;overflow:hidden}.cdp-toolbar{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;background:#161b22;border-bottom:1px solid #21262d;flex-shrink:0;flex-wrap:wrap}.cdp-toolbar-title{font-weight:600;font-size:.82rem;color:#e2e8f0}.cdp-toolbar-session{font-family:monospace;font-size:.7rem;color:#4a5568}.cdp-toolbar-timing{font-size:.72rem;color:#718096;margin-right:auto}.cdp-toolbar-btn{background:#21262d;border:1px solid #2d3748;border-radius:4px;color:#a0aec0;cursor:pointer;font-size:.72rem;padding:.25rem .6rem;white-space:nowrap}.cdp-toolbar-btn:hover{background:#2d3748}.cdp-toolbar-btn--warn{border-color:#d97706;color:#d97706}.cdp-toolbar-btn--close{border-color:#4a5568}.cdp-toolbar-btn--close:hover{border-color:#fc8181;color:#fc8181}.cdp-toolbar-btn--xs{font-size:.67rem;padding:.15rem .4rem}.cdp-split{display:flex;flex:1;overflow:hidden}.cdp-inspector{flex-shrink:0;overflow-y:auto;padding:.5rem .75rem 2rem;border-right:1px solid #21262d;display:flex;flex-direction:column;gap:0;scrollbar-width:thin;scrollbar-color:#2d3748 transparent}.cdp-state{color:#718096;font-size:.78rem;padding:2rem 0;text-align:center;display:flex;align-items:center;gap:.4rem;justify-content:center}.cdp-error{color:#fc8181}.cdp-resize-handle{width:4px;background:#21262d;cursor:col-resize;flex-shrink:0;transition:background .15s}.cdp-resize-handle:hover{background:#63b3ed}.cdp-viewer{flex:1;overflow:hidden;position:relative;background:#111;display:flex;flex-direction:column;align-items:stretch}.cdp-phone-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative;gap:8px}.cdp-phone-controls{display:flex;gap:6px;flex-shrink:0}.cdp-beat-image{position:relative;margin-bottom:8px;border-radius:6px;overflow:hidden;background:#0d1117;border:1px solid #21262d}.cdp-beat-img{width:100%;height:auto;display:block}.cdp-beat-image--prompt{padding:8px 10px}.cdp-image-prompt-preview{font-size:.7rem;color:#8b949e;font-style:italic;margin:0;line-height:1.4}.cdp-beat-subbeat-count{position:absolute;bottom:6px;right:6px;background:#000000bf;color:#fffc;font-size:.65rem;padding:2px 6px;border-radius:10px;font-family:monospace}.cdp-field--line{flex-direction:column;gap:2px}.cdp-field-textarea{width:100%;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#e6edf3;font-size:.75rem;font-family:monospace;padding:4px 6px;resize:none;overflow:hidden;min-height:28px;line-height:1.4;field-sizing:content}.cdp-field-textarea:focus{outline:none;border-color:#388bfd}.cdp-field-hint{font-size:.6rem;color:#4a5568;font-style:italic;padding-left:2px}.cdp-step-nav{display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem;background:#161b22;border-bottom:1px solid #21262d;width:100%;flex-shrink:0;font-size:.72rem}.cdp-step-info{flex:1;color:#a0aec0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:monospace;font-size:.68rem}.cdp-step-count{color:#4a5568}.cdp-fullscreen-btn--inline{position:static;margin-left:auto;width:24px;height:24px;flex-shrink:0}.cdp-phone-frame{width:390px;height:844px;flex-shrink:0;position:relative;transform-origin:center center;border-radius:44px;overflow:hidden;box-shadow:0 0 0 10px #1c1c2e,0 24px 80px #000000d9}.cdp-viewer-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#4a5568;font-size:.85rem;gap:.5rem}.cdp-accordion{border-top:1px solid #21262d}.cdp-accordion-header{width:100%;display:flex;align-items:center;gap:.35rem;background:none;border:none;color:#a0aec0;cursor:pointer;font-size:.78rem;padding:.45rem 0;text-align:left;transition:color .15s}.cdp-accordion-header:hover{color:#e2e8f0}.cdp-accordion-arrow{color:#4a5568;width:10px;font-size:.7rem}.cdp-accordion-title{flex:1;font-weight:500}.cdp-accordion-badge{background:#1a3a5c;border-radius:3px;color:#63b3ed;font-size:.65rem;padding:1px 5px;font-family:monospace}.cdp-accordion-body{padding:0 0 .75rem .5rem}.cdp-accordion-body .execution-replay-panel{border:none;background:none;padding:0}.cdp-accordion-body .execution-replay-panel .replay-header{display:none}.cdp-accordion-body .execution-replay-panel .replay-controls{padding:2px 0 4px;gap:4px}.cdp-accordion-body .execution-replay-panel .replay-controls button{font-size:10px;padding:2px 6px}.cdp-accordion-body .replay-body{flex-direction:column;max-height:500px}.cdp-accordion-body .replay-node-list{max-height:160px;overflow-y:auto;border-bottom:1px solid #21262d}.cdp-accordion-body .replay-detail{max-height:340px;overflow-y:auto}.cdp-strip-section{border-top:1px solid #21262d;padding:.4rem 0 .5rem}.cdp-strip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.cdp-strip-label{font-size:.72rem;font-weight:500;color:#718096;text-transform:uppercase;letter-spacing:.05em}.cdp-beat-strip{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.cdp-beat-chip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:1px;background:#161b22;border:1px solid #21262d;border-radius:4px;cursor:pointer;padding:4px 6px;min-width:36px;transition:border-color .15s,background .15s}.cdp-beat-chip--active{background:#1a3a5c;border-color:#63b3ed}.cdp-beat-chip:hover:not(.cdp-beat-chip--active){background:#21262d;border-color:#4a5568}.cdp-chip-num{font-size:.58rem;color:#4a5568;line-height:1}.cdp-chip-icon{font-size:.82rem;line-height:1}.cdp-chip-layout{font-size:.6rem;color:#718096}.cdp-chip-shot{font-size:.56rem;color:#63b3ed;background:#63b3ed1a;border-radius:2px;padding:0 2px}.cdp-empty-strip{color:#4a5568;font-size:.75rem;padding:.3rem 0}.cdp-beat-editor{display:flex;flex-direction:column;gap:4px}.cdp-section-label{color:#4a5568;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 0 2px;border-top:1px solid #1a2028;margin-top:2px}.cdp-field{display:flex;align-items:center;gap:6px}.cdp-field--range{flex-direction:column;align-items:flex-start;gap:3px}.cdp-field-label{color:#718096;font-size:.7rem;min-width:68px;flex-shrink:0}.cdp-field-label b{color:#63b3ed}.cdp-field-select,.cdp-field-input{background:#0d1117;border:1px solid #21262d;border-radius:3px;color:#e2e8f0;font-size:.7rem;padding:2px 5px;flex:1;min-width:0}.cdp-field-select:focus,.cdp-field-input:focus{outline:none;border-color:#63b3ed}.cdp-field-slider{width:100%;accent-color:#63b3ed;cursor:pointer}.cdp-prose{color:#a0aec0;font-size:.78rem;line-height:1.65;margin:0;white-space:pre-wrap}.cdp-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;margin:0}.cdp-dl dt{color:#718096;font-size:.68rem;text-align:right;align-self:start;padding-top:1px;white-space:nowrap}.cdp-dl dd{color:#a0aec0;font-size:.72rem;margin:0;word-break:break-word}.cdp-snippet{font-family:monospace;font-size:.63rem;color:#718096;white-space:pre-wrap;word-break:break-all}.cdp-json{font-family:JetBrains Mono,Fira Code,monospace;font-size:.65rem;line-height:1.5;color:#a0aec0;margin:0;white-space:pre;overflow:auto;background:#0d1117;border:1px solid #21262d;border-radius:4px;padding:.5rem;max-height:350px}.cdp-spinner{display:inline-block;width:14px;height:14px;border:2px solid #2d3748;border-top-color:#63b3ed;border-radius:50%;animation:cdp-spin .7s linear infinite}@keyframes cdp-spin{to{transform:rotate(360deg)}}.cdp-fullscreen-btn{position:absolute;top:8px;right:8px;z-index:20;width:32px;height:32px;background:#0d1117bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #4A5568;border-radius:4px;color:#718096;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.cdp-fullscreen-btn:hover{border-color:#63b3ed;color:#63b3ed}.cdp-rail{height:100%;overflow-y:auto;padding:var(--ed-s3, 12px);background:var(--ed-bg, #0d1117);font-family:var(--ed-font-ui, sans-serif)}.cdp-rail-empty{color:var(--ed-text-faint, #6e7681);font-size:.75rem;padding:var(--ed-s4, 16px)}.cdp-rail-section-label{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ed-text-faint, #6e7681);margin-bottom:var(--ed-s2, 8px)}.cdp-rail-section-label--next{margin-top:var(--ed-s4, 16px);border-top:1px solid var(--ed-hairline, rgba(255,255,255,.08));padding-top:var(--ed-s3, 12px)}.cdp-rail-pos-row{display:flex;align-items:baseline;gap:var(--ed-s2, 8px);flex-wrap:wrap;margin-bottom:var(--ed-s2, 8px)}.cdp-rail-pos{font-family:var(--ed-font-mono, monospace);font-size:.9rem;color:var(--ed-accent, #d4a94e)}.cdp-rail-meta{display:inline-flex;gap:var(--ed-s2, 8px);flex-wrap:wrap}.cdp-rail-meta-item{font-family:var(--ed-font-mono, monospace);font-size:.68rem;color:var(--ed-text-dim, #8b949e);border:1px solid var(--ed-hairline, rgba(255,255,255,.08));border-radius:3px;padding:1px 6px}.cdp-rail-meta-char{color:var(--ed-signal-info, #58a6ff)}.cdp-rail-lines{display:flex;flex-direction:column;gap:var(--ed-s1, 4px);margin-bottom:var(--ed-s2, 8px)}.cdp-rail-line{display:flex;gap:var(--ed-s2, 8px);align-items:baseline;padding:var(--ed-s1, 4px) var(--ed-s2, 8px);border-left:2px solid transparent;border-radius:3px;color:var(--ed-text-dim, #8b949e);font-family:var(--ed-font-mono, monospace);font-size:.72rem;line-height:1.45}.cdp-rail-line--active{border-left-color:var(--ed-accent, #d4a94e);background:var(--ed-accent-dim, rgba(212,169,78,.1));color:var(--ed-evidence, #e8e3d5)}.cdp-rail-line-kind{flex-shrink:0;font-size:.7rem}.cdp-rail-line-text{white-space:pre-wrap;word-break:break-word}.cdp-rail-options{margin:0 0 var(--ed-s2, 8px) var(--ed-s4, 16px);display:flex;flex-direction:column;gap:2px}.cdp-rail-opt{display:flex;gap:var(--ed-s1, 4px);align-items:baseline;font-family:var(--ed-font-mono, monospace);font-size:.7rem;padding:2px var(--ed-s1, 4px);color:var(--ed-text-dim, #8b949e)}.cdp-rail-opt-glyph{color:var(--ed-text-faint, #6e7681);flex-shrink:0}.cdp-rail-opt-taken-mark{color:var(--ed-accent, #d4a94e);flex-shrink:0}.cdp-rail-opt--taken{color:var(--ed-evidence, #e8e3d5)}.cdp-rail-opt--untaken{opacity:.55}.cdp-rail-opt-dir{font-size:.62rem;color:var(--ed-text-faint, #6e7681);border:1px solid var(--ed-hairline, rgba(255,255,255,.08));border-radius:3px;padding:0 4px}.cdp-rail-note{font-size:.62rem;color:var(--ed-text-faint, #6e7681);font-style:italic}.cdp-rail-upcoming{display:flex;flex-direction:column;gap:var(--ed-s1, 4px);opacity:.55}.cdp-rail-up-row{display:flex;gap:var(--ed-s2, 8px);align-items:baseline;font-size:.7rem;color:var(--ed-text-dim, #8b949e)}.cdp-rail-up-pos{font-family:var(--ed-font-mono, monospace);color:var(--ed-text-faint, #6e7681);flex-shrink:0;min-width:2.6em}.cdp-rail-up-icon{flex-shrink:0}.cdp-rail-up-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pool-cinema{display:flex;flex:1;min-height:0;height:100%;background:#0d0d1a;overflow:hidden}.pool-cinema-sidebar{width:210px;flex-shrink:0;border-right:1px solid #21262d;display:flex;flex-direction:column;overflow:hidden;background:#0a0a14;transition:width .2s ease}.pool-cinema-sidebar.collapsed{width:32px}.pc-sidebar-toggle{position:relative;width:100%;height:32px;flex-shrink:0;background:none;border:none;border-bottom:1px solid #21262d;color:#4a5568;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:color .15s}.pc-sidebar-toggle:hover{color:#e2e8f0;background:#ffffff0a}.pc-sidebar-toggle-arrow{display:inline-block;transition:transform .2s ease}.pool-cinema-sidebar.collapsed .pc-sidebar-toggle-arrow{transform:rotate(180deg)}.pool-cinema-sidebar.collapsed .pc-stats-bar,.pool-cinema-sidebar.collapsed .pc-session-list,.pool-cinema-sidebar.collapsed .pc-error,.pool-cinema-sidebar.collapsed .pc-empty-sidebar{display:none}.pc-stats-bar{position:relative;height:32px;display:flex;align-items:center;border-bottom:1px solid #21262d;flex-shrink:0}.pc-stats-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:#48bb781a;pointer-events:none;transition:width .4s}.pc-stats-text{position:relative;font-size:.72rem;color:#a0aec0;padding:0 .5rem;flex:1;white-space:nowrap;overflow:hidden}.pc-stats-text strong{color:#e2e8f0}.pc-generating{color:#f6ad55}.pc-refresh-btn{position:relative;background:none;border:none;color:#4a5568;cursor:pointer;font-size:.9rem;padding:0 .5rem;height:32px;flex-shrink:0}.pc-refresh-btn:hover{color:#e2e8f0}.pc-refresh-btn:disabled{opacity:.4;cursor:default}.pc-clear-btn{position:relative;background:none;border:none;color:#4a5568;cursor:pointer;font-size:.7rem;padding:0 .5rem;height:32px;flex-shrink:0}.pc-clear-btn:hover{color:#fc8181}.pc-clear-btn:disabled{opacity:.4;cursor:default}.pc-error{padding:.5rem .6rem;font-size:.75rem;color:#fc8181;background:#fc814a14;border-bottom:1px solid #21262d}.pc-empty-sidebar{padding:1rem .75rem;font-size:.78rem;color:#4a5568}.pc-session-list{flex:1;overflow-y:auto}.pc-session-row{padding:.55rem .65rem;border-bottom:1px solid #21262d;cursor:pointer;transition:background .1s}.pc-session-row:hover{background:#ffffff08}.pc-session-row.active{background:#63b3ed12;border-left:2px solid #63b3ed;padding-left:calc(.65rem - 2px)}.pc-session-row-main{display:flex;align-items:center;gap:.35rem;margin-bottom:.2rem}.pc-session-num{font-size:.68rem;color:#4a5568;font-variant-numeric:tabular-nums}.pc-session-id{font-size:.65rem;color:#4a5568;font-family:monospace;letter-spacing:.03em}.pc-session-beats{font-size:.72rem;color:#63b3ed}.pc-session-chars{font-size:.68rem;color:#a0aec0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.pc-session-preview{font-size:.68rem;color:#4a5568;font-style:italic;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pc-delete-btn{background:none;border:none;color:#4a5568;cursor:pointer;font-size:.7rem;padding:.1rem .25rem;border-radius:3px;margin-left:auto;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s}.pc-session-row:hover .pc-delete-btn{opacity:1}.pc-delete-btn:hover{color:#fc8181;background:#f565651a}.pc-delete-btn:disabled{opacity:.4;cursor:default}.pool-cinema-inspector{width:38%;flex-shrink:0;border-right:1px solid #21262d;overflow-y:auto;display:flex;flex-direction:column}.pc-choices{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.3rem}.pc-choice{font-size:.78rem;color:#a0aec0;padding:.3rem .5rem;background:#ffffff08;border-radius:4px;border-left:2px solid #2d3748;line-height:1.4}.pc-choice-type{display:inline-block;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:#4a5568;margin-right:.4rem}.pc-beat-detail{display:flex;flex-direction:column;gap:.45rem}.pc-beat-detail-meta{display:flex;flex-wrap:wrap;gap:.25rem}.pc-detail-pill{font-size:.69rem;background:#ffffff0d;border-radius:4px;padding:.1rem .4rem;color:#a0aec0}.pc-detail-key{color:#4a5568;margin-right:.2rem}.pc-beat-caption{font-size:.78rem;color:#a0aec0;font-style:italic;margin:0;line-height:1.5}.pc-beat-dialogue{font-size:.8rem;color:#e2e8f0;margin:0;line-height:1.5}.pc-beat-interiority{font-size:.78rem;color:#b794f4;font-style:italic;margin:0;line-height:1.5}.pc-beat-rationale{font-size:.73rem;color:#68d391;font-style:italic;margin:0 0 .25rem;line-height:1.4;padding:.2rem .4rem;background:#68d3910f;border-left:2px solid rgba(104,211,145,.3);border-radius:0 3px 3px 0}.template-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto;font-family:var(--ed-font-ui)}.template-viewer{background:var(--ed-panel);border:1px solid var(--ed-hairline-strong);border-radius:8px;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;color:var(--ed-text);font-size:13px}.template-viewer button:focus-visible,.template-viewer input:focus-visible,.template-viewer select:focus-visible,.template-viewer textarea:focus-visible,.template-viewer [tabindex]:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px}@media (prefers-reduced-motion: reduce){.template-viewer *,.template-viewer *:before,.template-viewer *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.template-viewer .viewer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ed-s2) var(--ed-s3);border-bottom:1px solid var(--ed-hairline)}.template-viewer .viewer-title{display:flex;align-items:center;gap:var(--ed-s3);flex:1;min-width:0}.template-viewer .viewer-title h1{margin:0;font-size:14px;font-weight:600;color:var(--ed-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-viewer .genre-badge{font-family:var(--ed-font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);border-radius:3px;padding:0 4px;margin:0;white-space:nowrap;flex-shrink:0}.template-viewer .close-btn{background:transparent;border:1px solid var(--ed-hairline-strong);border-radius:4px;color:var(--ed-text-dim);font-size:16px;width:26px;height:26px;cursor:pointer;line-height:1;padding:0;transition:color .15s,background .15s;transform:none;flex-shrink:0}.template-viewer .close-btn:hover{background:#ffffff0f;color:var(--ed-text);transform:none}.template-viewer .viewer-tabs{display:flex;gap:var(--ed-s1);padding:var(--ed-s1) var(--ed-s3) 0;border-bottom:1px solid var(--ed-hairline);flex-wrap:wrap}.template-viewer .viewer-tabs button{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--ed-text-dim);padding:6px var(--ed-s2);cursor:pointer;font-family:var(--ed-font-ui);font-size:12px;font-weight:500;white-space:nowrap;transition:color .15s}.template-viewer .viewer-tabs button:hover{background:transparent;color:var(--ed-text)}.template-viewer .viewer-tabs button.active{background:transparent;border-bottom-color:var(--ed-accent);color:var(--ed-accent);font-weight:600}.template-viewer .viewer-content{flex:1;overflow-y:auto;padding:var(--ed-s3)}.template-viewer .tab-content{display:flex;flex-direction:column;gap:var(--ed-s3)}.template-viewer .viewer-section{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3)}.template-viewer .viewer-section h2{margin:0 0 var(--ed-s2) 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim);border-bottom:none;padding-bottom:0}.template-viewer .section-description{color:var(--ed-text-dim);margin:0 0 var(--ed-s2) 0;font-size:11px}.template-viewer .tagline{font-size:12px;color:var(--ed-text);font-style:normal;margin:0 0 var(--ed-s2) 0}.template-viewer .description{color:var(--ed-text-dim);line-height:1.5;margin:0 0 var(--ed-s2) 0;font-size:12px}.template-viewer .scene-template{background:#0000004d;border-left:2px solid var(--ed-hairline-strong);padding:var(--ed-s2) var(--ed-s3);border-radius:0 4px 4px 0;color:var(--ed-evidence);line-height:1.5;font-style:normal;font-size:12px;white-space:pre-wrap}.template-viewer .trope-list,.template-viewer .trait-list,.template-viewer .connection-list{display:flex;flex-wrap:wrap;gap:var(--ed-s1)}.template-viewer .trope-badge,.template-viewer .trait-badge,.template-viewer .connection-badge,.template-viewer .weight-badge{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);padding:1px 5px;border-radius:3px}.template-viewer .fact-list{list-style:none;padding:0;margin:0}.template-viewer .fact-list li{padding:var(--ed-s1) 0;border-bottom:1px solid var(--ed-hairline);color:var(--ed-text-dim);font-size:12px;line-height:1.5}.template-viewer .fact-list li:last-child{border-bottom:none}.template-viewer .fact-list strong{color:var(--ed-text);margin-right:var(--ed-s2)}.template-viewer .character-card,.template-viewer .location-card{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3);margin-bottom:var(--ed-s2)}.template-viewer .character-card h3,.template-viewer .location-card h3{margin:0 0 2px;font-size:13px;font-weight:600;color:var(--ed-text)}.template-viewer .character-card .role{color:var(--ed-text-dim);font-size:11px;margin:0 0 var(--ed-s2) 0;font-style:normal}.template-viewer .character-card h4,.template-viewer .location-card h4{margin:var(--ed-s2) 0 var(--ed-s1) 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim);opacity:1}.template-viewer .character-card p,.template-viewer .location-card p{font-size:12px;color:var(--ed-text-dim);line-height:1.5}.template-viewer .character-card ul{list-style:none;padding-left:var(--ed-s3);margin:var(--ed-s1) 0}.template-viewer .character-card li{padding:2px 0;color:var(--ed-text-dim);font-size:12px;position:relative}.template-viewer .character-card li:before{content:"–";position:absolute;left:-12px;color:var(--ed-text-faint)}.template-viewer .relationship-item{font-size:12px;color:var(--ed-text-dim);margin-bottom:var(--ed-s1)}.template-viewer .stance-values{display:flex;gap:var(--ed-s3);font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence)}.template-viewer .dimension-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--ed-s2)}.template-viewer .dimension-card{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s2)}.template-viewer .dimension-card h3{margin:0 0 2px;font-size:12px;font-weight:600;color:var(--ed-text);text-transform:capitalize}.template-viewer .dimension-card p{margin:0 0 var(--ed-s1) 0;color:var(--ed-text-dim);font-size:11px}.template-viewer .thread-list{display:flex;flex-direction:column;gap:var(--ed-s2)}.template-viewer .thread-card{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3)}.template-viewer .thread-card h3{margin:0 0 var(--ed-s1) 0;font-size:13px;font-weight:600;color:var(--ed-text)}.template-viewer .thread-card h4{margin:var(--ed-s2) 0 var(--ed-s1) 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim);opacity:1}.template-viewer .thread-card p{font-size:12px;color:var(--ed-text-dim);line-height:1.5;margin:0}.template-viewer .thread-card ul{list-style:none;padding-left:var(--ed-s3);margin:var(--ed-s1) 0}.template-viewer .thread-card li{padding:2px 0;color:var(--ed-text-dim);font-size:12px;position:relative}.template-viewer .thread-card li:before{content:"–";position:absolute;left:-12px;color:var(--ed-text-faint)}.template-viewer .pacing-notes p,.template-viewer .phase-descriptions .phase-item,.template-viewer .resolution-guide p,.template-viewer .style-detail p,.template-viewer .style-name,.template-viewer .resource-item,.template-viewer .flag-item{font-size:12px;color:var(--ed-text-dim);line-height:1.5}.template-viewer .pacing-notes h4,.template-viewer .phase-descriptions h4,.template-viewer .resolution-guide h4,.template-viewer .style-detail h4,.template-viewer .color-palette h4{margin:var(--ed-s2) 0 var(--ed-s1) 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim)}.template-viewer .palette-items{display:flex;flex-wrap:wrap;gap:var(--ed-s1)}.template-viewer .palette-badge{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);padding:1px 5px;border-radius:3px}.template-viewer .empty-message{text-align:center;padding:var(--ed-s4);color:var(--ed-text-dim);font-style:normal;font-size:12px}.template-viewer .loading-state,.template-viewer .error-state{text-align:center;padding:48px var(--ed-s4);color:var(--ed-text-dim);font-size:13px}.template-viewer .error-state p{color:var(--ed-signal-bad);margin-bottom:var(--ed-s3)}.template-viewer .versions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ed-s3)}.template-viewer .versions-header h2{margin:0;border-bottom:none;padding-bottom:0}.template-viewer .checkpoints-list{display:flex;flex-direction:column;gap:var(--ed-s2)}.template-viewer .checkpoint-card{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3);transition:border-color .15s}.template-viewer .checkpoint-card:hover{border-color:#d4a94e80;background:var(--ed-panel)}.template-viewer .checkpoint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ed-s2)}.template-viewer .checkpoint-header h3{margin:0;font-size:13px;font-weight:600;color:var(--ed-text);display:flex;align-items:center;gap:var(--ed-s2)}.template-viewer .version-number{font-family:var(--ed-font-mono);font-size:11px;font-weight:400;color:var(--ed-evidence);background:#ffffff0d;border:1px solid var(--ed-hairline);padding:0 5px;border-radius:3px}.template-viewer .checkpoint-type-badge{font-family:var(--ed-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);padding:1px 5px;border-radius:3px}.template-viewer .checkpoint-meta{display:flex;gap:var(--ed-s3);font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-text-faint);margin-bottom:var(--ed-s2)}.template-viewer .checkpoint-date,.template-viewer .checkpoint-author{opacity:1}.template-viewer .checkpoint-notes{color:var(--ed-text-dim);line-height:1.5;font-style:normal;font-size:12px;margin:var(--ed-s2) 0;padding:var(--ed-s2) var(--ed-s3);background:#00000040;border-radius:4px;border-left:2px solid var(--ed-hairline-strong)}.template-viewer .checkpoint-actions{display:flex;gap:var(--ed-s2);margin-top:var(--ed-s2);padding-top:var(--ed-s2);border-top:1px solid var(--ed-hairline)}.template-viewer .btn-small{padding:3px 10px;font-size:11px}.template-viewer .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000}.template-viewer .checkpoint-dialog{background:var(--ed-panel);border:1px solid var(--ed-hairline-strong);border-radius:8px;padding:var(--ed-s4);width:90%;max-width:500px;box-shadow:0 8px 32px #00000080}.template-viewer .checkpoint-dialog h3{margin:0 0 var(--ed-s3) 0;color:var(--ed-text);font-size:14px;font-weight:600}.template-viewer .form-group{margin-bottom:var(--ed-s3)}.template-viewer .form-group label{display:block;margin-bottom:var(--ed-s1);color:var(--ed-text);font-weight:500;font-size:12px}.template-viewer .form-group input,.template-viewer .form-group textarea{width:100%;background:var(--ed-bg);border:1px solid var(--ed-hairline-strong);border-radius:4px;padding:6px var(--ed-s2);color:var(--ed-text);font-family:var(--ed-font-ui);font-size:12px;transition:border-color .15s;box-sizing:border-box}.template-viewer .form-group input::placeholder,.template-viewer .form-group textarea::placeholder{color:var(--ed-text-faint)}.template-viewer .form-group input:focus,.template-viewer .form-group textarea:focus{outline:none;border-color:var(--ed-accent);background:var(--ed-bg)}.template-viewer .form-group textarea{resize:vertical;min-height:80px}.template-viewer .dialog-actions{display:flex;justify-content:flex-end;gap:var(--ed-s2);margin-top:var(--ed-s3)}.template-viewer .diff-viewer{background:var(--ed-panel);border:1px solid var(--ed-hairline-strong);border-radius:8px;width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;overflow:hidden}.template-viewer .diff-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ed-s3);border-bottom:1px solid var(--ed-hairline)}.template-viewer .diff-header h2{margin:0;color:var(--ed-text);font-size:14px;font-weight:600}.template-viewer .diff-content{flex:1;overflow-y:auto;padding:var(--ed-s3)}.template-viewer .diff-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--ed-s3);margin-bottom:var(--ed-s3);padding-bottom:var(--ed-s3);border-bottom:1px solid var(--ed-hairline)}.template-viewer .version-info{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3)}.template-viewer .version-info h3{margin:0 0 var(--ed-s1) 0;font-size:11px;color:var(--ed-text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.template-viewer .version-info p{margin:2px 0;color:var(--ed-text);font-size:12px}.template-viewer .version-date{font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-text-faint);opacity:1}.template-viewer .changes-summary{display:flex;flex-direction:column;gap:var(--ed-s3)}.template-viewer .changes-summary>h3{margin:0;color:var(--ed-text);font-size:13px;font-weight:600}.template-viewer .change-category{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3)}.template-viewer .change-category.modified{border-left:2px solid var(--ed-signal-warn)}.template-viewer .change-category.added{border-left:2px solid var(--ed-signal-ok)}.template-viewer .change-category.removed{border-left:2px solid var(--ed-signal-bad)}.template-viewer .change-category h4{margin:0 0 var(--ed-s2) 0;color:var(--ed-text);font-size:12px;font-weight:600}.template-viewer .change-item{margin-bottom:var(--ed-s3);padding-bottom:var(--ed-s3);border-bottom:1px solid var(--ed-hairline)}.template-viewer .change-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.template-viewer .change-item strong{display:block;margin-bottom:var(--ed-s1);color:var(--ed-text);font-family:var(--ed-font-mono);font-size:11px}.template-viewer .diff-text{background:#0000004d;border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s2);overflow-x:auto;font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence);white-space:pre-wrap;line-height:1.4}.template-viewer .change-values{display:grid;grid-template-columns:1fr 1fr;gap:var(--ed-s2)}.template-viewer .old-value,.template-viewer .new-value{background:#0000004d;border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s2)}.template-viewer .old-value{border-left:2px solid var(--ed-signal-bad)}.template-viewer .new-value{border-left:2px solid var(--ed-signal-ok)}.template-viewer .old-value .label,.template-viewer .new-value .label{display:block;font-weight:600;margin-bottom:var(--ed-s1);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.template-viewer .old-value .label{color:var(--ed-signal-bad)}.template-viewer .new-value .label{color:var(--ed-signal-ok)}.template-viewer .old-value pre,.template-viewer .new-value pre{margin:0;font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence);overflow-x:auto;white-space:pre-wrap;line-height:1.4}.template-viewer .error-message{text-align:center;padding:var(--ed-s4);color:var(--ed-signal-bad);font-size:12px}.template-viewer .chapters-list{display:flex;flex-direction:column;gap:var(--ed-s2);margin-bottom:var(--ed-s3)}.template-viewer .chapter-card{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3)}.template-viewer .chapter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ed-s1)}.template-viewer .chapter-header h3{margin:0;font-size:13px;font-weight:600;color:var(--ed-text)}.template-viewer .turns-badge{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);padding:1px 5px;border-radius:3px}.template-viewer .chapter-card p{margin:0;color:var(--ed-text-dim);font-size:12px;line-height:1.5}.template-viewer .key-events,.template-viewer .chapter-theme{font-size:11px;color:var(--ed-text-dim);margin-top:var(--ed-s1)}.template-viewer .act-section{margin-bottom:var(--ed-s3)}.template-viewer .act-section h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim);margin:0 0 var(--ed-s2) 0;padding-bottom:var(--ed-s1);border-bottom:1px solid var(--ed-hairline)}.template-viewer .events-grid{display:flex;flex-direction:column;gap:var(--ed-s2)}.template-viewer .event-card{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3);border-left:1px solid var(--ed-hairline)}.template-viewer .event-card.event-type-setup,.template-viewer .event-card.event-type-complication,.template-viewer .event-card.event-type-revelation,.template-viewer .event-card.event-type-climax,.template-viewer .event-card.event-type-resolution{border-left-color:var(--ed-hairline)}.template-viewer .event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ed-s1)}.template-viewer .event-header h4{margin:0;font-size:12px;font-weight:600;color:var(--ed-text)}.template-viewer .event-type-badge{font-family:var(--ed-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);padding:1px 5px;border-radius:3px}.template-viewer .event-description{margin:0 0 var(--ed-s2) 0;color:var(--ed-text-dim);font-size:12px;line-height:1.4}.template-viewer .event-meta{display:flex;flex-wrap:wrap;gap:var(--ed-s2);font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-text-dim)}.template-viewer .turn-range{background:#ffffff0d;border:1px solid var(--ed-hairline);padding:1px 5px;border-radius:3px}.template-viewer .requires{background:#d299221a;border:1px solid rgba(210,153,34,.3);padding:1px 5px;border-radius:3px;color:var(--ed-signal-warn)}.template-viewer .event-prompt{margin-top:var(--ed-s2)}.template-viewer .event-prompt summary{cursor:pointer;font-size:11px;color:var(--ed-text-dim);padding:2px 0}.template-viewer .event-prompt summary:hover{color:var(--ed-accent);text-decoration:none}.template-viewer .event-prompt pre{margin:var(--ed-s1) 0 0 0;padding:var(--ed-s2);background:#0000004d;border:1px solid var(--ed-hairline);border-radius:4px;font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence);white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto}.template-viewer .library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--ed-s2)}.template-viewer .library-item{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s3)}.template-viewer .library-item--kernel{border-color:#d4a94e66;box-shadow:none}.template-viewer .library-item-header{display:flex;align-items:center;gap:var(--ed-s2);margin-bottom:var(--ed-s1)}.template-viewer .library-item-type{font-family:var(--ed-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);border-radius:3px;padding:0 4px}.template-viewer .library-kernel-badge{font-family:var(--ed-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-accent);background:var(--ed-accent-dim);border-radius:3px;padding:0 4px}.template-viewer .library-weight{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-faint);margin-left:auto}.template-viewer .library-item-title{font-size:12px;font-weight:600;color:var(--ed-text);margin:0 0 var(--ed-s1) 0}.template-viewer .library-item-content{font-size:12px;color:var(--ed-text-dim);line-height:1.5}.template-viewer .library-item-content p{margin:0 0 var(--ed-s1) 0}.template-viewer .library-content-field{margin-bottom:var(--ed-s1)}.template-viewer .library-content-label{display:block;font-size:10px;text-transform:capitalize;color:var(--ed-text-faint);margin-bottom:2px}.template-viewer .library-craft-note{font-size:11px;color:var(--ed-signal-warn);margin-top:var(--ed-s1);padding-top:var(--ed-s1);border-top:1px solid var(--ed-hairline);font-style:normal}.template-viewer .library-craft-label{font-style:normal;font-weight:600}.template-viewer .library-tags{display:flex;flex-wrap:wrap;gap:var(--ed-s1);margin-top:var(--ed-s1)}.template-viewer .library-tag{font-family:var(--ed-font-mono);font-size:10px;background:#ffffff0d;border:1px solid var(--ed-hairline);border-radius:3px;padding:0 4px;color:var(--ed-text-dim)}.template-viewer .library-preconditions{display:flex;gap:var(--ed-s2);font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-faint);margin-top:var(--ed-s1)}.template-viewer .btn-primary{background:var(--ed-accent);color:var(--ed-accent-ink);border:none;padding:5px 12px;border-radius:4px;font-family:var(--ed-font-ui);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;transform:none;box-shadow:none}.template-viewer .btn-primary:hover:not(:disabled){background:#c09538;transform:none;box-shadow:none}.template-viewer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.template-viewer .btn-secondary{background:transparent;color:var(--ed-text);border:1px solid var(--ed-hairline-strong);padding:4px 10px;border-radius:4px;font-size:12px;font-weight:400;font-family:var(--ed-font-ui);cursor:pointer;white-space:nowrap}.template-viewer .btn-secondary:hover:not(:disabled){color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.template-viewer .btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){.template-viewer .diff-meta,.template-viewer .change-values{grid-template-columns:1fr}}@media (max-width: 768px){.template-viewer-overlay{padding:0}.template-viewer{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.template-viewer .viewer-header{position:sticky;top:0;background:var(--ed-panel);z-index:10}.template-viewer .viewer-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:var(--ed-panel)}.template-viewer .viewer-tabs button{flex-shrink:0}.template-viewer .dimension-grid,.template-viewer .library-grid{grid-template-columns:1fr}.template-viewer .diff-viewer{width:100%;max-height:100vh;border-radius:0}.template-viewer .checkpoint-dialog{width:95%;padding:var(--ed-s3)}}.template-library{padding:var(--ed-s4) var(--ed-s4) 48px;max-width:none;margin:0;min-height:100vh;background:var(--ed-bg);color:var(--ed-text);font-family:var(--ed-font-ui);font-size:13px}.template-library .library-header,.template-library .template-section,.template-library .loading-state,.template-library .error-state{max-width:1040px;margin-left:auto;margin-right:auto}.template-library button:focus-visible,.template-library input:focus-visible,.template-library select:focus-visible,.template-library textarea:focus-visible,.template-library [tabindex]:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px}@media (prefers-reduced-motion: reduce){.template-library *,.template-library *:before,.template-library *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.template-library .library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ed-s4);padding-bottom:var(--ed-s3);border-bottom:1px solid var(--ed-hairline)}.template-library .library-header .header-left,.template-library .library-header .header-right{display:flex;align-items:center;gap:var(--ed-s3)}.template-library .library-header h1{margin:0;font-size:15px;font-weight:600;color:var(--ed-text);letter-spacing:.01em;background:none;-webkit-text-fill-color:currentColor}.template-library .btn-back{background:transparent;border:1px solid var(--ed-hairline-strong);color:var(--ed-text-dim);padding:4px 10px;border-radius:4px;font-family:var(--ed-font-ui);font-size:12px;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}.template-library .btn-back:hover{color:var(--ed-text);background:#ffffff0f}.template-library .user-menu{display:flex;align-items:center;gap:var(--ed-s2);margin-left:var(--ed-s2);padding-left:var(--ed-s3);border-left:1px solid var(--ed-hairline)}.template-library .username{font-size:12px;color:var(--ed-text-dim)}.template-library .btn-logout{background:transparent;border:1px solid var(--ed-hairline-strong);color:var(--ed-text-dim);padding:3px 8px;border-radius:4px;font-family:var(--ed-font-ui);font-size:11px;cursor:pointer;white-space:nowrap}.template-library .btn-logout:hover{color:var(--ed-text);background:#ffffff0f}.template-library .auth-notice{color:var(--ed-text-dim);font-size:12px;font-style:normal;margin:0}.template-library .template-section{margin-bottom:var(--ed-s4)}.template-library .template-section h2{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim);margin:0 0 2px}.template-library .section-description{color:var(--ed-text-dim);margin:0 0 var(--ed-s2) 0;font-size:11px}.template-library .template-grid{display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--ed-s1)}.template-library .template-card{position:static;display:flex;align-items:center;gap:var(--ed-s3);padding:var(--ed-s2) var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;cursor:pointer;text-align:left;box-shadow:none;transform:none;transition:border-color .15s}.template-library .template-card:hover,.template-library .template-card:focus{border-color:#d4a94e80;background:var(--ed-panel);box-shadow:none;transform:none;outline:none}.template-library .template-card:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px}.template-library .tl-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.template-library .template-card h3{margin:0;font-size:13px;font-weight:600;color:var(--ed-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-library .tl-card-meta{display:flex;align-items:center;gap:var(--ed-s2);min-width:0}.template-library .genre-badge{font-family:var(--ed-font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);border-radius:3px;padding:0 4px;margin:0;white-space:nowrap;flex-shrink:0}.template-library .tagline{color:var(--ed-text-dim);font-size:11px;font-style:normal;line-height:1.4;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.template-library .forked-badge{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim);font-style:normal;margin:0;white-space:nowrap;flex-shrink:0}.template-library .card-actions{display:flex;gap:var(--ed-s1);margin:0 0 0 auto;justify-content:flex-end;width:auto;flex-shrink:0}.template-library .tl-card-btn{background:transparent;color:var(--ed-text);border:1px solid var(--ed-hairline-strong);padding:3px 10px;border-radius:4px;font-family:var(--ed-font-ui);font-size:11px;font-weight:400;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}.template-library .tl-card-btn:hover:not(:disabled){color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.template-library .tl-card-btn:disabled{opacity:.4;cursor:not-allowed}.template-library .tl-card-btn--danger{color:var(--ed-signal-bad);border-color:#e5534b59}.template-library .tl-card-btn--danger:hover:not(:disabled){color:var(--ed-signal-bad);border-color:var(--ed-signal-bad);background:#e5534b1f}.template-library .loading-state,.template-library .error-state{text-align:center;padding:48px var(--ed-s4);color:var(--ed-text-dim);font-size:13px}.template-library .error-state{color:var(--ed-signal-bad)}.template-library .empty-state{text-align:center;padding:var(--ed-s4);background:var(--ed-panel);border-radius:4px;border:1px solid var(--ed-hairline);color:var(--ed-text-dim);font-size:12px}.template-library .empty-state p{margin:var(--ed-s1) 0}.template-library .btn-primary{background:var(--ed-accent);color:var(--ed-accent-ink);border:none;padding:6px 14px;border-radius:4px;font-family:var(--ed-font-ui);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;transform:none;box-shadow:none}.template-library .btn-primary:hover:not(:disabled){background:#c09538;transform:none;box-shadow:none}.template-library .btn-primary:disabled{opacity:.5;cursor:not-allowed}.template-library .btn-secondary{background:transparent;color:var(--ed-text);border:1px solid var(--ed-hairline-strong);padding:4px 10px;border-radius:4px;font-family:var(--ed-font-ui);font-size:12px;font-weight:400;cursor:pointer;white-space:nowrap}.template-library .btn-secondary:hover:not(:disabled){color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.template-library .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.template-library .btn-danger{background:transparent;color:var(--ed-signal-bad);border:1px solid rgba(229,83,75,.35);padding:4px 10px;border-radius:4px;font-family:var(--ed-font-ui);font-size:12px;font-weight:400;cursor:pointer;white-space:nowrap}.template-library .btn-danger:hover{border-color:var(--ed-signal-bad);background:#e5534b1f;box-shadow:none}@media (max-width: 900px){.template-library{padding:var(--ed-s3) var(--ed-s3) 32px}.template-library .tl-card-meta{flex-wrap:wrap}.template-library .tagline{white-space:normal;overflow:visible;text-overflow:clip}}@media (max-width: 640px){.template-library .library-header{flex-direction:column;align-items:flex-start;gap:var(--ed-s2)}.template-library .library-header .header-left{width:100%;justify-content:space-between}.template-library .library-header .header-right{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:var(--ed-s2)}.template-library .user-menu{display:none}.template-library .template-card{flex-direction:column;align-items:stretch;gap:var(--ed-s2)}.template-library .card-actions{margin:0;justify-content:flex-end}}.template-card.pool{border-left:4px solid var(--accent-green)}.template-card.pool:hover{border-color:var(--accent-green);box-shadow:0 4px 12px #4caf504d}.template-card.pool.expanded{border-color:var(--accent-green);background:#282832f2}.pool-template-group{margin-bottom:2rem}.pool-template-name{font-size:1.15rem;color:var(--accent-green);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(76,175,80,.2)}.bible-stats{display:flex;gap:.5rem;flex-shrink:0}.bible-stat{background:#4caf5026;color:var(--accent-green);padding:.2rem .6rem;border-radius:10px;font-size:.8rem;border:1px solid rgba(76,175,80,.3);white-space:nowrap}.bible-character-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.bible-character-tag{background:#ffffff14;color:var(--text-secondary);padding:.15rem .5rem;border-radius:4px;font-size:.85rem;border:1px solid rgba(255,255,255,.1)}.bible-character-tag.more{color:var(--accent-green);font-style:italic}.bible-character-list.full{margin-bottom:0}.bible-details{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.bible-detail-section{margin-bottom:1rem}.bible-detail-section h4{font-size:.9rem;color:var(--accent-green);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.bible-section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.5rem;padding:.4rem 0;transition:color .15s}.bible-section-toggle:hover{color:#fff}.toggle-arrow{font-size:.7rem;width:.9rem;display:inline-block}.bible-section-count{background:#4caf5026;color:var(--accent-green);padding:.1rem .45rem;border-radius:8px;font-size:.75rem;font-weight:400;margin-left:.25rem}.bible-section-body{padding-left:1.4rem;padding-top:.25rem}.bible-character-cards{display:flex;flex-direction:column;gap:.75rem}.bible-char-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:.75rem}.bible-char-card-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.bible-char-card-header strong{color:var(--text-primary);font-size:.95rem}.bible-char-pronoun{font-size:.8rem;color:#fff6;font-style:italic}.bible-char-field{font-size:.85rem;color:var(--text-secondary);line-height:1.4;margin-top:.2rem}.bible-char-field .field-label{color:#ffffff80;font-size:.8rem}.bible-secret-group{margin-bottom:.75rem}.bible-secret-char{font-size:.9rem;color:var(--text-primary);margin:0 0 .4rem;font-weight:600}.bible-secret-entry{background:#ff64640d;border-left:2px solid rgba(255,100,100,.3);padding:.5rem .75rem;margin-bottom:.5rem;border-radius:0 4px 4px 0}.bible-secret-name{font-size:.85rem;color:#ff8a80;font-weight:500;margin-bottom:.25rem}.bible-secret-summary{font-size:.85rem;color:var(--text-secondary);font-style:italic;margin-bottom:.2rem}.bible-secret-details{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.bible-secret-connections,.bible-secret-evidence{font-size:.8rem;color:#fff6;margin-top:.3rem}.bible-timeline{position:relative;padding-left:1rem;border-left:2px solid rgba(76,175,80,.2)}.bible-timeline-entry{position:relative;padding-bottom:.75rem;margin-bottom:.5rem}.bible-timeline-entry:before{content:"";position:absolute;left:-1.35rem;top:.4rem;width:8px;height:8px;border-radius:50%;background:var(--accent-green)}.bible-timeline-date{font-size:.8rem;color:var(--accent-green);font-weight:500;margin-bottom:.15rem}.bible-timeline-event{font-size:.85rem;color:var(--text-primary);line-height:1.4}.bible-timeline-chars{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.bible-timeline-consequence{font-size:.8rem;color:#fff6;font-style:italic;margin-top:.2rem}.bible-connections{display:flex;flex-direction:column;gap:.5rem}.bible-connection-entry{background:#6496ff0d;border-left:2px solid rgba(100,150,255,.3);padding:.5rem .75rem;border-radius:0 4px 4px 0}.bible-connection-chars{font-size:.9rem;color:var(--accent-blue);font-weight:500;margin-bottom:.2rem}.bible-connection-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.bible-connection-evidence{font-size:.8rem;color:#fff6;margin-top:.25rem}.bible-ground-truth{display:flex;flex-direction:column;gap:.5rem}.bible-truth-entry{display:flex;flex-direction:column;gap:.15rem}.bible-truth-label{font-size:.8rem;color:#ffab40;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.bible-truth-value{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.bible-world-facts{display:flex;flex-direction:column;gap:.4rem}.bible-fact-entry{display:flex;flex-direction:column;gap:.1rem}.bible-fact-label{font-size:.8rem;color:#ffffff80;font-weight:500}.bible-fact-value{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.bible-meta-row{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.05);margin-bottom:0}.bible-meta{display:inline-block;font-size:.8rem;color:#fff6;margin-right:1rem}.bible-thread-list{list-style:none;padding:0;margin:0}.bible-thread-list li{color:var(--text-secondary);padding:.25rem 0;font-size:.9rem}.bible-thread-list li:before{content:"•";color:var(--accent-green);margin-right:.5rem}.template-editor-page .asset-action-menu{display:flex;flex-direction:column;gap:var(--ed-s1);margin-top:var(--ed-s1);font-family:var(--ed-font-ui)}.template-editor-page .asset-action-row{display:flex;flex-wrap:wrap;gap:var(--ed-s1)}.template-editor-page .asset-action-btn{font-size:11px;line-height:1.2;padding:3px 7px;border-radius:4px;border:1px solid var(--ed-hairline-strong);background:var(--ed-panel);color:var(--ed-text-dim);cursor:pointer}.template-editor-page .asset-action-btn:hover:not(:disabled){color:var(--ed-text);border-color:var(--ed-accent)}.template-editor-page .asset-action-btn:disabled{opacity:.5;cursor:default}.template-editor-page .asset-action-btn.is-canonical{color:var(--ed-signal-ok);border-color:var(--ed-signal-ok)}.template-editor-page .asset-action-btn.asset-action-danger{color:var(--ed-signal-bad)}.template-editor-page .asset-action-btn.asset-action-danger:hover:not(:disabled){border-color:var(--ed-signal-bad)}.template-editor-page .asset-retag-row{display:flex;align-items:center;gap:var(--ed-s1)}.template-editor-page .asset-retag-row input{font-family:var(--ed-font-mono);font-size:11px;padding:3px 6px;border-radius:4px;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg);color:var(--ed-text);width:120px}.template-editor-page .asset-action-error{display:flex;align-items:center;gap:var(--ed-s1);font-size:11px;color:var(--ed-signal-bad)}.template-editor-page .asset-action-error-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.template-editor-page .asset-status-chip{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-signal-warn)}.template-editor-page .characters-tab .cast-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--ed-s3);align-items:start}.template-editor-page .characters-tab .cast-rail{list-style:none;margin:0;padding:0;width:232px;background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px;overflow:hidden auto;position:sticky;top:var(--ed-s3);max-height:calc(100vh - 120px);transition:width .18s ease}.template-editor-page .characters-tab .cast-rail.collapsed{width:56px}.template-editor-page .characters-tab .cast-rail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ed-s1);padding:var(--ed-s1) var(--ed-s2) var(--ed-s1) var(--ed-s3);font-family:var(--ed-font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ed-text-faint);border-bottom:1px solid var(--ed-hairline)}.template-editor-page .characters-tab .cast-rail-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-editor-page .characters-tab .cast-rail-toggle{flex:0 0 auto;font-size:12px;line-height:1;padding:2px 6px;color:var(--ed-text-faint)}.template-editor-page .characters-tab .cast-row{display:flex;align-items:stretch;border-bottom:1px solid var(--ed-hairline)}.template-editor-page .characters-tab .cast-row:last-child{border-bottom:none}.template-editor-page .characters-tab .cast-row.selected{background:var(--ed-accent-dim);box-shadow:inset 2px 0 0 var(--ed-accent)}.template-editor-page .characters-tab .cast-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--ed-s2);padding:var(--ed-s2) var(--ed-s2) var(--ed-s2) var(--ed-s3);background:none;border:none;color:var(--ed-text);font-family:var(--ed-font-ui);text-align:left;cursor:pointer}.template-editor-page .characters-tab .cast-row:not(.selected) .cast-row-main:hover{background:#ffffff08}.template-editor-page .characters-tab .cast-thumb{width:36px;height:36px;flex:0 0 36px;border-radius:4px;object-fit:cover;object-position:top;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg)}.template-editor-page .characters-tab .cast-thumb-fallback{display:inline-flex;align-items:center;justify-content:center;font-family:var(--ed-font-mono);font-size:15px;color:var(--ed-text-dim)}.template-editor-page .characters-tab .cast-row-text{min-width:0;display:flex;flex-direction:column;gap:2px}.template-editor-page .characters-tab .cast-row-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-editor-page .characters-tab .cast-row-chips{display:flex;align-items:center;gap:var(--ed-s1);min-width:0}.template-editor-page .characters-tab .playable-badge{font-family:var(--ed-font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:3px;color:var(--ed-accent);background:var(--ed-accent-dim);border:1px solid rgba(212,169,78,.35);white-space:nowrap}.template-editor-page .characters-tab .cast-warning-dot{flex:0 0 8px;width:8px;height:8px;margin-left:auto;border-radius:50%;background:var(--ed-signal-warn)}.template-editor-page .characters-tab .cast-star{flex:0 0 auto;align-self:center;padding:var(--ed-s1);margin-right:var(--ed-s1);border:none;background:none;font-size:14px;line-height:1;color:var(--ed-text-faint);cursor:pointer;opacity:0;transition:opacity .12s ease}.template-editor-page .characters-tab .cast-row:hover .cast-star,.template-editor-page .characters-tab .cast-row:focus-within .cast-star,.template-editor-page .characters-tab .cast-star:focus-visible,.template-editor-page .characters-tab .cast-star.starred,.template-editor-page .characters-tab .cast-star.cast-detail-star{opacity:1}.template-editor-page .characters-tab .cast-star:hover:not(:disabled){color:var(--ed-accent)}.template-editor-page .characters-tab .cast-star.starred{color:var(--ed-accent)}.template-editor-page .characters-tab .cast-star:disabled{cursor:default;opacity:0}.template-editor-page .characters-tab .cast-star.cast-detail-star{font-size:16px;margin-right:0}.template-editor-page .characters-tab .cast-star.cast-detail-star:disabled{opacity:.4}.template-editor-page .characters-tab .protagonist-chip{font-family:var(--ed-font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:3px;color:var(--ed-accent);background:var(--ed-accent-dim);border:1px solid rgba(212,169,78,.55);white-space:nowrap}.template-editor-page .characters-tab .cast-rail.collapsed .cast-protagonist-badge{position:absolute;top:2px;left:5px;font-size:10px;line-height:1;color:var(--ed-accent);text-shadow:0 0 2px var(--ed-bg)}.template-editor-page .characters-tab .protagonist-banner{margin:0 0 var(--ed-s3);padding:var(--ed-s1) var(--ed-s2);font-size:11px;color:var(--ed-text-dim);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-left:2px solid var(--ed-text-faint);border-radius:4px}.template-editor-page .characters-tab .protagonist-dangling{margin:0 0 var(--ed-s3);padding:var(--ed-s2);font-size:12px;color:var(--ed-signal-warn);background:#d2992214;border:1px solid var(--ed-signal-warn);border-radius:4px}.template-editor-page .characters-tab .protagonist-dangling code{font-family:var(--ed-font-mono)}.template-editor-page .characters-tab .cast-rail.collapsed .cast-rail-header{justify-content:center;padding:var(--ed-s1)}.template-editor-page .characters-tab .cast-rail.collapsed .cast-rail-title,.template-editor-page .characters-tab .cast-rail.collapsed .cast-row-text{display:none}.template-editor-page .characters-tab .cast-rail.collapsed .cast-row-main{position:relative;justify-content:center;padding:var(--ed-s2)}.template-editor-page .characters-tab .cast-rail.collapsed .cast-row.selected .cast-thumb{outline:2px solid var(--ed-accent);outline-offset:1px}.template-editor-page .characters-tab .cast-rail.collapsed .cast-warning-dot{position:absolute;top:4px;right:7px;margin-left:0;border:1px solid var(--ed-bg)}.template-editor-page .characters-tab .cast-detail{min-width:0}.template-editor-page .characters-tab .cast-detail-header{display:flex;align-items:center;gap:var(--ed-s2);margin-bottom:var(--ed-s3)}.template-editor-page .characters-tab .cast-detail-header h3{margin:0;font-size:16px;font-weight:600}.template-editor-page .characters-tab .cast-issues{font-size:11px;color:var(--ed-signal-warn)}.template-editor-page .characters-tab .cast-detail-actions{margin-left:auto}.template-editor-page .characters-tab .cast-section{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px;padding:var(--ed-s3);margin-bottom:var(--ed-s3)}.template-editor-page .characters-tab .cast-section>h4{margin:0 0 var(--ed-s3);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ed-text-dim)}.template-editor-page .characters-tab .cast-section h5{margin:0 0 var(--ed-s2);font-size:11px;font-weight:600;color:var(--ed-text-dim)}.template-editor-page .characters-tab .section-count{font-family:var(--ed-font-mono);font-weight:400;color:var(--ed-text-faint)}.template-editor-page .characters-tab .mono-input{font-family:var(--ed-font-mono)}.template-editor-page .characters-tab .mono-hint{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-faint);word-break:break-all}.template-editor-page .characters-tab .cast-id-readout{display:block;font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-faint);word-break:break-all}.template-editor-page .characters-tab .cast-id-legacy{display:block;font-size:10px;color:var(--ed-text-dim)}.template-editor-page .characters-tab .cast-id-legacy code{font-family:var(--ed-font-mono)}.template-editor-page .characters-tab .cast-normalize-btn{padding:0;border:none;background:none;font-size:10px;color:var(--ed-accent);text-decoration:underline;cursor:pointer}.template-editor-page .characters-tab .cast-rename-panel{margin-top:var(--ed-s2);padding:var(--ed-s2);background:var(--ed-bg);border:1px solid var(--ed-hairline-strong);border-left:2px solid var(--ed-accent);border-radius:4px}.template-editor-page .characters-tab .cast-rename-question{display:block;font-size:11px;line-height:1.5;color:var(--ed-text-dim);word-break:break-word}.template-editor-page .characters-tab .cast-rename-question code{font-family:var(--ed-font-mono);color:var(--ed-text)}.template-editor-page .characters-tab .cast-rename-ids{color:var(--ed-text-faint)}.template-editor-page .characters-tab .cast-rename-actions{display:flex;gap:var(--ed-s2);margin-top:var(--ed-s2)}.template-editor-page .characters-tab .orphan-refs{display:block;font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-signal-warn);word-break:break-word}.template-editor-page .characters-tab .speech-patterns-readonly{font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-text-dim);background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s2);margin:0;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.template-editor-page .characters-tab textarea.autogrow{resize:none;overflow-y:auto;box-sizing:border-box;min-height:48px;max-height:200px;line-height:1.5}.template-editor-page .characters-tab textarea.autogrow-line{min-height:29px}.template-editor-page .characters-tab .voice-preview-row{margin-top:var(--ed-s1)}.template-editor-page .characters-tab .voice-preview-btn{white-space:nowrap}.template-editor-page .characters-tab .voice-preview-lines{margin:var(--ed-s2) 0 0;padding:var(--ed-s2) var(--ed-s3);background:var(--ed-bg);border-left:2px solid var(--ed-hairline-strong);border-radius:0 4px 4px 0}.template-editor-page .characters-tab .voice-preview-lines p{margin:0 0 var(--ed-s1);font-size:12px;font-style:italic;line-height:1.6;color:var(--ed-text-dim)}.template-editor-page .characters-tab .voice-preview-lines p:last-child{margin-bottom:0}.template-editor-page .characters-tab .voice-preview-error{display:flex;align-items:flex-start;gap:var(--ed-s2);margin-top:var(--ed-s2);padding:var(--ed-s1) var(--ed-s2);font-size:11px;color:var(--ed-signal-warn);background:#d2992214;border:1px solid var(--ed-signal-warn);border-radius:4px;word-break:break-word}.template-editor-page .characters-tab .voice-preview-error span{flex:1}.template-editor-page .characters-tab .voice-preview-dismiss{flex:0 0 auto;padding:0 4px;font-size:13px;line-height:1;color:var(--ed-text-dim)}.template-editor-page .characters-tab .form-row .form-group.goal-importance{flex:0 0 180px}.template-editor-page .characters-tab .goal-importance-help{display:block;font-size:10px;line-height:1.4;color:var(--ed-text-dim)}.template-editor-page .characters-tab .cast-playable-group label{display:flex;align-items:center;gap:var(--ed-s1);cursor:pointer;white-space:nowrap}.template-editor-page .characters-tab .cast-empty-note{font-size:11px;color:var(--ed-text-faint);margin:var(--ed-s1) 0}.template-editor-page .characters-tab .secret-item{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:var(--ed-s2);align-items:start;margin-bottom:var(--ed-s2)}.template-editor-page .characters-tab .secret-item>textarea:first-child{grid-column:1 / 3}.template-editor-page .characters-tab .story-relationships{margin-top:var(--ed-s3);padding-top:var(--ed-s2);border-top:1px solid var(--ed-hairline)}.template-editor-page .characters-tab .story-relationship-row{padding:var(--ed-s2) 0;border-bottom:1px solid var(--ed-hairline)}.template-editor-page .characters-tab .story-relationship-row:last-of-type{border-bottom:none}.template-editor-page .characters-tab .story-relationship-head{display:flex;align-items:center;gap:var(--ed-s2);flex-wrap:wrap}.template-editor-page .characters-tab .story-relationship-note{margin:var(--ed-s1) 0 0;font-size:11px;line-height:1.5;color:var(--ed-text-dim);white-space:pre-line}.template-editor-page .characters-tab .appearance-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ed-s3);align-items:start}.template-editor-page .characters-tab .appearance-fields{min-width:0}.template-editor-page .characters-tab .wardrobe-block{margin-top:var(--ed-s3);padding-top:var(--ed-s2);border-top:1px solid var(--ed-hairline)}.template-editor-page .characters-tab .wardrobe-list{margin-bottom:var(--ed-s2)}.template-editor-page .characters-tab .wardrobe-item{padding:var(--ed-s2) 0;border-bottom:1px solid var(--ed-hairline)}.template-editor-page .characters-tab .wardrobe-item:last-child{border-bottom:none}.template-editor-page .characters-tab .wardrobe-item-head{display:flex;align-items:center;gap:var(--ed-s2)}.template-editor-page .characters-tab .default-badge{font-family:var(--ed-font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:3px;color:var(--ed-signal-ok);background:#3fb9501f;white-space:nowrap}.template-editor-page .characters-tab .wardrobe-desc{margin:var(--ed-s1) 0 0;font-size:11px;line-height:1.5;color:var(--ed-text-dim);overflow-wrap:anywhere}.template-editor-page .characters-tab .outfit-card{display:flex;gap:var(--ed-s2);align-items:flex-start}.template-editor-page .characters-tab .outfit-card-active{background:#ffffff05;box-shadow:inset 2px 0 0 var(--ed-accent);padding-left:var(--ed-s2)}.template-editor-page .characters-tab .outfit-card-main{min-width:0;flex:1}.template-editor-page .characters-tab .outfit-thumb{position:relative;display:block;flex:none;padding:0;margin:0;border:none;background:none;cursor:pointer}.template-editor-page .characters-tab .outfit-thumb img{width:64px;height:64px;object-fit:cover;object-position:top;border-radius:4px;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg);display:block;cursor:zoom-in}.template-editor-page .characters-tab .outfit-thumb:hover img{border-color:var(--ed-accent)}.template-editor-page .characters-tab .outfit-thumb:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px;border-radius:4px}.template-editor-page .characters-tab .outfit-thumb-empty{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px dashed var(--ed-hairline-strong);color:var(--ed-text-dim);font-family:var(--ed-font-mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.template-editor-page .characters-tab .canonical-tag{position:absolute;left:2px;bottom:2px;font-family:var(--ed-font-mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;padding:0 4px;border-radius:3px;color:var(--ed-accent);background:#000000a6}.template-editor-page .characters-tab .outfit-select{padding:0;margin:0;border:none;background:none;cursor:pointer;text-align:left;width:100%}.template-editor-page .characters-tab .outfit-select:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px;border-radius:3px}.template-editor-page .characters-tab .inherited-badge{display:inline-block;font-size:9px;letter-spacing:.04em;padding:1px 5px;border-radius:3px;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);white-space:nowrap;margin-top:var(--ed-s1)}.template-editor-page .characters-tab .outfit-mint-row{margin-top:var(--ed-s1)}.template-editor-page .characters-tab .outfit-mint-error{display:block;margin-top:var(--ed-s1);overflow-wrap:anywhere}.template-editor-page .characters-tab .designer-viewport{margin:0 0 var(--ed-s2)}.template-editor-page .characters-tab .designer-viewport-trigger{display:block;padding:0;margin:0;border:none;background:none;cursor:zoom-in;width:100%}.template-editor-page .characters-tab .designer-viewport img{width:100%;max-width:420px;aspect-ratio:1 / 1;object-fit:cover;object-position:top;border-radius:4px;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg);display:block}.template-editor-page .characters-tab .designer-viewport-trigger:hover img{border-color:var(--ed-accent)}.template-editor-page .characters-tab .designer-viewport-trigger:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px;border-radius:4px}.template-editor-page .characters-tab .designer-viewport figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ed-s2);margin-top:2px}.template-editor-page .characters-tab .designer-viewport-empty{max-width:420px;border:1px dashed var(--ed-hairline-strong);border-radius:4px;padding:var(--ed-s3);margin-bottom:var(--ed-s2)}.template-editor-page .characters-tab .sheet-strip-block{min-width:0;border-left:1px solid var(--ed-hairline);padding-left:var(--ed-s3)}.template-editor-page .characters-tab .sheet-strip{display:flex;flex-wrap:wrap;gap:var(--ed-s2);margin-bottom:var(--ed-s2)}.template-editor-page .characters-tab .sheet-groups{display:flex;flex-direction:column;gap:var(--ed-s2)}.template-editor-page .characters-tab .sheet-group-header{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.72;margin-bottom:var(--ed-s1);border-bottom:1px solid var(--ed-border, rgba(255,255,255,.1));padding-bottom:2px}.template-editor-page .characters-tab .sheet-thumb{margin:0;width:148px}.template-editor-page .characters-tab .sheet-thumb a{display:block}.template-editor-page .characters-tab .sheet-thumb-trigger{display:block;padding:0;margin:0;border:none;background:none;cursor:zoom-in}.template-editor-page .characters-tab .sheet-thumb img{width:148px;height:148px;object-fit:cover;object-position:top;border-radius:4px;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg);display:block}.template-editor-page .characters-tab .sheet-thumb a:hover img,.template-editor-page .characters-tab .sheet-thumb-trigger:hover img{border-color:var(--ed-accent)}.template-editor-page .characters-tab .sheet-thumb a:focus-visible,.template-editor-page .characters-tab .sheet-thumb-trigger:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px;border-radius:4px}.template-editor-page .characters-tab .sheet-thumb figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ed-s1);margin-top:2px;min-width:0}.template-editor-page .characters-tab .sheet-thumb figcaption .mono-hint,.template-editor-page .characters-tab .designer-viewport figcaption .mono-hint{flex:0 1 auto;word-break:normal;overflow-wrap:break-word}.template-editor-page .characters-tab .sheet-thumb .cast-thumb-fallback{width:148px;height:148px;border-radius:4px;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg);font-size:28px}.template-editor-page .characters-tab .sheet-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--ed-s4);background:#000000b8;cursor:zoom-out}.template-editor-page .characters-tab .sheet-lightbox-content{position:relative;display:flex;gap:var(--ed-s3);align-items:flex-start;max-width:min(920px,92vw);max-height:88vh;padding:var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline-strong);border-radius:6px;cursor:auto}.template-editor-page .characters-tab .sheet-lightbox-image{display:block;max-width:min(60vw,560px);max-height:calc(88vh - 2 * var(--ed-s3));object-fit:contain;border-radius:4px;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg)}.template-editor-page .characters-tab .sheet-lightbox-meta{min-width:160px;max-width:280px;max-height:calc(88vh - 2 * var(--ed-s3));overflow-y:auto;display:flex;flex-direction:column;gap:var(--ed-s2)}.template-editor-page .characters-tab .sheet-lightbox-name{margin:0;font-size:14px;font-weight:600;color:var(--ed-text);padding-right:var(--ed-s4)}.template-editor-page .characters-tab .sheet-lightbox-desc{margin:0;font-size:12px;line-height:1.6;color:var(--ed-text-dim);white-space:pre-line}.template-editor-page .characters-tab .sheet-lightbox-fullsize{font-size:11px;color:var(--ed-accent);text-decoration:none}.template-editor-page .characters-tab .sheet-lightbox-fullsize:hover{text-decoration:underline}.template-editor-page .characters-tab .sheet-lightbox-fullsize:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px;border-radius:3px}.template-editor-page .characters-tab .sheet-lightbox-close{position:absolute;top:var(--ed-s2);right:var(--ed-s2);font-size:16px;line-height:1;padding:2px 8px;color:var(--ed-text-dim)}@media (max-width: 700px){.template-editor-page .characters-tab .sheet-lightbox-content{flex-direction:column;overflow-y:auto}.template-editor-page .characters-tab .sheet-lightbox-image{max-width:100%;max-height:60vh}.template-editor-page .characters-tab .sheet-lightbox-meta{max-width:none;max-height:none;overflow-y:visible}}@media (max-width: 860px){.template-editor-page .characters-tab .cast-layout,.template-editor-page .characters-tab .appearance-grid{grid-template-columns:1fr}.template-editor-page .characters-tab .sheet-strip-block{border-left:none;padding-left:0;border-top:1px solid var(--ed-hairline);padding-top:var(--ed-s2)}.template-editor-page .characters-tab .cast-rail,.template-editor-page .characters-tab .cast-rail.collapsed{position:static;max-height:240px;width:auto}}.locations-tab .autogrow{resize:none;overflow-y:auto;min-height:3.2em;max-height:16em;line-height:1.45}.locations-tab .autogrow-line{min-height:2.1em}.loc-map-section{margin:var(--ed-s4, 16px) 0;padding:var(--ed-s4, 16px);background:var(--ed-panel, #161c24);border:1px solid var(--ed-hairline, rgba(255, 255, 255, .08));border-radius:8px}.loc-map-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ed-s3, 12px);margin-bottom:var(--ed-s3, 12px)}.loc-map-header h3{margin:0}.loc-map-controls{display:flex;align-items:center;gap:var(--ed-s2, 8px)}.loc-engine-label{display:inline-flex;align-items:center;gap:var(--ed-s1, 4px);font-size:12px;color:var(--ed-text-dim, #8b949e);font-family:var(--ed-font-mono, monospace)}.loc-map-frame{position:relative;display:inline-block;max-width:100%;border:1px solid var(--ed-hairline-strong, rgba(255, 255, 255, .16));border-radius:6px;overflow:hidden;line-height:0}.loc-map-frame img{max-width:100%;display:block}.loc-map-frame.placing{cursor:crosshair;outline:2px solid var(--ed-accent, #d4a94e)}.loc-map-marker{position:absolute;transform:translate(-50%,-50%);background:none;border:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}.loc-marker-dot{width:10px;height:10px;border-radius:50%;background:var(--ed-accent, #d4a94e);border:2px solid var(--ed-accent-ink, #14100a);box-shadow:0 0 0 1px var(--ed-accent, #d4a94e)}.loc-marker-label{font-family:var(--ed-font-mono, monospace);font-size:11px;color:var(--ed-accent-ink, #14100a);background:color-mix(in srgb,var(--ed-accent, #d4a94e) 90%,white);padding:1px 5px;border-radius:3px;white-space:nowrap}.loc-map-placement{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ed-s2, 8px);margin-top:var(--ed-s2, 8px)}.loc-placement-label{font-size:12px;color:var(--ed-text-dim, #8b949e)}.loc-place-chip{font-family:var(--ed-font-mono, monospace);font-size:12px;padding:2px 10px;border-radius:999px;border:1px solid var(--ed-hairline-strong, rgba(255, 255, 255, .16));background:transparent;color:var(--ed-text, #e6edf3);cursor:pointer}.loc-place-chip:hover{border-color:var(--ed-accent, #d4a94e);color:var(--ed-accent, #d4a94e)}.loc-placing-hint{font-size:13px;color:var(--ed-accent, #d4a94e);display:inline-flex;align-items:center;gap:var(--ed-s2, 8px)}.loc-map-note{display:block;margin-top:var(--ed-s2, 8px);color:var(--ed-text-faint, #6e7681)}.loc-map-empty{padding:var(--ed-s4, 16px);border:1px dashed var(--ed-hairline-strong, rgba(255, 255, 255, .16));border-radius:6px;color:var(--ed-text-dim, #8b949e);font-size:13px}.loc-mint-error{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ed-s2, 8px);margin-bottom:var(--ed-s2, 8px);padding:var(--ed-s2, 8px) var(--ed-s3, 12px);border:1px solid var(--ed-signal-bad, #e5534b);border-radius:6px;color:var(--ed-signal-bad, #e5534b);font-size:12px;font-family:var(--ed-font-mono, monospace);word-break:break-word}.loc-error-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:0 2px}.loc-mint-error-inline{display:block;color:var(--ed-signal-bad, #e5534b);font-family:var(--ed-font-mono, monospace);font-size:11px;word-break:break-word}.location-header{display:flex;align-items:center;gap:var(--ed-s3, 12px)}.location-header .location-summary{flex:1;min-width:0}.loc-image-slot{position:relative;flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ed-s1, 4px)}.loc-rep-image,.loc-empty-slot{width:96px;height:64px;border-radius:4px;object-fit:cover}.loc-empty-slot{display:flex;align-items:center;justify-content:center;border:1px dashed var(--ed-hairline-strong, rgba(255, 255, 255, .16));color:var(--ed-text-faint, #6e7681);font-size:11px;font-family:var(--ed-font-mono, monospace)}.loc-image-actions{display:flex;gap:var(--ed-s1, 4px)}.loc-image-actions .btn-sm{font-size:11px;padding:2px 6px}.loc-inherited-chip{position:static;align-self:flex-start;font-family:var(--ed-font-mono, monospace);font-size:10px;padding:0 6px;border-radius:999px;border:1px solid var(--ed-signal-info, #58a6ff);color:var(--ed-signal-info, #58a6ff)}.loc-ref-strip{display:flex;flex-wrap:wrap;gap:var(--ed-s2, 8px)}.loc-ref-thumb{margin:0;width:140px}.loc-ref-thumb img{width:100%;height:90px;object-fit:cover;border-radius:4px;border:1px solid var(--ed-hairline, rgba(255, 255, 255, .08))}.loc-ref-thumb figcaption{display:flex;align-items:center;gap:var(--ed-s1, 4px);font-size:11px;color:var(--ed-text-dim, #8b949e)}.loc-ref-thumb .mono-hint{font-family:var(--ed-font-mono, monospace)}.loc-ref-mint{display:flex;align-items:center;gap:var(--ed-s2, 8px);margin-top:var(--ed-s2, 8px)}.loc-quarantined{display:flex;flex-direction:column;gap:var(--ed-s1, 4px);margin-top:var(--ed-s2, 8px);padding-top:var(--ed-s2, 8px);border-top:1px dashed var(--ed-hairline-strong, rgba(255, 255, 255, .16))}.loc-ref-mint input{max-width:220px;font-family:var(--ed-font-mono, monospace);font-size:12px}.loc-id-readout{display:block;color:var(--ed-text-faint, #6e7681);min-width:0;overflow-wrap:anywhere;word-break:break-all}.loc-id-readout code,.loc-rename-ids code{font-family:var(--ed-font-mono, monospace);font-size:11px;color:var(--ed-evidence, #e8e3d5)}.loc-id-legacy{display:block;color:var(--ed-signal-warn, #d29922);min-width:0;overflow-wrap:anywhere;word-break:break-all}.loc-normalize-btn{background:none;border:none;padding:0;color:var(--ed-accent, #d4a94e);text-decoration:underline;cursor:pointer;font-size:inherit}.loc-rename-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ed-s2, 8px);margin:var(--ed-s2, 8px) 0;padding:var(--ed-s2, 8px) var(--ed-s3, 12px);border:1px solid var(--ed-accent, #d4a94e);border-radius:6px;background:var(--ed-accent-dim, rgba(212, 169, 78, .1));font-size:13px}.loc-rename-actions{display:flex;gap:var(--ed-s2, 8px)}.template-editor-page .world-state-tab .card-list{display:flex;flex-direction:column;gap:var(--ed-s3, 12px);margin-bottom:var(--ed-s3, 12px)}.template-editor-page .world-state-tab .ws-card{border:1px solid var(--ed-border, rgba(128, 128, 128, .25));border-radius:6px;padding:var(--ed-s3, 12px)}.template-editor-page .world-state-tab .ws-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ed-s2, 8px);margin-bottom:var(--ed-s2, 8px)}.template-editor-page .world-state-tab .ws-card-head .form-group{margin-bottom:0}.template-editor-page .world-state-tab .kv-title{display:flex;flex-direction:column;min-width:0;flex:1}.template-editor-page .world-state-tab .mono-hint{font-family:var(--ed-font-mono, ui-monospace, monospace);font-size:10px;color:var(--ed-text-faint, #8a8a8a);word-break:break-all}.template-editor-page .world-state-tab .bounds-hint{display:block;font-size:10px;color:var(--ed-text-faint, #8a8a8a)}.template-editor-page .world-state-tab .bounds-hint.bounds-out{color:var(--ed-danger, #c0392b)}.template-editor-page .world-state-tab .help-text-inline{display:block;font-size:10px;line-height:1.4;color:var(--ed-text-dim, #6a6a6a)}.template-editor-page .world-state-tab textarea.autogrow{resize:none;overflow-y:auto;box-sizing:border-box;min-height:48px;max-height:200px;line-height:1.5;width:100%}.template-editor-page .world-state-tab textarea.autogrow-line{min-height:29px}.template-editor-page .world-state-tab .add-kv-row textarea.autogrow-line{flex:1;width:auto}.template-editor-page .world-state-tab .resource-icon input{width:64px;text-align:center}.template-editor-page .world-state-tab .resource-visible label{font-size:12px;display:flex;align-items:center;gap:4px;white-space:nowrap}.template-editor-page .plot-threads-tab .thread-summary{display:flex;align-items:baseline;gap:var(--ed-s2);min-width:0}.template-editor-page .plot-threads-tab .thread-id-mono,.template-editor-page .plot-threads-tab .thread-id-readout code,.template-editor-page .plot-threads-tab .state-id-readout code{font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-text-faint)}.template-editor-page .plot-threads-tab .thread-id-readout,.template-editor-page .plot-threads-tab .state-id-readout{overflow-wrap:anywhere;word-break:break-all}.template-editor-page .plot-threads-tab .thread-id-mono{flex:0 1 auto;min-width:0;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-editor-page .plot-threads-tab .thread-state-count{font-size:11px;color:var(--ed-text-dim);white-space:nowrap}.template-editor-page .plot-threads-tab .thread-id-readout,.template-editor-page .plot-threads-tab .state-id-readout{display:block;margin-top:2px;color:var(--ed-text-faint)}.template-editor-page .plot-threads-tab .state-id-pinned{color:var(--ed-signal-warn)}.template-editor-page .plot-threads-tab .field-marker{margin-left:var(--ed-s1);font-family:var(--ed-font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border-radius:3px;vertical-align:middle}.template-editor-page .plot-threads-tab .field-required{color:var(--ed-accent-ink);background:var(--ed-accent-dim)}.template-editor-page .plot-threads-tab .field-optional{color:var(--ed-text-faint);border:1px solid var(--ed-hairline)}.template-editor-page .plot-threads-tab .state-rail{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ed-s1);padding:var(--ed-s2);border:1px solid var(--ed-hairline);border-radius:6px;background:var(--ed-panel)}.template-editor-page .plot-threads-tab .state-arrow{color:var(--ed-text-faint);-webkit-user-select:none;user-select:none}.template-editor-page .plot-threads-tab .state-chip-wrap{display:inline-flex;align-items:center;gap:2px}.template-editor-page .plot-threads-tab .state-chip{font-size:12px;padding:3px 10px;border-radius:12px;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg);color:var(--ed-text);cursor:pointer;white-space:nowrap}.template-editor-page .plot-threads-tab .state-chip:hover{border-color:var(--ed-accent)}.template-editor-page .plot-threads-tab .state-chip.rich{border-left:3px solid var(--ed-accent)}.template-editor-page .plot-threads-tab .state-chip.initial{background:var(--ed-accent-dim);color:var(--ed-accent-ink)}.template-editor-page .plot-threads-tab .initial-star{font-size:11px}.template-editor-page .plot-threads-tab .state-chip-wrap.editing .state-chip{border-color:var(--ed-accent);box-shadow:0 0 0 1px var(--ed-accent)}.template-editor-page .plot-threads-tab .state-chip-tools{display:inline-flex;gap:1px}.template-editor-page .plot-threads-tab .chip-tool{font-size:9px;line-height:1;padding:3px 4px;border:none;background:transparent;color:var(--ed-text-faint);cursor:pointer;border-radius:3px}.template-editor-page .plot-threads-tab .chip-tool:hover:not(:disabled){color:var(--ed-text);background:var(--ed-panel)}.template-editor-page .plot-threads-tab .chip-tool:disabled{opacity:.3;cursor:default}.template-editor-page .plot-threads-tab .chip-tool-danger:hover:not(:disabled){color:var(--ed-signal-bad)}.template-editor-page .plot-threads-tab .btn-add-state{font-size:12px;padding:3px 10px;border-radius:12px;border:1px dashed var(--ed-hairline-strong);background:transparent;color:var(--ed-text-dim);cursor:pointer;white-space:nowrap}.template-editor-page .plot-threads-tab .btn-add-state:hover{border-color:var(--ed-accent);color:var(--ed-text)}.template-editor-page .plot-threads-tab .state-editor{margin-top:var(--ed-s2);padding:var(--ed-s3);border:1px solid var(--ed-hairline);border-left:3px solid var(--ed-accent);border-radius:6px;background:var(--ed-panel)}.template-editor-page .plot-threads-tab .state-editor-actions{display:flex;justify-content:flex-end}.template-editor-page .plot-threads-tab .initial-state-group{margin-top:var(--ed-s2);max-width:320px}.template-editor-page .plot-threads-tab textarea.autogrow{resize:none;overflow-y:auto;box-sizing:border-box;min-height:48px;max-height:200px;line-height:1.5;width:100%}.template-editor-page .plot-threads-tab textarea.autogrow-line{min-height:29px}.template-editor-page .plot-threads-tab .impact-chips{display:flex;flex-wrap:wrap;gap:var(--ed-s1)}.template-editor-page .plot-threads-tab .impact-chip{font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid var(--ed-hairline-strong);background:var(--ed-bg);color:var(--ed-text-dim);white-space:nowrap}.template-editor-page .plot-threads-tab .impact-pacing{border-color:var(--ed-signal-info)}.template-editor-page .plot-threads-tab .impact-event,.template-editor-page .plot-threads-tab .impact-library{border-color:var(--ed-signal-warn)}.template-editor-page .plot-threads-tab .impact-thread{border-color:var(--ed-hairline-strong)}.template-editor-page .plot-threads-tab .impact-empty{font-size:12px;color:var(--ed-text-faint);font-style:italic;margin:0}.template-editor-page .plot-threads-tab .thread-advanced{margin-top:var(--ed-s3);border-top:1px solid var(--ed-hairline);padding-top:var(--ed-s2)}.template-editor-page .plot-threads-tab .thread-advanced summary{cursor:pointer;font-size:12px;color:var(--ed-text-dim);-webkit-user-select:none;user-select:none}.template-editor-page .plot-threads-tab .thread-advanced .form-group{margin-top:var(--ed-s2)}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.tpe-editor{display:flex;flex-direction:column;gap:var(--ed-s2, 8px)}.tpe-field{display:flex;flex-direction:column;gap:3px}.tpe-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ed-text-faint, #6a6a6a)}.tpe-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.tpe-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 7px;background:var(--ed-panel, #1c1c1c);border:1px solid var(--ed-hairline-strong, #555);border-radius:10px;font-size:.74rem;font-family:var(--ed-font-mono, ui-monospace, monospace);color:var(--ed-text, #e6e6e6)}.tpe-chip-x{border:none;background:transparent;color:var(--ed-text-faint, #6a6a6a);cursor:pointer;font-size:.9rem;line-height:1;padding:0 2px}.tpe-chip-x:hover{color:var(--ed-signal-bad, #e0575b)}.tpe-add{display:inline-flex;gap:2px}.tpe-add input{width:7rem;padding:2px 5px;background:var(--ed-bg, #141414);color:var(--ed-text, #e6e6e6);border:1px solid var(--ed-hairline, #333);border-radius:4px;font-size:.74rem}.tpe-add button,.tpe-map-add button,.tpe-map-row>button{padding:1px 7px;background:var(--ed-panel, #1c1c1c);color:var(--ed-text-dim, #9a9a9a);border:1px solid var(--ed-hairline, #333);border-radius:4px;cursor:pointer}.tpe-add button:hover{border-color:var(--ed-accent, #6ea8fe);color:var(--ed-accent, #6ea8fe)}.tpe-map{display:flex;flex-direction:column;gap:3px}.tpe-map-row{display:flex;align-items:center;gap:5px}.tpe-map-key{flex:0 0 auto;min-width:6rem;font-family:var(--ed-font-mono, ui-monospace, monospace);font-size:.74rem;color:var(--ed-text, #e6e6e6)}.tpe-map-row input{flex:1 1 auto;min-width:0;padding:2px 5px;background:var(--ed-bg, #141414);color:var(--ed-text, #e6e6e6);border:1px solid var(--ed-hairline, #333);border-radius:4px;font-size:.74rem}.tpe-map-add input:first-child{flex:0 0 6rem}.ladder-tab{display:flex;flex-direction:column;gap:var(--ed-s2, 8px);height:100%;min-height:0;font-family:var(--ed-font-ui, system-ui, sans-serif);color:var(--ed-text, #e6e6e6)}.ladder-toolbar{display:flex;align-items:center;gap:var(--ed-s2, 8px);flex-wrap:wrap}.ladder-add-btn{padding:4px 12px;background:var(--ed-accent, #6ea8fe);color:var(--ed-accent-ink, #06122b);border:none;border-radius:5px;font-weight:600;cursor:pointer}.ladder-add-btn:hover{filter:brightness(1.08)}.ladder-hint{color:var(--ed-text-faint, #6a6a6a);font-size:.8rem}.ladder-canvas{position:relative;flex:1 1 auto;min-height:280px;border:1px solid var(--ed-hairline, #333);border-radius:6px;overflow:hidden;background:var(--ed-bg, #141414)}.ladder-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--ed-text-faint, #6a6a6a);font-style:italic}.ladder-node{min-width:150px;max-width:210px;padding:6px 10px;background:var(--ed-panel, #1c1c1c);border:1px solid var(--ed-hairline-strong, #555);border-left:4px solid hsl(var(--node-hue, 210) 70% 55%);border-radius:6px;color:var(--ed-text, #e6e6e6);font-size:.8rem}.ladder-node.satellite{border-style:dashed}.ladder-node.selected{outline:2px solid var(--ed-accent, #6ea8fe);outline-offset:1px}.ladder-node-head{display:flex;align-items:center;gap:5px}.ladder-node-icon{color:hsl(var(--node-hue, 210) 70% 60%)}.ladder-node-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ladder-node-meta{display:flex;justify-content:space-between;gap:6px;margin-top:3px;color:var(--ed-text-dim, #9a9a9a);font-size:.72rem}.ladder-node-window{font-family:var(--ed-font-mono, ui-monospace, monospace)}.ladder-inspector{display:flex;flex-direction:column;gap:var(--ed-s1, 4px);padding:var(--ed-s2, 8px);border:1px solid var(--ed-hairline, #333);border-radius:6px;background:var(--ed-panel, #1c1c1c)}.ladder-inspector-row{display:flex;gap:var(--ed-s2, 8px);flex-wrap:wrap;align-items:flex-end}.ladder-inspector label{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;font-size:.72rem;color:var(--ed-text-dim, #9a9a9a)}.ladder-inspector label.narrow{flex:0 0 auto;width:5.5rem}.ladder-inspector label.ladder-kernel{flex-direction:row;align-items:center;gap:5px;align-self:center;color:var(--ed-text, #e6e6e6);font-size:.8rem}.ladder-inspector input[type=text],.ladder-inspector input[type=number],.ladder-inspector select{padding:3px 6px;background:var(--ed-bg, #141414);color:var(--ed-text, #e6e6e6);border:1px solid var(--ed-hairline, #333);border-radius:4px}.ladder-structural{flex:1 1 100%}.ladder-structural input[type=text]{padding:3px 6px;background:var(--ed-bg, #141414);color:var(--ed-text, #e6e6e6);border:1px solid var(--ed-hairline, #333);border-radius:4px}.ladder-preconditions{display:flex;flex-direction:column;gap:var(--ed-s1, 4px);padding-top:var(--ed-s1, 4px);border-top:1px solid var(--ed-hairline, #333)}.ladder-preconditions-head{font-size:.72rem;font-weight:600;color:var(--ed-text-dim, #9a9a9a)}.ladder-inspector-note{color:var(--ed-text-faint, #6a6a6a);font-size:.72rem}.ladder-inspector-note strong{color:var(--ed-text-dim, #9a9a9a)}.ladder-pacing{border:1px solid var(--ed-hairline, #333);border-radius:6px;background:var(--ed-panel, #1c1c1c);padding:var(--ed-s1, 4px) var(--ed-s2, 8px) var(--ed-s2, 8px)}.ladder-pacing-head{display:flex;align-items:baseline;gap:var(--ed-s2, 8px)}.ladder-pacing-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ed-text-faint, #6a6a6a)}.ladder-pacing-status{font-size:.72rem;color:var(--ed-text-dim, #9a9a9a)}.ladder-pacing-status.error{color:var(--ed-signal-bad, #e0575b)}.ladder-pacing-plot{width:100%;overflow-x:auto}.ladder-grid{stroke:var(--ed-hairline, #333);stroke-width:1}.ladder-axis{fill:var(--ed-text-faint, #6a6a6a);font-size:9px;font-family:var(--ed-font-mono, ui-monospace, monospace)}.art-style-tab .exemplar-section .exemplar-empty{margin:0;padding:var(--ed-s3, 12px);border:1px dashed var(--ed-hairline-strong, #444);border-radius:6px;color:var(--ed-text-faint, #888);font-size:12px;text-align:center}.art-style-tab .exemplar-strip{display:flex;gap:var(--ed-s2, 8px);flex-wrap:wrap}.art-style-tab .exemplar-panel{padding:0;border:1px solid var(--ed-hairline, #333);border-radius:6px;overflow:hidden;background:none;cursor:zoom-in;width:160px;height:160px}.art-style-tab .exemplar-panel:hover{border-color:var(--ed-accent, #d4a94e)}.art-style-tab .exemplar-panel img{width:100%;height:100%;object-fit:cover;display:block}.art-style-tab .exemplar-provenance{margin:var(--ed-s2, 8px) 0 0 0;display:flex;align-items:center;gap:var(--ed-s2, 8px);font-size:11px;color:var(--ed-text-faint, #888)}.art-style-tab .exemplar-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:3px;border:1px solid}.art-style-tab .exemplar-badge.inherited{color:var(--ed-accent, #d4a94e);border-color:#d4a94e80}.art-style-tab .exemplar-badge.stale{color:var(--ed-signal-warn, #d29922);border-color:#d2992280}.art-style-tab .exemplar-session{font-family:var(--ed-font-mono, monospace);font-size:10px}.art-style-tab .art-autogrow{resize:none;overflow-y:auto;min-height:2.4em;max-height:16em}.art-style-tab .base-style-group label{font-weight:600}.art-style-tab .dedupe-note{display:flex;align-items:center;gap:var(--ed-s2, 8px);margin-top:var(--ed-s1, 4px);padding:var(--ed-s1, 4px) var(--ed-s2, 8px);border:1px solid rgba(210,153,34,.4);border-radius:4px;background:#d2992212;color:var(--ed-signal-warn, #d29922);font-size:11px;line-height:1.4}.art-style-tab .dedupe-note button{flex-shrink:0}.art-style-tab .exemplar-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000d1;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.art-style-tab .exemplar-lightbox img{max-width:88vw;max-height:88vh;border-radius:6px;cursor:default}.art-style-tab .exemplar-lightbox-close{position:absolute;top:16px;right:20px;background:transparent;border:none;color:#fff;font-size:28px;cursor:pointer;line-height:1}.genre-plugins-tab .genre-plugins-loading,.genre-plugins-tab .genre-plugins-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;color:var(--ed-text-dim);font-size:12px}.genre-plugins-tab .genre-plugins-error button{margin-top:var(--ed-s3);padding:4px 10px;background:transparent;color:var(--ed-accent);border:1px solid rgba(212,169,78,.6);border-radius:4px;font-size:12px;cursor:pointer}.genre-plugins-tab{max-width:860px}.template-editor-page .genre-plugins-tab .tab-header,.genre-plugins-tab .tab-header{display:block;margin-bottom:var(--ed-s3)}.genre-plugins-tab .tab-header h3{margin:0 0 var(--ed-s1) 0;font-size:15px;font-weight:600;color:var(--ed-text)}.genre-plugins-tab .tab-description{margin:0;color:var(--ed-text-dim);font-size:12px;line-height:1.5}.genre-plugins-tab .empty-state{text-align:center;padding:var(--ed-s4);border:1px dashed var(--ed-hairline-strong);border-radius:6px;color:var(--ed-text-faint);font-size:12px}.genre-plugins-tab .empty-state .hint{font-size:11px;margin-top:var(--ed-s1)}.genre-plugins-tab .plugins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--ed-s2)}.genre-plugins-tab .plugin-card{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px;padding:var(--ed-s3);cursor:pointer}.genre-plugins-tab .plugin-card:hover{border-color:var(--ed-hairline-strong)}.genre-plugins-tab .plugin-card.selected{border-color:#3fb95080;background:#3fb9500f}.genre-plugins-tab .plugin-card:focus{outline:2px solid var(--ed-accent);outline-offset:1px}.genre-plugins-tab .plugin-header{display:flex;align-items:center;gap:var(--ed-s2);margin-bottom:var(--ed-s1)}.genre-plugins-tab .plugin-checkbox{font-size:13px;color:var(--ed-text-dim)}.genre-plugins-tab .plugin-card.selected .plugin-checkbox{color:var(--ed-signal-ok)}.genre-plugins-tab .plugin-name{font-weight:600;color:var(--ed-text);font-size:13px}.genre-plugins-tab .plugin-description{margin:var(--ed-s1) 0;color:var(--ed-text-dim);font-size:11px;line-height:1.45}.genre-plugins-tab .plugin-meta{display:flex;justify-content:flex-end;margin-top:var(--ed-s1)}.genre-plugins-tab .plugin-version{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-faint);background:#ffffff0d;border:1px solid var(--ed-hairline);padding:0 4px;border-radius:3px}.genre-plugins-tab .selection-summary{margin-top:var(--ed-s3);padding:var(--ed-s2) var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-text-dim);font-size:12px;text-align:center}.genre-plugins-tab .selection-summary strong{color:var(--ed-signal-ok)}.genre-plugins-tab .selected-plugins{margin-bottom:var(--ed-s4)}.genre-plugins-tab .selected-plugins h4,.genre-plugins-tab .available-heading{margin:0 0 var(--ed-s2) 0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim)}.genre-plugins-tab .available-heading{margin-top:var(--ed-s3)}.genre-plugins-tab .selected-plugin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ed-s2)}.genre-plugins-tab .selected-plugin{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-left:3px solid var(--ed-signal-ok);border-radius:4px;padding:var(--ed-s2) var(--ed-s3)}.genre-plugins-tab .selected-plugin.missing{border-left-color:var(--ed-signal-danger, #e5534b)}.genre-plugins-tab .selected-plugin.unverified{border-left-color:var(--ed-text-faint)}.genre-plugins-tab .selected-plugin-row{display:flex;align-items:center;gap:var(--ed-s2)}.genre-plugins-tab .selected-plugin-name{font-weight:600;font-size:13px;color:var(--ed-text)}.genre-plugins-tab .selected-plugin-id,.genre-plugins-tab .plugin-id{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-faint)}.genre-plugins-tab .selected-plugin-row .btn-icon{margin-left:auto;background:transparent;border:none;color:var(--ed-text-faint);font-size:14px;cursor:pointer;padding:0 4px}.genre-plugins-tab .selected-plugin-row .btn-icon:hover{color:var(--ed-signal-danger, #e5534b)}.genre-plugins-tab .selected-plugin-description{margin:var(--ed-s1) 0 0 0;color:var(--ed-text-dim);font-size:11px;line-height:1.45}.genre-plugins-tab .plugin-warning{margin:var(--ed-s1) 0 0 0;color:var(--ed-signal-danger, #e5534b);font-size:11px;font-weight:600;line-height:1.45}.genre-plugins-tab .plugin-unverified-note{margin:var(--ed-s1) 0 0 0;color:var(--ed-text-faint);font-size:11px;font-style:italic}.genre-plugins-tab .plugin-description-missing{font-style:italic;color:var(--ed-text-faint)}.genre-plugins-tab .plugin-meta{justify-content:space-between;align-items:center;gap:var(--ed-s2)}.preview-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.preview-modal{width:90%;max-width:760px;max-height:90vh;background:var(--ed-panel);border-radius:8px;border:1px solid var(--ed-hairline-strong);display:flex;flex-direction:column;animation:slideUp .2s ease-out;color:var(--ed-text);font-family:var(--ed-font-ui)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.preview-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ed-s2);padding:var(--ed-s2) var(--ed-s3);border-bottom:1px solid var(--ed-hairline)}.preview-modal-header h2{margin:0;font-family:var(--ed-font-mono);font-size:13px;color:var(--ed-text)}.preview-info{display:flex;align-items:center;gap:var(--ed-s2)}.turn-counter{font-family:var(--ed-font-mono);font-size:10px;padding:1px 6px;background:#ffffff0f;border:1px solid var(--ed-hairline);border-radius:3px;color:var(--ed-text-dim)}.template-name{font-size:11px;color:var(--ed-text-dim)}.preview-modal-header .btn-close{background:transparent;border:none;color:var(--ed-text-dim);font-size:16px;cursor:pointer;padding:2px 6px;line-height:1}.preview-modal-header .btn-close:hover{color:var(--ed-text)}.preview-modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:400px}.preview-error{display:flex;justify-content:space-between;align-items:center;padding:var(--ed-s2) var(--ed-s3);background:#e5534b1a;border-bottom:1px solid rgba(229,83,75,.3);color:var(--ed-signal-bad);font-size:12px}.preview-error button{background:transparent;border:none;color:var(--ed-signal-bad);cursor:pointer;font-size:14px;line-height:1}.preview-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ed-s3);color:var(--ed-text-dim);font-size:12px}.preview-loading .spinner{width:32px;height:32px;border:2px solid var(--ed-hairline);border-top-color:var(--ed-accent);border-radius:50%;animation:spin 1s linear infinite}.preview-narrative{flex:1;overflow-y:auto;padding:var(--ed-s3)}.preview-entry{margin-bottom:var(--ed-s2);padding:var(--ed-s2) var(--ed-s3);border-radius:6px;line-height:1.6;font-size:13px}.preview-entry p{margin:0}.preview-entry-scene,.preview-entry-consequence{background:#ffffff08;color:var(--ed-text)}.preview-entry-player_action{background:var(--ed-accent-dim);border-left:2px solid var(--ed-accent)}.preview-entry-player_action .player-action-text{color:var(--ed-accent);font-weight:500}.preview-entry-loading{background:#ffffff08;padding:var(--ed-s3)}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:6px;height:6px;background:var(--ed-text-dim);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.preview-choices{padding:var(--ed-s2) var(--ed-s3);border-top:1px solid var(--ed-hairline);background:var(--ed-bg)}.preview-limit-message{text-align:center;padding:var(--ed-s4);color:var(--ed-text-dim);font-size:12px}.preview-limit-message p:first-child{font-size:13px;color:var(--ed-signal-warn);margin-bottom:var(--ed-s1)}.preview-modal-footer{display:flex;justify-content:space-between;gap:var(--ed-s2);padding:var(--ed-s2) var(--ed-s3);border-top:1px solid var(--ed-hairline)}.preview-modal-footer .btn-primary,.preview-modal-footer .btn-secondary{padding:4px 10px;border-radius:4px;font-size:12px;font-family:var(--ed-font-ui);cursor:pointer}.preview-modal-footer .btn-primary{background:transparent;color:var(--ed-accent);border:1px solid rgba(212,169,78,.6);font-weight:600}.preview-modal-footer .btn-primary:hover{background:var(--ed-accent-dim)}.preview-modal-footer .btn-secondary{background:transparent;color:var(--ed-text);border:1px solid var(--ed-hairline-strong)}.preview-modal-footer .btn-secondary:hover:not(:disabled){color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.preview-modal-footer .btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.preview-modal{width:95%;max-height:95vh}.preview-modal-header{flex-wrap:wrap;gap:var(--ed-s1)}.preview-info{order:3;width:100%;justify-content:center}.preview-modal-footer{flex-direction:column-reverse;gap:var(--ed-s1)}.preview-modal-footer .btn-primary,.preview-modal-footer .btn-secondary{width:100%}}.template-editor-page{min-height:100vh;background:var(--ed-bg);color:var(--ed-text);font-family:var(--ed-font-ui);font-size:13px;display:flex;flex-direction:column}.template-editor-page button:focus-visible,.template-editor-page input:focus-visible,.template-editor-page select:focus-visible,.template-editor-page textarea:focus-visible,.template-editor-page [tabindex]:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px}@media (prefers-reduced-motion: reduce){.template-editor-page *,.template-editor-page *:before,.template-editor-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.template-editor-page .editor-header{display:flex;justify-content:space-between;align-items:center;gap:var(--ed-s2);padding:6px var(--ed-s4);background:var(--ed-panel);border-bottom:1px solid var(--ed-hairline);box-shadow:none;position:sticky;top:0;z-index:100}.template-editor-page .header-left{display:flex;align-items:center;gap:var(--ed-s3);min-width:0}.template-editor-page .header-left h1{margin:0;font-size:14px;font-weight:600;color:var(--ed-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-editor-page .btn-back{background:transparent;border:1px solid var(--ed-hairline);color:var(--ed-text-dim);padding:3px 8px;border-radius:4px;font-size:11px;font-family:var(--ed-font-ui);cursor:pointer;white-space:nowrap}.template-editor-page .btn-back:hover{color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.template-editor-page .forked-badge{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim);padding:1px 6px;background:#ffffff0f;border:1px solid var(--ed-hairline);border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-editor-page .header-right{display:flex;align-items:center;gap:var(--ed-s2);flex-shrink:0}.template-editor-page .save-status{font-family:var(--ed-font-mono);font-size:10px;padding:0 var(--ed-s1);white-space:nowrap}.template-editor-page .save-status .status.saving{color:var(--ed-text-dim)}.template-editor-page .save-status .status.dirty{color:var(--ed-signal-warn)}.template-editor-page .save-status .status.saved{color:var(--ed-signal-ok)}.template-editor-page .save-status .status.auto-save-failed{color:var(--ed-signal-bad);font-weight:700;cursor:help}.template-editor-page .user-menu{display:flex;align-items:center;gap:var(--ed-s1);margin-left:var(--ed-s2);padding-left:var(--ed-s2);border-left:1px solid var(--ed-hairline)}.template-editor-page .username{font-size:11px;color:var(--ed-text-dim)}.template-editor-page .btn-logout{background:transparent;border:none;color:var(--ed-text-dim);cursor:pointer;padding:2px}.template-editor-page .error-banner{display:flex;justify-content:space-between;align-items:center;padding:var(--ed-s2) var(--ed-s4);background:#e5534b1a;border-bottom:1px solid rgba(229,83,75,.3);color:var(--ed-signal-bad);font-size:12px}.template-editor-page .error-banner button{background:transparent;border:none;color:var(--ed-signal-bad);cursor:pointer;font-size:14px;line-height:1}.template-editor-page .validation-summary{display:flex;align-items:center;gap:var(--ed-s2);padding:var(--ed-s1) var(--ed-s4);background:#d299221a;border-bottom:1px solid rgba(210,153,34,.3);color:var(--ed-signal-warn);font-size:11px}.template-editor-page .validation-summary .error-count{font-weight:600}.template-editor-page .validation-summary .dismiss-btn{margin-left:auto;background:transparent;border:none;color:var(--ed-signal-warn);cursor:pointer;font-size:14px;line-height:1}.template-editor-page .validation-error{color:var(--ed-signal-bad);font-size:11px}.template-editor-page .editor-fork-notice{background:#d299221a;border-bottom:1px solid rgba(210,153,34,.3);border-left:2px solid var(--ed-signal-warn);color:var(--ed-signal-warn);padding:var(--ed-s1) var(--ed-s4);font-size:11px}.template-editor-page .editor-content{flex:1;display:flex;overflow:hidden}.template-editor-page .tab-navigation{width:168px;min-width:168px;background:var(--ed-panel);border-right:1px solid var(--ed-hairline);padding:var(--ed-s2) 0;overflow-y:auto}.template-editor-page .tab-button{display:flex;align-items:center;gap:var(--ed-s2);width:100%;padding:5px var(--ed-s3);background:transparent;border:none;color:var(--ed-text-dim);font-family:var(--ed-font-ui);text-align:left;cursor:pointer;border-left:2px solid transparent}.template-editor-page .tab-button:hover{background:#ffffff0a;color:var(--ed-text)}.template-editor-page .tab-button.active{background:var(--ed-accent-dim);color:var(--ed-accent);border-left-color:var(--ed-accent)}.template-editor-page .tab-button.has-error{color:var(--ed-signal-bad)}.template-editor-page .tab-icon{font-size:12px}.template-editor-page .tab-label{flex:1;font-size:12px}.template-editor-page .tab-count{font-family:var(--ed-font-mono);font-size:10px;padding:0 5px;background:#ffffff0f;border-radius:3px;color:var(--ed-text-dim)}.template-editor-page .tab-error-count{font-family:var(--ed-font-mono);font-size:10px;padding:0 5px;background:#e5534b26;color:var(--ed-signal-bad);border-radius:3px;font-weight:700}.template-editor-page .tab-content{flex:1;overflow-y:auto;padding:var(--ed-s4)}.template-editor-page .tab-panel{max-width:860px}.template-editor-page .tab-panel h2{margin:0 0 var(--ed-s1) 0;font-size:15px;font-weight:600;color:var(--ed-text)}.template-editor-page .tab-description{color:var(--ed-text-dim);font-size:12px;margin-bottom:var(--ed-s3);line-height:1.5}.template-editor-page .tab-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ed-s2);margin-bottom:var(--ed-s3)}.template-editor-page .tab-actions{display:flex;gap:var(--ed-s2);align-items:center}.template-editor-page input[type=text],.template-editor-page input[type=number],.template-editor-page input[type=email],.template-editor-page textarea,.template-editor-page select{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-text);font-family:var(--ed-font-ui);font-size:12px;padding:4px 8px}.template-editor-page input[type=text]:focus,.template-editor-page input[type=number]:focus,.template-editor-page input[type=email]:focus,.template-editor-page textarea:focus,.template-editor-page select:focus{border-color:#d4a94e80}.template-editor-page input[type=text]:focus:not(:focus-visible),.template-editor-page input[type=number]:focus:not(:focus-visible),.template-editor-page input[type=email]:focus:not(:focus-visible),.template-editor-page textarea:focus:not(:focus-visible),.template-editor-page select:focus:not(:focus-visible){outline:none}.template-editor-page input[type=text]:focus-visible,.template-editor-page input[type=number]:focus-visible,.template-editor-page input[type=email]:focus-visible,.template-editor-page textarea:focus-visible,.template-editor-page select:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px}.template-editor-page select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238B949E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:10px;padding-right:24px;cursor:pointer}.template-editor-page .form-section{margin-bottom:var(--ed-s4);padding:var(--ed-s3);background:var(--ed-panel);border-radius:6px;border:1px solid var(--ed-hairline)}.template-editor-page .form-section h3{margin:0 0 var(--ed-s2) 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim)}.template-editor-page .form-section h4{margin:0 0 var(--ed-s2) 0;font-size:12px;font-weight:600;color:var(--ed-text)}.template-editor-page .form-section.collapsible h3,.template-editor-page .form-section.collapsible h4{cursor:pointer}.template-editor-page .section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.template-editor-page .section-content{margin-top:var(--ed-s2)}.template-editor-page .form-group{margin-bottom:var(--ed-s3)}.template-editor-page .form-group label{display:block;margin-bottom:var(--ed-s1);font-size:12px;font-weight:600;color:var(--ed-text)}.template-editor-page .form-group input[type=text],.template-editor-page .form-group input[type=number],.template-editor-page .form-group textarea,.template-editor-page .form-group select{width:100%;padding:5px 8px;font-size:12px}.template-editor-page .form-group select{padding-right:28px}.template-editor-page .form-group input.error,.template-editor-page .form-group textarea.error,.template-editor-page .form-group select.error{border-color:var(--ed-signal-bad)}.template-editor-page .form-group small{display:block;margin-top:2px;font-size:11px;color:var(--ed-text-faint)}.template-editor-page .error-text{color:var(--ed-signal-bad);font-size:11px;margin-top:2px}.template-editor-page .help-text{color:var(--ed-text-dim);font-size:12px;margin-bottom:var(--ed-s2)}.template-editor-page .form-row{display:flex;gap:var(--ed-s3)}.template-editor-page .form-row .form-group{flex:1}.template-editor-page .form-row .form-group.small{flex:0 0 80px}.template-editor-page .form-row .form-group.flex-grow{flex:2}.template-editor-page .opening-scene-textarea,.template-editor-page .art-style-tab textarea{font-family:var(--ed-font-mono);font-size:11px;line-height:1.55;color:var(--ed-evidence)}.template-editor-page .btn-primary{background:transparent;color:var(--ed-accent);border:1px solid rgba(212,169,78,.6);padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;font-family:var(--ed-font-ui);cursor:pointer;white-space:nowrap}.template-editor-page .btn-primary:hover:not(:disabled){background:var(--ed-accent-dim)}.template-editor-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.template-editor-page .btn-secondary{background:transparent;color:var(--ed-text);border:1px solid var(--ed-hairline-strong);padding:4px 10px;border-radius:4px;font-size:12px;font-family:var(--ed-font-ui);cursor:pointer;white-space:nowrap}.template-editor-page .btn-secondary:hover:not(:disabled){color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.template-editor-page .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.template-editor-page .btn-danger{background:transparent;color:var(--ed-signal-bad);border:1px solid rgba(229,83,75,.5);padding:4px 10px;border-radius:4px;font-size:12px;font-family:var(--ed-font-ui);cursor:pointer;white-space:nowrap}.template-editor-page .btn-danger:hover{background:#e5534b1a}.template-editor-page .btn-sm{padding:2px 8px;font-size:11px}.template-editor-page .btn-icon{padding:3px 8px;font-size:13px;line-height:1;background:transparent;border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-text-dim);cursor:pointer}.template-editor-page .btn-icon:hover:not(:disabled){color:var(--ed-text);border-color:var(--ed-hairline-strong)}.template-editor-page .btn-icon:disabled{opacity:.4;cursor:not-allowed}.template-editor-page .undo-redo-buttons{display:flex;gap:var(--ed-s1)}.template-editor-page .character-card,.template-editor-page .location-card,.template-editor-page .thread-card,.template-editor-page .event-card,.template-editor-page .dimension-card,.template-editor-page .feature-card{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px;margin-bottom:var(--ed-s2);padding:0}.template-editor-page .character-card.expanded,.template-editor-page .location-card.expanded,.template-editor-page .thread-card.expanded,.template-editor-page .event-card.expanded,.template-editor-page .dimension-card.expanded,.template-editor-page .feature-card.expanded{border-color:#d4a94e66}.template-editor-page .character-header,.template-editor-page .location-header,.template-editor-page .thread-header,.template-editor-page .event-header,.template-editor-page .dimension-header,.template-editor-page .feature-header{display:flex;justify-content:space-between;align-items:center;gap:var(--ed-s2);padding:var(--ed-s2) var(--ed-s3);margin-bottom:0;cursor:pointer}.template-editor-page .character-header:hover,.template-editor-page .location-header:hover,.template-editor-page .thread-header:hover,.template-editor-page .event-header:hover,.template-editor-page .dimension-header:hover,.template-editor-page .feature-header:hover{background:#ffffff08}.template-editor-page .character-summary,.template-editor-page .location-summary,.template-editor-page .thread-summary,.template-editor-page .event-summary,.template-editor-page .dimension-summary,.template-editor-page .feature-summary{display:flex;align-items:center;gap:var(--ed-s2);min-width:0}.template-editor-page .character-summary h3,.template-editor-page .location-summary h3,.template-editor-page .thread-summary h3,.template-editor-page .event-summary h3,.template-editor-page .dimension-summary h3,.template-editor-page .feature-summary h3{margin:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-editor-page .role-badge,.template-editor-page .atmosphere-badge,.template-editor-page .state-badge,.template-editor-page .arc-badge,.template-editor-page .act-badge,.template-editor-page .type-badge,.template-editor-page .weight-badge,.template-editor-page .phases-badge{font-size:10px;padding:1px 5px;border-radius:3px;background:#ffffff0f;color:var(--ed-text-dim);white-space:nowrap}.template-editor-page .expand-icon{color:var(--ed-text-faint);font-size:10px}.template-editor-page .character-form,.template-editor-page .location-form,.template-editor-page .thread-form,.template-editor-page .event-form,.template-editor-page .dimension-form,.template-editor-page .feature-form{padding:var(--ed-s3);border-top:1px solid var(--ed-hairline)}.template-editor-page .character-actions,.template-editor-page .location-actions,.template-editor-page .thread-actions,.template-editor-page .event-actions,.template-editor-page .dimension-actions,.template-editor-page .feature-actions{margin-top:var(--ed-s3);padding-top:var(--ed-s2);border-top:1px solid var(--ed-hairline)}.template-editor-page .empty-state{text-align:center;padding:var(--ed-s4);background:transparent;border-radius:6px;border:1px dashed var(--ed-hairline-strong);color:var(--ed-text-dim);font-size:12px}.template-editor-page .empty-state p{margin:var(--ed-s1) 0}.template-editor-page .loading-state{display:flex;justify-content:center;align-items:center;padding:var(--ed-s4);color:var(--ed-text-dim);font-size:12px}.template-editor-page .error-state{text-align:center;padding:var(--ed-s4);color:var(--ed-signal-bad)}.template-editor-page .key-value-list{margin-bottom:var(--ed-s3)}.template-editor-page .kv-item{display:flex;align-items:center;gap:var(--ed-s2);padding:var(--ed-s1) 0;border-bottom:1px solid var(--ed-hairline)}.template-editor-page .kv-key{font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence);min-width:140px;word-break:break-all}.template-editor-page .kv-value-input{flex:1;max-width:200px}.template-editor-page .kv-value-input.wide{max-width:400px}.template-editor-page .add-kv-row{display:flex;gap:var(--ed-s2);align-items:center;margin-top:var(--ed-s2)}.template-editor-page .add-kv-row input{flex:1;max-width:200px}.template-editor-page .add-kv-row input.wide{max-width:300px}.template-editor-page .toggle-switch{display:inline-flex;align-items:center;gap:var(--ed-s2);cursor:pointer}.template-editor-page .toggle-switch input{display:none}.template-editor-page .toggle-slider{width:32px;height:16px;background:#ffffff26;border-radius:8px;position:relative;transition:background .2s;flex-shrink:0}.template-editor-page .toggle-slider:after{content:"";position:absolute;width:12px;height:12px;background:var(--ed-text);border-radius:50%;top:2px;left:2px;transition:transform .2s}.template-editor-page .toggle-switch input:checked+.toggle-slider{background:var(--ed-accent)}.template-editor-page .toggle-switch input:checked+.toggle-slider:after{background:var(--ed-accent-ink);transform:translate(16px)}.template-editor-page .toggle-label{font-size:12px;color:var(--ed-text-dim)}.template-editor-page .world-state-summary{margin-top:var(--ed-s4)}.template-editor-page .summary-stats{display:flex;gap:var(--ed-s4)}.template-editor-page .stat{text-align:center}.template-editor-page .stat-value{display:block;font-family:var(--ed-font-mono);font-size:16px;font-weight:600;color:var(--ed-evidence)}.template-editor-page .stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim)}.template-editor-page .state-visualization{display:flex;align-items:center;gap:var(--ed-s1);flex-wrap:wrap;margin-top:var(--ed-s2);padding:var(--ed-s2);background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px}.template-editor-page .state-node{font-family:var(--ed-font-mono);padding:2px 8px;background:#ffffff0f;border-radius:3px;font-size:11px;color:var(--ed-text-dim)}.template-editor-page .state-node.initial{background:var(--ed-accent);color:var(--ed-accent-ink)}.template-editor-page .state-arrow{color:var(--ed-text-faint)}.template-editor-page .events-timeline{display:flex;flex-direction:column;gap:var(--ed-s3)}.template-editor-page .timeline-act{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px;padding:var(--ed-s3)}.template-editor-page .act-header{margin:0 0 var(--ed-s2) 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim);padding-bottom:var(--ed-s1);border-bottom:1px solid var(--ed-hairline)}.template-editor-page .timeline-events{display:flex;flex-direction:column;gap:var(--ed-s1)}.template-editor-page .timeline-event{display:flex;align-items:center;gap:var(--ed-s2);padding:var(--ed-s1) var(--ed-s2);background:#ffffff08;border-radius:4px;cursor:pointer;font-size:12px}.template-editor-page .timeline-event:hover{background:#ffffff12}.template-editor-page .timeline-event.kernel{border-left:2px solid var(--ed-accent)}.template-editor-page .timeline-event.satellite{border-left:2px solid var(--ed-hairline-strong)}.template-editor-page .event-icon{font-size:12px}.template-editor-page .event-icon.kernel{color:var(--ed-accent)}.template-editor-page .event-icon.satellite{color:var(--ed-text-faint)}.template-editor-page .event-title{flex:1}.template-editor-page .event-type{font-size:11px;color:var(--ed-text-dim)}.template-editor-page .events-legend{margin-top:var(--ed-s3);padding:var(--ed-s2) var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px}.template-editor-page .events-legend h4{margin:0 0 var(--ed-s1) 0;font-size:11px;color:var(--ed-text-dim)}.template-editor-page .legend-items{display:flex;gap:var(--ed-s4)}.template-editor-page .legend-item{display:flex;align-items:center;gap:var(--ed-s1);font-size:11px;color:var(--ed-text-dim)}.template-editor-page .weight-visualization{margin-bottom:var(--ed-s4);padding:var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px}.template-editor-page .weight-bar{display:flex;height:20px;border-radius:3px;overflow:hidden;margin-bottom:var(--ed-s2)}.template-editor-page .weight-segment{display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;overflow:hidden;white-space:nowrap}.template-editor-page .weight-legend{display:flex;flex-wrap:wrap;gap:var(--ed-s2) var(--ed-s3)}.template-editor-page .weight-legend .legend-item{display:flex;align-items:center;gap:var(--ed-s1);font-size:11px}.template-editor-page .weight-legend .legend-color{width:10px;height:10px;border-radius:2px}.template-editor-page .weight-input-group{display:flex;align-items:center;gap:var(--ed-s2)}.template-editor-page .weight-input-group input[type=range]{flex:1;accent-color:var(--ed-accent)}.template-editor-page .weight-number{width:60px!important}.template-editor-page .color-palette{display:flex;flex-wrap:wrap;gap:var(--ed-s2);align-items:center}.template-editor-page .color-swatch{display:flex;align-items:center;gap:var(--ed-s1)}.template-editor-page .color-swatch input[type=color]{width:28px;height:28px;border:1px solid var(--ed-hairline);border-radius:4px;cursor:pointer;background:transparent;padding:0}.template-editor-page .color-hex{width:76px!important;font-family:var(--ed-font-mono);font-size:11px!important}.template-editor-page .prompt-preview{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s2) var(--ed-s3)}.template-editor-page .prompt-preview strong{display:block;margin-bottom:var(--ed-s1);color:var(--ed-text-faint);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.template-editor-page .prompt-preview code{display:block;font-family:var(--ed-font-mono);font-size:11px;line-height:1.55;color:var(--ed-evidence);margin-bottom:var(--ed-s2);padding:var(--ed-s2);background:var(--ed-panel);border-radius:3px}.template-editor-page .preview-section .preview-image{margin-top:var(--ed-s2);border-radius:6px;overflow:hidden}.template-editor-page .preview-section .preview-image img{max-width:100%;height:auto}.template-editor-page .feature-preview{padding:var(--ed-s2) var(--ed-s3);background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px}.template-editor-page .preview-meter{max-width:280px}.template-editor-page .preview-meter .meter-label{margin-bottom:var(--ed-s1);font-size:11px}.template-editor-page .preview-meter .meter-bar{height:12px;background:#ffffff14;border-radius:6px;overflow:hidden}.template-editor-page .preview-meter .meter-fill{height:100%;transition:width .3s}.template-editor-page .preview-meter .meter-value{margin-top:2px;font-family:var(--ed-font-mono);font-size:10px;text-align:right;color:var(--ed-text-dim)}.template-editor-page .preview-tracker .tracker-title{margin-bottom:var(--ed-s2);font-size:11px}.template-editor-page .preview-tracker .tracker-steps{display:flex;align-items:center;gap:var(--ed-s3)}.template-editor-page .preview-tracker .tracker-step{display:flex;flex-direction:column;align-items:center;gap:2px}.template-editor-page .preview-tracker .step-dot{width:12px;height:12px;border-radius:50%;background:#ffffff1f;border:1px solid var(--ed-hairline-strong)}.template-editor-page .preview-tracker .tracker-step.complete .step-dot{background:var(--ed-accent);border-color:var(--ed-accent)}.template-editor-page .preview-tracker .step-label{font-size:10px;color:var(--ed-text-faint)}.template-editor-page .checkpoint-panel{position:fixed;right:0;top:0;bottom:0;width:300px;background:var(--ed-panel);border-left:1px solid var(--ed-hairline-strong);display:flex;flex-direction:column;z-index:200;box-shadow:-8px 0 24px #0006}.template-editor-page .checkpoint-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ed-s2) var(--ed-s3);border-bottom:1px solid var(--ed-hairline)}.template-editor-page .checkpoint-panel .panel-header h3{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim)}.template-editor-page .btn-close{background:transparent;border:none;color:var(--ed-text-dim);font-size:16px;cursor:pointer;line-height:1}.template-editor-page .btn-close:hover{color:var(--ed-text)}.template-editor-page .create-checkpoint{display:flex;gap:var(--ed-s2);padding:var(--ed-s2) var(--ed-s3);border-bottom:1px solid var(--ed-hairline)}.template-editor-page .create-checkpoint input{flex:1;min-width:0}.template-editor-page .checkpoints-list{flex:1;overflow-y:auto;padding:var(--ed-s2)}.template-editor-page .checkpoint-item{display:flex;justify-content:space-between;align-items:center;gap:var(--ed-s2);padding:var(--ed-s2);margin-bottom:var(--ed-s1);background:var(--ed-bg);border-radius:4px;border:1px solid var(--ed-hairline)}.template-editor-page .checkpoint-item.selected{border-color:#d4a94e80;background:var(--ed-accent-dim)}.template-editor-page .checkpoint-info{flex:1;min-width:0}.template-editor-page .checkpoint-header{display:flex;align-items:center;gap:var(--ed-s1)}.template-editor-page .checkpoint-icon{font-size:11px}.template-editor-page .checkpoint-name{font-weight:500;font-size:12px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-editor-page .checkpoint-version{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-evidence)}.template-editor-page .checkpoint-meta{display:flex;gap:var(--ed-s2);margin-top:2px;font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim)}.template-editor-page .checkpoint-notes{font-style:italic;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-editor-page .checkpoint-actions{display:flex;gap:var(--ed-s1)}.template-editor-page .diff-panel{border-top:1px solid var(--ed-hairline);padding:var(--ed-s2) var(--ed-s3);max-height:40%;overflow-y:auto}.template-editor-page .diff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ed-s2)}.template-editor-page .diff-header h4{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim)}.template-editor-page .diff-versions{display:flex;align-items:center;gap:var(--ed-s1);font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-evidence);margin-bottom:var(--ed-s2);padding:var(--ed-s1) var(--ed-s2);background:var(--ed-bg);border-radius:3px}.template-editor-page .diff-content{min-width:0}.template-editor-page .diff-section{margin-bottom:var(--ed-s2)}.template-editor-page .diff-section h5{margin:0 0 var(--ed-s1) 0;font-size:11px;color:var(--ed-text-dim)}.template-editor-page .diff-item{padding:var(--ed-s1) var(--ed-s2);margin-bottom:2px;border-radius:3px;font-size:11px}.template-editor-page .diff-item.modified{background:#d2992214;border-left:2px solid var(--ed-signal-warn)}.template-editor-page .diff-item.added{background:#3fb95014;border-left:2px solid var(--ed-signal-ok)}.template-editor-page .diff-item.removed{background:#e5534b14;border-left:2px solid var(--ed-signal-bad)}.template-editor-page .diff-key{font-family:var(--ed-font-mono);color:var(--ed-evidence)}.template-editor-page .diff-code{margin-top:var(--ed-s1);padding:var(--ed-s1) var(--ed-s2);background:var(--ed-bg);border-radius:3px;font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-evidence);overflow-x:auto}.template-editor-page .no-changes{color:var(--ed-text-dim);font-size:11px}.template-editor-page .view-toggle{display:inline-flex;border:1px solid var(--ed-hairline);border-radius:4px;overflow:hidden}.template-editor-page .view-toggle button{padding:3px 10px;background:transparent;border:none;color:var(--ed-text-dim);font-size:11px;font-family:var(--ed-font-ui);cursor:pointer}.template-editor-page .view-toggle button:hover{color:var(--ed-text)}.template-editor-page .view-toggle button.active{background:var(--ed-accent-dim);color:var(--ed-accent)}.template-editor-page .connections-grid,.template-editor-page .blocks-grid,.template-editor-page .requires-grid,.template-editor-page .phases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--ed-s1)}.template-editor-page .connection-checkbox,.template-editor-page .block-checkbox,.template-editor-page .requires-checkbox,.template-editor-page .phase-checkbox{display:flex;align-items:center;gap:var(--ed-s1);padding:var(--ed-s1) var(--ed-s2);background:#ffffff08;border-radius:3px;cursor:pointer;font-size:12px}.template-editor-page .connection-checkbox:hover,.template-editor-page .block-checkbox:hover,.template-editor-page .requires-checkbox:hover,.template-editor-page .phase-checkbox:hover{background:#ffffff12}.template-editor-page .template-preview-card{padding:var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px}.template-editor-page .template-preview-card .preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ed-s2);margin-bottom:var(--ed-s2)}.template-editor-page .template-preview-card h4{margin:0;font-size:13px}.template-editor-page .template-preview-card .genre-badge{background:#ffffff0f;padding:1px 6px;border-radius:3px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim)}.template-editor-page .template-preview-card .preview-tagline{color:var(--ed-text-dim);font-size:12px;margin-bottom:var(--ed-s1)}.template-editor-page .template-preview-card .preview-description{margin-bottom:var(--ed-s2);font-size:12px;line-height:1.5}.template-editor-page .template-preview-card .preview-tags{display:flex;flex-wrap:wrap;gap:var(--ed-s1)}.template-editor-page .template-preview-card .tag{padding:1px 6px;background:#58a6ff1f;border-radius:3px;font-size:10px;color:var(--ed-signal-info)}.template-editor-page .dimensions-reference,.template-editor-page .sources-reference{margin-top:var(--ed-s4);padding:var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px}.template-editor-page .reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--ed-s2);margin-top:var(--ed-s2)}.template-editor-page .reference-item{padding:var(--ed-s2);background:#ffffff08;border-radius:4px}.template-editor-page .reference-item strong,.template-editor-page .reference-item code{display:block;margin-bottom:2px;font-size:11px;color:var(--ed-text)}.template-editor-page .reference-item code{font-family:var(--ed-font-mono);color:var(--ed-evidence)}.template-editor-page .reference-item span{font-size:11px;color:var(--ed-text-dim)}@media (max-width: 1024px){.template-editor-page .tab-navigation{width:48px;min-width:48px}.template-editor-page .tab-label,.template-editor-page .tab-count{display:none}.template-editor-page .tab-button{justify-content:center;padding:var(--ed-s2)}.template-editor-page .tab-icon{font-size:15px}}@media (max-width: 768px){.template-editor-page .editor-header{flex-direction:column;gap:var(--ed-s2);padding:var(--ed-s2) var(--ed-s3)}.template-editor-page .header-left,.template-editor-page .header-right{width:100%;justify-content:space-between}.template-editor-page .form-row{flex-direction:column}.template-editor-page .checkpoint-panel{width:100%;max-width:300px}}.template-editor-page .error-boundary-fallback,.error-boundary-fallback{display:flex;align-items:center;justify-content:center;min-height:300px;padding:var(--ed-s4)}.error-boundary-fallback .error-content{text-align:center;max-width:400px}.error-boundary-fallback h3{color:var(--ed-signal-bad);margin-bottom:var(--ed-s2)}.error-boundary-fallback p{color:var(--ed-text-dim, #aaa);margin-bottom:var(--ed-s3)}.error-boundary-fallback details{text-align:left;margin-bottom:var(--ed-s3);padding:var(--ed-s2) var(--ed-s3);background:#0000004d;border-radius:6px}.error-boundary-fallback summary{cursor:pointer;color:var(--ed-text-dim, #aaa);margin-bottom:var(--ed-s1)}.error-boundary-fallback pre{font-family:var(--ed-font-mono);font-size:10px;overflow-x:auto;color:var(--ed-signal-bad);white-space:pre-wrap;word-break:break-word}.confirmation-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.confirmation-modal{background:var(--ed-panel);border:1px solid var(--ed-hairline-strong);border-radius:8px;padding:var(--ed-s3);max-width:380px;width:90%;box-shadow:0 16px 40px #0006;animation:slideUp .2s ease-out;font-family:var(--ed-font-ui)}.confirmation-modal h3{margin:0 0 var(--ed-s2);font-family:var(--ed-font-mono);font-size:13px;color:var(--ed-text)}.confirmation-modal p{margin:0 0 var(--ed-s3);font-size:12px;color:var(--ed-text-dim);line-height:1.5}.confirmation-actions{display:flex;gap:var(--ed-s2);justify-content:flex-end}.confirmation-actions .btn-primary,.confirmation-actions .btn-secondary,.confirmation-actions .btn-danger{padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.template-editor-page .tab-content--pool{padding:0;overflow:hidden;display:flex;flex-direction:column}.template-editor-page .editor-import-banner{padding:var(--ed-s1) var(--ed-s4);background:#a371f71f;border-bottom:1px solid rgba(163,113,247,.4);color:#c9a7ff;font-size:12px}.template-editor-page .editor-import-rationale{margin-bottom:var(--ed-s3);padding:var(--ed-s2) var(--ed-s3);border:1px solid rgba(163,113,247,.3);border-radius:6px;background:#a371f70f;font-size:11px;color:#b79ae8}.template-editor-page .editor-import-rationale-line{line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-editor-page .editor-import-rationale-line code{font-family:var(--ed-font-mono);font-size:10px;color:#d6bcff}.template-editor-page .cover-image-section{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.template-editor-page .cover-image-preview{width:200px;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000040}.template-editor-page .cover-image-empty{width:200px;aspect-ratio:2 / 3;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px dashed rgba(255,255,255,.2);color:#ffffff73;font-size:13px}.template-editor-page .cover-image-actions{display:flex;gap:8px}.template-editor-page .cover-image-error{max-width:480px;white-space:pre-wrap}.template-editor-page .cover-gen-dialog{width:min(560px,100%);display:flex;flex-direction:column;gap:var(--ed-s3);padding:var(--ed-s4);background:var(--ed-panel);border:1px solid var(--ed-hairline-strong);border-radius:8px}.template-editor-page .cover-gen-head{display:flex;align-items:center;justify-content:space-between}.template-editor-page .cover-gen-title{font-size:13px;font-weight:600;color:var(--ed-text)}.template-editor-page .cover-gen-close{padding:0 var(--ed-s2);background:transparent;border:none;color:var(--ed-text-dim);font-size:16px;line-height:1;cursor:pointer}.template-editor-page .cover-gen-close:hover{color:var(--ed-text)}.template-editor-page .cover-gen-loading{color:var(--ed-text-dim);font-size:12px}.template-editor-page .cover-gen-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim);margin-bottom:var(--ed-s1)}.template-editor-page .cover-gen-prompt{width:100%;font-family:var(--ed-font-mono);font-size:12px;line-height:1.5;color:var(--ed-evidence);background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;padding:var(--ed-s2) var(--ed-s3);resize:vertical}.template-editor-page .cover-gen-ref-chips{display:flex;flex-wrap:wrap;gap:var(--ed-s2)}.template-editor-page .cover-gen-ref-chip{display:flex;align-items:center;gap:var(--ed-s2);padding:var(--ed-s1) var(--ed-s2);background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text-dim);font-size:12px;cursor:pointer}.template-editor-page .cover-gen-ref-chip img{width:36px;height:24px;object-fit:cover;border-radius:3px;background:#00000040}.template-editor-page .cover-gen-ref-chip.selected{border-color:var(--ed-accent);background:var(--ed-accent-dim);color:var(--ed-text)}.template-editor-page .cover-gen-ref-name{font-family:var(--ed-font-mono);font-size:11px}.template-editor-page .cover-gen-params{display:flex;flex-direction:column;gap:var(--ed-s1)}.template-editor-page .cover-gen-param-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ed-s2)}.template-editor-page .cover-gen-param-name{min-width:52px;color:var(--ed-text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.template-editor-page .cover-gen-param-chip{padding:var(--ed-s1) var(--ed-s2);background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text-dim);font-family:var(--ed-font-mono);font-size:11px;cursor:pointer}.template-editor-page .cover-gen-param-chip.selected{border-color:var(--ed-accent);background:var(--ed-accent-dim);color:var(--ed-text)}.template-editor-page .cover-gen-param-chip:disabled{opacity:.45;cursor:not-allowed}.template-editor-page .cover-gen-fixed-chip{margin-left:auto;padding:var(--ed-s1) var(--ed-s2);border:1px dashed var(--ed-hairline);border-radius:6px;color:var(--ed-text-dim);font-family:var(--ed-font-mono);font-size:11px;-webkit-user-select:none;user-select:none}.template-editor-page .cover-gen-param-hint{color:var(--ed-text-dim);font-size:11px;font-style:italic}.template-editor-page .cover-gen-actions{display:flex;gap:var(--ed-s2)}.template-editor-page .cover-gen-generate{background:var(--ed-accent);color:var(--ed-accent-ink);border-color:var(--ed-accent)}.template-editor-page .cover-gen-error{white-space:pre-wrap}.pipeline-node{min-width:200px;background:#2d3748;border:2px solid #4A5568;border-radius:8px;padding:0;font-family:Inter,sans-serif;transition:all .2s}.node-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(180deg,#374151,#2d3748);border-bottom:1px solid #4A5568;border-radius:6px 6px 0 0}.node-icon{font-size:18px;line-height:1}.node-name{font-size:13px;font-weight:600;color:#e2e8f0}.node-status{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;border-bottom:1px solid #4A5568}.status-running{background:#f6ad551a;color:#f6ad55}.status-success{background:#48bb781a;color:#48bb78}.status-failed{background:#f565651a;color:#f56565}.status-skipped{background:#7180961a;color:#718096}.status-spinner{width:12px;height:12px;border:2px solid #F6AD55;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.status-icon{font-weight:700;font-size:14px}.node-timing{padding:6px 12px;font-size:11px;font-weight:600;color:#63b3ed;text-align:right;background:#4299e10d;border-bottom:1px solid #4A5568;font-family:Monaco,Courier New,monospace}.node-config{padding:8px 12px;display:flex;flex-direction:column;gap:4px}.config-item{font-size:11px;color:#a0aec0;padding:3px 6px;background:#4a55684d;border-radius:3px;border-left:2px solid #4A5568}.node-output{padding:8px 12px;border-top:1px solid #4A5568}.output-label{font-size:10px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.output-preview{font-size:11px;font-family:Monaco,Courier New,monospace;color:#cbd5e0;background:#1a202c80;padding:6px;border-radius:4px;border-left:2px solid #4299E1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-handle{width:12px;height:12px;background:#4a5568;border:2px solid #2D3748;transition:all .2s}.node-handle:hover{background:#63b3ed;width:16px;height:16px}.node-status-idle{border-color:#4299e1}.node-status-running{border-color:#f6ad55;box-shadow:0 0 12px #f6ad5566;animation:pulse-border 1.5s infinite}.node-status-success{border-color:#48bb78}.node-status-failed{border-color:#f56565;box-shadow:0 0 12px #f5656566}.node-status-skipped{border-color:#718096;opacity:.7}@keyframes pulse-border{0%,to{box-shadow:0 0 8px #f6ad5599}50%{box-shadow:0 0 16px #f6ad5533}}.pipeline-node:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000080}.react-flow__node.selected .pipeline-node{box-shadow:0 0 0 3px #4299e180}.pipeline-node.meta-node{border-color:#9f7aea}.pipeline-node.meta-node .node-header{background:linear-gradient(180deg,#553c9a,#44337a);position:relative}.expand-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#9f7aea33;border:1px solid #9F7AEA;border-radius:4px;color:#d6bcfa;font-size:10px;padding:4px 8px;cursor:pointer;transition:all .2s}.expand-button:hover{background:#9f7aea66;transform:translateY(-50%) scale(1.1)}.pipeline-node.expanded{min-width:280px}.subgraph-container{padding:12px;background:#1a202c99;border-top:1px solid #4A5568;animation:slideDown .3s ease-out;overflow:hidden}@keyframes slideDown{0%{max-height:0;opacity:0;padding-top:0;padding-bottom:0}to{max-height:500px;opacity:1;padding-top:12px;padding-bottom:12px}}.subgraph-header{font-size:10px;font-weight:600;color:#9f7aea;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-left:4px}.subgraph-node{background:#2d3748cc;border:1px solid #553C9A;border-radius:6px;padding:8px 10px;margin-bottom:6px;margin-left:12px;position:relative;animation:fadeIn .3s ease-out;animation-fill-mode:both}.subgraph-node:nth-child(2){animation-delay:.05s}.subgraph-node:nth-child(3){animation-delay:.1s}.subgraph-node:nth-child(4){animation-delay:.15s}.subgraph-node:nth-child(5){animation-delay:.2s}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.subgraph-node:last-child{margin-bottom:0}.subgraph-node:before{content:"";position:absolute;left:-12px;top:50%;width:8px;height:1px;background:#553c9a}.subgraph-node-content{display:flex;align-items:center;gap:8px}.subgraph-node-icon{font-size:14px;line-height:1}.subgraph-node-label{font-size:11px;font-weight:500;color:#d6bcfa}.subgraph-dependencies{margin-top:4px;padding-top:4px;border-top:1px solid rgba(85,60,154,.3);font-size:9px;color:#9f7aea;font-family:Monaco,Courier New,monospace}.typed-edge-label{position:absolute;font-size:10px;pointer-events:all;outline:none}.typed-edge-label:focus-visible{outline:3px solid #63B3ED;outline-offset:2px;border-radius:4px}.edge-type-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:3px;color:#fff;font-weight:600;font-size:9px;text-transform:uppercase;letter-spacing:.5px;border:1px solid;box-shadow:0 1px 3px #0000004d;white-space:nowrap;transition:all .2s;text-shadow:0 1px 2px rgba(0,0,0,.7)}.edge-type-badge .type-icon{font-size:10px;line-height:1}.edge-type-badge .type-label{line-height:1}.edge-type-badge.selected{box-shadow:0 2px 6px #00000080;transform:scale(1.1)}.edge-type-badge.invalid{animation:pulse-error 1s infinite}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.7}}@media (prefers-reduced-motion: reduce){.edge-type-badge.invalid{animation:none;border:2px solid #F56565}.edge-type-badge{transition:none}}.edge-error-tooltip{margin-top:4px;padding:4px 6px;background:#742a2a;color:#feb2b2;border-radius:3px;font-size:10px;white-space:nowrap;box-shadow:0 2px 4px #0000004d}.react-flow__edge:hover .edge-type-badge,.typed-edge-label:focus .edge-type-badge{transform:scale(1.15);box-shadow:0 2px 6px #00000080}@media (max-width: 768px){.edge-type-badge{font-size:11px;padding:4px 8px}.edge-error-tooltip{max-width:200px;white-space:normal;font-size:12px}.typed-edge-label{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}}.nb-tags{display:flex;flex-wrap:wrap;gap:3px}.nb-tag{display:inline-block;font-size:9px;font-family:Monaco,Consolas,monospace;padding:2px 5px;border-radius:3px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nb-tag-input{background:#63b3ed1f;border:1px solid rgba(99,179,237,.25);color:#90cdf4}.nb-tag-output{background:#48bb781f;border:1px solid rgba(72,187,120,.25);color:#68d391}.nb-tag-config{background:#a0aec01f;border:1px solid rgba(160,174,192,.25);color:#a0aec0}.nb-tag-agent{background:#9f7aea1f;border:1px solid rgba(159,122,234,.25);color:#b794f4;max-width:120px}.nb-tag.nb-overflow{opacity:.7;font-style:italic}.nb-badge{display:inline-block;font-size:8px;font-family:Monaco,Consolas,monospace;text-transform:uppercase;letter-spacing:.5px;padding:2px 5px;border-radius:2px}.nb-badge-mode{background:#63b3ed1a;border:1px solid rgba(99,179,237,.2);color:#63b3ed}.nb-badges{display:flex;gap:3px;margin-top:2px}.nb-ensemble{display:flex;flex-direction:column;gap:3px}@media (max-width: 768px){.node-body{display:none}}.simplified-node{min-width:140px;max-width:280px;position:relative;background:#2d3748;border:2px solid #4A5568;border-radius:6px;color:#e2e8f0;font-size:11px}.simplified-node.executing{border-color:#f6ad55;box-shadow:0 0 12px #f6ad5566;animation:pulse-executing 1.5s ease-in-out infinite}.simplified-node.completed{border-color:#48bb78;box-shadow:0 0 8px #48bb784d}.simplified-node.error{border-color:#f56565;box-shadow:0 0 8px #f5656566}.simplified-node.skipped{border-color:#718096;opacity:.7}.simplified-node.meta-node{border-style:dashed;background:linear-gradient(135deg,#2d3748,#374151)}@keyframes pulse-executing{0%,to{box-shadow:0 0 8px #f6ad5566}50%{box-shadow:0 0 20px #f6ad5599}}.simplified-node .node-body{border-top:1px solid #4A5568;padding:4px 6px}.simplified-node .node-body:empty{display:none}.simplified-node .node-header{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;gap:6px}.simplified-node .header-content{display:flex;align-items:center;gap:5px;flex:1;min-width:0}.simplified-node .type-icon{font-size:12px;flex-shrink:0}.simplified-node .node-label{font-weight:600;font-size:11px;color:#f7fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simplified-node .header-right{display:flex;align-items:center;gap:5px;flex-shrink:0}.simplified-node .model-badge{font-size:9px;padding:1px 5px;background:#63b3ed26;border:1px solid rgba(99,179,237,.3);border-radius:3px;color:#63b3ed;font-family:Monaco,Consolas,monospace}.simplified-node .timing-badge{font-size:9px;padding:1px 5px;background:#48bb7826;border-radius:3px;color:#48bb78;font-family:Monaco,Consolas,monospace}.simplified-node .status-indicator{width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:11px}.simplified-node .status-indicator.running{animation:spin 1s linear infinite}.simplified-node .context-handle{width:10px;height:10px;background:#4299e1;border:2px solid #2D3748;cursor:crosshair}.simplified-node .context-handle:hover{width:12px;height:12px;background:#63b3ed;box-shadow:0 0 8px #4299e180}.react-flow__handle-top.context-handle{top:-6px}.react-flow__handle-bottom.context-handle{bottom:-6px}.simplified-node.writers-room-node{border-color:#9f7aea;background:linear-gradient(135deg,#2d3748,#322659)}.simplified-node.writers-room-node .context-handle{background:#9f7aea}.simplified-node.writers-room-node.executing{border-color:#b794f4;box-shadow:0 0 16px #9f7aea99;animation:pulse-executing 1.5s ease-in-out infinite}.simplified-node.writers-room-node.completed{border-color:#68d391;box-shadow:0 0 8px #68d3914d}.simplified-node.start-context-node{border-style:dashed;border-color:#38b2ac;background:linear-gradient(135deg,#1a365d,#234e52)}.simplified-node.start-context-node .context-handle{background:#38b2ac}.simplified-node.end-node{border-style:dashed;border-color:#e53e3e;background:linear-gradient(135deg,#2d3748,#742a2a)}.simplified-node.end-node .context-handle{background:#e53e3e}.simplified-node.synthesis-node{border-color:#d69e2e;border-width:3px;background:linear-gradient(135deg,#2d3748,#744210)}.simplified-node.synthesis-node .context-handle{background:#d69e2e}.simplified-node.character-advocate-node{border-color:#4299e1;background:linear-gradient(135deg,#2d3748,#1a365d)}.simplified-node.character-advocate-node .context-handle{background:#4299e1}.simplified-node.structural-advocate-node{border-color:#ed8936;background:linear-gradient(135deg,#2d3748,#744210)}.simplified-node.structural-advocate-node .context-handle{background:#ed8936}.simplified-node.casting-node{border-color:#d53f8c;background:linear-gradient(135deg,#2d3748,#702459)}.simplified-node.casting-node .context-handle{background:#d53f8c}.simplified-node.debate-round-node{border-color:#e53e3e;border-style:double;border-width:3px;background:linear-gradient(135deg,#2d3748,#742a2a)}.simplified-node.debate-round-node .context-handle{background:#e53e3e}.simplified-node.illustration-node{border-color:#7c3aed;background:linear-gradient(135deg,#2d3748,#4c1d95)}.simplified-node.illustration-node .context-handle{background:#7c3aed}.simplified-node.illustration-node.executing{border-color:#a78bfa;box-shadow:0 0 16px #7c3aed99;animation:pulse-executing 2s ease-in-out infinite}.simplified-node.router-node{border-color:#0891b2;border-width:3px;background:linear-gradient(135deg,#2d3748,#164e63)}.simplified-node.router-node .context-handle{background:#0891b2}.simplified-node.v4-node{border-color:#4299e1}.simplified-node.v4-node:hover{border-color:#63b3ed;box-shadow:0 0 8px #4299e14d}.simplified-node.character-advocate-node.executing,.simplified-node.structural-advocate-node.executing,.simplified-node.casting-node.executing,.simplified-node.debate-round-node.executing{animation:pulse-executing 1.5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.simplified-node.executing,.simplified-node.writers-room-node.executing,.simplified-node.character-advocate-node.executing,.simplified-node.structural-advocate-node.executing,.simplified-node.casting-node.executing,.simplified-node.debate-round-node.executing,.simplified-node.illustration-node.executing,.simplified-node .status-indicator.running{animation:none}}@media (max-width: 768px){.simplified-node{min-width:100px;max-width:140px}.simplified-node .model-badge,.simplified-node .type-icon{display:none}.simplified-node .context-handle{width:16px;height:16px}}.context-flow-panel{background:#1a202c;border-radius:8px;padding:16px;color:#e2e8f0;height:100%;display:flex;flex-direction:column}.context-flow-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #2D3748}.context-flow-panel .panel-header h3{margin:0;font-size:14px;font-weight:600;color:#f7fafc}.context-flow-panel .header-actions{display:flex;gap:8px}.context-flow-panel .btn-small{padding:4px 8px;font-size:10px;background:#2d3748;border:1px solid #4A5568;border-radius:4px;color:#a0aec0;cursor:pointer}.context-flow-panel .btn-small:hover{background:#374151;color:#e2e8f0}.context-flow-panel .context-flow-description{font-size:11px;color:#718096;margin-bottom:16px}.context-flow-panel .context-flow-description code{background:#2d3748;padding:2px 4px;border-radius:3px;font-family:Monaco,Consolas,monospace;color:#63b3ed}.context-flow-panel .nodes-list{flex:1;overflow-y:auto}.context-flow-panel .node-wrapper{margin-bottom:4px}.context-flow-panel .node-wrapper.executed .node-context-view{border-color:#48bb78}.context-flow-panel .node-wrapper.current .node-context-view{border-color:#f6ad55;box-shadow:0 0 8px #f6ad554d}.context-flow-panel .flow-arrow{text-align:center;color:#4a5568;font-size:16px;padding:4px 0}.context-flow-panel .node-context-view{background:#2d3748;border:1px solid #4A5568;border-radius:6px;overflow:hidden}.context-flow-panel .node-context-view.new{border-color:#f6ad55}.context-flow-panel .node-context-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;color:#e2e8f0;cursor:pointer;text-align:left;font-size:12px}.context-flow-panel .node-context-header:hover{background:#4299e11a}.context-flow-panel .toggle-icon{font-size:8px;color:#718096;width:10px}.context-flow-panel .node-name{font-weight:600;flex:1}.context-flow-panel .node-type{font-size:10px;color:#718096;font-family:Monaco,Consolas,monospace}.context-flow-panel .fields-added{font-size:10px;padding:2px 6px;background:#48bb7833;color:#48bb78;border-radius:4px}.context-flow-panel .context-content{padding:12px;border-top:1px solid #4A5568;background:#1a202c}.context-flow-panel .provides-section,.context-flow-panel .snapshot-section{margin-bottom:12px}.context-flow-panel .provides-section:last-child,.context-flow-panel .snapshot-section:last-child{margin-bottom:0}.context-flow-panel .section-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#718096;margin-bottom:8px}.context-flow-panel .fields-grid{display:flex;flex-direction:column;gap:4px}.context-flow-panel .field-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#2d3748;border-radius:4px;border-left:3px solid #4A5568;font-size:11px}.context-flow-panel .field-name{font-family:Monaco,Consolas,monospace;color:#e2e8f0}.context-flow-panel .field-value{font-family:Monaco,Consolas,monospace;color:#a0aec0;font-size:10px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-flow-panel .context-json{margin:0;padding:8px;background:#2d3748;border-radius:4px;font-size:9px;color:#cbd5e0;overflow-x:auto;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.context-flow-panel .no-data{font-size:11px;color:#718096;font-style:italic}.context-flow-panel .empty-state{text-align:center;color:#718096;padding:40px 20px;font-size:12px}.node-palette{width:240px;background:#2d3748;border-right:2px solid #4A5568;display:flex;flex-direction:column;overflow-y:auto}.palette-header{padding:16px;font-size:14px;font-weight:600;color:#63b3ed;border-bottom:1px solid #4A5568;background:linear-gradient(180deg,#374151,#2d3748)}.palette-category{border-bottom:1px solid #4A5568}.category-name{padding:12px 16px 8px;font-size:11px;font-weight:600;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px}.category-nodes{padding:0 8px 12px;display:flex;flex-direction:column;gap:4px}.palette-node{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;cursor:grab;transition:all .2s;-webkit-user-select:none;user-select:none}.palette-node:hover{background:#374151;border-color:#63b3ed;transform:translate(4px)}.palette-node:active{cursor:grabbing;transform:scale(.98)}.palette-node .node-icon{font-size:16px;line-height:1}.palette-node .node-label{font-size:12px;font-weight:500;color:#e2e8f0}.palette-footer{margin-top:auto;padding:12px 16px;font-size:11px;color:#718096;text-align:center;border-top:1px solid #4A5568;background:#1a202c}.v4-category .category-name{color:#10b981}.palette-node.v4-node{border-color:#10b981;border-left-width:3px}.palette-node.v4-node:hover{border-color:#34d399;background:#1a2e2a}.node-palette::-webkit-scrollbar{width:8px}.node-palette::-webkit-scrollbar-track{background:#1a202c}.node-palette::-webkit-scrollbar-thumb{background:#4a5568;border-radius:4px}.node-palette::-webkit-scrollbar-thumb:hover{background:#718096}.live-test-panel{animation:slideIn .3s ease-out}.turn-counter{margin-left:auto;font-size:12px;font-weight:500;color:#a0aec0;font-family:Monaco,monospace}.empty-state{padding:40px 20px;text-align:center;color:#718096;font-size:13px}.progress-section{margin-bottom:16px}.progress-bar-container{height:8px;background:#2d3748;border-radius:4px;overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#4299e1,#63b3ed);transition:width .5s ease-out;box-shadow:0 0 8px #4299e180}.progress-text{margin-top:6px;font-size:11px;color:#a0aec0;text-align:right;font-family:Monaco,monospace}.scene-passage{margin-bottom:16px;background:#2d3748;border:1px solid #4A5568;border-left:3px solid #63B3ED;border-radius:6px;overflow:hidden}.passage-header{padding:8px 12px;background:#4299e11a;font-size:11px;font-weight:600;color:#63b3ed;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #4A5568}.passage-content{padding:12px;font-size:13px;line-height:1.6;color:#e2e8f0;font-family:Georgia,serif;max-height:200px;overflow-y:auto}.passage-content::-webkit-scrollbar{width:6px}.passage-content::-webkit-scrollbar-track{background:#1a202c}.passage-content::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.narrative-section{margin-bottom:16px}.section-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px;background:#2d3748;border:1px solid #4A5568;border-radius:4px;color:#e2e8f0;font-size:12px;cursor:pointer;transition:all .2s}.section-toggle:hover{background:#374151;border-color:#63b3ed}.toggle-icon{font-size:10px;color:#a0aec0}.section-title{font-weight:600}.entry-count{margin-left:auto;font-size:11px;color:#718096}.narrative-scroll{max-height:300px;overflow-y:auto;margin-top:8px;padding:8px;background:#1a202c;border-radius:4px}.narrative-entry{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #2D3748}.narrative-entry:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.choice-marker{display:flex;align-items:center;gap:8px}.turn-badge{font-size:10px;font-weight:600;padding:2px 6px;background:#4299e1;color:#fff;border-radius:3px}.narrative-entry .choice-text{font-size:12px;color:#63b3ed;font-weight:500}.narrative-text{font-size:12px;line-height:1.6;color:#e2e8f0;font-family:Georgia,serif}.scene-text{font-size:12px;line-height:1.6;color:#a0aec0;font-family:Georgia,serif}.activity-section{margin-bottom:16px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:600;color:#a0aec0}.current-node-badge{font-size:11px;padding:2px 8px;background:#f6ad5533;color:#f6ad55;border-radius:4px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.activity-list{display:flex;flex-direction:column;gap:4px}.activity-entry .node-name{flex:1;font-weight:500;color:#e2e8f0}.activity-entry .node-status{font-size:12px}.activity-entry .node-timing{font-family:Monaco,monospace;font-size:10px;color:#63b3ed}.selected-marker{color:#48bb78;font-weight:700}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:600;color:#a0aec0}.elapsed-time{font-family:Monaco,monospace;color:#f6ad55}.activity-log{display:flex;flex-direction:column;gap:4px;max-height:250px;overflow-y:auto;padding-right:4px}.activity-log::-webkit-scrollbar{width:6px}.activity-log::-webkit-scrollbar-track{background:#1a202c}.activity-log::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.activity-entry{display:flex;gap:8px;padding:8px;background:#2d3748;border:1px solid #4A5568;border-radius:4px;font-size:12px;transition:all .2s}.activity-entry:hover{background:#374151;border-color:#63b3ed}.activity-entry.status-running{border-left:3px solid #F6AD55;background:#f6ad550d}.activity-entry.status-success{border-left:3px solid #48BB78;background:#48bb780d}.activity-entry.status-failed{border-left:3px solid #F56565;background:#f565650d}.activity-entry.status-skipped{border-left:3px solid #718096;opacity:.6}.activity-icon{font-size:14px;line-height:1.4}.activity-details{flex:1;display:flex;flex-direction:column;gap:4px}.activity-node{font-weight:600;color:#e2e8f0}.activity-timing{font-family:Monaco,monospace;color:#63b3ed;font-size:11px}.activity-output{font-family:Monaco,monospace;color:#a0aec0;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choices-section{margin-top:16px}.choices-header{margin-bottom:8px;font-size:12px;font-weight:600;color:#a0aec0}.choices-list{display:flex;flex-direction:column;gap:6px}.choice-item{display:flex;align-items:flex-start;gap:8px;padding:10px;background:#2d3748;border:1px solid #4A5568;border-radius:6px;font-size:12px;transition:all .2s;cursor:pointer}.choice-item:hover{background:#374151;border-color:#63b3ed}.choice-item.selected{border-color:#48bb78;background:#48bb781a;box-shadow:0 0 8px #48bb784d}.choice-number{font-weight:700;color:#63b3ed;min-width:20px}.choice-text{flex:1;color:#e2e8f0;line-height:1.5}.choice-badge{font-size:10px;font-weight:600;color:#48bb78;padding:2px 6px;background:#48bb7833;border-radius:3px;margin-left:auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.test-config-modal{background:#2d3748;border:1px solid #4A5568;border-radius:12px;width:480px;max-width:90vw;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#1a202c;border-bottom:1px solid #4A5568}.modal-header h2{margin:0;font-size:16px;font-weight:600;color:#e2e8f0}.close-btn{background:none;border:none;color:#a0aec0;font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-btn:hover{color:#e2e8f0}.modal-body{padding:20px;max-height:60vh;overflow-y:auto}.config-section{margin-bottom:20px}.config-section:last-child{margin-bottom:0}.section-label{display:block;font-size:12px;font-weight:600;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.value-display{color:#63b3ed;font-family:Monaco,monospace}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.template-option{display:flex;flex-direction:column;align-items:flex-start;padding:12px;background:#1a202c;border:2px solid #4A5568;border-radius:8px;cursor:pointer;transition:all .2s}.template-option:hover{border-color:#63b3ed;background:#4299e11a}.template-option.selected{border-color:#4299e1;background:#4299e126}.template-option:focus-visible{outline:2px solid #63B3ED;outline-offset:2px}.template-name{font-size:13px;font-weight:600;color:#e2e8f0}.template-genre{font-size:11px;color:#718096;margin-top:2px}.option-list{display:flex;flex-direction:column;gap:8px}.option-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;cursor:pointer;transition:all .2s}.option-item:hover{border-color:#63b3ed}.option-item:has(input:checked){border-color:#4299e1;background:#4299e11a}.option-item input[type=radio]{margin-top:2px;accent-color:#4299E1}.option-content{display:flex;flex-direction:column;gap:2px}.option-label{font-size:13px;font-weight:500;color:#e2e8f0}.option-desc{font-size:11px;color:#718096}.range-slider{width:100%;height:6px;background:#1a202c;border-radius:3px;outline:none;-webkit-appearance:none;margin:8px 0}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#4299e1;border-radius:50%;cursor:pointer;border:2px solid #2D3748;box-shadow:0 2px 6px #0000004d}.range-slider::-webkit-slider-thumb:hover{background:#63b3ed}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:#718096}.persona-grid{display:flex;flex-direction:column;gap:8px}.persona-option{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#1a202c;border:2px solid #4A5568;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.persona-option:hover{border-color:#63b3ed;background:#4299e11a}.persona-option.selected{border-color:#4299e1;background:#4299e126}.persona-option:focus-visible{outline:2px solid #63B3ED;outline-offset:2px}.persona-icon{font-size:24px;line-height:1;flex-shrink:0}.persona-content{display:flex;flex-direction:column;gap:2px;min-width:0}.persona-label{font-size:13px;font-weight:600;color:#e2e8f0}.persona-desc{font-size:11px;color:#718096;line-height:1.4}.checkbox-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;cursor:pointer;transition:all .2s}.checkbox-item:hover{border-color:#63b3ed}.checkbox-item:has(input:checked){border-color:#4299e1;background:#4299e11a}.checkbox-item input[type=checkbox]{margin-top:2px;accent-color:#4299E1;width:16px;height:16px;flex-shrink:0}.checkbox-content{display:flex;flex-direction:column;gap:2px}.checkbox-label{font-size:13px;font-weight:500;color:#e2e8f0}.checkbox-desc{font-size:11px;color:#718096}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;background:#1a202c;border-top:1px solid #4A5568}.modal-footer .btn{padding:10px 20px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.modal-footer .btn-secondary{background:#4a5568;color:#e2e8f0}.modal-footer .btn-secondary:hover{background:#718096}.modal-footer .btn-primary{background:#4299e1;color:#fff}.modal-footer .btn-primary:hover{background:#3182ce}.mobile-view{display:none}@media (max-width: 768px){.test-config-modal{width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0;display:flex;flex-direction:column}.desktop-view{display:none}.mobile-view{display:flex;flex-direction:column;height:100%}.mobile-step-1 .mobile-step-1-content{display:flex}.mobile-step-1 .mobile-step-2-content,.mobile-step-2 .mobile-step-1-content{display:none}.mobile-step-2 .mobile-step-2-content{display:flex}.mobile-view .modal-header{flex-shrink:0}.mobile-view .modal-header h2{flex:1;text-align:center}.mobile-view .modal-body{flex:1;max-height:none;overflow-y:auto}.mobile-view .modal-footer{flex-shrink:0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0))}.back-btn{background:none;border:none;color:#63b3ed;font-size:20px;cursor:pointer;padding:4px 8px;margin-left:-8px}.mobile-template-list{display:flex;flex-direction:column;gap:10px}.mobile-template-option{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#1a202c;border:2px solid #4A5568;border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.mobile-template-option:hover,.mobile-template-option:active{border-color:#63b3ed}.mobile-template-option.selected{border-color:#4299e1;background:#4299e126}.mobile-template-option .template-name{font-size:15px}.mobile-template-option .template-genre{font-size:12px}.mobile-template-option .check-icon{color:#4299e1;flex-shrink:0}.mobile-option-list{display:flex;flex-direction:column;gap:8px}.mobile-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;background:#1a202c;border:2px solid #4A5568;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.mobile-option:hover,.mobile-option:active{border-color:#63b3ed}.mobile-option.selected{border-color:#4299e1;background:#4299e126}.mobile-option .option-label{font-size:14px;font-weight:600;color:#e2e8f0}.mobile-option .option-desc{font-size:12px;color:#718096}.mobile-persona-list{display:flex;flex-direction:column;gap:10px}.mobile-persona-option{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#1a202c;border:2px solid #4A5568;border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.mobile-persona-option:hover,.mobile-persona-option:active{border-color:#63b3ed}.mobile-persona-option.selected{border-color:#4299e1;background:#4299e126}.mobile-persona-option .persona-icon{font-size:28px}.mobile-persona-option .persona-content{flex:1;min-width:0}.mobile-persona-option .persona-label{font-size:15px}.mobile-persona-option .persona-desc{font-size:12px;line-height:1.4}.mobile-persona-option .check-icon{color:#4299e1;flex-shrink:0;margin-top:4px}.mobile-checkbox{padding:16px}.mobile-checkbox .checkbox-label{font-size:15px}.mobile-checkbox .checkbox-desc{font-size:12px}.mobile-checkbox input[type=checkbox]{width:20px;height:20px}}.modal-tabs{display:flex;border-bottom:1px solid #4A5568;background:#1a202c;padding:0 20px}.modal-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:#a0aec0;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.modal-tab:hover{color:#e2e8f0}.modal-tab.active{color:#63b3ed;border-bottom-color:#63b3ed}.session-search-input{width:100%;padding:10px 12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;color:#e2e8f0;font-size:13px;outline:none;transition:border-color .2s}.session-search-input::placeholder{color:#718096}.session-search-input:focus{border-color:#63b3ed}.session-list{display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto}.session-list-empty{padding:32px 16px;text-align:center;color:#718096;font-size:13px}.session-list-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:#1a202c;border:1px solid #4A5568;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;width:100%}.session-list-item:hover{border-color:#63b3ed;background:#4299e114}.session-list-item.active{border-color:#48bb78}.session-list-item.active:hover{border-color:#68d391}.session-item-header{display:flex;align-items:center;gap:8px}.session-item-template{font-size:13px;font-weight:600;color:#e2e8f0;flex:1}.session-active-badge{padding:2px 8px;background:#48bb7833;border:1px solid #48BB78;border-radius:10px;color:#68d391;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.session-item-turns{font-size:11px;color:#a0aec0;font-family:Monaco,monospace}.session-item-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.session-item-id{font-size:11px;color:#718096;font-family:Monaco,monospace}.session-item-protagonist,.session-item-pipeline{font-size:11px;color:#a0aec0}.session-item-pipeline{padding:1px 6px;background:#63b3ed1a;border-radius:3px;color:#63b3ed}.session-item-time{font-size:11px;color:#718096;margin-left:auto}.llm-player-section{margin-top:16px;padding-top:16px;border-top:1px solid #4A5568}.llm-player-options{margin-top:12px}.provider-toggle{display:flex;gap:8px}.provider-btn{flex:1;padding:10px 16px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;color:#a0aec0;cursor:pointer;font-size:14px;transition:all .2s ease}.provider-btn:hover{border-color:#63b3ed;color:#e2e8f0}.provider-btn.selected{background:#4299e133;border-color:#4299e1;color:#63b3ed}.style-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.style-option{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;color:#e2e8f0;cursor:pointer;transition:all .2s ease;text-align:left}.style-option:hover{border-color:#63b3ed}.style-option.selected{background:#4299e126;border-color:#4299e1}.style-label{font-weight:500;font-size:13px;color:#e2e8f0}.style-desc{font-size:11px;color:#a0aec0;margin-top:2px}.llm-player-info{display:flex;gap:8px;align-items:flex-start;padding:12px;background:#4299e11a;border-radius:6px;margin-top:12px}.info-icon{font-size:14px;flex-shrink:0}.info-text{font-size:12px;color:#a0aec0;line-height:1.4}@media (max-width: 480px){.style-grid{grid-template-columns:1fr}.llm-player-info{display:none}}.pipeline-selector-modal{background:#2d3748;border:1px solid #4A5568;border-radius:12px;width:800px;max-width:95vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.pipeline-selector-modal{animation:none}}.pipeline-selector-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#1a202c;border-bottom:1px solid #4A5568}.pipeline-selector-modal .modal-header h2{margin:0;font-size:16px;font-weight:600;color:#e2e8f0}.pipeline-selector-modal .modal-body{padding:20px;max-height:calc(90vh - 130px);overflow-y:auto}.pipeline-section{margin-bottom:24px}.pipeline-section:last-child{margin-bottom:0}.section-title{font-size:14px;font-weight:600;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #4A5568}.section-description{font-size:12px;color:#718096;margin:-8px 0 12px}.genre-section{background:#805ad50d;border-radius:8px;padding:16px;border:1px solid rgba(128,90,213,.2)}.genre-section .section-title{color:#b794f4;border-bottom-color:#805ad54d}.pipeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.pipeline-card{background:#1a202c;border:2px solid #4A5568;border-radius:10px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;gap:12px}.pipeline-card:hover{border-color:#63b3ed;background:#4299e10d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.pipeline-card.selected{border-color:#4299e1;background:#4299e11a;box-shadow:0 0 0 3px #4299e133}.pipeline-card:focus{outline:none;border-color:#63b3ed;box-shadow:0 0 0 3px #63b3ed66}.pipeline-card:focus-visible{outline:2px solid #63B3ED;outline-offset:2px}.pipeline-card-header{display:flex;justify-content:space-between;align-items:center}.pipeline-name{font-size:16px;font-weight:700;color:#e2e8f0;letter-spacing:.5px}.pipeline-timing{font-size:12px;font-weight:600;color:#48bb78;background:#48bb7826;padding:4px 8px;border-radius:4px}.pipeline-description{margin:0;font-size:13px;color:#a0aec0;line-height:1.4}.pipeline-features{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.feature-item{display:flex;align-items:center;gap:8px;font-size:12px}.feature-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:3px;font-size:10px;font-weight:700}.feature-item.enabled .feature-icon{background:#48bb7833;color:#48bb78}.feature-item.disabled .feature-icon{background:#71809633;color:#718096}.feature-item.enabled .feature-text{color:#cbd5e0}.feature-item.disabled .feature-text{color:#718096}.pipeline-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid #4A5568}.pipeline-model{display:flex;align-items:center;gap:6px;font-size:11px}.model-label{color:#718096}.model-value{color:#63b3ed;font-family:Monaco,monospace;font-size:10px;background:#63b3ed1a;padding:2px 6px;border-radius:3px}.pipeline-use-case{font-size:11px;color:#a0aec0;font-style:italic}.pipeline-version{font-size:11px;color:#718096;background:#71809626;padding:2px 6px;border-radius:4px}.genre-badge{font-size:10px;font-weight:600;color:#b794f4;background:#805ad533;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.pipeline-card.genre-card{border-color:#805ad54d}.pipeline-card.genre-card:hover{border-color:#b794f4;background:#805ad51a}.pipeline-card.genre-card.selected{border-color:#9f7aea;background:#805ad526;box-shadow:0 0 0 3px #805ad533}.pipeline-card.genre-card:hover{border-color:#b794f4;background:#805ad51f}.current-badge{position:absolute;top:-8px;right:12px;background:#4299e1;color:#fff;font-size:10px;font-weight:600;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.pipeline-selector-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;background:#1a202c;border-top:1px solid #4A5568}.deprecated-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:#a0aec0;cursor:pointer;-webkit-user-select:none;user-select:none}.deprecated-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#4299E1;cursor:pointer}.deprecated-toggle:hover{color:#cbd5e0}.pipeline-selector-modal .btn{padding:10px 20px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.pipeline-selector-modal .btn-secondary{background:#4a5568;color:#e2e8f0}.pipeline-selector-modal .btn-secondary:hover{background:#718096}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pipeline-selector-modal .close-btn:focus-visible{outline:2px solid #63B3ED;outline-offset:2px}.pipeline-selector-modal .btn:focus-visible{outline:2px solid #63B3ED;outline-offset:2px}.pipeline-loading,.pipeline-error{display:flex;align-items:center;justify-content:center;padding:48px 24px;color:#a0aec0;font-size:14px}.pipeline-error{color:#fc8181}.pipeline-icon{margin-right:8px;font-size:16px}.family-groups{display:flex;flex-direction:column;gap:20px}.family-group{background:#1a202c80;border:1px solid #4A5568;border-radius:10px;padding:16px}.family-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(74,85,104,.6)}.family-icon{font-size:16px}.family-label{font-size:13px;font-weight:600;color:#cbd5e0;letter-spacing:.3px}.family-members{display:flex;flex-direction:column;gap:10px}.family-members .pipeline-card{background:#1a202c}.pipeline-card-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.role-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.role-badge.role-latest{color:#48bb78;background:#48bb7826}.role-badge.role-variant{color:#63b3ed;background:#63b3ed26}.role-badge.role-previous{color:#a0aec0;background:#71809626}.show-previous-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:8px 12px;background:transparent;border:1px dashed #4A5568;border-radius:6px;color:#718096;font-size:12px;cursor:pointer;transition:all .2s ease}.show-previous-btn:hover{border-color:#63b3ed;color:#63b3ed;background:#63b3ed0d}.show-previous-btn:focus-visible{outline:2px solid #63B3ED;outline-offset:2px}.previous-versions{display:flex;flex-direction:column;gap:10px}.previous-versions .pipeline-card{opacity:.75;border-style:dashed}.previous-versions .pipeline-card:hover{opacity:1}@media (max-width: 768px){.pipeline-selector-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.pipeline-grid{grid-template-columns:1fr}.pipeline-selector-modal .modal-body{max-height:calc(100vh - 130px)}}.node-inspector,.inspector-section{margin-bottom:16px}.inspector-section:last-child{margin-bottom:0}.section-label{font-size:11px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.node-info{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#2d3748;border-radius:4px;font-size:12px}.info-label{color:#a0aec0;font-weight:500}.info-value{color:#e2e8f0;font-family:Monaco,monospace}.info-value.timing{color:#63b3ed;font-weight:600}.status-badge{padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.status-badge.status-idle{background:#4299e133;color:#63b3ed}.status-badge.status-running{background:#f6ad5533;color:#f6ad55}.status-badge.status-success{background:#48bb7833;color:#48bb78}.status-badge.status-failed{background:#f5656533;color:#f56565}.status-badge.status-skipped{background:#71809633;color:#718096}.config-note{font-size:12px;color:#a0aec0;padding:10px 12px;background:#2d3748;border-radius:4px;border-left:2px solid #4A5568}.config-note strong{color:#63b3ed}.output-display{padding:12px;background:#1a202c;border:1px solid #4A5568;border-radius:4px;font-family:Monaco,monospace;font-size:10px;color:#cbd5e0;overflow-x:auto;max-height:300px;overflow-y:auto}.output-display::-webkit-scrollbar{width:6px;height:6px}.output-display::-webkit-scrollbar-track{background:#1a202c}.output-display::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.node-description{color:#cbd5e0;font-size:13px;line-height:1.6;margin:0;padding:10px;background:#2d3748;border-radius:4px;border-left:3px solid #63B3ED}.context-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.context-field{padding:6px 10px;border-radius:4px;font-size:11px;display:flex;align-items:center}.context-field code{font-family:Monaco,monospace;font-size:11px;padding:2px 6px;border-radius:3px;background:#0000004d}.read-field{background:#63b3ed1a;border-left:3px solid #63B3ED}.read-field code{color:#90cdf4}.write-field{background:#48bb781a;border-left:3px solid #48BB78}.write-field code{color:#9ae6b4}.template-name{font-family:Monaco,monospace;font-size:11px;color:#63b3ed;margin-bottom:8px;padding:4px 8px;background:#63b3ed1a;border-radius:4px;display:inline-block}.template-fields{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.template-field{display:flex;align-items:baseline;gap:8px;font-size:11px;padding:4px 0}.field-ref{font-family:Monaco,monospace;color:#f6ad55;background:#f6ad551a;padding:2px 6px;border-radius:3px;flex-shrink:0;font-size:10px}.field-desc{color:#a0aec0;font-size:11px}.field-type{color:#718096;font-size:10px;margin-left:6px}.optional-badge{background:#a0aec033;color:#a0aec0;font-size:9px;padding:2px 6px;border-radius:3px;margin-left:6px}.context-field .field-description{color:#a0aec0;font-size:10px;margin-top:4px;margin-left:8px;width:100%}.context-field{flex-wrap:wrap}.logic-section{background:#63b3ed0d;padding:12px;border-radius:6px;border:1px solid rgba(99,179,237,.2)}.logic-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.logic-step{font-size:11px;color:#e2e8f0;padding:8px 12px;background:#2d3748;border-radius:4px;border-left:3px solid #63B3ED;line-height:1.5;white-space:pre-wrap}.decision-points{display:flex;flex-direction:column;gap:12px}.decision-point{background:#2d3748;border-radius:6px;padding:10px;border-left:3px solid #F6AD55}.decision-condition{display:flex;align-items:center;gap:8px;margin-bottom:8px}.condition-label{color:#f6ad55;font-weight:600;font-size:10px}.decision-condition code{font-family:Monaco,monospace;font-size:11px;color:#e2e8f0;background:#0000004d;padding:2px 6px;border-radius:3px}.decision-branches{display:flex;flex-direction:column;gap:4px;margin-left:12px}.branch{display:flex;align-items:flex-start;gap:8px;font-size:11px}.branch-label{font-weight:600;font-size:10px;flex-shrink:0}.true-branch .branch-label{color:#48bb78}.false-branch .branch-label{color:#718096}.branch span:last-child{color:#cbd5e0}.llm-info{display:flex;flex-direction:column;gap:8px}.llm-badge{padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600}.llm-badge.uses-llm{background:#f6ad5533;color:#f6ad55}.llm-badge.no-llm{background:#48bb7833;color:#48bb78}.llm-note{font-size:11px;color:#a0aec0;font-style:italic;padding:8px;background:#a0aec01a;border-radius:4px}.transparency-notice{margin-top:12px;padding:8px 12px;background:#48bb781a;border-radius:4px;font-size:10px;color:#48bb78;display:flex;align-items:center;gap:6px}.transparency-warning{margin-top:12px;padding:8px 12px;background:#f565651a;border-radius:4px;font-size:10px;color:#f56565;display:flex;align-items:center;gap:6px}.inspector-collapsible{border:1px solid #4A5568;border-radius:6px;background:#2d3748;margin-bottom:8px}.inspector-collapsible:last-child{margin-bottom:0}.inspector-collapsible-header{display:flex;align-items:center;gap:6px;padding:8px 10px;cursor:pointer;font-size:11px;font-weight:600;color:#e2e8f0;-webkit-user-select:none;user-select:none;list-style:none}.inspector-collapsible-header::-webkit-details-marker{display:none}.inspector-collapsible-header:before{content:"▸";display:inline-block;transition:transform .15s ease;color:#718096;font-size:10px;flex-shrink:0}details[open]>.inspector-collapsible-header:before{transform:rotate(90deg)}.inspector-collapsible-title{flex:1}.inspector-collapsible-badge{font-size:9px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:#63b3ed26;color:#63b3ed;letter-spacing:.3px}.inspector-collapsible-content{padding:0 10px 10px}.inspector-collapsible .inspector-collapsible{border-color:#374151;background:#1e2533}.resolved-prompt-section .inspector-collapsible{border-color:#f6ad554d}.prompt-loading{font-size:11px;color:#a0aec0;font-style:italic;padding:8px 0}.prompt-error{font-size:11px;color:#f56565;padding:8px;background:#f565651a;border-radius:4px}.prompt-block{margin-bottom:8px}.prompt-block:last-child{margin-bottom:0}.prompt-block-label{font-size:10px;font-weight:600;color:#f6ad55;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;padding:2px 6px;background:#f6ad551a;border-radius:3px;display:inline-block}.prompt-display{padding:10px;background:#1a202c;border:1px solid #374151;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:10px;color:#cbd5e0;line-height:1.5;overflow-x:auto;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0}.prompt-display::-webkit-scrollbar{width:6px;height:6px}.prompt-display::-webkit-scrollbar-track{background:#1a202c}.prompt-display::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.prompt-show-all-btn{display:block;width:100%;margin-top:4px;padding:4px 8px;font-size:10px;color:#63b3ed;background:#63b3ed1a;border:1px solid rgba(99,179,237,.2);border-radius:4px;cursor:pointer;text-align:center}.prompt-show-all-btn:hover{background:#63b3ed33}.prompt-missing-vars{margin-top:8px;padding:6px 8px;background:#f6ad551a;border:1px solid rgba(246,173,85,.2);border-radius:4px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.missing-vars-label{font-size:10px;color:#f6ad55;font-weight:600}.missing-var{font-family:Monaco,Menlo,monospace;font-size:10px;padding:1px 5px;background:#f6ad5526;color:#f6ad55;border-radius:3px}.last-execution-section .inspector-collapsible{border-color:#48bb784d}.exec-status-bar{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#1a202c;border-radius:4px;margin-bottom:8px}.exec-status-icon{font-size:12px;font-weight:700}.exec-status-icon.status-success{color:#48bb78}.exec-status-icon.status-failed{color:#f56565}.exec-status-icon.status-skipped{color:#718096}.exec-status-label{font-size:11px;font-weight:600}.exec-status-label.status-success{color:#48bb78}.exec-status-label.status-failed{color:#f56565}.exec-status-label.status-skipped{color:#718096}.exec-duration{font-size:11px;color:#63b3ed;font-weight:600;font-family:Monaco,Menlo,monospace}.exec-type-tag{margin-left:auto;font-size:9px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:#a0aec026;color:#a0aec0}.rerun-node-btn{margin-left:auto;font-size:10px;font-weight:600;color:#63b3ed;background:#63b3ed1a;border:1px solid rgba(99,179,237,.2);border-radius:4px;padding:3px 8px;cursor:pointer;white-space:nowrap}.rerun-node-btn:hover:not(:disabled){background:#63b3ed33}.rerun-node-btn:disabled{color:#718096;border-color:#71809633;background:#7180961a;cursor:default}.rerun-result-block{margin-top:8px}.rerun-result-label{font-size:10px;font-weight:600;color:#48bb78;margin-bottom:4px}.rerun-result{padding:8px;background:#1a202c;border:1px solid rgba(72,187,120,.3);border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:10px;color:#cbd5e0;overflow-x:auto;max-height:200px;overflow-y:auto;margin:0}.rerun-error{margin-top:8px;font-size:11px;color:#f56565;padding:8px;background:#f565651a;border-radius:4px}.inspector-kv-list{display:flex;flex-direction:column;gap:4px}.inspector-kv-empty{font-size:11px;color:#718096;font-style:italic;padding:4px 0}.inspector-kv-item{display:flex;flex-direction:column;gap:2px;padding:4px 6px;border-radius:3px;background:#00000026}.inspector-kv-key{font-family:Monaco,Menlo,monospace;font-size:10px;color:#90cdf4;font-weight:600}.inspector-kv-value{font-family:Monaco,Menlo,monospace;font-size:10px;color:#cbd5e0;white-space:pre-wrap;word-break:break-word;line-height:1.4;max-height:80px;overflow:hidden;position:relative}.inspector-kv-value.truncatable{cursor:pointer}.inspector-kv-value.truncatable:not(.expanded):after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:24px;background:linear-gradient(transparent,#1a202ce6);pointer-events:none}.inspector-kv-value.expanded{max-height:none}.inspector-kv-value.truncatable:hover{background:#63b3ed0d;border-radius:2px}.node-config-panel{display:flex;flex-direction:column;background:var(--panel-bg, #1a1a2e);border:1px solid var(--border-color, #333);border-radius:8px;overflow:hidden;max-height:100%}.node-config-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--header-bg, #16213e);border-bottom:1px solid var(--border-color, #333);font-weight:600;color:var(--text-primary, #e0e0e0)}.node-config-panel .dirty-indicator{color:var(--accent-warning, #ffc107);font-size:1.2em;margin-left:8px}.node-config-panel .panel-content{flex:1;overflow-y:auto;padding:16px}.node-config-panel .panel-content.empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #888);font-style:italic}.config-identity{margin-bottom:16px;padding:12px;background:var(--bg-secondary, #252545);border-radius:6px}.identity-row{display:flex;align-items:center;margin-bottom:6px}.identity-row:last-child{margin-bottom:0}.identity-label{color:var(--text-secondary, #888);margin-right:8px;font-size:.85em}.identity-value{color:var(--text-primary, #e0e0e0);font-weight:500}.identity-type{font-family:monospace;background:var(--bg-tertiary, #1a1a2e);padding:2px 8px;border-radius:4px;color:var(--accent-cyan, #00d4ff);font-size:.9em}.config-group{margin-bottom:12px;border:1px solid var(--border-color, #333);border-radius:6px;overflow:hidden}.group-header{display:flex;align-items:center;padding:10px 12px;background:var(--bg-secondary, #252545);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.group-header:hover{background:var(--bg-hover, #303060)}.group-toggle{color:var(--text-secondary, #888);margin-right:8px;font-size:.8em}.group-label{font-weight:500;color:var(--text-primary, #e0e0e0);font-size:.9em}.group-content{padding:12px;background:var(--bg-tertiary, #1a1a2e)}.config-field-boolean{display:flex;flex-direction:column}.field-label-inline{display:flex;align-items:center;color:var(--text-primary, #e0e0e0);font-size:.9em;cursor:pointer}.field-checkbox{margin-right:8px;width:16px;height:16px;accent-color:var(--accent-primary, #6366f1)}.field-input,.field-select{width:100%;padding:8px 12px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:.9em;transition:border-color .2s}.field-input:focus,.field-select:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.field-number{width:120px}.field-range{font-size:.75em;color:var(--text-tertiary, #666);margin-top:4px}.no-schema{color:var(--text-secondary, #888);text-align:center;padding:20px}.no-schema p{margin-bottom:16px}.raw-config{text-align:left;margin-top:16px}.raw-config h4{font-size:.85em;color:var(--text-secondary, #aaa);margin-bottom:8px}.raw-config pre{background:var(--bg-tertiary, #1a1a2e);padding:12px;border-radius:4px;font-size:.8em;overflow-x:auto;max-height:200px}.config-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, #333)}.save-button{width:100%;padding:10px 16px;background:var(--accent-primary, #6366f1);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.save-button:hover{background:var(--accent-primary-hover, #4f46e5)}.save-button:active{transform:translateY(1px)}.config-field-prompt{margin-bottom:20px}.field-textarea{width:100%;padding:12px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em;line-height:1.5;resize:vertical;min-height:150px;transition:border-color .2s}.field-textarea:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.field-prompt{border-left:3px solid var(--accent-orange, #f59e0b)}.field-default-toggle{margin-top:8px}.field-default-toggle summary{font-size:.75em;color:var(--text-tertiary, #666);cursor:pointer;-webkit-user-select:none;user-select:none}.field-default-toggle summary:hover{color:var(--text-secondary, #888)}.field-default-preview{margin-top:8px;padding:12px;background:var(--bg-tertiary, #1a1a2e);border:1px dashed var(--border-color, #444);border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75em;line-height:1.4;color:var(--text-tertiary, #888);max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.prompt-editor{display:flex;flex-direction:column;gap:8px}.prompt-toolbar{display:flex;align-items:center;gap:8px;padding:4px 0}.toolbar-btn{padding:4px 10px;font-size:.8em;background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-secondary, #aaa);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.toolbar-btn.active{background:var(--accent-primary, #6366f1);color:#fff;border-color:var(--accent-primary, #6366f1)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.var-badge{font-size:.75em;padding:1px 5px;background:var(--bg-tertiary, #1a1a2e);border-radius:10px;min-width:18px;text-align:center}.var-badge.has-unmapped{background:var(--accent-warning, #ffc107);color:#000}.validation-error{font-size:.75em;padding:2px 8px;background:var(--accent-error, #ef4444);color:#fff;border-radius:4px;margin-left:auto}.prompt-editor-container{position:relative;min-height:200px;max-height:400px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--input-bg, #1e1e3e);overflow:hidden}.prompt-textarea,.prompt-highlight{position:absolute;top:0;left:0;width:100%;height:100%;padding:12px;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.85em;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;overflow:auto;box-sizing:border-box}.prompt-highlight{color:var(--text-primary, #e0e0e0);pointer-events:none;z-index:1}.prompt-textarea{background:transparent;color:transparent;caret-color:var(--text-primary, #e0e0e0);border:none;outline:none;resize:none;z-index:2}.prompt-textarea:focus{outline:none}.prompt-textarea::placeholder{color:var(--text-tertiary, #666)}.prompt-textarea:disabled{cursor:not-allowed;opacity:.7}.jinja-expression{color:var(--accent-cyan, #00d4ff);font-weight:500}.jinja-block{color:var(--accent-purple, #a855f7);font-weight:500}.jinja-comment{color:var(--text-tertiary, #666);font-style:italic}.variables-panel{background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:4px;overflow:hidden}.variables-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-tertiary, #1a1a2e);font-size:.85em;font-weight:500;color:var(--text-primary, #e0e0e0)}.close-btn{background:none;border:none;color:var(--text-secondary, #888);font-size:1.2em;cursor:pointer;padding:0 4px;line-height:1}.close-btn:hover{color:var(--text-primary, #e0e0e0)}.variables-list{padding:8px 12px;max-height:150px;overflow-y:auto}.no-vars{color:var(--text-tertiary, #666);font-style:italic;font-size:.85em}.variable-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.85em;border-bottom:1px solid var(--border-color, #333)}.variable-item:last-child{border-bottom:none}.var-name{font-family:monospace;color:var(--accent-cyan, #00d4ff)}.var-status{font-size:.75em;padding:1px 6px;border-radius:4px;text-transform:uppercase}.var-mapped .var-status{background:var(--accent-success, #22c55e);color:#000}.var-builtin .var-status{background:var(--accent-info, #3b82f6);color:#fff}.var-unmapped .var-status{background:var(--accent-warning, #ffc107);color:#000}.var-source{font-family:monospace;font-size:.85em;color:var(--text-secondary, #888);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.variables-warning{padding:8px 12px;background:#ffc1071a;border-top:1px solid var(--border-color, #444);font-size:.75em;color:var(--accent-warning, #ffc107)}.preview-panel{background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:4px;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-tertiary, #1a1a2e);font-size:.85em;font-weight:500;color:var(--text-primary, #e0e0e0)}.preview-content{padding:12px;max-height:200px;overflow-y:auto}.preview-loading{color:var(--text-tertiary, #666);font-style:italic;font-size:.85em}.preview-error{color:var(--accent-error, #ef4444);font-size:.85em;padding:8px;background:#ef44441a;border-radius:4px}.preview-text{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em;line-height:1.5;color:var(--text-primary, #e0e0e0);white-space:pre-wrap;word-wrap:break-word;margin:0}.preview-missing{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color, #444);font-size:.75em;color:var(--accent-warning, #ffc107)}.input-mapping-details{margin-top:4px;font-size:.85em}.input-mapping-details summary{cursor:pointer;color:var(--text-secondary, #888);padding:4px 0;-webkit-user-select:none;user-select:none}.input-mapping-details summary:hover{color:var(--text-primary, #e0e0e0)}.mapping-list{padding:8px 12px;background:var(--bg-tertiary, #1a1a2e);border-radius:4px;margin-top:4px}.mapping-item{display:flex;align-items:center;gap:8px;padding:2px 0}.mapping-var{color:var(--accent-cyan, #00d4ff);font-size:.9em}.mapping-arrow{color:var(--text-tertiary, #666)}.mapping-path{color:var(--text-secondary, #aaa);font-size:.9em}.agent-editor{display:flex;flex-direction:column;background:var(--panel-bg, #1a1a2e);border:1px solid var(--border-color, #333);border-radius:8px;overflow:hidden;max-height:100%}.agent-editor-empty{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary, #888);font-style:italic}.agent-editor-header{padding:12px 16px;background:var(--header-bg, #16213e);border-bottom:1px solid var(--border-color, #333)}.agent-editor-title{display:flex;align-items:center;gap:8px}.agent-editor-title .node-label{font-weight:600;color:var(--text-primary, #e0e0e0)}.agent-editor-title .node-type{font-family:monospace;font-size:.85em;background:var(--bg-tertiary, #1a1a2e);padding:2px 8px;border-radius:4px;color:var(--accent-cyan, #00d4ff)}.agent-editor-title .dirty-indicator{color:var(--accent-warning, #ffc107);font-size:1.2em}.agent-editor-section{padding:16px;border-bottom:1px solid var(--border-color, #333)}.agent-editor-section:last-of-type{border-bottom:none}.section-header{display:flex;align-items:center;justify-content:space-between;font-size:.9em;font-weight:600;color:var(--text-primary, #e0e0e0);margin-bottom:12px}.section-header-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px;margin:-8px -8px 4px;border-radius:4px;transition:background .2s}.section-header-collapsible:hover{background:var(--bg-hover, #303060)}.section-toggle{color:var(--text-secondary, #888);margin-right:8px;font-size:.8em}.execution-toggle{display:flex;flex-direction:column;gap:8px}.toggle-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:6px;cursor:pointer;transition:all .2s}.toggle-option:hover{background:var(--bg-hover, #303060)}.toggle-option input[type=radio]{margin-top:3px;accent-color:var(--accent-primary, #6366f1)}.toggle-label{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-primary, #e0e0e0)}.toggle-icon{font-family:monospace;font-size:.85em;color:var(--accent-cyan, #00d4ff)}.toggle-description{font-size:.8em;color:var(--text-secondary, #888);margin-left:auto}.add-agent-btn{padding:4px 10px;font-size:.8em;background:var(--accent-primary, #6366f1);border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .2s}.add-agent-btn:hover{background:var(--accent-primary-hover, #4f46e5)}.agent-list{display:flex;flex-direction:column;gap:8px}.agent-item{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:6px;transition:all .2s}.agent-item:hover{background:var(--bg-hover, #303060)}.agent-item.dragging{opacity:.5;border-style:dashed}.agent-item.drag-over{border-color:var(--accent-primary, #6366f1);border-width:2px}.agent-drag-handle{cursor:grab;padding:4px;color:var(--text-tertiary, #666);-webkit-user-select:none;user-select:none}.agent-drag-handle:active{cursor:grabbing}.drag-icon{font-family:monospace;font-size:1.2em}.agent-info{flex:1;min-width:0}.agent-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.agent-name{font-weight:500;color:var(--text-primary, #e0e0e0)}.agent-id{font-family:monospace;font-size:.8em;color:var(--text-tertiary, #666)}.agent-model{font-size:.75em;padding:2px 6px;border-radius:4px;font-weight:500}.agent-model.model-fast{background:var(--accent-success, #22c55e);color:#000}.agent-model.model-balanced{background:var(--accent-info, #3b82f6);color:#fff}.agent-model.model-quality{background:var(--accent-purple, #a855f7);color:#fff}.agent-prompt-preview{font-size:.8em;color:var(--text-secondary, #888);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-actions{display:flex;gap:6px;flex-shrink:0}.agent-edit-btn,.agent-remove-btn{padding:4px 8px;font-size:.8em;border-radius:4px;cursor:pointer;transition:all .2s}.agent-edit-btn{background:var(--bg-tertiary, #1a1a2e);border:1px solid var(--border-color, #444);color:var(--text-secondary, #aaa)}.agent-edit-btn:hover{background:var(--accent-primary, #6366f1);border-color:var(--accent-primary, #6366f1);color:#fff}.agent-remove-btn{background:transparent;border:1px solid var(--border-color, #444);color:var(--text-tertiary, #666)}.agent-remove-btn:hover{background:var(--accent-error, #ef4444);border-color:var(--accent-error, #ef4444);color:#fff}.no-agents-message{padding:20px;text-align:center;color:var(--text-secondary, #888);font-style:italic;background:var(--bg-secondary, #252545);border:1px dashed var(--border-color, #444);border-radius:6px}.synthesis-config{margin-top:12px}.config-field{margin-bottom:16px}.config-field:last-child{margin-bottom:0}.field-label{display:block;color:var(--text-secondary, #aaa);font-size:.85em;margin-bottom:6px;font-weight:500}.field-select,.field-input{width:100%;padding:8px 12px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:.9em;transition:border-color .2s}.field-select:focus,.field-input:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.field-description{font-size:.75em;color:var(--text-tertiary, #666);margin-top:4px;line-height:1.4}.config-field-prompt .field-label{display:flex;align-items:center;gap:8px}.field-type-badge{font-size:.7em;padding:2px 6px;background:var(--accent-orange, #f59e0b);color:#000;border-radius:4px;font-weight:600;text-transform:uppercase}.agent-editor-actions{padding:16px;display:flex;justify-content:flex-end;gap:12px;background:var(--bg-secondary, #252545);border-top:1px solid var(--border-color, #333)}.cancel-btn,.save-btn{padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn{background:transparent;border:1px solid var(--border-color, #444);color:var(--text-secondary, #aaa)}.cancel-btn:hover{background:var(--bg-hover, #303060);color:var(--text-primary, #e0e0e0)}.save-btn{background:var(--accent-primary, #6366f1);border:none;color:#fff}.save-btn:hover:not(:disabled){background:var(--accent-primary-hover, #4f46e5)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.agent-edit-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.agent-edit-modal{background:var(--panel-bg, #1a1a2e);border:1px solid var(--border-color, #444);border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--header-bg, #16213e);border-bottom:1px solid var(--border-color, #333);border-radius:12px 12px 0 0}.modal-header h3{margin:0;font-size:1.1em;font-weight:600;color:var(--text-primary, #e0e0e0)}.modal-close-btn{background:none;border:none;color:var(--text-secondary, #888);font-size:1.4em;cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:all .2s}.modal-close-btn:hover{background:var(--bg-hover, #303060);color:var(--text-primary, #e0e0e0)}.modal-content{flex:1;overflow-y:auto;padding:20px}.modal-field{margin-bottom:16px}.modal-field:last-child{margin-bottom:0}.modal-field.has-error .modal-input,.modal-field.has-error .modal-textarea,.modal-field.has-error .modal-select{border-color:var(--accent-error, #ef4444)}.modal-label{display:block;color:var(--text-secondary, #aaa);font-size:.85em;margin-bottom:6px;font-weight:500}.modal-label .required{color:var(--accent-error, #ef4444);margin-left:2px}.modal-input,.modal-select,.modal-textarea{width:100%;padding:10px 12px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:.9em;transition:border-color .2s}.modal-input:focus,.modal-select:focus,.modal-textarea:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.modal-input:disabled{opacity:.7;cursor:not-allowed}.modal-input-number{width:120px}.modal-textarea{resize:vertical;font-family:inherit;min-height:80px}.modal-field-inline{display:flex;align-items:center;gap:12px}.modal-field-inline .modal-label{margin-bottom:0;white-space:nowrap}.modal-field-inline .field-hint{margin-top:0;margin-left:auto}.modal-field-prompt{margin-top:8px}.modal-field-prompt .modal-label{display:flex;align-items:center;gap:8px}.field-error{font-size:.8em;color:var(--accent-error, #ef4444);margin-top:4px}.field-hint{font-size:.75em;color:var(--text-tertiary, #666);margin-top:4px}.advanced-toggle{margin:16px 0;padding-top:16px;border-top:1px solid var(--border-color, #333)}.advanced-toggle-btn{background:none;border:none;color:var(--text-secondary, #888);font-size:.85em;cursor:pointer;padding:4px 0;transition:color .2s}.advanced-toggle-btn:hover{color:var(--text-primary, #e0e0e0)}.advanced-settings{padding-top:8px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;background:var(--bg-secondary, #252545);border-top:1px solid var(--border-color, #333);border-radius:0 0 12px 12px}.modal-btn{padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.modal-btn-cancel{background:transparent;border:1px solid var(--border-color, #444);color:var(--text-secondary, #aaa)}.modal-btn-cancel:hover{background:var(--bg-hover, #303060);color:var(--text-primary, #e0e0e0)}.modal-btn-save{background:var(--accent-primary, #6366f1);border:none;color:#fff}.modal-btn-save:hover{background:var(--accent-primary-hover, #4f46e5)}.rule-cards{display:flex;flex-direction:column}.rule-cards-empty{padding:24px;text-align:center;color:var(--text-tertiary, #666);font-style:italic;background:var(--bg-tertiary, #1a1a2e);border-radius:0 0 6px 6px}.rule-card{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--bg-tertiary, #1a1a2e);border-bottom:1px solid var(--border-color, #333);transition:background .15s;cursor:default}.rule-card:last-child{border-bottom:none}.rule-card:hover{background:var(--bg-hover, #252545)}.rule-card.disabled{opacity:.4}.rule-card.dragging{opacity:.5;background:var(--accent-primary, #6366f1)}.rule-card-enable{width:10px;height:10px;border-radius:50%;background:var(--text-tertiary, #555);cursor:pointer;flex-shrink:0;transition:background .15s}.rule-card-enable.on{background:var(--accent-success, #22c55e)}.rule-card-name{font-weight:500;color:var(--text-primary, #e0e0e0);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.85em}.rule-card-type{font-size:.65em;padding:1px 6px;border-radius:3px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;font-weight:600;letter-spacing:.03em;background:#6366f126;color:var(--accent-primary, #6366f1)}.rule-card-type.keyword_match,.rule-card-type.keyword\ match{background:#00d4ff1f;color:var(--accent-cyan, #00d4ff)}.rule-card-type.pattern_match,.rule-card-type.pattern\ match{background:#a855f71f;color:#a855f7}.rule-card-type.threshold{background:#22c55e1f;color:#22c55e}.rule-card-type.lookup{background:#f59e0b1f;color:#f59e0b}.rule-card-type.composite{background:#6366f11f;color:#6366f1}.rule-card-type.genre_trigger,.rule-card-type.genre\ trigger{background:#ec48991f;color:#ec4899}.rule-card-type.contains{background:#8b5cf61f;color:#8b5cf6}.rule-card-summary{flex:1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.78em;color:var(--text-secondary, #aaa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.rule-card-weight{font-family:monospace;font-size:.72em;padding:1px 5px;background:var(--bg-secondary, #252545);border-radius:3px;color:var(--text-secondary, #aaa);flex-shrink:0}.rule-card-btn{padding:4px;background:none;border:none;color:var(--text-tertiary, #555);cursor:pointer;border-radius:3px;transition:all .15s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.rule-card-btn:hover{color:var(--text-primary, #e0e0e0);background:var(--bg-secondary, #252545)}.rule-card-btn.delete:hover{color:var(--accent-error, #ef4444);background:#ef44441a}.rule-card-btn.edit:hover{color:var(--accent-cyan, #00d4ff)}.rule-card.editing{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg-secondary, #252545);border-bottom:1px solid var(--border-color, #444)}.rule-card-edit-header{display:flex;align-items:center;gap:8px}.rule-card-name-input{flex:1;padding:4px 8px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:.85em;font-family:monospace}.rule-card-name-input:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.rule-card-name-input.has-error{border-color:var(--accent-error, #ef4444)}.rule-card-type-select{padding:4px 8px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:.8em;cursor:pointer}.rule-card-type-select:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.rule-card-text-editor{position:relative;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--input-bg, #1e1e3e);overflow:hidden}.rule-card-text-editor.has-error{border-color:var(--accent-error, #ef4444)}.rule-card-text-editor:focus-within{border-color:var(--accent-primary, #6366f1)}.rule-card-text-editor.has-error:focus-within{border-color:var(--accent-error, #ef4444)}.highlight-overlay,.rule-card-textarea{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.82em;line-height:1.5;padding:8px 10px;white-space:pre-wrap;word-wrap:break-word;-moz-tab-size:2;tab-size:2;margin:0;border:none;box-sizing:border-box;letter-spacing:normal}.highlight-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;color:transparent}.rule-card-textarea{display:block;width:100%;min-height:36px;background:transparent;color:transparent;caret-color:var(--text-primary, #e0e0e0);resize:vertical;position:relative;z-index:1}.rule-card-textarea:focus{outline:none}.token-string{color:#00d4ff}.token-regex{color:#a855f7}.token-number{color:#22c55e}.token-keyword{color:#63b3ed}.token-operator{color:#f59e0b}.token-brace{color:#e2e8f080}.token-text{color:var(--text-primary, #e0e0e0)}.rule-card-error{font-size:.75em;color:var(--accent-error, #ef4444);padding:0 2px}.rule-card-edit-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.rule-card-weight-control{display:flex;align-items:center;gap:6px;font-size:.8em;color:var(--text-secondary, #aaa)}.rule-card-weight-label{font-family:monospace}.rule-card-weight-slider{width:80px;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-tertiary, #1a1a2e);border-radius:2px;cursor:pointer}.rule-card-weight-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--accent-primary, #6366f1);border-radius:50%;cursor:pointer}.rule-card-weight-slider::-moz-range-thumb{width:12px;height:12px;background:var(--accent-primary, #6366f1);border-radius:50%;cursor:pointer;border:none}.rule-card-weight-value{font-family:monospace;color:var(--accent-cyan, #00d4ff);min-width:24px}.rule-card-edit-actions{display:flex;gap:6px}.rule-card-btn.cancel,.rule-card-btn.apply{padding:4px 12px;font-size:.8em;border-radius:4px}.rule-card-btn.cancel{background:var(--bg-tertiary, #1a1a2e);color:var(--text-secondary, #aaa)}.rule-card-btn.cancel:hover{background:var(--bg-hover, #303060);color:var(--text-primary, #e0e0e0)}.rule-card-btn.apply{background:var(--accent-primary, #6366f1);color:#fff}.rule-card-btn.apply:hover{background:var(--accent-primary-hover, #4f46e5)}.rule-editor{display:flex;flex-direction:column;gap:12px}.rule-section{margin-bottom:4px}.rule-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.rule-section-title{font-size:.85em;font-weight:500;color:var(--text-primary, #e0e0e0)}.field-selector-group{display:flex;flex-direction:row;gap:10px;padding:8px 12px;background:var(--bg-secondary, #252545);border-radius:6px}.field-selector{display:flex;flex-direction:column;gap:3px;flex:1}.field-selector-label{font-size:.75em;color:var(--text-secondary, #aaa)}.field-selector-input{padding:6px 10px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:.85em;font-family:monospace}.field-selector-input:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.combine-mode-group{display:flex;flex-direction:column;gap:8px;padding:8px 12px;background:var(--bg-secondary, #252545);border-radius:6px}.combine-mode-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.combine-mode-label{font-size:.8em;color:var(--text-secondary, #aaa);white-space:nowrap}.combine-mode-label.threshold-label{margin-left:4px}.combine-mode-select{padding:6px 10px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:.85em;cursor:pointer}.combine-mode-select:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.threshold-slider-group{display:flex;align-items:center;gap:8px;flex:1;min-width:120px}.threshold-slider{flex:1;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-tertiary, #1a1a2e);border-radius:2px;cursor:pointer}.threshold-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent-primary, #6366f1);border-radius:50%;cursor:pointer}.threshold-slider::-moz-range-thumb{width:14px;height:14px;background:var(--accent-primary, #6366f1);border-radius:50%;cursor:pointer;border:none}.threshold-value{font-family:monospace;font-size:.82em;color:var(--accent-cyan, #00d4ff);min-width:36px;text-align:right}.rule-list-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-secondary, #252545);border-radius:6px 6px 0 0;border:1px solid var(--border-color, #444);border-bottom:none}.rule-list-title{font-size:.85em;font-weight:500;color:var(--text-primary, #e0e0e0)}.rule-count-badge{font-size:.72em;padding:1px 7px;background:var(--bg-tertiary, #1a1a2e);border-radius:10px;color:var(--text-secondary, #aaa);margin-left:8px}.add-rule-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--accent-primary, #6366f1);border:none;border-radius:4px;color:#fff;font-size:.78em;cursor:pointer;transition:background .2s}.add-rule-btn:hover{background:var(--accent-primary-hover, #4f46e5)}.rule-list-container{border:1px solid var(--border-color, #444);border-radius:0 0 6px 6px;overflow:hidden}.rule-test-panel{padding:12px;background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:6px}.rule-test-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rule-test-title{font-size:.9em;font-weight:500;color:var(--text-primary, #e0e0e0)}.rule-test-btn{padding:6px 12px;background:var(--accent-cyan, #00d4ff);border:none;border-radius:4px;color:#000;font-size:.8em;font-weight:500;cursor:pointer;transition:all .2s}.rule-test-btn:hover{background:#00b8d9}.rule-test-btn:disabled{opacity:.5;cursor:not-allowed}.rule-test-input{width:100%;padding:12px;background:var(--input-bg, #1e1e3e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:.9em;resize:vertical;min-height:80px;margin-bottom:12px}.rule-test-input:focus{outline:none;border-color:var(--accent-primary, #6366f1)}.rule-test-results{padding:12px;background:var(--bg-tertiary, #1a1a2e);border-radius:4px;margin-top:12px}.rule-test-result-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rule-test-result-status{font-size:.9em;font-weight:500}.rule-test-result-status.matched{color:var(--accent-success, #22c55e)}.rule-test-result-status.not-matched{color:var(--accent-error, #ef4444)}.rule-test-result-confidence{font-size:.8em;color:var(--text-secondary, #aaa);margin-left:auto}.rule-test-fired-list{font-size:.8em;color:var(--text-secondary, #aaa)}.rule-test-fired-item{display:flex;align-items:center;gap:8px;padding:4px 0}.rule-test-fired-indicator{width:8px;height:8px;border-radius:50%}.rule-test-fired-indicator.fired{background:var(--accent-success, #22c55e)}.rule-test-fired-indicator.not-fired{background:var(--text-tertiary, #666)}.rule-test-loading{text-align:center;padding:12px;color:var(--text-tertiary, #666);font-style:italic}.rule-test-error{padding:12px;background:#ef44441a;border:1px solid var(--accent-error, #ef4444);border-radius:4px;color:var(--accent-error, #ef4444);margin-bottom:12px;font-size:.85em}.toolbar-btn{padding:6px 14px;background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:6px;color:var(--text-secondary, #aaa);font-size:.82em;cursor:pointer;transition:all .2s}.toolbar-btn:hover{background:var(--bg-hover, #303060);color:var(--text-primary, #e0e0e0)}.toolbar-btn.active{background:var(--accent-primary, #6366f1);border-color:var(--accent-primary, #6366f1);color:#fff}.rule-test-fired-header{font-weight:500;color:var(--text-secondary, #aaa);margin-bottom:8px;font-size:.85em}.rule-test-fired-name{flex:1;color:var(--text-primary, #e0e0e0)}.rule-test-fired-confidence{font-family:monospace;color:var(--text-secondary, #aaa);margin-left:8px;font-size:.85em}.rule-test-fired-matches{font-family:monospace;color:var(--accent-cyan, #00d4ff);font-size:.8em;margin-left:8px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.validation-panel{display:flex;flex-direction:column;background:var(--panel-bg, #1a1a2e);border:1px solid var(--border-color, #333);border-radius:8px;overflow:hidden;max-height:100%}.validation-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--header-bg, #16213e);border-bottom:1px solid var(--border-color, #333);font-weight:600;color:var(--text-primary, #e0e0e0)}.validation-controls{display:flex;gap:8px}.validate-button{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--accent-primary, #6366f1);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;font-weight:500;transition:all .2s}.validate-button:hover:not(:disabled){background:var(--accent-primary-hover, #4f46e5)}.validate-button:disabled{opacity:.6;cursor:not-allowed}.validation-panel .panel-content{flex:1;overflow-y:auto;padding:12px}.validation-error{display:flex;align-items:center;gap:8px;padding:12px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;margin-bottom:12px}.validation-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px;border-radius:6px;margin-bottom:12px}.validation-summary.valid{background:#10b98126;border:1px solid rgba(16,185,129,.3)}.validation-summary.invalid{background:#ef444426;border:1px solid rgba(239,68,68,.3)}.validation-summary .status-icon{font-size:1.2em;font-weight:700}.validation-summary.valid .status-icon{color:#34d399}.validation-summary.invalid .status-icon{color:#f87171}.validation-summary .status-text{font-weight:600;color:var(--text-primary, #e0e0e0)}.issue-counts{margin-left:auto;display:flex;gap:8px}.issue-counts .count{font-size:.8em;padding:2px 8px;border-radius:4px;font-weight:500}.issue-counts .count.error{background:#ef444433;color:#f87171}.issue-counts .count.warning{background:#fbbf2433;color:#fbbf24}.issue-counts .count.info{background:#3b82f633;color:#60a5fa}.validation-section{margin-bottom:8px;border:1px solid var(--border-color, #333);border-radius:6px;overflow:hidden}.section-header{display:flex;align-items:center;padding:10px 12px;background:var(--bg-secondary, #252545);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.section-header:hover{background:var(--bg-hover, #303060)}.section-header:focus{outline:2px solid var(--accent-primary, #6366f1);outline-offset:-2px}.section-header .toggle{color:var(--text-secondary, #888);margin-right:8px;font-size:.8em}.section-title{font-weight:500;color:var(--text-primary, #e0e0e0);font-size:.9em}.section-content{padding:12px;background:var(--bg-tertiary, #1a1a2e)}.issue-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:4px;margin-bottom:8px}.issue-item:last-child{margin-bottom:0}.issue-item.error{background:#ef44441a}.issue-item.warning{background:#fbbf241a}.issue-item.info{background:#3b82f61a}.severity-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75em;font-weight:700}.severity-icon.error{background:#ef444433;color:#f87171}.severity-icon.warning{background:#fbbf2433;color:#fbbf24}.severity-icon.info{background:#3b82f633;color:#60a5fa}.issue-details{flex:1;min-width:0}.issue-message{color:var(--text-primary, #e0e0e0);font-size:.9em;line-height:1.4}.issue-node{font-size:.8em;color:var(--text-secondary, #888);margin-top:4px;font-family:monospace}.issue-suggestion{font-size:.85em;color:var(--text-secondary, #aaa);margin-top:6px;padding:6px 8px;background:#ffffff0d;border-radius:4px}.coverage-grid{display:flex;flex-wrap:wrap;gap:8px}.coverage-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:.8em;font-weight:500}.coverage-badge.covered{background:#10b98126;color:#34d399}.coverage-badge.missing{background:#ef444426;color:#f87171}.empty-state,.validating-state{text-align:center;padding:32px 16px;color:var(--text-secondary, #888)}.validating-state{display:flex;align-items:center;justify-content:center;gap:8px}.spinner{display:inline-block;animation:spin 1s linear infinite}.metrics-comparison{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.metrics-comparison .panel-header{display:flex;justify-content:space-between;align-items:center}.panel-title{font-weight:600}.view-toggle{display:flex;gap:4px;background:#1a202c;padding:3px;border-radius:6px}.toggle-btn{padding:6px 12px;font-size:11px;font-weight:500;color:#a0aec0;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.toggle-btn:hover{color:#e2e8f0;background:#2d3748}.toggle-btn.active{color:#63b3ed;background:#2d3748}.toggle-btn:focus-visible{outline:2px solid #63B3ED;outline-offset:2px}.compare-selector{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:12px;background:#2d3748;border:1px solid #4A5568;border-radius:6px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:10px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.filter-group select{padding:8px 10px;font-size:12px;color:#e2e8f0;background:#1a202c;border:1px solid #4A5568;border-radius:4px;cursor:pointer;transition:border-color .2s}.filter-group select:hover{border-color:#63b3ed}.filter-group select:focus{outline:none;border-color:#63b3ed;box-shadow:0 0 0 2px #63b3ed33}.compare-pipeline-group{display:flex;flex-direction:column;gap:6px}.compare-pipeline-label{font-size:10px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.compare-pipeline-list{display:flex;flex-wrap:wrap;gap:8px}.compare-pipeline-item{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;color:#e2e8f0;background:#1a202c;border:1px solid #4A5568;border-radius:4px;cursor:pointer;transition:border-color .2s}.compare-pipeline-item:hover{border-color:#63b3ed}.compare-pipeline-item.disabled{opacity:.5;cursor:not-allowed}.compare-pipeline-empty{font-size:12px;color:#718096}.compare-empty-hint{padding:40px 16px;text-align:center;color:#718096;font-size:13px}.dataset-captions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.dataset-caption{font-size:12px;color:#a0aec0;display:flex;align-items:baseline;gap:6px}.dataset-caption strong{color:#e2e8f0}.dataset-caption-count{color:#718096}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.summary-card{padding:14px;background:#2d3748;border:1px solid #4A5568;border-radius:8px;text-align:center;transition:all .2s}.summary-card:hover{border-color:#63b3ed;transform:translateY(-2px)}.summary-card.highlight{background:#63b3ed1a;border-color:#63b3ed}.card-label{font-size:10px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.card-value{font-size:22px;font-weight:700;color:#63b3ed;font-family:Monaco,monospace}.card-subtext{font-size:11px;color:#a0aec0;margin-top:4px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#a0aec0;font-size:13px}.spinner{width:24px;height:24px;border:3px solid #4A5568;border-top-color:#63b3ed;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.error-state{display:flex;align-items:center;gap:10px;padding:16px;background:#f565651a;border:1px solid rgba(245,101,101,.3);border-radius:6px;color:#fc8181;font-size:13px;margin-bottom:16px}.error-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#f56565;color:#fff;font-weight:700;border-radius:50%;font-size:12px}.visualization-container{margin-top:16px}.radar-chart-container{background:#2d3748;border:1px solid #4A5568;border-radius:8px;padding:16px}.chart-title{font-size:13px;font-weight:600;color:#e2e8f0;text-align:center;margin-bottom:12px}.chart-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#718096;font-size:13px}.bar-chart-container{background:#2d3748;border:1px solid #4A5568;border-radius:8px;padding:16px}.bar-charts-grid{display:flex;flex-direction:column;gap:16px}.metric-selector{display:flex;align-items:center;gap:8px;padding:12px;background:#2d3748;border:1px solid #4A5568;border-radius:6px}.metric-selector label{font-size:12px;font-weight:500;color:#a0aec0}.metric-selector select{padding:6px 10px;font-size:12px;color:#e2e8f0;background:#1a202c;border:1px solid #4A5568;border-radius:4px;cursor:pointer}.comparison-table-container{background:#2d3748;border:1px solid #4A5568;border-radius:8px;overflow:hidden}.comparison-table{width:100%;border-collapse:collapse;font-size:12px}.comparison-table th,.comparison-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #4A5568}.comparison-table th{background:#1a202c;font-weight:600;color:#a0aec0;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.comparison-table tbody tr:hover{background:#63b3ed0d}.comparison-table tbody tr:last-child td{border-bottom:none}.metric-name{display:flex;align-items:center;gap:8px;font-weight:500;color:#e2e8f0}.metric-dot{width:8px;height:8px;border-radius:50%}.metric-value{font-family:Monaco,monospace;color:#e2e8f0}.std-dev{font-size:10px;color:#718096}.metric-diff{font-family:Monaco,monospace;font-weight:600}.metric-diff.positive{color:#68d391}.metric-diff.negative{color:#fc8181}.overall-row{background:#63b3ed0d}.overall-row .metric-name{font-weight:700}.overall-row .metric-value.overall{font-weight:700;color:#63b3ed}.table-empty{padding:40px;text-align:center;color:#718096;font-size:13px}.significance-indicator{margin-left:4px;font-weight:700}.significance-indicator.sig-high{color:#68d391}.significance-indicator.sig-medium{color:#f6ad55}.significance-indicator.sig-low{color:#f6e05e}.significance-indicator.sig-none{color:#718096}.recharts-wrapper{font-family:inherit}.recharts-legend-wrapper{padding-top:10px!important}.recharts-default-legend{display:flex;justify-content:center;gap:20px}.recharts-legend-item{cursor:pointer}@media (max-width: 768px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.summary-cards{grid-template-columns:1fr}.view-toggle{display:none}}.metrics-dashboard{animation:slideIn .3s ease-out}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.metric-card{padding:12px;background:#2d3748;border:1px solid #4A5568;border-radius:6px;text-align:center}.metric-label{font-size:10px;font-weight:600;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.metric-value{font-size:20px;font-weight:700;color:#63b3ed;font-family:Monaco,monospace}.chart-container{margin-top:16px}.chart-label{font-size:11px;font-weight:600;color:#a0aec0;margin-bottom:8px;text-align:center}.recharts-wrapper{background:#2d3748;border-radius:6px;padding:8px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#4a5568}.recharts-tooltip-wrapper{outline:none}.edt-panel{display:flex;flex-direction:column;gap:var(--ed-s2, 8px);padding:var(--ed-s2, 8px);font-family:var(--ed-font-ui, system-ui, sans-serif);color:var(--ed-text, #e6e6e6);min-height:0}.edt-turnstrip{display:flex;flex-wrap:wrap;gap:var(--ed-s1, 4px);padding-bottom:var(--ed-s1, 4px);border-bottom:1px solid var(--ed-hairline, #333)}.edt-turnbtn{position:relative;min-width:2rem;padding:2px 6px;background:var(--ed-panel, #1c1c1c);color:var(--ed-text-dim, #9a9a9a);border:1px solid var(--ed-hairline, #333);border-radius:4px;font-family:var(--ed-font-mono, ui-monospace, monospace);font-size:.8rem;cursor:pointer}.edt-turnbtn:hover{border-color:var(--ed-hairline-strong, #555);color:var(--ed-text, #e6e6e6)}.edt-turnbtn.active{border-color:var(--ed-accent, #6ea8fe);color:var(--ed-accent, #6ea8fe);background:var(--ed-accent-dim, rgba(110,168,254,.12))}.edt-turnbtn:focus-visible{outline:2px solid var(--ed-accent, #6ea8fe);outline-offset:1px}.edt-turndot{position:absolute;top:2px;right:2px;width:5px;height:5px;border-radius:50%;background:var(--ed-signal-ok, #4caf7d)}.edt-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ed-s2, 8px);flex-wrap:wrap}.edt-title{font-weight:600;color:var(--ed-text, #e6e6e6)}.edt-summary{font-size:.8rem;color:var(--ed-text-dim, #9a9a9a)}.edt-summary .edt-fired{color:var(--ed-signal-ok, #4caf7d)}.edt-summary .edt-blocked{color:var(--ed-signal-bad, #e0575b)}.edt-empty{padding:var(--ed-s4, 24px) var(--ed-s2, 8px);color:var(--ed-text-faint, #6a6a6a);font-style:italic;text-align:center;border:1px dashed var(--ed-hairline, #333);border-radius:6px}.edt-tablewrap{overflow-x:auto}.edt-table{width:100%;border-collapse:collapse;font-size:.82rem}.edt-table thead th{text-align:left;padding:var(--ed-s1, 4px) var(--ed-s2, 8px);color:var(--ed-text-faint, #6a6a6a);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--ed-hairline, #333);white-space:nowrap}.edt-table tbody td{padding:var(--ed-s1, 4px) var(--ed-s2, 8px);border-bottom:1px solid var(--ed-hairline, #333);vertical-align:top}.edt-row.edt-selected{background:var(--ed-accent-dim, rgba(110,168,254,.1))}.edt-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:999px;font-size:.74rem;white-space:nowrap;border:1px solid var(--ed-hairline, #333)}.edt-fired .edt-badge{color:var(--ed-signal-ok, #4caf7d);border-color:var(--ed-signal-ok, #4caf7d)}.edt-blocked .edt-badge{color:var(--ed-signal-bad, #e0575b);border-color:var(--ed-signal-bad, #e0575b)}.edt-notfired .edt-badge{color:var(--ed-text-dim, #9a9a9a)}.edt-event code{font-family:var(--ed-font-mono, ui-monospace, monospace);color:var(--ed-text, #e6e6e6)}.edt-star{color:var(--ed-accent, #6ea8fe)}.edt-gravity{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.edt-gravity-bar{display:inline-block;width:48px;height:6px;border-radius:3px;background:var(--ed-hairline, #333);overflow:hidden}.edt-gravity-fill{display:block;height:100%;background:var(--ed-accent, #6ea8fe)}.edt-gravity-val{font-family:var(--ed-font-mono, ui-monospace, monospace);color:var(--ed-text-dim, #9a9a9a)}.edt-conf{font-family:var(--ed-font-mono, ui-monospace, monospace);white-space:nowrap}.edt-conf-val{color:var(--ed-text, #e6e6e6)}.edt-conf-thr,.edt-conf-sep{color:var(--ed-text-faint, #6a6a6a)}.edt-conf-under .edt-conf-val,.edt-conf-flag{color:var(--ed-signal-warn, #d9a441)}.edt-chips{display:flex;flex-wrap:wrap;gap:4px}.edt-chip{display:inline-block;max-width:22rem;padding:1px 6px;background:var(--ed-panel, #1c1c1c);border:1px solid var(--ed-signal-bad, #e0575b);color:var(--ed-signal-bad, #e0575b);border-radius:4px;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edt-muted{color:var(--ed-text-faint, #6a6a6a)}.pin-canon{margin-top:8px}.pin-canon-btn{background:transparent;border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text-dim);font-family:var(--ed-font-ui);font-size:12px;padding:4px 10px;cursor:pointer}.pin-canon-btn:hover{border-color:var(--ed-hairline-strong);color:var(--ed-text)}.pin-canon-loading{color:var(--ed-text-dim);font-family:var(--ed-font-ui);font-size:12px;padding:6px 0}.pin-canon-errors{border:1px solid var(--ed-signal-bad);border-radius:6px;color:var(--ed-signal-bad);font-family:var(--ed-font-ui);font-size:12px;margin:6px 0;padding:8px 10px}.pin-canon-error-line+.pin-canon-error-line{margin-top:4px}.pin-canon-panel{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:8px;margin-top:6px;padding:10px}.pin-canon-panel-head{align-items:baseline;display:flex;gap:8px;margin-bottom:8px}.pin-canon-panel-title{color:var(--ed-text);font-family:var(--ed-font-ui);font-size:12px;font-weight:600}.pin-canon-panel-note{color:var(--ed-text-dim);font-family:var(--ed-font-ui);font-size:11px}.pin-canon-empty{color:var(--ed-text-dim);font-family:var(--ed-font-ui);font-size:12px;padding:6px 0}.pin-canon-card{border:1px solid var(--ed-hairline);border-radius:6px;margin-bottom:8px;padding:8px}.pin-canon-card.unchecked{opacity:.55}.pin-canon-card-head{align-items:center;display:flex;gap:8px;margin-bottom:6px}.pin-canon-target{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-text);font-family:var(--ed-font-ui);font-size:12px;padding:2px 6px}.pin-canon-field{display:block;margin-bottom:6px}.pin-canon-field-label{color:var(--ed-text-dim);display:block;font-family:var(--ed-font-ui);font-size:10px;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.pin-canon-input{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;box-sizing:border-box;color:var(--ed-text);font-family:var(--ed-font-ui);font-size:12px;padding:4px 6px;width:100%}.pin-canon-why{color:var(--ed-text-dim);font-family:var(--ed-font-ui);font-size:11px;margin-top:4px}.pin-canon-why-label{color:var(--ed-accent);font-weight:600;margin-right:6px;text-transform:uppercase}.pin-canon-evidence{border-left:2px solid var(--ed-hairline-strong);color:var(--ed-text-dim);font-size:11px;font-style:italic;margin:4px 0 0;padding-left:8px}.pin-canon-actions{display:flex;gap:8px;margin-top:8px}.pin-canon-apply-btn{background:var(--ed-accent-dim);border:1px solid var(--ed-accent);border-radius:6px;color:var(--ed-accent);cursor:pointer;font-family:var(--ed-font-ui);font-size:12px;font-weight:600;padding:4px 12px}.pin-canon-apply-btn:disabled{cursor:default;opacity:.5}.pin-canon-ghost-btn{background:transparent;border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text-dim);cursor:pointer;font-family:var(--ed-font-ui);font-size:12px;padding:4px 10px}.pin-canon-success{border:1px solid var(--ed-signal-ok);border-radius:6px;font-family:var(--ed-font-ui);margin-top:6px;padding:8px 10px}.pin-canon-success-line{color:var(--ed-signal-ok);font-size:12px;font-weight:600}.pin-canon-applied-list{color:var(--ed-text-dim);font-size:11px;margin:6px 0;padding-left:18px}.pin-canon-applied-target{color:var(--ed-text);font-weight:600}.gantt-timeline{position:relative;padding:0;-webkit-user-select:none;user-select:none}.gantt-stats{display:flex;gap:1.5rem;padding:.5rem .75rem;background:#00d4ff1a;border-radius:4px;font-size:.8rem;color:#00d4ff;margin-bottom:.75rem}.gantt-time-axis{position:sticky;top:0;z-index:5;display:flex;height:24px;margin-left:160px;margin-bottom:2px;border-bottom:1px solid #0f3460;background:#1a1a2e}.gantt-tick{position:absolute;top:0;height:100%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.gantt-tick-line{width:1px;height:8px;background:#4a5568}.gantt-tick-label{font-size:.65rem;color:#718096;white-space:nowrap;margin-top:1px}.gantt-chart-area,.gantt-rows{position:relative}.gantt-row{display:flex;align-items:center;height:32px;transition:opacity .15s}.gantt-row.dimmed{opacity:.25}.gantt-label{width:160px;min-width:160px;padding:0 8px 0 4px;font-size:.72rem;font-weight:600;color:#a0aec0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}.gantt-label-icon{font-size:.8rem;flex-shrink:0}.gantt-label-text{overflow:hidden;text-overflow:ellipsis}.gantt-bar-track{flex:1;position:relative;height:100%;border-bottom:1px solid rgba(255,255,255,.04)}.gantt-gridline{position:absolute;top:0;bottom:0;width:1px;background:#ffffff0a;pointer-events:none}.gantt-bar{position:absolute;top:4px;height:24px;border-radius:3px;cursor:pointer;transition:filter .15s,opacity .15s;display:flex;align-items:center;padding:0 6px;min-width:2px;overflow:hidden}.gantt-bar:hover{filter:brightness(1.3);z-index:3}.gantt-bar.dimmed{opacity:.2}.gantt-bar.highlighted{filter:brightness(1.3);z-index:3;box-shadow:0 0 8px #00d4ff66}.gantt-bar.type-llm{background:#0096ffb3;border:1px solid rgba(0,180,255,.9)}.gantt-bar.type-ensemble{background:#c800ff99;border:1px solid rgba(220,0,255,.8)}.gantt-bar.type-system{background:#78788c80;border:1px solid rgba(150,150,170,.7)}.gantt-bar.type-rule{background:#00c86480;border:1px solid rgba(0,230,120,.7)}.gantt-bar.type-router{background:#ffaa0080;border:1px solid rgba(255,190,0,.7)}.gantt-bar.type-sub-agent{background:#8250dc8c;border:1px solid rgba(160,100,255,.7)}.gantt-bar.type-synthesis{background:#00c8b48c;border:1px solid rgba(0,230,200,.7)}.gantt-expand-icon{font-size:.6rem;color:#f6f;flex-shrink:0;width:10px}.gantt-sub-count{font-size:.55rem;background:#c800ff4d;color:#d8f;padding:0 4px;border-radius:6px;flex-shrink:0;margin-left:auto}.gantt-ensemble-row .gantt-label{color:#d8f}.gantt-sub-row{background:#c800ff08}.gantt-label-sub{padding-left:20px!important}.gantt-label-sub .gantt-label-text{font-weight:500;font-size:.68rem;color:#b0a0c0}.gantt-tooltip-hint{font-size:.65rem;color:#718096;font-style:italic;margin-top:2px}.gantt-bar-label{font-size:.65rem;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.gantt-svg-overlay{position:absolute;top:0;left:160px;pointer-events:none;z-index:2}.gantt-svg-overlay path{pointer-events:stroke;cursor:pointer}.gantt-edge{fill:none;stroke:#ffffff1f;stroke-width:1.5;transition:stroke .15s,stroke-width .15s,opacity .15s}.gantt-edge:hover{stroke:#00d4ff;stroke-width:2.5}.gantt-edge.highlighted{stroke:#00d4ff;stroke-width:2.5;opacity:1}.gantt-edge.dimmed{opacity:.06}.gantt-tooltip{position:fixed;z-index:100;background:#1a1a2e;border:1px solid #00d4ff;border-radius:6px;padding:8px 12px;font-size:.75rem;color:#e0e0e0;pointer-events:none;box-shadow:0 4px 16px #0009;max-width:300px;line-height:1.5}.gantt-tooltip-title{font-weight:700;color:#00d4ff;margin-bottom:4px}.gantt-tooltip-row{display:flex;justify-content:space-between;gap:12px}.gantt-tooltip-key{color:#718096}.gantt-tooltip-value{color:#e0e0e0;font-weight:600}.gantt-detail-panel{position:sticky;bottom:0;background:#0f1a2e;border-top:2px solid #00d4ff;padding:12px 16px;z-index:10;max-height:40vh;overflow-y:auto}.gantt-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.gantt-detail-title{font-weight:700;font-size:.9rem;color:#00d4ff}.gantt-detail-close{background:none;border:1px solid #4a5568;border-radius:4px;color:#a0aec0;padding:2px 8px;cursor:pointer;font-size:.75rem}.gantt-detail-close:hover{border-color:#00d4ff;color:#00d4ff}.gantt-detail-meta{display:flex;gap:1.5rem;margin-bottom:8px;font-size:.75rem;color:#718096}.gantt-detail-meta span{color:#e0e0e0;font-weight:600}.gantt-detail-section{margin-top:8px}.gantt-detail-section summary{cursor:pointer;font-size:.75rem;font-weight:600;color:#a0aec0;padding:4px 8px;background:#ffffff08;border-radius:3px;-webkit-user-select:none;user-select:none}.gantt-detail-section summary:hover{color:#00d4ff;background:#ffffff12}.gantt-detail-content{margin-top:4px;padding:8px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:3px;font-size:.75rem;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto}.gantt-detail-tokens{display:flex;gap:.75rem;padding:4px 8px;background:#ffaa000d;border-radius:3px;font-size:.75rem;color:#fa0;margin-top:4px}.template-workshop{display:flex;flex-direction:column;height:100%;overflow-y:auto;background:var(--ed-panel);color:var(--ed-text);font-family:var(--ed-font-ui)}.workshop-header{display:flex;align-items:center;gap:var(--ed-s2);padding:var(--ed-s2) var(--ed-s4);border-bottom:1px solid var(--ed-hairline);flex-shrink:0}.workshop-heading{font-size:14px;font-weight:600;color:var(--ed-text)}.workshop-subheading{font-size:11px;color:var(--ed-text-faint)}.workshop-warning{margin:var(--ed-s2) var(--ed-s4) 0;padding:var(--ed-s1) var(--ed-s2);font-size:11px;color:var(--ed-signal-warn);background:#d299221a;border:1px solid rgba(210,153,34,.3);border-radius:4px}.workshop-error{margin:var(--ed-s4);padding:var(--ed-s2) var(--ed-s3);font-size:12px;color:var(--ed-signal-bad);background:#e5534b1a;border:1px solid rgba(229,83,75,.3);border-radius:4px}.workshop-empty{padding:var(--ed-s4);font-size:12px;color:var(--ed-text-faint)}.workshop-ghost-btn{background:transparent;border:1px solid var(--ed-hairline);border-radius:4px;padding:3px 8px;font-size:11px;font-family:var(--ed-font-ui);color:var(--ed-text-dim);cursor:pointer}.workshop-ghost-btn:hover{color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.workshop-chip{display:inline-block;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:500;line-height:1.5;white-space:nowrap;text-transform:uppercase}.workshop-chip.neutral{background:#ffffff0f;color:var(--ed-text-dim)}.workshop-chip.info{background:#58a6ff1f;color:var(--ed-signal-info)}.workshop-chip.ok{background:#3fb9501f;color:var(--ed-signal-ok)}.workshop-chip.warn{background:#d299221f;color:var(--ed-signal-warn)}.workshop-chip.bad{background:#e5534b1f;color:var(--ed-signal-bad)}.workshop-chip.bad.loud{font-weight:700;border:1px solid rgba(229,83,75,.5)}.workshop-template-list{display:flex;flex-direction:column;gap:var(--ed-s1);padding:var(--ed-s2) var(--ed-s4) var(--ed-s3)}.workshop-template-card{display:flex;flex-direction:column;gap:2px;text-align:left;padding:var(--ed-s2) var(--ed-s3);background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;cursor:pointer;color:var(--ed-text);font-family:var(--ed-font-ui)}.workshop-template-card:hover{border-color:#d4a94e80}.workshop-template-card.empty{opacity:.55}.workshop-template-card.empty:hover{opacity:.85}.workshop-id-chip{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim);background:#ffffff0d;border:1px solid var(--ed-hairline);border-radius:3px;padding:0 4px;white-space:nowrap}.workshop-card-head{display:flex;align-items:center;gap:var(--ed-s2)}.workshop-card-title{font-size:13px;font-weight:600}.workshop-card-chars{font-size:11px;color:var(--ed-text-dim)}.workshop-card-stats{display:flex;align-items:center;gap:var(--ed-s2);flex-wrap:wrap;min-width:0}.workshop-stat{font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence);white-space:nowrap}.workshop-date{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-faint)}.workshop-stale-reason{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-signal-bad)}.workshop-panels{display:flex;flex-direction:column;gap:var(--ed-s3);padding:var(--ed-s2) var(--ed-s4) var(--ed-s4)}.workshop-panel{border:1px solid var(--ed-hairline);border-radius:6px;background:var(--ed-bg);padding:var(--ed-s3)}.workshop-panel-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim);margin-bottom:var(--ed-s2)}.workshop-panel-title.sub{margin-top:var(--ed-s3);color:var(--ed-text-faint)}.workshop-subsection{border-top:1px solid var(--ed-hairline);margin-top:var(--ed-s3)}.workshop-char-group{margin-bottom:var(--ed-s3)}.workshop-group-label{font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence);margin-bottom:var(--ed-s1)}.workshop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--ed-s2)}.workshop-asset-card{display:flex;flex-direction:column;gap:var(--ed-s1);padding:var(--ed-s1);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;cursor:pointer;text-align:left}.workshop-asset-card:hover{border-color:#d4a94e80}.workshop-asset-card.quarantined{border-color:#e5534b66;opacity:.75}.workshop-thumb-wrap{position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:3px;background:var(--ed-bg);display:flex;align-items:center;justify-content:center}.workshop-video-badge{position:absolute;bottom:4px;right:4px;width:18px;height:18px;border-radius:50%;background:#000000a6;color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;line-height:1}.workshop-thumb{width:100%;height:100%;object-fit:cover}.workshop-thumb.missing{font-size:10px;color:var(--ed-text-faint)}.workshop-asset-meta{display:flex;flex-direction:column;gap:2px}.workshop-costume-label{font-size:11px;color:var(--ed-text)}.workshop-model-badge{display:inline-block;align-self:flex-start;font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-evidence);background:#ffffff0f;border-radius:3px;padding:0 4px}.workshop-model-badge.mixed{color:var(--ed-signal-bad);background:#e5534b1f}.workshop-plate-tags{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim)}.workshop-hash{font-family:var(--ed-font-mono);font-size:9px;color:var(--ed-text-faint)}.workshop-exemplar-row{display:flex;flex-direction:column;gap:var(--ed-s1);width:100%;text-align:left;padding:var(--ed-s2);margin-bottom:var(--ed-s2);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;cursor:pointer;color:var(--ed-text);font-family:var(--ed-font-ui)}.workshop-exemplar-row:hover{border-color:#d4a94e80}.workshop-exemplar-head{display:flex;align-items:center;gap:var(--ed-s2);flex-wrap:wrap}.workshop-exemplar-id{font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-evidence)}.workshop-exemplar-census{display:flex;align-items:center;gap:var(--ed-s2);flex-wrap:wrap}.workshop-panel-count{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim)}.workshop-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.workshop-lightbox{display:flex;flex-direction:column;gap:var(--ed-s2);max-width:min(720px,90vw);max-height:90vh;overflow-y:auto;padding:var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline-strong);border-radius:8px}.workshop-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ed-s2)}.workshop-lightbox-title{font-family:var(--ed-font-mono);font-size:12px;color:var(--ed-text)}.workshop-lightbox-image{max-width:100%;max-height:55vh;object-fit:contain;border-radius:4px;background:var(--ed-bg)}.workshop-prov-block{border:1px solid var(--ed-hairline);border-radius:4px;padding:var(--ed-s2);background:var(--ed-bg)}.workshop-prov-heading{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-faint);margin-bottom:var(--ed-s1)}.workshop-prov-row{display:flex;gap:var(--ed-s2);font-size:11px;line-height:1.6}.workshop-prov-label{min-width:100px;color:var(--ed-text-dim)}.workshop-prov-value{font-family:var(--ed-font-mono);color:var(--ed-evidence);word-break:break-all}.workshop-prov-value.ui{font-family:var(--ed-font-ui)}.workshop-regen-locked{align-self:flex-start;padding:4px 10px;font-size:11px;font-family:var(--ed-font-ui);border-radius:4px;border:1px dashed var(--ed-hairline-strong);background:transparent;color:var(--ed-text-faint);cursor:not-allowed}.workshop-local-note{font-size:11px;color:var(--ed-text-faint);margin-bottom:var(--ed-s2)}.workshop-mint-form{display:flex;flex-wrap:wrap;gap:var(--ed-s2);align-items:flex-end;padding:var(--ed-s3);margin-bottom:var(--ed-s3);background:#ffffff08;border:1px solid var(--ed-hairline);border-radius:6px}.workshop-mint-field{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--ed-text-faint)}.workshop-mint-field.grow{flex:1 1 220px}.workshop-mint-field select,.workshop-mint-field input{font-family:var(--ed-font-ui);font-size:11px;color:var(--ed-text);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;padding:4px 6px;min-width:120px}.workshop-mint-submit{background:var(--ed-accent-dim);border:1px solid rgba(212,169,78,.5);border-radius:4px;padding:5px 12px;font-size:11px;font-family:var(--ed-font-ui);color:var(--ed-accent);cursor:pointer}.workshop-mint-submit:disabled{opacity:.5;cursor:not-allowed}.workshop-mint-cost-badge{margin-left:6px;padding:1px 5px;border-radius:3px;font-size:10px;font-family:var(--ed-font-mono, monospace);background:#d4a94e29;color:var(--ed-accent);white-space:nowrap}.workshop-mint-cost-badge.unavailable{background:#ffffff14;color:var(--ed-text-dim)}.workshop-def-toolbar{display:flex;align-items:center;gap:var(--ed-s2);flex-wrap:wrap;padding-bottom:var(--ed-s2);border-bottom:1px solid var(--ed-hairline);margin-bottom:var(--ed-s2)}.workshop-def-spacer{flex:1}.workshop-def-provenance{font-size:11px;color:var(--ed-text-dim)}.workshop-def-provenance code{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-evidence);background:#ffffff0d;border:1px solid var(--ed-hairline);border-radius:3px;padding:0 4px}.workshop-def-viewtoggle{display:inline-flex;border:1px solid var(--ed-hairline);border-radius:4px;overflow:hidden}.workshop-toggle-btn{background:transparent;border:none;padding:3px 10px;font-size:11px;font-family:var(--ed-font-ui);color:var(--ed-text-dim);cursor:pointer}.workshop-toggle-btn.active{background:var(--ed-accent-dim);color:var(--ed-accent)}.workshop-def-dirty{font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-signal-warn)}.workshop-save-btn,.workshop-fork-btn,.workshop-preflight-btn{background:transparent;border:1px solid var(--ed-hairline-strong);border-radius:4px;padding:3px 10px;font-size:11px;font-family:var(--ed-font-ui);color:var(--ed-text);cursor:pointer}.workshop-save-btn:hover:not(:disabled),.workshop-fork-btn:hover:not(:disabled),.workshop-preflight-btn:hover:not(:disabled){color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.workshop-save-btn:disabled,.workshop-fork-btn:disabled,.workshop-preflight-btn:disabled{opacity:.5;cursor:not-allowed}.workshop-mint-status{font-size:11px;padding:var(--ed-s2) var(--ed-s3);margin-bottom:var(--ed-s3);border-radius:4px;border:1px solid var(--ed-hairline);color:var(--ed-text-dim)}.workshop-mint-status.minting{color:var(--ed-signal-info);border-color:#58a6ff4d;background:#58a6ff14}.workshop-mint-status.verified{color:var(--ed-signal-ok);border-color:#3fb9504d;background:#3fb95014}.workshop-mint-status.needs_review,.workshop-mint-status.error{color:var(--ed-signal-bad);border-color:#e5534b4d;background:#e5534b14}.workshop-fork-btn{border-color:#d4a94e99;color:var(--ed-accent);font-weight:600}.workshop-def-saved{display:inline-block;margin-bottom:var(--ed-s2);padding:2px 8px;border-radius:3px;font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-signal-ok);background:#3fb9501f}.workshop-def-save-errors{margin-bottom:var(--ed-s2);padding:var(--ed-s2) var(--ed-s3);border:1px solid rgba(229,83,75,.5);border-radius:4px;background:#e5534b1a}.workshop-def-save-errors-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-signal-bad);margin-bottom:var(--ed-s1)}.workshop-def-save-errors ul{margin:0;padding-left:18px}.workshop-def-save-errors li{font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-signal-bad);line-height:1.6}.workshop-def-preflight-chip{display:inline-flex;align-items:center;gap:var(--ed-s2);margin-bottom:var(--ed-s2);padding:2px 8px;border-radius:3px;font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-signal-info);background:#58a6ff1f}.workshop-def-preflight-chip.done{color:var(--ed-signal-ok);background:#3fb9501f}.workshop-review-link{background:transparent;border:none;padding:0;font-family:var(--ed-font-ui);font-size:11px;color:var(--ed-accent);cursor:pointer;text-decoration:underline}.workshop-def-preflight-failed{margin-bottom:var(--ed-s2);padding:var(--ed-s2) var(--ed-s3);border:1px solid rgba(229,83,75,.5);border-radius:4px;font-family:var(--ed-font-mono);font-size:11px;color:var(--ed-signal-bad);background:#e5534b1a}.workshop-def-body{display:grid;grid-template-columns:164px 1fr;gap:var(--ed-s3);align-items:start}.workshop-def-rail{display:flex;flex-direction:column;gap:var(--ed-s1);position:sticky;top:0}.workshop-def-rail-item{display:flex;flex-direction:column;gap:2px;text-align:left;padding:var(--ed-s1) var(--ed-s2);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;color:var(--ed-text-dim);font-family:var(--ed-font-ui)}.workshop-def-rail-item:hover{border-color:var(--ed-hairline);color:var(--ed-text)}.workshop-def-rail-item.active{background:var(--ed-accent-dim);border-color:#d4a94e66;color:var(--ed-text)}.workshop-def-rail-head{display:flex;align-items:center;gap:var(--ed-s2)}.workshop-def-rail-title{font-size:12px;font-weight:600}.workshop-def-feeds{font-family:var(--ed-font-mono);font-size:9px;color:var(--ed-text-faint);line-height:1.4}.workshop-def-fields{display:flex;flex-direction:column;gap:var(--ed-s3);min-width:0}.workshop-def-stale{padding:var(--ed-s1) var(--ed-s2);font-size:11px;color:var(--ed-signal-warn);background:#d299221a;border:1px solid rgba(210,153,34,.3);border-radius:4px}.workshop-field{display:flex;flex-direction:column;gap:var(--ed-s1)}.workshop-field-head{display:flex;align-items:baseline;gap:var(--ed-s2)}.workshop-field-label{font-size:12px;font-weight:600;color:var(--ed-text)}.workshop-field-path{font-family:var(--ed-font-mono);font-size:9px;color:var(--ed-text-faint)}.workshop-field-input,.workshop-field-textarea{width:100%;box-sizing:border-box;padding:5px 8px;font-size:12px;font-family:var(--ed-font-ui);color:var(--ed-text);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px}.workshop-field-input:focus,.workshop-field-textarea:focus,.workshop-yaml-editor:focus{outline:none;border-color:#d4a94e80}.workshop-field-input:disabled,.workshop-field-textarea:disabled{opacity:.55;cursor:not-allowed}.workshop-field-textarea{resize:vertical;line-height:1.5}.workshop-field-textarea.mono{font-family:var(--ed-font-mono);font-size:11px}.workshop-field-warning{padding:2px 8px;font-size:11px;color:var(--ed-signal-warn);background:#d299221a;border-left:2px solid var(--ed-signal-warn);border-radius:0 3px 3px 0}.workshop-field-parse-error{padding:2px 8px;font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-signal-bad);background:#e5534b1a;border-left:2px solid var(--ed-signal-bad);border-radius:0 3px 3px 0}.workshop-list-editor,.workshop-map-editor{display:flex;flex-direction:column;gap:var(--ed-s1)}.workshop-list-row,.workshop-map-row{display:flex;gap:var(--ed-s1);align-items:center}.workshop-map-row .workshop-field-input.key{max-width:180px;font-family:var(--ed-font-mono);font-size:11px}.workshop-row-btn{flex-shrink:0;background:transparent;border:1px solid var(--ed-hairline);border-radius:3px;padding:2px 7px;font-size:11px;font-family:var(--ed-font-mono);color:var(--ed-text-dim);cursor:pointer}.workshop-row-btn:hover:not(:disabled){color:var(--ed-accent);border-color:#d4a94e80}.workshop-row-btn.danger:hover:not(:disabled){color:var(--ed-signal-bad);border-color:#e5534b80}.workshop-row-btn.add{align-self:flex-start;font-family:var(--ed-font-ui)}.workshop-row-btn:disabled{opacity:.4;cursor:not-allowed}.workshop-yaml-editor{width:100%;box-sizing:border-box;min-height:320px;padding:var(--ed-s2);font-family:var(--ed-font-mono);font-size:11px;line-height:1.55;color:var(--ed-evidence);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;resize:vertical;white-space:pre}.workshop-yaml-editor:disabled{opacity:.55;cursor:not-allowed}.workshop-panel-title-note{margin-left:8px;font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--ed-text-dim)}.workshop-chip.author{background:#a371f729;color:#a371f7;font-weight:700}.workshop-upload{margin-bottom:var(--ed-s3)}.workshop-upload-controls{display:flex;gap:var(--ed-s2);flex-wrap:wrap;margin-bottom:var(--ed-s2)}.workshop-upload-label,.workshop-modal-label{display:flex;flex-direction:column;gap:3px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-text-dim)}.workshop-modal-label{margin-bottom:var(--ed-s2)}.workshop-dropzone{display:flex;align-items:center;gap:var(--ed-s2);flex-wrap:wrap;padding:var(--ed-s2);border:1px dashed var(--ed-hairline);border-radius:6px}.workshop-dropzone.over{border-color:var(--ed-signal-info);background:#58a6ff0f}.workshop-dropzone-hint{font-size:11px;color:var(--ed-text-dim)}.workshop-upload-preview{max-width:96px;max-height:96px;border-radius:4px;object-fit:cover}.workshop-upload-progress{height:4px;margin-top:6px;border-radius:2px;background:#ffffff0f;overflow:hidden}.workshop-upload-progress-bar{height:100%;background:var(--ed-signal-info);transition:width .15s linear}.workshop-upload-rejection{margin-top:var(--ed-s2);padding:var(--ed-s2);border:1px solid rgba(229,83,75,.5);border-radius:4px;background:#e5534b14;color:var(--ed-signal-bad);font-size:11px}.workshop-upload-rejection-title{font-weight:700;margin-bottom:4px}.workshop-upload-rejection ul{margin:0;padding-left:16px}.workshop-upload-rejection-inline{color:var(--ed-signal-bad);font-size:11px}.workshop-upload-rows{display:flex;flex-direction:column;gap:6px;margin-top:var(--ed-s2)}.workshop-upload-row{display:flex;align-items:center;gap:var(--ed-s2);flex-wrap:wrap;font-size:11px;color:var(--ed-text)}.workshop-upload-row-name{font-family:var(--ed-font-mono)}.workshop-modal{width:min(440px,92vw);max-height:88vh;overflow-y:auto;padding:var(--ed-s3);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:8px;display:flex;flex-direction:column}.workshop-modal.wide{width:min(640px,94vw)}.workshop-modal-actions{display:flex;justify-content:flex-end;gap:var(--ed-s2);margin-top:var(--ed-s2)}.session-selector{background:var(--panel-bg, #1e1e1e);border:1px solid var(--border-color, #333);border-radius:8px;padding:16px;max-height:600px;display:flex;flex-direction:column}.session-selector.loading{display:flex;align-items:center;justify-content:center;min-height:200px;flex-direction:column;gap:12px}.session-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.session-selector-header h3{margin:0;font-size:18px;color:var(--text-primary, #fff)}.refresh-button{background:none;border:1px solid var(--border-color, #333);color:var(--text-secondary, #aaa);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:18px;transition:all .2s}.refresh-button:hover{background:var(--hover-bg, #2a2a2a);border-color:var(--accent, #4CAF50);color:var(--accent, #4CAF50)}.error-message{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#f44336;padding:12px;border-radius:4px;margin-bottom:12px;font-size:14px}.filter-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border-color, #333)}.filter-tabs button{background:none;border:none;color:var(--text-secondary, #aaa);padding:8px 16px;cursor:pointer;font-size:14px;border-bottom:2px solid transparent;transition:all .2s}.filter-tabs button:hover{color:var(--text-primary, #fff);background:#ffffff0d}.filter-tabs button.active{color:var(--accent, #4CAF50);border-bottom-color:var(--accent, #4CAF50)}.sessions-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.no-sessions{text-align:center;padding:40px 20px;color:var(--text-secondary, #aaa)}.no-sessions p{margin:8px 0}.no-sessions .hint{font-size:14px;color:var(--text-tertiary, #666);margin-top:16px}.session-item{background:var(--item-bg, #252525);border:1px solid var(--border-color, #333);border-radius:6px;padding:12px;cursor:pointer;transition:all .2s}.session-item:hover{border-color:var(--accent, #4CAF50);background:var(--item-hover-bg, #2a2a2a)}.session-item.selected{border-color:var(--accent, #4CAF50);background:#4caf501a}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.session-title{font-weight:600;color:var(--text-primary, #fff);font-size:15px}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.running{background:#4caf5033;color:#4caf50}.status-badge.completed{background:#2196f333;color:#2196f3}.status-badge.failed{background:#f4433633;color:#f44336}.status-badge.pool{background:#ffc10726;color:#ffc107}.session-item.pool-session{opacity:.7;border-left:3px solid #FFC107}.session-details{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:13px}.detail-row{display:flex;gap:8px}.detail-row .label{color:var(--text-tertiary, #666);min-width:70px}.detail-row .value{color:var(--text-secondary, #aaa);font-family:Monaco,Menlo,Courier New,monospace;font-size:12px}.progress-info{margin-top:8px}.progress-bar-container{background:#0000004d;border-radius:4px;height:6px;overflow:hidden;margin-bottom:6px}.progress-bar-fill{background:var(--accent, #4CAF50);height:100%;transition:width .3s ease;border-radius:4px}.progress-text{display:flex;justify-content:space-between;align-items:center;font-size:12px}.current-node{color:var(--text-secondary, #aaa);font-family:Monaco,Menlo,Courier New,monospace}.elapsed{color:var(--text-tertiary, #666)}.completion-info{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--text-secondary, #aaa);margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color, #333)}.completed-label{color:var(--text-tertiary, #666)}.completed-time{color:var(--text-secondary, #aaa)}.duration{color:var(--text-tertiary, #666)}.spinner{border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent, #4CAF50);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.pipeline-execution-viewer{background:var(--panel-bg, #1e1e1e);border:1px solid var(--border-color, #333);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:20px}.pipeline-execution-viewer.idle{min-height:400px;display:flex;align-items:center;justify-content:center}.idle-message{text-align:center;color:var(--text-secondary, #aaa)}.idle-message p{margin:8px 0;font-size:16px}.idle-message .hint{font-size:14px;color:var(--text-tertiary, #666);margin-top:12px}.pipeline-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--border-color, #333)}.pipeline-info h3{margin:0 0 8px;font-size:20px;color:var(--text-primary, #fff)}.pipeline-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:4px;font-size:14px;font-weight:500}.pipeline-status.running{background:#4caf5033;color:#4caf50}.pipeline-status.completed{background:#2196f333;color:#2196f3}.pipeline-status.failed{background:#f4433633;color:#f44336}.pipeline-status.idle{background:#9e9e9e33;color:#9e9e9e}.pipeline-stats{display:flex;gap:24px}.stat{display:flex;flex-direction:column;align-items:flex-end}.stat-label{font-size:12px;color:var(--text-tertiary, #666);margin-bottom:4px}.stat-value{font-size:18px;font-weight:600;color:var(--text-primary, #fff);font-family:Monaco,Menlo,Courier New,monospace}.overall-progress{margin:8px 0}.progress-bar-container{background:#0000004d;border-radius:6px;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#4caf50,#66bb6a);height:100%;transition:width .5s ease;border-radius:6px}.current-node-highlight{background:#4caf501a;border:1px solid #4CAF50;border-radius:6px;padding:16px;display:flex;align-items:center;gap:16px}.node-icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#4caf5033}.node-icon.running{color:#4caf50;animation:spin 1s linear infinite}.node-details{flex:1}.node-name{font-size:16px;font-weight:600;color:var(--text-primary, #fff);margin-bottom:4px}.node-type{font-size:13px;color:var(--text-secondary, #aaa);font-family:Monaco,Menlo,Courier New,monospace}.node-progress{font-size:14px;color:var(--text-secondary, #aaa)}.node-history h4{margin:0 0 16px;font-size:16px;color:var(--text-primary, #fff)}.timeline{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto;padding-right:8px}.timeline::-webkit-scrollbar{width:6px}.timeline::-webkit-scrollbar-track{background:#0003;border-radius:3px}.timeline::-webkit-scrollbar-thumb{background:var(--border-color, #333);border-radius:3px}.timeline::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #666)}.no-history{text-align:center;padding:40px 20px;color:var(--text-secondary, #aaa)}.no-history p{margin:0;font-size:14px}.timeline-item{display:flex;gap:16px;padding:12px;background:var(--item-bg, #252525);border:1px solid var(--border-color, #333);border-radius:6px;transition:all .2s}.timeline-item:hover{background:var(--item-hover-bg, #2a2a2a)}.timeline-item.completed{border-left:3px solid #2196F3}.timeline-item.failed{border-left:3px solid #f44336}.timeline-item.skipped{border-left:3px solid #FF9800;opacity:.7}.timeline-marker{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.timeline-content{flex:1;display:flex;flex-direction:column;gap:8px}.node-header{display:flex;justify-content:space-between;align-items:center}.node-id{font-size:14px;font-weight:600;color:var(--text-primary, #fff);font-family:Monaco,Menlo,Courier New,monospace}.node-duration{font-size:13px;color:var(--text-secondary, #aaa);font-family:Monaco,Menlo,Courier New,monospace}.node-skip-reason,.node-error{font-size:13px;padding:8px 12px;border-radius:4px;font-family:Monaco,Menlo,Courier New,monospace}.node-skip-reason{background:#ff98001a;border:1px solid rgba(255,152,0,.3);color:#ff9800}.node-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#f44336}.node-output{display:flex;flex-direction:column;gap:4px;font-size:13px}.output-detail{color:var(--text-secondary, #aaa);font-family:Monaco,Menlo,Courier New,monospace}.output-detail:before{content:"→ ";color:var(--accent, #4CAF50);margin-right:4px}.narrative-history-drawer{width:100%;height:100%;background:#1a202c;display:flex;flex-direction:column;overflow:hidden}.drawer-toggle.collapsed{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#2d3748;border:1px solid #4A5568;border-left:none;border-radius:0 8px 8px 0;color:#a0aec0;cursor:pointer;transition:all .2s;z-index:10}.drawer-toggle.collapsed:hover{background:#4a5568;color:#e2e8f0}.toggle-icon{font-size:12px}.toggle-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:12px;font-weight:500}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#2d3748;border-bottom:1px solid #4A5568}.drawer-header h3{margin:0;font-size:14px;font-weight:600;color:#e2e8f0}.drawer-actions{display:flex;gap:8px}.drawer-actions button{padding:4px 8px;background:transparent;border:1px solid #4A5568;border-radius:4px;color:#a0aec0;cursor:pointer;transition:all .2s}.drawer-actions button:hover{background:#4a5568;color:#e2e8f0}.drawer-actions button:disabled{opacity:.5;cursor:not-allowed}.drawer-error{padding:12px 16px;background:#f565651a;border-bottom:1px solid rgba(245,101,101,.3);color:#fc8181;font-size:13px}.drawer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:#a0aec0}.drawer-loading .spinner{width:24px;height:24px;border:2px solid #4A5568;border-top-color:#63b3ed;border-radius:50%;animation:spin 1s linear infinite}.history-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.passage-list{overflow-y:auto;padding:8px;flex-shrink:0}.passage-list.collapsed{flex:0 0 auto;max-height:none;overflow:hidden}.passage-list.expanded{flex:0 1 auto;max-height:40%;overflow-y:auto}.passage-list-toggle{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;color:#a0aec0;font-size:12px;font-weight:600;border-radius:4px;-webkit-user-select:none;user-select:none;transition:background .15s}.passage-list-toggle:hover{background:#4299e11a;color:#e2e8f0}.toggle-arrow{font-size:10px;width:12px}.toggle-title{flex:1}.toggle-current{font-weight:400;color:#63b3ed;font-size:11px}.passage-item{padding:12px;margin-bottom:8px;background:#2d3748;border:1px solid #4A5568;border-radius:6px;cursor:pointer;transition:all .2s}.passage-item:hover{border-color:#63b3ed;background:#4299e11a}.passage-item.selected{border-color:#63b3ed;background:#4299e126}.passage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.turn-number{font-size:12px;font-weight:600;color:#63b3ed}.passage-time{font-size:11px;color:#718096}.passage-choice{font-size:12px;color:#e2e8f0;padding:4px 8px;background:#4299e11a;border-radius:4px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.passage-preview{font-size:12px;color:#a0aec0;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.passage-detail{border-top:1px solid #4A5568;padding:12px;background:#232b3b;flex:1;overflow-y:auto;min-height:0}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.detail-header h4{margin:0;font-size:14px;font-weight:600;color:#e2e8f0}.pipeline-badge{font-size:10px;padding:2px 6px;background:#4a5568;border-radius:4px;color:#a0aec0}.cinema-btn{background:none;border:1px solid #4A5568;border-radius:4px;padding:2px 6px;font-size:14px;cursor:pointer;opacity:.7;transition:opacity .15s}.cinema-btn:hover{opacity:1;background:#2d3748}.detail-section{margin-bottom:12px}.detail-section h5{margin:0 0 6px;font-size:11px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.choice-display{display:flex;align-items:center;gap:8px;padding:8px;background:#4299e11a;border-radius:4px;font-size:13px;color:#e2e8f0}.narrative-text{font-size:13px;line-height:1.5;color:#cbd5e0}.scene-info{font-size:13px;color:#a0aec0;padding:6px 8px;background:#2d3748;border-radius:4px}.choices-section{border-top:1px solid #4A5568;padding:12px;background:#2d3748}.choices-section h4{margin:0 0 10px;font-size:13px;font-weight:600;color:#e2e8f0}.choices-list{display:flex;flex-direction:column;gap:8px}.choice-button{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;color:#e2e8f0;font-size:13px;text-align:left;cursor:pointer;transition:all .2s}.choice-button:hover:not(.disabled){border-color:#63b3ed;background:#4299e11a}.choice-button.disabled{opacity:.5;cursor:not-allowed}.choice-icon{flex-shrink:0;width:20px;text-align:center}.choice-text{flex:1;line-height:1.4}.executing-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;margin-top:8px;background:#4299e11a;border-radius:6px;color:#63b3ed;font-size:13px}.spinner.small{width:16px;height:16px;border:2px solid rgba(99,179,237,.3);border-top-color:#63b3ed;border-radius:50%;animation:spin 1s linear infinite}.narrative-history-drawer.embedded{width:100%;height:100%;border-right:none}.narrative-history-drawer.embedded .history-content{flex-direction:row}.narrative-history-drawer.embedded .passage-list{width:280px;min-width:280px;border-right:1px solid #4A5568}.narrative-history-drawer.embedded .passage-detail{flex:1;border-top:none;max-height:none;padding:20px 24px}.narrative-history-drawer.embedded .narrative-text{max-height:none;font-size:14px;line-height:1.7}.narrative-history-drawer.embedded .detail-header h4{font-size:16px}.session-view-main{width:100%;height:100%;display:flex;background:#1a202c}@media (max-width: 768px){.narrative-history-drawer{width:100%;max-width:100%;position:absolute;left:0;top:0;z-index:100}.drawer-toggle.collapsed{top:auto;bottom:20px;transform:none;flex-direction:row;border-radius:0 8px 8px 0}.toggle-label{writing-mode:horizontal-tb;text-orientation:mixed}}.template-fields-panel{background:#1a202c;border-radius:8px;padding:12px}.template-fields-panel.empty{color:#718096;font-size:13px;text-align:center;padding:24px 12px}.template-fields-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.template-fields-panel .panel-header h4{margin:0;font-size:13px;font-weight:600;color:#e2e8f0}.template-fields-panel .node-type{font-size:11px;color:#63b3ed;background:#4299e126;padding:2px 6px;border-radius:4px;font-family:monospace}.template-fields-panel .node-description{font-size:12px;color:#a0aec0;margin:0 0 12px;line-height:1.4}.template-fields-panel .no-fields{font-size:12px;color:#718096;margin:8px 0 0}.template-selector-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px;background:#2d3748;border-radius:6px}.template-selector-row label{font-size:12px;color:#a0aec0;white-space:nowrap}.template-selector-row select{flex:1;padding:6px 8px;background:#1a202c;border:1px solid #4A5568;border-radius:4px;color:#e2e8f0;font-size:12px}.template-selector-row select:hover{border-color:#63b3ed}.fields-list h5{margin:0 0 8px;font-size:11px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.field-item{margin-bottom:12px;padding:10px;background:#2d3748;border:1px solid #4A5568;border-radius:6px}.field-item.has-data{border-color:#48bb784d}.field-item.placeholder{border-style:dashed}.field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.field-name{font-size:12px;color:#f6ad55;background:#f6ad551a;padding:2px 6px;border-radius:4px}.data-badge{font-size:10px;color:#68d391;background:#48bb7826;padding:2px 6px;border-radius:4px}.field-data,.field-sample{margin-top:8px}.field-data pre,.field-sample pre{margin:4px 0 0;padding:8px;background:#1a202c;border-radius:4px;font-size:11px;color:#cbd5e0;overflow-x:auto;max-height:150px;overflow-y:auto}.sample-label{font-size:10px;color:#718096;font-style:italic}.truncated{font-size:10px;color:#718096;font-style:italic;display:block;margin-top:4px}.node-help-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.node-help-panel{background:#1a1a2e;border:1px solid #3d3d5c;border-radius:12px;width:90%;max-width:1000px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.node-help-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #3d3d5c;background:#252542;border-radius:12px 12px 0 0}.node-help-header h2{margin:0;font-size:1.25rem;color:#e2e8f0}.node-help-header .close-btn{background:none;border:none;color:#a0aec0;font-size:1.5rem;cursor:pointer;padding:4px 8px;border-radius:4px}.node-help-header .close-btn:hover{background:#ffffff1a;color:#fff}.node-help-content{display:flex;flex:1;overflow:hidden}.node-type-list{width:200px;border-right:1px solid #3d3d5c;padding:16px;overflow-y:auto;background:#1e1e32}.node-category{margin-bottom:16px}.node-category h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#718096;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #3d3d5c}.node-type-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:6px;color:#a0aec0;cursor:pointer;text-align:left;transition:all .15s ease;margin-bottom:4px}.node-type-btn:hover{background:#ffffff0d;border-color:var(--node-color, #4299e1)}.node-type-btn.active{background:#4299e11a;border-color:var(--node-color, #4299e1);color:#e2e8f0}.node-type-btn .node-icon{font-size:1rem}.node-type-btn .node-name{font-size:.8rem;font-family:Monaco,Consolas,monospace}.node-detail{flex:1;padding:20px;overflow-y:auto}.node-detail-header{display:flex;align-items:center;gap:12px;padding-bottom:12px;margin-bottom:16px;border-bottom:2px solid}.node-detail-header .detail-icon{font-size:2rem}.node-detail-header h3{margin:0;font-size:1.25rem;color:#e2e8f0}.node-detail-header .impl-path{display:block;font-size:.75rem;color:#718096;margin-top:4px}.node-description{font-size:.95rem;color:#cbd5e0;line-height:1.5;margin-bottom:20px}.node-io{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.io-section{background:#252542;border-radius:8px;padding:12px}.io-section h4{margin:0 0 8px;font-size:.85rem;color:#a0aec0}.io-section ul{margin:0;padding-left:20px}.io-section li{font-size:.85rem;color:#cbd5e0;margin-bottom:4px}.node-behavior{margin-bottom:20px}.node-behavior h4{margin:0 0 10px;font-size:.9rem;color:#a0aec0}.node-behavior ol{margin:0;padding-left:24px}.node-behavior li{font-size:.85rem;color:#cbd5e0;margin-bottom:6px;line-height:1.4}.node-perf{background:#48bb781a;border:1px solid rgba(72,187,120,.3);border-radius:8px;padding:12px;margin-bottom:20px}.node-perf h4{margin:0 0 6px;font-size:.85rem;color:#48bb78}.node-perf p{margin:0;font-size:.85rem;color:#cbd5e0}.node-config-section{border-top:1px solid #3d3d5c;padding-top:16px}.config-toggle-btn{background:none;border:none;color:#a0aec0;cursor:pointer;font-size:.9rem;padding:8px 0;display:flex;align-items:center;gap:8px}.config-toggle-btn:hover{color:#e2e8f0}.config-schema{margin-top:12px}.config-schema table{width:100%;border-collapse:collapse;font-size:.8rem}.config-schema th{text-align:left;padding:8px;background:#252542;color:#a0aec0;border-bottom:1px solid #3d3d5c}.config-schema td{padding:8px;border-bottom:1px solid #2d2d4a;color:#cbd5e0}.config-schema td code{background:#4299e126;color:#63b3ed;padding:2px 6px;border-radius:4px;font-size:.75rem}.config-example{margin-top:16px}.config-example h5{margin:0 0 8px;font-size:.8rem;color:#a0aec0}.config-example pre{background:#0d0d1a;border:1px solid #3d3d5c;border-radius:6px;padding:12px;font-size:.75rem;color:#cbd5e0;overflow-x:auto;margin:0}.node-help-footer{padding:12px 20px;border-top:1px solid #3d3d5c;background:#1e1e32;border-radius:0 0 12px 12px}.node-help-footer p{margin:0;font-size:.8rem;color:#718096}.node-help-footer a{color:#4299e1;text-decoration:none}.node-help-footer a:hover{text-decoration:underline}.node-help-footer code{background:#4299e11a;color:#63b3ed;padding:2px 6px;border-radius:4px;font-size:.75rem}@media (max-width: 768px){.node-help-content{flex-direction:column}.node-type-list{width:100%;border-right:none;border-bottom:1px solid #3d3d5c;display:flex;flex-wrap:wrap;gap:8px;padding:12px}.node-category{margin-bottom:0}.node-category h4{display:none}.node-io{grid-template-columns:1fr}}.edp{display:flex;height:100%;background:#0f1219;color:#e2e8f0;font-size:12px;outline:none}.edp-empty{padding:16px;color:#64748b;text-align:center}.edp-node-list{width:240px;min-width:200px;max-width:300px;border-right:1px solid #1e293b;overflow-y:auto;flex-shrink:0}.edp-summary{display:flex;gap:8px;padding:4px 8px;background:#1a1f2e;border-bottom:1px solid #1e293b;color:#94a3b8;font-size:10px;position:sticky;top:0;z-index:1}.edp-step-hint{margin-left:auto;opacity:.5}.edp-node-row{display:flex;align-items:center;gap:4px;padding:3px 6px;cursor:pointer;border-left:2px solid transparent;transition:background .1s}.edp-node-row:hover{background:#1e293b}.edp-node-row.selected{background:#1e293b;border-left-color:#60a5fa}.edp-node-row.running{background:#1a2332;border-left-color:#fbbf24}.edp-node-row.running .edp-node-status{animation:edp-pulse 1s ease-in-out infinite}@keyframes edp-pulse{0%,to{opacity:1}50%{opacity:.4}}.edp-node-icon{font-size:11px;flex-shrink:0;width:16px;text-align:center}.edp-node-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.edp-node-dur{color:#64748b;font-size:10px;font-variant-numeric:tabular-nums;flex-shrink:0}.edp-node-tok{color:#60a5fa;font-size:10px;flex-shrink:0}.edp-node-status{font-size:10px;flex-shrink:0;width:12px;text-align:center}.edp-detail{flex:1;overflow-y:auto;min-width:0}.edp-detail--empty{display:flex;align-items:center;justify-content:center}.edp-detail-header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#1a1f2e;border-bottom:1px solid #1e293b;position:sticky;top:0;z-index:1}.edp-detail-icon{font-size:13px}.edp-detail-name{font-weight:600;font-size:12px}.edp-detail-type{font-size:10px}.edp-detail-model{color:#a78bfa;font-size:10px;font-family:SF Mono,Fira Code,monospace}.edp-detail-tokens{color:#60a5fa;font-size:10px}.edp-detail-dur{color:#94a3b8;font-size:11px;margin-left:auto}.edp-detail-step{color:#64748b;font-size:10px}.edp-detail-body{padding:4px 0}.edp-section{border-bottom:1px solid #1e293b}.edp-section-header{display:flex;align-items:center;gap:6px;padding:4px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.edp-section-header:hover{color:#e2e8f0}.edp-section-badge{background:#334155;color:#94a3b8;padding:0 4px;border-radius:3px;font-size:10px}.edp-section-count{margin-left:auto;color:#475569;font-size:10px}.edp-section-empty{padding:4px 10px;color:#475569;font-size:11px;font-style:italic}.edp-section-body{padding:0 4px}.edp-data-row{border-bottom:1px solid #0f1219}.edp-data-row-header{display:flex;align-items:baseline;gap:6px;padding:2px 6px;min-height:20px;line-height:1.4}.edp-data-row-header.expandable{cursor:pointer}.edp-data-row-header.expandable:hover{background:#1a1f2e}.edp-data-key{color:#60a5fa;font-size:11px;font-weight:500;flex-shrink:0;min-width:60px}.edp-data-preview{color:#94a3b8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:SF Mono,Fira Code,monospace}.edp-data-toggle{color:#475569;font-size:10px;flex-shrink:0}.edp-data-full{margin:0;padding:4px 6px 4px 66px;background:#0a0d14;font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word;color:#cbd5e1;font-family:SF Mono,Fira Code,monospace;max-height:400px;overflow-y:auto}.edp-json-leaf{padding:1px 6px;line-height:1.5;font-size:11px;font-family:SF Mono,Fira Code,monospace}.edp-json-branch{padding:1px 6px;cursor:pointer;line-height:1.5;font-size:11px;font-family:SF Mono,Fira Code,monospace}.edp-json-branch:hover{background:#1a1f2e}.edp-json-key{color:#60a5fa;font-weight:500}.edp-json-val{color:#94a3b8}.edp-json-val--string{color:#34d399}.edp-json-val--number{color:#fbbf24}.edp-json-val--boolean{color:#f472b6}.edp-json-toggle{color:#475569;font-size:10px;margin-right:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.edp-json-preview{color:#64748b;font-size:11px}.edp-json-children{border-left:1px solid #1e293b;margin-left:6px}.edp-json-string-full{margin:2px 0 2px 16px;padding:4px 6px;background:#0a0d14;border-radius:4px;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:#34d399;font-family:SF Mono,Fira Code,monospace;max-height:400px;overflow-y:auto}.edp-llm-detail{border-bottom:1px solid #1e293b;padding:4px 0}.edp-llm-meta{display:flex;gap:8px;padding:2px 10px}.edp-llm-model{color:#a78bfa;font-size:11px;font-family:SF Mono,Fira Code,monospace}.edp-llm-tokens{color:#60a5fa;font-size:11px}.edp-prompt-block{margin:2px 6px}.edp-prompt-block>summary{padding:2px 4px;cursor:pointer;color:#94a3b8;font-size:11px;font-weight:600;-webkit-user-select:none;user-select:none}.edp-prompt-block>summary:hover{color:#e2e8f0}.edp-char-count{color:#475569;font-weight:400;font-size:10px}.edp-prompt-text,.edp-response-text{margin:0;padding:6px 8px;background:#0a0d14;border-radius:4px;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Fira Code,monospace;max-height:500px;overflow-y:auto}.edp-prompt-text{color:#94a3b8}.edp-response-text{color:#e2e8f0}.edp-ensemble{margin:2px 6px}.edp-ensemble-header{padding:2px 4px;cursor:pointer;color:#a78bfa;font-size:11px;font-weight:600;-webkit-user-select:none;user-select:none}.edp-ensemble-synth{color:#64748b;font-weight:400;margin-left:6px}.edp-ensemble-agents{padding-left:4px;border-left:2px solid #1e293b;margin-left:4px}.edp-agent{margin:1px 0}.edp-agent-header{display:flex;align-items:center;gap:4px;padding:2px 4px;cursor:pointer;font-size:11px}.edp-agent-header:hover{background:#1a1f2e}.edp-agent-icon{font-size:11px}.edp-agent-name{flex:1;color:#e2e8f0}.edp-agent-dur{color:#64748b;font-size:10px}.edp-agent-tok{color:#60a5fa;font-size:10px}.edp-agent-body{padding-left:8px}.edp-agent--synthesis .edp-agent-name{color:#a78bfa}.edp-output-preview{border-top:1px solid #1e293b;margin-top:4px}.edp-output-header{padding:4px 8px;background:#1a1f2e;color:#94a3b8;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:1}.edp-output-section{border-bottom:1px solid #0f1219}.edp-output-label{display:flex;align-items:center;gap:4px;padding:3px 6px;cursor:pointer;font-size:11px;color:#94a3b8;font-weight:500}.edp-output-label:hover{background:#1e293b;color:#e2e8f0}.edp-output-meta{margin-left:auto;color:#475569;font-size:10px;font-weight:400}.edp-output-content{padding:4px 8px;font-size:11px;line-height:1.5;color:#cbd5e1;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;background:#0a0d14}.edp-output-pages{padding:2px 4px}.edp-output-page{margin-bottom:4px}.edp-output-page-label{padding:2px 6px;font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #1e293b}.edp-output-panel{padding:4px 6px;border-bottom:1px solid #0f1219;border-left:2px solid #1e293b;margin-left:2px}.edp-output-panel:hover{border-left-color:#334155;background:#0a0d14}.edp-output-panel-header{display:flex;align-items:center;gap:4px;margin-bottom:2px}.edp-output-panel-num{color:#60a5fa;font-size:10px;font-weight:600;flex-shrink:0}.edp-output-panel-shot{padding:0 3px;background:#1e3a5f;color:#60a5fa;border-radius:3px;font-size:9px}.edp-output-panel-type{padding:0 3px;background:#3b1f4e;color:#a78bfa;border-radius:3px;font-size:9px}.edp-output-panel-text{color:#cbd5e1;font-size:11px;line-height:1.4;word-break:break-word}.edp-output-panel-chars{display:flex;gap:4px;margin-top:2px;flex-wrap:wrap}.edp-output-panel-char{padding:0 4px;background:#1a2e1a;color:#34d399;border-radius:3px;font-size:9px}.edp-output-panel-micro{margin-top:2px;color:#fbbf24;font-size:10px}.edp-output-choices{padding:2px 4px}.edp-output-choice{display:flex;gap:6px;padding:3px 4px;font-size:11px;color:#cbd5e1;border-bottom:1px solid #0f1219}.edp-output-choice-num{color:#60a5fa;font-weight:500;flex-shrink:0}.edp-output-choice-text{color:#cbd5e1}.edp-output-choice-type{display:inline-block;margin-top:1px;padding:0 3px;background:#334155;color:#94a3b8;border-radius:3px;font-size:9px}.edp-output-choice-consequence{color:#64748b;font-size:10px;font-style:italic;margin-top:1px}.narrative-editor button:focus-visible,.narrative-editor input:focus-visible,.narrative-editor select:focus-visible,.narrative-editor textarea:focus-visible,.narrative-editor [tabindex]:focus-visible{outline:2px solid var(--ed-accent);outline-offset:1px}@media (prefers-reduced-motion: reduce){.narrative-editor *,.narrative-editor *:before,.narrative-editor *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.narrative-editor{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--ed-bg);color:var(--ed-text);font-family:var(--ed-font-ui)}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:6px 16px;background:var(--ed-panel);border-bottom:1px solid var(--ed-hairline);box-shadow:0 1px 4px #0000004d}.header-left{display:flex;align-items:center;gap:12px}.home-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#ffffff14;border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text-dim);font-size:13px;cursor:pointer;flex-shrink:0;transition:all .15s ease}.home-btn:hover{background:#ffffff26;color:var(--ed-text);border-color:var(--ed-accent)}.editor-title{font-size:16px;font-weight:600;margin:0;color:var(--ed-accent)}.pipeline-selector{padding:8px 12px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text);font-size:14px;cursor:pointer;transition:border-color .2s}.pipeline-selector:hover{border-color:var(--ed-accent)}.pipeline-selector-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.pipeline-selector-btn:hover{border-color:var(--ed-accent);background:#d4a94e1a}.pipeline-selector-arrow{font-size:10px;color:var(--ed-text-dim);transition:transform .2s}.pipeline-selector-btn:hover .pipeline-selector-arrow{color:var(--ed-accent)}.pipeline-badge{font-size:12px;margin-right:4px}.pipeline-badge.system,.pipeline-badge.fork{opacity:.8}.header-right{display:flex;align-items:center;gap:8px}.step-mode-toggle{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ed-text-dim);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.step-mode-toggle:hover{background:#d4a94e1a;color:var(--ed-accent)}.step-mode-toggle input{cursor:pointer}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--ed-accent);color:var(--ed-accent-ink)}.btn-primary:hover{background:#c09538}.btn-secondary{background:#ffffff24;color:var(--ed-text)}.btn-secondary:hover{background:#ffffff38}.btn-success{background:var(--ed-signal-ok);color:#fff}.btn-success:hover{background:#2ea043}.btn-warning{background:var(--ed-signal-warn);color:#fff}.btn-warning:hover{background:#b8860b}.btn-danger{background:var(--ed-signal-bad);color:#fff}.btn-danger:hover{background:#cf4740}.btn-icon{min-width:2rem;height:2rem;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text-dim);font-size:14px;line-height:1}.btn-icon:hover:not(:disabled){color:var(--ed-text);border-color:var(--ed-hairline-strong);background:#ffffff0f}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.mode-selector{display:flex;gap:4px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;padding:4px}.mode-btn{padding:4px 10px;border:none;border-radius:4px;background:transparent;color:var(--ed-text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.mode-btn:hover{background:#d4a94e1a;color:var(--ed-accent)}.mode-btn.active{background:var(--ed-accent);color:var(--ed-accent-ink)}.pipeline-tree-selector{display:flex;gap:4px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;padding:4px}.tree-btn{padding:4px 10px;border:none;border-radius:4px;background:transparent;color:var(--ed-text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.tree-btn:hover{background:#d4a94e1a;color:var(--ed-accent)}.tree-btn.active{color:#fff}.tree-btn.opening.active{background:#9f7aea}.tree-btn.turn.active{background:var(--ed-signal-info)}.tree-btn.closing.active{background:var(--ed-signal-ok)}.tree-btn.opening:hover{background:#9f7aea33;color:#b794f4}.tree-btn.turn:hover{background:#d4a94e33;color:var(--ed-accent)}.tree-btn.closing:hover{background:#3fb95033;color:var(--ed-signal-ok)}.tree-btn.session.active{background:var(--ed-signal-warn)}.tree-btn.session:hover{background:#d2992233;color:var(--ed-signal-warn)}.pipeline-type-btn:last-child.active{background:var(--ed-signal-info);color:#fff}.pipeline-type-btn:last-child:hover:not(.active){background:#d4a94e1a;color:var(--ed-accent)}.pipeline-type-label{padding:8px 12px;border-radius:6px;font-size:13px;font-weight:600}.pipeline-type-label.collaborative{background:linear-gradient(135deg,#44337a,#553c9a);border:1px solid #805AD5;color:#e9d8fd}.pipeline-type-label.adversarial{background:linear-gradient(135deg,#742a2a,#9b2c2c);border:1px solid #E53E3E;color:#fed7d7}.pipeline-type-btn.adversarial:hover:not(.active){background:#e53e3e1a;color:var(--ed-signal-bad)}.pipeline-type-btn.adversarial.active{background:#c53030;color:#fff}.pipeline-type-btn.turn:hover:not(.active){background:#d4a94e1a;color:var(--ed-accent)}.pipeline-type-btn.turn.active{background:var(--ed-signal-info);color:#fff}.pipeline-type-btn:focus-visible{outline:2px solid var(--ed-accent);outline-offset:2px;z-index:1}.pipeline-type-btn.adversarial:focus-visible{outline-color:var(--ed-signal-bad)}.pipeline-type-btn.turn:focus-visible{outline-color:var(--ed-accent)}.connection-status{padding:6px 12px;border-radius:4px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px}.connection-status.connected{background:#3fb95033;color:var(--ed-signal-ok)}.connection-status.error{background:#e5534b33;color:var(--ed-signal-bad);cursor:help}.attachment-prompt{background:var(--panel-bg, #1e1e1e);border:1px solid var(--border-color, #333);border-radius:8px;padding:24px;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center}.attachment-prompt h3{margin:0;font-size:18px;color:var(--text-primary, #fff)}.attachment-prompt p{margin:0;font-size:14px;color:var(--text-secondary, #aaa);max-width:300px}.attachment-prompt button{min-width:200px}.editor-layout{display:flex;flex:1;overflow:hidden}.flow-canvas{flex:1;background:var(--ed-bg);position:relative;width:100%;height:100%;display:flex;flex-direction:column}.genre-plugin-banner{padding:6px 12px;background:var(--ed-panel);color:var(--ed-text);font-size:12px}.react-flow-dark{background:var(--ed-bg);width:100%;height:100%}.react-flow-dark .react-flow__node{background:var(--ed-panel);border:2px solid var(--ed-hairline-strong);border-radius:8px;color:var(--ed-text);font-size:13px;padding:0;box-shadow:0 4px 12px #0006;transition:all .2s}.react-flow-dark .react-flow__node:hover{border-color:var(--ed-accent);box-shadow:0 6px 16px #d4a94e4d}.react-flow-dark .react-flow__node.selected{border-color:var(--ed-accent);box-shadow:0 0 0 3px #d4a94e4d}.react-flow-dark .react-flow__edge-path{stroke:#ffffff38;stroke-width:2}.react-flow-dark .react-flow__edge.selected .react-flow__edge-path{stroke:var(--ed-accent)}.react-flow-dark .react-flow__controls{background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:8px}.react-flow-dark .react-flow__controls button{background:var(--ed-panel);border-bottom:1px solid var(--ed-hairline);color:var(--ed-text)}.react-flow-dark .react-flow__controls button:hover{background:#ffffff24}.react-flow-dark .react-flow__minimap{background:var(--ed-panel);border:1px solid var(--ed-hairline)}.react-flow-dark .react-flow__handle.connecting,.react-flow-dark .react-flow__handle.connectingto{box-shadow:0 0 10px #10b98199;background:#10b981}.react-flow-dark .react-flow__edge.selected .react-flow__edge-path{stroke-width:3;filter:drop-shadow(0 0 4px rgba(212,169,78,.5))}.review-canvas-h-divider{height:5px;cursor:row-resize;background:transparent;flex-shrink:0;border-top:1px solid var(--ed-hairline);transition:background .15s;position:relative;z-index:10}.review-canvas-h-divider:hover,.review-canvas-h-divider:active{background:var(--ed-accent);border-top-color:var(--ed-accent)}.review-context-chip{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;background:#d4a94e1f;border:1px solid rgba(212,169,78,.35);border-radius:12px;cursor:pointer;transition:all .15s;max-width:220px;flex-shrink:0}.review-context-chip:hover{background:#d4a94e33;border-color:var(--ed-accent)}.review-chip-label{font-size:12px;color:var(--ed-accent);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.review-chip-turn{font-size:11px;color:var(--ed-accent);background:#d4a94e33;padding:1px 5px;border-radius:6px;font-weight:600;flex-shrink:0}.review-chip-clear{background:transparent;border:none;color:var(--ed-text-faint);cursor:pointer;font-size:11px;padding:0 2px;line-height:1;flex-shrink:0;transition:color .15s}.review-chip-clear:hover{color:var(--ed-signal-bad)}.side-panel-resize-handle{width:5px;cursor:col-resize;background:transparent;flex-shrink:0;position:relative;z-index:10;transition:background .15s}.side-panel-resize-handle:hover,.side-panel-resize-handle:active{background:var(--ed-accent)}.side-panel{width:400px;min-width:280px;max-width:900px;background:var(--ed-panel);border-left:1px solid var(--ed-hairline);overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:16px;flex-shrink:0}.side-panel.live-mode{overflow-y:auto;gap:8px;padding:12px}.side-panel.review-mode,.side-panel.templates-mode{padding:0;gap:0;overflow:hidden}.side-panel.full-width{flex:1 1 auto;width:auto;min-width:0;max-width:none;border-left:none}.side-panel-toggle{display:flex;gap:4px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;padding:4px;margin-bottom:8px}.side-panel-toggle .toggle-btn{flex:1;padding:8px 12px;border:none;border-radius:4px;background:transparent;color:var(--ed-text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.side-panel-toggle .toggle-btn:hover{background:#d4a94e1a;color:var(--ed-accent)}.side-panel-toggle .toggle-btn.active{background:var(--ed-accent);color:var(--ed-accent-ink)}.replay-view-container{display:flex;flex-direction:column;height:100%;min-height:0}.replay-view-toggle{display:flex;align-items:center;gap:2px;padding:6px 8px;background:var(--ed-bg);border-bottom:1px solid var(--ed-hairline);flex-shrink:0}.replay-toggle-btn{padding:4px 12px;border:1px solid var(--ed-hairline);border-radius:4px;background:transparent;color:var(--ed-text-dim);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.replay-toggle-btn:hover{background:#d4a94e1a;color:var(--ed-accent)}.replay-toggle-btn.active{background:var(--ed-accent);color:var(--ed-accent-ink);border-color:var(--ed-accent)}.replay-view-toggle .replay-close-btn{margin-left:auto;padding:2px 8px;border:1px solid var(--ed-hairline);border-radius:4px;background:transparent;color:var(--ed-text-dim);font-size:14px;cursor:pointer;line-height:1}.replay-view-toggle .replay-close-btn:hover{border-color:var(--ed-accent);color:var(--ed-accent)}.replay-view-container>.gantt-timeline,.replay-view-container>.execution-replay-panel{flex:1;min-height:0;overflow-y:auto}details.live-replay-section{margin-top:12px;border-top:1px solid var(--ed-hairline);padding-top:8px}.live-replay-section .execution-replay-panel{height:520px;min-height:320px}.replay-inline>.execution-replay-panel{flex:none;height:520px;min-height:320px}summary.live-replay-toggle-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}summary.live-replay-toggle-bar::-webkit-details-marker{display:none}summary.live-replay-toggle-bar:before{content:"▸";font-size:10px;margin-right:6px;color:var(--ed-text-faint);transition:transform .15s}details.live-replay-section[open]>summary.live-replay-toggle-bar:before{transform:rotate(90deg)}.live-replay-label{font-size:12px;color:var(--ed-accent);font-weight:600}.live-gantt-section{margin-top:12px;border-top:1px solid var(--ed-hairline);padding-top:8px}.live-gantt-section h4{margin:0 0 8px;font-size:12px;color:var(--ed-accent);font-weight:600}.live-beats-section{margin-top:12px;border-top:1px solid var(--ed-hairline);padding-top:8px}.live-beats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.live-beats-header h4{margin:0;font-size:12px;color:var(--ed-accent);font-weight:600}.live-beat-strip{display:flex;flex-wrap:wrap;gap:4px}.live-beat-chip{display:inline-flex;align-items:center;gap:3px;background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;padding:2px 6px;font-size:11px;cursor:default}.live-beat-char{color:var(--ed-text-dim);max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-status-inline{font-size:11px;font-weight:500}.attachment-status-inline.idle{color:var(--ed-signal-ok)}.attachment-status-inline.running{color:var(--ed-signal-warn)}.live-inspector-section{margin-top:12px;border-top:1px solid var(--ed-hairline);padding-top:8px;flex:1;min-height:0;display:flex;flex-direction:column}.live-inspector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;flex-shrink:0}.live-inspector-header h4{margin:0;font-size:12px;color:var(--ed-accent);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-inspector-section .node-inspector{flex:1;min-height:0;overflow-y:auto}.panel{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:8px;padding:16px}.panel-header{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--ed-accent);display:flex;align-items:center;gap:8px}.panel-content{font-size:13px;line-height:1.6}.side-panel::-webkit-scrollbar{width:8px}.side-panel::-webkit-scrollbar-track{background:var(--ed-bg)}.side-panel::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:4px}.side-panel::-webkit-scrollbar-thumb:hover{background:#ffffff38}.node-status-idle{border-color:var(--ed-signal-info)!important}.node-status-running{border-color:var(--ed-signal-warn)!important;animation:pulse 1.5s infinite}.node-status-success{border-color:var(--ed-signal-ok)!important}.node-status-failed{border-color:var(--ed-signal-bad)!important}.node-status-skipped{border-color:var(--ed-text-faint)!important;opacity:.6}@keyframes pulse{0%,to{box-shadow:0 0 #d29922b3}50%{box-shadow:0 0 0 8px #d2992200}}.react-flow__background{background-color:var(--ed-bg)}.react-flow__background-pattern{stroke:#ffffff0d}.prompt-message{padding:30px;background:var(--ed-panel);border-radius:8px;margin:20px;border:1px solid var(--ed-hairline)}.prompt-message h3{margin:0 0 12px;color:var(--ed-accent);font-size:18px;font-weight:600}.prompt-message p{margin:0 0 16px;color:var(--ed-text-dim);line-height:1.6}.prompt-message ul{margin:0;padding-left:24px;color:var(--ed-text);line-height:1.8}.prompt-message li{margin-bottom:8px}@media (max-width: 1024px){.editor-header{flex-direction:column;align-items:flex-start;gap:12px}.header-left,.header-right{width:100%;flex-wrap:wrap}.mode-selector{flex-wrap:wrap}.side-panel-resize-handle{display:none}.side-panel{width:100%!important;max-width:none;border-left:none;border-top:2px solid var(--ed-hairline-strong)}.editor-layout{flex-direction:column}.flow-canvas{min-height:400px}}.error-notification-toast{position:fixed;top:80px;right:20px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#742a2a;color:#feb2b2;border:1px solid #fc8181;border-radius:6px;box-shadow:0 4px 12px #0006;z-index:1000;max-width:400px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.error-notification-toast .error-icon{font-size:20px;flex-shrink:0}.error-notification-toast .error-message{flex:1;font-size:14px;line-height:1.4}.error-notification-toast .dismiss-error-btn{background:transparent;border:none;color:#feb2b2;font-size:24px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:background-color .2s}.error-notification-toast .dismiss-error-btn:hover{background-color:#ffffff1a}.error-notification-toast .dismiss-error-btn:focus-visible{outline:2px solid #feb2b2;outline-offset:2px}@media (prefers-reduced-motion: reduce){.error-notification-toast{animation:none}}@media (max-width: 768px){.narrative-editor{height:100vh;height:100dvh}.editor-header{padding:8px 12px;flex-direction:row;flex-wrap:nowrap;gap:8px}.header-left{flex:1;min-width:0}.header-right{display:none}.home-btn{padding:6px 8px;font-size:0;width:36px;height:36px;justify-content:center}.home-btn:before{content:"←";font-size:18px}.editor-title{font-size:14px}.pipeline-selector-btn{padding:6px 10px;font-size:12px}.editor-layout{flex-direction:column;flex:1;min-height:0}.flow-canvas{flex:1;min-height:250px;margin-bottom:48px}.side-panel{position:fixed;bottom:0;left:0;right:0;top:auto;width:100%;height:48px;min-width:100%;padding:0;border-left:none;border-top:2px solid var(--ed-hairline-strong);border-radius:16px 16px 0 0;z-index:100;resize:none;overflow:hidden;transition:height .3s ease}.side-panel.expanded{height:85vh;max-height:85vh;padding:0 16px 16px;overflow-y:auto}.side-panel-header{cursor:pointer;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.side-panel-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#ffffff24;border-radius:2px}.panel-toggle-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px}.panel-toggle-tabs::-webkit-scrollbar{display:none}.toggle-btn{flex-shrink:0;padding:6px 10px;font-size:11px}.side-panel-content{max-height:calc(85vh - 60px);overflow-y:auto}.react-flow__minimap{display:none!important}.react-flow__controls{left:8px;bottom:56px}.side-panel.expanded~.react-flow__controls,.side-panel.expanded+.flow-canvas .react-flow__controls{bottom:calc(45vh + 8px)}.mobile-test-btn{display:flex;position:fixed;bottom:56px;right:12px;padding:12px 20px;background:var(--ed-accent);color:var(--ed-accent-ink);border:none;border-radius:24px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #d4a94e66;z-index:90}.mobile-test-btn:active{background:#c09538}}@media (min-width: 769px){.mobile-test-btn,.side-panel-header.mobile-only{display:none}}@media (max-width: 768px){.side-panel-header.mobile-only{display:flex;align-items:center;justify-content:center;padding:14px 16px;background:var(--ed-panel);border-bottom:1px solid var(--ed-hairline);cursor:pointer;position:relative;font-size:14px;font-weight:500;color:var(--ed-text-dim)}.side-panel-header.mobile-only:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:4px;background:#ffffff24;border-radius:2px}}.session-info-header{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--ed-bg);border-radius:8px;margin-bottom:12px}.session-info h3{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ed-text)}.session-id-badge{font-size:11px;font-family:var(--ed-font-mono);color:var(--ed-text-faint);background:var(--ed-panel);padding:2px 6px;border-radius:4px}.session-actions{display:flex;gap:8px}.btn-sm{padding:6px 12px;font-size:12px}.attachment-status{padding:4px 8px;border-radius:4px;font-size:11px;margin-bottom:8px}.attachment-status.attached{background:#3fb9501a;color:var(--ed-signal-ok);border:1px solid rgba(63,185,80,.2)}.attachment-status.detached{background:#a0aec01a;color:var(--ed-text-dim);border:1px solid rgba(160,174,192,.2)}.session-preattach-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:#d4a94e14;border:1px solid rgba(212,169,78,.25);border-radius:6px;margin-bottom:8px;flex-shrink:0}.session-preattach-info{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.session-preattach-title{font-size:12px;color:var(--ed-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-preattach-actions{display:flex;gap:6px;flex-shrink:0;align-items:center}.session-connecting-indicator{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ed-accent);opacity:.85}.session-not-attachable{font-size:12px;color:var(--ed-text-faint);font-style:italic}.pipeline-context-badge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-size:11px;color:#b794f4;background:#805ad526;border:1px solid rgba(128,90,213,.3);border-radius:4px;text-transform:capitalize}.active-genre-plugins{padding:10px 12px;background:#805ad514;border:1px solid rgba(128,90,213,.2);border-radius:8px;margin-bottom:12px}.active-genre-plugins h4{margin:0 0 8px;font-size:12px;font-weight:600;color:#b794f4;text-transform:uppercase;letter-spacing:.5px}.genre-plugin-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.genre-plugin-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;color:var(--ed-text);background:#805ad533;border:1px solid rgba(128,90,213,.4);border-radius:12px;text-transform:capitalize}.genre-plugin-chip.active{background:#805ad54d;border-color:#b794f4;color:#d6bcfa}.genre-plugin-icon,.genre-plugin-name{font-size:12px}.genre-plugin-hint{margin:4px 0 0;font-size:10px;color:var(--ed-text-faint);font-style:italic}.react-flow__node-group{font-size:11px;font-weight:600;color:#b794f4;text-transform:uppercase;letter-spacing:.5px}details.last-turn-output{padding:8px 12px;background:var(--ed-bg);border-radius:8px;margin-bottom:12px}details.last-turn-output[open]{display:flex;flex-direction:column;gap:10px}.last-turn-summary{cursor:pointer;font-size:11px;font-weight:600;color:var(--ed-accent);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;list-style:none}.last-turn-summary::-webkit-details-marker{display:none}.last-turn-summary:before{content:"▶";font-size:8px;transition:transform .15s}details.last-turn-output[open]>.last-turn-summary:before{transform:rotate(90deg)}.last-turn-exec-stats{display:inline-flex;gap:12px;font-size:11px;color:var(--ed-text-faint);font-weight:400;text-transform:none}.last-turn-narrative{font-size:13px;color:var(--ed-text);line-height:1.6;white-space:pre-wrap;border-left:3px solid var(--ed-hairline-strong);padding-left:10px}details.last-turn-beats{display:flex;flex-direction:column;gap:6px}summary.last-turn-beats-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--ed-text-faint);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}summary.last-turn-beats-header::-webkit-details-marker{display:none}.last-turn-beat-card{background:var(--ed-panel);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:4px}.last-turn-beat-header{display:flex;gap:8px;align-items:center}.last-turn-beat-type{font-size:11px;font-weight:600;color:var(--ed-accent);text-transform:uppercase}.last-turn-beat-layout{font-size:10px;color:var(--ed-text-faint);background:var(--ed-bg);padding:1px 5px;border-radius:3px}.last-turn-beat-fields{display:flex;flex-wrap:wrap;gap:6px}.last-turn-beat-field{font-size:12px;color:var(--ed-text)}.ltbf-key{font-size:10px;color:var(--ed-text-faint);margin-right:2px}.last-turn-beat-text{font-size:12px;color:var(--ed-text);font-style:italic;line-height:1.4;border-left:2px solid var(--ed-hairline-strong);padding-left:8px;margin-top:2px}.last-turn-beat-line{display:flex;gap:6px;font-size:12px;margin-top:3px;align-items:baseline}.ltbl-type{font-size:9px;text-transform:uppercase;letter-spacing:.3px;color:var(--ed-text-faint);min-width:52px;flex-shrink:0}.last-turn-beat-line--dialogue .ltbl-type{color:var(--ed-accent)}.last-turn-beat-line--caption .ltbl-type{color:var(--ed-signal-ok)}.last-turn-beat-line--interiority .ltbl-type{color:#b794f4}.last-turn-beat-line--action .ltbl-type{color:var(--ed-signal-warn)}.ltbl-text{color:var(--ed-text);line-height:1.4;font-style:italic}.last-turn-beat-line--dialogue .ltbl-text{color:var(--ed-text);font-style:normal}.last-turn-beat-line--interiority .ltbl-text{color:#d6bcfa}.last-execution-summary{padding:12px;background:var(--ed-bg);border-radius:8px;margin-bottom:12px}.last-execution-summary h4{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--ed-text-dim);text-transform:uppercase;letter-spacing:.5px}.execution-stats{display:flex;gap:16px;font-size:13px;color:var(--ed-text)}.available-choices{padding:12px;background:var(--ed-bg);border-radius:8px}.available-choices h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--ed-text)}.available-choices .choices-list{display:flex;flex-direction:column;gap:8px}.choice-btn{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text);font-size:13px;text-align:left;cursor:pointer;transition:all .2s}.choice-btn:hover:not(.disabled){border-color:var(--ed-accent);background:#d4a94e1a}.choice-btn.disabled{opacity:.5;cursor:not-allowed}.choice-type-icon{flex-shrink:0;width:20px;text-align:center}.choice-btn .choice-text{flex:1;line-height:1.4}.executing-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;margin-top:12px;background:#d4a94e1a;border-radius:6px;color:var(--ed-accent);font-size:13px}.spinner.small{width:16px;height:16px;border:2px solid rgba(212,169,78,.3);border-top-color:var(--ed-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.validation-chip{cursor:pointer;font-size:11px;padding:2px 6px;border-radius:4px}.validation-chip.ok{color:var(--ed-signal-ok)}.validation-chip.bad{color:var(--ed-signal-bad)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.review-refresh-btn,.review-back-btn,.review-cinema-btn,.review-branch-cancel,.review-filter-btn,.review-visual-tree-header-btn,.review-visual-fullscreen-btn,.review-workbench-toggle,.review-clear-search,.review-workbench-apply-btn{background:transparent;border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-text-dim);cursor:pointer;font-family:var(--ed-font-ui);transition:border-color .15s,color .15s,background .15s}.review-refresh-btn:hover,.review-back-btn:hover,.review-cinema-btn:hover,.review-branch-cancel:hover,.review-filter-btn:hover,.review-visual-tree-header-btn:hover,.review-visual-fullscreen-btn:hover,.review-workbench-toggle:hover{border-color:var(--ed-hairline-strong);color:var(--ed-text);background:#ffffff0a}.review-filter-btn.active,.review-visual-tree-header-btn.active,.review-visual-fullscreen-btn.active,.review-workbench-toggle.active{color:var(--ed-accent);border-color:#d4a94e80;background:var(--ed-accent-dim)}.review-source-badge,.review-status-badge,.review-mode-badge,.review-chip,.review-chosen-badge,.review-branch-original-badge,.review-passage-beat-count,.review-beat-layout,.review-workbench-applied-badge,.review-workbench-failed-badge,.review-workbench-flag-chip,.review-workbench-hash-chip{display:inline-block;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:500;line-height:1.5;white-space:nowrap}.ed-val--ok{color:var(--ed-signal-ok)}.ed-val--warn{color:var(--ed-signal-warn)}.ed-val--bad{color:var(--ed-signal-bad)}.ed-val--info{color:var(--ed-signal-info)}.ed-val--accent{color:var(--ed-accent)}.review-browser{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--ed-panel)}.review-browser-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ed-hairline);flex-shrink:0}.review-browser-header h3{margin:0;font-size:14px;font-weight:600;color:var(--ed-text)}.review-browser-actions{display:flex;gap:8px;align-items:center}.review-refresh-btn{padding:4px 8px;font-size:14px}.review-error{padding:8px 16px;background:#e5534b1a;color:var(--ed-signal-bad);border-bottom:1px solid rgba(229,83,75,.25);font-size:12px;flex-shrink:0}.review-search-bar{position:relative;padding:8px 16px;flex-shrink:0}.review-search-input{width:100%;padding:8px 32px 8px 12px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;color:var(--ed-text);font-size:12px;font-family:var(--ed-font-ui);box-sizing:border-box}.review-search-input:focus{outline:none;border-color:var(--ed-accent)}.review-search-input::placeholder{color:var(--ed-text-faint)}.review-clear-search{position:absolute;right:24px;top:50%;transform:translateY(-50%);border:none;font-size:14px;padding:4px}.review-clear-search:hover{color:var(--ed-text)}.review-filter-bar{display:flex;flex-direction:column;gap:8px;padding:8px 16px;border-bottom:1px solid var(--ed-hairline);flex-shrink:0}.review-filter-group{display:flex;gap:4px;flex-wrap:wrap}.review-filter-btn{padding:4px 8px;font-size:11px;white-space:nowrap}.review-filter-select{padding:4px 8px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-text-dim);font-size:11px;font-family:var(--ed-font-ui);cursor:pointer}.review-filter-select:focus{outline:none;border-color:var(--ed-accent)}.review-session-list{flex:1;overflow-y:auto;padding:8px}.review-session-list::-webkit-scrollbar{width:6px}.review-session-list::-webkit-scrollbar-track{background:var(--ed-bg)}.review-session-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.review-loading,.review-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;color:var(--ed-text-faint);font-size:13px;gap:12px}.review-empty .hint{font-size:11px;color:var(--ed-text-faint)}.review-session-card{padding:12px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:6px;margin-bottom:8px;cursor:pointer;transition:border-color .15s,background .15s}.review-session-card:hover{border-color:var(--ed-hairline-strong);background:#ffffff05}.review-session-card.selected{border-color:#d4a94e8c;box-shadow:0 0 0 1px #d4a94e40}.review-session-card.active{border-left:2px solid var(--ed-signal-ok)}.review-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:8px}.review-card-title{font-size:12px;font-weight:600;color:var(--ed-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-card-badges{display:flex;gap:4px;flex-shrink:0}.review-source-badge,.review-mode-badge{background:#ffffff0f;color:var(--ed-text-dim)}.review-status-badge{text-transform:uppercase;font-weight:600}.review-status-badge.running{background:#3fb9501f;color:var(--ed-signal-ok)}.review-status-badge.paused{background:#d299221f;color:var(--ed-signal-warn)}.review-status-badge.failed{background:#e5534b1f;color:var(--ed-signal-bad)}.review-status-badge.cancelled{background:#ffffff0f;color:var(--ed-text-dim)}.review-card-details{display:flex;gap:12px;font-size:11px;color:var(--ed-text-faint);margin-bottom:4px}.review-card-player,.review-card-turns,.review-card-time{white-space:nowrap}.review-card-id{margin-top:4px}.review-card-id code{font-size:10px;color:var(--ed-text-faint);font-family:var(--ed-font-mono)}.review-progress-bar{height:3px;background:#ffffff0f;border-radius:2px;margin:8px 0 4px;overflow:hidden}.review-progress-fill{height:100%;background:var(--ed-signal-ok);border-radius:2px;transition:width .3s ease}.review-job-controls{display:flex;gap:4px;margin-top:8px}.review-job-btn{padding:4px 8px;border:1px solid transparent;border-radius:4px;font-size:11px;font-family:var(--ed-font-ui);cursor:pointer;transition:background .15s}.review-job-btn.pause{background:#d299221f;color:var(--ed-signal-warn);border-color:#d299224d}.review-job-btn.pause:hover:not(:disabled){background:#d2992238}.review-job-btn.resume{background:#3fb9501f;color:var(--ed-signal-ok);border-color:#3fb9504d}.review-job-btn.resume:hover:not(:disabled){background:#3fb95038}.review-job-btn.cancel{background:#e5534b1f;color:var(--ed-signal-bad);border-color:#e5534b4d}.review-job-btn.cancel:hover:not(:disabled){background:#e5534b38}.review-job-btn:disabled{opacity:.5;cursor:not-allowed}.review-detail-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--ed-panel)}.review-detail-loading,.review-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;color:var(--ed-text-faint);gap:12px}.review-detail-panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ed-hairline);flex-shrink:0}.review-back-btn{padding:4px 8px;font-size:14px}.review-detail-title{flex:1;min-width:0}.review-detail-title h4{margin:0;font-size:13px;font-weight:600;color:var(--ed-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-detail-id{font-size:10px;color:var(--ed-text-faint);font-family:var(--ed-font-mono)}.review-tabs{display:flex;gap:2px;padding:4px 8px 0;border-bottom:1px solid var(--ed-hairline);flex-shrink:0;overflow-x:auto}.review-tab{padding:6px 12px;border:none;border-bottom:2px solid transparent;border-radius:4px 4px 0 0;background:transparent;color:var(--ed-text-dim);font-size:12px;font-weight:500;font-family:var(--ed-font-ui);cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}.review-tab:hover{color:var(--ed-text);background:#ffffff0a}.review-tab.active{color:var(--ed-accent);border-bottom-color:var(--ed-accent);background:var(--ed-accent-dim)}.review-tab-content{flex:1;overflow-y:auto;overflow-x:hidden}.review-empty-tab{display:flex;align-items:center;justify-content:center;padding:40px 16px;color:var(--ed-text-faint);font-size:13px}.review-transcript{display:flex;height:100%;min-height:300px}.review-transcript-list{width:200px;min-width:160px;border-right:1px solid var(--ed-hairline);overflow-y:auto;flex-shrink:0}.review-passage-item{padding:8px 12px;border-bottom:1px solid var(--ed-hairline);border-left:2px solid transparent;cursor:pointer;transition:background .15s}.review-passage-item:hover{background:#ffffff08}.review-passage-item.selected{background:var(--ed-accent-dim);border-left-color:var(--ed-accent)}.review-passage-header{display:flex;justify-content:space-between;margin-bottom:4px}.review-turn-number{font-size:11px;font-weight:600;color:var(--ed-text-dim)}.review-passage-item.selected .review-turn-number{color:var(--ed-accent)}.review-passage-beat-count{color:var(--ed-text-faint);background:#ffffff0d}.review-passage-choice{font-size:11px;color:var(--ed-text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-passage-preview{font-size:11px;color:var(--ed-text-faint);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-passage-detail{flex:1;padding:12px 16px;overflow-y:auto}.review-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.review-detail-header h4{margin:0;font-size:13px;font-weight:600;color:var(--ed-text)}.review-timing-badge{padding:1px 5px;background:#ffffff0d;color:var(--ed-evidence);border-radius:3px;font-size:10px;font-family:var(--ed-font-mono);font-variant-numeric:tabular-nums}.review-pacing-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 8px;margin:0;font-size:12px}.review-pacing-dl dt{color:var(--ed-text-dim);font-weight:500}.review-pacing-dl dd{margin:0;color:var(--ed-text)}.review-pipeline-badge{padding:1px 5px;background:#ffffff0d;color:var(--ed-evidence);border-radius:3px;font-size:10px;font-family:var(--ed-font-mono)}.review-detail-section{margin-bottom:16px}.review-detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.review-detail-section-header h5{margin:0}.review-cinema-btn{font-size:11px;padding:2px 8px;white-space:nowrap}.review-detail-section h5{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--ed-text-dim);text-transform:uppercase;letter-spacing:.5px}.review-choice-display{display:flex;gap:8px;padding:8px 12px;background:var(--ed-accent-dim);border-radius:4px;border-left:2px solid var(--ed-accent);font-size:12px;color:var(--ed-text)}.review-choices-offered{display:flex;flex-direction:column;gap:4px}.review-choice-option{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:4px;font-size:12px;border-left:2px solid transparent}.review-choice-option.chosen{background:#58a6ff14;border-left-color:var(--ed-signal-info);color:var(--ed-text)}.review-choice-option.unchosen{background:#ffffff05;border-left-color:var(--ed-hairline);color:var(--ed-text-dim)}.review-choice-option-icon{flex-shrink:0;font-size:12px}.review-choice-option-text{flex:1;line-height:1.4}.review-chosen-badge{flex-shrink:0;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ed-signal-info);background:#58a6ff1f}.review-beats-list{display:flex;flex-direction:column;gap:8px}.review-beat-card{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:8px 12px;display:flex;flex-direction:column;gap:4px;font-size:12px}.review-beat-card-header{display:flex;align-items:center;gap:8px}.review-beat-num{font-weight:600;color:var(--ed-evidence);font-family:var(--ed-font-mono);font-size:11px;font-variant-numeric:tabular-nums;min-width:24px}.review-beat-type-icon{font-size:11px}.review-beat-type-label{font-size:10px;font-weight:600;color:var(--ed-text-dim);text-transform:uppercase;letter-spacing:.5px}.review-beat-layout{color:var(--ed-text-faint);background:#ffffff0d}.review-beat-card-fields{display:flex;flex-wrap:wrap;gap:4px 8px}.review-beat-field{display:flex;align-items:center;gap:4px}.review-beat-field-key{font-size:10px;color:var(--ed-text-faint);text-transform:uppercase;letter-spacing:.3px}.review-beat-field-val{color:var(--ed-evidence);font-family:var(--ed-font-mono);font-size:11px}.review-beat-image-prompt,.review-beat-rationale{margin-top:4px;padding:4px 8px;background:#ffffff08;border-radius:3px;font-size:11px}.review-beat-prompt-text{margin:2px 0 0;color:var(--ed-evidence);font-family:var(--ed-font-mono);line-height:1.45;font-size:11px;word-break:break-word}.review-beat-rationale-text{font-style:italic;opacity:.7}.review-beat-line{display:flex;gap:8px;font-size:12px;margin-top:4px;align-items:baseline}.review-beat-line-type{font-size:9px;text-transform:uppercase;letter-spacing:.3px;color:var(--ed-text-faint);min-width:52px;flex-shrink:0}.review-beat-line-text{color:var(--ed-text-dim);line-height:1.4;font-style:italic}.review-beat-line--dialogue .review-beat-line-text{color:var(--ed-text);font-style:normal}.review-narrative-text{font-size:13px;line-height:1.7;color:var(--ed-text);white-space:pre-wrap}.review-scene-info{font-size:12px;color:var(--ed-text-dim);font-style:italic}.review-reflection-text{font-size:12px;line-height:1.6;color:var(--ed-text-dim);padding:8px 12px;background:#ffffff08;border-radius:4px;border-left:2px solid var(--ed-hairline-strong)}.review-reader-preview-toggle{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ed-text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.review-reader-preview-toggle input{accent-color:var(--ed-accent);cursor:pointer}.review-comic-page-media{width:100%;margin-top:8px;border-radius:4px;border:1px solid var(--ed-hairline)}.review-comic-page-iframe{height:70vh}.review-render-meta{margin-top:8px;border-top:1px solid var(--ed-hairline);padding-top:8px}.review-render-char{margin-top:4px}.review-render-portrait{display:flex;align-items:center;gap:8px;margin-top:4px}.review-render-portrait-img{width:40px;height:40px;border-radius:4px;object-fit:cover;border:1px solid var(--ed-hairline)}.review-render-portrait-path{font-size:10px;font-family:var(--ed-font-mono);color:var(--ed-text-faint);word-break:break-all}.review-panel-detail{margin-top:8px;font-size:11px}.review-panel-detail-summary{cursor:pointer;color:var(--ed-signal-info)}.review-panel-detail-summary.failed{color:var(--ed-signal-bad)}.review-panel-detail-body{padding:4px 0 4px 12px;border-left:2px solid var(--ed-hairline-strong);margin-top:4px}.review-panel-detail-imgwrap{margin-bottom:8px}.review-panel-detail-img{width:100%;max-width:300px;border-radius:4px;border:1px solid var(--ed-hairline)}.review-panel-detail-row{margin-bottom:4px}.review-panel-detail-row strong{color:var(--ed-text-dim);font-weight:600}.review-panel-detail-dim{opacity:.8}.review-panel-detail-prompt{white-space:pre-wrap;word-break:break-word;font-size:10px;font-family:var(--ed-font-mono);color:var(--ed-evidence);margin:4px 0 0;padding:4px 8px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:3px;max-height:120px;overflow:auto}.review-panel-detail-error{color:var(--ed-signal-bad)}.review-panel-geometry{margin-top:4px;font-size:10px;font-family:var(--ed-font-mono);color:var(--ed-text-faint)}.review-panel-geometry-idx{margin-right:4px;color:var(--ed-text-dim)}.review-panel-geometry-shot{margin-left:4px;color:var(--ed-evidence)}.review-branch-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--ed-hairline)}.review-branch-btn{padding:8px 16px;background:var(--ed-accent-dim);border:1px solid rgba(212,169,78,.4);border-radius:4px;color:var(--ed-accent);font-size:12px;font-weight:500;font-family:var(--ed-font-ui);cursor:pointer;transition:background .15s,border-color .15s}.review-branch-btn:hover{background:#d4a94e33;border-color:var(--ed-accent)}.review-branch-picker{display:flex;flex-direction:column;gap:8px}.review-branch-picker h5{margin:0;font-size:11px;font-weight:600;color:var(--ed-accent);text-transform:uppercase;letter-spacing:.5px}.review-branch-hint{margin:0;font-size:11px;color:var(--ed-text-faint)}.review-branch-choices{display:flex;flex-direction:column;gap:4px}.review-branch-choice{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left;color:var(--ed-text);font-size:12px;line-height:1.4}.review-branch-choice:hover:not(:disabled){border-color:#d4a94e80;background:var(--ed-accent-dim)}.review-branch-choice:disabled{opacity:.5;cursor:not-allowed}.review-branch-choice.original{border-color:#58a6ff4d;background:#58a6ff0d}.review-branch-choice-icon{flex-shrink:0;font-size:13px}.review-branch-choice-text{flex:1}.review-branch-original-badge{flex-shrink:0;background:#58a6ff1f;color:var(--ed-signal-info);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.review-branch-error{padding:8px 12px;background:#e5534b1a;border:1px solid rgba(229,83,75,.3);border-radius:4px;color:var(--ed-signal-bad);font-size:11px}.review-branch-cancel{padding:4px 12px;font-size:11px;align-self:flex-start}.review-feedback{padding:12px 16px}.review-feedback-compare{display:flex;gap:16px}.review-feedback-column{flex:1;min-width:0}.review-feedback-column h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--ed-text);padding-bottom:8px;border-bottom:1px solid var(--ed-hairline)}.review-feedback-entries{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.review-feedback-entry{padding:8px 12px;background:var(--ed-bg);border-radius:4px;border:1px solid var(--ed-hairline)}.review-feedback-turn{font-size:11px;font-weight:600;color:var(--ed-text-dim);margin-bottom:4px}.review-feedback-rating{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ed-text-dim);margin-bottom:4px}.review-rating-bars{display:inline-flex;align-items:center;gap:2px}.review-rating-bar{display:inline-block;width:12px;height:8px;background:#ffffff14;border-radius:2px}.review-rating-bar.filled{background:var(--ed-accent)}.review-rating-value{font-size:10px;font-family:var(--ed-font-mono);color:var(--ed-evidence);margin-left:4px}.review-feedback-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.review-chip.highlight{background:#3fb9501f;color:var(--ed-signal-ok)}.review-chip.issue{background:#e5534b1f;color:var(--ed-signal-bad)}.review-feedback-emotion{font-size:11px;color:var(--ed-text-dim);margin-top:4px;font-style:italic}.review-feedback-reflection{font-size:12px;color:var(--ed-text);line-height:1.5;margin-top:4px}.review-feedback-summary{margin-top:16px;padding:12px;background:var(--ed-bg);border-radius:4px;border:1px solid var(--ed-hairline)}.review-feedback-summary h5{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--ed-text-dim);text-transform:uppercase;letter-spacing:.5px}.review-feedback-meta{font-size:12px;color:var(--ed-text-dim);margin-bottom:4px}.review-feedback-freetext{font-size:12px;line-height:1.6;color:var(--ed-text);margin-top:8px}.review-feedback-empty{padding:16px;text-align:center;color:var(--ed-text-faint);font-size:12px}.review-context{padding:12px 16px}.review-context-section{margin-bottom:16px}.review-context-section h5{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--ed-text-dim);text-transform:uppercase;letter-spacing:.5px}.review-context-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.review-context-collapsible:hover{color:var(--ed-text)}.review-context-field{display:flex;gap:8px;padding:4px 0;font-size:12px}.review-context-label{color:var(--ed-text-faint);min-width:70px}.review-context-value{color:var(--ed-evidence);font-family:var(--ed-font-mono);font-size:11px}.review-context-json{display:flex;flex-direction:column;gap:2px}.review-context-character{padding:4px 8px;font-size:12px;color:var(--ed-text)}.review-context-role{color:var(--ed-text-faint)}.review-context-json-raw{background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;padding:12px;font-size:11px;color:var(--ed-evidence);overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre;font-family:var(--ed-font-mono);line-height:1.5}@media (max-width: 768px){.review-transcript{flex-direction:column}.review-transcript-list{width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--ed-hairline)}.review-feedback-compare{flex-direction:column}.review-filter-bar{gap:4px}.review-filter-group{flex-wrap:wrap}.review-prompt-inline{display:none}}.review-visual-tab{display:flex;height:100%;overflow:hidden}.review-visual-tree{width:320px;min-width:240px;border-right:1px solid var(--ed-hairline);overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;padding:0 0 8px;outline:none;background:var(--ed-panel)}.review-visual-tree:focus-visible{box-shadow:inset 0 0 0 1px #d4a94e99;outline:none}.review-visual-tree::-webkit-scrollbar{width:4px}.review-visual-tree::-webkit-scrollbar-track{background:var(--ed-bg)}.review-visual-tree::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.review-visual-tree-header{display:flex;align-items:center;gap:4px;padding:4px 8px 4px 12px;border-bottom:1px solid var(--ed-hairline)}.review-visual-tree-header-label{margin-right:auto;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ed-text-faint)}.review-visual-tree-header-btn{flex:0 0 auto;padding:1px 5px;border-color:transparent;font-size:12px;line-height:1.4}.review-visual-tree-turn{border-bottom:1px solid var(--ed-hairline);padding-bottom:2px}.review-visual-tree-turn-row{display:flex;align-items:center;border-left:2px solid transparent;transition:background .15s}.review-visual-tree-turn-row:hover{background:#ffffff08}.review-visual-tree-turn-row.active{background:var(--ed-accent-dim);border-left-color:var(--ed-accent)}.review-visual-tree-caret{flex:0 0 auto;width:20px;padding:8px 0 8px 4px;background:transparent;border:none;color:var(--ed-text-faint);font-size:9px;cursor:pointer}.review-visual-tree-caret:hover{color:var(--ed-accent)}.review-visual-tree-turn-btn{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding:8px 8px 8px 2px;background:transparent;border:none;cursor:pointer;text-align:left;font-size:11px;font-weight:600;font-family:var(--ed-font-ui);color:var(--ed-text-dim)}.review-visual-tree-turn-row.active .review-visual-tree-turn-btn{color:var(--ed-accent)}.review-visual-tree-turn-count{margin-left:auto;font-size:10px;font-weight:400;font-family:var(--ed-font-mono);color:var(--ed-text-faint)}.review-visual-tree-beat-row{display:flex;align-items:center;gap:4px;width:100%;min-width:0;padding:4px 8px 4px 20px;background:transparent;border:none;border-left:2px solid transparent;color:var(--ed-text-dim);cursor:pointer;text-align:left;font-size:11px;font-family:var(--ed-font-ui);transition:background .15s}.review-visual-tree-beat-row:hover{background:#ffffff08}.review-visual-tree-beat-row.active{background:var(--ed-accent-dim);border-left-color:var(--ed-accent);color:var(--ed-accent)}.review-visual-tree-beat-label{flex:0 0 auto;font-weight:600;font-family:var(--ed-font-mono);font-size:10px}.review-visual-tree-thumb{flex:0 0 auto;width:48px;height:30px;object-fit:cover;border-radius:3px;border:1px solid var(--ed-hairline);background:var(--ed-bg)}.review-visual-tree-beat-icon{flex:0 0 auto;font-size:12px}.review-visual-tree-beat-snippet{min-width:0;color:var(--ed-text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-visual-tree-beat-row.active .review-visual-tree-beat-snippet{color:var(--ed-text-dim)}.review-visual-tree-sub-row{display:flex;align-items:baseline;gap:4px;width:100%;min-width:0;padding:2px 8px 2px 36px;background:transparent;border:none;border-left:2px solid transparent;color:var(--ed-text-dim);cursor:pointer;text-align:left;font-size:10.5px;font-family:var(--ed-font-ui)}.review-visual-tree-sub-row:hover{background:#ffffff08}.review-visual-tree-sub-row.active{border-left-color:var(--ed-accent);color:var(--ed-text);background:var(--ed-accent-dim)}.review-visual-tree-sub-kind{flex:0 0 auto;opacity:.7}.review-visual-tree-sub-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-visual-tree-opt-row{display:flex;align-items:baseline;gap:4px;width:100%;min-width:0;padding:1px 8px 1px 48px;background:transparent;border:none;border-left:2px solid transparent;color:var(--ed-text-dim);cursor:pointer;text-align:left;font-size:10.5px;font-family:var(--ed-font-ui)}.review-visual-tree-opt-row:hover{background:#ffffff08}.review-visual-tree-opt-glyph{flex:0 0 auto;font-family:var(--ed-font-mono);font-size:9px;color:var(--ed-text-faint)}.review-visual-tree-opt-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-visual-tree-opt-taken-mark{flex:0 0 auto;color:var(--ed-accent)}.review-visual-tree-opt-row.taken{color:var(--ed-accent)}.review-visual-tree-opt-row.taken .review-visual-tree-opt-text{font-weight:600}.review-visual-tree-opt-row.untaken{opacity:.45}.review-visual-tree-opt-row.unchosen .review-visual-tree-opt-text{font-style:italic}.review-visual-tree-opt-row.unchosen:hover .review-visual-tree-opt-text{font-style:normal;color:var(--ed-text)}.review-visual-tree-choices-row{display:flex;align-items:center;gap:4px;width:100%;min-width:0;padding:3px 8px 3px 20px;background:transparent;border:none;border-left:2px solid transparent;color:var(--ed-text-dim);cursor:pointer;text-align:left;font-size:11px;font-family:var(--ed-font-ui);transition:background .15s}.review-visual-tree-choices-row:hover{background:#ffffff08}.review-visual-tree-choices-glyph{flex:0 0 auto;color:var(--ed-accent);font-size:12px;font-family:var(--ed-font-mono)}.review-visual-tree-choices-label{font-weight:600}.review-visual-tree-choices-count{margin-left:auto;font-size:10px;font-family:var(--ed-font-mono);color:var(--ed-text-faint)}.review-visual-tree-empty{padding:2px 8px 2px 36px;font-size:10px;font-style:italic;color:var(--ed-text-faint)}.review-visual-viewer{flex:1;position:relative;overflow:hidden;background:var(--ed-bg);min-width:0;display:flex;align-items:center;justify-content:center}.review-visual-iframe{aspect-ratio:390 / 844;height:100%;max-height:100%;max-width:100%;border:none;border-radius:12px;box-shadow:0 0 20px #00000080}.review-visual-cinema-bar{position:absolute;bottom:8px;right:8px;display:flex;gap:4px;z-index:20}.review-visual-cinema-bar .review-cinema-btn{background:#0d1117d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.review-visual-toolbar{position:absolute;top:8px;right:8px;z-index:100;display:flex;gap:4px}.review-visual-fullscreen-btn{flex-shrink:0;padding:4px 8px;background:#0d1117d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:14px;line-height:1}.review-visual-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.review-prompt-inline{flex-shrink:0;max-height:45%;border-top:1px solid var(--ed-hairline);background:var(--ed-panel);overflow-y:auto;padding:12px;box-sizing:border-box}.review-prompt-inline-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--ed-hairline)}.review-prompt-inline-title{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ed-text-faint)}.review-prompt-inline-pos{font-size:10px;font-family:var(--ed-font-mono);color:var(--ed-evidence)}.review-prompt-inline-empty{font-size:11px;color:var(--ed-text-faint);font-style:italic;padding:8px 0}.prompt-strata{display:flex;flex-direction:column;gap:4px}.prompt-stratum{--stratum-tint: var(--ed-hairline-strong);border-left:2px solid var(--stratum-tint);padding:4px 8px;background:#ffffff05;border-radius:0 3px 3px 0}.prompt-stratum-label{display:block;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--stratum-tint);margin-bottom:2px}.prompt-stratum-text{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--ed-font-mono);font-size:11px;line-height:1.5;color:var(--ed-evidence)}.prompt-stratum--craft{--stratum-tint: #D4A94E}.prompt-stratum--actions{--stratum-tint: #768390}.prompt-stratum--budget{--stratum-tint: #39C5CF}.prompt-stratum--costume{--stratum-tint: #DB61A2}.prompt-stratum--continuity{--stratum-tint: #BC8CFF}.prompt-stratum--changes{--stratum-tint: #E2C08D}.prompt-stratum--freedoms{--stratum-tint: #8DDBB8}.review-visual-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#000}.review-visual-fullscreen-iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.review-visual-fullscreen-exit{position:absolute;top:max(16px,env(safe-area-inset-top,16px));right:max(16px,env(safe-area-inset-right,16px));z-index:9100;width:44px;height:44px;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.review-visual-fullscreen-exit:hover{background:#282828d9}.review-timeline-tab{display:flex;flex-direction:column;height:100%;min-height:300px;overflow:hidden}.review-timeline-turn-selector{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--ed-panel);border-bottom:1px solid var(--ed-hairline);flex-shrink:0}.review-timeline-turn-selector label{font-size:11px;font-weight:600;color:var(--ed-text-dim);text-transform:uppercase;letter-spacing:.5px}.review-timeline-turn-selector select{flex:1;padding:4px 8px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-text);font-size:12px;font-family:var(--ed-font-ui)}.review-timeline-tab .gantt-timeline{flex:1;overflow:auto}.review-provenance-drawer{position:absolute;top:44px;left:0;right:0;z-index:99;max-height:55%;overflow-y:auto;padding:12px;background:#0d1117f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--ed-hairline-strong);font-size:12px;color:var(--ed-text)}.review-provenance-empty{color:var(--ed-text-dim);padding:4px 0}.review-provenance-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px;color:var(--ed-text-dim);font-family:var(--ed-font-mono);font-size:11px}.review-provenance-meta strong{color:var(--ed-evidence);font-weight:600}.review-provenance-source{font-style:italic}.review-provenance-refs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.review-provenance-ref{margin:0;width:84px;text-align:center}.review-provenance-ref img{width:84px;height:84px;object-fit:cover;border-radius:4px;border:1px solid var(--ed-hairline)}.review-provenance-ref-missing{width:84px;height:84px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--ed-hairline-strong);border-radius:4px;color:var(--ed-text-dim)}.review-provenance-ref figcaption{font-size:10px;color:var(--ed-text-dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-provenance-prompt{padding:8px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px}.review-provenance-microchoice{padding:8px 12px;font-size:11px;color:var(--ed-accent);background:var(--ed-accent-dim);border-left:2px solid var(--ed-accent);margin:8px 0}.review-provenance-microchoice--none{color:var(--ed-text-dim);background:#ffffff08;border-left-color:var(--ed-hairline-strong)}.review-provenance-microchoice-trait{color:var(--ed-text-dim);text-transform:uppercase;font-size:10px}.review-provenance-microchoice-consequence{color:var(--ed-text-dim);font-style:italic}.review-workbench-toggle-row{display:flex;justify-content:flex-end;margin-bottom:4px}.review-workbench-toggle{padding:2px 8px;font-size:11px}.review-workbench{display:flex;flex-direction:column;gap:8px}.review-workbench-section-label{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ed-text-faint);margin-top:4px}.review-workbench-prompt{width:100%;box-sizing:border-box;padding:8px;background:var(--ed-bg);border:1px solid var(--ed-hairline);border-radius:4px;color:var(--ed-evidence);font-family:var(--ed-font-mono);font-size:11px;line-height:1.5;resize:vertical}.review-workbench-prompt:focus{outline:none;border-color:var(--ed-accent)}.review-workbench-refs{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.review-workbench-ref{margin:0;width:84px;text-align:center}.review-workbench-ref img{width:84px;height:84px;object-fit:cover;border-radius:4px;border:1px solid var(--ed-hairline)}.review-workbench-ref figcaption{font-size:10px;color:var(--ed-text-dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-workbench-ref-missing{width:84px;height:84px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--ed-hairline-strong);border-radius:4px;color:var(--ed-text-dim)}.review-workbench-ref-actions{display:flex;justify-content:center;gap:2px;margin-top:2px}.review-workbench-ref-actions button{padding:0 4px;font-size:10px;color:var(--ed-text-dim);background:transparent;border:1px solid var(--ed-hairline);border-radius:3px;cursor:pointer}.review-workbench-ref-actions button:hover:not(:disabled){color:var(--ed-text);border-color:var(--ed-hairline-strong)}.review-workbench-ref-actions button:disabled{opacity:.35;cursor:default}.review-workbench-add-ref{width:84px;height:84px;font-size:11px;color:var(--ed-text-dim);background:transparent;border:1px dashed var(--ed-hairline-strong);border-radius:4px;cursor:pointer;transition:color .15s,border-color .15s}.review-workbench-add-ref:hover{color:var(--ed-accent);border-color:var(--ed-accent)}.review-workbench-picker{border:1px solid var(--ed-hairline);border-radius:4px;background:var(--ed-bg);padding:8px;max-height:240px;overflow-y:auto}.review-workbench-picker-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--ed-text-dim);margin-bottom:8px}.review-workbench-picker-head button{background:transparent;border:none;color:var(--ed-text-dim);cursor:pointer}.review-workbench-picker-grid{display:flex;flex-wrap:wrap;gap:8px}.review-workbench-picker-item{width:96px;padding:4px;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px;cursor:pointer;color:var(--ed-text);transition:border-color .15s}.review-workbench-picker-item:hover{border-color:var(--ed-accent)}.review-workbench-picker-item.mismatch{border-color:var(--ed-signal-warn)}.review-workbench-picker-item img{width:84px;height:84px;object-fit:cover;border-radius:4px}.review-workbench-picker-label{font-size:10px;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-workbench-picker-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.review-workbench-hash-chip{font-size:9px;font-family:var(--ed-font-mono);color:var(--ed-evidence);background:#ffffff0f;margin-left:3px;padding:0 3px}.review-workbench-flag-chip{font-size:9px;color:var(--ed-signal-warn);background:#d299221f;border:1px solid rgba(210,153,34,.4);padding:0 3px}.review-workbench-actions{display:flex;align-items:center;gap:8px}.review-workbench-regenerate-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;font-size:12px;font-weight:600;font-family:var(--ed-font-ui);color:#14100a;background:var(--ed-accent);border:1px solid var(--ed-accent);border-radius:4px;cursor:pointer;transition:filter .15s}.review-workbench-regenerate-btn:hover:not(:disabled){filter:brightness(1.1)}.review-workbench-regenerate-btn:disabled{opacity:.7;cursor:wait}.review-workbench-spinner{width:10px;height:10px;border:2px solid rgba(20,16,10,.35);border-top-color:#14100a;border-radius:50%;animation:review-workbench-spin .8s linear infinite}@keyframes review-workbench-spin{to{transform:rotate(360deg)}}.review-workbench-error{font-size:11px;color:var(--ed-signal-bad);background:#e5534b1a;border:1px solid rgba(229,83,75,.4);border-radius:4px;padding:4px 8px;white-space:pre-wrap;word-break:break-word}.review-workbench-loading{font-size:11px;color:var(--ed-text-dim);padding:4px 0}.review-workbench-variants{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.review-workbench-variant{width:120px;padding:4px;display:flex;flex-direction:column;gap:4px;background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:4px}.review-workbench-variant.applied{border-color:var(--ed-signal-ok)}.review-workbench-variant.failed{border-color:var(--ed-signal-bad);background:#e5534b14}.review-workbench-variant img{width:112px;height:112px;object-fit:cover;border-radius:4px}.review-workbench-variant-noimg{width:112px;height:112px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ed-text-dim);border:1px dashed var(--ed-hairline-strong);border-radius:4px}.review-workbench-variant.failed .review-workbench-variant-noimg{color:var(--ed-signal-bad);border-color:#e5534b66}.review-workbench-variant-head{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--ed-text)}.review-workbench-variant-label{font-weight:600}.review-workbench-applied-badge{font-size:9px;color:var(--ed-signal-ok);background:#3fb9501f;border:1px solid rgba(63,185,80,.4);padding:0 3px}.review-workbench-failed-badge{font-size:9px;color:var(--ed-signal-bad);background:#e5534b1f;border:1px solid rgba(229,83,75,.4);padding:0 3px}.review-workbench-variant-error{font-size:10px;color:var(--ed-signal-bad);white-space:pre-wrap;word-break:break-word}.review-workbench-variant-meta{display:flex;flex-wrap:wrap;gap:2px 4px;font-size:9px;font-family:var(--ed-font-mono);color:var(--ed-text-dim)}.review-workbench-flags{display:flex;flex-wrap:wrap;gap:2px}.review-workbench-apply-btn{padding:2px 8px;font-size:10px}.review-workbench-apply-btn:hover:not(:disabled){color:var(--ed-signal-ok);border-color:var(--ed-signal-ok)}.review-workbench-apply-btn:disabled{opacity:.6;cursor:wait}.review-visual-iframe--hidden{display:none}.review-storyboard{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--ed-s3);padding:44px var(--ed-s4) var(--ed-s4);background:var(--ed-bg);outline:none}.review-storyboard:focus-visible{box-shadow:inset 0 0 0 1px #d4a94e99}.review-storyboard--empty{align-items:center;justify-content:center;color:var(--ed-text-faint);font-size:12px;font-style:italic}.review-sb-frame{width:280px;min-width:240px;max-width:320px;display:flex;flex-direction:column;gap:var(--ed-s1);padding:var(--ed-s2);background:var(--ed-panel);border:1px solid var(--ed-hairline);border-radius:6px;cursor:pointer;box-sizing:border-box}.review-sb-frame:hover{border-color:var(--ed-hairline-strong)}.review-sb-frame.active{border-color:var(--ed-accent);box-shadow:0 0 0 1px var(--ed-accent)}.review-sb-frame--missing{border-color:var(--ed-signal-bad)}.review-sb-frame-head{display:flex;align-items:center;gap:var(--ed-s1);font-family:var(--ed-font-mono);font-size:10px;color:var(--ed-text-dim)}.review-sb-frame-label{font-weight:600;color:var(--ed-text)}.review-sb-frame-icon{opacity:.8}.review-sb-frame-key{margin-left:auto;color:var(--ed-accent)}.review-sb-img{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:4px;background:var(--ed-bg)}.review-sb-missing{width:100%;aspect-ratio:2 / 3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ed-s1);border:1px dashed var(--ed-signal-bad);border-radius:4px;color:var(--ed-signal-bad);font-size:11px;background:#e5534b0f}.review-sb-missing-mark{font-size:20px}.review-sb-composite{position:relative;width:100%;aspect-ratio:2 / 3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ed-s1);border:1px dashed var(--ed-hairline-strong);border-radius:4px;color:var(--ed-text-faint);font-size:11px;background:var(--ed-bg);overflow:hidden}.review-sb-composite-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.85}.review-sb-composite-label{position:relative;padding:1px 6px;border-radius:3px;background:#0000008c;color:var(--ed-text-dim);font-family:var(--ed-font-mono);font-size:10px}.review-sb-composite-text{position:relative;font-style:italic}.review-sb-caption{font-size:11px;line-height:1.35;color:var(--ed-text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}.review-sb-chips{display:flex;flex-wrap:wrap;gap:var(--ed-s1)}.review-sb-chip{font-family:var(--ed-font-mono);font-size:9px;line-height:1;padding:3px 6px;border-radius:999px;border:1px solid;white-space:nowrap}.review-sb-chip--bad{color:var(--ed-signal-bad);border-color:var(--ed-signal-bad);background:#e5534b1a}.review-sb-chip--warn{color:var(--ed-signal-warn);border-color:var(--ed-signal-warn);background:#d299221a}.review-sb-chip--info{color:var(--ed-signal-info);border-color:var(--ed-signal-info);background:#58a6ff1a}.review-sb-frame--choice{width:200px;min-width:180px;align-self:stretch;background:var(--ed-bg);border-style:dashed}.review-sb-choice-glyph{color:var(--ed-accent);font-family:var(--ed-font-mono);font-size:12px}.review-sb-options{display:flex;flex-direction:column;gap:var(--ed-s1)}.review-sb-opt{display:flex;align-items:baseline;gap:4px;font-size:10.5px;color:var(--ed-text-dim)}.review-sb-opt-mark{color:var(--ed-accent);flex:0 0 auto}.review-sb-opt.taken{color:var(--ed-accent)}.review-sb-opt.taken .review-sb-opt-text{font-weight:600}.review-sb-opt.untaken{opacity:.45}.review-sb-opt.unchosen .review-sb-opt-text{font-style:italic}.review-metrics{height:100%;overflow-y:auto;padding:var(--ed-s4);display:flex;flex-direction:column;gap:var(--ed-s4)}.review-metrics-section h5{margin:0 0 var(--ed-s2);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ed-text-dim)}.review-metrics-absent{font-size:11px;font-style:italic;color:var(--ed-text-faint)}.review-metrics-subsection{margin-bottom:var(--ed-s2)}.review-metrics-subhead{font-size:10.5px;font-family:var(--ed-font-mono);color:var(--ed-text-dim);margin-bottom:var(--ed-s1)}.review-metrics-table{border-collapse:collapse;font-size:11px;color:var(--ed-text);margin-bottom:var(--ed-s2)}.review-metrics-table th{text-align:left;font-weight:500;font-size:10px;color:var(--ed-text-faint);padding:2px 16px 2px 0;border-bottom:1px solid var(--ed-hairline)}.review-metrics-table td{padding:3px 16px 3px 0;border-bottom:1px solid var(--ed-hairline)}.review-metrics-num{font-family:var(--ed-font-mono)}.review-metrics-dim{color:var(--ed-text-faint)}.review-metrics-stats{display:flex;flex-wrap:wrap;gap:var(--ed-s2)}.review-metrics-stat{font-family:var(--ed-font-mono);font-size:10.5px;padding:3px 8px;border-radius:4px;border:1px solid var(--ed-hairline);color:var(--ed-text-dim)}.review-metrics-stat--ok{color:var(--ed-signal-ok);border-color:var(--ed-signal-ok)}.review-metrics-stat--warn{color:var(--ed-signal-warn);border-color:var(--ed-signal-warn)}.review-metrics-stat--bad{color:var(--ed-signal-bad);border-color:var(--ed-signal-bad)}.admin-dashboard{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary, #1A202C);color:var(--text-primary, #E2E8F0);font-family:inherit}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary, #2D3748);border-bottom:1px solid var(--border-color, #4A5568);flex-shrink:0}.admin-header-left{display:flex;align-items:center;gap:12px}.admin-header h1{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #E2E8F0)}.admin-user-badge{background:var(--accent-blue, #63B3ED);color:#1a202c;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.admin-back-btn{background:transparent;border:1px solid var(--border-color, #4A5568);color:var(--text-primary, #E2E8F0);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}.admin-back-btn:hover{background:var(--border-color, #4A5568)}.admin-tabs{display:flex;gap:4px;padding:8px 20px 0;background:var(--bg-secondary, #2D3748);border-bottom:1px solid var(--border-color, #4A5568);flex-shrink:0}.admin-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #A0AEC0);padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;margin-bottom:-1px}.admin-tab-btn:hover{color:var(--text-primary, #E2E8F0)}.admin-tab-btn.active{color:var(--accent-blue, #63B3ED);border-bottom-color:var(--accent-blue, #63B3ED)}.admin-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.admin-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-secondary, #2D3748);border-bottom:1px solid var(--border-color, #4A5568);flex-shrink:0}.admin-filter-input{flex:1;background:var(--bg-primary, #1A202C);border:1px solid var(--border-color, #4A5568);color:var(--text-primary, #E2E8F0);padding:6px 10px;border-radius:6px;font-size:13px;outline:none}.admin-filter-input:focus{border-color:var(--accent-blue, #63B3ED)}.admin-count{font-size:12px;color:var(--text-secondary, #A0AEC0);white-space:nowrap}.toggle-label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;color:var(--text-secondary, #A0AEC0)}.toggle-label input{cursor:pointer}.admin-loading{padding:40px;text-align:center;color:var(--text-secondary, #A0AEC0)}.admin-error{padding:16px;color:#fc8181;background:#fc81811a;border-radius:6px;margin:16px}.admin-empty{padding:40px;text-align:center;color:var(--text-secondary, #A0AEC0)}.admin-sessions-tab{flex:1;display:flex;overflow:hidden;gap:0}.admin-content-left{flex:1;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border-color, #4A5568)}.admin-table-wrap{flex:1;overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table thead th{position:sticky;top:0;background:var(--bg-secondary, #2D3748);padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary, #A0AEC0);border-bottom:1px solid var(--border-color, #4A5568);-webkit-user-select:none;user-select:none}.admin-table thead th.sortable{cursor:pointer}.admin-table thead th.sortable:hover{color:var(--text-primary, #E2E8F0)}.admin-table tbody tr{border-bottom:1px solid rgba(74,85,104,.3);cursor:pointer;transition:background .1s}.admin-table tbody tr:hover{background:#63b3ed0d}.admin-table tbody tr.selected{background:#63b3ed1f}.admin-table td{padding:7px 12px;vertical-align:middle}.user-cell{font-family:monospace;font-size:12px;color:var(--text-secondary, #A0AEC0);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.num-cell{text-align:right;color:var(--text-secondary, #A0AEC0)}.time-cell{color:var(--text-secondary, #A0AEC0);font-size:12px;white-space:nowrap}.filename-cell{font-family:monospace;font-size:12px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-badge{background:#63b3ed26;color:var(--accent-blue, #63B3ED);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.mode-badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.mode-passage,.mode-narrative{background:#48bb7826;color:#48bb78}.mode-graphic_tales{background:#38bdf826;color:#38bdf8}.mode-roleplay{background:#ed893626;color:#ed8936}.status-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;margin-left:8px}.status-active{background:#48bb7826;color:#48bb78}.status-ended{background:#71809633;color:#718096}.status-complete{background:#63b3ed26;color:#63b3ed}.admin-inspect-panel{width:420px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary, #1A202C);transition:width .2s}.admin-inspect-panel:not(.visible){display:none}.admin-inspect-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #A0AEC0);font-size:14px}.session-detail{flex:1;overflow-y:auto;padding:16px}.detail-header{margin-bottom:16px}.detail-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.detail-template{font-size:16px;font-weight:600;color:var(--text-primary, #E2E8F0)}.detail-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--text-secondary, #A0AEC0);margin-bottom:6px}.detail-id{font-family:monospace;font-size:11px;color:var(--text-secondary, #A0AEC0);margin-bottom:10px;word-break:break-all}.open-viewer-btn{background:var(--accent-blue, #63B3ED);color:#1a202c;border:none;padding:7px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:opacity .15s}.open-viewer-btn:hover{opacity:.85}.detail-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, #4A5568)}.detail-section h4{margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #A0AEC0)}.detail-comic-thumb{width:100%;border-radius:6px;border:1px solid var(--border-color, #4A5568)}.history-list{display:flex;flex-direction:column;gap:8px}.history-entry{display:flex;gap:8px;padding:8px;background:var(--bg-secondary, #2D3748);border-radius:6px;align-items:flex-start}.history-index{font-size:11px;color:var(--text-secondary, #A0AEC0);min-width:24px;padding-top:2px}.history-body{flex:1;min-width:0}.history-choice{font-size:12px;color:var(--accent-blue, #63B3ED);font-style:italic;margin-bottom:4px}.history-narrative{font-size:12px;color:var(--text-secondary, #A0AEC0);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.history-comic-thumb{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid var(--border-color, #4A5568);flex-shrink:0}.chronicle-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.chronicle-list li{font-size:12px;color:var(--text-secondary, #A0AEC0);padding:4px 8px;background:var(--bg-secondary, #2D3748);border-radius:4px}.npc-list{display:flex;flex-wrap:wrap;gap:6px}.npc-chip{background:#71809633;color:var(--text-primary, #E2E8F0);padding:3px 8px;border-radius:10px;font-size:12px}.flags-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.flag-entry{display:flex;gap:6px;font-size:12px;padding:3px 6px;background:var(--bg-secondary, #2D3748);border-radius:4px}.flag-key{color:var(--text-secondary, #A0AEC0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flag-val{color:var(--text-primary, #E2E8F0);font-weight:500}.admin-comics-tab{flex:1;display:flex;flex-direction:column;overflow:hidden}.admin-comics-tab{display:flex;flex-direction:column;height:100%}.comics-grid{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;align-content:start}.comic-card{background:var(--bg-secondary, #2D3748);border:1px solid var(--border-color, #4A5568);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .15s,border-color .15s}.comic-card:hover{transform:translateY(-2px);border-color:var(--accent-blue, #63B3ED)}.comic-card-thumb{width:100%;display:block;aspect-ratio:4 / 3;object-fit:cover;object-position:top}.comic-card-info{padding:6px 8px;display:flex;flex-wrap:wrap;gap:4px}.admin-filter-select{background:var(--bg-secondary, #2D3748);border:1px solid var(--border-color, #4A5568);color:var(--text-primary, #E2E8F0);border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer}.comic-pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px;flex-shrink:0}.page-btn{background:var(--bg-secondary, #2D3748);border:1px solid var(--border-color, #4A5568);color:var(--text-primary, #E2E8F0);border-radius:6px;width:32px;height:32px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .15s}.page-btn:hover:not(:disabled){background:var(--accent-blue, #63B3ED);color:#000;border-color:var(--accent-blue, #63B3ED)}.page-btn:disabled{opacity:.3;cursor:default}.page-indicator{font-size:12px;color:var(--text-secondary, #A0AEC0);min-width:60px;text-align:center}.comic-type-chip{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.comic-type--openai{background:#63b3ed26;color:#63b3ed}.comic-type--captioned{background:#48bb7826;color:#48bb78}.comic-type--local{background:#ed893626;color:#ed8936}.comic-type--editor{background:#b794f426;color:#b794f4}.comic-type--webtoon{background:#f6ad5526;color:#f6ad55}.comic-type--other{background:#a0aec026;color:#a0aec0}.comic-size{font-size:10px;color:var(--text-muted, #718096);margin-left:auto}.comic-session-chip{font-family:monospace;font-size:10px;color:var(--text-secondary, #A0AEC0);background:#71809626;padding:1px 5px;border-radius:3px}.admin-subtabs{display:flex;gap:2px;padding:8px 16px 0;border-bottom:1px solid var(--border-color, #4A5568);flex-shrink:0}.admin-subtab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #A0AEC0);padding:6px 14px;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:-1px;transition:color .15s,border-color .15s}.admin-subtab-btn:hover{color:var(--text-primary, #E2E8F0)}.admin-subtab-btn.active{color:var(--accent-blue, #63B3ED);border-bottom-color:var(--accent-blue, #63B3ED)}.comics-grid--panels{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.comic-card--panel .comic-card-thumb{aspect-ratio:1 / 1}.comics-grid--animations{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.comic-card--animation .comic-card-thumb{aspect-ratio:16 / 9;object-fit:cover;background:#000}.comic-card--animation video{pointer-events:auto}.comic-type--comic_page{background:#63b3ed26;color:#63b3ed}.comic-type--panel{background:#b794f426;color:#b794f4}.comic-type--composite{background:#48bb7826;color:#48bb78}.comic-type--background{background:#f6ad5526;color:#f6ad55}.comic-type--comics_cache{background:#a0aec026;color:#a0aec0}.cache-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;cursor:pointer;border:1px solid var(--border-color, #4A5568)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#0009;border:1px solid rgba(255,255,255,.2);color:#fff;width:40px;height:60px;border-radius:6px;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1002;transition:background .15s;-webkit-user-select:none;user-select:none}.lightbox-prev{left:-48px}.lightbox-next{right:-48px}.lightbox-prev:hover,.lightbox-next:hover{background:#000000d9}.lightbox-counter{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);font-size:12px;color:#ffffff80;white-space:nowrap}.lightbox-close{position:absolute;top:-12px;right:-12px;background:var(--bg-secondary, #2D3748);border:1px solid var(--border-color, #4A5568);color:var(--text-primary, #E2E8F0);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;z-index:1001}.lightbox-image{max-width:100%;max-height:90vh;border-radius:8px;display:block}.admin-assets-tab{flex:1;padding:0 20px 20px;display:flex;flex-direction:column;gap:0;overflow-y:auto}.admin-btn{background:var(--bg-secondary, #2D3748);border:1px solid var(--border-color, #4A5568);color:var(--text-primary, #E2E8F0);padding:5px 12px;border-radius:5px;cursor:pointer;font-size:12px;font-weight:500;transition:background .15s;white-space:nowrap}.admin-btn:hover{background:#374151}.admin-btn-primary{background:var(--accent-blue, #63B3ED);border-color:var(--accent-blue, #63B3ED);color:#1a202c}.admin-btn-primary:hover{opacity:.85}.admin-btn-sm{padding:4px 10px;font-size:12px}.admin-btn-xs{padding:2px 7px;font-size:11px;line-height:1.4}.admin-btn-danger{background:#e53e3e26;color:#fc8181;border:1px solid rgba(229,62,62,.3)}.admin-btn-danger:hover{background:#e53e3e4d;border-color:#fc8181}.template-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 0 10px;border-bottom:1px solid var(--border-color, #4A5568);flex-shrink:0}.template-pill{background:var(--bg-secondary, #2D3748);border:1px solid var(--border-color, #4A5568);color:var(--text-secondary, #A0AEC0);padding:5px 14px;border-radius:16px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s;text-transform:capitalize}.template-pill:hover{background:#374151;color:var(--text-primary, #E2E8F0)}.template-pill--active{background:var(--accent-blue, #63B3ED);border-color:var(--accent-blue, #63B3ED);color:#1a202c}.template-pill--orphaned{border-color:#ed893666;color:#ed8936}.template-pill--orphaned.template-pill--active{background:#ed8936;border-color:#ed8936;color:#1a202c}.asset-jobs-banner{display:flex;align-items:center;gap:8px;padding:7px 12px;margin-top:10px;background:#48bb7814;border:1px solid rgba(72,187,120,.2);border-radius:6px;font-size:12px;color:#48bb78}.asset-jobs-dot{font-size:10px;animation:asset-pulse 1.5s infinite}@keyframes asset-pulse{0%,to{opacity:1}50%{opacity:.35}}.asset-jobs-types{color:var(--text-secondary, #A0AEC0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.orphaned-actions{display:flex;align-items:center;gap:12px;padding:8px 12px;margin-top:10px;background:#ed893614;border:1px solid rgba(237,137,54,.2);border-radius:6px}.orphaned-info{font-size:12px;color:#ed8936;flex:1}.asset-section{display:flex;flex-direction:column;margin-top:20px}.asset-section-header{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--border-color, #4A5568);margin-bottom:0}.asset-section-icon{font-size:14px}.asset-section-title{font-size:14px;font-weight:600;color:var(--text-primary, #E2E8F0)}.asset-section-body{display:flex;flex-direction:column}.asset-row{display:flex;align-items:center;gap:12px;padding:8px 4px;border-bottom:1px solid rgba(74,85,104,.2);min-height:58px}.asset-row:last-child{border-bottom:none}.asset-row-thumb{flex-shrink:0}.char-thumb{width:48px;height:64px;object-fit:contain;object-position:top;border-radius:4px;background:#0000004d;display:block}.char-thumb--missing{background:#ffffff0a;border:1px dashed rgba(255,255,255,.1)}.bg-row-thumb{width:80px;height:50px;object-fit:cover;border-radius:4px;display:block}.bg-row-thumb--missing{background:#ffffff0a;border:1px dashed rgba(255,255,255,.1)}.anim-thumb{width:54px;height:72px;object-fit:contain;border-radius:4px;background:#0000004d;display:block}.anim-thumb--missing{background:#ffffff0a;border:1px dashed rgba(255,255,255,.1)}.asset-row-label{font-size:14px;font-weight:500;color:var(--text-primary, #E2E8F0);min-width:90px;text-transform:capitalize}.expr-dots{display:flex;gap:5px;flex-wrap:wrap}.expr-dot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:transform .1s,box-shadow .1s;border:none}.expr-dot--ready{background:var(--accent-blue, #63B3ED);color:#1a202c}.expr-dot--ready:hover{transform:scale(1.15);box-shadow:0 2px 8px #63b3ed66}.expr-dot--missing{background:#ffffff0f;color:var(--text-muted, #718096);border:1px dashed rgba(255,255,255,.2)}.expr-dot--missing:hover{background:#63b3ed1a;border-color:var(--accent-blue, #63B3ED);color:var(--accent-blue, #63B3ED)}.idle-badge{font-size:10px;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.idle-badge--ready{background:#48bb7826;color:#48bb78;border:1px solid rgba(72,187,120,.3)}.idle-badge--missing{background:#ffffff0a;color:var(--text-muted, #718096);border:1px solid rgba(255,255,255,.1)}.asset-row-actions{display:flex;gap:6px;align-items:center;margin-left:auto}.comic-missing{width:100%;aspect-ratio:1;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:4px;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted, #718096);text-transform:uppercase;letter-spacing:.08em}.composite-scenes{display:flex;flex-direction:column;gap:20px;padding:4px 0}.composite-scene-group{border-left:2px solid rgba(99,179,237,.3);padding-left:12px}.composite-scene-label{font-size:12px;font-weight:600;color:#63b3ed;text-transform:capitalize;margin-bottom:8px;display:flex;align-items:center;gap:6px}.composite-scene-count{font-size:10px;font-weight:400;color:#718096;background:#ffffff0f;padding:1px 6px;border-radius:10px}.composite-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:4px 0}.composite-thumb{position:relative;border-radius:6px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.08);background:#1a202c;transition:border-color .15s,transform .15s}.composite-thumb:hover{border-color:#63b3ed;transform:scale(1.02)}.composite-thumb img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.composite-thumb-label{position:absolute;bottom:0;left:0;right:0;padding:3px 6px;font-size:10px;color:#e2e8f0;background:#000000a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-row--char{align-items:flex-start;padding:8px 12px}.char-row-body{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1;min-width:0}.char-row-body .asset-row-label{flex:none;min-width:100px}.char-row-body .expr-dots{flex:1;flex-wrap:wrap}.expr-dot--visual-state{background:#9f7aea33;border-color:#9f7aea80;font-size:9px;letter-spacing:.03em}.expr-dot--visual-state:hover{background:#9f7aea59}.expr-divider{display:inline-block;width:1px;height:14px;background:#ffffff26;margin:0 2px;vertical-align:middle}.asset-section-hint{font-size:11px;color:#718096;margin-left:6px;font-style:italic}.templates-tab{display:flex;height:calc(100vh - 110px);gap:0}.templates-sidebar{width:210px;flex-shrink:0;border-right:1px solid #2D3748;overflow-y:auto;padding:8px 0}.tpl-sidebar-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:10px 14px;background:none;border:none;border-left:3px solid transparent;color:#a0aec0;cursor:pointer;text-align:left;transition:background .1s,color .1s}.tpl-sidebar-item:hover{background:#ffffff0a;color:#e2e8f0}.tpl-sidebar-item--active{background:#63b3ed14;border-left-color:#63b3ed;color:#e2e8f0}.tpl-sidebar-name{font-size:13px;font-weight:500;line-height:1.3}.tpl-sidebar-badges{display:flex;gap:4px;flex-wrap:wrap}.tpl-vn-badge{font-size:10px;font-weight:700;background:#2b6cb0;color:#bee3f8;padding:1px 5px;border-radius:3px;letter-spacing:.03em}.tpl-vn-badge--sm{font-size:9px;padding:1px 4px}.tpl-genre-badge{font-size:10px;background:#2d3748;color:#90cdf4;padding:1px 5px;border-radius:3px}.tpl-genre-badge--sm{font-size:9px;padding:1px 4px}.tpl-status-badge{font-size:10px;padding:1px 5px;border-radius:3px}.tpl-status--published{background:#276749;color:#9ae6b4}.tpl-status--draft{background:#744210;color:#faf089}.templates-main{flex:1;overflow-y:auto;padding:16px 20px}.tpl-detail-header{margin-bottom:16px}.tpl-detail-title{font-size:18px;font-weight:600;color:#e2e8f0;margin-bottom:6px}.tpl-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.tpl-stat{font-size:11px;color:#718096;background:#2d3748;padding:2px 6px;border-radius:3px}.tpl-tagline{font-size:13px;color:#a0aec0;font-style:italic;margin-top:4px}.tpl-preprod-wrap{background:#1a202c;border:1px solid #2D3748;border-radius:6px;padding:12px 14px;margin-bottom:16px}.tpl-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#718096;margin-bottom:8px}.preprod-loading{font-size:12px;color:#718096}.preprod-error{font-size:12px;color:#fc8181;margin-top:6px}.preprod-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.preprod-stat{display:flex;flex-direction:column;gap:2px}.preprod-stat-label{font-size:10px;color:#718096;text-transform:uppercase;letter-spacing:.04em}.preprod-stat-value{font-size:14px;font-weight:600;color:#e2e8f0}.preprod-passes{display:flex;gap:5px}.preprod-pass{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:11px;font-weight:700}.preprod-pass--done{background:#276749;color:#9ae6b4}.preprod-pass--missing{background:#2d3748;color:#4a5568}.preprod-actions{margin-left:auto;display:flex;gap:6px}.tpl-section-nav{display:flex;gap:4px;border-bottom:1px solid #2D3748;margin-bottom:14px}.tpl-section-btn{background:none;border:none;border-bottom:2px solid transparent;padding:6px 12px;font-size:12px;color:#718096;cursor:pointer;margin-bottom:-1px;transition:color .1s,border-color .1s}.tpl-section-btn:hover{color:#a0aec0}.tpl-section-btn--active{color:#63b3ed;border-bottom-color:#63b3ed}.tpl-section-body{min-height:200px}.ev-browser{display:flex;flex-direction:column;gap:16px}.ev-chapter-header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #2D3748}.ev-chapter-num{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#63b3ed}.ev-chapter-title{font-size:13px;font-weight:500;color:#cbd5e0}.ev-chapter-turns{font-size:11px;color:#4a5568;margin-left:auto}.ev-chapter-events{display:flex;flex-direction:column;gap:2px}.ev-card{border:1px solid #2D3748;border-radius:5px;overflow:hidden}.ev-card--kernel{border-left:3px solid #63B3ED}.ev-card-header{display:flex;align-items:center;gap:6px;padding:7px 10px;cursor:pointer;background:#1a202c;-webkit-user-select:none;user-select:none}.ev-card-header:hover{background:#2d3748}.ev-card-toggle{font-size:10px;color:#4a5568;width:10px;flex-shrink:0}.ev-kernel-badge{font-size:9px;font-weight:800;background:#2b6cb0;color:#bee3f8;padding:1px 4px;border-radius:3px}.ev-card-id{font-size:11px;color:#63b3ed;font-family:monospace}.ev-card-title{font-size:12px;color:#cbd5e0;flex:1}.ev-card-turns{font-size:11px;color:#4a5568;flex-shrink:0}.ev-card-requires{font-size:10px;color:#d69e2e;flex-shrink:0}.ev-card-body{padding:8px 10px 10px 26px;background:#171923;border-top:1px solid #2D3748}.ev-desc{font-size:12px;color:#a0aec0;margin:0 0 8px;line-height:1.5}.ev-signals{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:4px}.ev-signals-label{font-size:10px;color:#718096;text-transform:uppercase;margin-right:2px}.ev-signal-chip{font-size:10px;background:#2d3748;color:#a0aec0;padding:1px 5px;border-radius:3px}.ev-signal-chip--more{color:#718096}.ev-requires{font-size:11px;color:#d69e2e;margin-top:4px}.vs-browser{display:flex;flex-direction:column;gap:12px}.vs-char-tabs{display:flex;gap:4px;flex-wrap:wrap}.vs-char-tab{background:#2d3748;border:none;border-radius:4px;padding:5px 10px;font-size:12px;color:#a0aec0;cursor:pointer}.vs-char-tab:hover{background:#4a5568;color:#e2e8f0}.vs-char-tab--active{background:#2b6cb0;color:#bee3f8}.vs-state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.vs-state-card{background:#1a202c;border:1px solid #2D3748;border-left:3px solid #4A5568;border-radius:5px;padding:8px 10px}.vs-valence--hopeful{border-left-color:#48bb78}.vs-valence--mixed{border-left-color:#ecc94b}.vs-valence--fearful,.vs-valence--dread{border-left-color:#fc8181}.vs-valence--cold{border-left-color:#90cdf4}.vs-valence--warm{border-left-color:#f6ad55}.vs-state-id{font-size:12px;font-weight:600;color:#e2e8f0;margin-bottom:4px;font-family:monospace}.vs-state-meta{font-size:10px;color:#718096;text-transform:uppercase;margin-bottom:4px}.vs-state-beats{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:3px}.vs-beat-chip{font-size:10px;background:#2d3748;color:#a0aec0;padding:1px 5px;border-radius:3px}.vs-state-maps{font-size:10px;color:#4a5568}.es-browser{display:flex;flex-direction:column;gap:12px}.es-event-pills{display:flex;gap:4px;flex-wrap:wrap}.es-event-pill{background:#2d3748;border:none;border-radius:4px;padding:4px 9px;font-size:11px;color:#a0aec0;cursor:pointer}.es-event-pill:hover{background:#4a5568;color:#e2e8f0}.es-event-pill--active{background:#2b6cb0;color:#bee3f8}.es-shots-list{display:flex;flex-direction:column;gap:8px}.es-shot-card{background:#1a202c;border:1px solid #2D3748;border-radius:5px;padding:8px 12px}.es-shot-label{font-size:12px;font-weight:600;color:#e2e8f0;margin-bottom:5px;font-family:monospace}.es-shot-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:4px}.es-shot-tag{font-size:10px;background:#2d3748;color:#90cdf4;padding:1px 6px;border-radius:3px}.es-shot-lighting{font-size:11px;color:#718096;font-style:italic}.flags-browser{display:flex;flex-direction:column;gap:16px}.flags-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#718096;margin-bottom:8px}.flags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.flag-card{background:#1a202c;border:1px solid #2D3748;border-left:3px solid #4A5568;border-radius:5px;padding:8px 10px}.flag-card--choice{border-left-color:#d69e2e}.flag-id{font-size:11px;font-weight:700;color:#63b3ed;font-family:monospace;margin-bottom:3px}.flag-desc{font-size:11px;color:#a0aec0;line-height:1.4;margin-bottom:3px}.flag-set-by{font-size:10px;color:#4a5568;font-style:italic}.cp-options{display:flex;flex-direction:column;gap:3px;margin-top:5px}.cp-option{display:flex;gap:6px;align-items:baseline}.cp-option-id{font-size:10px;color:#718096;font-family:monospace}.cp-option-flags{font-size:10px;color:#d69e2e}.admin-costs-controls{display:flex;gap:12px;align-items:center;margin-bottom:16px}.admin-costs-totals{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.admin-costs-card{background:var(--panel-header-bg, #161616);border:1px solid var(--border-color, #333);border-radius:8px;padding:14px 20px;min-width:140px}.admin-costs-card .big{font-size:1.6rem;font-weight:700;color:var(--accent-green, #4ade80)}.admin-costs-card div:last-child{font-size:.75rem;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.04em}.admin-costs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.admin-costs-break h4{margin:0 0 6px;font-size:.8rem;color:var(--text-muted, #888);text-transform:uppercase;letter-spacing:.04em}.admin-costs-tab .muted{color:var(--text-muted, #888)}.admin-costs-note{font-size:.75rem;margin-top:12px}.admin-features-page{max-width:960px;margin:0 auto;padding:24px 20px;color:#e0e0e0;font-family:inherit}.admin-features-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.admin-features-header h1{margin:0;font-size:1.5rem}.admin-back-button{background:none;border:1px solid #444;color:#ccc;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.85rem}.admin-back-button:hover{background:#333}.admin-features-error{background:#3b1111;border:1px solid #7f1d1d;color:#fca5a5;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:.9rem}.admin-section{margin-bottom:32px}.admin-section h2{font-size:1.1rem;margin:0 0 12px;color:#a0a0a0;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.create-feature-form{display:flex;gap:8px;flex-wrap:wrap}.create-feature-form input,.create-feature-form select{background:#1e1e2e;border:1px solid #444;color:#e0e0e0;padding:6px 10px;border-radius:6px;font-size:.85rem}.create-feature-form input:first-child{width:160px}.create-feature-form input:nth-child(2){flex:1;min-width:200px}.create-feature-form button{background:#2563eb;color:#fff;border:none;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.85rem}.create-feature-form button:hover{background:#1d4ed8}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th{text-align:left;padding:8px 10px;border-bottom:2px solid #333;color:#888;font-weight:600;font-size:.8rem;text-transform:uppercase}.admin-table td{padding:8px 10px;border-bottom:1px solid #2a2a2a;vertical-align:middle}.admin-table tbody tr:hover{background:#1a1a2e}.admin-table select{background:#1e1e2e;border:1px solid #444;color:#e0e0e0;padding:4px 8px;border-radius:4px;font-size:.85rem}.feature-id-cell code{background:#1e1e2e;padding:2px 6px;border-radius:4px;font-size:.85rem}.toggle-button{border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;min-width:48px}.toggle-on{background:#166534;color:#86efac}.toggle-off{background:#7f1d1d;color:#fca5a5}.delete-button{background:none;border:1px solid #7f1d1d;color:#f87171;padding:3px 10px;border-radius:4px;cursor:pointer;font-size:.8rem}.delete-button:hover{background:#7f1d1d;color:#fecaca}.features-badges{display:flex;gap:6px;flex-wrap:wrap}.feature-badge{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.badge-on{background:#14532d;color:#86efac}.badge-off{background:#3b1111;color:#fca5a5}.expanded-row{background:#1a1a2e}.override-row td{padding:0!important;border-bottom:2px solid #333}.override-panel{padding:12px 16px;background:#141422}.override-panel strong{display:block;margin-bottom:8px;color:#a0a0a0;font-size:.85rem}.override-controls{display:flex;flex-direction:column;gap:6px}.override-item{display:flex;align-items:center;gap:8px}.override-item code{min-width:120px;font-size:.85rem}.override-item button{background:#1e1e2e;border:1px solid #444;color:#ccc;padding:2px 10px;border-radius:4px;cursor:pointer;font-size:.8rem}.override-item button:hover{background:#333}.comic-editor{display:flex;flex-direction:column;height:100vh;background:#0d1117;color:#e6edf3}.ce-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0;flex-wrap:wrap}.ce-toolbar-group{display:flex;align-items:center;gap:6px}.ce-toolbar-divider{width:1px;height:24px;background:#30363d;margin:0 4px}.ce-toolbar-btn{padding:5px 12px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:.8rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.ce-toolbar-btn:hover{background:#30363d;border-color:#8b949e;color:#e6edf3}.ce-toolbar-btn.primary{background:#238636;border-color:#238636;color:#fff}.ce-toolbar-btn.primary:hover{background:#2ea043}.ce-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.ce-toolbar-select{padding:5px 8px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:.8rem;cursor:pointer}.ce-toolbar-label{font-size:.75rem;color:#8b949e;text-transform:uppercase;letter-spacing:.3px}.ce-layout-toggle{display:flex;gap:2px;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:2px}.ce-layout-option{padding:3px 10px;background:transparent;border:none;border-radius:4px;color:#8b949e;font-size:.78rem;cursor:pointer;transition:all .15s ease}.ce-layout-option.active{background:#30363d;color:#e6edf3}.ce-back-btn{padding:5px 10px;background:transparent;border:1px solid #30363d;border-radius:6px;color:#8b949e;font-size:.8rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:4px}.ce-back-btn:hover{background:#21262d;color:#e6edf3}.ce-main{display:flex;flex:1;min-height:0;overflow:hidden}.ce-panels-area{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}.ce-add-panel-btn{padding:10px;background:transparent;border:2px dashed #30363d;border-radius:8px;color:#8b949e;font-size:.85rem;cursor:pointer;transition:all .15s ease;text-align:center}.ce-add-panel-btn:hover{border-color:#58a6ff;color:#58a6ff;background:#58a6ff0d}.ce-sidebar{width:340px;border-left:1px solid #30363d;background:#161b22;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.ce-panel-card{background:#161b22;border:1px solid #30363d;border-radius:8px;overflow:hidden;transition:border-color .15s ease}.ce-panel-card.selected{border-color:#58a6ff;box-shadow:0 0 0 1px #58a6ff4d}.ce-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#21262d;border-bottom:1px solid #30363d;cursor:pointer}.ce-panel-number{font-size:.78rem;font-weight:600;color:#8b949e}.ce-panel-shot-badge{font-size:.7rem;padding:1px 8px;border-radius:10px;background:#30363d;color:#c9d1d9}.ce-panel-actions{display:flex;gap:2px}.ce-panel-action-btn{width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:#8b949e;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.ce-panel-action-btn:hover{background:#30363d;color:#e6edf3}.ce-panel-action-btn.danger:hover{background:#da3633;color:#fff}.ce-panel-body{padding:12px;display:flex;flex-direction:column;gap:8px}.ce-field-row{display:flex;gap:8px;align-items:flex-start}.ce-field{display:flex;flex-direction:column;gap:3px;flex:1}.ce-field-label{font-size:.7rem;color:#8b949e;text-transform:uppercase;letter-spacing:.3px}.ce-field-select{padding:5px 8px;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#e6edf3;font-size:.82rem}.ce-field-input{padding:5px 8px;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#e6edf3;font-size:.82rem;font-family:Georgia,serif}.ce-field-input:focus,.ce-field-select:focus{outline:none;border-color:#58a6ff}.ce-field-textarea{padding:6px 8px;background:#0d1117;border:1px solid #30363d;border-radius:4px;color:#e6edf3;font-size:.82rem;font-family:Georgia,serif;resize:vertical;min-height:48px;line-height:1.4}.ce-field-textarea:focus{outline:none;border-color:#58a6ff}.ce-panel-card-actions{display:flex;gap:6px;padding-top:4px}.ce-panel-card-btn{padding:4px 10px;background:#21262d;border:1px solid #30363d;border-radius:4px;color:#8b949e;font-size:.75rem;cursor:pointer;transition:all .15s ease}.ce-panel-card-btn:hover{background:#30363d;color:#e6edf3}.ce-panel-card-btn:disabled{opacity:.4;cursor:not-allowed}.ce-panel-thumb{margin-top:6px;border-radius:4px;overflow:hidden;border:1px solid #30363d}.ce-panel-thumb img{display:block;width:100%;height:auto}.ce-preview-section{padding:12px;border-bottom:1px solid #30363d}.ce-preview-title{font-size:.75rem;font-weight:600;color:#8b949e;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.ce-preview-page{position:relative;background:#f5f5f0;border-radius:4px;overflow:hidden;margin:0 auto}.ce-preview-panel{position:absolute;border:1px solid #1e1e1e;cursor:pointer;transition:all .15s ease;overflow:hidden;display:flex;align-items:center;justify-content:center}.ce-preview-panel:hover{filter:brightness(1.1)}.ce-preview-panel.selected{outline:2px solid #58a6ff;outline-offset:-2px;z-index:1}.ce-preview-panel-label{font-size:8px;color:#0006;font-weight:600;text-align:center}.ce-preview-panel img{width:100%;height:100%;object-fit:cover}.ce-preview-bubble{position:absolute;width:8px;height:8px;border-radius:50%;background:#fffc;border:1px solid rgba(0,0,0,.3)}.ce-preview-caption{position:absolute;height:5px;background:#fffcebcc;border:1px solid rgba(80,80,80,.3);border-radius:1px}.ce-bubble-controls{padding:12px;border-bottom:1px solid #30363d}.ce-bubble-controls-title{font-size:.72rem;color:#8b949e;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.ce-event-picker{padding:12px;flex:1;overflow-y:auto}.ce-event-picker-title{font-size:.75rem;font-weight:600;color:#8b949e;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.ce-event-list{display:flex;flex-direction:column;gap:6px}.ce-event-item{padding:8px 10px;background:#21262d;border:1px solid #30363d;border-radius:6px;cursor:pointer;transition:all .15s ease}.ce-event-item:hover{border-color:#8b949e;background:#2d333b}.ce-event-item.selected{border-color:#58a6ff;background:#58a6ff14}.ce-event-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ce-event-turn{font-size:.72rem;font-weight:600;color:#8b949e}.ce-event-star{color:#f0883e;font-size:.72rem}.ce-event-tension{flex:1;height:3px;background:#30363d;border-radius:2px;overflow:hidden}.ce-event-tension-fill{height:100%;border-radius:2px;transition:width .2s ease}.ce-event-snippet{font-size:.78rem;color:#c9d1d9;line-height:1.3;font-family:Georgia,serif}.ce-event-expanded{margin-top:6px;padding:8px;background:#0d1117;border-radius:4px;font-size:.78rem;color:#c9d1d9;line-height:1.5;font-family:Georgia,serif;max-height:200px;overflow-y:auto}.ce-event-actions{display:flex;gap:6px;margin-top:6px}.ce-event-decompose-btn{padding:4px 10px;background:#238636;border:none;border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer;transition:background .15s ease}.ce-event-decompose-btn:hover{background:#2ea043}.ce-event-decompose-btn:disabled{opacity:.4;cursor:not-allowed}.ce-loading{display:flex;align-items:center;justify-content:center;padding:20px;color:#8b949e;font-size:.85rem}.ce-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#484f58;text-align:center;gap:8px}.ce-empty-state-text{font-size:.9rem;color:#8b949e}.ce-empty-state-hint{font-size:.78rem}.ce-error{color:#f85149;font-size:.8rem;padding:8px 12px;background:#f8514922;border-radius:6px;border:1px solid #f8514944}.ce-status-bar{padding:4px 16px;background:#161b22;border-top:1px solid #30363d;font-size:.72rem;color:#8b949e;display:flex;align-items:center;gap:12px;flex-shrink:0}.ce-panel-rendering{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#21262d;min-height:80px;border-radius:4px;border:1px solid #30363d}.ce-render-spinner{width:24px;height:24px;border:2px solid #30363d;border-top:2px solid #58a6ff;border-radius:50%;animation:ce-spin 1s linear infinite}@keyframes ce-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ce-render-label{font-size:.72rem;color:#8b949e}.ce-preview-panel.rendering{animation:ce-pulse 1.5s ease-in-out infinite}@keyframes ce-pulse{0%,to{border-color:#30363d}50%{border-color:#58a6ff}}@media (max-width: 900px){.ce-main{flex-direction:column}.ce-sidebar{width:100%;border-left:none;border-top:1px solid #30363d;max-height:300px}.ce-toolbar{padding:6px 10px;gap:4px}}.imagetext-editor{display:flex;flex-direction:column;height:100vh;background:#0d1117;color:#e6edf3}.ite-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0;flex-wrap:wrap}.ite-toolbar-group{display:flex;align-items:center;gap:6px}.ite-toolbar-divider{width:1px;height:24px;background:#30363d;margin:0 4px}.ite-toolbar-btn{padding:5px 12px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:.8rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.ite-toolbar-btn:hover{background:#30363d;border-color:#8b949e;color:#e6edf3}.ite-toolbar-btn.primary{background:#238636;border-color:#238636;color:#fff}.ite-toolbar-btn.primary:hover{background:#2ea043}.ite-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.ite-toolbar-select{padding:5px 8px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:.8rem;cursor:pointer}.ite-toolbar-label{font-size:.75rem;color:#8b949e;text-transform:uppercase;letter-spacing:.3px}.ite-toolbar-spacer{flex:1}.ite-dirty-dot{width:8px;height:8px;border-radius:50%;background:#f0883e;display:inline-block;margin-left:4px}.ite-main{display:flex;flex:1;overflow:hidden}.ite-sidebar{width:240px;background:#161b22;border-right:1px solid #30363d;overflow-y:auto;flex-shrink:0}.ite-tree-section{padding:8px 0}.ite-tree-section+.ite-tree-section{border-top:1px solid #30363d}.ite-tree-header{padding:6px 16px;font-size:.7rem;font-weight:600;color:#8b949e;text-transform:uppercase;letter-spacing:.5px}.ite-node-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;transition:background .1s ease;font-size:.85rem;color:#c9d1d9}.ite-node-item:hover{background:#21262d}.ite-node-item.active{background:#1f6feb22;border-left:3px solid #58a6ff;padding-left:13px;color:#e6edf3}.ite-node-item.disabled{opacity:.4;cursor:default}.ite-node-icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0}.ite-node-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ite-node-type-badge{font-size:.65rem;padding:1px 5px;border-radius:4px;background:#21262d;color:#8b949e;flex-shrink:0}.ite-node-type-badge.llm{background:#1f6feb22;color:#58a6ff}.ite-node-type-badge.image{background:#23863622;color:#3fb950}.ite-editor-area{flex:1;overflow-y:auto;display:flex;flex-direction:column}.ite-editor-area .node-config-panel{border:none;background:transparent}.ite-empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#484f58;font-size:.9rem}.ite-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#8b949e}.ite-test-toggle{display:flex;align-items:center;gap:6px;padding:6px 16px;background:#161b22;border-top:1px solid #30363d;cursor:pointer;font-size:.8rem;color:#8b949e;-webkit-user-select:none;user-select:none}.ite-test-toggle:hover{background:#21262d;color:#c9d1d9}.ite-test-toggle-arrow{font-size:.7rem;transition:transform .15s ease}.ite-test-toggle-arrow.open{transform:rotate(180deg)}.ite-test-panel{background:#0d1117;border-top:1px solid #30363d;padding:12px 16px;display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.ite-test-controls{display:flex;gap:8px;align-items:flex-start}.ite-test-controls select{padding:6px 8px;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:.8rem;flex-shrink:0}.ite-test-textarea{flex:1;min-height:60px;max-height:120px;padding:8px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-family:SF Mono,Fira Code,monospace;font-size:.8rem;resize:vertical;line-height:1.4}.ite-test-textarea:focus{outline:none;border-color:#58a6ff}.ite-test-textarea::placeholder{color:#484f58}.ite-test-run-btn{padding:6px 16px;background:#238636;border:1px solid #238636;border-radius:6px;color:#fff;font-size:.8rem;cursor:pointer;white-space:nowrap;align-self:flex-start}.ite-test-run-btn:hover{background:#2ea043}.ite-test-run-btn:disabled{opacity:.4;cursor:not-allowed}.ite-test-results{display:flex;gap:12px;flex-wrap:wrap}.ite-test-result-block{flex:1;min-width:250px;background:#161b22;border:1px solid #30363d;border-radius:6px;overflow:hidden}.ite-result-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#21262d;font-size:.75rem;font-weight:600;color:#8b949e;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;-webkit-user-select:none;user-select:none}.ite-result-body{padding:8px 10px;max-height:200px;overflow-y:auto}.ite-result-body pre{margin:0;font-size:.75rem;line-height:1.4;color:#c9d1d9;white-space:pre-wrap;word-break:break-word}.ite-result-image{flex:0 0 auto;min-width:200px;max-width:300px}.ite-result-image img{width:100%;border-radius:4px;display:block}.ite-result-image .ite-no-image{padding:20px;text-align:center;color:#484f58;font-size:.8rem}.ite-test-error{padding:8px 12px;background:#da363422;border:1px solid #f8514944;border-radius:6px;color:#f85149;font-size:.8rem}.ite-test-timing{font-size:.7rem;color:#484f58;text-align:right}.ite-status-bar{display:flex;align-items:center;gap:12px;padding:4px 16px;background:#161b22;border-top:1px solid #30363d;font-size:.7rem;color:#484f58;flex-shrink:0}.ite-status-bar .status-item{display:flex;align-items:center;gap:4px}.ite-status-bar .status-dot{width:6px;height:6px;border-radius:50%;background:#3fb950}.ite-status-bar .status-dot.dirty{background:#f0883e}.ite-error-banner{padding:8px 16px;background:#da363422;border-bottom:1px solid #f8514944;color:#f85149;font-size:.8rem;display:flex;align-items:center;justify-content:space-between}.ite-error-banner button{background:none;border:none;color:#f85149;cursor:pointer;font-size:1rem;padding:0 4px}.lsv-container{display:flex;flex-direction:column;height:100vh;background:#0f0f1a;color:#ddd;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.lsv-progress-bar{position:sticky;top:0;left:0;right:0;height:3px;background:#1a1a2e;z-index:100}.lsv-progress-fill{height:100%;background:#6c5ce7;transition:width .1s ease-out}.lsv-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#1a1a2e;border-bottom:1px solid #2a2a4a;flex-shrink:0}.lsv-header-info{display:flex;align-items:center;gap:12px}.lsv-title{font-weight:600;font-size:.9rem;color:#eee}.lsv-prefix{font-size:.75rem;color:#888;background:#1e1e35;padding:2px 8px;border-radius:4px}.lsv-count{font-size:.75rem;color:#666}.lsv-header-controls{display:flex;align-items:center;gap:12px}.lsv-hint{font-size:.7rem;color:#555}.lsv-btn{background:#1e1e35;border:1px solid #3a3a5a;color:#aaa;font-size:.75rem;padding:4px 12px;border-radius:4px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.lsv-btn:hover{color:#ddd;border-color:#6c5ce7}.lsv-scroll{flex:1;overflow-y:auto;overflow-x:hidden;outline:none}.lsv-scroll::-webkit-scrollbar{width:8px}.lsv-scroll::-webkit-scrollbar-track{background:#0f0f1a}.lsv-scroll::-webkit-scrollbar-thumb{background:#2a2a4a;border-radius:4px}.lsv-scroll::-webkit-scrollbar-thumb:hover{background:#3a3a5a}.lsv-strip{max-width:800px;margin:0 auto;padding:16px 0 64px;display:flex;flex-direction:column;gap:2px}.lsv-image-wrapper{position:relative}.lsv-image{width:100%;display:block}.lsv-image-label{position:absolute;bottom:8px;right:8px;font-size:.65rem;color:#666;background:#0009;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .15s ease}.lsv-image-wrapper:hover .lsv-image-label{opacity:1}.lsv-loading,.lsv-error,.lsv-empty{display:flex;align-items:center;justify-content:center;height:100vh;text-align:center;padding:24px}.lsv-loading{color:#888}.lsv-error{color:#e88}.lsv-empty{color:#888;flex-direction:column;gap:8px}.lsv-empty code{background:#1e1e35;padding:2px 8px;border-radius:4px;font-size:.85rem}.lsv-container:fullscreen{background:#000}.lsv-container:fullscreen .lsv-strip{max-width:900px}@media (max-width: 850px){.lsv-strip{max-width:100%;padding:8px 0 48px}.lsv-header{flex-direction:column;gap:6px;align-items:flex-start}.lsv-hint{display:none}}.features-page{min-height:100vh;background:linear-gradient(135deg,#0f0f1a,#1a1a2e,#16213e);color:var(--text-primary, #fff);padding:2rem}.features-content{max-width:900px;margin:0 auto}.features-header{margin-bottom:3rem}.features-header h1{font-size:2.5rem;margin:1rem 0 0;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-button{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary, #aaa);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.back-button:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.feature-section{margin-bottom:3rem}.feature-section h2{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary, #fff);border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.section-intro{color:var(--text-secondary, #aaa);margin-bottom:1.5rem;font-size:1rem}.feature-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.feature-card h3{font-size:1.1rem;margin:0 0 .75rem;color:var(--text-primary, #fff)}.feature-card p{margin:0;color:var(--text-secondary, #bbb);line-height:1.6}.feature-card ul{margin:.75rem 0 0;padding-left:1.5rem;color:var(--text-secondary, #bbb)}.feature-card li{margin-bottom:.5rem;line-height:1.5}.feature-card li strong{color:var(--text-primary, #fff)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.feature-card.compact{padding:1rem}.feature-card.compact h3{font-size:1rem;margin-bottom:.5rem}.feature-card.compact p{font-size:.9rem}.features-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.features-footer p{color:var(--text-secondary, #888);font-size:.9rem}@media (max-width: 768px){.features-page{padding:1rem;height:100dvh;min-height:unset;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.features-header h1{font-size:1.8rem}.feature-grid{grid-template-columns:1fr}.feature-card{padding:1rem}}.version-info{font-size:.8rem;color:var(--text-muted, #666);margin-top:.5rem;opacity:.7}.guide-page{min-height:100vh;background:linear-gradient(135deg,#0f0f1a,#1a1a2e,#16213e);color:var(--text-primary, #fff);padding:2rem}.guide-content{max-width:800px;margin:0 auto;line-height:1.7}.guide-header{margin-bottom:2rem}.guide-header h1{font-size:2.25rem;margin:1rem 0 .5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.guide-subtitle{color:var(--text-secondary, #aaa);font-size:1.05rem;margin:0}.guide-page .back-button{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary, #aaa);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.guide-page .back-button:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.guide-toc{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem}.guide-toc h2{font-size:1.1rem;margin:0 0 .75rem;color:var(--text-primary, #fff)}.guide-toc ul{list-style:none;padding:0;margin:0;columns:2;column-gap:2rem}.guide-toc li{margin-bottom:.4rem;break-inside:avoid}.guide-toc a{color:var(--accent-blue, #6c91ff);text-decoration:none;font-size:.95rem;transition:color .2s ease}.guide-toc a:hover{color:#93b4ff;text-decoration:underline}.guide-divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:2.5rem 0}.guide-section{margin-bottom:1rem}.guide-section h2{font-size:1.5rem;margin:0 0 1rem;color:var(--text-primary, #fff);border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.guide-section h3{font-size:1.15rem;margin:1.5rem 0 .75rem;color:var(--text-primary, #fff)}.guide-section p{color:var(--text-secondary, #bbb);margin:0 0 .75rem;line-height:1.7}.guide-section ul,.guide-section ol{color:var(--text-secondary, #bbb);padding-left:1.5rem;margin:0 0 1rem}.guide-section li{margin-bottom:.4rem;line-height:1.6}.guide-section li ul,.guide-section li ol{margin-top:.4rem;margin-bottom:.4rem}.guide-section strong{color:var(--text-primary, #fff)}.guide-section em{color:var(--text-secondary, #bbb);font-style:italic}.guide-section kbd{display:inline-block;padding:2px 8px;font-family:inherit;font-size:.85em;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;box-shadow:0 2px #0003;color:var(--text-primary, #fff)}.guide-tip{margin:1rem 0;padding:1rem 1.25rem;background-color:#4fc3f714;border:1px solid rgba(79,195,247,.25);border-radius:8px;font-size:.95rem;color:var(--text-secondary, #bbb)}.guide-tip strong{color:#4fc3f7}.guide-tip ul{margin-bottom:0}.guide-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0}.guide-choice-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1.25rem;border-left:4px solid}.guide-choice-card.dialogue{border-left-color:#6c91ff}.guide-choice-card.action{border-left-color:#ff6b6b}.guide-choice-card.observation{border-left-color:#ffd93d}.guide-choice-card.internal{border-left-color:#a78bfa}.guide-choice-header{display:flex;align-items:center;gap:8px;margin-bottom:.5rem}.guide-choice-icon{font-size:1.25rem}.guide-choice-header strong{font-size:1.05rem}.guide-choice-color{font-size:.8rem;color:var(--text-secondary, #888);margin-left:auto}.guide-choice-card p{font-size:.9rem}.guide-choice-card ul{font-size:.9rem;margin-bottom:.5rem}.guide-example{font-size:.85rem!important;opacity:.8;margin-bottom:0!important}.guide-table-wrapper{overflow-x:auto;margin:1rem 0}.guide-table{width:100%;border-collapse:collapse;background:#ffffff08;border-radius:8px;overflow:hidden}.guide-table thead{background:#ffffff0f}.guide-table th{text-align:left;padding:.75rem 1rem;color:var(--text-primary, #fff);font-weight:600;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.1)}.guide-table td{padding:.6rem 1rem;color:var(--text-secondary, #bbb);font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05)}.guide-table tr:last-child td{border-bottom:none}.guide-table td strong{color:var(--text-primary, #fff)}.guide-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.guide-footer p{color:var(--text-secondary, #888);font-size:.85rem}.guide-page .back-button:focus-visible,.guide-toc a:focus-visible{outline:2px solid var(--accent-blue, #6c91ff);outline-offset:2px}@media (max-width: 768px){.guide-page{padding:1rem;height:100dvh;min-height:unset;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.guide-header h1{font-size:1.6rem}.guide-toc ul{columns:1}.guide-toc{padding:1rem 1.25rem}.guide-choice-grid{grid-template-columns:1fr}.guide-section h2{font-size:1.3rem}.guide-section h3{font-size:1.05rem}}.settings-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:0}.settings-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#888}.settings-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.settings-header h1{flex:1;margin:0;font-size:1.5rem;font-weight:600}.back-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.back-button:hover{background:#fff3}.user-info{display:flex;align-items:center;gap:12px;font-size:.9rem;color:#aaa}.logout-button{background:transparent;border:1px solid rgba(255,100,100,.3);color:#f88;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}.logout-button:hover{background:#ff64641a}.settings-content{max-width:600px;margin:0 auto;padding:24px 20px}.settings-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.95rem}.settings-message.success{background:#4caf5033;border:1px solid rgba(76,175,80,.4);color:#8f8}.settings-message.error{background:#f4433633;border:1px solid rgba(244,67,54,.4);color:#f88}.settings-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;margin-bottom:20px}.settings-section h2{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#fff;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.setting-item{margin-bottom:20px}.setting-item:last-child{margin-bottom:0}.setting-item>label{display:block;font-size:.95rem;font-weight:500;margin-bottom:8px;color:#ddd}.setting-item select,.setting-item input[type=text],.setting-item input[type=password]{width:100%;padding:10px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.95rem}.setting-item select:focus,.setting-item input:focus{outline:none;border-color:#4caf50}.setting-item.checkbox label{display:flex;align-items:center;gap:10px;cursor:pointer}.setting-item.checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.setting-description{margin:8px 0 0;font-size:.85rem;color:#888;line-height:1.4}.comfyui-status{display:flex;align-items:center;gap:12px}.status-indicator{padding:6px 12px;border-radius:4px;font-size:.85rem;font-weight:500}.status-indicator.online{background:#4caf5033;color:#8f8}.status-indicator.offline{background:#96969633;color:#aaa}.comfyui-button{background:#2196f333;border:1px solid rgba(33,150,243,.4);color:#6cf;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:.85rem}.comfyui-button:hover:not(:disabled){background:#2196f34d}.comfyui-button:disabled{opacity:.5;cursor:not-allowed}.settings-actions{margin-top:24px;text-align:center}.save-button{background:linear-gradient(135deg,#4caf50,#45a049);border:none;color:#fff;padding:14px 40px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.save-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.save-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 600px){.settings-header{padding:12px 16px}.settings-header h1{font-size:1.2rem}.settings-content,.settings-section{padding:16px}.user-info span{display:none}}.stp-root{display:flex;gap:2rem;min-height:100vh;padding:1.5rem;background:#0d1117;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;box-sizing:border-box}.stp-section-title{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#718096;margin:0 0 .75rem}.stp-subtitle{font-weight:400;color:#4a5568}.stp-left{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start}.stp-vn-frame{position:relative;width:390px;height:844px;overflow:hidden;border-radius:12px;border:1px solid #2d3748;background:#1a202c;-webkit-user-select:none;user-select:none}.stp-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;transition:filter .3s ease}.stp-bg-img{position:absolute;top:0;left:0;height:100%;width:140%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}.stp-bg-placeholder{position:absolute;top:0;left:0;width:140%;height:100%;background:linear-gradient(135deg,#1a2a4a,#2d1a3a,#0d1a2a);display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}.stp-bg-label{color:#4a5568;font-size:.75rem;pointer-events:none}.stp-sprite-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;transition:filter .3s ease}.stp-sprite{position:absolute;bottom:0;left:50%;transform-origin:bottom center;height:85%;width:auto;translate:-50% 0;transition:transform .5s cubic-bezier(.4,0,.2,1),bottom .5s cubic-bezier(.4,0,.2,1);will-change:transform}.stp-sprite-placeholder{position:absolute;left:50%;translate:-50% 0;width:180px;height:400px;background:#ffffff0f;border:1px dashed #4a5568;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#4a5568;transform-origin:bottom center;transition:transform .5s cubic-bezier(.4,0,.2,1),bottom .5s cubic-bezier(.4,0,.2,1);will-change:transform}.stp-textbox{position:absolute;bottom:60px;left:0;right:0;padding:0 1rem;z-index:10}.stp-caption{background:#000000b3;border-left:3px solid #63b3ed;color:#e2e8f0;font-size:.75rem;letter-spacing:.04em;padding:.5rem .75rem;margin-bottom:.5rem;border-radius:3px}.stp-dialogue{background:#000000bf;border:1px solid rgba(255,255,255,.15);color:#f0f0f0;font-size:.8rem;letter-spacing:.04em;padding:.6rem .75rem;border-radius:4px}.stp-progress{position:absolute;bottom:12px;left:50%;translate:-50% 0;display:flex;gap:6px;z-index:20}.stp-dot{width:6px;height:6px;border-radius:50%;background:#ffffff40;cursor:pointer;transition:background .2s}.stp-dot--active{background:#ffffffd9;width:18px;border-radius:3px}.stp-tap-left,.stp-tap-right{position:absolute;top:0;bottom:0;width:40%;z-index:15;display:flex;align-items:center;cursor:pointer}.stp-tap-left{left:0;justify-content:flex-start;padding-left:1rem}.stp-tap-right{right:0;justify-content:flex-end;padding-right:1rem}.stp-arrow{font-size:2rem;color:#fff6;transition:color .15s}.stp-tap-left:hover .stp-arrow,.stp-tap-right:hover .stp-arrow{color:#fffc}.stp-values-overlay{position:absolute;top:10px;left:10px;z-index:30;display:flex;flex-direction:column;gap:2px;background:#0000008c;padding:6px 8px;border-radius:4px;font-size:.65rem;color:#a0aec0;pointer-events:none}.stp-values-overlay b{color:#63b3ed}.stp-right{flex:1;min-width:300px;max-width:480px;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;max-height:100vh;padding-right:.5rem}.stp-card{background:#161b22;border:1px solid #21262d;border-radius:8px;padding:1rem}.stp-card--code{background:#0d1117;border-color:#1a2a4a}.stp-card-title{font-size:.75rem;font-weight:600;color:#63b3ed;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .75rem}.stp-label{display:flex;flex-direction:column;gap:.4rem;color:#a0aec0;margin-bottom:1rem;font-size:.8rem}.stp-label b{color:#e2e8f0}.stp-input{background:#0d1117;border:1px solid #2d3748;border-radius:4px;color:#e2e8f0;font-size:.75rem;padding:.4rem .6rem;width:100%;box-sizing:border-box;font-family:monospace}.stp-input:focus{outline:none;border-color:#63b3ed}.stp-slider{width:100%;accent-color:#63b3ed;cursor:pointer}.stp-slider-labels{display:flex;justify-content:space-between;color:#4a5568;font-size:.7rem}.stp-radio-group{display:flex;flex-wrap:wrap;gap:.4rem}.stp-chip{background:#21262d;border:1px solid #2d3748;border-radius:4px;color:#a0aec0;cursor:pointer;font-size:.72rem;padding:.3rem .6rem;transition:background .15s,border-color .15s,color .15s}.stp-chip--active{background:#1a3a5c;border-color:#63b3ed;color:#e2e8f0}.stp-chip:hover:not(.stp-chip--active){background:#2d3748}.stp-hint{color:#4a5568;font-size:.7rem;margin:0;font-style:italic}.stp-note{color:#718096;font-size:.78rem;margin:0 0 .75rem;line-height:1.5}.stp-beat-nav{display:flex;gap:.5rem}.stp-btn{background:#21262d;border:1px solid #2d3748;border-radius:4px;color:#e2e8f0;cursor:pointer;font-size:.8rem;padding:.4rem .75rem;transition:background .15s}.stp-btn:hover:not(:disabled){background:#2d3748}.stp-btn:disabled{opacity:.35;cursor:default}.stp-btn--ghost{background:transparent;border-color:#2d3748;color:#718096}.stp-btn--ghost:hover{background:#ffffff0a}.stp-code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem;line-height:1.6;color:#a0aec0;margin:0;white-space:pre;overflow-x:auto}.stp-questions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.stp-questions li{color:#718096;font-size:.78rem;line-height:1.4;padding-left:1rem;position:relative}.stp-questions li:before{content:"?";position:absolute;left:0;color:#4a5568;font-size:.7rem}.ev-root{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,system-ui,sans-serif}.ev-header{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:var(--surface-dark);color:var(--text-primary);border-bottom:1px solid var(--border-color)}.ev-header h1{font-size:1.05rem;margin:0;font-weight:500;letter-spacing:.02em}.ev-back{background:var(--surface-mid);border:1px solid var(--border-color);color:var(--text-primary);padding:.25rem .6rem;border-radius:4px;cursor:pointer;font-size:.8rem}.ev-back:hover{background:var(--bg-tertiary)}.ev-status{margin-left:auto;font-size:.78rem;color:var(--text-tertiary)}.ev-main{flex:1;min-height:0;display:grid;grid-template-columns:var(--ev-col1, 260px) 5px var(--ev-col2, 320px) 5px 1fr}.ev-main.ev-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.ev-main.ev-resizing *{pointer-events:none}.ev-main[data-col1-collapsed=true]{grid-template-columns:36px 5px var(--ev-col2, 320px) 5px 1fr}.ev-main[data-col2-collapsed=true]{grid-template-columns:var(--ev-col1, 260px) 5px 36px 5px 1fr}.ev-main[data-col1-collapsed=true][data-col2-collapsed=true]{grid-template-columns:36px 5px 36px 5px 1fr}.ev-resizer{background:var(--border-color);cursor:col-resize;transition:background .1s}.ev-resizer:hover,.ev-resizer-active{background:var(--accent-blue)}.ev-resizer-y{cursor:row-resize;height:5px;width:100%}.ev-artifact.ev-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.ev-artifact.ev-resizing *{pointer-events:none}.ev-pane{overflow:auto;background:var(--bg-primary);border-right:1px solid var(--border-color)}.ev-pane:last-child{border-right:none}.ev-pane h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:.6rem 1rem .3rem;font-weight:600}.ev-pane-head{display:flex;align-items:center;justify-content:space-between;padding-right:.3rem}.ev-pane-head h2{flex:1}.ev-collapse-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);width:22px;height:22px;border-radius:4px;cursor:pointer;font-size:.9rem;line-height:1;display:flex;align-items:center;justify-content:center;margin-right:.4rem;transition:background .1s,color .1s,border-color .1s}.ev-collapse-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent-blue)}.ev-pane[data-collapsed=true]{overflow:hidden}.ev-pane[data-collapsed=true] .ev-pane-head{flex-direction:column;padding:.4rem 0;gap:.3rem}.ev-pane[data-collapsed=true] .ev-pane-head h2{display:none}.ev-list{list-style:none;margin:0;padding:0}.ev-list li{padding:.5rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-color);font-size:.88rem;line-height:1.3;color:var(--text-primary)}.ev-list li:hover{background:var(--bg-secondary)}.ev-list li.ev-active{background:var(--accent-blue);color:#fff}.ev-list .ev-meta{font-size:.72rem;color:var(--text-tertiary)}.ev-list li.ev-active .ev-meta{color:#ffffffc7}.ev-empty-row{color:var(--text-tertiary);font-style:italic;padding:1rem}.ev-models-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 1rem;border-bottom:1px solid var(--border-color)}.ev-models-title{margin:.6rem 0;font-size:.95rem;font-weight:600;color:var(--text-primary);text-transform:none;letter-spacing:0}.ev-tabs{display:flex;gap:.4rem}.ev-tab{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:.2rem .6rem;font-size:.75rem;cursor:pointer;color:var(--text-secondary)}.ev-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.ev-tab-active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.ev-artifact{display:grid;grid-template-rows:auto 1fr 5px var(--ev-transcript-h, 280px);min-height:0}.ev-graph-row{display:flex;min-height:0;overflow:hidden;position:relative}.ev-legend{position:absolute;top:.6rem;left:.8rem;z-index:2;display:flex;flex-direction:column;gap:.2rem;pointer-events:none;font-size:.7rem;color:var(--text-secondary);background:#2d2d2db3;border:1px solid var(--border-color);border-radius:4px;padding:.35rem .5rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ev-legend-item{display:flex;align-items:center;gap:.35rem}.ev-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.ev-legend-events{background:var(--accent-blue)}.ev-legend-characters{background:var(--accent-green)}.ev-legend-rules{background:var(--accent-orange)}.ev-legend-patterns{background:var(--accent-purple)}.ev-legend-facts{background:#d97706}.ev-artifact-head{padding:.6rem 1rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:flex;justify-content:space-between;align-items:baseline}.ev-artifact-title{font-weight:600;font-size:.9rem}.ev-artifact-meta{font-size:.72rem;color:var(--text-tertiary);font-family:ui-monospace,monospace}.ev-artifact-body{flex:1;min-height:0;overflow:auto;padding:1rem}.ev-graph{height:320px;border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:6px;margin-bottom:1rem}.ev-graph-error{color:var(--text-tertiary);padding:1rem;font-style:italic}.ev-empty{color:var(--text-tertiary);font-style:italic;padding:1rem}.ev-muted{color:var(--text-secondary)}.ev-cards{display:flex;flex-direction:column;gap:.5rem}.ev-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.7rem .9rem}.ev-card h3{margin:0 0 .3rem;font-size:.95rem;color:var(--text-primary)}.ev-card-role{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-blue);font-weight:600}.ev-card-desc{font-size:.85rem;line-height:1.4;color:var(--text-secondary);margin:.3rem 0}.ev-card-playable{margin-left:.4rem;color:var(--accent-green);font-size:.6rem;vertical-align:middle}.ev-card-arc{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.75rem;background:var(--surface-dark);border-left:3px solid var(--accent-purple);padding:.4rem .6rem;margin:.4rem 0;border-radius:0 4px 4px 0}.ev-card-arc-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-purple);margin-right:.2rem}.ev-card-arc-from{color:var(--text-secondary);font-style:italic}.ev-card-arc-arrow{color:var(--text-tertiary)}.ev-card-arc-to{color:var(--text-primary);font-style:italic}.ev-card-arc-pivot{flex-basis:100%;margin-top:.2rem;font-size:.7rem;color:var(--text-tertiary)}.ev-card-voice{background:var(--surface-dark);border-left:3px solid var(--accent-blue);padding:.4rem .6rem;margin:.4rem 0;border-radius:0 4px 4px 0}.ev-card-voice-label{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-blue);margin-bottom:.2rem}.ev-card-voice p{font-size:.78rem;line-height:1.5;color:var(--text-secondary);margin:0;font-style:italic}.ev-card-knowledge{margin-top:.5rem;padding-top:.4rem;border-top:1px dashed var(--border-color);font-size:.78rem}.ev-card-knowledge summary{cursor:pointer;font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.ev-card-knowledge ul{margin:.4rem 0 0 1rem;padding:0;color:var(--text-secondary);line-height:1.4}.ev-card-knowledge li{margin-bottom:.2rem}.ev-card-knowledge li::marker{color:var(--accent-yellow)}.ev-pills{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.4rem}.ev-pill{background:#ffffff0f;color:var(--text-secondary);border-radius:99px;padding:.1rem .55rem;font-size:.7rem}.ev-pill-goal{background:#fbbf2429;color:var(--accent-yellow)}.ev-pill-secret{background:#f472b629;color:#f472b6}.ev-pill-rel{background:#4a9eff29;color:var(--accent-blue)}.ev-events-view{display:flex;flex-direction:column;gap:1rem;min-height:0}.ev-timeline-wrap{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow-x:auto}.ev-timeline{display:flex;gap:.4rem;padding:.6rem;align-items:stretch}.ev-timeline-tile{background:var(--surface-dark);border:1px solid var(--border-color);border-radius:5px;padding:.4rem .5rem .5rem;text-align:left;cursor:pointer;color:var(--text-primary);display:flex;flex-direction:column;gap:.2rem;position:relative;overflow:hidden;flex:0 0 auto;transition:transform .1s,border-color .1s}.ev-timeline-tile:hover{border-color:var(--accent-blue);transform:translateY(-1px)}.ev-timeline-active{border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue) inset}.ev-timeline-kernel{border-color:var(--accent-yellow)}.ev-timeline-stripe{position:absolute;top:0;left:0;right:0;height:3px}.ev-timeline-seq{font-family:ui-monospace,monospace;font-size:.7rem;color:var(--text-tertiary);margin-top:.2rem}.ev-timeline-title{font-size:.78rem;font-weight:600;line-height:1.25;color:var(--text-primary)}.ev-timeline-type{font-size:.66rem;text-transform:lowercase;letter-spacing:.04em;color:var(--text-tertiary);margin-top:auto}.ev-event-detail{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem}.ev-event-detail-head{position:relative;padding-top:.4rem}.ev-event-detail-head h3{margin:0 0 .4rem;font-size:1rem;color:var(--text-primary)}.ev-event-typebar{position:absolute;top:0;left:0;right:0;height:3px;border-radius:6px 6px 0 0}.ev-event-kernel{color:var(--accent-yellow)}.ev-event-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.2rem}.ev-event-summary{font-size:.85rem;line-height:1.5;color:var(--text-secondary);margin:0}.ev-event-parts{font-size:.75rem;color:var(--text-tertiary);display:flex;flex-wrap:wrap;gap:0}.ev-event-parts b{color:var(--accent-blue);margin-right:.15em}.ev-event-prompt{background:var(--surface-dark);border-left:3px solid var(--accent-purple);padding:.5rem .7rem;border-radius:0 4px 4px 0}.ev-event-prompt-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-purple);margin-bottom:.2rem}.ev-event-prompt p{font-size:.8rem;line-height:1.5;color:var(--text-secondary);margin:0}.ev-event-refs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem .8rem;margin-top:.2rem}.ev-event-refs{display:flex;flex-direction:column;gap:.25rem}.ev-event-refs-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.ev-event-refs-pills{display:flex;flex-wrap:wrap;gap:.25rem}.ev-world-view{display:flex;flex-direction:column;gap:.8rem}.ev-world-tabs{display:flex;gap:.4rem;padding-bottom:.6rem;border-bottom:1px solid var(--border-color)}.ev-world-tab-count{margin-left:.3rem;font-size:.7rem;color:var(--text-tertiary);font-family:ui-monospace,monospace}.ev-tab-active .ev-world-tab-count{color:#ffffffc7}.ev-world-groups{display:flex;flex-direction:column;gap:1rem}.ev-world-group-title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ev-world-group-count{color:var(--text-tertiary);font-weight:400;text-transform:none;letter-spacing:0}.ev-world-subgroup{margin-bottom:.6rem}.ev-world-subgroup-title{margin:.4rem 0 .3rem;font-size:.72rem;color:var(--text-tertiary);font-weight:500;text-transform:lowercase;letter-spacing:.04em}.ev-world-cards{display:flex;flex-direction:column;gap:.4rem}.ev-world-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid var(--accent-orange);padding:.6rem .8rem;border-radius:0 5px 5px 0}.ev-world-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.3rem}.ev-world-card-head h4{margin:0;font-size:.88rem;color:var(--text-primary);font-family:ui-monospace,monospace}.ev-world-card-badges{display:flex;flex-wrap:wrap;gap:.25rem}.ev-world-card-statement{font-size:.85rem;line-height:1.5;color:var(--text-secondary);margin:0}.ev-world-card-drama{margin-top:.5rem;background:var(--surface-dark);border-left:3px solid var(--accent-purple);padding:.4rem .6rem;border-radius:0 4px 4px 0}.ev-world-card-drama-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-purple);margin-bottom:.15rem}.ev-world-card-drama p{font-size:.78rem;line-height:1.45;color:var(--text-secondary);margin:0}.ev-patterns-view{display:flex;flex-direction:column;gap:1rem}.ev-pattern-group-title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ev-pattern-group-count{color:var(--text-tertiary);font-weight:400;text-transform:none;letter-spacing:0}.ev-pattern-cards{display:flex;flex-direction:column;gap:.5rem}.ev-pattern{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid var(--accent-orange);padding:.7rem .9rem;border-radius:0 5px 5px 0}.ev-pattern-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.ev-pattern-head h4{margin:0;font-size:.9rem;color:var(--text-primary)}.ev-pattern-badges{display:flex;flex-wrap:wrap;gap:.25rem}.ev-pattern-text{font-size:.82rem;line-height:1.5;color:var(--text-secondary);margin:0 0 .5rem}.ev-pattern-beats{margin:.4rem 0 .4rem 1rem;padding:0;font-size:.82rem;line-height:1.5;color:var(--text-secondary)}.ev-pattern-beats li{margin-bottom:.2rem;padding-left:.2rem}.ev-pattern-beats li::marker{color:var(--accent-blue)}.ev-pattern-foot{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem;padding-top:.4rem;border-top:1px solid var(--border-color)}.ev-pattern-foot>div{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.ev-pattern-foot-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-right:.3rem}.ev-raw{background:var(--surface-dark);color:var(--text-primary);padding:1rem;border-radius:6px;font-size:.78rem;line-height:1.4;overflow:auto;border:1px solid var(--border-color)}.ev-fatal{padding:2rem;text-align:center;color:var(--accent-red)}.ev-layer-chips{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.ev-chip{display:inline-flex;align-items:center;gap:.3rem;background:transparent;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:99px;padding:.15rem .6rem;font-size:.72rem;cursor:pointer;text-transform:lowercase;letter-spacing:.04em;transition:background .1s,color .1s,border-color .1s}.ev-chip:hover{background:var(--bg-secondary);color:var(--text-secondary)}.ev-chip-count{font-family:ui-monospace,monospace;font-size:.65rem;opacity:.7}.ev-chip-events.ev-chip-on{background:#4a9eff2e;color:#4a9eff;border-color:#4a9eff}.ev-chip-characters.ev-chip-on{background:#4ade802e;color:#4ade80;border-color:#4ade80}.ev-chip-rules.ev-chip-on{background:#ff98002e;color:#ff9800;border-color:#ff9800}.ev-chip-patterns.ev-chip-on{background:#a78bfa2e;color:#a78bfa;border-color:#a78bfa}.ev-chip-facts.ev-chip-on{background:#fbbf242e;color:#fbbf24;border-color:#fbbf24}.ev-integrated-body{position:relative;padding:0;display:flex;min-height:0}.ev-integrated-graph{flex:1;min-height:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;margin:.6rem}.ev-detail-panel{width:360px;flex-shrink:0;border-left:1px solid var(--border-color);background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.ev-detail-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;border-bottom:1px solid var(--border-color);background:var(--surface-dark)}.ev-detail-title{font-size:.78rem;font-weight:600;color:var(--text-primary);font-family:ui-monospace,monospace}.ev-detail-close{background:transparent;border:none;color:var(--text-tertiary);font-size:1.2rem;cursor:pointer;padding:0 .3rem;line-height:1}.ev-detail-close:hover{color:var(--text-primary)}.ev-detail-body{flex:1;min-height:0;overflow:auto;padding:.8rem}.ev-bottom{display:flex;flex-direction:column;min-height:0;background:var(--bg-primary);border-top:1px solid var(--border-color)}.ev-bottom-tabs{display:flex;flex-wrap:wrap;gap:.2rem;background:var(--surface-dark);border-bottom:1px solid var(--border-color);padding:.3rem .6rem 0;align-items:flex-end}.ev-bottom-tab{background:transparent;border:1px solid var(--border-color);border-bottom:none;color:var(--text-tertiary);padding:.3rem .8rem;font-size:.78rem;font-weight:500;cursor:pointer;border-radius:4px 4px 0 0;display:inline-flex;align-items:center;gap:.35rem;letter-spacing:.04em;transition:background .1s,color .1s,border-color .1s;margin-bottom:-1px}.ev-bottom-tab:hover{background:var(--bg-secondary);color:var(--text-secondary)}.ev-bottom-tab-empty{opacity:.55}.ev-bottom-tab-empty .ev-bottom-tab-count{opacity:.6}.ev-bottom-tab-active.ev-bottom-tab-empty{opacity:1}.ev-bottom-tab-active{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color);border-bottom-color:var(--bg-primary)}.ev-bottom-tab-count{font-family:ui-monospace,monospace;font-size:.68rem;color:var(--text-muted);background:#ffffff0d;padding:0 .3rem;border-radius:99px}.ev-bottom-tab-active .ev-bottom-tab-count{color:var(--text-tertiary)}.ev-bottom-body{flex:1;min-height:0;overflow:auto;background:var(--bg-primary)}.ev-bottom-content{padding:.7rem .8rem}.ev-bottom-raw{margin:0;padding:.8rem;background:var(--surface-dark);color:var(--text-primary);font-size:.78rem;line-height:1.45;white-space:pre;overflow:auto}.ev-char-row{cursor:pointer;transition:background .1s;border-radius:6px;padding:1px}.ev-char-row:hover{background:#ffffff05}.ev-char-row-active{box-shadow:0 0 0 2px var(--accent-blue)}.ev-transcript-pane{overflow:auto;background:var(--bg-primary)}.ev-transcript{padding:.5rem .8rem;display:flex;flex-direction:column;gap:.1rem;font-size:.85rem;line-height:1.45;color:var(--text-primary)}.ev-transcript-empty{padding:1rem;color:var(--text-tertiary);font-style:italic}.ev-transcript-meta{font-size:.7rem;color:var(--text-tertiary);padding-bottom:.3rem;border-bottom:1px solid var(--border-color);margin-bottom:.3rem}.ev-transcript-body{display:flex;flex-direction:column;gap:.05rem}.ev-transcript-preamble{font-size:.78rem;line-height:1.45;color:var(--text-tertiary);padding:.2rem .4rem;border-left:2px solid var(--border-color);white-space:pre-wrap;margin-bottom:.3rem}.ev-transcript-msg{display:grid;grid-template-columns:2.2rem 1fr;column-gap:.4rem;padding:.1rem .3rem;border-radius:3px;scroll-margin:1rem;color:var(--text-primary);transition:background .15s;border-left:2px solid transparent}.ev-transcript-msg:hover{background:#ffffff08}.ev-transcript-msg-head{display:flex;align-items:baseline;justify-content:flex-end;gap:.25rem;font-size:.62rem;color:var(--text-muted);font-family:ui-monospace,monospace;white-space:nowrap;padding-top:.15rem}.ev-transcript-msg-idx{color:var(--text-muted)}.ev-transcript-msg-role{display:none}.ev-transcript-msg-author{font-family:-apple-system,system-ui,sans-serif;text-transform:none;font-size:.75rem}.ev-transcript-msg-body{white-space:pre-wrap;color:var(--text-secondary)}.ev-msg-role-user .ev-transcript-msg-author{color:var(--accent-blue)}.ev-msg-role-bot .ev-transcript-msg-author{color:var(--accent-green)}.ev-msg-role-system .ev-transcript-msg-author{color:var(--text-tertiary)}.ev-msg-role-greeting .ev-transcript-msg-author{color:var(--accent-purple)}.ev-msg-role-user .ev-transcript-msg-body{color:var(--text-primary)}.ev-msg-role-bot .ev-transcript-msg-body{color:var(--text-secondary)}.ev-msg-hit{background:#fbbf241f;border-left-color:var(--accent-yellow);box-shadow:inset 1px 0 0 var(--accent-yellow)}.ev-msg-hit .ev-transcript-msg-body{color:var(--text-primary)}.ev-anchor-strip{display:grid;grid-template-columns:repeat(var(--anchor-cols, 1),minmax(8px,1fr));background:var(--surface-dark);border-top:1px solid var(--border-color);height:80px;overflow-x:auto;overflow-y:hidden;align-items:end}.ev-anchor-strip.ev-anchor-empty{display:flex;align-items:center;justify-content:center;font-size:.78rem}.ev-anchor-col{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;padding:0;min-width:0}.ev-anchor-markers{display:flex;flex-direction:column-reverse;align-items:stretch;width:100%;padding:0 1px;gap:1px;flex:1;min-height:0;overflow:hidden}.ev-anchor-mark{display:block;height:4px;width:100%;border:none;border-radius:1px;cursor:pointer;padding:0;background:var(--text-tertiary);transition:transform .1s,box-shadow .1s,opacity .1s;opacity:.85}.ev-anchor-mark:hover{transform:scaleY(1.6);opacity:1}.ev-anchor-mark-events{background:var(--accent-blue)}.ev-anchor-mark-characters{background:var(--accent-green)}.ev-anchor-mark-rules{background:var(--accent-orange)}.ev-anchor-mark-patterns{background:var(--accent-purple)}.ev-anchor-mark-facts{background:var(--accent-yellow)}.ev-anchor-mark-selected{transform:scaleY(2);box-shadow:0 0 0 1px var(--accent-blue),0 0 6px #4a9eff99;opacity:1}.ev-anchor-tick{display:block;width:100%;height:8px;border:none;background:transparent;border-top:1px solid var(--border-color);cursor:pointer;padding:0}.ev-anchor-tick:hover{background:#4a9eff33}.ev-anchor-label{font-family:ui-monospace,monospace;font-size:.55rem;color:var(--text-muted);line-height:1;padding:1px 0 2px}.ev-mode-toggle{display:flex;gap:2px;background:var(--panel-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:6px;padding:2px;margin:0 12px}.ev-mode-btn{background:transparent;border:none;color:var(--text-muted, #888);cursor:pointer;font-size:.8rem;padding:4px 12px;border-radius:4px;transition:background .15s,color .15s}.ev-mode-btn:hover{color:var(--text-primary, #eee)}.ev-mode-active{background:var(--accent-blue, #4a9eff)!important;color:#fff!important}.ev-main[data-mode=bookify]>.ev-pane,.ev-main[data-mode=bookify]>.ev-resizer{display:none}.ev-main[data-mode=bookify]{display:block;overflow:hidden}.bk-root{display:grid;grid-template-columns:1fr 1.4fr 1fr;height:100%;overflow:hidden;gap:0}.bk-panel{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border-color, #333);overflow:hidden}.bk-panel:last-child{border-right:none}.bk-panel-head{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #888);border-bottom:1px solid var(--border-color, #333);background:var(--panel-header-bg, #161616);flex-shrink:0}.bk-panel-sub{font-weight:400;text-transform:none;letter-spacing:0;font-size:.72rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-panel-body{flex:1;overflow:auto;min-height:0}.bk-graph-body{display:flex;flex-direction:column;overflow:hidden;position:relative}.bk-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted, #888);font-size:.82rem;padding:24px;text-align:center}.bk-chapter-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.bk-chapter-head{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #888);border-bottom:1px solid var(--border-color, #333);background:var(--panel-header-bg, #161616);flex-shrink:0}.bk-chapter-title{flex:1}.bk-generate-btn{background:var(--accent-blue, #4a9eff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.72rem;padding:3px 10px;transition:opacity .15s}.bk-generate-btn:hover{opacity:.85}.bk-generate-btn:disabled{opacity:.4;cursor:default}.bk-generating-badge{font-size:.7rem;color:var(--accent-blue, #4a9eff);font-style:italic}.bk-progress-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px}.bk-progress-line{font-size:.78rem;color:var(--text-muted, #888)}.bk-progress-spinner{opacity:.5}.bk-error{padding:16px;color:#f87171;font-size:.82rem}.bk-chapter-body{flex:1;overflow-y:auto;padding:24px 20px;line-height:1.75}.bk-chapter-h1{font-size:1.2rem;font-weight:700;margin:0 0 12px;color:var(--text-primary, #eee)}.bk-chapter-h2{font-size:1rem;font-weight:700;margin:28px 0 10px;color:var(--text-primary, #eee);border-bottom:1px solid var(--border-color, #333);padding-bottom:4px}.bk-chapter-h3{font-size:.9rem;font-weight:600;margin:20px 0 6px;color:var(--text-secondary, #ccc)}.bk-para{margin:0 0 1em;font-size:.88rem;color:var(--text-primary, #ddd)}.bk-blockquote{border-left:3px solid var(--accent-blue, #4a9eff);margin:12px 0;padding:4px 12px;font-style:italic;color:var(--text-secondary, #bbb);font-size:.88rem}.bk-hr{border:none;border-top:1px solid var(--border-color, #333);margin:20px 0}.bk-selector{background:var(--panel-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:4px;color:var(--text-primary, #eee);font-size:.72rem;padding:2px 6px;cursor:pointer;max-width:180px;overflow:hidden;text-overflow:ellipsis}.bk-selector:disabled{opacity:.4;cursor:default}.bk-idle{padding:20px 16px;display:flex;flex-direction:column;gap:16px}.bk-idle-prompt{font-size:.82rem;color:var(--text-muted, #888);margin:0}.bk-idle-prompt strong{color:var(--text-primary, #eee)}.bk-pipeline-preview,.bk-pipeline-tracker{display:flex;flex-direction:column;gap:2px}.bk-pipeline-step{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:6px;border:1px solid transparent;transition:background .15s,border-color .15s}.bk-pipeline-step-idle{background:var(--panel-bg, #1a1a1a);border-color:var(--border-color, #2a2a2a)}.bk-pipeline-step-idle .bk-step-label{color:var(--text-muted, #888)}.bk-pipeline-step-done{background:#4a9eff0f;border-color:transparent}.bk-pipeline-step-done .bk-step-label{color:var(--text-muted, #666)}.bk-pipeline-step-done .bk-step-indicator{color:#4ade80}.bk-pipeline-step-active{background:#4a9eff1a;border-color:#4a9eff4d}.bk-pipeline-step-active .bk-step-label{color:var(--text-primary, #eee);font-weight:600}.bk-pipeline-step-active .bk-step-indicator{color:var(--accent-blue, #4a9eff);animation:bk-spin 1.2s linear infinite}.bk-pipeline-step-pending{background:transparent;border-color:transparent;opacity:.45}@keyframes bk-spin{0%{display:inline-block;transform:rotate(0)}to{display:inline-block;transform:rotate(360deg)}}.bk-step-indicator{width:16px;flex-shrink:0;font-size:.8rem;text-align:center;padding-top:1px}.bk-step-content{flex:1;min-width:0}.bk-step-label{font-size:.8rem;font-weight:500}.bk-step-detail{font-size:.72rem;color:var(--text-muted, #888);margin-top:2px}.bk-step-model{font-size:.68rem;color:var(--accent-blue, #4a9eff);margin-top:2px;font-family:ui-monospace,monospace}.bk-loading-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.bk-loading-view .bk-pipeline-tracker{padding:16px;flex-shrink:0;border-bottom:1px solid var(--border-color, #333)}.bk-loading-view .bk-chapter-body{flex:1}.ap-root{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,system-ui,sans-serif}.ap-header{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:var(--surface-dark);color:var(--text-primary);border-bottom:1px solid var(--border-color);flex-shrink:0}.ap-header h1{font-size:1.05rem;margin:0;font-weight:500;letter-spacing:.02em}.ap-header-status{margin-left:auto;font-size:.78rem;color:var(--text-tertiary)}.ap-body{display:flex;flex:1;min-height:0;overflow:hidden}.ap-sources{width:280px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border-color);overflow-y:auto;background:var(--surface-dark)}.ap-sources-header{padding:.6rem .9rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0}.ap-source-item{padding:.65rem .9rem;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background .12s}.ap-source-item:hover{background:var(--bg-secondary)}.ap-source-item.selected{background:var(--bg-tertiary);border-left:3px solid var(--accent-blue, #3b82f6);padding-left:calc(.9rem - 3px)}.ap-source-label{font-size:.82rem;color:var(--text-primary);margin-bottom:.35rem;word-break:break-word}.ap-source-progress-bar{height:4px;background:var(--bg-primary);border-radius:2px;overflow:hidden;margin-bottom:.2rem}.ap-source-progress-fill{height:100%;background:var(--accent-blue, #3b82f6);border-radius:2px;transition:width .2s}.ap-source-progress-text{font-size:.68rem;color:var(--text-tertiary)}.ap-sources-empty{padding:1.2rem .9rem;font-size:.82rem;color:var(--text-tertiary)}.ap-workspace{flex:1;display:flex;flex-direction:column;overflow:hidden}.ap-workspace-empty{display:flex;align-items:center;justify-content:center;flex:1;font-size:.9rem;color:var(--text-tertiary)}.ap-source-bar{display:flex;align-items:center;gap:1rem;padding:.55rem 1rem;background:var(--surface-dark);border-bottom:1px solid var(--border-color);flex-shrink:0}.ap-source-bar-label{font-size:.88rem;font-weight:500;color:var(--text-primary)}.ap-source-bar-progress{font-size:.78rem;color:var(--text-tertiary);margin-left:auto}.ap-nav-bar{display:flex;align-items:center;gap:.6rem;padding:.45rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.ap-nav-btn{background:var(--surface-mid);border:1px solid var(--border-color);color:var(--text-primary);padding:.2rem .65rem;border-radius:4px;cursor:pointer;font-size:.82rem;transition:background .12s}.ap-nav-btn:hover:not(:disabled){background:var(--bg-tertiary)}.ap-nav-btn:disabled{opacity:.4;cursor:not-allowed}.ap-nav-label{font-size:.82rem;color:var(--text-secondary);min-width:100px;text-align:center}.ap-turn-area{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ap-card{border-radius:6px;padding:.85rem 1rem;font-size:.85rem;line-height:1.55}.ap-card-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.ap-card-npc{background:var(--surface-dark);border:1px solid var(--border-color)}.ap-card-npc .ap-card-label{color:var(--accent-blue, #60a5fa)}.ap-card-player{background:var(--bg-secondary);border:1px solid var(--border-color)}.ap-card-player .ap-card-label{color:var(--text-tertiary)}.ap-card-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.ap-show-more{background:none;border:none;color:var(--accent-blue, #60a5fa);cursor:pointer;font-size:.78rem;padding:.2rem 0;margin-top:.3rem;display:block}.ap-existing{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.6rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0}.ap-badge{background:var(--surface-mid);border:1px solid var(--border-color);border-radius:3px;padding:.15rem .5rem;font-size:.72rem;color:var(--text-secondary)}.ap-badge-key{color:var(--text-tertiary);margin-right:.2rem}.ap-edit-btn{margin-left:auto;background:var(--surface-mid);border:1px solid var(--border-color);color:var(--text-primary);padding:.2rem .65rem;border-radius:4px;cursor:pointer;font-size:.78rem}.ap-edit-btn:hover{background:var(--bg-tertiary)}.ap-form{padding:.75rem 1rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0;display:flex;flex-direction:column;gap:.65rem}.ap-form-section{display:flex;flex-direction:column;gap:.35rem}.ap-form-section-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary)}.ap-pills{display:flex;flex-wrap:wrap;gap:.35rem}.ap-pill{position:relative;background:var(--surface-mid);border:1px solid var(--border-color);color:var(--text-secondary);padding:.25rem .7rem;border-radius:20px;cursor:pointer;font-size:.78rem;transition:background .12s,border-color .12s,color .12s;-webkit-user-select:none;user-select:none}.ap-pill:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ap-pill.selected{background:var(--accent-blue, #3b82f6);border-color:var(--accent-blue, #3b82f6);color:#fff}.ap-pill-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--surface-dark);border:1px solid var(--border-color);color:var(--text-primary);font-size:.72rem;padding:.35rem .6rem;border-radius:4px;white-space:nowrap;max-width:260px;white-space:normal;text-align:center;z-index:100;pointer-events:none;box-shadow:0 2px 8px #0006}.ap-pill:hover .ap-pill-tooltip{display:block}.ap-pill-num{min-width:2rem;text-align:center;padding:.25rem .5rem}.ap-confidence-hint{font-size:.68rem;color:var(--text-tertiary);margin-top:.1rem}.ap-rationale{width:100%;background:var(--surface-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.82rem;padding:.5rem .7rem;resize:vertical;min-height:56px;box-sizing:border-box;font-family:inherit}.ap-rationale:focus{outline:none;border-color:var(--accent-blue, #3b82f6)}.ap-form-actions{display:flex;gap:.5rem;align-items:center}.ap-btn-primary{background:var(--accent-blue, #3b82f6);border:1px solid var(--accent-blue, #3b82f6);color:#fff;padding:.35rem 1.1rem;border-radius:4px;cursor:pointer;font-size:.84rem;font-weight:500;transition:opacity .12s}.ap-btn-primary:hover:not(:disabled){opacity:.88}.ap-btn-primary:disabled{opacity:.45;cursor:not-allowed}.ap-btn-ghost{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.35rem .9rem;border-radius:4px;cursor:pointer;font-size:.84rem;transition:background .12s}.ap-btn-ghost:hover{background:var(--surface-mid)}.ap-save-status{font-size:.75rem;color:var(--text-tertiary);margin-left:.4rem}.ap-loading{padding:2rem;text-align:center;color:var(--text-tertiary);font-size:.88rem}.ap-error{padding:1rem;color:#f87171;font-size:.82rem}.e5c-root{--surface-mid: #1c2230;--bg-tertiary: #232b3b;--border-color: #33405a;--text-primary: #e7ecf5;--text-secondary: #9aa6bd;--accent-blue: #3b82f6;display:grid;grid-template-columns:240px minmax(0,1fr) 380px;gap:1px;background:var(--border-color);height:calc(100vh - 48px);color:var(--text-primary)}.e5c-root>*{background:#11151e}.e5c-list{overflow-y:auto;padding:.5rem}.e5c-story-pane{overflow-y:auto;padding:1.2rem 1.5rem}.e5c-form-pane{overflow-y:auto;padding:1.2rem;position:sticky;top:0}.e5c-story-text{white-space:pre-wrap;line-height:1.7;font-size:.95rem;color:var(--text-primary)}.e5c-list-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text-secondary);padding:.4rem .5rem;border-radius:6px;cursor:pointer;font-size:.82rem}.e5c-list-item.active{background:var(--bg-tertiary);color:var(--text-primary)}.e5c-list-item.done{color:#6ee7a8}.ev{border-radius:3px;padding:0 1px;cursor:pointer}.ev--character_voice{background:#3b82f652}.ev--world_consistency{background:#10b98152}.ev--dramatic_function{background:#f59e0b52}.ev--thematic_alignment{background:#a855f752}.ev--information_fidelity{background:#ec489952}.ev--subtext_integrity{background:#14b8a652}.ev--failure{background:#ef44442e;border-bottom:2px dashed #ef4444}.e5c-popover{position:absolute;z-index:50;background:var(--surface-mid);border:1px solid var(--border-color);border-radius:8px;padding:.6rem;display:flex;flex-direction:column;gap:.4rem;min-width:220px}.e5c-popover select,.e5c-popover textarea{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:.3rem}.e5c-needs{color:#fbbf24;font-size:.72rem;margin-top:2px}.e5c-cited{color:var(--text-secondary);font-size:.72rem;margin-top:2px}.e5c-submit{margin-top:1rem;padding:.5rem 1rem;border-radius:8px;background:var(--accent-blue);color:#fff;border:none;cursor:pointer}.e5c-submit:disabled{opacity:.45;cursor:not-allowed}.e5c-reveal{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:.8rem}.ap-error{color:#fca5a5;padding:.4rem 0}@media (max-width: 900px){.e5c-root{grid-template-columns:1fr;height:auto}.e5c-form-pane{position:static}}.e5c-cited-list{list-style:none;padding:0;margin:.6rem 0;display:flex;flex-direction:column;gap:.3rem}.e5c-cited-list li{font-size:.8rem;color:var(--text-secondary)}.e5c-cited-tag{color:var(--text-primary)}.e5c-cited-remove{margin-left:.5rem;background:none;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:5px;cursor:pointer;font-size:.7rem;padding:0 .4rem}.schema-text,.schema-rationale{width:100%;min-height:56px;margin:6px 0 10px;padding:8px 10px;border:1px solid #d0d5dd;border-radius:8px;font:inherit;font-size:.92em;box-sizing:border-box}.schema-pills{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}.ap-pill.selected{outline:2px solid #1d4ed8;outline-offset:1px;font-weight:600}.jc-evq{margin:2px 0 10px}.jc-evq-btn{border:1px dashed #94a3b8;background:#f8fafc;border-radius:8px;padding:4px 10px;cursor:pointer;font-size:.88em}.jc-evq-btn.armed{background:#fef3c7;border-color:#f59e0b;font-weight:600}.jc-evq-chip{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:2px 8px;margin:4px 6px 0 0;font-size:.82em}.jc-evq-chip button{border:none;background:none;cursor:pointer;color:#64748b}.jc-armed-banner{position:sticky;top:0;background:#fef3c7;border-bottom:1px solid #f59e0b;padding:6px 10px;font-size:.9em;z-index:5}.jc-evq-btn{color:#1e293b!important}.jc-evq-btn.armed{color:#78350f!important}.jc-evq-chip{color:#1e3a8a!important}.jc-armed-banner{color:#78350f!important}.schema-text,.schema-rationale{color:#1e293b!important;background:#fff!important}.app{min-height:100vh;display:flex;flex-direction:column}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box;margin:0;padding:0}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-full{top:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-auto{margin-top:auto}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.aspect-\[3\/4\]{aspect-ratio:3/4}.size-1{width:calc(var(--spacing) * 1);height:calc(var(--spacing) * 1)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-full{height:100%}.min-h-\[7\.5rem\]{min-height:7.5rem}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-full{width:100%}.w-px{width:1px}.max-w-5xl{max-width:var(--container-5xl)}.max-w-md{max-width:var(--container-md)}.min-w-\[11rem\]{min-width:11rem}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-red-400\/30{border-color:#ff65684d}@supports (color:color-mix(in lab,red,red)){.border-red-400\/30{border-color:color-mix(in oklab,var(--color-red-400) 30%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-\[\#09090b\]{background-color:#09090b}.bg-\[\#141416\]{background-color:#141416}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.object-cover{object-fit:cover}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.font-serif{font-family:var(--font-serif)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.65rem\]{font-size:.65rem}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-wrap{text-wrap:wrap}.text-red-200{color:var(--color-red-200)}.text-white{color:var(--color-white)}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.text-white\/45{color:#ffffff73}@supports (color:color-mix(in lab,red,red)){.text-white\/45{color:color-mix(in oklab,var(--color-white) 45%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.text-white\/55{color:color-mix(in oklab,var(--color-white) 55%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-white\/40{text-decoration-color:#fff6}@supports (color:color-mix(in lab,red,red)){.decoration-white\/40{-webkit-text-decoration-color:color-mix(in oklab,var(--color-white) 40%,transparent);text-decoration-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_40px_-12px_rgba\(0\,0\,0\,0\.9\)\]{--tw-shadow:0 16px 40px -12px var(--tw-shadow-color,#000000e6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.contain-style{--tw-contain-style:style;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.\[default\:\"val\"\]{default:"val"}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-white\/80:hover{color:#fffc}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/80:hover{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.hover\:text-white\/90:hover{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/90:hover{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.hover\:shadow-\[0_12px_32px_-14px_rgba\(0\,0\,0\,0\.9\)\]:hover{--tw-shadow:0 12px 32px -14px var(--tw-shadow-color,#000000e6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_16px_40px_-16px_rgba\(0\,0\,0\,0\.9\)\]:hover{--tw-shadow:0 16px 40px -16px var(--tw-shadow-color,#000000e6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-4{padding-top:calc(var(--spacing) * 4)}.sm\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--font-comic:"Shantell Sans", "Comic Sans MS", cursive;--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-tertiary:#3d3d3d;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--text-tertiary:#888;--text-muted:#666;--accent-blue:#4a9eff;--accent-green:#4ade80;--accent-red:#ef4444;--accent-yellow:#fbbf24;--accent-purple:#a78bfa;--accent-orange:#ff9800;--border-color:#4a4a4a;--shadow:#00000080;--surface-dark:#21262d;--surface-mid:#30363d;--surface-border:#8b949e}html{overscroll-behavior:none;height:-webkit-fill-available}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);overscroll-behavior:none;min-height:-webkit-fill-available;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}#root{min-height:100vh;min-height:-webkit-fill-available}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}@keyframes pulse{50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{margin-left:8px;animation:1s ease-in-out infinite pulse;display:inline-block}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-cyrillic-ext-400-normal-CmnrvRWX.woff2) format("woff2"),url(/assets/shantell-sans-cyrillic-ext-400-normal-CRITSbCX.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-cyrillic-400-normal-Cp5KOPMv.woff2) format("woff2"),url(/assets/shantell-sans-cyrillic-400-normal-yzKE5QnF.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-vietnamese-400-normal-CRDTjqOo.woff2) format("woff2"),url(/assets/shantell-sans-vietnamese-400-normal-BGbVhMdP.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-latin-ext-400-normal-Dvojt9UL.woff2) format("woff2"),url(/assets/shantell-sans-latin-ext-400-normal-CtgLysDE.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-latin-400-normal-CcMlhG-a.woff2) format("woff2"),url(/assets/shantell-sans-latin-400-normal-p77rJlyL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-cyrillic-ext-700-normal-xPkvIMXo.woff2) format("woff2"),url(/assets/shantell-sans-cyrillic-ext-700-normal-BrN0m2Ld.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-cyrillic-700-normal-bouRVOKJ.woff2) format("woff2"),url(/assets/shantell-sans-cyrillic-700-normal-U68ojpP8.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-vietnamese-700-normal-CZ4YbZEq.woff2) format("woff2"),url(/assets/shantell-sans-vietnamese-700-normal-DcHbpatw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-latin-ext-700-normal-C6y5wZH8.woff2) format("woff2"),url(/assets/shantell-sans-latin-ext-700-normal-BXH1RhCW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-latin-700-normal-BSvnZVBi.woff2) format("woff2"),url(/assets/shantell-sans-latin-700-normal-DtULRhId.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-cyrillic-ext-400-italic-cl9zZpBy.woff2) format("woff2"),url(/assets/shantell-sans-cyrillic-ext-400-italic-BFp2cRLv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-cyrillic-400-italic-G5u6LpJs.woff2) format("woff2"),url(/assets/shantell-sans-cyrillic-400-italic-D4VxDHaP.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-vietnamese-400-italic-Deab0UEg.woff2) format("woff2"),url(/assets/shantell-sans-vietnamese-400-italic-rkQk-EW4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-latin-ext-400-italic-BP2sTQfF.woff2) format("woff2"),url(/assets/shantell-sans-latin-ext-400-italic-DIC6xV1s.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/shantell-sans-latin-400-italic-aIH2UWh5.woff2) format("woff2"),url(/assets/shantell-sans-latin-400-italic-DFlLMQfF.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-cyrillic-ext-700-italic-l0cjPT7X.woff2) format("woff2"),url(/assets/shantell-sans-cyrillic-ext-700-italic-B6Kx706l.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-cyrillic-700-italic-Dm3ZzVNr.woff2) format("woff2"),url(/assets/shantell-sans-cyrillic-700-italic-DkP8Zo3U.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-vietnamese-700-italic-CnyzVmh3.woff2) format("woff2"),url(/assets/shantell-sans-vietnamese-700-italic-BP_-0gU_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-latin-ext-700-italic-D7RH7WTj.woff2) format("woff2"),url(/assets/shantell-sans-latin-ext-700-italic-BLjOrIXA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/shantell-sans-latin-700-italic-Kaa1MyOA.woff2) format("woff2"),url(/assets/shantell-sans-latin-700-italic-C6FKleqD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-vietnamese-400-normal-BbvBhFjQ.woff2) format("woff2"),url(/assets/bangers-vietnamese-400-normal-Ll9rymNv.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-ext-400-normal-7BLmjjiv.woff2) format("woff2"),url(/assets/bangers-latin-ext-400-normal-CzVt_Cgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-400-normal-DeHY8Ncq.woff2) format("woff2"),url(/assets/bangers-latin-400-normal-BAEm-Pv0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
