@import"https://fonts.googleapis.com/css2?family=Bangers&display=swap";.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;align-items:center;justify-content:flex-end;padding-bottom:48px;pointer-events:auto;animation:gvr-tut-in .35s ease both}.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-tutorial__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000c7;pointer-events:none}.gvr-tutorial__skip{position:absolute;top:16px;right:16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#ffffffbf;font-size:13px;font-weight:500;letter-spacing:.04em;padding:6px 14px;border-radius:20px;cursor:pointer;z-index:2;transition:background .15s,color .15s}.gvr-tutorial__skip:hover{background:#ffffff38;color:#fff}.gvr-tutorial__stage{position:relative;z-index:2;width:120px;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:28px}.gvr-tutorial__text{position:relative;z-index:2;text-align:center;padding:0 32px;margin-bottom:20px}.gvr-tutorial__title{margin:0 0 6px;font-size:18px;font-weight:700;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.8);letter-spacing:-.01em}.gvr-tutorial__subtitle{margin:0;font-size:13px;color:#ffffffb8;line-height:1.5;text-shadow:0 1px 4px rgba(0,0,0,.6)}.gvr-tutorial__dots{position:relative;z-index:2;display:flex;gap:6px}.gvr-tutorial__dot{width:6px;height:6px;border-radius:50%;background:#ffffff40;transition:background .25s,transform .25s}.gvr-tutorial__dot.active{background:#ffffffe6;transform:scale(1.35)}.gvr-tutorial__dot.done{background:#ffffff80}.gvr-gesture{position:relative;width:100%;height:100%}.gvr-gesture__finger{position:absolute;width:38px;height:38px;border-radius:50%;background:#ffffffd9;box-shadow:0 2px 12px #00000080}.gvr-gesture__ripple{position:absolute;width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.6);opacity:0}.gvr-gesture--swipe .gvr-gesture__finger{top:50%;right:14px;transform:translateY(-50%);animation:swipe-move 1.6s ease-in-out .3s infinite}.gvr-gesture--swipe .gvr-gesture__trail{position:absolute;top:50%;right:52px;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:6px;transform:translateY(-50%);font-size:36px;color:#fff9;line-height:1;animation:swipe-arrow 1.6s ease-in-out .3s infinite}@keyframes swipe-move{0%{right:14px;opacity:0}10%{opacity:1}60%{right:70px;opacity:1}80%{right:70px;opacity:0}to{right:14px;opacity:0}}@keyframes swipe-trail{0%{width:0;opacity:0;right:52px}10%{opacity:.7}60%{width:44px;opacity:.7}80%{opacity:0}to{width:0;opacity:0;right:52px}}@keyframes swipe-arrow{0%,10%{opacity:.3;transform:translateY(-50%) translate(0)}40%{opacity:1;transform:translateY(-50%) translate(-6px)}70%,to{opacity:.3;transform:translateY(-50%) translate(0)}}.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}@keyframes tap-finger{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}35%{transform:translate(-50%,-50%) scale(.82);opacity:.9}55%{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes tap-ripple{0%{width:38px;height:38px;opacity:.7}to{width:90px;height:90px;opacity:0;margin-left:-26px;margin-top:-26px}}.gvr-gesture--directions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%}.gvr-gesture__dir-row{display:flex;gap:18px;align-items:center}.gvr-gesture__dir-arrow{font-size:26px;color:#ffffffb3;animation:dir-pulse 2s ease-in-out infinite}.gvr-gesture__dir-arrow--left{animation-delay:0s}.gvr-gesture__dir-arrow--up{animation-delay:.3s}.gvr-gesture__dir-arrow--right{animation-delay:.6s}@keyframes dir-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.gvr-gesture__or{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff6}.gvr-gesture__keyboard{font-size:14px;color:#ffffffa6;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:4px 10px}.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}@keyframes dtap-finger{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}18%{transform:translate(-50%,-50%) scale(.82)}32%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(.82)}58%,90%{transform:translate(-50%,-50%) scale(1)}}.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;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}.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:Comic Neue,CC Wild Words,Arial Rounded MT Bold,-apple-system,BlinkMacSystemFont,sans-serif;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,.comic-bubble--thought{animation-name:bubble-pop-centered}.comic-bubble--speech{background:#fff;border:2px solid #111;border-radius:12px;padding:5px 11px 7px;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--caption{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:-apple-system,BlinkMacSystemFont,Segoe UI,Georgia,sans-serif;font-size:13px;font-style:italic;line-height:1.4;color:#fff0c8eb;letter-spacing:.01em;text-align:left}.comic-bubble--caption .comic-bubble__text{margin:0;font-family:Bangers,Comic Sans MS,cursive;font-size:17px;line-height:1.35;color:#f0e6c8;letter-spacing:.04em;font-style:italic}.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:scale(.85) translateY(8px);opacity:0}to{transform: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,.85) 60%,transparent);padding:16px 16px 24px;pointer-events:auto;display:flex;flex-direction:column;align-items:center}.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-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;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:44vw;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:28px;line-height:1;color:#ffffffbf;text-shadow:0 2px 8px rgba(0,0,0,.9);padding:4px;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:180px;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--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-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{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding-bottom:28px;cursor:pointer;animation:gvr-consequence-in .35s cubic-bezier(.16,1,.3,1) both}@keyframes gvr-consequence-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gvr-consequence__text{display:block;max-width:80%;background:#000c;border-radius:4px;padding:10px 18px;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.5;text-align:center;pointer-events:none}.gvr-consequence--caption .gvr-consequence__text{color:#ffffffeb;font-style:italic;border-left:2px solid rgba(255,255,255,.25)}.gvr-consequence--dialogue .gvr-consequence__text{color:#fff0c8f2;font-style:normal}.gvr-consequence--interiority .gvr-consequence__text{color:#c8dcffe6;font-style:italic}.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}.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:var(--bg-secondary);border-radius:12px 12px 0 0;border:1px solid var(--border-color);border-bottom:none;position:relative;--narrative-h-pad: 24px}.narrative-content{max-width:800px;margin:0 auto}.narrative-entry{position:relative;margin-bottom:20px;animation:fadeIn .3s ease-in}.narrative-entry p{font-size:1.1rem;line-height:1.8;color:var(--text-primary);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:4px solid var(--accent-blue);margin-top:16px}.player-action-text{margin-top:24px;margin-bottom:8px}.player-action-text p{color:var(--text-secondary);font-size:1.05rem}.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,var(--bg-secondary) 60%,transparent);color:var(--text-secondary);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-size:1.1rem;line-height:1.8;color:var(--text-primary);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:.95rem;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:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;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)}.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:var(--bg-secondary);border-radius:0 0 12px 12px;border:1px solid var(--border-color);border-top:none;margin-top:0;position:relative}.choices-grid{display:flex;flex-direction:column;gap:8px}.choice-button{padding:16px 20px;background-color:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:500;text-align:left;transition:all .2s ease}.choice-button:hover:not(:disabled){background-color:var(--accent-blue);border-color:var(--accent-blue);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.choice-button:active:not(:disabled){transform:translateY(0)}.choice-button:disabled{opacity:.5;cursor:not-allowed}.write-in-section{margin-top:12px;position:relative}.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 14px;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;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:var(--accent-blue)}.write-in-input:focus{outline:none;border-color:var(--accent-blue);border-style:solid}.write-in-input::placeholder{color:var(--text-secondary);font-style:italic}.write-in-input:disabled{opacity:.5;cursor:not-allowed}.write-in-submit{padding:10px 16px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.write-in-submit:hover:not(:disabled){background-color:var(--accent-green)}.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:4px solid #6c91ff}.choice-type-dialogue:hover:not(:disabled){border-left-color:#6c91ff;box-shadow:0 4px 12px #6c91ff4d}.choice-type-action{border-left:4px solid #ff6b6b}.choice-type-action:hover:not(:disabled){border-left-color:#ff6b6b;box-shadow:0 4px 12px #ff6b6b4d}.choice-type-observation{border-left:4px solid #ffd93d}.choice-type-observation:hover:not(:disabled){border-left-color:#ffd93d;box-shadow:0 4px 12px #ffd93d4d}.choice-type-internal{border-left:4px solid #a78bfa}.choice-type-internal:hover:not(:disabled){border-left-color:#a78bfa;box-shadow:0 4px 12px #a78bfa4d}@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}@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}.prefs-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;padding:1rem}.prefs-modal{background:#1a1a2e;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.prefs-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.prefs-modal-header h2{margin:0;font-size:1.25rem;color:#fff}.prefs-modal-close{background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.prefs-modal-close:hover{color:#fff}.prefs-modal-content{padding:1.5rem}.prefs-error{background:#ff646433;color:#ff6b6b;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.prefs-section{margin-bottom:1.5rem}.prefs-section:last-child{margin-bottom:0}.prefs-section h3{margin:0 0 .5rem;font-size:1rem;color:#fff;font-weight:600}.prefs-description{margin:0 0 .75rem;font-size:.875rem;color:#fff9}.prefs-options{display:flex;flex-direction:column;gap:.5rem}.prefs-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s}.prefs-option:hover{background:#ffffff14;border-color:#fff3}.prefs-option.selected{background:#6495ed26;border-color:#6495ed}.prefs-option input[type=radio]{margin-top:.25rem;accent-color:cornflowerblue}.prefs-option-content{display:flex;flex-direction:column;gap:.25rem}.prefs-option-name{color:#fff;font-weight:500}.prefs-option-desc{font-size:.8rem;color:#fff9}.prefs-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer}.prefs-toggle input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:cornflowerblue}.prefs-toggle-label{color:#fff}.prefs-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.prefs-cancel,.prefs-save{padding:.6rem 1.25rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.prefs-cancel{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fffc}.prefs-cancel:hover{background:#ffffff1a}.prefs-save{background:#6495ed;border:none;color:#fff;font-weight:500}.prefs-save:hover:not(:disabled){background:#5a8dd8}.prefs-save:disabled{opacity:.6;cursor:not-allowed}.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}.story-features{margin-bottom:20px}.story-features h4{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--accent-blue);margin:0 0 10px;font-weight:600}.tropes-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.tropes-list li{font-size:.9rem;color:var(--text-secondary);padding-left:16px;position:relative;text-transform:capitalize}.tropes-list li:before{content:"•";position:absolute;left:0;color:var(--accent-green);font-weight:700}.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}.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}.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}.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-card:hover,.template-card:focus{background:#2196f34d!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:none!important}.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-tropes{margin-bottom:16px}.mobile-info-content .info-tropes h4{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--accent-blue);margin:0 0 8px}.mobile-info-content .info-tropes ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.mobile-info-content .info-tropes li{font-size:.8rem;color:var(--text-secondary);background:#ffffff0d;padding:4px 10px;border-radius:4px;text-transform:capitalize}.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-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)}.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:#1e1e28f2;border:1px solid rgba(100,100,120,.3);border-radius:12px;margin-top:16px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 4px 20px #0000004d;width:100%;max-width:1200px}.multi-agent-activity.minimized{cursor:pointer;transition:background .2s ease}.multi-agent-activity.minimized:hover{background:#282837f2}.wr-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#323241cc;border-bottom:1px solid rgba(100,100,120,.2)}.wr-header-left{display:flex;align-items:center;gap:10px}.wr-header-right{display:flex;align-items:center;gap:12px}.wr-icon{font-size:1.2em}.wr-header h4{margin:0;font-size:.95rem;font-weight:600;color:#e0e0e0}.wr-connection{font-size:.75rem;padding:2px 8px;border-radius:10px;background:#0000004d}.wr-connection.connected{color:#4ade80}.wr-connection.disconnected{color:#f87171}.wr-progress-text{font-size:.8rem;color:#a0a0b0}.wr-minimize-btn,.wr-expand-btn{background:none;border:none;color:#a0a0b0;cursor:pointer;padding:4px 8px;font-size:.8rem;transition:color .2s ease}.wr-minimize-btn:hover,.wr-expand-btn:hover{color:#fff}.wr-header-mini{display:flex;align-items:center;gap:12px;padding:10px 16px}.wr-title-mini{font-size:.85rem;font-weight:600;color:#e0e0e0}.wr-progress-mini{flex:1;height:4px;background:#6464784d;border-radius:2px;overflow:hidden}.wr-progress-bar{height:100%;background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:2px;transition:width .3s ease}.wr-status-mini{font-size:.75rem;color:#a0a0b0;white-space:nowrap}.wr-content{padding:16px}.wr-waiting{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;color:#a0a0b0}.wr-waiting p{margin:0;font-size:.85rem}.wr-spinner{width:24px;height:24px;border:2px solid rgba(139,92,246,.3);border-top-color:#8b5cf6;border-radius:50%;animation:wr-spin .8s linear infinite}.wr-spinner-small{display:inline-block;width:12px;height:12px;border:2px solid rgba(139,92,246,.3);border-top-color:#8b5cf6;border-radius:50%;animation:wr-spin .8s linear infinite}@keyframes wr-spin{to{transform:rotate(360deg)}}.wr-agents{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.wr-agent-card{background:#32324199;border:1px solid rgba(100,100,120,.2);border-radius:8px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;min-height:44px}.wr-agent-card.running{border-color:#8b5cf680;box-shadow:0 0 10px #8b5cf633}.wr-agent-card.complete{border-color:#4ade804d;cursor:pointer}.wr-agent-card.complete:hover{background:#3c3c4b99}.wr-agent-card.error{border-color:#f8717180}.wr-agent-header{display:flex;align-items:center;gap:8px}.wr-agent-icon{font-size:1.1em}.wr-agent-name{flex:1;font-size:.85rem;font-weight:500;color:#e0e0e0}.wr-agent-status{display:flex;align-items:center}.wr-check{color:#4ade80;font-weight:700}.wr-error{color:#f87171;font-weight:700}.wr-agent-tokens{font-size:.75rem;color:#a78bfa;margin-top:6px;padding-left:28px}.wr-agent-summary{display:flex;gap:12px;font-size:.75rem;color:#a0a0b0;margin-top:6px;padding-left:28px}.wr-agent-reasoning{margin-top:8px;padding:8px 12px;background:#0003;border-radius:6px;font-size:.8rem;color:#c0c0d0;line-height:1.4}.wr-agent-reasoning p{margin:0}.wr-agent-preview{margin-top:8px;padding:10px 12px;background:#0000004d;border-radius:6px;max-height:200px;overflow-y:auto;position:relative}.wr-agent-preview pre,.wr-agent-preview .wr-formatted-content{margin:0;font-size:.85rem;color:#d0d0e0;white-space:pre-wrap;word-break:break-word;font-family:Georgia,Times New Roman,serif;line-height:1.6;font-style:italic}.wr-agent-preview::-webkit-scrollbar{width:4px}.wr-agent-preview::-webkit-scrollbar-track{background:#0003;border-radius:2px}.wr-agent-preview::-webkit-scrollbar-thumb{background:#8b5cf666;border-radius:2px}.wr-synthesis{margin-top:12px;background:#3c325066;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:12px}.wr-synthesis.running{border-color:#8b5cf680;box-shadow:0 0 15px #8b5cf626}.wr-synthesis.complete{border-color:#4ade804d}.wr-synthesis-header{display:flex;align-items:center;gap:10px}.wr-synthesis-icon{font-size:1.2em}.wr-synthesis-title{font-weight:600;color:#e0e0e0;font-size:.9rem}.wr-synthesis-status{margin-left:auto;font-size:.8rem;color:#a0a0b0;display:flex;align-items:center;gap:6px}.wr-synthesis-preview{margin-top:10px;padding:12px 14px;background:#0000004d;border-radius:6px;max-height:300px;overflow-y:auto;position:relative}.wr-synthesis-preview pre,.wr-synthesis-preview .wr-formatted-content{margin:0;font-size:.9rem;color:#e0e0f0;white-space:pre-wrap;word-break:break-word;line-height:1.7;font-family:Georgia,Times New Roman,serif}.wr-synthesis-preview::-webkit-scrollbar{width:4px}.wr-synthesis-preview::-webkit-scrollbar-track{background:#0003;border-radius:2px}.wr-synthesis-preview::-webkit-scrollbar-thumb{background:#8b5cf666;border-radius:2px}.wr-synthesis-stats{display:flex;gap:16px;margin-top:10px;font-size:.75rem;color:#a0a0b0}.wr-synthesis-stats span{display:flex;align-items:center;gap:4px}.wr-content::-webkit-scrollbar{width:6px}.wr-content::-webkit-scrollbar-track{background:#0003;border-radius:3px}.wr-content::-webkit-scrollbar-thumb{background:#8b5cf666;border-radius:3px}.wr-content::-webkit-scrollbar-thumb:hover{background:#8b5cf699}.story-viewer>.multi-agent-activity{position:fixed;right:20px;bottom:20px;z-index:150;animation:slideInFromRight .3s ease-out;width:500px;max-width:90vw;max-height:calc(100vh - 100px)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.wr-pipeline-nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}.wr-agent-card.display-type-llm{border-color:#8b5cf666}.wr-agent-card.display-type-llm.running{border-color:#8b5cf699;box-shadow:0 0 15px #8b5cf633}.wr-agent-card.display-type-ensemble{border-color:#3b82f666}.wr-agent-card.display-type-ensemble.running{border-color:#3b82f699;box-shadow:0 0 15px #3b82f633}.wr-agent-card.display-type-conditional{border-color:#eab30866}.wr-node-model{display:flex;gap:8px;font-size:.7rem;color:#808090;margin-top:4px;padding-left:28px}.wr-model-backend{background:#6464784d;padding:1px 6px;border-radius:4px;text-transform:uppercase}.wr-model-name{opacity:.8}.wr-node-progress{display:flex;align-items:center;gap:8px;margin-top:6px;padding-left:28px}.wr-node-progress-bar{flex:1;height:4px;background:#6464784d;border-radius:2px;overflow:hidden}.wr-node-progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:2px;transition:width .3s ease}.wr-node-progress-percent{font-size:.7rem;color:#a0a0b0;min-width:35px}.wr-ensemble-node{background:#282837cc;border:1px solid rgba(139,92,246,.3);border-radius:10px;overflow:hidden}.wr-ensemble-node.running{border-color:#8b5cf680;box-shadow:0 0 15px #8b5cf626}.wr-ensemble-node.complete{border-color:#4ade804d}.wr-ensemble-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#3c3c4b99;cursor:pointer}.wr-ensemble-header:hover{background:#46465599}.wr-ensemble-header-left{display:flex;align-items:center;gap:8px}.wr-ensemble-header-right{display:flex;align-items:center;gap:10px}.wr-ensemble-progress{font-size:.8rem;color:#a78bfa}.wr-toggle-btn{background:none;border:none;color:#a0a0b0;font-size:.7rem;cursor:pointer;padding:2px}.wr-ensemble-content{padding:12px}.wr-ensemble-components{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:12px}.wr-ensemble-footer{padding:8px 14px;background:#32324180;font-size:.75rem;color:#a0a0b0;text-align:right}.wr-component-card{background:#1e1e2899;border:1px solid rgba(100,100,120,.2);border-radius:6px;padding:8px 10px}.wr-component-card.running{border-color:#8b5cf666}.wr-component-card.complete{border-color:#4ade8033}.wr-component-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.wr-component-icon{font-size:.9em}.wr-component-name{flex:1;font-size:.8rem;font-weight:500;color:#d0d0e0}.wr-component-status{display:flex;align-items:center}.wr-component-tokens,.wr-component-time{font-size:.7rem;color:#a0a0b0;margin-left:20px}.wr-component-preview{margin-top:6px;padding:6px 8px;background:#0000004d;border-radius:4px;max-height:80px;overflow-y:auto;font-size:.75rem;color:#c0c0d0;font-style:italic}.multi-agent-activity.fallback-progress{background:#1e1e28f2}.wr-fallback-stage{text-align:center;padding:16px 0}.wr-fallback-stage p{margin:0 0 16px;font-size:.95rem;color:#c0c0d0;font-style:italic}.wr-progress-bar-container{display:flex;align-items:center;gap:12px;max-width:400px;margin:0 auto}.wr-progress-bar-track{flex:1;height:8px;background:#6464784d;border-radius:4px;overflow:hidden}.wr-progress-bar-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:4px;transition:width .3s ease}.wr-progress-percent{font-size:.85rem;color:#a0a0b0;min-width:40px;text-align:right}@media (max-width: 768px){.wr-agents{grid-template-columns:1fr}.wr-content{max-height:350px}.wr-agent-preview{height:80px}.wr-synthesis-preview{height:100px}}.loading-experience{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:400px;padding:1rem 2rem;position:relative;overflow:hidden}.loading-experience.minimal{flex-direction:row;gap:1rem;min-height:auto;padding:1rem}.loading-header{display:flex;flex-direction:column;align-items:center;text-align:center;z-index:2;margin-bottom:1rem;width:100%;max-width:600px}.loading-header .loading-phase{margin-bottom:.25rem;font-size:1.1rem}.loading-header .loading-statement{margin-bottom:.5rem;font-size:.9rem;opacity:.8}.loading-header .loading-progress-container.compact{margin-top:.5rem}.loading-content{display:flex;flex-direction:column;align-items:center;text-align:center;z-index:2;flex:1;width:100%;max-width:1200px;padding:0 1rem}.loading-icon{position:relative;width:60px;height:60px;margin-bottom:1.5rem}.quill-icon{width:100%;height:100%;animation:quillWrite 2s ease-in-out infinite}.quill-body{fill:var(--accent-primary, #6366f1);opacity:.9}.quill-tip{fill:var(--accent-secondary, #818cf8);animation:tipGlow 1.5s ease-in-out infinite alternate}@keyframes quillWrite{0%,to{transform:translateY(0) rotate(-5deg)}25%{transform:translateY(-2px) rotate(-3deg)}50%{transform:translateY(0) rotate(-7deg)}75%{transform:translateY(-1px) rotate(-4deg)}}@keyframes tipGlow{0%{opacity:.6}to{opacity:1}}.ink-drops{position:absolute;bottom:0;left:50%;transform:translate(-50%)}.ink-drops span{position:absolute;width:4px;height:4px;background:var(--accent-primary, #6366f1);border-radius:50%;opacity:0;animation:inkDrop 2s ease-in infinite}.ink-drops span:nth-child(1){left:-8px;animation-delay:0s}.ink-drops span:nth-child(2){left:0;animation-delay:.3s}.ink-drops span:nth-child(3){left:8px;animation-delay:.6s}@keyframes inkDrop{0%{transform:translateY(0) scale(1);opacity:.8}50%{opacity:.4}to{transform:translateY(20px) scale(.5);opacity:0}}.loading-phase{font-size:1.1rem;font-weight:600;color:var(--text-primary, #e2e8f0);margin:0 0 .75rem;letter-spacing:.02em}.loading-statement{font-size:.95rem;color:var(--text-secondary, #94a3b8);font-style:italic;margin:0 0 1.5rem;min-height:1.5em;transition:opacity .3s ease;max-width:300px}.loading-statement.fade-out{opacity:0}.loading-statement.fade-in{opacity:1}.loading-progress-container{width:100%;max-width:280px}.loading-progress-bar{position:relative;height:6px;background:var(--bg-tertiary, #1e293b);border-radius:3px;overflow:hidden}.loading-progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--accent-primary, #6366f1),var(--accent-secondary, #818cf8));border-radius:3px;transition:width .3s ease-out}.loading-progress-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 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:.75rem}.progress-time{color:var(--text-primary, #e2e8f0);font-weight:500}.progress-estimate{color:var(--text-tertiary, #64748b)}.loading-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.loading-particles span{position:absolute;width:3px;height:3px;background:var(--accent-primary, #6366f1);border-radius:50%;opacity:0;animation:particleFloat 4s ease-in-out infinite}.loading-particles span:nth-child(1){left:10%;animation-delay:0s}.loading-particles span:nth-child(2){left:25%;animation-delay:.7s}.loading-particles span:nth-child(3){left:40%;animation-delay:1.4s}.loading-particles span:nth-child(4){left:60%;animation-delay:2.1s}.loading-particles span:nth-child(5){left:75%;animation-delay:2.8s}.loading-particles span:nth-child(6){left:90%;animation-delay:3.5s}@keyframes particleFloat{0%{bottom:-10px;opacity:0;transform:translate(0) scale(1)}20%{opacity:.6}80%{opacity:.3}to{bottom:100%;opacity:0;transform:translate(20px) scale(.5)}}.loading-dots{display:flex;gap:4px}.loading-dots span{width:6px;height:6px;background:var(--accent-primary, #6366f1);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}}.loading-experience[data-genre=romantasy]{--accent-primary: #ec4899;--accent-secondary: #f472b6}.loading-experience[data-genre=mystery]{--accent-primary: #8b5cf6;--accent-secondary: #a78bfa}.loading-experience[data-genre=thriller]{--accent-primary: #ef4444;--accent-secondary: #f87171}@media (prefers-color-scheme: dark){.loading-progress-bar{background:#ffffff1a}}@media (max-width: 480px){.loading-experience{padding:1.5rem;min-height:180px}.loading-icon{width:48px;height:48px;margin-bottom:1rem}.loading-phase{font-size:1rem}.loading-statement{font-size:.9rem}.loading-progress-container{max-width:240px}}.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 #30363d;border-top:none;border-radius:0 0 12px 12px;background:var(--bg-primary);display:flex;flex-direction:column}.rp-fluent-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:var(--bg-primary);border-bottom:1px solid #21262d;min-height:32px}.rp-fluent-left{display:flex;align-items:center;gap:8px}.rp-pacing-bar{display:flex;align-items:center;gap:8px;padding:3px 12px;background:#1c2128;border-bottom:1px solid #21262d;font-size:11px;color:#8b949e}.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:#21262d;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 8px;max-width:800px;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:1.1rem;line-height:1.5;color:#e6edf3;margin:0 0 1.1em;animation:rp-fade-in .2s ease;position:relative}.rp-prose-speaker{font-weight:700;font-size:.78em;text-transform:uppercase;letter-spacing:.06em;color:#58a6ff;margin-right:.2em}.rp-prose-player .rp-prose-speaker{color:#8b949e}.rp-prose-player{color:#b0c4d8}.rp-prose-dimmed{opacity:.5;transition:opacity .2s ease}.rp-prose-dimmed:hover{opacity:.8}.rp-action-beat{font-style:italic;color:#8b949e}.rp-panel-worthy .rp-prose-entry,.rp-prose-entry.rp-panel-worthy{border-left:2px solid rgba(167,139,250,.3);padding-left:10px}.rp-streaming{color:#c9d1d9}.rp-cursor{animation:rp-blink .8s infinite;color:#58a6ff}@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:#6e7681;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:6px 10px 8px;background:var(--bg-primary);border-top:1px solid #21262d}.rp-phase-label{font-size:.72rem;color:#a78bfa;font-style:italic;margin-bottom:4px;padding:0 2px}.rp-suggestions{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.rp-suggestion-pill{padding:3px 10px;background:#21262d;border:1px solid #30363d;border-radius:14px;color:#8b949e;cursor:pointer;font-size:.78rem;font-family:Georgia,serif;transition:all .15s ease;white-space:nowrap}.rp-suggestion-pill:hover{background:#30363d;color:#e6edf3;border-color:#8b949e}.rp-suggestion-pill.selected{background:#1a3a5c;border-color:#58a6ff;color:#58a6ff}.rp-suggestion-pill:disabled{opacity:.5;cursor:not-allowed}.rp-input-row{display:flex;gap:6px;align-items:center}.rp-text-input{flex:1;padding:6px 10px;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-size:.88rem;font-family:Georgia,serif;outline:none;transition:border-color .15s ease}.rp-text-input:focus{border-color:#58a6ff}.rp-text-input:disabled{opacity:.5}.rp-text-input::placeholder{color:#484f58}.rp-identity-btn{flex-shrink:0;max-width:80px;padding:4px 10px;background:#8a5cf626;border:1px solid rgba(138,92,246,.4);border-radius:6px;color:#c4b5fd;font-size:.78rem;font-family:Georgia,serif;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease,border-color .15s ease}.rp-identity-btn:hover{background:#8a5cf640;border-color:#8a5cf699}.rp-send-button{width:32px;height:32px;padding:0;background:#238636;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rp-send-button:hover:not(:disabled){background:#2ea043}.rp-send-button:disabled{opacity:.3;cursor:not-allowed}.rp-exit-button{width:32px;height:32px;padding:0;background:transparent;border:1px solid #30363d;border-radius:6px;color:#6e7681;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rp-exit-button:hover{background:#21262d;color:#e6edf3;border-color:#8b949e}.rp-indirect-toggle{width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:1.05rem;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:#21262d}.rp-indirect-toggle.active{opacity:1;border-color:var(--accent, #388bfd);background:#1c2c42}.rp-interpretation-note{color:var(--text-muted, #8b949e);font-size:.78em;font-style:italic;margin:0 0 4px;padding:0 4px}.rp-strip-action-bar{display:flex;align-items:center;justify-content:flex-end;padding:4px 16px;border-bottom:1px solid #21262d}.rp-generate-strip-btn{padding:4px 12px;background:transparent;border:1px solid #30363d;border-radius:5px;color:#8b949e;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s ease;letter-spacing:.02em}.rp-generate-strip-btn:hover:not(:disabled){background:#21262d;color:#e6edf3;border-color:#8b949e}.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:#a78bfa80;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:inline-flex;gap:2px;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:2px;margin:2px 0 6px;animation:rp-fade-in .15s ease}.rp-action-btn{width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:#8b949e;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.rp-action-btn:hover{background:#30363d;color:#e6edf3}.rp-branch-picker{display:flex;align-items:center;gap:4px;padding:2px 6px;background:#a78bfa14;border:1px solid rgba(167,139,250,.2);border-radius:4px}.rp-branch-arrow{width:18px;height:18px;padding:0;background:transparent;border:none;color:#a78bfa;cursor:pointer;font-size:.55rem;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all .12s ease}.rp-branch-arrow:hover:not(:disabled){background:#a78bfa26}.rp-branch-arrow:disabled{color:#484f58;cursor:not-allowed}.rp-branch-label{font-size:.68rem;color:#a78bfa;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:#a78bfa33}.rp-fork-label{font-size:.65rem;color:#a78bfa;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:5px 8px;background:#0d1117;border:1px solid #a78bfa44;border-radius:6px;color:#e6edf3;font-size:.82rem;font-family:Georgia,serif;outline:none;min-width:180px}.rp-branch-text-input:focus{border-color:#a78bfa}.rp-branch-submit-btn{padding:5px 10px;background:#a78bfa26;border:1px solid #a78bfa44;border-radius:6px;color:#a78bfa;cursor:pointer;font-size:.75rem;font-weight:600;white-space:nowrap;transition:all .15s ease}.rp-branch-submit-btn:hover:not(:disabled){background:#a78bfa40;border-color:#a78bfa}.rp-branch-submit-btn:disabled{opacity:.4;cursor:not-allowed}.rp-branch-cancel-btn{padding:5px 8px;background:transparent;border:1px solid #30363d;border-radius:6px;color:#8b949e;cursor:pointer;font-size:.75rem;transition:all .15s ease}.rp-branch-cancel-btn:hover:not(:disabled){background:#21262d;color:#e6edf3}@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:2px;padding:4px 8px;padding-top:max(4px,env(safe-area-inset-top));background:var(--bg-primary);border-bottom:1px solid #21262d;flex-shrink:0}.rp-mobile-tab-btn{flex:1;padding:5px 0;background:transparent;border:1px solid #30363d;border-radius:5px;color:#6e7681;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s ease}.rp-mobile-tab-btn.rp-mobile-tab-active{background:#21262d;color:#e6edf3;border-color:#8b949e}.rp-mobile-comic-view{display:flex;flex:1;min-height:0;overflow-y:auto}.rp-mobile-comic-view>*{flex:1;min-height:0}}.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}}.cflow-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.cflow-exit-btn{position:absolute;top:16px;right:16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:36px;height:36px;color:#ffffffb3;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}.cflow-exit-btn:hover{background:#fff3;color:#fff}.cflow-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#ffffff8c;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.cflow-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.12);border-top-color:#fff9;border-radius:50%;animation:cflow-spin .75s linear infinite}.cflow-spinner--small{width:18px;height:18px;border-width:2px}@keyframes cflow-spin{to{transform:rotate(360deg)}}.cflow-choices-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40}.cflow-choices-sheet{position:absolute;bottom:0;left:0;right:0;pointer-events:auto;background:#0a0a12f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.1);border-radius:18px 18px 0 0;padding:16px 16px calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:9px;animation:cflow-sheet-up .38s cubic-bezier(.16,1,.3,1) both}@keyframes cflow-sheet-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cflow-choices-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:0 2px 4px}.cflow-choice{width:100%;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);border-radius:10px;padding:11px 14px;color:#e2e8f0;font-size:14px;line-height:1.4;text-align:left;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .15s,border-color .15s,transform .1s;border-left-width:3px}.cflow-choice:active{transform:scale(.98);background:#ffffff1a}.cflow-choice--dialogue{border-left-color:#63b3ed}.cflow-choice--action{border-left-color:#fc8181}.cflow-choice--observation{border-left-color:#f6e05e}.cflow-choice--internal{border-left-color:#b794f4}.cflow-generating{display:flex;align-items:center;gap:10px;color:#ffffff73;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:8px 2px}.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}.cin-reader{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;width:100vw;z-index:400;background:#0a0a0f;font-family:Georgia,serif;color:#e8e4f0}.cin-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;gap:0}.cin-scroll::-webkit-scrollbar{width:4px}.cin-scroll::-webkit-scrollbar-track{background:transparent}.cin-scroll::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.cin-turn-page{scroll-snap-align:start;width:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;flex-shrink:0}.cin-turn-page--loading{display:flex;align-items:center;justify-content:center}.cin-skeleton{width:min(90vw,480px);aspect-ratio:1024 / 1536;display:flex;flex-direction:column;gap:8px;padding:8px}.cin-skeleton-panel{flex:1;background:linear-gradient(160deg,#1a1a2e,#0d0d1a);border-radius:4px;animation:cin-shimmer 1.6s ease-in-out infinite}.cin-skeleton-panel--large{flex:2}.cin-skeleton-row{display:flex;gap:8px;flex:1}@keyframes cin-shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.cin-progressive-grid{width:min(90vw,480px);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;padding:6px;background:#000;border-radius:4px;position:relative}.cin-progressive-panel{overflow:hidden;border-radius:3px;min-height:0}.cin-progressive-panel:first-child{grid-column:1 / -1}.cin-progressive-panel--pending{background:linear-gradient(160deg,#1a1a2e,#0d0d1a);animation:cin-shimmer 1.6s ease-in-out infinite}.cin-progressive-img{width:100%;height:100%;object-fit:cover;display:block;animation:cin-panel-fade-in .4s ease-out}@keyframes cin-panel-fade-in{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.cin-progressive-status{position:absolute;bottom:10px;right:10px;background:#000000b3;color:#a0aec0;font-size:11px;padding:2px 8px;border-radius:10px}.cin-skeleton-panel--inline{width:100%;height:100%;min-height:80px}.cin-fallback-grid{position:relative;width:min(90vw,480px);background:#000;border-radius:4px;overflow:hidden}.cin-fallback-panel{overflow:hidden;border:2px solid #1a1a2e;cursor:pointer;transition:border-color .2s}.cin-fallback-panel:hover{border-color:#a78bfa80}.cin-fallback-img{display:block;width:100%;height:100%;object-fit:cover}@keyframes cin-pan-wide{0%{object-position:15% 50%}50%{object-position:85% 50%}to{object-position:15% 50%}}.cin-fallback-img--wide{animation:cin-pan-wide 18s ease-in-out infinite}.cin-fallback-placeholder{width:100%;height:100%;background:linear-gradient(160deg,#1a1a2e,#0d0d1a);animation:cin-shimmer 1.6s ease-in-out infinite}.cin-fallback-text{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 100%);z-index:2}.cin-fallback-line{margin:0 0 2px;font-size:.7rem;line-height:1.3;color:#e8e4f0}.cin-fallback-line:last-child{margin-bottom:0}.cin-fallback-line--dialogue{color:#f0eaff;background:#0000008c;border-radius:6px;padding:3px 6px;display:inline-block}.cin-fallback-line--caption{font-style:italic;background:#f5e642e0;color:#1a1a00;border-radius:3px;padding:2px 6px;display:inline-block}.cin-fallback-line--interiority{font-style:italic;background:#a78bfa40;color:#e6dcfff2;border:1px solid rgba(167,139,250,.45);border-radius:12px;padding:3px 8px;display:inline-block}.cin-crossfade-enter{animation:cin-crossfade-in .6s ease-out forwards}@keyframes cin-crossfade-in{0%{opacity:0}to{opacity:1}}.cin-sprite-overlay{position:absolute;bottom:28px;width:38%;max-width:200px;pointer-events:none;z-index:10;display:flex;flex-direction:column;align-items:center}.cin-sprite-overlay--left{left:0}.cin-sprite-overlay--right{right:0}.cin-sprite-overlay--left{animation:cin-sprite-enter-left .35s cubic-bezier(.16,1,.3,1) both}.cin-sprite-overlay--right{animation:cin-sprite-enter-right .35s cubic-bezier(.16,1,.3,1) both}@keyframes cin-sprite-enter-left{0%{transform:translate(-24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes cin-sprite-enter-right{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.cin-sprite-img{width:100%;height:auto;object-fit:contain;display:block;filter:drop-shadow(0 4px 12px rgba(0,0,0,.7))}.cin-sprite-name{display:block;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:#dcd2ffbf;padding:2px 6px;background:#00000080;border-radius:3px;margin-top:-1px}.cin-choices{width:85%;max-width:680px;padding:16px 0 32px}.cin-choices .choice-buttons{background:none;border:none;padding:0;margin:0;width:100%;max-width:100%;box-sizing:border-box}.cin-choices .choices-grid{width:100%;max-width:100%}.cin-choices .choice-button{width:100%;box-sizing:border-box;background:#0805129e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#f0eaff;font-size:1.05rem;font-weight:500;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;padding:12px 16px;border-radius:8px;text-align:left;transition:background .15s,border-color .15s}.cin-choices .choice-button:hover:not(:disabled){background:#503296b8;border-color:#b48cff73;color:#fff;transform:none;box-shadow:none}.cin-choices .write-in-section{margin-top:8px}.cin-choices .write-in-form{display:flex;gap:8px}.cin-choices .write-in-input{background:#0805129e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f0eaff;font-size:1rem;padding:11px 14px;width:100%;box-sizing:border-box}.cin-choices .write-in-input::placeholder{color:#c8b4ff66}.cin-choices .write-in-input:focus{outline:none;border-color:#b48cff80}.cin-choices .write-in-submit{background:#503296b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(180,140,255,.35);border-radius:8px;color:#f0eaff;font-size:.95rem;padding:11px 18px;white-space:nowrap;cursor:pointer}.cin-generating{position:fixed;bottom:60px;left:50%;transform:translate(-50%);z-index:120;display:flex;align-items:center;gap:6px;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:20px;padding:8px 16px;pointer-events:none}.cin-loading-dot{width:7px;height:7px;border-radius:50%;background:#ffffffd9;animation:cin-bounce 1.1s ease-in-out infinite}.cin-loading-dot:nth-child(2){animation-delay:.18s}.cin-loading-dot:nth-child(3){animation-delay:.36s}.cin-loading-dot--large{width:10px;height:10px}@keyframes cin-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}@keyframes cin-pulse{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.cin-initial-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.cin-sprites-loading{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:415;background:#000000a6;border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:6px 14px;font-size:12px;color:#aaa;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.cin-exit-btn{position:fixed;top:14px;right:16px;z-index:9500;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#00000080;color:#ddd;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cin-exit-btn:hover{background:#fff3;color:#fff}.cin-nameplate{display:inline-block;font-family:Arial Black,Arial,sans-serif;font-size:.55rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#f5e6c8;margin-bottom:2px;text-shadow:0 0 12px rgba(200,140,60,.8),0 1px 3px rgba(0,0,0,.9)}.cin-chapter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#000000e0;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;animation:cin-chapter-enter .6s ease;padding:40px;text-align:center}.cin-chapter-overlay:before{content:"";position:absolute;top:50%;left:50%;width:min(400px,80vw);height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.4),transparent);transform:translate(-50%,-80px)}.cin-chapter-overlay:after{content:"";position:absolute;top:50%;left:50%;width:min(400px,80vw);height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.4),transparent);transform:translate(-50%,80px)}.cin-chapter-content{display:flex;flex-direction:column;align-items:center;gap:12px}.cin-chapter-number{font-size:.75rem;font-weight:700;letter-spacing:.25em;color:#ffffffbf;text-transform:uppercase;margin:0;padding-top:8px;text-shadow:0 1px 8px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.7)}.cin-chapter-title{font-size:clamp(1.5rem,5vw,2.4rem);font-weight:700;letter-spacing:.04em;color:#fff;margin:0;line-height:1.15;max-width:min(600px,85vw);text-shadow:0 0 0 2px rgba(0,0,0,.8),0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.8)}.cin-chapter-theme{font-size:.85rem;font-style:italic;color:#ffffffb3;margin:0;letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.7)}.cin-chapter-dismiss{position:absolute;bottom:32px;left:50%;transform:translate(-50%);font-size:.7rem;letter-spacing:.1em;color:#fff9;margin:0;text-shadow:0 1px 6px rgba(0,0,0,.9);animation:cin-dismiss-pulse 2.5s ease-in-out infinite}@keyframes cin-chapter-enter{0%{opacity:0}to{opacity:1}}@keyframes cin-dismiss-pulse{0%,to{opacity:.4}50%{opacity:1}}.cin-prose-overlay{justify-content:center;animation:none}.cin-opening-prose{font-size:clamp(1.15rem,3vw,1.55rem);color:#ffffffe0;font-style:italic;line-height:1.75;text-align:center;max-width:min(640px,84vw);margin:0;letter-spacing:.01em;text-shadow:0 1px 24px rgba(0,0,0,.8)}.cin-ooc-response{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:450;width:min(88vw,480px);background:#080514e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(167,139,250,.5);border-radius:10px;padding:20px 24px;cursor:pointer;animation:cin-ooc-enter .2s ease}.cin-ooc-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;color:#a78bfa;margin:0 0 10px}.cin-ooc-text{font-size:.95rem;line-height:1.55;color:#e8e4f8;margin:0 0 14px}.cin-ooc-dismiss{font-size:.7rem;color:#ffffff4d;margin:0;text-align:right}@keyframes cin-ooc-enter{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.cin-turn-page--swipeable{touch-action:pan-y}.cin-swipe-hint{position:absolute;top:50%;transform:translateY(-50%);z-index:20;padding:12px 16px;max-width:130px;background:#000000c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:10px;font-size:.78rem;line-height:1.35;color:#f0eaff;pointer-events:none;text-align:center}.cin-swipe-hint--right{left:12px;border:1.5px solid rgba(100,220,120,.65);color:#9fedb8}.cin-swipe-hint--right:after{content:" →";font-size:.9em}.cin-swipe-hint--left{right:12px;border:1.5px solid rgba(167,139,250,.65);color:#d0baff}.cin-swipe-hint--left:before{content:"← ";font-size:.9em}@media (max-width: 600px){.cin-fallback-grid{width:100vw;border-radius:0}.cin-choices{width:100%;max-width:100%;padding:12px 8px 24px}}@media (min-width: 1024px){.cin-fallback-grid{width:min(50vw,560px)}}.br-container{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.br-image-layer{position:absolute;top:0;right:0;bottom:0;left:0}.br-image{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.br-image-placeholder{width:100%;height:100%;background:#111}.br-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000026,#0000 40%,#0009);pointer-events:none}.br-frame{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:3px solid #000;pointer-events:none;z-index:1}.br-text{position:absolute;bottom:48px;left:0;right:0;z-index:2;padding:0 20px;text-align:center}.br-text--dialogue{bottom:52px}.br-speaker{display:block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e2c97e;margin-bottom:4px}.br-line{margin:0;font-size:clamp(.9rem,2.5vw,1.05rem);line-height:1.5;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.7);background:#0000008c;padding:8px 16px;border-radius:4px;display:inline-block;max-width:560px}.br-text--caption .br-line{font-style:italic;color:#e8e0d0}.br-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2}.br-dot{width:6px;height:6px;border-radius:50%;background:#ffffff4d;transition:background .2s}.br-dot--active{background:#fff;transform:scale(1.3)}.br-dot--done{background:#fff9}.cin-ooc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:cin-ooc-fade-in .2s ease-out both}@keyframes cin-ooc-fade-in{0%{opacity:0}to{opacity:1}}.cin-ooc-panel{width:100%;background:#18181f;border-top:1px solid rgba(255,255,255,.12);border-radius:20px 20px 0 0;padding:20px 20px 40px;display:flex;flex-direction:column;gap:12px;animation:cin-ooc-slide-up .25s cubic-bezier(.16,1,.3,1) both}@keyframes cin-ooc-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cin-ooc-close{align-self:flex-end;background:none;border:none;color:#fff6;font-size:18px;cursor:pointer;padding:4px 8px;line-height:1}.cin-ooc-close:hover{color:#fffc}.cin-ooc-label{font-size:13px;color:#ffffff80;margin:0;font-style:italic}.cin-ooc-continues{font-size:11px;color:#ffffff59;margin:4px 0 12px;font-style:italic;letter-spacing:.02em}.cin-gen-progress{position:fixed;bottom:0;left:0;right:0;z-index:200;pointer-events:none;display:flex;flex-direction:column}.cin-gen-progress__bar{height:2px;width:0%;transition:width .5s ease-out,opacity .8s ease-in-out}.cin-gen-progress__bar--content{background:#38bdf8cc}.cin-gen-progress__bar--complete{background:#94a3b866}.cin-gen-progress--done .cin-gen-progress__bar{opacity:0}.story-viewer{display:flex;min-height:100vh;position:relative}.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-content-container{display:flex;flex-direction:column}.initial-loading-container{flex:1;display:flex;flex-direction:column;min-height:60vh}.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:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.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;background:radial-gradient(ellipse at 50% 40%,#1a0a2e,#0a0010)}.vn-loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 24px;text-align:center;max-width:340px}.vn-loading-icon{font-size:2.5rem;opacity:.85}.vn-loading-title{font-size:1.6rem;font-weight:700;color:#e8d5f5;margin:0;letter-spacing:.02em}.vn-loading-tagline{font-size:.95rem;color:#c8aaf0b3;margin:0;line-height:1.5;font-style:italic}.vn-loading-dots{display:flex;gap:8px;margin:8px 0}.vn-loading-dots span{width:8px;height:8px;border-radius:50%;background:#a78bfab3;animation:vn-dot-pulse 1.4s ease-in-out infinite}.vn-loading-dots span:nth-child(2){animation-delay:.2s}.vn-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes vn-dot-pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.vn-loading-hint{font-size:.78rem;color:#ffffff40;margin:0;letter-spacing:.06em;text-transform:uppercase}.template-chat-panel{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto}.chat-header{margin-bottom:1.5rem;text-align:center}.chat-header h3{margin:0;font-size:1.5rem;color:#7c4dff;margin-bottom:.5rem}.chat-subtitle{color:#666;font-size:.95rem;margin:0}.chat-messages{flex:1;overflow-y:auto;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;background:#f9f9f9;min-height:400px;max-height:500px;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:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.template-editor-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e0e0e0}.template-editor-modal .modal-header h2{margin:0;font-size:1.75rem;color:#333}.template-editor-modal .close-btn{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.template-editor-modal .close-btn:hover{background:#f0f0f0;color:#333}.template-editor-modal .tab-nav{display:flex;border-bottom:2px solid #e0e0e0;background:#f9f9f9;overflow-x:auto}.template-editor-modal .tab-nav button{background:none;border:none;padding:1rem 1.5rem;font-size:1rem;color:#666;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;white-space:nowrap;font-weight:500}.template-editor-modal .tab-nav button:hover{color:#333;background:#f0f0f0}.template-editor-modal .tab-nav button.active{color:#4a90e2;border-bottom-color:#4a90e2;background:#fff}.template-editor-modal .tab-nav button.ai-tab{color:#7c4dff}.template-editor-modal .tab-nav button.ai-tab.active{color:#7c4dff;border-bottom-color:#7c4dff}.template-editor-modal .tab-content{flex:1;overflow-y:auto;padding:1.5rem}.template-editor-modal .tab-panel{max-width:700px;margin:0 auto}.template-editor-modal .form-group{margin-bottom:1.5rem}.template-editor-modal .form-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.95rem}.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:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.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:#4a90e2}.template-editor-modal .form-group textarea{resize:vertical;min-height:100px}.template-editor-modal .form-group small{display:block;color:#666;font-size:.85rem;margin-top:.25rem}.template-editor-modal .help-text{color:#666;font-size:.9rem;margin-bottom:.5rem;line-height:1.4}.template-editor-modal .help-text code{background:#f0f0f0;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.template-editor-modal .characters-panel,.template-editor-modal .dimensions-panel{max-width:none}.template-editor-modal .panel-header{margin-bottom:1.5rem}.template-editor-modal .characters-list,.template-editor-modal .dimensions-list{display:flex;flex-direction:column;gap:1rem}.template-editor-modal .character-card,.template-editor-modal .dimension-card{border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:border-color .2s ease}.template-editor-modal .character-card:hover,.template-editor-modal .dimension-card:hover{border-color:#4a90e2}.template-editor-modal .character-header,.template-editor-modal .dimension-header{background:#f9f9f9;padding:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s ease}.template-editor-modal .character-header:hover,.template-editor-modal .dimension-header:hover{background:#f0f0f0}.template-editor-modal .character-header h4,.template-editor-modal .dimension-header h4{margin:0;font-size:1.1rem;color:#333}.template-editor-modal .role-badge,.template-editor-modal .weight-badge{background:#e0e0e0;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;color:#666}.template-editor-modal .character-form,.template-editor-modal .dimension-form{padding:1.5rem;background:#fff}.template-editor-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-top:2px solid #e0e0e0;gap:1rem}.template-editor-modal .error-message{color:#e74c3c;font-size:.9rem;flex:1}.template-editor-modal .modal-footer button{min-width:120px}.template-editor-modal .empty-state{text-align:center;padding:3rem;background:#f9f9f9;border-radius:8px;color:#666}.template-editor-modal .empty-state p{margin:.5rem 0}@media (max-width: 768px){.template-editor-modal{max-height:95vh}.template-editor-modal .tab-nav button{padding:.75rem 1rem;font-size:.9rem}.template-editor-modal .tab-content{padding:1rem}.template-editor-modal .modal-footer{flex-wrap:wrap}.template-editor-modal .error-message{width:100%;margin-bottom:.5rem}}.vn-reader{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;width:100vw;max-width:100vw;z-index:400;background:#0a0a0f;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;font-family:Georgia,serif;color:#1a1a2e}.vn-blur-bg{display:none}@media (min-width: 600px){.vn-blur-bg{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#0a0a0f}.vn-blur-bg-img{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;width:120%;height:120%;object-fit:cover;filter:blur(28px) brightness(.35) saturate(.7);transition:opacity .8s ease}}.vn-stage{position:relative;width:100%;height:100%;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;z-index:1}@media (min-width: 600px){.vn-stage{aspect-ratio:2 / 3;width:auto;height:100%;max-height:100dvh;max-width:min(520px,calc(100dvh * 2 / 3));border-radius:4px;box-shadow:0 0 80px #000c}}.vn-background{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:#0d0d1a}.vn-background-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}.vn-background-img--out{opacity:0}.vn-background-img--in{opacity:1}.vn-background-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#1a1a2e,#0d0d1a)}.vn-sprite-shimmer{width:28vw;max-width:180px;height:60vh;border-radius:8px 8px 0 0;background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:200% 100%;animation:vn-shimmer 1.6s ease-in-out infinite}@keyframes vn-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.vn-background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000 35%,#0006 65%,#000000b3);pointer-events:none;z-index:1}.vn-interrupt-bar{position:absolute;bottom:40px;left:0;right:0;z-index:440;padding:0 16px;animation:vn-interrupt-slide-up .2s ease-out}@keyframes vn-interrupt-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.vn-interrupt-form{display:flex;align-items:center;gap:8px;background:#0a0819eb;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:8px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -4px 20px #0006}.vn-interrupt-input{flex:1;padding:8px 12px;background:#ffffff0f;color:#eee;border:1px solid rgba(255,255,255,.12);border-radius:8px;font-size:14px;font-family:inherit;outline:none}.vn-interrupt-input:focus{border-color:#a78bfa80;background:#ffffff14}.vn-interrupt-input::placeholder{color:#ffffff59}.vn-interrupt-submit{padding:6px 14px;background:#a78bfa;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.vn-interrupt-submit:hover{background:#8b6cf5}.vn-interrupt-close{background:none;border:none;color:#fff6;font-size:18px;cursor:pointer;padding:4px;line-height:1;transition:color .15s}.vn-interrupt-close:hover{color:#fff}.vn-interrupt-hint{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:415;pointer-events:none;animation:vn-hint-pulse 3s ease-in-out infinite}.vn-interrupt-hint-chevron{font-size:18px;color:#fff3}@keyframes vn-hint-pulse{0%,to{opacity:.3}50%{opacity:.7}}.vn-exit-btn{position:absolute;top:14px;right:16px;z-index:420;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#00000080;color:#ddd;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.vn-exit-btn:hover{background:#fff3;color:#fff}.vn-sprites-loading{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:415;background:#000000a6;border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:6px 14px;font-size:12px;color:#aaa;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.vn-sprites-loading-dot{width:8px;height:8px;border-radius:50%;background:#63b3ed;animation:vn-pulse 1.2s ease-in-out infinite}.vn-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;-webkit-user-select:none;user-select:none;outline:none}.vn-tap-zone--left{position:absolute;top:0;bottom:0;left:0;width:52px;z-index:12;display:flex;align-items:center;justify-content:flex-start;padding-left:10px;cursor:pointer;outline:none}.vn-tap-zone--right{position:absolute;top:0;bottom:0;left:52px;right:0;z-index:11;cursor:pointer;outline:none;display:flex;align-items:center;justify-content:flex-end;padding-right:16px}.vn-nav-arrow{font-size:28px;color:#ffffff1f;line-height:1;pointer-events:none;transition:color .15s;text-shadow:0 2px 8px rgba(0,0,0,.4)}.vn-tap-zone--left:hover .vn-nav-arrow{color:#ffffff80}.vn-tap-zone--right:hover .vn-nav-arrow{color:#ffffff40}.vn-sprite{position:absolute;bottom:0;display:flex;align-items:flex-end;pointer-events:none;animation:vn-sprite-enter .35s ease-out}.vn-sprite img{max-height:82vh;max-width:44vw;height:auto;width:auto;display:block;filter:drop-shadow(0 0 18px rgba(0,0,0,.45)) drop-shadow(0 20px 12px rgba(0,0,0,.35))}.vn-sprite:after{content:"";position:absolute;bottom:0;left:-10%;right:-10%;height:60px;background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.45) 0%,transparent 70%);pointer-events:none}.vn-sprite--left{left:2vw;bottom:0}.vn-sprite--right{right:2vw;bottom:0}.vn-sprite--center{left:50%;bottom:0;transform:translate(-50%);animation:vn-sprite-enter-center .35s ease-out}.vn-textbox{position:relative;z-index:10;width:100%;max-width:780px;margin:0 auto calc(28px + env(safe-area-inset-bottom,0px));padding:0 20px;pointer-events:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.vn-caption-box{width:100%;background:#fffce6ed;border:2.5px solid #1a1020;border-radius:4px;padding:10px 18px;box-shadow:3px 3px #0000008c}.vn-caption-text{margin:0;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(12px,1.7vw,15px);font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.05em;line-height:1.5;color:#1a1020}.vn-nameplate{display:inline-block;margin-left:6px;margin-bottom:4px;padding:0;background:none;border-radius:0}.vn-nameplate-text{font-family:Arial Black,Arial,sans-serif;font-size:clamp(11px,1.4vw,13px);font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#f5e6c8;white-space:nowrap;text-shadow:0 0 12px rgba(200,140,60,.8),0 1px 3px rgba(0,0,0,.9),0 2px 8px rgba(0,0,0,.7)}.vn-dialogue-box{width:100%;background:#fffff8f2;border:2.5px solid #1a1020;border-radius:4px;padding:12px 18px;box-shadow:3px 3px #0000008c}.vn-dialogue-text{margin:0;font-family:Arial Black,Arial,sans-serif;font-size:clamp(14px,2vw,18px);font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.4;color:#0d0010}.vn-dialogue-box--whisper{background:#e6f0ffeb;border-style:dashed;border-color:#3a3060}.vn-dialogue-box--whisper .vn-dialogue-text{font-weight:700;font-style:italic;letter-spacing:.08em;color:#1a1a40}.vn-dialogue-box--shout{background:#fff8dcf5;border-color:#8b0000;border-width:3px}.vn-dialogue-box--shout .vn-dialogue-text{font-size:clamp(16px,2.4vw,22px);color:#8b0000;letter-spacing:.08em}.vn-dialogue-box--internal{background:#f0ebffeb;border-style:dotted;border-color:#4a3080}.vn-dialogue-box--internal .vn-dialogue-text{font-style:italic;font-weight:700;color:#2a1a50}.vn-progress{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:6px;pointer-events:all}.vn-progress-dot{width:7px;height:7px;border-radius:50%;background:#ffffff40;cursor:pointer;transition:background .2s,transform .2s}.vn-progress-dot--active{background:#ffffffd9;transform:scale(1.3)}.vn-choices-in-beat{position:absolute;bottom:0;left:0;right:0;width:100%;max-width:100%;box-sizing:border-box;max-height:60vh;z-index:20;display:flex;flex-direction:column;justify-content:flex-start;background:none;padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));overflow-x:hidden;overflow-y:auto}.vn-choices-in-beat .choice-buttons{background:none;border:none;padding:0;margin:0;width:100%;max-width:100%;box-sizing:border-box}.vn-choices-in-beat .choices-grid{width:100%;max-width:100%}.vn-choices-in-beat .choice-button{width:100%;box-sizing:border-box;background:#0805129e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#f0eaff;font-size:1.05rem;font-weight:500;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;padding:12px 16px;border-radius:8px;text-align:left;transition:background .15s,border-color .15s}.vn-choices-in-beat .choice-button:hover:not(:disabled){background:#503296b8;border-color:#b48cff73;color:#fff;transform:none;box-shadow:none}.vn-choices-in-beat .write-in-section{margin-top:8px}.vn-choices-in-beat .write-in-form{display:flex;gap:8px}.vn-choices-in-beat .write-in-input{background:#0805129e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f0eaff;font-size:1rem;padding:11px 14px;width:100%;box-sizing:border-box}.vn-choices-in-beat .write-in-input::placeholder{color:#c8b4ff66}.vn-choices-in-beat .write-in-input:focus{outline:none;border-color:#b48cff80}.vn-choices-in-beat .write-in-submit{background:#503296b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(180,140,255,.35);border-radius:8px;color:#f0eaff;font-size:.95rem;padding:11px 18px;white-space:nowrap;cursor:pointer}.vn-pending-beats{position:absolute;bottom:0;left:0;right:0;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to top,rgba(8,5,18,.7) 0%,transparent 100%)}.vn-pending-beats .vn-sprites-loading-dot{width:10px;height:10px}.vn-generating-turn{position:absolute;bottom:0;left:0;right:0;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to top,rgba(8,5,18,.7) 0%,transparent 100%)}.vn-generating-turn .vn-sprites-loading-dot{width:12px;height:12px}.vn-choices-overlay{position:absolute;bottom:0;left:0;right:0;width:100%;max-width:100%;box-sizing:border-box;max-height:52vh;z-index:20;display:flex;flex-direction:column;justify-content:flex-end;background:none;padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));overflow-x:hidden;overflow-y:auto}.vn-choices-overlay .choice-buttons{background:none;border:none;padding:0;margin:0;width:100%;max-width:100%;box-sizing:border-box}.vn-choices-overlay .choices-grid{width:100%;max-width:100%}.vn-choices-overlay .choice-button{width:100%;box-sizing:border-box;background:#0805129e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#f0eaff;font-size:1.05rem;font-weight:500;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;padding:12px 16px;border-radius:8px;text-align:left;transition:background .15s,border-color .15s}.vn-choices-overlay .choice-button:hover:not(:disabled){background:#503296b8;border-color:#b48cff73;color:#fff;transform:none;box-shadow:none}.vn-choices-overlay .write-in-section{margin-top:8px}.vn-choices-overlay .write-in-form{display:flex;gap:8px}.vn-choices-overlay .write-in-input{background:#0805129e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f0eaff;font-size:1rem;padding:11px 14px;width:100%;box-sizing:border-box}.vn-choices-overlay .write-in-input::placeholder{color:#c8b4ff66}.vn-choices-overlay .write-in-input:focus{outline:none;border-color:#b48cff80}.vn-choices-overlay .write-in-submit{background:#503296b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(180,140,255,.35);border-radius:8px;color:#f0eaff;font-size:.95rem;padding:11px 18px;white-space:nowrap;cursor:pointer}.vn-back-to-beats{align-self:flex-start;margin-bottom:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:16px;color:#ffffffa6;font-size:12px;padding:5px 14px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s,color .15s}.vn-back-to-beats:hover{background:#ffffff29;color:#fff}.vn-turn-loading{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:430;pointer-events:none}.vn-turn-loading-dot{display:block;width:10px;height:10px;border-radius:50%;background:#63b3ed;animation:vn-pulse 1s ease-in-out infinite}.vn-ooc-response{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:450;width:min(88vw,480px);background:#080514e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(167,139,250,.5);border-radius:10px;padding:20px 24px;cursor:pointer;animation:vn-ooc-enter .2s ease}.vn-ooc-response-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;color:#a78bfa;margin:0 0 10px}.vn-ooc-response-text{font-size:.95rem;line-height:1.55;color:#e8e4f8;margin:0 0 14px}.vn-ooc-response-dismiss{font-size:.7rem;color:#ffffff4d;margin:0;text-align:right}@keyframes vn-ooc-enter{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.vn-dim-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000073,#0009);opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:2}.vn-dim-overlay--active{opacity:1}.vn-chapter-inset{position:absolute;top:0;right:0;bottom:0;left:0;z-index:500;background:#000000d1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;animation:vn-chapter-enter .6s ease;padding:40px;text-align:center}.vn-chapter-inset:before{content:"";position:absolute;top:50%;left:50%;width:min(400px,80vw);height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.4),transparent);transform:translate(-50%,-60px)}.vn-chapter-inset:after{content:"";position:absolute;top:50%;left:50%;width:min(400px,80vw);height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.4),transparent);transform:translate(-50%,60px)}.vn-chapter-inset-content{display:flex;flex-direction:column;align-items:center;gap:12px}.vn-chapter-number{font-size:.75rem;font-weight:700;letter-spacing:.25em;color:#ffffffbf;text-transform:uppercase;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.7)}.vn-chapter-title{font-size:clamp(1.5rem,5vw,2.4rem);font-weight:700;letter-spacing:.04em;color:#fff;margin:0;line-height:1.15;max-width:min(600px,85vw);text-shadow:0 0 0 2px rgba(0,0,0,.8),0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.8);-webkit-text-stroke:.5px rgba(0,0,0,.6)}.vn-chapter-theme{font-size:.85rem;font-style:italic;color:#ffffffb3;margin:0;letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.7)}.vn-chapter-dismiss{position:absolute;bottom:32px;left:50%;transform:translate(-50%);font-size:.7rem;letter-spacing:.1em;color:#fff9;margin:0;text-shadow:0 1px 6px rgba(0,0,0,.9);animation:vn-chapter-dismiss-pulse 2.5s ease-in-out infinite}.vn-opening-prose-card{justify-content:center;animation:none}.vn-opening-prose{font-size:clamp(1.15rem,3vw,1.55rem);color:#ffffffe0;font-style:italic;line-height:1.75;text-align:center;max-width:min(640px,84vw);margin:0;letter-spacing:.01em;text-shadow:0 1px 24px rgba(0,0,0,.8)}@keyframes vn-chapter-enter{0%{opacity:0}to{opacity:1}}@keyframes vn-chapter-dismiss-pulse{0%,to{opacity:.4}50%{opacity:1}}.vn-panel-scene{position:absolute;top:0;bottom:0;z-index:5;display:flex;align-items:flex-end;pointer-events:none}.vn-panel-scene--left{left:-5vw}.vn-panel-scene--right{right:-5vw}.vn-char-panel{background:none;border:none;overflow:visible;display:flex;align-items:flex-end;justify-content:center;animation:vn-sprite-enter .35s ease-out}.vn-char-panel-img{max-height:115vh;max-width:46vw;width:auto;height:auto;object-fit:contain;object-position:bottom center;display:block;filter:drop-shadow(0 0 18px rgba(0,0,0,.45)) drop-shadow(0 20px 12px rgba(0,0,0,.35))}.vn-split-scene{position:absolute;top:0;right:0;left:0;bottom:140px;display:flex;align-items:flex-end;pointer-events:none;z-index:5}.vn-split-char{flex:1;display:flex;align-items:flex-end;height:100%;overflow:hidden}.vn-split-char--left{justify-content:flex-start;padding-left:5vw}.vn-split-char--right{justify-content:flex-end;padding-right:5vw}.vn-split-scene--composited{align-items:stretch}.vn-split-half{flex:1;overflow:hidden;position:relative}.vn-split-half--left{clip-path:inset(0 50% 0 0)}.vn-split-half--right{clip-path:inset(0 0 0 50%)}.vn-split-composite{position:absolute;top:0;right:0;bottom:0;left:0;width:100vw;height:100%;object-fit:cover;object-position:center;animation:vn-bg-enter .4s ease-out}.vn-split-composite--left{left:0;transform:none}.vn-split-composite--right{right:0;left:auto}.vn-split-img{max-height:110vh;height:auto;width:auto;max-width:44%;object-fit:contain;object-position:bottom center;display:block;animation:vn-sprite-enter .35s ease-out;filter:drop-shadow(0 4px 24px rgba(0,0,0,.55))}.vn-scene-image-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:5;pointer-events:none}.vn-scene-image{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;opacity:1;transition:opacity .5s ease-out}.vn-scene-image-panel--entering .vn-scene-image{opacity:0}.vn-scene-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#0d0d1a);display:flex;align-items:center;justify-content:center;animation:vn-pulse 1.5s ease-in-out infinite}.vn-scene-image-placeholder-dot{width:10px;height:10px;border-radius:50%;background:#ffffff4d;animation:vn-pulse 1.5s ease-in-out infinite}@keyframes vn-scene-image-enter{0%{opacity:0}to{opacity:1}}.vn-callout-scene{position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none;animation:vn-callout-enter .4s cubic-bezier(.34,1.3,.64,1)}.vn-callout-panel{border:3px solid rgba(255,255,255,.3);border-radius:6px;box-shadow:0 0 0 1px #0009,0 8px 40px #000000b3,inset 0 0 0 1px #ffffff14;overflow:hidden;width:min(58vw,480px);aspect-ratio:1;background:#0d0d1a}.vn-callout-img{width:100%;height:100%;object-fit:cover;display:block}.vn-callout-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#0d0d1a);animation:vn-pulse 1.5s ease-in-out infinite}.vn-callout-placeholder--no-subject{animation:none;opacity:.5}.vn-callout-text-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#1a0a2e,#0d0820)}.vn-callout-text-fallback p{color:#e8d8ff;font-style:italic;font-size:clamp(1rem,2.5vw,1.35rem);text-align:center;line-height:1.6;text-shadow:0 0 18px rgba(180,120,255,.6);margin:0}.vn-callout-caption{width:min(58vw,480px);background:#fffce6ed;border:2.5px solid #1a1020;border-radius:4px;padding:10px 18px;box-shadow:3px 3px #0000008c}@keyframes vn-pulse{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes vn-sprite-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes vn-sprite-enter-center{0%{opacity:0;transform:translate(-50%) translateY(14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (orientation: portrait){.vn-sprite img{max-height:72vh;max-width:80vw;height:auto;width:auto}.vn-sprite--left,.vn-sprite--right{left:50%;transform:translate(-50%);bottom:130px}.vn-sprite--center{bottom:130px}.vn-panel-scene--left{left:-8vw}.vn-panel-scene--right{right:-8vw}.vn-char-panel-img{max-height:110vh;max-width:70vw}}@keyframes vn-callout-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.88)}to{opacity:1;transform:translate(-50%,-55%) scale(1)}}.vn-transition-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60}.vn-transition--fade{background:#000;animation:vn-transition-fade .5s ease forwards}.vn-transition--enter{background:transparent;animation:vn-transition-enter-flash .3s ease forwards}.vn-transition--exit{background:#0009;animation:vn-transition-exit-flash .3s ease forwards}@keyframes vn-transition-fade{0%{opacity:0}25%{opacity:1}75%{opacity:1}to{opacity:0}}@keyframes vn-transition-enter-flash{0%{opacity:0}50%{opacity:.3}to{opacity:0}}@keyframes vn-transition-exit-flash{0%{opacity:.6}to{opacity:0}}.vn-progress-dot{position:relative}.vn-progress-lines{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);display:flex;gap:2px;pointer-events:none}.vn-progress-line{width:4px;height:2px;border-radius:1px;background:#ffffff4d}.vn-progress-line--done{background:#ffffffd9}.vn-caption-box--interiority .vn-caption-text{font-style:italic;opacity:.9;letter-spacing:.04em}.vn-stage--shot-wide .vn-background:before,.vn-stage--shot-wide .vn-background:after{content:"";position:absolute;left:0;right:0;height:13%;background:#000;z-index:2;pointer-events:none}.vn-stage--shot-wide .vn-background:before{top:0}.vn-stage--shot-wide .vn-background:after{bottom:0}.vn-stage--shot-wide .vn-background-img{transform:scale(1.05);transform-origin:center center}.vn-stage--shot-close .vn-background{transform:scale(1.12);transform-origin:center 40%}.vn-stage--shot-close .vn-background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.4) 100%);z-index:2;pointer-events:none}.vn-stage--shot-extreme_close .vn-background{transform:scale(1.35);transform-origin:center 35%}.vn-stage--shot-extreme_close .vn-background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 20%,rgba(0,0,0,.6) 100%);z-index:2;pointer-events:none}.vn-stage--shot-over_shoulder .vn-background-img{filter:saturate(.8) brightness(.95)}.vn-stage--shot-over_shoulder .vn-background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(0,0,0,.25) 0%,transparent 50%,rgba(0,0,0,.15) 100%);z-index:2;pointer-events:none}.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-phone-frame .vn-reader{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:390px!important;height:844px!important;max-width:none!important}.cdp-phone-frame .vn-stage{width:390px!important;height:844px!important;aspect-ratio:unset!important;max-width:none!important}.cdp-phone-frame .vn-caption-text{font-size:12px!important}.cdp-phone-frame .vn-nameplate-text{font-size:11px!important}.cdp-phone-frame .vn-dialogue-text{font-size:14px!important}.cdp-phone-frame .vn-dialogue-box--shout .vn-dialogue-text{font-size:16px!important}.cdp-phone-frame .vn-chapter-title{font-size:1.5rem!important;max-width:85%!important}.cdp-phone-frame .vn-opening-prose{font-size:1.15rem!important;max-width:84%!important}.cdp-phone-frame .vn-callout-text-fallback p{font-size:1rem!important}.cdp-phone-frame .vn-sprite-shimmer{width:28%!important;height:60%!important}.cdp-phone-frame .vn-sprite img{max-width:44%!important;max-height:82%!important}.cdp-phone-frame .vn-sprite--left{left:8px!important}.cdp-phone-frame .vn-sprite--right{right:8px!important}.cdp-phone-frame .vn-panel-scene--left{left:-20px!important}.cdp-phone-frame .vn-panel-scene--right{right:-20px!important}.cdp-phone-frame .vn-char-panel-img{max-width:46%!important;max-height:115%!important}.cdp-phone-frame .vn-split-char--left{padding-left:20px!important}.cdp-phone-frame .vn-split-char--right{padding-right:20px!important}.cdp-phone-frame .vn-split-composite{width:390px!important}.cdp-phone-frame .vn-callout-panel,.cdp-phone-frame .vn-callout-caption{width:min(226px,58%)!important}.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-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}.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:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.template-viewer{background:var(--bg-secondary);border:2px solid rgba(255,255,255,.2);border-radius:12px;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.viewer-title{display:flex;align-items:center;gap:1rem;flex:1}.viewer-title h1{margin:0;font-size:1.1rem;color:var(--text-primary)}.close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--text-primary);font-size:1.25rem;width:32px;height:32px;cursor:pointer;transition:all .2s ease;line-height:1;padding:0}.close-btn:hover{background:#fff3;transform:rotate(90deg)}.viewer-tabs{display:flex;gap:.25rem;padding:.5rem .75rem 0;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap}.viewer-tabs button{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-bottom:none;border-radius:4px 4px 0 0;color:var(--text-secondary);padding:.4rem .75rem;cursor:pointer;transition:all .2s ease;font-size:.75rem;font-weight:500;white-space:nowrap}.viewer-tabs button:hover{background:#ffffff1a;color:var(--text-primary)}.viewer-tabs button.active{background:#ffffff26;border-color:var(--accent-blue);color:var(--text-primary);font-weight:600}.viewer-content{flex:1;overflow-y:auto;padding:.75rem}.tab-content{display:flex;flex-direction:column;gap:.75rem}.viewer-section{background:#1e1e2899;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:.75rem}.viewer-section h2{margin:0 0 .5rem;font-size:.9rem;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.25rem}.section-description{color:var(--text-secondary);margin-bottom:.5rem;font-size:.8rem}.tagline{font-size:.85rem;color:var(--accent-green);font-style:italic;margin-bottom:.5rem}.description{color:var(--text-secondary);line-height:1.5;margin-bottom:.5rem;font-size:.8rem}.scene-template{background:#0000004d;border-left:3px solid var(--accent-blue);padding:.5rem;border-radius:4px;color:var(--text-secondary);line-height:1.5;font-style:italic;font-size:.8rem}.trope-list,.trait-list,.connection-list{display:flex;flex-wrap:wrap;gap:.5rem}.trope-badge,.trait-badge,.connection-badge,.weight-badge{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:.15rem .5rem;border-radius:8px;font-size:.7rem;color:var(--text-secondary)}.weight-badge{background:#4a90e233;border-color:var(--accent-blue);color:var(--accent-blue)}.fact-list{list-style:none;padding:0;margin:0}.fact-list li{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text-secondary)}.fact-list li:last-child{border-bottom:none}.fact-list strong{color:var(--text-primary);margin-right:.5rem}.character-card{background:#1e1e2899;border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--accent-blue);border-radius:4px;padding:.75rem;margin-bottom:.5rem}.character-card h3{margin:0 0 .15rem;font-size:.9rem;color:var(--text-primary)}.character-card .role{color:var(--accent-green);font-size:.75rem;margin-bottom:.5rem;font-style:italic}.character-card h4{margin:.5rem 0 .25rem;font-size:.8rem;color:var(--text-primary);opacity:.9}.character-card ul{list-style:none;padding-left:1rem;margin:.5rem 0}.character-card li{padding:.25rem 0;color:var(--text-secondary);position:relative}.character-card li:before{content:"→";position:absolute;left:-1rem;color:var(--accent-blue)}.location-card{background:#1e1e2899;border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--accent-green);border-radius:4px;padding:.75rem;margin-bottom:.5rem}.location-card h3{margin:0 0 .25rem;font-size:.9rem;color:var(--text-primary)}.location-card h4{margin:.5rem 0 .25rem;font-size:.8rem;color:var(--text-primary);opacity:.9}.dimension-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.dimension-card{background:#1e1e28cc;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:.5rem}.dimension-card h3{margin:0 0 .25rem;font-size:.85rem;color:var(--text-primary);text-transform:capitalize}.dimension-card p{margin:0 0 .25rem;color:var(--text-secondary);font-size:.75rem}.thread-list{display:flex;flex-direction:column;gap:1rem}.thread-card{background:#1e1e2899;border:1px solid rgba(255,255,255,.1);border-left:3px solid #9b7dff;border-radius:8px;padding:1.5rem}.thread-card h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.thread-card h4{margin:1rem 0 .5rem;font-size:1rem;color:var(--text-primary);opacity:.9}.thread-card ul{list-style:none;padding-left:1rem;margin:.5rem 0}.thread-card li{padding:.25rem 0;color:var(--text-secondary);position:relative}.thread-card li:before{content:"→";position:absolute;left:-1rem;color:#9b7dff}.pacing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.pacing-item{background:#0000004d;padding:1rem;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.pacing-item strong{display:block;color:var(--text-primary);text-transform:capitalize;margin-bottom:.5rem;font-size:.9rem}.pacing-item span{color:var(--text-secondary);font-size:.85rem}.empty-message{text-align:center;padding:3rem;color:var(--text-secondary);font-style:italic}.error-state p{color:#ff6b6b;margin-bottom:1rem}@media (max-width: 768px){.template-viewer-overlay{padding:0}.template-viewer{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.viewer-header{padding:1rem;position:sticky;top:0;background:var(--bg-secondary);z-index:10}.viewer-title h1{font-size:1.25rem}.close-btn{width:40px;height:40px;font-size:1.5rem}.viewer-tabs{padding:.75rem 1rem 1rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:var(--bg-secondary);box-shadow:inset 0 -3px 6px #0000004d}.viewer-tabs::-webkit-scrollbar{height:6px}.viewer-tabs::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.viewer-tabs::-webkit-scrollbar-thumb{background:var(--accent-blue);border-radius:3px}.viewer-tabs button{padding:.6rem 1rem;font-size:.9rem;min-width:auto;flex-shrink:0}.viewer-content,.viewer-section,.character-card,.location-card,.thread-card{padding:1rem}.dimension-grid,.pacing-grid{grid-template-columns:1fr}}.versions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.versions-header h2{margin:0;border-bottom:none;padding-bottom:0}.checkpoints-list{display:flex;flex-direction:column;gap:1rem}.checkpoint-card{background:#1e1e2899;border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--accent-blue);border-radius:8px;padding:1.5rem;transition:all .2s ease}.checkpoint-card:hover{border-left-color:var(--accent-green);background:#1e1e28cc}.checkpoint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.checkpoint-header h3{margin:0;font-size:1.1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.version-number{background:#4a90e233;border:1px solid var(--accent-blue);color:var(--accent-blue);padding:.15rem .5rem;border-radius:6px;font-size:.85rem;font-weight:600}.checkpoint-type-badge{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:.25rem .75rem;border-radius:12px;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.checkpoint-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.checkpoint-date,.checkpoint-author{opacity:.8}.checkpoint-notes{color:var(--text-secondary);line-height:1.5;font-style:italic;margin:.75rem 0;padding:.75rem;background:#0003;border-radius:4px;border-left:2px solid rgba(255,255,255,.1)}.checkpoint-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.btn-small{padding:.5rem 1rem;font-size:.85rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000}.checkpoint-dialog{background:var(--bg-secondary);border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:2rem;width:90%;max-width:500px;box-shadow:0 8px 32px #00000080}.checkpoint-dialog h3{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.95rem}.form-group input,.form-group textarea{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.75rem;color:var(--text-primary);font-family:inherit;font-size:.95rem;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-blue);background:#00000080}.form-group textarea{resize:vertical;min-height:100px}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.diff-viewer{background:var(--bg-secondary);border:2px solid rgba(255,255,255,.2);border-radius:12px;width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;overflow:hidden}.diff-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid rgba(255,255,255,.1)}.diff-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.diff-content{flex:1;overflow-y:auto;padding:1.5rem}.diff-meta{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid rgba(255,255,255,.1)}.version-info{background:#1e1e2899;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem}.version-info h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.version-info p{margin:.25rem 0;color:var(--text-secondary)}.version-date{font-size:.85rem;opacity:.7}.changes-summary{display:flex;flex-direction:column;gap:2rem}.changes-summary>h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.3rem}.change-category{background:#1e1e2899;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem}.change-category.modified{border-left:3px solid #ffd93d}.change-category.added{border-left:3px solid var(--accent-green)}.change-category.removed{border-left:3px solid #ff6b6b}.change-category h4{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem}.change-item{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.change-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.change-item strong{display:block;margin-bottom:.5rem;color:var(--accent-blue);font-size:.95rem}.diff-text{background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1rem;overflow-x:auto;font-family:Courier New,monospace;font-size:.85rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.4}.change-values{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.old-value,.new-value{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1rem}.old-value{border-left:3px solid #ff6b6b}.new-value{border-left:3px solid var(--accent-green)}.old-value .label,.new-value .label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.old-value .label{color:#ff6b6b}.new-value .label{color:var(--accent-green)}.old-value pre,.new-value pre{margin:0;font-family:Courier New,monospace;font-size:.85rem;color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;line-height:1.4}.error-message{text-align:center;padding:2rem;color:#ff6b6b;font-size:1rem}@media (max-width: 768px){.diff-viewer{width:100%;max-height:100vh;border-radius:0}.diff-meta,.change-values{grid-template-columns:1fr}.checkpoint-dialog{width:95%;padding:1.5rem}}.chapters-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.chapter-card{background:#4a9eff1a;border:1px solid rgba(74,158,255,.3);border-radius:8px;padding:1rem}.chapter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.chapter-header h3{margin:0;font-size:1rem;color:var(--accent-blue)}.turns-badge{background:#ffffff1a;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.chapter-card p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.act-section{margin-bottom:1.5rem}.act-section h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.events-grid{display:flex;flex-direction:column;gap:.75rem}.event-card{background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;border-left:4px solid var(--text-secondary)}.event-card.event-type-setup{border-left-color:#4caf50}.event-card.event-type-complication{border-left-color:#ff9800}.event-card.event-type-revelation{border-left-color:#9c27b0}.event-card.event-type-climax{border-left-color:#f44336}.event-card.event-type-resolution{border-left-color:#2196f3}.event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.event-header h4{margin:0;font-size:.95rem;color:var(--text-primary)}.event-type-badge{background:#ffffff1a;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;text-transform:uppercase;color:var(--text-secondary)}.event-description{margin:0 0 .75rem;color:var(--text-secondary);font-size:.85rem;line-height:1.4}.event-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:var(--text-secondary)}.turn-range{background:#ffffff0d;padding:.2rem .5rem;border-radius:4px}.requires{background:#ff98001a;padding:.2rem .5rem;border-radius:4px;color:#ff9800}.event-prompt{margin-top:.75rem}.event-prompt summary{cursor:pointer;font-size:.8rem;color:var(--accent-blue);padding:.25rem 0}.event-prompt summary:hover{text-decoration:underline}.event-prompt pre{margin:.5rem 0 0;padding:.75rem;background:#0000004d;border-radius:4px;font-size:.75rem;color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.library-item{background:var(--panel-bg, #2D3748);border:1px solid var(--border-color, #4A5568);border-radius:8px;padding:1rem}.library-item--kernel{border-color:var(--accent-blue, #63B3ED);box-shadow:0 0 0 1px #63b3ed33}.library-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.library-item-type{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #A0AEC0);background:#ffffff0f;border-radius:4px;padding:.1rem .4rem}.library-kernel-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-blue, #63B3ED);background:#63b3ed1f;border-radius:4px;padding:.1rem .4rem}.library-weight{font-size:.65rem;color:var(--text-secondary, #A0AEC0);margin-left:auto}.library-item-title{font-size:.95rem;font-weight:600;color:var(--text-primary, #E2E8F0);margin:0 0 .5rem}.library-item-content{font-size:.82rem;color:var(--text-secondary, #A0AEC0);line-height:1.5}.library-item-content p{margin:0 0 .4rem}.library-content-field{margin-bottom:.5rem}.library-content-label{display:block;font-size:.7rem;text-transform:capitalize;color:var(--text-muted, #718096);margin-bottom:.15rem}.library-craft-note{font-size:.78rem;color:#f6ad55;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.06);font-style:italic}.library-craft-label{font-style:normal;font-weight:600}.library-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.library-tag{font-size:.65rem;background:#ffffff0f;border-radius:3px;padding:.1rem .35rem;color:var(--text-muted, #718096)}.library-preconditions{display:flex;gap:.75rem;font-size:.7rem;color:var(--text-muted, #718096);margin-top:.4rem}.template-library{padding:2rem;max-width:1400px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.1)}.library-header .header-left,.library-header .header-right{display:flex;align-items:center;gap:1rem}.btn-back{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s}.library-header h1{margin:0;font-size:2rem;background:linear-gradient(135deg,var(--accent-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-notice{color:var(--text-secondary);font-style:italic}.template-section{margin-bottom:3rem}.template-section h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.section-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.template-card{background:#1e1e28cc;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;transition:all .2s ease;box-shadow:0 2px 4px #0000004d;cursor:pointer}.template-card:hover{border-color:var(--accent-blue);box-shadow:0 4px 12px #4a90e24d;transform:translateY(-2px);background:#282832e6}.template-card.system{border-left:4px solid var(--accent-blue)}.template-card.user{border-left:4px solid #7c4dff}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.template-card h3{margin:0;font-size:1.25rem;color:var(--text-primary);flex:1}.genre-badge{background:#ffffff1a;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;color:var(--accent-green);text-transform:capitalize;margin-left:.5rem;border:1px solid rgba(255,255,255,.2)}.tagline{color:var(--text-secondary);font-size:.95rem;line-height:1.4;margin-bottom:1rem}.forked-badge{font-size:.85rem;color:#9b7dff;font-style:italic;margin-bottom:1rem}.card-actions{display:flex;gap:.4rem;margin-top:1rem;justify-content:flex-end;width:100%}.btn-icon{background:#ffffff12;color:var(--accent-blue);border:1px solid rgba(255,255,255,.15);width:2rem;height:2rem;border-radius:6px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;line-height:1}.btn-icon:hover:not(:disabled){background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-icon--danger{color:#fc8181;border-color:#fc818133}.btn-icon--danger:hover:not(:disabled){background:#e74c3c;border-color:#e74c3c;color:#fff}.loading-state,.error-state{text-align:center;padding:3rem;color:var(--text-primary)}.error-state{color:#ff6b6b}.empty-state{text-align:center;padding:3rem;background:#1e1e2899;border-radius:8px;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary)}.btn-primary{background:var(--accent-blue);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-primary:hover:not(:disabled){background:#357abd;transform:translateY(-1px);box-shadow:0 2px 8px #4a90e280}.btn-primary:disabled{background:#fff3;cursor:not-allowed;opacity:.5}.btn-secondary{background:#ffffff1a;color:var(--accent-blue);border:2px solid var(--accent-blue);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--accent-blue);color:#fff}.btn-secondary:disabled{border-color:#fff3;color:#ffffff4d;cursor:not-allowed}.btn-danger{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-danger:hover{background:#c0392b;box-shadow:0 2px 8px #e74c3c80}.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}@media (max-width: 768px){.template-library{padding:1rem}.library-header{flex-wrap:wrap;gap:.75rem}.library-header .header-left{flex:1 1 auto;min-width:0}.library-header h1{font-size:1.4rem}.library-header .header-right{flex:0 0 auto;flex-wrap:wrap;gap:.5rem}.library-header .user-menu{display:none}.btn-primary{padding:.5rem 1rem;font-size:.9rem;white-space:nowrap}.template-grid{grid-template-columns:1fr}}.genre-plugins-tab{padding:1rem}.genre-plugins-tab.loading,.genre-plugins-tab.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary, #888)}.genre-plugins-tab.error button{margin-top:1rem;padding:.5rem 1rem;background:var(--accent-blue, #4299e1);color:#fff;border:none;border-radius:4px;cursor:pointer}.tab-header{margin-bottom:1.5rem}.tab-header h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary, #fff)}.tab-description{margin:0;color:var(--text-secondary, #888);font-size:.9rem;line-height:1.5}.empty-state{text-align:center;padding:2rem;color:var(--text-secondary, #888)}.empty-state .hint{font-size:.85rem;margin-top:.5rem;opacity:.7}.plugins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.plugin-card{background:var(--bg-secondary, #2d2d2d);border:2px solid var(--border-color, #444);border-radius:8px;padding:1rem;cursor:pointer;transition:all .15s ease}.plugin-card:hover{border-color:var(--accent-blue, #4299e1);background:var(--bg-hover, #363636)}.plugin-card.selected{border-color:var(--accent-green, #48bb78);background:#48bb781a}.plugin-card:focus{outline:2px solid var(--accent-blue, #4299e1);outline-offset:2px}.plugin-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.plugin-checkbox{font-size:1.25rem;color:var(--text-secondary, #888)}.plugin-card.selected .plugin-checkbox{color:var(--accent-green, #48bb78)}.plugin-name{font-weight:600;color:var(--text-primary, #fff);font-size:1rem}.plugin-description{margin:.5rem 0;color:var(--text-secondary, #888);font-size:.85rem;line-height:1.4}.plugin-meta{display:flex;justify-content:flex-end;margin-top:.5rem}.plugin-version{font-size:.75rem;color:var(--text-muted, #666);background:var(--bg-tertiary, #1a1a1a);padding:.125rem .5rem;border-radius:4px}.selection-summary{margin-top:1.5rem;padding:.75rem 1rem;background:var(--bg-secondary, #2d2d2d);border-radius:4px;color:var(--text-secondary, #888);text-align:center}.selection-summary strong{color:var(--accent-green, #48bb78)}.preview-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.preview-modal{width:90%;max-width:800px;max-height:90vh;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;animation:slideUp .3s ease-out;box-shadow:0 20px 50px #00000080}.preview-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:#0003;border-radius:12px 12px 0 0}.preview-modal-header h2{margin:0;font-size:1.25rem;color:#e8e8e8}.preview-info{display:flex;align-items:center;gap:1rem}.turn-counter{font-size:.9rem;padding:.25rem .75rem;background:#4a90e233;border-radius:12px;color:#4a90e2}.template-name{font-size:.9rem;color:#9b7dff;font-style:italic}.preview-modal-header .btn-close{background:transparent;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s}.preview-modal-header .btn-close:hover{color:#fff}.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:.75rem 1.5rem;background:#e74c3c33;border-bottom:1px solid rgba(231,76,60,.3);color:#ff6b6b}.preview-error button{background:transparent;border:none;color:#ff6b6b;cursor:pointer;font-size:1.25rem;line-height:1}.preview-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#aaa}.preview-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite}.preview-narrative{flex:1;overflow-y:auto;padding:1.5rem}.preview-entry{margin-bottom:1rem;padding:1rem;border-radius:8px;line-height:1.7}.preview-entry p{margin:0}.preview-entry-scene,.preview-entry-consequence{background:#ffffff0d;color:#e8e8e8}.preview-entry-player_action{background:#4a90e226;border-left:3px solid #4a90e2}.preview-entry-player_action .player-action-text{color:#4a90e2;font-weight:500}.preview-entry-loading{background:#ffffff0d;padding:1.5rem}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background:#4a90e2;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:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1);background:#0003}.preview-limit-message{text-align:center;padding:2rem;color:#aaa}.preview-limit-message p:first-child{font-size:1.1rem;color:#f39c12;margin-bottom:.5rem}.preview-modal-footer{display:flex;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1);background:#0003;border-radius:0 0 12px 12px}.preview-modal-footer .btn-primary,.preview-modal-footer .btn-secondary{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.preview-modal-footer .btn-primary{background:#4a90e2;color:#fff;border:none}.preview-modal-footer .btn-primary:hover{background:#357abd}.preview-modal-footer .btn-secondary{background:#ffffff1a;color:#e8e8e8;border:1px solid rgba(255,255,255,.2)}.preview-modal-footer .btn-secondary:hover:not(:disabled){background:#ffffff26}.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:.5rem}.preview-info{order:3;width:100%;justify-content:center}.preview-modal-footer{flex-direction:column-reverse;gap:.5rem}.preview-modal-footer .btn-primary,.preview-modal-footer .btn-secondary{width:100%}}.template-editor-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary, #1a1a2e) 0%,var(--bg-secondary, #16213e) 100%);color:var(--text-primary, #e8e8e8);display:flex;flex-direction:column}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:1rem}.header-left h1{margin:0;font-size:1.5rem;font-weight:600}.btn-back{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary, #aaa);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s}.btn-back:hover{background:#ffffff1a;color:var(--text-primary)}.forked-badge{font-size:.85rem;color:#9b7dff;font-style:italic;padding:.25rem .75rem;background:#9b7dff26;border-radius:12px}.header-right{display:flex;align-items:center;gap:1rem}.save-status{font-size:.9rem;padding:.25rem .75rem;border-radius:4px}.save-status .status.saving{color:#f39c12}.save-status .status.dirty{color:#e74c3c}.save-status .status.saved{color:#2ecc71}.save-status .status.auto-save-failed{color:#e74c3c;font-weight:600;cursor:help}.user-menu{display:flex;align-items:center;gap:.5rem;margin-left:1rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.1)}.username{font-size:.9rem;color:var(--text-secondary)}.btn-logout{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;background:#e74c3c33;border-bottom:1px solid rgba(231,76,60,.3);color:#ff6b6b}.error-banner button{background:transparent;border:none;color:#ff6b6b;cursor:pointer;font-size:1.25rem}.editor-content{flex:1;display:flex;overflow:hidden}.tab-navigation{width:200px;min-width:200px;background:#0003;border-right:1px solid rgba(255,255,255,.1);padding:1rem 0;overflow-y:auto}.tab-button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.25rem;background:transparent;border:none;color:var(--text-secondary);text-align:left;cursor:pointer;transition:all .2s;border-left:3px solid transparent}.tab-button:hover{background:#ffffff0d;color:var(--text-primary)}.tab-button.active{background:#4a90e226;color:var(--accent-blue, #4a90e2);border-left-color:var(--accent-blue, #4a90e2)}.tab-button.has-error{color:#e74c3c}.tab-icon{font-size:1.1rem}.tab-label{flex:1;font-size:.95rem}.tab-count{font-size:.8rem;padding:.1rem .5rem;background:#ffffff1a;border-radius:10px}.tab-error-count{font-size:.75rem;padding:.15rem .5rem;background:#e74c3ccc;color:#fff;border-radius:10px;font-weight:600}.validation-error{color:#e74c3c;font-size:.85rem}.validation-summary{display:flex;align-items:center;gap:.75rem;padding:.75rem 2rem;background:#f39c1226;border-bottom:1px solid rgba(243,156,18,.3);color:#f39c12}.validation-summary .error-count{font-weight:600}.validation-summary .dismiss-btn{margin-left:auto;background:transparent;border:none;color:#f39c12;cursor:pointer;font-size:1.25rem}.tab-content{flex:1;overflow-y:auto;padding:2rem}.tab-panel{max-width:900px}.tab-panel h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-primary)}.tab-description{color:var(--text-secondary);margin-bottom:2rem;line-height:1.5}.tab-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.tab-actions{display:flex;gap:1rem;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:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:5px;color:var(--text-primary);font-size:.9rem;padding:.5rem .65rem}.template-editor-page input[type=text]:focus,.template-editor-page input[type=number]:focus,.template-editor-page textarea:focus,.template-editor-page select:focus{outline:none;border-color:var(--accent-blue, #4a90e2)}.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='%23a0aec0' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:11px;padding-right:2rem;cursor:pointer}.form-section{margin-bottom:2rem;padding:1.5rem;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.form-section h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary)}.form-section h4{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary)}.form-section.collapsible h3,.form-section.collapsible h4{cursor:pointer}.section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.section-content{margin-top:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.95rem;color:var(--text-primary)}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:.75rem;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--text-primary);font-size:.95rem;transition:border-color .2s}.form-group select{padding-right:2.5rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-blue, #4a90e2)}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:#e74c3c}.form-group small{display:block;margin-top:.25rem;font-size:.85rem;color:var(--text-secondary)}.error-text{color:#e74c3c;font-size:.85rem;margin-top:.25rem}.help-text{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-row .form-group.small{flex:0 0 80px}.form-row .form-group.flex-grow{flex:2}.btn-primary{background:var(--accent-blue, #4a90e2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:#357abd}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff1a;color:var(--text-primary);border:1px solid rgba(255,255,255,.2);padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#ffffff26}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#c0392b}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.btn-icon{padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s}.btn-icon:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.undo-redo-buttons{display:flex;gap:.25rem;padding:.25rem;background:#0003;border-radius:8px}.btn-preview{background:#9b7dff26!important;border-color:#9b7dff4d!important;color:#9b7dff!important}.btn-preview:hover:not(:disabled){background:#9b7dff40!important;border-color:#9b7dff80!important}.character-card,.location-card,.thread-card,.event-card,.dimension-card,.feature-card{background:#1e1e28cc;border:1px solid rgba(255,255,255,.1);border-radius:8px;margin-bottom:1rem;transition:all .2s}.character-card.expanded,.location-card.expanded,.thread-card.expanded,.event-card.expanded,.dimension-card.expanded,.feature-card.expanded{border-color:var(--accent-blue, #4a90e2)}.character-header,.location-header,.thread-header,.event-header,.dimension-header,.feature-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer}.character-header:hover,.location-header:hover,.thread-header:hover,.event-header:hover,.dimension-header:hover,.feature-header:hover{background:#ffffff0d}.character-summary,.location-summary,.thread-summary,.event-summary,.dimension-summary,.feature-summary{display:flex;align-items:center;gap:1rem}.character-summary h3,.location-summary h3,.thread-summary h3,.event-summary h3,.dimension-summary h3,.feature-summary h3{margin:0;font-size:1.1rem}.role-badge,.atmosphere-badge,.state-badge,.arc-badge,.act-badge,.type-badge,.weight-badge,.phases-badge{font-size:.8rem;padding:.2rem .6rem;border-radius:4px;background:#ffffff1a;color:var(--text-secondary)}.expand-icon{color:var(--text-secondary);font-size:.9rem}.character-form,.location-form,.thread-form,.event-form,.dimension-form,.feature-form{padding:1.25rem;border-top:1px solid rgba(255,255,255,.1)}.character-actions,.location-actions,.thread-actions,.event-actions,.dimension-actions,.feature-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.empty-state{text-align:center;padding:3rem;background:#1e1e2880;border-radius:8px;border:1px dashed rgba(255,255,255,.2);color:var(--text-secondary)}.empty-state p{margin:.5rem 0}.loading-state{display:flex;justify-content:center;align-items:center;padding:3rem;color:var(--text-secondary)}.error-state{text-align:center;padding:3rem;color:#ff6b6b}.key-value-list{margin-bottom:1rem}.kv-item{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.kv-key{font-family:monospace;color:var(--accent-blue, #4a90e2);min-width:150px}.kv-value-input{flex:1;max-width:200px}.kv-value-input.wide{max-width:400px}.add-kv-row{display:flex;gap:.75rem;align-items:center;margin-top:1rem}.add-kv-row input{flex:1;max-width:200px}.add-kv-row input.wide{max-width:300px}.toggle-switch{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-switch input{display:none}.toggle-slider{width:40px;height:20px;background:#fff3;border-radius:10px;position:relative;transition:background .2s}.toggle-slider:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s}.toggle-switch input:checked+.toggle-slider{background:var(--accent-blue, #4a90e2)}.toggle-switch input:checked+.toggle-slider:after{transform:translate(20px)}.toggle-label{font-size:.9rem;color:var(--text-secondary)}.world-state-summary{margin-top:2rem}.summary-stats{display:flex;gap:2rem}.stat{text-align:center}.stat-value{display:block;font-size:2rem;font-weight:700;color:var(--accent-blue, #4a90e2)}.stat-label{font-size:.9rem;color:var(--text-secondary)}.state-visualization{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1rem;padding:1rem;background:#0003;border-radius:6px}.state-node{padding:.5rem 1rem;background:#ffffff1a;border-radius:4px;font-size:.9rem}.state-node.initial{background:var(--accent-blue, #4a90e2);color:#fff}.state-arrow{color:var(--text-secondary)}.events-timeline{display:flex;flex-direction:column;gap:2rem}.timeline-act{background:#0003;border-radius:8px;padding:1rem}.act-header{margin:0 0 1rem;font-size:1.1rem;color:var(--accent-blue, #4a90e2);padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.timeline-events{display:flex;flex-direction:column;gap:.5rem}.timeline-event{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#ffffff0d;border-radius:4px;cursor:pointer;transition:background .2s}.timeline-event:hover{background:#ffffff1a}.timeline-event.kernel{border-left:3px solid #f1c40f}.timeline-event.satellite{border-left:3px solid rgba(255,255,255,.2)}.event-icon{font-size:1.2rem}.event-icon.kernel{color:#f1c40f}.event-icon.satellite{color:var(--text-secondary)}.event-title{flex:1}.event-type{font-size:.85rem;color:var(--text-secondary)}.events-legend{margin-top:2rem;padding:1rem;background:#0003;border-radius:6px}.events-legend h4{margin:0 0 .75rem}.legend-items{display:flex;gap:2rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.weight-visualization{margin-bottom:2rem;padding:1.5rem;background:#0003;border-radius:8px}.weight-bar{display:flex;height:30px;border-radius:4px;overflow:hidden;margin-bottom:1rem}.weight-segment{display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;overflow:hidden;white-space:nowrap}.weight-legend{display:flex;flex-wrap:wrap;gap:1rem}.weight-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.weight-legend .legend-color{width:12px;height:12px;border-radius:2px}.weight-input-group{display:flex;align-items:center;gap:.5rem}.weight-input-group input[type=range]{flex:1}.weight-number{width:60px!important}.color-palette{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.color-swatch{display:flex;align-items:center;gap:.5rem}.color-swatch input[type=color]{width:40px;height:40px;border:none;border-radius:4px;cursor:pointer}.color-hex{width:80px!important;font-family:monospace}.prompt-preview{background:#0000004d;border-radius:6px;padding:1rem}.prompt-preview strong{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.85rem}.prompt-preview code{display:block;font-family:monospace;font-size:.9rem;color:var(--text-primary);margin-bottom:1rem;padding:.5rem;background:#0003;border-radius:4px}.preview-section .preview-image{margin-top:1rem;border-radius:8px;overflow:hidden}.preview-section .preview-image img{max-width:100%;height:auto}.feature-preview{padding:1rem;background:#0000004d;border-radius:6px}.preview-meter{max-width:300px}.preview-meter .meter-label{margin-bottom:.5rem;font-size:.9rem}.preview-meter .meter-bar{height:20px;background:#ffffff1a;border-radius:10px;overflow:hidden}.preview-meter .meter-fill{height:100%;transition:width .3s}.preview-meter .meter-value{margin-top:.25rem;font-size:.85rem;text-align:right}.preview-tracker .tracker-title{margin-bottom:.75rem}.preview-tracker .tracker-steps{display:flex;align-items:center;gap:1rem}.preview-tracker .tracker-step{display:flex;flex-direction:column;align-items:center;gap:.25rem}.preview-tracker .step-dot{width:16px;height:16px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.3)}.preview-tracker .tracker-step.complete .step-dot{background:var(--accent-blue, #4a90e2);border-color:var(--accent-blue, #4a90e2)}.preview-tracker .step-label{font-size:.75rem;color:var(--text-secondary)}.checkpoint-panel{position:fixed;right:0;top:0;bottom:0;width:350px;background:#14141efa;border-left:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;z-index:200;box-shadow:-4px 0 20px #00000080}.checkpoint-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.checkpoint-panel .panel-header h3{margin:0}.btn-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1}.btn-close:hover{color:var(--text-primary)}.create-checkpoint{display:flex;gap:.5rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.create-checkpoint input{flex:1;padding:.5rem;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--text-primary)}.checkpoints-list{flex:1;overflow-y:auto;padding:.5rem}.checkpoint-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:#ffffff0d;border-radius:6px;border:1px solid transparent}.checkpoint-item.selected{border-color:var(--accent-blue, #4a90e2)}.checkpoint-info{flex:1;min-width:0}.checkpoint-header{display:flex;align-items:center;gap:.5rem}.checkpoint-icon{font-size:1rem}.checkpoint-name{font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkpoint-version{font-size:.8rem;color:var(--text-secondary)}.checkpoint-meta{display:flex;gap:.5rem;margin-top:.25rem;font-size:.8rem;color:var(--text-secondary)}.checkpoint-actions{display:flex;gap:.25rem}.diff-panel{border-top:1px solid rgba(255,255,255,.1);padding:1rem;max-height:40%;overflow-y:auto}.diff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.diff-header h4{margin:0}.diff-versions{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin-bottom:1rem;padding:.5rem;background:#0003;border-radius:4px}.diff-section{margin-bottom:1rem}.diff-section h5{margin:0 0 .5rem;font-size:.9rem}.diff-item{padding:.5rem;margin-bottom:.25rem;border-radius:4px;font-size:.85rem}.diff-item.modified{background:#f1c40f1a;border-left:3px solid #f1c40f}.diff-item.added{background:#2ecc711a;border-left:3px solid #2ecc71}.diff-item.removed{background:#e74c3c1a;border-left:3px solid #e74c3c}.diff-key{font-family:monospace}.diff-code{margin-top:.5rem;padding:.5rem;background:#0000004d;border-radius:4px;font-size:.8rem;overflow-x:auto}.no-changes{color:var(--text-secondary);font-style:italic}.view-toggle{display:flex;background:#0003;border-radius:6px;overflow:hidden}.view-toggle button{padding:.5rem 1rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s}.view-toggle button:hover{color:var(--text-primary)}.view-toggle button.active{background:var(--accent-blue, #4a90e2);color:#fff}.connections-grid,.blocks-grid,.requires-grid,.phases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.connection-checkbox,.block-checkbox,.requires-checkbox,.phase-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#ffffff0d;border-radius:4px;cursor:pointer}.connection-checkbox:hover,.block-checkbox:hover,.requires-checkbox:hover,.phase-checkbox:hover{background:#ffffff1a}.template-preview-card{padding:1.5rem;background:#1e1e28cc;border:1px solid rgba(255,255,255,.1);border-radius:8px}.template-preview-card .preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.template-preview-card h4{margin:0}.template-preview-card .genre-badge{background:#ffffff1a;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;text-transform:capitalize}.template-preview-card .preview-tagline{font-style:italic;color:var(--text-secondary);margin-bottom:.5rem}.template-preview-card .preview-description{margin-bottom:1rem;line-height:1.5}.template-preview-card .preview-tags{display:flex;flex-wrap:wrap;gap:.5rem}.template-preview-card .tag{padding:.25rem .5rem;background:#4a90e233;border-radius:4px;font-size:.85rem;color:var(--accent-blue, #4a90e2)}.dimensions-reference,.sources-reference{margin-top:2rem;padding:1.5rem;background:#0003;border-radius:8px}.reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.reference-item{padding:.75rem;background:#ffffff0d;border-radius:4px}.reference-item strong,.reference-item code{display:block;margin-bottom:.25rem;color:var(--accent-blue, #4a90e2)}.reference-item span{font-size:.85rem;color:var(--text-secondary)}@media (max-width: 1024px){.tab-navigation{width:60px;min-width:60px}.tab-label,.tab-count{display:none}.tab-button{justify-content:center;padding:1rem}.tab-icon{font-size:1.25rem}}@media (max-width: 768px){.editor-header{flex-direction:column;gap:1rem;padding:1rem}.header-left,.header-right{width:100%;justify-content:space-between}.form-row{flex-direction:column}.checkpoint-panel{width:100%;max-width:350px}}.error-boundary-fallback{display:flex;align-items:center;justify-content:center;min-height:300px;padding:2rem}.error-boundary-fallback .error-content{text-align:center;max-width:400px}.error-boundary-fallback h3{color:#ff6b6b;margin-bottom:1rem}.error-boundary-fallback p{color:var(--text-secondary, #aaa);margin-bottom:1.5rem}.error-boundary-fallback details{text-align:left;margin-bottom:1.5rem;padding:1rem;background:#0000004d;border-radius:8px}.error-boundary-fallback summary{cursor:pointer;color:var(--text-secondary, #aaa);margin-bottom:.5rem}.error-boundary-fallback pre{font-size:.75rem;overflow-x:auto;color:#ff6b6b;white-space:pre-wrap;word-break:break-word}.confirmation-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 .15s ease-out}.confirmation-modal{background:var(--bg-secondary, #16213e);border-radius:12px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 20px 40px #0006;animation:slideUp .2s ease-out}.confirmation-modal h3{margin:0 0 1rem;color:var(--text-primary, #e8e8e8)}.confirmation-modal p{margin:0 0 1.5rem;color:var(--text-secondary, #aaa);line-height:1.5}.confirmation-actions{display:flex;gap:.75rem;justify-content:flex-end}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-content--pool{padding:0;overflow:hidden;display:flex;flex-direction:column}.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%}.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}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.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}.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}.edit-history-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%}.edit-history-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)}.history-controls{display:flex;gap:8px}.history-button{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);cursor:pointer;font-size:.85em;transition:all .2s}.history-button:hover:not(:disabled){background:var(--bg-hover, #303060);border-color:var(--accent-primary, #6366f1)}.history-button:disabled{opacity:.5;cursor:not-allowed}.button-icon{font-size:1.1em}.edit-history-panel .panel-content{flex:1;overflow-y:auto;padding:12px}.position-indicator{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary, #252545);border-radius:4px;margin-bottom:12px}.position-text{font-weight:600;color:var(--text-primary, #e0e0e0);font-size:.9em}.position-hint{color:var(--text-secondary, #888);font-size:.8em}.edit-list{display:flex;flex-direction:column;gap:4px}.empty-history{text-align:center;padding:32px 16px;color:var(--text-secondary, #888)}.empty-history p{margin:0 0 8px}.empty-history .hint{font-size:.85em;color:var(--text-tertiary, #666)}.edit-item{display:flex;align-items:center;padding:10px 12px;background:var(--bg-tertiary, #1e1e3e);border-radius:4px;cursor:pointer;transition:all .2s;border:1px solid transparent}.edit-item:hover{background:var(--bg-hover, #252550)}.edit-item.active{background:var(--accent-primary, #6366f1);background:#6366f133;border-color:var(--accent-primary, #6366f1)}.edit-item.future{opacity:.5}.edit-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #252545);border-radius:4px;margin-right:12px;font-size:.9em;color:var(--text-secondary, #aaa)}.edit-item.active .edit-icon{background:var(--accent-primary, #6366f1);color:#fff}.edit-details{flex:1;min-width:0}.edit-description{color:var(--text-primary, #e0e0e0);font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.edit-type{font-size:.75em;color:var(--text-tertiary, #666);background:var(--bg-secondary, #252545);padding:2px 6px;border-radius:3px}.edit-time{font-size:.75em;color:var(--text-tertiary, #666)}.edit-marker{margin-left:8px;color:var(--accent-primary, #6366f1);font-size:.8em}.keyboard-hints{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-color, #333);display:flex;flex-direction:column;gap:6px}.hint-item{display:flex;align-items:center;gap:4px;font-size:.75em;color:var(--text-tertiary, #666)}kbd{display:inline-block;padding:2px 6px;background:var(--bg-secondary, #252545);border:1px solid var(--border-color, #444);border-radius:3px;font-family:monospace;font-size:.9em}.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}.context-inspector{background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, #2d2d4a);border-radius:8px;margin-bottom:12px}.context-inspector .panel-header{padding:10px 12px;font-weight:600;font-size:13px;color:var(--text-primary, #e0e0e0);border-bottom:1px solid var(--border-color, #2d2d4a);background:var(--bg-tertiary, #252540);border-radius:8px 8px 0 0}.context-inspector .panel-content{padding:12px}.context-inspector .inspector-section{margin-bottom:16px}.context-inspector .inspector-section:last-child{margin-bottom:0}.context-inspector .section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);margin-bottom:8px}.context-inspector .node-info-compact{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.context-inspector .node-info-compact strong{color:var(--text-primary, #e0e0e0);font-size:14px}.context-inspector .node-type-badge{font-size:11px;padding:2px 6px;background:var(--bg-tertiary, #252540);border:1px solid var(--border-color, #2d2d4a);border-radius:4px;color:var(--text-secondary, #a0a0b0)}.context-inspector .status-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.context-inspector .status-badge.status-running{background:#f6ad5533;color:#f6ad55}.context-inspector .status-badge.status-success{background:#48bb7833;color:#48bb78}.context-inspector .status-badge.status-failed{background:#f5656533;color:#f56565}.context-inspector .field-search{width:100%;padding:8px 10px;background:var(--bg-tertiary, #252540);border:1px solid var(--border-color, #2d2d4a);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:12px}.context-inspector .field-search:focus{outline:none;border-color:var(--accent-color, #4299E1)}.context-inspector .field-search::placeholder{color:var(--text-muted, #6b6b80)}.context-inspector .field-list{display:flex;flex-direction:column;gap:6px}.context-inspector .field-list.compact{flex-direction:row;flex-wrap:wrap;gap:4px}.field-detail-row{background:var(--bg-tertiary, #252540);border-radius:4px;padding:8px 10px;border-left:3px solid transparent}.field-detail-row.read{border-left-color:#5fa3e8}.field-detail-row.write{border-left-color:#48bb78}.field-detail-header{display:flex;align-items:center;gap:6px}.field-color-indicator{width:8px;height:8px;border-radius:2px;flex-shrink:0}.field-icon{font-size:12px}.field-name{font-family:Fira Code,Monaco,monospace;font-size:12px;color:var(--text-primary, #e0e0e0)}.field-value-display{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-color, #2d2d4a);font-size:11px}.field-value-label{color:var(--text-secondary, #a0a0b0)}.context-value-string{color:#98c379}.context-value-number{color:#d19a66}.context-value-boolean{color:#56b6c2}.context-value-array,.context-value-object{color:#e5c07b}.context-value-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.context-value-expandable:hover{opacity:.8}.context-value-json{display:block;font-size:11px;font-family:Consolas,Monaco,monospace;color:#cbd5e0;background:#1a202c;border-radius:4px;padding:6px 8px;margin-top:4px;max-height:200px;overflow:auto;white-space:pre;text-wrap:nowrap}.context-value-null{color:#abb2bf;font-style:italic}.field-tag{font-family:Fira Code,Monaco,monospace;font-size:10px;padding:2px 6px;border-radius:3px;background:var(--bg-tertiary, #252540)}.field-tag.read-tag{border:1px solid #5FA3E8;color:#5fa3e8}.field-tag.write-tag{border:1px solid #48BB78;color:#48bb78}.edge-info{background:var(--bg-tertiary, #252540);border-radius:4px;padding:10px}.edge-connection-path{display:flex;align-items:center;gap:8px;font-size:13px}.edge-connection-path .node-label{font-weight:500;color:var(--text-primary, #e0e0e0)}.edge-connection-path .arrow{color:var(--text-secondary, #a0a0b0)}.flowing-fields{flex-direction:row!important;flex-wrap:wrap;gap:6px!important}.flowing-field{display:flex;align-items:center;gap:6px;background:var(--bg-tertiary, #252540);padding:4px 8px;border-radius:4px;border:1px solid var(--border-color, #2d2d4a)}.flowing-field .field-name{font-size:11px}.transparency-info{background:var(--bg-tertiary, #252540);border-radius:4px;padding:10px}.transparency-description{font-size:12px;color:var(--text-primary, #e0e0e0);line-height:1.5;margin:0 0 8px}.llm-calls-info{font-size:11px;color:var(--text-secondary, #a0a0b0)}.inspector-warning{background:#f6ad551a;border:1px solid rgba(246,173,85,.3);border-radius:4px;padding:10px;font-size:12px;color:#f6ad55;margin-top:12px}.inspector-empty-state{text-align:center;padding:20px;color:var(--text-secondary, #a0a0b0)}.inspector-empty-state p{margin:0;font-size:13px}.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}.playthrough-graph{display:flex;flex-direction:column;height:100%;background:#1a202c;border-radius:8px;overflow:hidden}.playthrough-controls{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#2d3748;border-bottom:1px solid #4A5568;flex-wrap:wrap}.run-playthrough-btn{padding:8px 16px;background:#4299e1;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s ease-out}.run-playthrough-btn:hover:not(:disabled){background:#3182ce}.run-playthrough-btn:focus-visible{outline:3px solid #63B3ED;outline-offset:2px}.run-playthrough-btn:disabled{background:#4a5568;cursor:not-allowed;opacity:.7}.playthrough-metrics{display:flex;gap:16px;color:#a0aec0;font-size:13px;flex-wrap:wrap}.playthrough-metrics .metric{display:inline-flex;align-items:center;gap:4px}.playthrough-metrics .metric.persona{background:#553c9a;padding:2px 8px;border-radius:4px;color:#e9d8fd}.graph-canvas{flex:1;min-height:400px}.empty-graph{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#718096;text-align:center;padding:32px}.empty-graph p{margin:8px 0}.passage-node{background:#2d3748;border:2px solid #4A5568;border-radius:8px;padding:8px 10px;min-width:360px;max-width:440px;cursor:pointer;transition:all .2s ease-out;box-shadow:0 2px 8px #0000004d}.passage-node:hover{border-color:#63b3ed;box-shadow:0 4px 12px #63b3ed4d}.passage-node:focus-visible{outline:3px solid #63B3ED;outline-offset:2px}.passage-node.selected{border-color:#4299e1;box-shadow:0 0 0 2px #4299e166}.passage-node.initial{border-color:#48bb78;background:linear-gradient(135deg,#2d3748,#276749)}.passage-node.final{border-color:#f56565;background:linear-gradient(135deg,#2d3748,#742a2a)}.passage-node{position:relative}.turn-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#4a5568;color:#e2e8f0;font-size:10px;font-weight:700;padding:1px 8px;border-radius:8px;line-height:1.4;z-index:1;border:1px solid #2D3748}.turn-badge.start{background:#276749}.turn-badge.end{background:#742a2a}.passage-events-inline{position:absolute;top:3px;right:6px;display:flex;gap:2px}.event-marker-inline{font-size:11px;cursor:help}.passage-body{display:flex;gap:8px;height:100%}.passage-excerpt{color:#cbd5e0;font-size:11px;line-height:1.4;flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical}.passage-choices{display:flex;flex-direction:column;gap:2px;flex-shrink:0;width:170px;border-left:1px solid #4A5568;padding-left:8px}.passage-choice-item{display:flex;align-items:center;gap:3px;padding:2px 5px;border-radius:3px;border:1px solid transparent;font-size:9px;color:#718096;line-height:1.2}.passage-choice-item.selected{color:#e2e8f0;font-weight:600}.passage-choice-item .choice-icon{font-size:10px;flex-shrink:0}.passage-choice-item .choice-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.passage-choice-item .choice-selected-check{font-size:9px;flex-shrink:0;margin-left:auto;color:#48bb78;font-weight:700}.passage-stats{display:flex;gap:8px;margin-top:4px;padding-top:4px;border-top:1px solid #4A5568}.passage-stats .stat-item{font-size:9px;color:#718096}.passage-node:hover .click-hint{opacity:1}.passage-handle{width:10px;height:10px;background:#4a5568;border:2px solid #718096}.choice-edge-label{position:absolute;font-size:10px;pointer-events:all;display:flex;flex-direction:column;align-items:center;gap:4px}.choice-type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;color:#fff;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border:1px solid;box-shadow:0 1px 3px #0000004d;white-space:nowrap;transition:transform .2s ease-out;text-shadow:0 1px 2px rgba(0,0,0,.7)}.choice-type-badge .type-icon{font-size:12px;line-height:1}.choice-type-badge .type-label{line-height:1}.choice-type-badge.selected{transform:scale(1.1);box-shadow:0 2px 6px #00000080}.temperature-label{font-size:10px;color:#a0aec0;background:#2d3748e6;padding:2px 6px;border-radius:3px;white-space:nowrap}.choice-preview{font-size:9px;color:#718096;background:#2d3748e6;padding:2px 6px;border-radius:3px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edge-tooltip{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#2d3748;border:1px solid #4A5568;border-radius:8px;padding:12px 16px;box-shadow:0 4px 12px #0006;z-index:1000;max-width:300px}.tooltip-header{font-size:11px;color:#718096;margin-bottom:4px}.tooltip-choice-type{font-weight:600;font-size:14px;margin-bottom:4px}.tooltip-choice-text{color:#cbd5e0;font-size:12px;line-height:1.4;margin-bottom:4px;word-wrap:break-word}.tooltip-temperature{font-size:11px;color:#a0aec0}.passage-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.passage-modal{background:#2d3748;border-radius:12px;max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.passage-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#1a202c;border-bottom:1px solid #4A5568}.passage-modal-header h3{margin:0;color:#e2e8f0;font-size:18px}.passage-modal-header .close-btn{background:none;border:none;color:#718096;font-size:24px;cursor:pointer;padding:0;line-height:1;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s ease-out,background .2s ease-out}.passage-modal-header .close-btn:hover{color:#e2e8f0;background:#ffffff1a}.passage-modal-header .close-btn:focus-visible{outline:3px solid #63B3ED;outline-offset:2px}.passage-modal-content{padding:20px;overflow-y:auto}.passage-choice-made{background:#4299e11a;border-left:3px solid #4299E1;padding:12px;margin-bottom:16px;border-radius:0 6px 6px 0;color:#cbd5e0;font-size:13px}.passage-text{color:#e2e8f0;font-size:14px;line-height:1.7;white-space:pre-wrap;margin-bottom:16px}.passage-modal-events{margin-bottom:12px}.passage-modal-events strong{color:#a0aec0;font-size:12px}.passage-modal-events ul{margin:8px 0 0;padding-left:20px;color:#cbd5e0;font-size:13px}.passage-temperature{color:#a0aec0;font-size:12px}.playthrough-graph .graph-legend{background:#2d3748f2;border:1px solid #4A5568;border-radius:8px;padding:12px}.graph-legend h4{margin:0 0 8px;color:#a0aec0;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.legend-item{display:flex;align-items:center;gap:8px;margin-bottom:4px}.legend-color{width:16px;height:16px;border-radius:3px}.legend-label{color:#cbd5e0;font-size:11px;text-transform:capitalize}.playthrough-graph .choice-distribution{background:#2d3748f2;border:1px solid #4A5568;border-radius:8px;padding:12px;min-width:150px}.choice-distribution h4{margin:0 0 8px;color:#a0aec0;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.distribution-item{margin-bottom:6px}.distribution-bar{display:block;height:6px;border-radius:3px;margin-bottom:2px;min-width:4px}.distribution-label{color:#cbd5e0;font-size:10px}@media (max-width: 1024px){.playthrough-graph .graph-legend,.playthrough-graph .choice-distribution{padding:10px}.graph-legend h4,.choice-distribution h4{font-size:10px}}@media (max-width: 768px){.playthrough-controls{flex-direction:column;align-items:stretch;gap:12px}.playthrough-metrics{flex-direction:column;gap:8px}.graph-canvas{min-height:300px}.passage-node{min-width:220px;max-width:300px;padding:8px}.passage-body{flex-direction:column}.passage-choices{width:auto;border-left:none;border-top:1px solid #4A5568;padding-left:0;padding-top:4px}.passage-excerpt{font-size:10px;max-height:50px}.passage-modal{max-height:90vh;margin:10px}.passage-modal-content{padding:16px}.passage-text{font-size:13px}.playthrough-graph .graph-legend,.playthrough-graph .choice-distribution{display:none}.edge-tooltip{bottom:60px;left:10px;right:10px;transform:none;max-width:none;word-wrap:break-word}.run-playthrough-btn{min-height:44px;width:100%}.passage-modal-header .close-btn{min-width:44px;min-height:44px}}@media (prefers-reduced-motion: reduce){.passage-node,.choice-type-badge,.click-hint,.run-playthrough-btn,.passage-modal-header .close-btn{transition:none}}@media (forced-colors: active){.passage-node{border:2px solid CanvasText}.passage-node.selected{border:3px solid Highlight}.choice-type-badge{border:1px solid CanvasText}.run-playthrough-btn:focus-visible,.passage-node:focus-visible,.passage-modal-header .close-btn:focus-visible{outline:3px solid Highlight}}.playthrough-graph .react-flow__minimap{background:#1a202c}.playthrough-graph .react-flow__controls{box-shadow:0 2px 8px #0000004d}.playthrough-graph .react-flow__controls-button{background:#2d3748;border-color:#4a5568;color:#cbd5e0}.playthrough-graph .react-flow__controls-button:hover{background:#4a5568}.playthrough-graph .react-flow__controls-button:focus-visible{outline:2px solid #63B3ED;outline-offset:1px}.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}.turn-inspector{display:flex;flex-direction:column;height:100%;overflow:hidden}.turn-inspector-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1a202c;border-bottom:1px solid #4A5568;flex-shrink:0}.turn-inspector-title{font-weight:700;font-size:14px;color:#e2e8f0}.turn-inspector-close{background:none;border:none;color:#718096;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.turn-inspector-close:hover{color:#e2e8f0}.turn-inspector-stats{display:flex;gap:12px;padding:8px 12px;background:#2d3748;border-bottom:1px solid #4A5568;flex-shrink:0}.ti-stat{font-size:12px;color:#a0aec0}.turn-inspector-body{flex:1;overflow-y:auto;padding:0}.ti-section{padding:10px 12px;border-bottom:1px solid #4A5568}.ti-section-title{margin:0 0 8px;font-size:11px;font-weight:600;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px}.ti-choice-made{background:#4299e11f;border-left:3px solid #4299E1;padding:8px 10px;border-radius:0 4px 4px 0;color:#e2e8f0;font-size:13px;line-height:1.5}.ti-narrative{color:#cbd5e0;font-size:13px;line-height:1.6;white-space:pre-wrap;max-height:300px;overflow-y:auto}.ti-choices-list{display:flex;flex-direction:column;gap:6px}.ti-choice{padding:6px 8px;border-left:3px solid #4A5568;border-radius:0 4px 4px 0;background:#ffffff08}.ti-choice.selected{background:#ffffff12}.ti-choice-header{display:flex;align-items:center;gap:6px;margin-bottom:3px}.ti-choice-icon{font-size:12px}.ti-choice-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ti-choice-badge{font-size:9px;background:#48bb78;color:#1a202c;padding:1px 5px;border-radius:3px;font-weight:700;margin-left:auto}.ti-choice-text{color:#cbd5e0;font-size:12px;line-height:1.4}.ti-choice-meta{font-size:10px;color:#718096;margin-top:2px}.ti-section-subtitle{font-weight:400;color:#718096;margin-left:8px;font-size:10px;text-transform:none;letter-spacing:0}.ti-waterfall{display:flex;flex-direction:column;gap:1px}.ti-wf-row{display:flex;align-items:center;height:24px;cursor:pointer;border-radius:2px;transition:background .1s}.ti-wf-row:hover,.ti-wf-row.hovered{background:#ffffff0f}.ti-wf-label{width:90px;flex-shrink:0;font-size:10px;color:#63b3ed;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:6px}.ti-wf-track{flex:1;position:relative;height:18px;background:#00000040;border-radius:2px;overflow:visible}.ti-wf-bar{position:absolute;top:2px;height:14px;border-radius:2px;min-width:3px;transition:opacity .15s;overflow:hidden}.ti-wf-row:hover .ti-wf-bar{opacity:1!important;box-shadow:0 0 4px #63b3ed66}.ti-wf-bar-prompt{position:absolute;top:0;left:0;height:100%;background:#0003;border-right:1px solid rgba(255,255,255,.15)}.ti-wf-tooltip{position:absolute;top:22px;transform:translate(-50%);background:#1a202c;border:1px solid #4A5568;border-radius:4px;padding:5px 8px;font-size:9px;color:#cbd5e0;line-height:1.5;white-space:nowrap;z-index:10;pointer-events:none;box-shadow:0 2px 8px #00000080}.ti-wf-tooltip-title{font-weight:700;color:#e2e8f0;margin-bottom:1px}.ti-wf-meta{width:65px;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;padding-left:6px;line-height:1.1}.ti-wf-duration{font-size:9px;color:#a0aec0;font-weight:600}.ti-wf-tokens{font-size:8px;color:#718096}.ti-wf-axis-row{display:flex;align-items:flex-start;height:16px;margin-top:2px}.ti-wf-axis{flex:1;position:relative;height:16px;border-top:1px solid #4A5568}.ti-wf-tick{position:absolute;top:3px;font-size:8px;color:#718096;transform:translate(-50%)}.ti-wf-tick:first-child{transform:translate(0)}.ti-wf-tick:last-child{transform:translate(-100%)}.ti-beats-list{display:flex;flex-direction:column;gap:6px}.ti-beat-card{background:#ffffff0a;border-radius:6px;padding:7px 9px;display:flex;flex-direction:column;gap:4px;border-left:2px solid #4A5568}.ti-beat-header{display:flex;align-items:center;gap:7px}.ti-beat-num{font-size:11px;font-weight:600;color:#63b3ed;min-width:20px}.ti-beat-type{font-size:11px;font-weight:600;color:#63b3ed;text-transform:uppercase}.ti-beat-layout{font-size:10px;color:#718096;background:#0000004d;padding:1px 5px;border-radius:3px}.ti-beat-fields{display:flex;flex-wrap:wrap;gap:8px}.ti-beat-field{display:flex;align-items:center;gap:3px;font-size:12px;color:#cbd5e0}.ti-beat-key{font-size:10px;color:#718096;text-transform:uppercase}.ti-beat-val{color:#cbd5e0}.ti-beat-text{font-size:12px;color:#a0aec0;font-style:italic;line-height:1.4;border-left:2px solid #4A5568;padding-left:8px;margin-top:2px}.ti-beat-line{display:flex;gap:6px;font-size:12px;margin-top:3px;align-items:baseline}.ti-beat-line-type{font-size:9px;text-transform:uppercase;letter-spacing:.3px;color:#718096;min-width:52px;flex-shrink:0}.ti-beat-line--dialogue .ti-beat-line-type{color:#63b3ed}.ti-beat-line--caption .ti-beat-line-type{color:#68d391}.ti-beat-line--interiority .ti-beat-line-type{color:#b794f4}.ti-beat-line--action .ti-beat-line-type{color:#f6ad55}.ti-beat-line-text{color:#cbd5e0;line-height:1.4;font-style:italic}.ti-beat-line--dialogue .ti-beat-line-text{color:#e2e8f0;font-style:normal}.ti-beat-line--interiority .ti-beat-line-text{color:#d6bcfa}.ti-calls-list{display:flex;flex-direction:column;gap:2px}.ti-call{border-radius:4px;background:#0003;overflow:hidden;transition:background .15s}.ti-call.highlighted{background:#63b3ed1f;box-shadow:inset 0 0 0 1px #63b3ed4d}.ti-call-header{display:flex;align-items:center;gap:6px;padding:5px 8px;cursor:pointer;font-size:11px;color:#cbd5e0;transition:background .1s}.ti-call-header:hover{background:#ffffff0d}.ti-call-expand{color:#718096;font-size:10px;width:12px;flex-shrink:0}.ti-call-node{font-weight:600;color:#63b3ed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.ti-call-model{font-size:10px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.ti-call-duration{margin-left:auto;color:#a0aec0;flex-shrink:0}.ti-call-tokens{color:#718096;flex-shrink:0}.ti-call-detail{padding:6px 8px 8px 28px;border-top:1px solid #4A5568;font-size:11px}.ti-call-meta{color:#a0aec0;margin-bottom:4px}.ti-meta-label{color:#718096;font-weight:600}.ti-call-prompt,.ti-call-response{margin-top:6px}.ti-call-prompt pre,.ti-call-response pre{margin:4px 0 0;padding:6px 8px;background:#0000004d;border-radius:4px;font-size:10px;color:#cbd5e0;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;line-height:1.4}.ti-call-prompt pre{border-left:2px solid #4299E1}.ti-call-response pre{border-left:2px solid #48BB78}.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}.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}.template-inspector{padding:12px;background:var(--bg-secondary, #1a1a2e);border-radius:8px;max-height:80vh;overflow-y:auto}.template-inspector.empty,.template-inspector.loading,.template-inspector.error{display:flex;align-items:center;justify-content:center;min-height:400px}.template-inspector .empty-state{text-align:center;color:var(--text-secondary, #888)}.template-inspector .spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-top:4px solid var(--accent-blue, #4a9eff);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.template-inspector .error-message{padding:15px;background:#ef53501a;border:1px solid #ef5350;border-radius:4px;color:#ef5350}.template-cover{margin-bottom:12px;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000004d}.template-cover .cover-image{width:100%;height:auto;display:block;object-fit:cover}.template-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.template-header h3{margin:0;font-size:1.1rem;color:var(--text-primary, #e0e0e0)}.genre-badge{padding:2px 8px;background:var(--accent-blue, #4a9eff);color:#fff;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.tagline{font-style:italic;color:var(--text-secondary, #888);margin:4px 0 8px;font-size:.85rem}.description{color:var(--text-secondary, #aaa);line-height:1.5;margin-bottom:12px;font-size:.85rem}.generate-mock-btn{width:100%;padding:8px;background:var(--accent-green, #34d399);color:#fff;border:none;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;margin-bottom:12px;transition:background .2s}.generate-mock-btn:hover:not(:disabled){background:#2ecc71}.generate-mock-btn:disabled{background:#fff3;cursor:not-allowed}.template-section{margin-bottom:8px;background:var(--bg-tertiary, #252540);border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.section-header{padding:6px 10px;background:#ffffff0d;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;transition:background .2s}.section-header:hover{background:#ffffff1a}.section-header h4{margin:0;font-size:.8rem;color:var(--text-primary, #e0e0e0);flex:1}.expand-icon{color:var(--text-secondary, #888);font-size:.65rem;width:12px}.section-content{padding:8px}.archetype-card{padding:8px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;margin-bottom:6px}.archetype-card:last-child{margin-bottom:0}.archetype-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.archetype-header strong{font-size:.8rem;color:var(--text-primary, #e0e0e0)}.role-badge{padding:2px 6px;background:#4a9eff33;color:var(--accent-blue, #4a9eff);border-radius:8px;font-size:.65rem;font-weight:600;text-transform:capitalize}.archetype-description{color:var(--text-secondary, #aaa);font-size:.75rem;line-height:1.4;margin:0 0 6px}.motivations{font-size:.7rem}.motivations strong{color:var(--text-secondary, #888);display:block;margin-bottom:4px}.motivations ul{margin:0;padding-left:16px}.motivations li{color:var(--text-secondary, #aaa);margin-bottom:2px}.plot-thread-card{padding:8px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;margin-bottom:6px}.plot-thread-card:last-child{margin-bottom:0}.plot-thread-card strong{display:block;color:var(--text-primary, #e0e0e0);margin-bottom:4px;font-size:.8rem}.plot-thread-card p{color:var(--text-secondary, #aaa);font-size:.75rem;margin:0 0 6px;line-height:1.4}.key-events{font-size:.7rem}.key-events strong{color:var(--text-secondary, #888);display:block;margin-bottom:4px}.key-events ul{margin:0;padding-left:16px}.key-events li{color:var(--text-secondary, #aaa);margin-bottom:2px}.world-fact-card{padding:6px 8px;background:#0003;border-left:3px solid var(--accent-blue, #4a9eff);margin-bottom:6px}.world-fact-card:last-child{margin-bottom:0}.world-fact-card p{margin:0;color:var(--text-secondary, #aaa);font-size:.75rem;line-height:1.4}.choice-dimension-card{padding:8px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;margin-bottom:6px}.choice-dimension-card:last-child{margin-bottom:0}.choice-dimension-card strong{display:block;color:var(--text-primary, #e0e0e0);margin-bottom:4px;font-size:.8rem}.choice-dimension-card p{color:var(--text-secondary, #aaa);font-size:.75rem;margin:0 0 6px;line-height:1.4}.weight-badge{padding:2px 6px;background:#ff980033;color:#ff9800;border-radius:8px;font-size:.65rem;font-weight:600}.opening-scene-text{padding:8px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-secondary, #aaa);font-size:.8rem;line-height:1.6;white-space:pre-wrap;font-family:Georgia,serif}.context-inspector{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-y:scroll;min-height:400px}.context-inspector.empty{padding:40px;text-align:center;color:#999}.inspector-header{padding:15px 20px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.inspector-header h3{margin:0;font-size:18px;color:#333}.node-info{display:flex;gap:10px;align-items:center;font-size:13px}.node-id{font-weight:600;color:#06c}.node-type{color:#666;font-style:italic}.execution-time{padding:2px 8px;background:#e3f2fd;color:#1976d2;border-radius:10px;font-weight:600}.view-tabs{display:flex;border-bottom:1px solid #e0e0e0;background:#fafafa}.view-tabs button{flex:1;padding:12px;border:none;background:transparent;cursor:pointer;font-size:14px;color:#666;transition:all .2s;border-bottom:2px solid transparent}.view-tabs button:hover{background:#f0f0f0;color:#333}.view-tabs button.active{color:#06c;border-bottom-color:#06c;background:#fff;font-weight:600}.inspector-content{padding:20px;max-height:60vh;overflow-y:auto}.diff-view .field-group{margin-bottom:20px}.field-group h4{margin:0 0 10px;font-size:14px;font-weight:600;padding:8px 12px;border-radius:4px}.field-group.added h4{background:#e8f5e9;color:#2e7d32}.field-group.modified h4{background:#fff3e0;color:#e65100}.field-group.unchanged h4{background:#f5f5f5;color:#666}.field-item{padding:8px 12px;margin-bottom:8px;background:#fafafa;border-left:3px solid #e0e0e0;border-radius:2px;font-family:Courier New,monospace;font-size:13px}.field-group.added .field-item{border-left-color:#4caf50;background:#f1f8f4}.field-group.modified .field-item{border-left-color:#ff9800;background:#fff8f0}.field-key{font-weight:600;color:#333;margin-right:8px}.value-null,.value-undefined{color:#999;font-style:italic}.value-boolean{color:#d32f2f;font-weight:600}.value-number{color:#1976d2}.value-string{color:#388e3c}.value-unknown{color:#666}.value-diff{margin-top:8px;padding-left:20px}.value-diff .before,.value-diff .after{margin-bottom:4px}.value-diff .label{font-weight:600;font-size:11px;text-transform:uppercase;color:#666;margin-right:8px}.value-diff .before .label{color:#d32f2f}.value-diff .after .label{color:#388e3c}.value-array,.value-object{margin-top:4px}.toggle-btn{background:none;border:none;color:#06c;cursor:pointer;padding:2px 4px;font-family:Courier New,monospace;font-size:13px}.toggle-btn:hover{text-decoration:underline}.array-items,.object-props{margin-left:20px;margin-top:8px;padding-left:12px;border-left:2px solid #e0e0e0}.array-item,.object-prop{margin-bottom:6px}.array-index{color:#666;margin-right:8px;font-weight:600}.prop-key{color:#1976d2;margin-right:8px;font-weight:600}.expand-btn{margin-left:8px;padding:2px 8px;background:#e3f2fd;border:1px solid #90caf9;border-radius:3px;cursor:pointer;font-size:11px;color:#1976d2}.expand-btn:hover{background:#bbdefb}.context-view h4,.session-view h4{margin:0 0 15px;font-size:16px;color:#333}.session-view p{color:#999;font-style:italic}.no-changes{padding:40px;text-align:center;color:#999}.no-changes p{margin:0;font-style:italic}.step-debugger{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%}.step-debugger.empty{padding:40px;justify-content:center;align-items:center;color:#999}.debugger-header{padding:15px 20px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.debugger-header h3{margin:0;font-size:18px;color:#333}.pipeline-name{font-size:13px;color:#666;font-family:Courier New,monospace}.debugger-controls{padding:15px 20px;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.control-group{display:flex;gap:8px}.control-btn{padding:8px 16px;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;color:#333;transition:all .2s}.control-btn:hover:not(:disabled){background:#f5f5f5;border-color:#999}.control-btn:disabled{opacity:.5;cursor:not-allowed}.control-btn.primary{background:#06c;color:#fff;border-color:#06c}.control-btn.primary:hover:not(:disabled){background:#0052a3}.control-btn.reset{color:#d32f2f;border-color:#d32f2f}.control-btn.reset:hover:not(:disabled){background:#ffebee}.control-btn.run{color:#388e3c;border-color:#388e3c}.control-btn.run:hover:not(:disabled){background:#e8f5e9}.progress-info{display:flex;align-items:center;gap:15px}.node-count{font-size:14px;font-weight:600;color:#666}.stop-btn{padding:6px 12px;background:#ff9800;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600}.stop-btn:hover{background:#f57c00}.error-banner{padding:12px 20px;background:#ffebee;border:1px solid #ef5350;color:#c62828;margin:0}.debugger-body{display:flex;flex:1;overflow:hidden}.node-list{width:300px;border-right:1px solid #e0e0e0;background:#fafafa;overflow-y:auto}.node-list h4{margin:0;padding:15px 20px;font-size:14px;color:#666;border-bottom:1px solid #e0e0e0;background:#f5f5f5}.nodes{padding:10px}.node-item{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:8px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s}.node-item:hover{border-color:#06c;box-shadow:0 2px 4px #0000001a}.node-item.executed{background:#e8f5e9;border-color:#81c784}.node-item.current{background:#e3f2fd;border:2px solid #0066cc;font-weight:600}.breakpoint-toggle{font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;width:20px;text-align:center}.breakpoint-toggle:hover{transform:scale(1.2)}.node-content{flex:1;display:flex;flex-direction:column;gap:4px}.node-number{font-size:11px;color:#999;font-weight:600}.node-id{font-size:13px;color:#333;font-family:Courier New,monospace}.node-type{font-size:11px;color:#666;font-style:italic}.status-icon{font-size:16px}.status-icon.current-icon{color:#06c;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.context-panel{flex:1;overflow-y:auto;padding:20px}.initial-state h4{margin:0 0 15px;font-size:16px;color:#333}.no-data{padding:40px;text-align:center;color:#999}.no-data p{margin:0;font-style:italic}.completion-banner{padding:20px;background:#e8f5e9;border-top:1px solid #81c784;text-align:center}.completion-banner p{margin:0 0 15px;font-size:16px;font-weight:600;color:#2e7d32}.complete-btn{padding:10px 24px;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.complete-btn:hover{background:#388e3c}@media (max-width: 768px){.debugger-body{flex-direction:column}.node-list{width:100%;max-height:300px;border-right:none;border-bottom:1px solid #e0e0e0}.debugger-controls{flex-direction:column;align-items:stretch}.control-group{flex-wrap:wrap}}.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}.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}.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}.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}}.narrative-editor{width:100vw;height:100vh;display:flex;flex-direction:column;background:#1a202c;color:#e2e8f0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:6px 16px;background:#2d3748;border-bottom:1px solid #4A5568;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 #4A5568;border-radius:6px;color:#a0aec0;font-size:13px;cursor:pointer;flex-shrink:0;transition:all .15s ease}.home-btn:hover{background:#ffffff26;color:#e2e8f0;border-color:#63b3ed}.editor-title{font-size:16px;font-weight:600;margin:0;color:#63b3ed}.pipeline-selector{padding:8px 12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;color:#e2e8f0;font-size:14px;cursor:pointer;transition:border-color .2s}.pipeline-selector:hover{border-color:#63b3ed}.pipeline-selector-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;color:#e2e8f0;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.pipeline-selector-btn:hover{border-color:#63b3ed;background:#4299e11a}.pipeline-selector-arrow{font-size:10px;color:#a0aec0;transition:transform .2s}.pipeline-selector-btn:hover .pipeline-selector-arrow{color:#63b3ed}.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:#a0aec0;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.step-mode-toggle:hover{background:#4299e11a;color:#63b3ed}.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:#4299e1;color:#fff}.btn-primary:hover{background:#3182ce}.btn-secondary{background:#4a5568;color:#e2e8f0}.btn-secondary:hover{background:#718096}.btn-success{background:#48bb78;color:#fff}.btn-success:hover{background:#38a169}.btn-warning{background:#ed8936;color:#fff}.btn-warning:hover{background:#dd6b20}.btn-danger{background:#f56565;color:#fff}.btn-danger:hover{background:#e53e3e}.mode-selector{display:flex;gap:4px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;padding:4px}.mode-btn{padding:4px 10px;border:none;border-radius:4px;background:transparent;color:#a0aec0;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.mode-btn:hover{background:#63b3ed1a;color:#63b3ed}.mode-btn.active{background:#4299e1;color:#fff}.pipeline-tree-selector{display:flex;gap:4px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;padding:4px}.tree-btn{padding:4px 10px;border:none;border-radius:4px;background:transparent;color:#a0aec0;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.tree-btn:hover{background:#63b3ed1a;color:#63b3ed}.tree-btn.active{color:#fff}.tree-btn.opening.active{background:#9f7aea}.tree-btn.turn.active{background:#4299e1}.tree-btn.closing.active{background:#48bb78}.tree-btn.opening:hover{background:#9f7aea33;color:#b794f4}.tree-btn.turn:hover{background:#4299e133;color:#63b3ed}.tree-btn.closing:hover{background:#48bb7833;color:#68d391}.tree-btn.session.active{background:#ed8936}.tree-btn.session:hover{background:#ed893633;color:#f6ad55}.session-playthrough-graph{width:100%;height:100%}.pipeline-type-btn:last-child.active{background:#4299e1;color:#fff}.pipeline-type-btn:last-child:hover:not(.active){background:#4299e11a;color:#63b3ed}.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:#fc8181}.pipeline-type-btn.adversarial.active{background:#c53030;color:#fff}.pipeline-type-btn.turn:hover:not(.active){background:#4299e11a;color:#63b3ed}.pipeline-type-btn.turn.active{background:#4299e1;color:#fff}.pipeline-type-btn:focus-visible{outline:2px solid #63B3ED;outline-offset:2px;z-index:1}.pipeline-type-btn.adversarial:focus-visible{outline-color:#fc8181}.pipeline-type-btn.turn:focus-visible{outline-color:#63b3ed}.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:#48bb7833;color:#48bb78}.connection-status.error{background:#f5656533;color:#f56565;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:#1a202c;position:relative;width:100%;height:100%}.react-flow-dark{background:#1a202c;width:100%;height:100%}.react-flow-dark .react-flow__node{background:#2d3748;border:2px solid #4A5568;border-radius:8px;color:#e2e8f0;font-size:13px;padding:0;box-shadow:0 4px 12px #0006;transition:all .2s}.react-flow-dark .react-flow__node:hover{border-color:#63b3ed;box-shadow:0 6px 16px #4299e14d}.react-flow-dark .react-flow__node.selected{border-color:#63b3ed;box-shadow:0 0 0 3px #4299e14d}.react-flow-dark .react-flow__edge-path{stroke:#4a5568;stroke-width:2}.react-flow-dark .react-flow__edge.selected .react-flow__edge-path{stroke:#63b3ed}.react-flow-dark .react-flow__controls{background:#2d3748;border:1px solid #4A5568;border-radius:8px}.react-flow-dark .react-flow__controls button{background:#2d3748;border-bottom:1px solid #4A5568;color:#e2e8f0}.react-flow-dark .react-flow__controls button:hover{background:#4a5568}.react-flow-dark .react-flow__minimap{background:#2d3748;border:1px solid #4A5568}.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(99,179,237,.5))}.review-canvas-h-divider{height:5px;cursor:row-resize;background:transparent;flex-shrink:0;border-top:1px solid #4A5568;transition:background .15s;position:relative;z-index:10}.review-canvas-h-divider:hover,.review-canvas-h-divider:active{background:#63b3ed;border-top-color:#63b3ed}.review-context-chip{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;background:#63b3ed1f;border:1px solid rgba(99,179,237,.35);border-radius:12px;cursor:pointer;transition:all .15s;max-width:220px;flex-shrink:0}.review-context-chip:hover{background:#63b3ed33;border-color:#63b3ed}.review-chip-label{font-size:12px;color:#90cdf4;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.review-chip-turn{font-size:11px;color:#63b3ed;background:#63b3ed33;padding:1px 5px;border-radius:6px;font-weight:600;flex-shrink:0}.review-chip-clear{background:transparent;border:none;color:#718096;cursor:pointer;font-size:11px;padding:0 2px;line-height:1;flex-shrink:0;transition:color .15s}.review-chip-clear:hover{color:#fc8181}.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:#63b3ed}.side-panel{width:400px;min-width:280px;max-width:900px;background:#2d3748;border-left:1px solid #4A5568;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{padding:0;gap:0;overflow:hidden}.side-panel-toggle{display:flex;gap:4px;background:#1a202c;border:1px solid #4A5568;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:#a0aec0;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.side-panel-toggle .toggle-btn:hover{background:#63b3ed1a;color:#63b3ed}.side-panel-toggle .toggle-btn.active{background:#4299e1;color:#fff}.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:#1a202c;border-bottom:1px solid #4A5568;flex-shrink:0}.replay-toggle-btn{padding:4px 12px;border:1px solid #4A5568;border-radius:4px;background:transparent;color:#a0aec0;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.replay-toggle-btn:hover{background:#63b3ed1a;color:#63b3ed}.replay-toggle-btn.active{background:#4299e1;color:#fff;border-color:#4299e1}.replay-view-toggle .replay-close-btn{margin-left:auto;padding:2px 8px;border:1px solid #4A5568;border-radius:4px;background:transparent;color:#a0aec0;font-size:14px;cursor:pointer;line-height:1}.replay-view-toggle .replay-close-btn:hover{border-color:#63b3ed;color:#63b3ed}.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 #4A5568;padding-top:8px}.live-replay-section .execution-replay-panel{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:#718096;transition:transform .15s}details.live-replay-section[open]>summary.live-replay-toggle-bar:before{transform:rotate(90deg)}.live-replay-label{font-size:12px;color:#63b3ed;font-weight:600}.live-replay-toggle-btns{display:flex;gap:4px}.live-replay-toggle-btn{padding:2px 8px;font-size:11px;background:transparent;border:1px solid #4A5568;border-radius:4px;color:#a0aec0;cursor:pointer}.live-replay-toggle-btn.active{background:#63b3ed26;border-color:#63b3ed;color:#63b3ed}.live-gantt-section{margin-top:12px;border-top:1px solid #4A5568;padding-top:8px}.live-gantt-section h4{margin:0 0 8px;font-size:12px;color:#63b3ed;font-weight:600}.live-beats-section{margin-top:12px;border-top:1px solid #4A5568;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:#63b3ed;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:#2d3748;border:1px solid #4A5568;border-radius:4px;padding:2px 6px;font-size:11px;cursor:default}.live-beat-char{color:#a0aec0;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:#68d391}.attachment-status-inline.running{color:#f6ad55}.live-inspector-section{margin-top:12px;border-top:1px solid #4A5568;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:#63b3ed;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:#1a202c;border:1px solid #4A5568;border-radius:8px;padding:16px}.panel-header{font-size:16px;font-weight:600;margin-bottom:12px;color:#63b3ed;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:#1a202c}.side-panel::-webkit-scrollbar-thumb{background:#4a5568;border-radius:4px}.side-panel::-webkit-scrollbar-thumb:hover{background:#718096}.node-status-idle{border-color:#4299e1!important}.node-status-running{border-color:#f6ad55!important;animation:pulse 1.5s infinite}.node-status-success{border-color:#48bb78!important}.node-status-failed{border-color:#f56565!important}.node-status-skipped{border-color:#718096!important;opacity:.6}@keyframes pulse{0%,to{box-shadow:0 0 #f6ad55b3}50%{box-shadow:0 0 0 8px #f6ad5500}}.react-flow__background{background-color:#1a202c}.react-flow__background-pattern{stroke:#2d3748}.prompt-message{padding:30px;background:#2d3748;border-radius:8px;margin:20px;border:1px solid #4A5568}.prompt-message h3{margin:0 0 12px;color:#63b3ed;font-size:18px;font-weight:600}.prompt-message p{margin:0 0 16px;color:#a0aec0;line-height:1.6}.prompt-message ul{margin:0;padding-left:24px;color:#cbd5e0;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 #4A5568}.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 #4A5568;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:#4a5568;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:#4299e1;color:#fff;border:none;border-radius:24px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #4299e166;z-index:90}.mobile-test-btn:active{background:#3182ce}}@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:#2d3748;border-bottom:1px solid #4A5568;cursor:pointer;position:relative;font-size:14px;font-weight:500;color:#a0aec0}.side-panel-header.mobile-only:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:4px;background:#4a5568;border-radius:2px}}.session-info-header{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#1a202c;border-radius:8px;margin-bottom:12px}.session-info h3{margin:0 0 4px;font-size:14px;font-weight:600;color:#e2e8f0}.session-id-badge{font-size:11px;font-family:monospace;color:#718096;background:#2d3748;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:#48bb781a;color:#68d391;border:1px solid rgba(72,187,120,.2)}.attachment-status.detached{background:#a0aec01a;color:#a0aec0;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:#63b3ed14;border:1px solid rgba(99,179,237,.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:#a0aec0;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:#63b3ed;opacity:.85}.session-not-attachable{font-size:12px;color:#718096;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:#e2e8f0;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:#718096;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:#1a202c;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:#63b3ed;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:#718096;font-weight:400;text-transform:none}.last-turn-narrative{font-size:13px;color:#e2e8f0;line-height:1.6;white-space:pre-wrap;border-left:3px solid #4A5568;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:#718096;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:#2d3748;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:#63b3ed;text-transform:uppercase}.last-turn-beat-layout{font-size:10px;color:#718096;background:#1a202c;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:#cbd5e0}.ltbf-key{font-size:10px;color:#718096;margin-right:2px}.last-turn-beat-text{font-size:12px;color:#e2e8f0;font-style:italic;line-height:1.4;border-left:2px solid #4A5568;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:#718096;min-width:52px;flex-shrink:0}.last-turn-beat-line--dialogue .ltbl-type{color:#63b3ed}.last-turn-beat-line--caption .ltbl-type{color:#68d391}.last-turn-beat-line--interiority .ltbl-type{color:#b794f4}.last-turn-beat-line--action .ltbl-type{color:#f6ad55}.ltbl-text{color:#cbd5e0;line-height:1.4;font-style:italic}.last-turn-beat-line--dialogue .ltbl-text{color:#e2e8f0;font-style:normal}.last-turn-beat-line--interiority .ltbl-text{color:#d6bcfa}.last-execution-summary{padding:12px;background:#1a202c;border-radius:8px;margin-bottom:12px}.last-execution-summary h4{margin:0 0 8px;font-size:12px;font-weight:600;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px}.execution-stats{display:flex;gap:16px;font-size:13px;color:#cbd5e0}.available-choices{padding:12px;background:#1a202c;border-radius:8px}.available-choices h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#e2e8f0}.available-choices .choices-list{display:flex;flex-direction:column;gap:8px}.choice-btn{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#2d3748;border:1px solid #4A5568;border-radius:6px;color:#e2e8f0;font-size:13px;text-align:left;cursor:pointer;transition:all .2s}.choice-btn:hover:not(.disabled){border-color:#63b3ed;background:#4299e11a}.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:#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}@keyframes spin{to{transform:rotate(360deg)}}.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-browser{display:flex;flex-direction:column;height:100%;overflow:hidden}.review-browser-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #4A5568;flex-shrink:0}.review-browser-header h3{margin:0;font-size:16px;font-weight:600;color:#e2e8f0}.review-browser-actions{display:flex;gap:8px;align-items:center}.review-refresh-btn{padding:6px 10px;background:transparent;border:1px solid #4A5568;border-radius:4px;color:#a0aec0;cursor:pointer;font-size:16px;transition:all .2s}.review-refresh-btn:hover{border-color:#63b3ed;color:#63b3ed}.review-error{padding:8px 16px;background:#f565651a;color:#fc8181;border-bottom:1px solid rgba(245,101,101,.2);font-size:13px;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:#1a202c;border:1px solid #4A5568;border-radius:6px;color:#e2e8f0;font-size:13px;box-sizing:border-box}.review-search-input:focus{outline:none;border-color:#63b3ed}.review-search-input::placeholder{color:#718096}.review-clear-search{position:absolute;right:24px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#718096;cursor:pointer;font-size:16px;padding:4px}.review-clear-search:hover{color:#e2e8f0}.review-filter-bar{display:flex;flex-direction:column;gap:8px;padding:8px 16px;border-bottom:1px solid #4A5568;flex-shrink:0}.review-filter-group{display:flex;gap:4px;flex-wrap:wrap}.review-filter-btn{padding:4px 10px;border:1px solid #4A5568;border-radius:4px;background:transparent;color:#a0aec0;font-size:11px;cursor:pointer;transition:all .2s;white-space:nowrap}.review-filter-btn:hover{border-color:#63b3ed;color:#63b3ed}.review-filter-btn.active{background:#4299e1;border-color:#4299e1;color:#fff}.review-filter-select{padding:4px 8px;background:#1a202c;border:1px solid #4A5568;border-radius:4px;color:#a0aec0;font-size:11px;cursor:pointer}.review-filter-select:focus{outline:none;border-color:#63b3ed}.review-session-list{flex:1;overflow-y:auto;padding:8px}.review-session-list::-webkit-scrollbar{width:6px}.review-session-list::-webkit-scrollbar-track{background:#1a202c}.review-session-list::-webkit-scrollbar-thumb{background:#4a5568;border-radius:3px}.review-loading,.review-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#718096;font-size:14px;gap:12px}.review-empty .hint{font-size:12px;color:#4a5568}.review-session-card{padding:12px;background:#2d3748;border:1px solid #4A5568;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s}.review-session-card:hover{border-color:#63b3ed;background:#4299e10d}.review-session-card.selected{border-color:#63b3ed;box-shadow:0 0 0 2px #4299e133}.review-session-card.active{border-left:3px solid #48BB78}.review-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:8px}.review-card-title{font-size:13px;font-weight:600;color:#e2e8f0;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{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;white-space:nowrap}.review-source-badge.interactive{background:#4299e126;color:#63b3ed}.review-source-badge.synthetic{background:#9f7aea26;color:#b794f4}.review-status-badge{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;text-transform:uppercase;white-space:nowrap}.review-status-badge.running{background:#48bb7826;color:#68d391}.review-status-badge.paused{background:#ed893626;color:#f6ad55}.review-status-badge.failed{background:#f5656526;color:#fc8181}.review-status-badge.cancelled{background:#a0aec026;color:#a0aec0}.review-card-details{display:flex;gap:12px;font-size:11px;color:#718096;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:#4a5568;font-family:SF Mono,Fira Code,monospace}.review-progress-bar{height:3px;background:#1a202c;border-radius:2px;margin:8px 0 4px;overflow:hidden}.review-progress-fill{height:100%;background:#48bb78;border-radius:2px;transition:width .3s ease}.review-job-controls{display:flex;gap:6px;margin-top:8px}.review-job-btn{padding:4px 10px;border:1px solid transparent;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s}.review-job-btn.pause{background:#ed893626;color:#f6ad55;border-color:#ed89364d}.review-job-btn.pause:hover:not(:disabled){background:#ed893640}.review-job-btn.resume{background:#48bb7826;color:#68d391;border-color:#48bb784d}.review-job-btn.resume:hover:not(:disabled){background:#48bb7840}.review-job-btn.cancel{background:#f5656526;color:#fc8181;border-color:#f565654d}.review-job-btn.cancel:hover:not(:disabled){background:#f5656540}.review-job-btn:disabled{opacity:.5;cursor:not-allowed}.review-detail-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.review-detail-loading,.review-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#718096;gap:12px}.review-detail-panel-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #4A5568;flex-shrink:0}.review-back-btn{padding:4px 10px;background:transparent;border:1px solid #4A5568;border-radius:4px;color:#a0aec0;cursor:pointer;font-size:16px;transition:all .2s}.review-back-btn:hover{border-color:#63b3ed;color:#63b3ed}.review-detail-title{flex:1;min-width:0}.review-detail-title h4{margin:0;font-size:14px;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-detail-id{font-size:10px;color:#4a5568;font-family:SF Mono,Fira Code,monospace}.review-tabs{display:flex;gap:2px;padding:4px 8px;border-bottom:1px solid #4A5568;flex-shrink:0;overflow-x:auto}.review-tab{padding:6px 12px;border:none;border-radius:4px 4px 0 0;background:transparent;color:#718096;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.review-tab:hover{color:#e2e8f0;background:#ffffff0d}.review-tab.active{color:#63b3ed;background:#4299e11a;border-bottom:2px solid #63B3ED}.review-tab-content{flex:1;overflow-y:auto;overflow-x:hidden}.review-empty-tab{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:#718096;font-size:13px}.review-transcript{display:flex;height:100%;min-height:300px}.review-transcript-list{width:200px;min-width:160px;border-right:1px solid #4A5568;overflow-y:auto;flex-shrink:0}.review-passage-item{padding:8px 10px;border-bottom:1px solid rgba(74,85,104,.5);cursor:pointer;transition:background .15s}.review-passage-item:hover{background:#4299e10d}.review-passage-item.selected{background:#4299e11a;border-left:2px solid #63B3ED}.review-passage-header{display:flex;justify-content:space-between;margin-bottom:4px}.review-turn-number{font-size:11px;font-weight:600;color:#a0aec0}.review-passage-beat-count{font-size:10px;font-weight:500;color:#718096;background:#ffffff0d;padding:1px 5px;border-radius:3px}.review-passage-choice{font-size:11px;color:#63b3ed;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-passage-preview{font-size:11px;color:#718096;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-passage-detail{flex:1;padding:12px;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:14px;font-weight:600;color:#e2e8f0}.review-timing-badge{padding:2px 6px;background:#ffffff0f;color:#a0aec0;border-radius:3px;font-size:11px;font-variant-numeric:tabular-nums}.review-pacing-dl{display:grid;grid-template-columns:max-content 1fr;gap:3px 10px;margin:0;font-size:12px}.review-pacing-dl dt{color:#718096;font-weight:500}.review-pacing-dl dd{margin:0;color:#cbd5e0}.review-pipeline-badge{padding:2px 8px;background:#4299e126;color:#63b3ed;border-radius:3px;font-size:11px}.review-detail-section{margin-bottom:16px}.review-detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.review-detail-section-header h5{margin:0}.review-cinema-btn{font-size:11px;padding:2px 8px;background:#2d3748;border:1px solid #4A5568;border-radius:4px;color:#cbd5e0;cursor:pointer;white-space:nowrap}.review-cinema-btn:hover{background:#3d4a5c;color:#e2e8f0}.review-detail-section h5{margin:0 0 6px;font-size:11px;font-weight:600;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px}.review-choice-display{display:flex;gap:8px;padding:8px 10px;background:#4299e114;border-radius:6px;border-left:3px solid #63B3ED;font-size:13px;color:#e2e8f0}.review-choices-offered{display:flex;flex-direction:column;gap:6px}.review-choice-option{display:flex;align-items:baseline;gap:8px;padding:7px 10px;border-radius:6px;font-size:13px;border-left:3px solid transparent}.review-choice-option.chosen{background:#4299e11a;border-left-color:#63b3ed;color:#e2e8f0}.review-choice-option.unchosen{background:#ffffff08;border-left-color:#4a5568;color:#718096}.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-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#63b3ed;background:#4299e126;padding:2px 6px;border-radius:3px}.review-beats-list{display:flex;flex-direction:column;gap:6px}.review-beat-card{background:#ffffff0a;border-radius:6px;padding:7px 9px;display:flex;flex-direction:column;gap:4px;font-size:12px;border-left:2px solid #4A5568}.review-beat-card-header{display:flex;align-items:center;gap:7px}.review-beat-num{font-weight:600;color:#63b3ed;font-variant-numeric:tabular-nums;min-width:24px}.review-beat-type-icon{font-size:11px}.review-beat-type-label{font-size:11px;font-weight:600;color:#63b3ed;text-transform:uppercase}.review-beat-layout{font-size:10px;color:#718096;background:#0000004d;padding:1px 5px;border-radius:3px}.review-beat-card-fields{display:flex;flex-wrap:wrap;gap:8px}.review-beat-field{display:flex;align-items:center;gap:3px}.review-beat-field-key{font-size:10px;color:#718096;text-transform:uppercase;letter-spacing:.3px}.review-beat-field-val{color:#cbd5e0}.review-beat-char{color:#b794f4;font-weight:500}.review-beat-expr{color:#68d391;font-style:italic}.review-beat-bg{color:#f6ad55;font-size:11px}.review-beat-image-prompt,.review-beat-rationale{margin-top:4px;padding:4px 6px;background:#2d374880;border-radius:3px;font-size:11px}.review-beat-prompt-text{margin:2px 0 0;color:#a0aec0;line-height:1.35;font-size:11px;word-break:break-word}.review-beat-text{color:#a0aec0;line-height:1.4;font-style:italic;padding-left:4px;border-left:2px solid #4A5568;margin-top:2px}.review-beat-line{display:flex;gap:6px;font-size:12px;margin-top:3px;align-items:baseline}.review-beat-line-type{font-size:9px;text-transform:uppercase;letter-spacing:.3px;color:#718096;min-width:52px;flex-shrink:0}.review-beat-line--dialogue .review-beat-line-type{color:#63b3ed}.review-beat-line--caption .review-beat-line-type{color:#68d391}.review-beat-line--interiority .review-beat-line-type{color:#b794f4}.review-beat-line--action .review-beat-line-type{color:#f6ad55}.review-beat-line-text{color:#cbd5e0;line-height:1.4;font-style:italic}.review-beat-line--dialogue .review-beat-line-text{color:#e2e8f0;font-style:normal}.review-beat-line--interiority .review-beat-line-text{color:#d6bcfa}.review-narrative-text{font-size:13px;line-height:1.7;color:#cbd5e0;white-space:pre-wrap}.review-scene-info{font-size:13px;color:#a0aec0;font-style:italic}.review-reflection-text{font-size:12px;line-height:1.6;color:#b794f4;padding:8px;background:#9f7aea14;border-radius:6px;border-left:3px solid #B794F4}.review-branch-section{margin-top:16px;padding-top:16px;border-top:1px solid #4A5568}.review-branch-btn{padding:8px 16px;background:#9f7aea1f;border:1px solid rgba(159,122,234,.4);border-radius:6px;color:#b794f4;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.review-branch-btn:hover{background:#9f7aea33;border-color:#b794f4}.review-branch-picker{display:flex;flex-direction:column;gap:8px}.review-branch-picker h5{margin:0;font-size:12px;font-weight:600;color:#b794f4;text-transform:uppercase;letter-spacing:.5px}.review-branch-hint{margin:0;font-size:11px;color:#718096}.review-branch-choices{display:flex;flex-direction:column;gap:6px}.review-branch-choice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#1a202c;border:1px solid #4A5568;border-radius:6px;cursor:pointer;transition:all .2s;text-align:left;color:#e2e8f0;font-size:12px;line-height:1.4}.review-branch-choice:hover:not(:disabled){border-color:#b794f4;background:#9f7aea14}.review-branch-choice:disabled{opacity:.5;cursor:not-allowed}.review-branch-choice.original{border-color:#63b3ed4d;background:#4299e10d}.review-branch-choice-icon{flex-shrink:0;font-size:14px}.review-branch-choice-text{flex:1}.review-branch-original-badge{flex-shrink:0;padding:1px 6px;background:#4299e126;color:#63b3ed;border-radius:3px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.review-branch-error{padding:6px 10px;background:#f565651a;border:1px solid rgba(245,101,101,.3);border-radius:4px;color:#fc8181;font-size:11px}.review-branch-cancel{padding:4px 12px;background:transparent;border:1px solid #4A5568;border-radius:4px;color:#a0aec0;font-size:11px;cursor:pointer;align-self:flex-start;transition:all .2s}.review-branch-cancel:hover{border-color:#718096;color:#e2e8f0}.review-graph-container{height:100%;min-height:400px}.review-graph-container .playthrough-graph{height:100%}.review-graph-container .playthrough-controls{padding:8px 12px}.review-graph-container .run-playthrough-btn{display:none}.review-feedback{padding:12px}.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:14px;font-weight:600;color:#e2e8f0;padding-bottom:8px;border-bottom:1px solid #4A5568}.review-feedback-entries{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.review-feedback-entry{padding:8px 10px;background:#1a202c;border-radius:6px;border:1px solid rgba(74,85,104,.5)}.review-feedback-turn{font-size:11px;font-weight:600;color:#a0aec0;margin-bottom:6px}.review-feedback-rating{display:flex;align-items:center;gap:8px;font-size:12px;color:#cbd5e0;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:#4a5568;border-radius:2px}.review-rating-bar.filled{background:#63b3ed}.review-rating-value{font-size:11px;color:#718096;margin-left:4px}.review-feedback-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.review-chip{padding:2px 6px;border-radius:3px;font-size:10px}.review-chip.highlight{background:#48bb7826;color:#68d391}.review-chip.issue{background:#f5656526;color:#fc8181}.review-feedback-emotion{font-size:12px;color:#b794f4;margin-top:4px;font-style:italic}.review-feedback-reflection{font-size:12px;color:#cbd5e0;line-height:1.5;margin-top:4px}.review-feedback-summary{margin-top:16px;padding:12px;background:#1a202c;border-radius:6px;border:1px solid #4A5568}.review-feedback-summary h5{margin:0 0 8px;font-size:12px;font-weight:600;color:#63b3ed}.review-feedback-meta{font-size:12px;color:#a0aec0;margin-bottom:4px}.review-feedback-freetext{font-size:12px;line-height:1.6;color:#cbd5e0;margin-top:8px}.review-feedback-empty{padding:20px;text-align:center;color:#4a5568;font-size:13px}.review-context{padding:12px}.review-context-section{margin-bottom:16px}.review-context-section h5{margin:0 0 8px;font-size:12px;font-weight:600;color:#63b3ed}.review-context-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.review-context-collapsible:hover{color:#90cdf4}.review-context-field{display:flex;gap:8px;padding:4px 0;font-size:13px}.review-context-label{color:#718096;min-width:70px}.review-context-value{color:#e2e8f0;font-family:SF Mono,Fira Code,monospace;font-size:12px}.review-context-json{display:flex;flex-direction:column;gap:2px}.review-context-character{padding:4px 8px;font-size:12px;color:#cbd5e0}.review-context-role{color:#718096}.review-context-json-raw{background:#1a202c;border:1px solid #4A5568;border-radius:6px;padding:12px;font-size:11px;color:#a0aec0;overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre;font-family:SF Mono,Fira Code,monospace;line-height:1.5}.review-canvas-graph{width:100%;height:100%}.review-canvas-graph .playthrough-graph{height:100%}.review-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#4a5568;gap:12px;font-size:14px}.review-placeholder-icon{font-size:48px;opacity:.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 #4A5568}.review-feedback-compare{flex-direction:column}.review-filter-bar{gap:6px}.review-filter-group{flex-wrap:wrap}}.review-visual-tab{display:flex;height:100%;overflow:hidden}.review-visual-turns{width:200px;min-width:160px;border-right:1px solid #4A5568;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.review-visual-turns::-webkit-scrollbar{width:4px}.review-visual-turns::-webkit-scrollbar-track{background:#1a202c}.review-visual-turns::-webkit-scrollbar-thumb{background:#4a5568;border-radius:2px}.review-visual-turn-item{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:none;border-bottom:1px solid rgba(74,85,104,.5);border-left:2px solid transparent;background:transparent;cursor:pointer;text-align:left;transition:background .15s}.review-visual-turn-item:hover{background:#4299e10d}.review-visual-turn-item.active{background:#4299e11a;border-left-color:#63b3ed}.review-visual-turn-label{font-size:11px;font-weight:600;color:#a0aec0}.review-visual-turn-item.active .review-visual-turn-label{color:#63b3ed}.review-visual-turn-choice{font-size:10px;color:#63b3ed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-visual-turn-beats{font-size:10px;color:#4a5568}.review-visual-viewer{flex:1;position:relative;overflow:hidden;background:#1a1a2e;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-beat-strip{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;flex-wrap:nowrap;gap:4px;padding:6px 8px;background:#0d1117d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-x:auto}.review-visual-beat-strip::-webkit-scrollbar{height:3px}.review-visual-beat-strip::-webkit-scrollbar-track{background:transparent}.review-visual-beat-strip::-webkit-scrollbar-thumb{background:#4a5568;border-radius:2px}.review-visual-beat-chip{display:flex;align-items:center;gap:3px;padding:4px 8px;background:#21262de6;border:1px solid #2d3748;border-radius:4px;color:#a0aec0;cursor:pointer;font-size:11px;white-space:nowrap;transition:all .15s}.review-visual-beat-chip:hover{background:#2d3748f2;border-color:#4a5568}.review-visual-beat-chip.active{background:#4299e140;border-color:#63b3ed;color:#63b3ed}.review-visual-beat-type{font-size:12px}.review-visual-fullscreen-btn{margin-left:auto;flex-shrink:0;padding:4px 8px;background:transparent;border:1px solid #4A5568;border-radius:4px;color:#718096;cursor:pointer;font-size:14px;line-height:1;transition:all .15s}.review-visual-fullscreen-btn:hover{border-color:#63b3ed;color:#63b3ed}.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:#2d3748;border-bottom:1px solid #4A5568;flex-shrink:0}.review-timeline-turn-selector label{font-size:12px;font-weight:600;color:#63b3ed}.review-timeline-turn-selector select{flex:1;padding:4px 8px;background:#1a202c;border:1px solid #4A5568;border-radius:4px;color:#e2e8f0;font-size:12px;font-family:inherit}.review-timeline-tab .gantt-timeline{flex:1;overflow:auto}.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-narrative{background:#48bb7826;color:#48bb78}.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}.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}.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}.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]{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}.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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-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-ease: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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--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}}@layer components;@layer utilities{.collapse{visibility:collapse}.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}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.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}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.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}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.text-end{text-align:end}.break-all{word-break:break-all}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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)}.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,)}.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))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[default\:\"val\"\]{default:"val"}}*{box-sizing:border-box;margin:0;padding:0}:root{--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-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-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-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-ease{syntax:"*";inherits:false}
