:root{--bg: #f9f9f9;--card: #fff;--border: #eee;--text-1: #222;--text-2: #333;--text-3: #444;--text-4: #555;--muted-1: #666;--muted-2: #777;--muted-3: #8a8a8a;--primary: #9b5de5;--primary-hover: #7c3aed;--ring: rgba(155, 93, 229, .55);--input-bg: var(--card);--input-text: var(--text-1);--input-border: var(--border);--placeholder: var(--muted-2);--link: var(--primary);--link-hover: var(--primary-hover);--shimmer-base: #f0f2f5;--shimmer-highlight: #fafbfc;--coach-panel-height: 600px;--editor-height: 650px;--coach-w: 500px;--editor-focus-base: color-mix(in srgb, var(--primary) 18%, var(--border));--editor-focus-strong: var(--primary);--editor-radius-base: 10px;--editor-radius-focus: 12px}:root[data-theme=dark]{--bg: #0f1115;--card: #161a20;--border: #242933;--text-1: #f5f7fb;--text-2: #e6e8ee;--text-3: #d7dae2;--text-4: #b9bfcc;--muted-1: #9aa3b2;--muted-2: #808a99;--muted-3: #6b7280;--primary: #a78bfa;--primary-hover: #8b5cf6;--input-bg: var(--card);--input-text: var(--text-1);--input-border: var(--border);--placeholder: var(--muted-2);--ring: rgba(167, 139, 250, .5);--link: var(--primary);--link-hover: var(--primary-hover);--shimmer-base: #1b2130;--shimmer-highlight: #232a3a;--bubble-me: color-mix(in srgb, var(--primary) 40%, #1e293b);--bubble-them: #1f2937}html[data-theme=dark]{color-scheme:dark}html,body,#root{background:var(--bg);color:var(--text-1);transition:background-color .2s ease,color .2s ease;height:100%;margin:0;overflow:visible}a{color:var(--link)}a:hover{color:var(--link-hover)}.card,.panel,.sheet,.profile-card,.menu,.dashboard-card{background:var(--card);border:1px solid var(--border)}input,select,textarea,.pf-input{background:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border)}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:focus,select:focus,textarea:focus,.pf-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}input[disabled],select[disabled],textarea[disabled],.pf-input[disabled]{opacity:.7;cursor:not-allowed}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.shimmer{background-image:linear-gradient(90deg,transparent,var(--shimmer-highlight),transparent);background-size:200% 100%;animation:shimmer 1.2s infinite linear}.action-btn{border:0;padding:10px 18px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background .25s ease,transform .06s ease;color:#fff}.action-btn:active{transform:translateY(1px)}.action-btn[disabled]{opacity:.6;cursor:not-allowed}.action-btn.invite{background:#10b981}.action-btn.invite:hover{background:#059669}.action-btn.record{background:#f97316}.action-btn.record:hover{background:#ea580c}.dashboard{display:flex;flex-direction:column;min-height:100vh;font-family:sans-serif;background:var(--bg)}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.menu{width:200px;flex-shrink:0;border-right:1px solid var(--border);background:var(--card)}.content{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:10px;box-sizing:border-box;background:var(--bg)}.content-main{flex:1;display:flex;flex-direction:column}.app-footer{flex-shrink:0;border-top:1px solid var(--border);background:var(--card);padding:12px 18px;display:flex;justify-content:center}.home{max-width:800px;width:100%}.home h2{margin-bottom:20px;color:var(--text-2)}.home-form{display:flex;flex-direction:column;gap:20px}.home-form label{font-weight:700;margin-bottom:8px;color:var(--text-3);display:block}.home-form input,.home-form textarea{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:6px;font-size:14px;resize:vertical;background:var(--input-bg);color:var(--input-text);box-sizing:border-box;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.home-form input::placeholder,.home-form textarea::placeholder{color:var(--placeholder)}.home-form input:focus,.home-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.home-form textarea{min-height:150px}.home-form button{align-self:flex-start;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s ease}.home-form button:hover{background:var(--primary-hover)}.home-page{--home-bg: var(--bg);--home-card-bg: var(--card);--home-text: var(--text-1);--home-muted: var(--muted-2);--home-danger: #b91c1c;--home-border: var(--border);--home-shadow: 0 6px 18px rgba(0,0,0,.06);--home-brand: var(--primary);--home-brand-700: var(--primary-hover)}.home-page{min-height:100vh;display:flex;flex-direction:column;background:var(--home-bg)}.home-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:32px 20px}.projects-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.projects-header h2{margin:0;color:var(--home-text);font-size:24px;font-weight:700}.btn{border:0;padding:10px 14px;border-radius:10px;font-size:15px;cursor:pointer}.btn.primary{background:var(--home-brand);color:#fff;transition:background .25s ease,transform .06s ease}.btn.primary:hover{background:var(--home-brand-700)}.btn.primary:active{transform:translateY(1px)}.projects-loading{display:flex;gap:12px}.skeleton-bubble{width:80px;height:80px;background:var(--home-border);border-radius:12px;animation:home-pulse 1.2s ease-in-out infinite}@keyframes home-pulse{0%,to{opacity:.6}50%{opacity:1}}.projects-error{color:var(--home-danger)}.projects-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.projects-empty{color:var(--home-muted);padding:12px}.story-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--home-border);background:var(--home-card-bg);border-radius:16px;box-shadow:var(--home-shadow);min-height:140px;padding:16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.story-item:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000014;border-color:var(--home-border)}.story-item.active{outline:2px solid var(--ring);outline-offset:2px}.story-ring{display:inline-flex}.story-bubble{width:48px;height:48px;border-radius:50%;background:var(--home-brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px}.story-title{font-weight:700;color:var(--home-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content.editor-left{padding:40px 28px 40px 16px}.content.editor-left .home{max-width:1100px;margin-left:0;margin-right:auto}.content.editor-left .editor-shell{gap:6px}@media (max-width: 640px){.content,.content.editor-left{padding:0}.content.editor-left .home{max-width:100vw;margin:0}.content.editor-left .editor-shell{gap:0}}.vp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:1000}.vp-modal{max-width:95vw;max-height:92vh;overflow:auto;background:var(--card);color:var(--text-1);border-radius:12px;border:1px solid var(--border);box-shadow:0 10px 30px #00000040;padding:16px;position:relative}.vp-modal.vp-modal--fullscreen{width:100vw;height:100vh;max-height:100vh;border-radius:0;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.vp-modal-close{position:absolute;top:8px;right:10px;border:none;background:transparent;font-size:22px;cursor:pointer;color:#cbd5e1}.vp-modal-close.is-large{top:calc(12px + env(safe-area-inset-top));right:calc(50px + env(safe-area-inset-right));width:64px;height:64px;display:inline-flex;align-items:start;justify-content:center;font-size:50px;border-radius:8px}.vp-modal--fullscreen .vp-modal-body{height:100%;align-items:stretch}.vp-modal-body{display:flex;flex-direction:column;align-items:center;gap:16px;color:inherit}@media (max-width: 768px){.vp-modal.vp-modal--fullscreen{width:100vw;height:100vh;max-height:100vh;border-radius:0;padding:0}.vp-modal-close.is-large{top:calc(-11px + env(safe-area-inset-top));right:calc(0px + env(safe-area-inset-right));z-index:2200;position:absolute;pointer-events:auto}}.vp-modal-overlay:has(.plot-modal-content){align-items:start;padding-top:5vh}.vp-modal:has(.plot-modal-content){display:flex;flex-direction:column;overflow:hidden;width:900px;height:6ß5vh}.vp-modal-body:has(.plot-modal-content){overflow:hidden;flex:1;min-height:0}.plot-modal-content{max-width:900px;width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.plot-modal-header{margin-bottom:20px;padding-bottom:16px;padding-right:40px;border-bottom:1px solid rgba(255,255,255,.1);overflow:visible;flex-shrink:0}.plot-modal-header-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:nowrap}.plot-modal-title{font-size:20px;font-weight:600;color:#e5e7eb;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.plot-modal-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#94a3b8;position:relative;flex-shrink:0}.plot-modal-genre-badge{padding:4px 12px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:12px;font-size:12px;color:#93c5fd;font-weight:500;white-space:nowrap}.plot-modal-coach-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 8px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:32px;min-height:28px;font-size:16px}.plot-modal-coach-btn[aria-pressed=true]{background:#3b82f626;border-color:#3b82f64d;color:#3b82f6}.plot-modal-coach-btn:hover:not(:disabled){background:#3b82f626;border-color:#3b82f64d;color:#3b82f6}.plot-modal-coach-btn:active:not(:disabled){transform:scale(.95)}.plot-modal-reload-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 8px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:32px;min-height:28px}.plot-modal-reload-btn.regenerating{border-color:#9b5de599;background:#9b5de51a;animation:reload-btn-glow 1.5s ease-in-out infinite}.plot-modal-reload-btn:hover:not(:disabled){background:#3b82f626;border-color:#3b82f64d;color:#3b82f6}.plot-modal-reload-btn:active:not(:disabled){transform:scale(.95)}.plot-modal-reload-btn:disabled{opacity:.5;cursor:not-allowed}.plot-modal-regenerating{font-size:10px;font-weight:500;color:#94a3b8;white-space:nowrap}.plot-modal-body-wrapper{display:flex;gap:0;flex:1;min-height:0;overflow:hidden}.plot-modal.coach-open .plot-modal-body{max-width:600px;border-right:1px solid rgba(255,255,255,.1)}.plot-modal-body{line-height:1.7;color:#e5e7eb;font-size:15px;overflow-y:auto;overflow-x:hidden;padding-right:16px;flex:1;min-height:0}.plot-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8}.plot-modal-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.plot-modal-error{padding:20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;text-align:center}.plot-modal-empty{padding:40px 20px;text-align:center;color:var(--text-2)}.plot-modal-empty p{margin:0}.plot-tab-bar{display:flex;gap:2px;padding:0;margin-bottom:0;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.plot-tab-bar::-webkit-scrollbar{display:none}.plot-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;color:var(--muted-2);font-family:inherit;font-size:.813rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:all .2s ease;position:relative;flex:1}.plot-tab:hover{color:var(--text-2);background:color-mix(in srgb,var(--primary) 5%,transparent)}.plot-tab.active{color:var(--text-1);border-bottom-color:var(--primary)}.plot-tab-label{line-height:1}.plot-tab-badge{font-size:.625rem;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef444426;color:#dc2626;border:1px solid rgba(239,68,68,.3);display:inline-flex;align-items:center;justify-content:center;line-height:1}.plot-tab-panel{display:flex;flex-direction:column;gap:20px}.plot-tab-empty{padding:40px 20px;text-align:center;color:var(--muted-2);font-size:.875rem}.plot-content{display:flex;flex-direction:column;gap:20px}.plot-header-compact{display:none}.plot-section-compact{background:var(--bg);border-radius:8px;padding:16px;border:1px solid var(--border)}.section-label{font-size:.875rem;font-weight:600;color:var(--muted-1);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.section-text{margin:0;line-height:1.6;color:var(--text-2);font-size:.938rem}.themes-compact{display:flex;flex-wrap:wrap;gap:8px}.theme-pill{padding:6px 14px;background:color-mix(in srgb,var(--primary) 12%,var(--bg));border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:16px;font-size:.813rem;color:var(--primary);transition:all .2s}.theme-pill:hover{background:color-mix(in srgb,var(--primary) 20%,var(--bg));border-color:var(--primary)}.plot-timeline{display:flex;flex-direction:column;gap:12px;position:relative;padding-left:12px}.timeline-item{display:flex;gap:16px;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:22px;top:32px;bottom:-12px;width:2px;background:linear-gradient(180deg,var(--border) 0%,transparent 100%)}.timeline-marker{flex-shrink:0;width:44px;height:28px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary) 12%,var(--bg));border:1.5px solid color-mix(in srgb,var(--primary) 40%,var(--border));border-radius:6px;position:relative;z-index:1}.chapter-num{font-size:.75rem;font-weight:600;color:var(--primary)}.timeline-content{flex:1;padding-bottom:4px}.timeline-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.plot-element-name{font-size:.938rem;color:var(--text-1);font-weight:600}.sig-dot{font-size:10px;line-height:1}.sig-dot.high{color:#ef4444}.sig-dot.medium{color:#f59e0b}.sig-dot.low{color:#10b981}.timeline-description{margin:0;font-size:.875rem;line-height:1.5;color:var(--text-3)}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.character-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px;transition:all .2s}.character-card:hover{background:color-mix(in srgb,var(--primary) 5%,var(--bg));border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.character-name-badge{font-weight:600;color:var(--primary);margin-bottom:8px;font-size:.938rem}.character-arc-compact{margin:0;font-size:.875rem;line-height:1.5;color:var(--text-3)}.resolution-section{background:color-mix(in srgb,#10b981 6%,var(--bg));border-left:3px solid #10b981}@media (max-width: 768px){.vp-modal:has(.plot-modal-content){width:auto}.plot-modal-header-row{flex-wrap:wrap}.plot-modal-title{flex-basis:100%;white-space:normal}.plot-section-compact{padding:12px}.character-grid{grid-template-columns:1fr}.timeline-item{gap:12px}}.plot-holes-section{background:linear-gradient(135deg,#ef44440d,#f59e0b0d);border-color:#ef444426}.plot-holes-count{display:inline-block;margin-left:8px;font-size:.75rem;font-weight:500;color:var(--muted-2);text-transform:none;letter-spacing:0}.plot-holes-severity-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.severity-tag{padding:2px 10px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.severity-tag.critical{background:#be123c1f;color:#be123c;border:1px solid rgba(190,18,60,.35)}.severity-tag.high{background:#ea580c1a;color:#ea580c;border:1px solid rgba(234,88,12,.3)}.severity-tag.medium{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.3)}.severity-tag.low{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}:root[data-theme=dark] .severity-tag.critical{color:#fda4af}:root[data-theme=dark] .severity-tag.high{color:#fdba74}:root[data-theme=dark] .severity-tag.medium{color:#fcd34d}:root[data-theme=dark] .severity-tag.low{color:#6ee7b7}:root[data-theme=dark] .plot-tab-badge{color:#fca5a5}:root[data-theme=dark] .plot-hole-fix-label{color:#6ee7b7}.plot-holes-list{display:flex;flex-direction:column;gap:6px}.plot-hole-card{border-radius:6px;border:1px solid var(--border);background:var(--bg);overflow:hidden;transition:border-color .2s}.plot-hole-card.critical{border-left:3px solid #be123c}.plot-hole-card.high{border-left:3px solid #ea580c}.plot-hole-card.medium{border-left:3px solid #f59e0b}.plot-hole-card.low{border-left:3px solid #10b981}.plot-hole-card:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.plot-hole-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;cursor:pointer;color:inherit;font-family:inherit;text-align:left}.plot-hole-header:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)}.plot-hole-severity-dot{font-size:10px;flex-shrink:0}.plot-hole-severity-dot.critical{color:#be123c}.plot-hole-severity-dot.high{color:#ea580c}.plot-hole-severity-dot.medium{color:#f59e0b}.plot-hole-severity-dot.low{color:#10b981}.plot-hole-title{flex:1;font-size:.875rem;font-weight:600;color:var(--text-1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plot-hole-type-badge{flex-shrink:0;font-size:.688rem;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--muted-1) 12%,var(--bg));color:var(--muted-1);text-transform:capitalize;white-space:nowrap}.plot-hole-chevron{flex-shrink:0;font-size:1.1rem;color:var(--muted-2);transition:transform .2s;line-height:1}.plot-hole-chevron.expanded{transform:rotate(90deg)}.plot-hole-details{padding:0 12px 12px 30px}.plot-hole-description{margin:0 0 10px;font-size:.85rem;line-height:1.55;color:var(--text-2)}.plot-hole-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.plot-hole-chapters,.plot-hole-elements{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.plot-hole-meta-label{font-size:.75rem;font-weight:600;color:var(--muted-1);margin-right:2px}.plot-hole-chapter-num{font-size:.7rem;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--primary) 12%,var(--bg));color:var(--primary);font-weight:600}.plot-hole-element-tag{font-size:.7rem;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--primary) 10%,var(--bg));color:var(--primary)}.plot-hole-fix{background:#10b9810f;border:1px solid rgba(16,185,129,.15);border-radius:6px;padding:8px 10px}.plot-hole-fix-label{font-size:.75rem;font-weight:600;color:#059669}.plot-hole-fix-text{margin:4px 0 0;font-size:.825rem;line-height:1.5;color:var(--text-2)}.topbar{height:56px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:12px;background:var(--card);border-bottom:1px solid var(--border);padding:0 16px;box-sizing:border-box}.topbar-center{display:flex;justify-content:center;align-items:center;min-width:0}.topbar-right{display:flex;justify-content:flex-end;align-items:center;gap:12px}.topbar-left{display:flex;align-items:center;gap:10px}.brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--text-1);text-decoration:none}.brand-logo{height:32px;width:auto;display:block}.icon-btn{position:relative;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--text-1)}.icon-btn:hover{background:var(--bg)}.bell{font-size:16px;color:var(--text-1)}.badge{position:absolute;top:-6px;right:-6px;background:#e81f4d;color:#fff;font-size:11px;font-weight:700;line-height:1;padding:3px 6px;border-radius:999px;border:2px solid var(--card)}.dropdown.panel{position:absolute;right:0;margin-top:8px;width:280px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000014;z-index:40}.notifications-panel{padding:8px}.dropdown-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;color:var(--text-1);padding:6px 8px 8px;border-bottom:1px solid var(--border)}.dropdown-empty{padding:12px 8px;color:var(--muted-1)}.dropdown-list{list-style:none;padding:4px 0;margin:0;max-height:260px;overflow-y:auto}.dropdown-item{padding:8px;border-bottom:1px solid var(--border)}.dropdown-item:last-child{border-bottom:none}.notif-title{font-size:14px;color:var(--text-2);display:flex;align-items:center;gap:6px}.notif-meta{font-size:12px;color:var(--muted-3);margin-top:2px}.notif-main{display:flex;flex-direction:column;gap:2px}.notif-actions{margin-top:6px;display:flex;gap:10px}.notif-title .dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}.dropdown-footer{padding:8px;border-top:1px solid var(--border);text-align:right}.dropdown-footer .link{color:var(--primary);text-decoration:none;font-weight:600}.dropdown-actions{display:flex;gap:8px}.dropdown-actions .link,.notif-actions .link{background:none;border:none;padding:0;font:inherit;color:var(--primary);cursor:pointer;text-decoration:none}.dropdown-actions .link:hover,.notif-actions .link:hover{text-decoration:underline}.dropdown-actions .link.danger,.notif-actions .link.danger{color:#d22}.dropdown-actions .link.small,.notif-actions .link.small{font-size:12px}.sep{color:var(--muted-3)}.profile-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-2)}.avatar-xs{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--border);font-size:14px;color:var(--text-2)}.profile-name{font-size:14px;color:var(--text-2)}.new-project-btn{padding:8px 12px;border-radius:8px;background:var(--primary);color:#fff;border:none}.new-project-btn:hover{background:var(--primary-hover)}.topbar-item{position:relative}.dropdown-list::-webkit-scrollbar{width:8px}.dropdown-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}:root{--topbar-h: 56px}.menu{display:flex;flex-direction:column;width:260px;box-sizing:border-box;overflow:visible;background:var(--card);border-right:1px solid var(--border);padding-top:40px;height:calc(100vh - var(--topbar-h));transition:transform .28s ease,box-shadow .28s ease;will-change:transform;z-index:30}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;line-height:1;cursor:pointer;color:var(--text-3);text-decoration:none;-webkit-user-select:none;user-select:none;border-left:3px solid transparent;background:transparent;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .02s ease}.menu-item:hover{background:var(--bg);color:var(--text-2)}.menu-item:active{transform:translateY(1px)}.menu-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-left-color:var(--primary);background:var(--bg)}.menu-item.active{color:var(--text-1);border-left-color:var(--primary);font-weight:700;background:var(--bg)}@supports (color: color-mix(in srgb,white 0%,black 0%)){.menu-item.active,.menu-item:focus-visible{background:color-mix(in srgb,var(--primary) 10%,var(--card))}}.menu-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.menu-icon img{width:18px;height:18px;display:block}.menu-label{margin-top:1px;display:flex;align-items:center;gap:8px}.menu-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.menu-item--disabled:hover{background:transparent;color:var(--text-3)}.dev-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:700;border-radius:4px;background:color-mix(in srgb,var(--primary) 20%,var(--card));color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));text-transform:uppercase;letter-spacing:.5px}.menu-home-link{margin-top:8px;border-top:1px solid var(--border);background:var(--card)}.menu-home-link:hover{background:var(--bg)}.menu-project-type{padding:8px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:4px;position:relative;overflow:visible}.menu-project-type .pt-popover{top:0;left:100%;right:auto;margin-left:8px;width:380px}.menu-bottom-actions{padding:14px 12px 16px;border-top:1px solid var(--border)}@media (max-width: 1100px){.menu{width:200px}}@media (max-width: 900px){.menu{width:180px}}.menu .menu-icon .icon-img{display:block;filter:none}html[data-theme=dark] .menu .menu-icon .icon-img{filter:invert(1) brightness(1.25) contrast(1.05)}.menu-header{padding:8px 12px 6px;border-bottom:1px solid var(--border);background:var(--card)}.agent-run-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text-1);font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .04s ease}.agent-run-btn:hover{background:var(--bg);border-color:var(--primary)}.agent-run-btn:active{transform:translateY(1px)}.agent-run-btn.is-running{background:color-mix(in srgb,var(--primary) 10%,var(--card));border-color:var(--primary)}.agent-run-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.agent-run-btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.agent-collapse{overflow:hidden;transition:max-height .28s ease,opacity .2s ease,margin .2s ease;max-height:600px;opacity:1}.agent-collapse.collapsed{max-height:0;opacity:0;margin:0;pointer-events:none}.agent-panel{padding:12px 14px;display:grid;gap:10px;background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.agent-panel--done{justify-content:center;align-items:center}.agent-row{display:flex;align-items:center;gap:10px}.agent-text{color:var(--text-2);font-weight:600}.agent-spinner{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-top-color:var(--primary);animation:agentSpin .8s linear infinite}@keyframes agentSpin{to{transform:rotate(360deg)}}.agent-steps{display:flex;flex-direction:column;gap:8px;margin-top:12px;margin-left:16px;position:relative}.agent-steps:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:2px;background:var(--border)}.agent-chip{padding:8px 12px;border-radius:8px;background:var(--bg);border:1px solid var(--border);color:var(--text-3);font-size:12px;font-weight:600;opacity:.8;transition:background .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;position:relative;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}.agent-chip:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--border);border:2px solid var(--card);transition:background .2s ease,border-color .2s ease}.agent-chip.active{background:color-mix(in srgb,#8b5cf6 14%,var(--card));border-color:#8b5cf6;color:var(--text-1);opacity:1}.agent-chip.active:before{background:#8b5cf6;border-color:var(--card)}.agent-chip.pulsating{animation:pulsating-glow 2s ease-in-out infinite}@keyframes pulsating-glow{0%,to{box-shadow:0 0 5px #8b5cf680,0 0 10px #8b5cf64d}50%{box-shadow:0 0 10px #8b5cf6cc,0 0 20px #8b5cf680,0 0 30px #8b5cf64d}}.agent-chip.done{background:color-mix(in srgb,var(--primary) 10%,var(--card));border-color:var(--primary);color:var(--text-1);opacity:1}.agent-chip.done:before{background:var(--primary);border-color:var(--card)}.agent-chip.completed{background:color-mix(in srgb,#10b981 10%,var(--card));border-color:#10b981;color:var(--text-1);opacity:1}.agent-chip.completed:before{background:#10b981;border-color:var(--card);opacity:1}.agent-chip.disabled{opacity:.5}.agent-chip.disabled:before{background:var(--border);opacity:.5}.agent-chip.clickable{cursor:pointer;transition:all .2s ease}.agent-chip.clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.agent-chip.selected{background:color-mix(in srgb,var(--primary) 14%,var(--card));border-color:var(--primary);color:var(--text-1);font-weight:600;opacity:1}.agent-chip.selected:before{background:var(--primary);border-color:var(--card);opacity:1}.agent-chip .info-icon{display:inline-block;font-size:10px;opacity:.6;transition:opacity .2s}.agent-chip:hover .info-icon{opacity:1}.chip-view-results{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:1px 3px;border-radius:4px;cursor:pointer;color:var(--primary, #3b82f6);opacity:.7;transition:opacity .15s,background .15s,transform .1s;line-height:1}.chip-view-results:hover{opacity:1;background:#3b82f626;transform:scale(1.15)}.chip-view-results:active{transform:scale(.95)}.chip-view-results svg{width:14px;height:14px}.chip-view-results--disabled{opacity:.25;cursor:default;pointer-events:none;color:var(--text-secondary, #888)}.step-tooltip{position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);padding:6px 10px;background:var(--primary);border:1px solid var(--primary);border-radius:4px;box-shadow:0 2px 12px #0003;font-size:11px;line-height:1.3;color:#fff;min-width:180px;max-width:280px;white-space:normal;z-index:9999;pointer-events:none}.step-tooltip:before{content:"";position:absolute;top:50%;right:100%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--primary)}.agent-error{padding:8px 12px;margin-bottom:8px;background-color:#fee;border-radius:4px;font-size:12px;color:#c00}.menu-toggle-btn{align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--card);border:1px solid var(--border);color:var(--text-1);display:none}.menu-toggle-fixed{position:fixed;top:8px;left:8px;z-index:60;display:none}@media (max-width: 768px){.menu-toggle-btn,.menu-toggle-fixed{display:inline-flex}.menu{position:fixed;left:0;right:auto;top:var(--topbar-h);bottom:0;width:min(82vw,320px);max-width:92vw;height:calc(100dvh - var(--topbar-h));transform:translate(-100%);box-shadow:none}.menu.menu--open{transform:translate(0);box-shadow:0 10px 32px #00000040}.menu-scrim{position:fixed;inset:var(--topbar-h) 0 0 0;background:#00000047;opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:20}.menu-scrim.is-open{opacity:1;pointer-events:auto}.content,.content-main{width:100%}}@media (prefers-reduced-motion: reduce){.menu,.menu-scrim{transition:none}}.checkpoint-dialog{background:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 80%,#000) 100%);border-radius:8px;padding:12px;margin-bottom:12px;box-shadow:0 4px 12px #00000026;animation:checkpointSlideIn .3s ease-out}@keyframes checkpointSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.checkpoint-content{display:flex;align-items:center;gap:8px;margin-bottom:10px}.checkpoint-icon{width:20px;height:20px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;flex-shrink:0}.checkpoint-text{color:#fff;font-size:14px;flex:1}.checkpoint-text strong{font-weight:600}.checkpoint-actions{display:flex;gap:8px}.checkpoint-btn{flex:1;padding:8px 12px;border-radius:6px;border:none;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease}.checkpoint-btn--continue{background:#fff;color:var(--primary)}.checkpoint-btn--continue:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.checkpoint-btn--stop{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.checkpoint-btn--stop:hover{background:#ffffff40;border-color:#ffffff80}.checkpoint-btn:active{transform:translateY(0)}.projects{max-width:1320px;width:100%}.projects-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.projects-header h2{margin:0;color:var(--text-2);font-size:20px}.projects-strip{display:flex;gap:16px;overflow-x:auto;padding:8px 2px 14px;margin-bottom:12px;scrollbar-width:thin}.projects-strip::-webkit-scrollbar{height:6px}.projects-strip::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.story-item{background:transparent;border:none;cursor:pointer;min-width:86px;display:flex;flex-direction:column;align-items:center}.story-item:focus{outline:none}.story-item:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:10px}.story-ring{padding:3px;border-radius:999px;background:conic-gradient(#ff7a7a,#ffd84d,#7ad1ff,#c47aff,#ff7a7a)}.story-item.active .story-ring{background:conic-gradient(var(--primary),var(--primary))}.story-bubble{width:68px;height:68px;border-radius:50%;background:var(--card);border:1px solid var(--border);display:grid;place-items:center;font-weight:700;font-size:22px;color:var(--text-1)}.story-title{max-width:84px;margin-top:8px;font-size:12px;text-align:center;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-empty{padding:10px 0;color:var(--muted-2)}.projects-error{padding:12px 14px;border:1px solid rgba(220,38,38,.28);background:#dc262614;color:#b00020;border-radius:8px;margin:8px 0 12px}.projects-loading{display:flex;gap:16px;padding:6px 2px 14px}.skeleton-bubble{width:68px;height:68px;border-radius:50%;background-image:linear-gradient(90deg,transparent,var(--shimmer-highlight),transparent);background-color:var(--shimmer-base);background-size:200% 100%;animation:shimmer 1.2s infinite linear}.chapters-panel{margin-top:6px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px}.projects .btn.subtle{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 12px;cursor:pointer;color:var(--text-1)}.projects .btn.subtle:hover{background:var(--bg)}.projects .btn.primary{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 14px;cursor:pointer}.projects .btn.primary:hover{background:var(--primary-hover)}.projects .btn.link{background:transparent;color:var(--primary);border:none;cursor:pointer;padding:8px 10px}.chapters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.chapters-project{display:flex;align-items:center;gap:10px}.avatar-sm{width:34px;height:34px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-weight:700;color:var(--text-2);border:1px solid var(--border)}.scenes-avatar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg);border:1.5px solid var(--border);border-radius:8px;min-width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;flex:0 0 auto;-webkit-user-select:none;user-select:none;position:relative;transition:all .2s ease;padding:0 6px}.scenes-avatar-icon{display:flex;align-items:center;justify-content:center;color:var(--primary);line-height:1}.scenes-avatar-hint{font-size:7px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);line-height:1;transition:color .2s ease}.scenes-avatar-btn:hover{border-color:var(--primary);background:#3b82f614;transform:scale(1.05);box-shadow:0 2px 8px #3b82f626}.scenes-avatar-btn:hover .scenes-avatar-hint{color:var(--primary)}.scenes-avatar-btn:active{transform:scale(.97)}.chapters-project-title{font-weight:700;color:var(--text-1)}.chapters-sub{font-size:12px;color:var(--muted-2)}.chapters-list{list-style:none;margin:0;padding:4px 0 0}.chapter-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px 8px;border-top:1px solid var(--border);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.chapter-row:hover{background:var(--bg)}.chapter-row:active{filter:brightness(.98)}@supports (color: color-mix(in srgb,white 0%,black 0%)){.chapter-row:hover{background:color-mix(in srgb,var(--primary) 6%,var(--card));border-color:color-mix(in srgb,var(--primary) 12%,var(--border))}.chapter-row:active{background:color-mix(in srgb,var(--primary) 10%,var(--card))}}.chapter-index{width:28px;height:28px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-weight:700;color:var(--text-3);border:1px solid var(--border);-webkit-user-select:none;user-select:none}.chapter-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.chapter-title-text{font-weight:600;color:var(--text-1);line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-title-badges{display:flex;align-items:center;gap:8px;flex-shrink:0}.chapter-excerpt{font-size:12px;color:var(--text-3);margin-top:1px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.65}.chapter-meta{font-size:11px;color:var(--muted-3);white-space:nowrap}.chapter-footer{display:flex;align-items:center;margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.chapter-footer .spacer{flex:1}.btn.subtle{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:6px 14px;font-size:14px;color:var(--text-2);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn.subtle:hover{background:var(--bg);color:var(--text-1)}.summary-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--text-2);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.summary-badge:hover:not(:disabled){background:var(--bg);border-color:var(--primary)}.summary-badge:disabled{opacity:.5;cursor:not-allowed}.summary-badge.loading{border-color:#9b5de54d;background:#9b5de50d;animation:summary-pulse 2s ease-in-out infinite}@keyframes summary-pulse{0%,to{border-color:#9b5de54d;box-shadow:0 0 #9b5de54d}50%{border-color:#9b5de599;box-shadow:0 0 8px 2px #9b5de533}}.summary-badge.success{border-color:var(--primary);background:#9b5de51a;color:var(--primary)}.summary-badge.success:hover:not(:disabled){background:#9b5de526;border-color:var(--primary-hover)}.summary-badge.error{border-color:#ef4444;background:#ef44440d;color:#ef4444}.summary-badge.error:hover:not(:disabled){background:#ef44441a;border-color:#dc2626}.summary-badge.none{opacity:.6}.summary-badge-icon{width:14px;height:14px;flex-shrink:0;filter:brightness(0) saturate(100%) invert(61%) sepia(8%) saturate(726%) hue-rotate(178deg) brightness(94%) contrast(89%)}.summary-badge:hover:not(:disabled) .summary-badge-icon{filter:brightness(0) saturate(100%) invert(100%)}.summary-badge.loading .summary-badge-icon,.summary-badge.success .summary-badge-icon{filter:brightness(0) saturate(100%) invert(56%) sepia(71%) saturate(4434%) hue-rotate(238deg) brightness(96%) contrast(91%)}.summary-badge.error .summary-badge-icon{filter:brightness(0) saturate(100%) invert(41%) sepia(99%) saturate(4768%) hue-rotate(342deg) brightness(95%) contrast(94%)}.summary-badge-icon.spinner{animation:summary-badge-spin 1s linear infinite}@keyframes summary-badge-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.summary-badge-text{line-height:1}.vp-modal:has(.summary-modal-content){overflow:visible}.vp-modal-body:has(.summary-modal-content){overflow:visible}.summary-modal-content{max-width:900px;width:100%}.summary-modal-header{margin-bottom:20px;padding-bottom:16px;padding-right:40px;border-bottom:1px solid rgba(255,255,255,.1);overflow:visible}.summary-modal-header-row{display:flex;align-items:center;justify-content:flex-start;gap:8px}.summary-modal-title{font-size:20px;font-weight:600;color:#e5e7eb;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-modal-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#94a3b8;position:relative;flex-shrink:0}.summary-modal-meta-item{display:flex;align-items:center;gap:6px;position:relative;font-size:14px}.summary-modal-meta-label{font-weight:500;color:#cbd5e1}.summary-modal-reload-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 8px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:32px;min-height:28px}.summary-modal-reload-btn.regenerating{border-color:#9b5de599;background:#9b5de51a;animation:reload-btn-glow 1.5s ease-in-out infinite}@keyframes reload-btn-glow{0%,to{border-color:#9b5de599;box-shadow:0 0 8px #9b5de566}50%{border-color:#9b5de5e6;box-shadow:0 0 16px #9b5de599}}.summary-modal-reload-btn:hover:not(:disabled){background:#3b82f626;border-color:#3b82f64d;color:#3b82f6}.summary-modal-reload-btn:active:not(:disabled){transform:scale(.95)}.summary-modal-reload-btn:disabled{opacity:.5;cursor:not-allowed}.summary-modal-regenerating{font-size:10px;font-weight:500;color:#94a3b8;white-space:nowrap}.summary-modal-body{line-height:1.7;color:#e5e7eb;font-size:15px;min-height:250px}.summary-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8}.summary-modal-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.summary-modal-error{padding:20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;text-align:center}.summary-modal-empty{padding:40px 20px;text-align:center;color:var(--text-2)}.summary-modal-empty p{margin:0}.summary-modal-edit-container{display:flex;width:45rem;height:30rem;flex-direction:column;gap:16px}.summary-modal-edit-textarea{width:100%;height:100%;padding:0;background:transparent;border:none;color:#e5e7eb;font-size:15px;font-family:inherit;line-height:1.5;resize:vertical;transition:opacity .2s ease}.summary-modal-edit-textarea:disabled{opacity:.5;cursor:not-allowed}.summary-modal-edit-textarea:focus{outline:none;opacity:1}.summary-modal-edit-textarea::placeholder{color:#94a3b8}.summary-modal-edit-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.summary-modal-btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.summary-modal-btn-secondary{background:#ffffff0d;border-color:#ffffff1a;color:var(--text-2)}.summary-modal-btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:#fff3;color:var(--text-1)}.summary-modal-btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.summary-modal-btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.summary-modal-btn:disabled{opacity:.5;cursor:not-allowed}.characters-panel-compact{margin-left:12px;display:flex;align-items:flex-start;position:relative}.characters-avatars-container{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:4px 0 8px;scrollbar-width:thin;scrollbar-color:#9ca3af #e5e7eb}.characters-avatars-container::-webkit-scrollbar{height:6px}.characters-avatars-container::-webkit-scrollbar-track{background:#e5e7eb;border-radius:3px}.characters-avatars-container::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:3px}.characters-avatars-container::-webkit-scrollbar-thumb:hover{background:#6b7280}.character-avatar{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px;cursor:pointer;transition:transform .2s ease}.character-avatar:hover{transform:scale(1.05)}.character-avatar--selected .character-avatar-circle{box-shadow:0 0 0 2px var(--color-primary, #3b82f6)}.character-avatar--preview{opacity:.6}.character-avatar-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;transition:all .2s ease;border:2px solid transparent}.character-avatar-circle.character-role-badge--main{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.character-avatar-circle.character-role-badge--supporting{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.character-avatar-circle.character-role-badge--minor{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.character-avatar-name{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280);text-align:center;max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-details-modal{width:100%;max-width:500px;padding:8px}.character-details-modal-title{font-size:24px;font-weight:600;color:#e5e7eb;margin:0 0 20px;text-align:center}.character-details-modal-body{display:flex;flex-direction:column;gap:16px}.character-detail-row{display:flex;align-items:center;gap:12px;font-size:15px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.character-detail-row:last-child{border-bottom:none}.character-detail-label{font-weight:600;color:#9ca3af;min-width:140px}.character-detail-value{color:#e5e7eb;font-style:italic;flex:1}.character-role-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.character-role-badge.character-role-badge--main{background:#3b82f633;color:#60a5fa;border:1px solid rgba(96,165,250,.3)}.character-role-badge.character-role-badge--supporting{background:#8b5cf633;color:#a78bfa;border:1px solid rgba(167,139,250,.3)}.character-role-badge.character-role-badge--minor{background:#6b72804d;color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.characters-loading,.characters-error{padding:12px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:12px}.characters-error{color:var(--color-error, #dc2626)}@media (prefers-color-scheme: dark){.characters-avatars-container{scrollbar-color:var(--color-border, #4b5563) transparent}.characters-avatars-container::-webkit-scrollbar-thumb{background:var(--color-border, #4b5563)}.characters-avatars-container::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover, #6b7280)}.character-avatar--selected .character-avatar-circle{box-shadow:0 0 0 2px var(--color-primary, #60a5fa)}.character-avatar-name{color:var(--color-text-secondary, #9ca3af)}}@media (max-width: 768px){.characters-panel-compact{margin-left:0}.characters-avatars-container{max-width:100%}}.character-avatar--loading{pointer-events:none}.character-avatar-circle--skeleton{background:#e5e7eb;overflow:hidden;position:relative}.character-avatar-name--skeleton{width:50px;height:12px;background:#e5e7eb;border-radius:4px;overflow:hidden;position:relative}.skeleton-pulse{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.plot-modal .modal-dialog{max-width:800px}.plot-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color)}.plot-modal .modal-title-row{display:flex;align-items:center;gap:.75rem}.plot-modal .modal-title-row h2{margin:0;font-size:1.5rem;font-weight:600}.plot-modal .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem;color:var(--text-muted)}.plot-modal .modal-close:hover{color:var(--text-primary)}.plot-modal .modal-body{max-height:70vh;overflow-y:auto;padding:1.5rem}.plot-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;gap:1rem}.loading-state p,.error-state p,.empty-state p{margin:0;color:var(--text-muted)}.error-state{color:var(--color-danger)}.plot-content{display:flex;flex-direction:column;gap:2rem}.plot-section{display:flex;flex-direction:column;gap:1rem}.plot-section h4{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.plot-header h3{margin:0 0 .75rem;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.plot-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.genre-tag{background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.chapters-count{color:var(--text-muted);font-size:.875rem}.themes-list{display:flex;flex-wrap:wrap;gap:.5rem}.theme-tag{background:var(--bg-secondary);color:var(--text-primary);padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;border:1px solid var(--border-color)}.conflict-text{margin:0;line-height:1.6;color:var(--text-primary);background:var(--bg-secondary);padding:1rem;border-radius:.5rem;border-left:4px solid var(--color-warning)}.plot-points-list{display:flex;flex-direction:column;gap:1rem}.plot-point{background:var(--bg-secondary);border-radius:.75rem;padding:1rem;border-left:4px solid var(--border-color)}.plot-point.significance-high{border-left-color:var(--color-danger)}.plot-point.significance-medium{border-left-color:var(--color-warning)}.plot-point.significance-low{border-left-color:var(--color-success)}.plot-point-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.chapter-badge{background:var(--color-primary);color:#fff;padding:.25rem .6rem;border-radius:.75rem;font-size:.75rem;font-weight:600;white-space:nowrap}.plot-element{font-weight:600;color:var(--text-primary);flex:1;min-width:0}.significance-badge{padding:.25rem .6rem;border-radius:.75rem;font-size:.75rem;font-weight:500;text-transform:uppercase;white-space:nowrap}.significance-badge.high{background:var(--color-danger);color:#fff}.significance-badge.medium{background:var(--color-warning);color:#fff}.significance-badge.low{background:var(--color-success);color:#fff}.plot-point-description{margin:0;line-height:1.5;color:var(--text-primary)}.character-arcs-list{display:flex;flex-direction:column;gap:1rem}.character-arc{background:var(--bg-secondary);padding:1rem;border-radius:.5rem;border-left:4px solid var(--color-info)}.character-name{color:var(--color-primary);display:block;margin-bottom:.5rem;font-size:1rem}.character-arc-text{margin:0;line-height:1.5;color:var(--text-primary)}.resolution-text{margin:0;line-height:1.6;color:var(--text-primary);background:var(--bg-secondary);padding:1rem;border-radius:.5rem;border-left:4px solid var(--color-success)}.plot-avatar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg);border:1px solid var(--border);border-radius:8px;width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;flex:0 0 auto;-webkit-user-select:none;user-select:none;position:relative;transition:all .2s ease;padding:0}.plot-avatar-letter{font-weight:700;font-size:14px;color:var(--primary);line-height:1}.plot-avatar-hint{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);line-height:1;transition:color .2s ease}.plot-avatar-btn:hover:not(:disabled){border-color:var(--primary);background:#3b82f614;transform:scale(1.05);box-shadow:0 2px 8px #3b82f626}.plot-avatar-btn:hover:not(:disabled) .plot-avatar-hint{color:var(--primary)}.plot-avatar-btn:active:not(:disabled){transform:scale(.97)}.plot-avatar-btn.disabled{cursor:default;opacity:.6}@media (max-width: 768px){.plot-modal .modal-dialog{max-width:95vw;margin:1rem}.plot-modal .modal-body{max-height:60vh}.plot-point-header,.plot-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}.rwp-btn-wrapper{position:relative;display:inline-flex;flex-direction:column;align-items:center}.rwp-btn{min-width:52px}.rwp-btn .scenes-avatar-icon{width:28px;height:28px}.rwp-btn .scenes-avatar-icon svg{width:20px;height:20px}.scenes-avatar-subheader{font-size:8px;color:var(--text-3);margin-top:-1px;letter-spacing:.3px;text-transform:uppercase;line-height:1}.rwp-tooltip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;padding:5px 12px;border-radius:6px;background:var(--card);color:var(--text-2);border:1px solid var(--border);box-shadow:0 2px 8px #00000026;pointer-events:none;z-index:20;animation:rwp-tooltip-in .15s ease-out}@keyframes rwp-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.vp-modal-overlay:has(.rwp-modal-content){align-items:flex-start;padding:40px 20px}.vp-modal:has(.rwp-modal-content){max-width:780px;width:100%;max-height:calc(100vh - 80px);border-radius:14px}.vp-modal-body:has(.rwp-modal-content){padding:0;overflow:hidden;display:flex;flex-direction:column}.rwp-modal-content{display:flex;flex-direction:column;max-height:calc(100vh - 120px)}.rwp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.rwp-modal-title{font-size:18px;font-weight:600;color:var(--text-1);margin:0}.rwp-modal-actions{display:flex;gap:8px;align-items:center}.rwp-modal-actions .btn{display:inline-flex;align-items:center;gap:5px;font-size:13px;padding:5px 12px;border-radius:6px}.rwp-modal-actions .btn svg{width:14px;height:14px}.rwp-error{padding:8px 24px;color:#ef4444;font-size:13px;background:#ef444414}.rwp-comment-section{padding:12px 24px 16px;border-top:1px solid var(--border);flex-shrink:0;background:var(--bg)}.rwp-comment-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-1);margin-bottom:8px}.rwp-comment-row{display:flex;gap:8px;align-items:flex-end}.rwp-comment-input{flex:1;padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text-1);resize:vertical;min-height:42px;font-family:inherit}.rwp-submit-btn{white-space:nowrap;flex-shrink:0;padding:8px 16px;height:42px;display:inline-flex;align-items:center;gap:5px}.rwp-comment-input::placeholder{color:var(--muted-2);font-style:italic}.rwp-comment-input:focus{outline:none;border-color:var(--primary)}.rwp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:var(--muted-1);font-size:14px}.rwp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 24px;color:var(--muted-1);text-align:center}.rwp-empty p{margin:0}.rwp-empty-hint{font-size:13px;color:var(--muted-2);margin-bottom:8px}.rwp-plan{padding:16px 24px 24px;overflow-y:auto;flex:1}.rwp-plan::-webkit-scrollbar{width:4px}.rwp-plan::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.rwp-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.rwp-stat{font-size:12px;padding:3px 10px;border-radius:12px;background:color-mix(in srgb,var(--primary) 8%,var(--bg));color:var(--text-2);border:1px solid color-mix(in srgb,var(--primary) 15%,var(--border))}.rwp-stat-critical{color:#ef4444;background:#ef44441f;border-color:#ef444440}.rwp-stat-high{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b40}.rwp-stat-date{color:var(--muted-2);background:var(--bg);border-color:var(--border)}.rwp-section{margin-bottom:20px}.rwp-section-title{font-size:14px;font-weight:600;color:var(--text-1);margin:0 0 8px;display:flex;align-items:center;gap:8px}.rwp-overview{font-size:14px;line-height:1.6;color:var(--text-2);white-space:pre-wrap;margin:0}.rwp-list{margin:0;padding-left:20px;font-size:13px;line-height:1.6;color:var(--text-2)}.rwp-textarea{width:100%;background:var(--card);color:var(--text-1);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;line-height:1.5;resize:vertical;box-sizing:border-box}.rwp-textarea:focus{outline:none;border-color:var(--primary)}.rwp-overview-textarea{min-height:100px}.rwp-field-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-1);margin:8px 0 4px}.rwp-actions-list{display:flex;flex-direction:column;gap:6px}.rwp-action-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;border-left:3px solid var(--border)}.rwp-action-card.rwp-priority-critical{border-left-color:#ef4444}.rwp-action-card.rwp-priority-high{border-left-color:#f59e0b}.rwp-action-card.rwp-priority-medium{border-left-color:#3b82f6}.rwp-action-card.rwp-priority-low{border-left-color:#6b7280}.rwp-action-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;background:var(--bg)}.rwp-action-header:hover{background:color-mix(in srgb,var(--primary) 5%,var(--bg))}.rwp-priority-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:4px;flex-shrink:0}.rwp-priority-badge.rwp-priority-critical{color:#ef4444;background:#ef44441f}.rwp-priority-badge.rwp-priority-high{color:#f59e0b;background:#f59e0b1f}.rwp-priority-badge.rwp-priority-medium{color:#3b82f6;background:#3b82f61f}.rwp-priority-badge.rwp-priority-low{color:#6b7280;background:#6b72801f}.rwp-action-chapter{font-size:12px;color:var(--muted-1);flex-shrink:0}.rwp-action-title{font-size:13px;font-weight:500;color:var(--text-1);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rwp-action-scope{font-size:11px;color:var(--muted-2);flex-shrink:0}.rwp-action-chevron{font-size:12px;color:var(--muted-2);flex-shrink:0}.rwp-action-body{padding:10px 16px 14px;border-top:1px solid var(--border);font-size:13px;line-height:1.6;color:var(--text-2)}.rwp-action-desc,.rwp-action-rationale{margin-bottom:6px}.rwp-action-elements{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.rwp-element-tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,var(--bg));color:var(--text-3);border:1px solid color-mix(in srgb,var(--primary) 12%,var(--border))}.rwp-inline-input{background:var(--card);color:var(--text-1);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:13px;font-family:inherit}.rwp-inline-input:focus{outline:none;border-color:var(--primary)}.rwp-action-title-input{flex:1;min-width:0}.rwp-chapter-input{width:50px}.rwp-select{background:var(--card);color:var(--text-1);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:12px}.rwp-action-edit-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.rwp-remove-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;margin-left:auto}.rwp-remove-btn:hover{background:#ef44441f}.rwp-add-btn{background:none;border:1px solid var(--border);color:var(--muted-1);cursor:pointer;font-size:12px;padding:2px 10px;border-radius:4px}.rwp-add-btn:hover{background:var(--bg);color:var(--text-1)}.rwp-chars-list,.rwp-chapter-add-card{font-size:13px;color:var(--text-2)}.rwp-char-card{padding:8px 12px;border:1px solid var(--border);border-radius:6px;margin-bottom:6px;background:var(--bg)}.rwp-char-ch{color:var(--muted-2);font-size:12px}.rwp-char-purpose{margin:4px 0 0;font-size:12px;color:var(--muted-1)}.rwp-chapter-add-card{padding:8px 12px;border:1px solid var(--border);border-radius:6px;margin-bottom:6px;background:var(--bg)}.rwp-chapter-add-card p{margin:4px 0 0;font-size:12px;color:var(--muted-1)}.scenes-avatar-btn.has-data .scenes-avatar-icon:after{content:"";position:absolute;top:1px;right:1px;width:6px;height:6px;border-radius:50%;background:var(--primary)}.scenes-avatar-btn.has-data .scenes-avatar-icon{position:relative}@media (max-width: 600px){.vp-modal:has(.rwp-modal-content){max-width:100%;border-radius:0}.rwp-modal-header{flex-direction:column;gap:10px;align-items:flex-start}}.sb-btn-wrapper{position:relative;display:inline-flex;flex-direction:column;align-items:center}.sb-btn .scenes-avatar-icon{width:28px;height:28px}.sb-btn .scenes-avatar-icon svg{width:20px;height:20px}.sb-tooltip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;padding:5px 12px;border-radius:6px;background:var(--card);color:var(--text-2);border:1px solid var(--border);box-shadow:0 2px 8px #00000026;pointer-events:none;z-index:20;animation:sb-tooltip-in .15s ease-out}@keyframes sb-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.vp-modal-overlay:has(.sb-modal-content){align-items:flex-start;padding:40px 20px}.vp-modal:has(.sb-modal-content){max-width:820px;width:100%;max-height:calc(100vh - 80px);border-radius:14px}.vp-modal-body:has(.sb-modal-content){padding:0;overflow:hidden;display:flex;flex-direction:column}.sb-modal-content{display:flex;flex-direction:column;max-height:calc(100vh - 120px)}.sb-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.sb-modal-title{font-size:18px;font-weight:600;color:var(--text-1);margin:0}.sb-modal-actions{display:flex;gap:8px;align-items:center}.sb-modal-actions .btn{display:inline-flex;align-items:center;gap:5px;font-size:13px;padding:5px 12px;border-radius:6px}.sb-modal-actions .btn svg{width:14px;height:14px}.sb-error{padding:8px 24px;color:#ef4444;font-size:13px;background:#ef444414}.sb-comment-section{padding:12px 24px 16px;border-top:1px solid var(--border);flex-shrink:0;background:var(--bg)}.sb-comment-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-1);margin-bottom:8px}.sb-comment-row{display:flex;gap:8px;align-items:flex-end}.sb-comment-input{flex:1;padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text-1);resize:vertical;min-height:42px;font-family:inherit}.sb-submit-btn{white-space:nowrap;flex-shrink:0;padding:8px 16px;height:42px;display:inline-flex;align-items:center;gap:5px}.sb-comment-input::placeholder{color:var(--muted-2);font-style:italic}.sb-comment-input:focus{outline:none;border-color:var(--primary)}.sb-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:var(--muted-1);font-size:14px}.sb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 24px;color:var(--muted-1);text-align:center}.sb-empty p{margin:0}.sb-empty-hint{font-size:13px;color:var(--muted-2);margin-bottom:8px}.sb-content{display:flex;flex-direction:column;flex:1;overflow:hidden}.sb-stats{display:flex;gap:12px;flex-wrap:wrap;padding:12px 24px 0;flex-shrink:0}.sb-stat{font-size:12px;padding:3px 10px;border-radius:12px;background:color-mix(in srgb,var(--primary) 8%,var(--bg));color:var(--text-2);border:1px solid color-mix(in srgb,var(--primary) 15%,var(--border))}.sb-stat-date{color:var(--muted-2)}.sb-markdown-body{padding:16px 24px 24px;overflow-y:auto;flex:1}.sb-markdown-body::-webkit-scrollbar{width:4px}.sb-markdown-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sb-markdown{font-size:14px;line-height:1.7;color:var(--text-2)}.sb-markdown h1{font-size:22px;font-weight:700;color:var(--text-1);margin:28px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.sb-markdown h1:first-child{margin-top:0}.sb-markdown h2{font-size:18px;font-weight:600;color:var(--text-1);margin:24px 0 10px;padding-bottom:4px;border-bottom:1px solid var(--border)}.sb-markdown h3{font-size:15px;font-weight:600;color:var(--text-1);margin:20px 0 8px}.sb-markdown h4{font-size:14px;font-weight:600;color:var(--text-2);margin:16px 0 6px}.sb-markdown p{margin:.5em 0}.sb-markdown ul,.sb-markdown ol{margin:.4em 0;padding-left:22px}.sb-markdown li{margin:.25em 0}.sb-markdown li::marker{color:var(--muted-1)}.sb-markdown strong{font-weight:600;color:var(--text-1)}.sb-markdown em{font-style:italic;color:var(--text-2)}.sb-markdown blockquote{margin:.8em 0;padding:8px 16px;border-left:3px solid var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--bg));border-radius:0 6px 6px 0;color:var(--text-2);font-style:italic}.sb-markdown blockquote p{margin:.3em 0}.sb-markdown hr{border:none;border-top:1px solid var(--border);margin:20px 0}.sb-markdown table{width:100%;border-collapse:collapse;margin:.8em 0;font-size:13px}.sb-markdown th{text-align:left;padding:8px 12px;font-weight:600;color:var(--text-1);border-bottom:2px solid var(--border);background:var(--bg)}.sb-markdown td{padding:6px 12px;border-bottom:1px solid var(--border);color:var(--text-2)}.sb-markdown tr:last-child td{border-bottom:none}.sb-markdown code{font-family:SF Mono,Menlo,monospace;font-size:.9em;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--primary) 8%,var(--bg));color:var(--primary)}.editor-toolbar{display:flex;gap:8px;align-items:center;margin:10px 0}.chapter-meta-row{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.chapter-title-input{flex:1;padding:10px 12px;border:1px solid var(--input-border);border-radius:6px;font-size:16px;background:var(--input-bg);color:var(--input-text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}.chapter-title-input::placeholder{color:var(--placeholder)}.chapter-title-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}@media (prefers-reduced-motion: reduce){.ios-switch input[type=checkbox],.ios-switch input[type=checkbox]:after{transition:none}}.rich-editor{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:0 10px 10px;line-height:1.5;color:var(--text-1);transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.rich-editor [contenteditable=true]{outline:none;background:transparent;color:inherit}.rich-editor [contenteditable=true]::selection{background:color-mix(in srgb,var(--primary) 25%,transparent)}.editor-toolbar .btn.subtle{background:var(--card);color:var(--text-1);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:14px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.editor-root{display:flex;flex-direction:column;height:100%;overflow:visible}.editor-toolbar{display:flex;gap:8px;align-items:center;margin:10px 0;padding:6px 8px;overflow-x:auto}.editor-toolbar .spacer{flex:1}.toolbar-select{height:28px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);border-radius:6px;padding:4px 8px}.word-counter{font-variant-numeric:tabular-nums;color:var(--text-2, var(--text-1))}.editor-toolbar .btn.subtle{background:var(--card);color:var(--text-1);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:14px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,filter .15s ease;display:inline-flex;align-items:center;gap:6px}.editor-toolbar .btn.subtle:hover{background:var(--bg)}.editor-toolbar .btn.subtle:active{filter:brightness(.98)}.btn.primary{background:var(--primary);color:var(--on-primary, #fff);border:1px solid var(--primary);border-radius:6px;padding:6px 12px;font-size:14px;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease}.btn.primary:disabled{opacity:.7;cursor:default}.btn.primary:active{filter:brightness(.98)}.rich-editor{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:0 10px 10px;line-height:1.5;color:var(--text-1);flex:1 1 auto;min-height:0;overflow-y:auto;height:var(--editor-height);min-height:320px;max-height:100%;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;scrollbar-width:thin}.rich-editor::-webkit-scrollbar{width:6px}.rich-editor::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.rich-editor[contenteditable=true]{outline:none;background:transparent;color:inherit}.rich-editor[contenteditable=true]::selection{background:color-mix(in srgb,var(--primary) 25%,transparent)}.editor-shell{display:flex;gap:8px;align-items:stretch;min-height:320px;height:100%;overflow:visible}.editor-main{flex:0 0 100%;min-width:0;transition:flex-basis .15s ease;display:flex;flex-direction:column;min-height:0;overflow:hidden}.editor-root.show-coach .editor-main{flex-basis:calc(100% - (var(--coach-w) * .15))}.editor-root.show-coach .coach-panel,.editor-root.show-coach .chapter-agent-scroll,.editor-root.show-coach .step-results-scroll{flex:0 0 var(--coach-w)}@media (max-width: 760px){.editor-root.show-coach .editor-main{flex-basis:60%}.editor-root.show-coach .coach-panel,.editor-root.show-coach .chapter-agent-scroll,.editor-root.show-coach .step-results-scroll{flex-basis:40%}}.coach-panel{width:var(--coach-w);min-width:300px;max-width:420px;border-left:1px solid var(--border, #e5e7eb);background:var(--panel, var(--card));display:flex;flex-direction:column;height:var(--coach-panel-height);max-height:100vh}.coach-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border, #e5e7eb);position:sticky;top:0;background:inherit;z-index:1;flex-wrap:nowrap}.coach-title{font-size:14px;font-weight:600;flex:1;color:var(--text-1)}.coach-messages{flex:1;padding:12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.coach-messages::-webkit-scrollbar{width:6px}.coach-messages::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.coach-bubble{flex-shrink:0;max-width:90%;padding:2px 10px;border-radius:12px;font-size:14px;line-height:1.55;box-shadow:0 1px 1px #0000000d;color:var(--text-1);word-break:break-word;overflow-wrap:break-word;background:var(--bubble-them, #f3f4f6)}.coach-bubble.them{align-self:flex-start}.coach-bubble.me{align-self:flex-end;background:var(--bubble-me, #e0f2fe)}.coach-bubble p{margin:3px}.coach-markdown{white-space:pre-wrap;line-height:1.55;word-wrap:break-word;overflow-wrap:anywhere;margin:0}.coach-markdown p{margin:.3rem 0}.coach-markdown ul,.coach-markdown ol{margin:.3rem 0 .3rem 1.25rem;padding:0}.coach-markdown li{margin:.2rem 0}.coach-markdown strong{font-weight:600}.coach-markdown code{background:#0000000d;border-radius:4px;padding:0 .25rem;font-size:.9em}.coach-markdown h1,.coach-markdown h2,.coach-markdown h3{margin:.4rem 0 .2rem;font-weight:600;font-size:1rem}.coach-input{display:flex;align-items:center;gap:8px;padding:10px;border-top:1px solid var(--border, #e5e7eb)}.coach-input input[type=text]{flex:1;height:34px;padding:6px 10px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:var(--input-bg);color:var(--input-text)}.coach-input button{height:34px;padding:0 12px;border-radius:8px;border:none;background:var(--button-bg, #2563eb);color:#fff;cursor:pointer}.ios-switch{display:inline-flex;align-items:center;gap:8px}.ios-switch input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;background:var(--border);border-radius:999px;position:relative;outline:none;cursor:pointer;transition:background .2s ease,box-shadow .15s ease,border-color .15s ease;border:1px solid var(--border)}.ios-switch input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--card);box-shadow:0 1px 2px #0003;transition:left .2s ease,background .15s ease,box-shadow .15s ease}.ios-switch input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}.ios-switch input[type=checkbox]:checked:after{left:21px}.ios-switch input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--ring)}.ios-switch input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.ios-switch input[type=checkbox],.ios-switch input[type=checkbox]:after,.editor-main{transition:none}}.rich-editor{overflow-y:hidden;-webkit-overflow-scrolling:touch}.rich-editor:hover,.rich-editor:focus-within{overflow-y:auto}.rich-editor{border-color:var(--editor-focus-base);position:relative}.rich-editor:hover,.rich-editor:focus-within{border-color:var(--editor-focus-strong);box-shadow:0 0 0 3px var(--ring)}.editor-root.focus-lock .rich-editor:focus-within{box-shadow:0 0 0 3px var(--ring),0 0 0 6px color-mix(in srgb,var(--primary) 30%,transparent)}.rich-editor{border-radius:var(--editor-radius-base);border-color:var(--editor-focus-base);transition:border-color .18s ease,box-shadow .18s ease,border-radius .18s ease}.rich-editor:hover,.rich-editor:focus-within{border-radius:var(--editor-radius-focus);border-color:var(--editor-focus-strong);box-shadow:0 0 0 3px var(--ring),0 0 0 1px var(--editor-focus-strong) inset}.typing{display:flex;align-items:center;gap:4px;height:25px}.typing .dot{width:6px;height:6px;border-radius:50%;background:var(--text-2, #999);animation:typingBounce 1.2s infinite ease-in-out}.typing .dot:nth-child(2){animation-delay:.2s}.typing .dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.coach-textarea{flex:1;min-height:34px;max-height:160px;resize:none;overflow:hidden;padding:6px 10px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:var(--input-bg);color:var(--input-text);font-family:inherit;line-height:1.4}.coach-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.btn-glow{position:relative;border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent),0 0 8px 2px color-mix(in srgb,var(--primary) 35%,transparent);transition:box-shadow .25s ease,border-color .25s ease,background .25s ease}.btn-glow:hover{border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 35%,transparent),0 0 10px 3px color-mix(in srgb,var(--primary) 45%,transparent)}.btn-glow:active{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 40%,transparent),0 0 6px 2px color-mix(in srgb,var(--primary) 50%,transparent);filter:brightness(.95)}.pt-option.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none;filter:grayscale(.5)}.pt-option.is-disabled .pt-option-title,.pt-option.is-disabled .pt-option-desc{color:var(--text-2, #999)}.coach-title-container{display:flex;align-items:center;gap:8px;white-space:nowrap}.coach-model-select{display:flex;align-items:center;gap:8px;flex:1 1 360px;min-width:150px}.coach-model-select>*{min-width:0}.coach-header .btn{flex:0 0 auto}.coach-chapter-toggle{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-2, #6b7280);cursor:default;white-space:nowrap;flex:0 0 auto}.coach-chapter-toggle input[type=checkbox]{margin:0;width:14px;height:14px}.coach-info-icon{font-size:13px;color:var(--text-3, #9ca3af);cursor:help}@media (max-width: 900px){.coach-model-select{flex-basis:300px;min-width:200px}}.coach-upgrade-link{display:inline-flex;align-items:center;gap:5px;padding:5px;border-radius:5px;border:1px solid var(--primary);background:var(--primary);color:var(--on-primary, #fff);text-decoration:none;font-size:12px;line-height:1;white-space:nowrap}.coach-upgrade-link:hover{filter:brightness(1.05)}.coach-coins{font-size:10px;font-weight:500;color:var(--text-2);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:2px 8px;display:inline-block;text-align:center;min-width:50px}@media (max-width: 760px){.editor-root.show-coach .editor-main{flex-basis:60%}.editor-root.show-coach .coach-panel,.editor-root.show-coach .chapter-agent-scroll,.editor-root.show-coach .step-results-scroll{flex-basis:40%}.rich-editor{width:100vw;height:100vh;border-radius:0}.rich-editor:hover,.rich-editor:focus-within{border-color:var(--border);box-shadow:none}}.fig-icon{width:16px;height:16px;vertical-align:middle;margin-right:-4px;margin-bottom:7px}.toolbar-panel-toggles{display:flex;gap:4px;align-items:center}.toolbar-panel-toggles .btn.panel-active{background:color-mix(in srgb,var(--primary) 18%,transparent);border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent),0 0 6px 1px color-mix(in srgb,var(--primary) 25%,transparent)}.chapter-agent-scroll{display:flex;flex-direction:column;width:var(--coach-w);min-width:300px;max-width:420px;border-left:1px solid var(--border, #e5e7eb);background:var(--panel, var(--card));height:var(--coach-panel-height);max-height:100vh}.chapter-agent-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin}.chapter-agent-panel::-webkit-scrollbar{width:4px}.chapter-agent-panel::-webkit-scrollbar-thumb{background:var(--border, #2e2e3e);border-radius:4px}.chapter-agent-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border, #e5e7eb);position:sticky;top:0;background:inherit;z-index:1}.chapter-agent-title{font-size:14px;font-weight:700;color:var(--text-primary, #e2e8f0);letter-spacing:.02em}.chapter-agent-body{display:flex;flex-direction:column;gap:10px;padding:12px}.step-result-buttons{display:flex;flex-direction:column;gap:4px;margin-top:4px}.step-result-view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;border:1px solid var(--border, #e5e7eb);background:var(--bg, #fff);font-size:13px;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.step-result-view-btn--enabled{color:var(--text-1, #111827)}.step-result-view-btn--enabled:hover{border-color:var(--primary, #3b82f6);background:#3b82f60f;box-shadow:0 1px 4px #3b82f61a}.step-result-view-btn--enabled:active{transform:scale(.98)}.step-result-view-btn--disabled{color:var(--text-3, #9ca3af);opacity:.5;cursor:not-allowed}.step-result-view-icon{flex-shrink:0;font-size:14px;line-height:1}.step-result-view-label{flex:1;font-weight:500}@media (max-width: 760px){.chapter-agent-scroll,.step-results-scroll{min-width:0;max-width:none;flex-basis:40%}}.analysis-section{margin-top:18px}.analysis-title{margin:8px 0 10px;color:var(--text-2)}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.analysis-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px;min-height:120px;display:flex;flex-direction:column;gap:8px;transition:background .15s ease,border-color .15s ease,color .15s ease}.analysis-card-index{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--border);font-weight:700;color:var(--text-3)}.analysis-card-title{font-weight:700;color:var(--text-1)}.analysis-card-snippet{font-size:13px;color:var(--muted-2);line-height:1.4}.analysis-card.skeleton{background-image:linear-gradient(90deg,var(--shimmer-base) 25%,var(--shimmer-highlight) 37%,var(--shimmer-base) 63%);background-size:200% 100%;animation:shimmer 1.2s infinite linear}.skeleton-line{height:12px;border-radius:6px;margin:6px 0;background:var(--shimmer-highlight)}.skeleton-line.short{width:60%}.analysis-loading{margin-top:20px;display:grid;gap:12px}.scene-skeleton{height:80px;border-radius:8px;background:var(--shimmer-base);position:relative;overflow:hidden}.shimmer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-150px);width:150px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.5s infinite}@supports (color: color-mix(in srgb,white 0%,black 0%)){.shimmer:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--shimmer-highlight) 85%,transparent),transparent)}}.word-counter{margin-right:16px;font-size:.9rem;color:var(--muted-2)}.ios-switch{margin-right:16px;display:flex;align-items:center;gap:6px}.analyze-btn{background:var(--primary);color:#fff;border-radius:6px;padding:6px 14px;transition:background .2s ease,opacity .2s ease;border:none;cursor:pointer}.analyze-btn:hover:not(.loading){background:var(--primary-hover)}.analyze-btn.loading{opacity:.7;cursor:wait}.app-footer{display:flex;justify-content:center;border-top:1px solid var(--border);background:transparent;padding:12px 20px;margin-top:16px;flex-shrink:0}.footer-inner{width:100%;max-width:1000px;display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-left{display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:14px}.footer-brand{font-weight:700;color:var(--text-2)}.footer-dot{opacity:.5}.footer-right{display:flex;align-items:center;gap:10px}.footer-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid #e6e6e6;background:#fff;text-decoration:none;transition:background .2s ease,transform .06s ease,border-color .2s ease}.footer-icon svg{fill:#555}.footer-icon:hover{background:#f7f7f7;border-color:#ddd}.footer-icon:active{transform:translateY(1px)}.footer-icon:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width: 560px){.footer-inner{flex-direction:column;align-items:flex-start;gap:8px}.footer-right{gap:8px}}:root{--kebab-lane: 36px;--kebab-edge: 10px}.chapter-row-wrap{position:relative;padding-right:calc(var(--kebab-lane) + var(--kebab-edge));overflow:visible}.kebab-anchor{pointer-events:auto;z-index:2}.kebab-anchor--row{position:absolute;top:0;right:var(--kebab-edge);height:100%;display:flex;align-items:center;justify-content:flex-end;width:var(--kebab-lane);overflow:visible}.kebab-anchor--inline{position:relative;display:inline-flex;align-items:center;margin-left:6px;overflow:visible}.kebab-trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;line-height:1;border:1px solid var(--border);background:var(--card);color:var(--text-2);cursor:pointer;border-radius:6px;outline:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.kebab-trigger:hover{background:var(--bg);color:var(--text-1)}.kebab-trigger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.kebab-trigger:active{transform:none;filter:brightness(.98)}@media (prefers-reduced-motion: reduce){.kebab-trigger{transition:none}}.kebab-trigger>.icon,.kebab-trigger>span{display:inline-block;line-height:1}.kebab-menu{position:absolute;z-index:1000;min-width:180px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 26px #0000001f;padding:6px}@supports (color: color-mix(in srgb,white 0%,black 0%)){.kebab-menu{border-color:color-mix(in srgb,var(--primary) 10%,var(--border));box-shadow:0 2px 6px color-mix(in srgb,var(--primary) 10%,rgba(0,0,0,.1)),0 10px 26px #0000001f}}.kebab-menu-empty{padding:8px 10px;color:var(--muted-2)}.kebab-menu--right{left:calc(100% + 8px);right:auto;top:50%;transform:translateY(-50%);margin:0}.kebab-menu--below{top:100%;right:0;left:auto;transform:none;margin-top:6px}@media (max-width: 640px){.kebab-menu--right{left:auto;right:calc(100% + 8px);transform:translateY(-50%)}}.kebab-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;cursor:pointer;border-radius:8px;color:var(--text-2);transition:background-color .15s ease,color .15s ease}.kebab-menu-item:hover:not(.kebab-menu-item-disabled){background:var(--bg);color:var(--text-1)}@supports (color: color-mix(in srgb,white 0%,black 0%)){.kebab-menu-item:hover:not(.kebab-menu-item-disabled){background:color-mix(in srgb,var(--primary) 8%,var(--card))}}.kebab-menu-item.kebab-menu-item-danger{color:#b91c1c}.kebab-menu-item.kebab-menu-item-danger:hover:not(.kebab-menu-item-disabled){background:color-mix(in srgb,#b91c1c 12%,var(--card));color:#7f1d1d}.kebab-menu-item.kebab-menu-item-disabled{opacity:.55;cursor:not-allowed}.kebab-hint{margin-left:6px;font-size:.8rem;color:var(--muted-2);font-weight:500;white-space:nowrap;pointer-events:none}.lrp-modal{width:90vw;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:95vh}.lrp-modal-title{margin:0}.lrp-control-row{display:flex;gap:8px;align-items:center}.lrp-inline-label{display:flex;align-items:center;gap:8px;font-size:13px}.lrp-photo-row{display:flex;gap:6px;align-items:center;margin-left:auto}.lrp-photo-label{font-size:12px;opacity:.8}.lrp-photo-input{width:260px;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#e5e7eb}.lrp-preview{position:relative;width:100%;height:70vh;background:#000;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}.lrp-webcam{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.lrp-overlay{position:absolute;left:0;right:0;bottom:0;padding:16px 20px;background:linear-gradient(180deg,#0000,#000000a6 40%,#000000bf);color:#fff;z-index:3;pointer-events:none}.lrp-overlay-subtitle{opacity:.75;font-size:14px;margin-bottom:6px}.lrp-line{font-size:22px;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.6)}.lrp-emph{color:#6c5ce7;font-weight:700}.lrp-tip{margin-top:8px;font-size:18px;opacity:.85}.lrp-modal-actions{display:flex;gap:10px;margin-bottom:3rem;justify-content:flex-end;flex-wrap:wrap;align-items:center;overflow:visible}.lrp-desktop-controls{display:contents}.lrp-mobile-controls{display:none}.lrp-btn{padding:8px 14px;border-radius:6px;cursor:pointer}.lrp-btn-ghost{border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#e5e7eb}.lrp-btn-primary{border:none;background:#6c5ce7;color:#fff}.lrp-btn[disabled]{cursor:not-allowed;opacity:.7}.lrp-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100px;max-width:42vw;height:12px;border-radius:999px;background:var(--border);outline:none;cursor:pointer;vertical-align:middle}.lrp-range:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--u-purple) 35%,transparent)}.lrp-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--u-purple);border:2px solid var(--bg);box-shadow:0 1px 2px #0006;margin-top:-5px}.lrp-range::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--u-purple) 0 var(--lrp-range-pct, 50%),var(--border) var(--lrp-range-pct, 50%) 100%)}.lrp-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--u-purple);border:2px solid var(--bg);box-shadow:0 1px 2px #0006}.lrp-range::-moz-range-track{height:10px;border-radius:999px;background:var(--border)}.lrp-range::-moz-range-progress{height:10px;border-radius:999px;background:var(--u-purple)}.lrp-scroller{margin-top:8px;height:auto;min-height:120px;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-1);padding:.5rem 16px;line-height:1.4;font-size:50px}.lrp-scroller-content{white-space:pre-wrap}.lrp-scroller-wrap{margin-top:8px}.lrp-scroller-overlay{position:absolute;left:12px;right:12px;top:72px;z-index:3;pointer-events:auto}.lrp-scroller.is-overlay{margin-top:0;height:auto;max-height:28vh;background:#00000073;color:#fff;border-color:#ffffff2e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 4px 18px #00000040}.lrp-word{transition:color .15s ease,background-color .15s ease}.lrp-word.is-read{color:#ffffffb8}.lrp-word.is-current{color:#fff;background:#dc26268c;border-radius:4px;padding:1px 2px}.lrp-gestures{position:absolute;right:12px;top:12px;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;padding:8px 10px;background:#00000059;border-radius:10px;color:#fff;z-index:4;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lrp-gesture-item{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.lrp-gesture-svg{width:48px;height:48px;display:block}.lrp-gesture-svg text{fill:#fff}.lrp-gesture-caption{font-size:11px;color:#fff;opacity:.9;line-height:1.1;text-shadow:0 1px 2px rgba(0,0,0,.45)}.lrp-gesture-svg.is-active+.lrp-gesture-caption{opacity:1;font-weight:700}.lrp-gesture-item:after{content:"🔗";position:absolute;top:2px;right:2px;font-size:12px;line-height:1;color:#ffffffbf;background:#00000073;padding:2px 4px 3px;border-radius:6px;opacity:0;transform:scale(.85);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.lrp-gesture-item:hover:after,.lrp-gesture-item:focus-visible:after{opacity:1;transform:scale(1)}.lrp-gesture-svg rect{transition:fill .2s ease,stroke .2s ease,stroke-width .2s ease}.lrp-gesture-svg.is-active{transform:scale(1.06)}.lrp-gesture-svg.is-active[data-action=play] rect{stroke:#22c55e;stroke-width:2;fill:#22c55e47}.lrp-gesture-svg.is-active[data-action=pause] rect{stroke:#f59e0b;stroke-width:2;fill:#f59e0b47}.lrp-gesture-svg.is-active[data-action=stop] rect{stroke:#ef4444;stroke-width:2;fill:#ef44444d}.lrp-gesture-svg.is-active[data-action=next] rect{stroke:#3b82f6;stroke-width:2;fill:#3b82f647}.lrp-gesture-svg.is-active[data-action=prev] rect{stroke:#a78bfa;stroke-width:2;fill:#a78bfa47}.lrp-gesture-svg.is-active[data-action=start] rect{stroke:#16a34a;stroke-width:2;fill:#16a34a47}@media (max-width: 768px){.lrp-modal{width:100vw;max-width:none;margin:0;gap:8px;padding:0 0 80px;max-height:none;height:auto;overflow-y:visible;overflow-x:hidden}.lrp-modal-title{padding:8px 12px;font-size:1rem}.lrp-control-row{padding:0 12px;flex-wrap:wrap}.lrp-preview{height:50vh;max-height:50vh;min-height:250px;border-radius:8px;margin:0 8px;flex-shrink:0;width:calc(100vw - 16px);max-width:calc(100vw - 16px);overflow:hidden}.lrp-webcam{width:100%;height:100%;max-width:100%;object-fit:cover}.lrp-modal-actions{padding:8px 12px 16px;margin-left:0;margin-right:0;gap:8px;flex-wrap:wrap;margin-bottom:0;overflow:visible;flex-direction:column;justify-content:flex-start}.lrp-desktop-controls{display:none}.lrp-mobile-controls{display:contents}.lrp-mobile-controls>button,.lrp-mobile-controls>div{width:100%;max-width:100%}.lrp-mobile-controls>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.lrp-mobile-controls>div label{flex-shrink:0;min-width:60px}.lrp-mobile-controls>div select,.lrp-mobile-controls>div input[type=range]{flex:1;min-width:0}.lrp-mobile-controls .lrp-select{max-width:none;width:100%}.lrp-mobile-controls .lrp-inline-label{width:100%;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:8px 0}.lrp-mobile-controls .lrp-inline-label>span:first-child{flex-shrink:0;min-width:auto;font-size:12px}.lrp-mobile-controls .lrp-inline-label .lrp-range{flex:1;min-width:0;max-width:none}.lrp-mobile-controls .lrp-inline-label>span:last-child{flex-shrink:0;font-size:12px;min-width:50px}.lrp-mobile-controls .lrp-range::-webkit-slider-thumb{width:28px;height:28px;margin-top:-9px}.lrp-mobile-controls .lrp-range::-moz-range-thumb{width:28px;height:28px}.lrp-gestures{right:8px;top:8px;gap:8px;padding:6px 8px}.lrp-gesture-svg{width:44px;height:44px}.lrp-overlay{padding:12px 14px}.lrp-line{font-size:16px}.lrp-tip{font-size:13px}.lrp-scroller-wrap{max-height:none;flex-shrink:0;margin-bottom:40px;padding:0 12px}.lrp-scroller{font-size:24px;height:auto;min-height:80px;max-height:150px;padding:12px;line-height:1.5;overflow-y:auto;overflow-x:hidden;word-wrap:break-word}.lrp-photo-row{flex-wrap:wrap;gap:4px}.lrp-photo-input{width:100%;max-width:200px}}@media (max-width: 480px){.lrp-modal{padding:0 0 100px}.lrp-modal-title{font-size:.9rem;padding:6px 10px}.lrp-preview{height:40vh;max-height:40vh;min-height:200px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);margin:0 8px;border-radius:8px;overflow:hidden}.lrp-webcam{width:100%;max-width:100%}.lrp-control-row{font-size:12px;padding:0 8px}.lrp-modal-actions{padding:8px 12px 16px;gap:10px}.lrp-desktop-controls{display:none}.lrp-mobile-controls{display:contents}.lrp-mobile-controls>button,.lrp-mobile-controls>div{width:100%;max-width:100%}.lrp-mobile-controls>div{display:flex;justify-content:space-between;align-items:center}.lrp-mobile-controls .lrp-select{max-width:none;width:100%}.lrp-mobile-controls .lrp-inline-label{width:100%;flex-wrap:nowrap;margin:8px 0}.lrp-mobile-controls .lrp-inline-label>span:first-child{flex-shrink:0;font-size:11px}.lrp-mobile-controls .lrp-inline-label .lrp-range{flex:1;min-width:0;max-width:none}.lrp-mobile-controls .lrp-inline-label>span:last-child{flex-shrink:0;font-size:11px;min-width:45px}.lrp-gestures{right:4px;top:4px;gap:6px;padding:4px 6px}.lrp-gesture-svg{width:40px;height:40px}.lrp-line{font-size:14px}.lrp-tip{font-size:12px}.lrp-scroller-wrap{max-height:none;margin-bottom:10px;padding:0 8px}.lrp-scroller{font-size:20px;height:auto;min-height:70px;max-height:120px;padding:10px;line-height:1.5;overflow-y:auto;overflow-x:hidden;word-wrap:break-word}}.vp-modal--fullscreen .vp-modal-body .lrp-modal{height:100%;display:flex;flex-direction:column}.vp-modal--fullscreen .vp-modal-body .lrp-preview{height:auto;min-height:60vh;flex:1 1 auto}.vp-modal--fullscreen .vp-modal-body .lrp-scroller-wrap{flex:0 0 auto}@media (max-width: 768px){.vp-modal--fullscreen{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch}.vp-modal--fullscreen .vp-modal-body{height:auto;min-height:100%;overflow:visible}.vp-modal--fullscreen .vp-modal-body .lrp-modal{height:auto;min-height:100vh}.vp-modal--fullscreen .vp-modal-body .lrp-preview{flex:0 0 auto}}:root{--u-purple: #6a0dad;--u-purple-700: #5500aa;--u-bg: var(--card);--u-bg-hover: var(--bg);--u-text: var(--text-1);--u-muted: var(--muted-2);--tile-w: 150px;--tile-rw: 9;--tile-rh: 16;--tile-caption-h: 32px;--tile-footer-h: 48px;--tile-frame-h: calc(var(--tile-w) * var(--tile-rh) / var(--tile-rw));--tile-total-h: calc(var(--tile-frame-h) + var(--tile-caption-h) + var(--tile-footer-h))}.upload-widget{display:flex;align-items:flex-start;gap:16px;width:90%;flex-wrap:wrap}.upload-widget>section{order:1;flex:1 1 auto;min-width:260px;padding-left:16px;padding-right:16px}.upload-widget>hr{display:none!important}.uploadColumn{display:flex;flex-direction:column;padding:8px 4px 12px;align-items:center;gap:0;flex:0 0 auto;width:var(--tile-w);height:var(--tile-total-h)}.upload-box{order:2;flex:0 0 auto;width:var(--tile-w);height:calc(var(--tile-total-h) - var(--tile-footer-h));min-height:calc(var(--tile-total-h) - var(--tile-footer-h));box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;border:2px dashed var(--u-purple);border-radius:14px;background-color:var(--u-bg);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;cursor:pointer}.upload-box:hover{background-color:var(--u-bg-hover)}.upload-box.has-preview{cursor:default}.upload-box.drag-over{background:color-mix(in srgb,var(--u-purple) 8%,var(--u-bg));border-color:var(--u-purple);box-shadow:0 0 0 4px var(--ring) inset}.upload-actions{order:3;flex:0 0 var(--tile-footer-h);width:var(--tile-w);height:var(--tile-footer-h);display:flex;flex-direction:column;justify-content:center;gap:8px}.upload-actions button{width:100%;background:var(--u-purple);color:#fff;border:0;padding:10px 14px;border-radius:10px;font-size:15px;cursor:pointer;transition:background .25s ease,transform .06s ease}.upload-actions button:hover{background:var(--u-purple-700)}.upload-actions button:active{transform:translateY(1px)}.upload-actions button[disabled]{opacity:.6;cursor:not-allowed}.upload-widget input[type=file][accept^="video/"]{display:none}.upload-hint{margin-top:8px;color:var(--u-muted)}.preview-container{margin-top:12px;width:100%;border-radius:10px;overflow:hidden;background:#000;box-shadow:0 4px 12px #0000001f;position:relative;z-index:1}.preview-container video{display:block;width:100%;height:auto;max-height:calc(var(--tile-total-h) - 24px);object-fit:contain;pointer-events:auto}.progress-bar{margin-top:12px;background:var(--border);border-radius:8px;height:22px;width:100%;overflow:hidden}.progress{height:100%;background-color:var(--u-purple);color:#fff;text-align:center;line-height:22px;font-weight:600;font-size:13px;transition:width .3s ease}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.video-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.video-grid .video-tile{flex:0 0 var(--tile-w);height:var(--tile-total-h);background:var(--card);border-radius:18px;overflow:hidden;box-shadow:0 6px 18px #00000026;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,background .2s ease,color .2s ease,border-color .2s ease;scroll-snap-align:start}.video-grid .video-frame{position:relative;background:#000;overflow:hidden;aspect-ratio:var(--tile-rw) / var(--tile-rh);width:100%;height:auto}.video-grid .video-caption{height:var(--tile-caption-h);display:flex;align-items:center;padding:0 10px;font-size:12px;color:var(--text-2);background:var(--bg);border-top:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-grid .meta-badge{position:absolute;bottom:8px;left:8px;display:flex;gap:6px;align-items:center;z-index:2}.video-footer{height:var(--tile-footer-h);padding:8px;display:flex;justify-content:center;gap:8px;background:var(--bg);border-top:1px solid var(--border)}.video-footer .vg-select-btn{background:var(--u-purple);color:#fff}.video-footer .vg-select-btn:hover{background:var(--u-purple-700)}.mainContent{display:flex;flex-direction:row;align-items:flex-start;gap:24px;width:100%}.mainContent .video-grid{flex:1}.invite-btn{background:#16a34a;color:#fff;border:0;padding:10px 18px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background .25s ease,transform .06s ease}.invite-btn:hover{background:#15803d}.invite-btn:active{transform:translateY(1px)}.invite-btn[disabled]{opacity:.6;cursor:not-allowed}.header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.header-row h3{margin:0}.record-btn{background:#2563eb;color:#fff;border:0;padding:10px 18px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background .25s ease,transform .06s ease}.record-btn:hover{background:#1d4ed8}.record-btn:active{transform:translateY(1px)}.record-btn[disabled]{opacity:.6;cursor:not-allowed}.lrp-act-toolbar{display:flex;align-items:center;gap:8px;margin:10px 0 8px}.lrp-select{padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text-1);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lrp-act-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}.lrp-act-section{border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--card)}.lrp-act-header{display:flex;align-items:center;justify-content:space-between}.lrp-act-title{margin:0 0 4px;font-size:12px;opacity:.9;display:flex;align-items:center;gap:6px;cursor:pointer}.lrp-act-chevron{display:inline-flex;transition:transform .18s ease;opacity:.8}.lrp-act-chevron.is-collapsed{transform:rotate(-90deg)}.lrp-act-toggle{all:unset;box-sizing:border-box;padding:3px 8px;font-size:11px;color:var(--text-2);border:1px solid var(--border);border-radius:999px;cursor:pointer}.lrp-act-toggle:hover{background:var(--u-bg-hover)}.lrp-icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.lrp-icon-tile{all:unset;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;border-radius:8px;border:1px solid var(--border);background:var(--card);cursor:pointer;margin:2px;position:relative}.lrp-icon-tile:hover{background:var(--u-bg-hover)}.lrp-icon-tile:after{content:"🔗";position:absolute;top:6px;right:6px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#ffffffd9;background:#0000008c;border-radius:6px;box-shadow:0 0 0 1px #ffffff26;opacity:0;transform:translateY(-4px) scale(.85);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.lrp-icon-tile:hover:after,.lrp-icon-tile:focus-visible:after{opacity:1;transform:translateY(0) scale(1)}.lrp-icon-tile.has-video{border-color:#dc26268c;box-shadow:0 0 0 2px #dc26262e inset}.lrp-icon-tile.has-video .lrp-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#dc262647;pointer-events:none}.lrp-icon-tile.has-video .lrp-icon-caption{color:var(--text-1)}.lrp-thumb{width:100%;aspect-ratio:16 / 9;border-top-left-radius:8px;border-top-right-radius:8px;overflow:hidden;background:#0b0b0c;position:relative}.lrp-thumb-image{width:100%;height:100%;background:linear-gradient(135deg,#3f3f46,#0b0b0c)}.lrp-thumb-image[data-variant="2"]{background:linear-gradient(135deg,#334155,#0b0b0c)}.lrp-thumb-image[data-variant="3"]{background:linear-gradient(135deg,#3b0764,#0b0b0c)}.lrp-thumb-image[data-variant="4"]{background:linear-gradient(135deg,#064e3b,#0b0b0c)}.lrp-thumb-image[data-variant="5"]{background:linear-gradient(135deg,#7c2d12,#0b0b0c)}.lrp-thumb-image[data-variant="6"]{background:linear-gradient(135deg,#1f2937,#0b0b0c)}.lrp-thumb-image.has-thumb{background-color:#0b0b0c;background-repeat:no-repeat;background-size:cover;background-position:center}.lrp-icon-tile.has-video .lrp-thumb:before{content:"";position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:999px;background:#dc2626;box-shadow:0 0 0 2px #00000059}.lrp-icon-caption{font-size:11px;line-height:1.25;padding:4px 6px 6px;color:var(--text-1)}.lrp-tile-footer{margin-top:auto;padding:0 6px 8px}.lrp-tile-btn{all:unset;display:inline-block;width:100%;box-sizing:border-box;padding:5px 6px;font-size:11px;font-weight:700;text-align:center;border-radius:8px;background:#6b7280;color:#fff;cursor:pointer}.lrp-tile-btn:active{transform:translateY(1px)}.lrp-icon-tile:not(.has-video) .lrp-tile-btn:hover{background:#dc2626}.lrp-icon-tile:not(.has-video) .lrp-tile-btn:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.lrp-icon-tile.has-video .lrp-tile-btn{background:#dc2626}.lrp-icon-tile.has-video .lrp-tile-btn:hover{background:#b91c1c}.lrp-icon-tile.has-video .lrp-tile-btn:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.lrp-caption-title{vertical-align:baseline}.lrp-caption-meta{margin-left:6px;font-size:10px;color:var(--text-2);vertical-align:baseline}.lrp-flat-grid{display:grid;gap:10px;margin:10px 0 16px}.lrp-video-selector{position:absolute;top:0;right:0;bottom:0;width:120px;z-index:13;display:flex;flex-direction:column;gap:8px;padding:8px;overflow-y:auto;overflow-x:hidden;background:#00000040;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lrp-video-selector-btn{background:#0009;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:12px 8px;font-size:13px;font-weight:400;cursor:pointer;min-height:80px;display:flex;align-items:center;justify-content:center;text-align:center;word-break:break-word;transition:all .2s ease;flex-shrink:0}.lrp-video-selector-btn.is-active{background:#ffffffe6;color:#000;border:2px solid #6c5ce7;font-weight:600}.lrp-video-selector-btn:hover{transform:translate(-2px);box-shadow:0 2px 8px #0000004d}@media (max-width: 768px){.upload-widget{width:100%;padding:0;margin:0;gap:12px}.upload-widget>section{padding-left:8px;padding-right:8px;width:100%}.header-row{flex-direction:column;align-items:flex-start;gap:8px;padding:0 8px}.header-row h3{font-size:1.25rem}.lrp-icon-grid{grid-template-columns:repeat(2,1fr);gap:6px}.lrp-flat-grid{grid-template-columns:repeat(2,1fr);gap:8px}:root{--tile-w: calc(50vw - 20px) }.uploadColumn{width:100%;max-width:300px;margin:0 auto}.upload-box,.upload-actions{width:100%}}@media (max-width: 480px){.header-row h3{font-size:1.1rem}.lrp-icon-grid{gap:4px}.lrp-flat-grid{gap:6px}.lrp-icon-caption{font-size:10px;padding:3px 5px 5px}.lrp-tile-btn{font-size:10px;padding:4px 5px}.lrp-select{max-width:140px;font-size:12px}}.calendar-widget{flex:1;height:100%;width:100%;padding:40px 60px;background-color:#f9f9f9;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start}.calendar-widget h2{margin-bottom:24px;font-size:28px;color:#333;font-weight:600}.react-calendar{width:100%;height:auto;background:#fff;border:none;box-shadow:0 2px 6px #0000000d;border-radius:12px;padding:20px}.react-calendar__navigation{margin-bottom:1rem}.react-calendar__tile{padding:.8em 0;font-size:15px;border-radius:8px;transition:background .2s ease}.react-calendar__tile:hover{background:#efefef}.react-calendar__tile--active{background:#333;color:#fff}.react-calendar__month-view__weekdays{text-align:center;font-weight:600;text-transform:uppercase;font-size:12px;color:#888;margin-bottom:10px}.calendar-widget p{margin-top:30px;color:#666;font-size:16px}.projects-title-row{display:flex;align-items:center;gap:.75rem}.projects-filters{display:inline-flex;border-radius:6px;overflow:hidden;background:var(--seg-bg);border:1px solid var(--seg-border)}.filter-tab{padding:4px 12px;font-size:.85rem;border:none;cursor:pointer;background:transparent;color:var(--seg-fg);transition:background .2s,color .2s}.filter-tab:hover{background:var(--seg-hover)}.filter-tab.active{background:var(--seg-active-bg);color:var(--seg-active-fg);font-weight:600;box-shadow:inset 0 -2px 0 var(--seg-accent)}:root{--seg-bg: #f2f2f2;--seg-border: #ddd;--seg-fg: #555;--seg-hover: #e6e6e6;--seg-active-bg: #fff;--seg-active-fg: #000;--seg-accent: #6200ee}[data-theme=dark]{--seg-bg: #2a2a2a;--seg-border: #444;--seg-fg: #aaa;--seg-hover: #3a3a3a;--seg-active-bg: #1a1a1a;--seg-active-fg: #fff;--seg-accent: #bb86fc}.project-header{padding:12px 0}.project-identity{display:flex;align-items:center;gap:12px;min-width:0}.avatar-sm{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:16px;background:var(--bg);color:var(--primary);border:1px solid var(--border);flex:0 0 auto;-webkit-user-select:none;user-select:none}.project-text{display:flex;flex-direction:column;justify-content:center;min-height:40px;min-width:0}.project-title{width:100%;border:none;outline:none;background:transparent;font-size:24px;line-height:1.1;font-weight:700;color:var(--text-1);margin:0;cursor:text;caret-color:var(--text-1);padding-right:28px;background-repeat:no-repeat;background-position:right 4px center;background-size:16px 16px;transition:text-decoration-color .12s ease,box-shadow .12s ease,color .12s ease,background-image .12s ease}:root{--pencil-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4 12.5-12.5z'/></svg>")}.project-title:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--text-2);color:var(--muted-2);background-image:var(--pencil-svg)}.project-title:focus{text-decoration:none;box-shadow:0 2px 0 0 var(--primary);color:var(--primary);background-image:var(--pencil-svg)}.project-title::placeholder{color:var(--placeholder);font-weight:400}.project-meta{margin-top:4px;font-size:14px;line-height:1.4;color:var(--muted-2)}.project-header,.project-identity,.project-text,.project-title,.project-meta{text-align:left}.project-identity{align-items:flex-start}.project-text{min-height:0}.project-title{margin-bottom:6px}.project-meta{margin-top:0;align-self:flex-start;padding-left:0}.chapters-panel{width:100%}.chapters-toolbar{display:flex;justify-content:flex-end;margin:8px 0 12px}.chapters-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.chapter-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.chapter-row:hover{background:var(--bg);border-color:var(--border)}.chapter-index{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--text-2);background:var(--bg);border:1px solid var(--border);-webkit-user-select:none;user-select:none}.chapter-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.chapter-title{font-size:16px;line-height:1.25;font-weight:700;color:var(--text-1);margin:0;display:flex;align-items:center;gap:8px}.chapter-title-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chapter-title-badges{display:flex;align-items:center;gap:4px;flex-shrink:0}.chapter-meta{margin-top:0;font-size:13px;line-height:1.3;color:var(--muted-2)}.chapters-actions{margin-top:12px;display:flex;justify-content:flex-end}.projects-error{margin:8px 0;padding:10px 12px;border-radius:8px;background:#dc262614;color:#991b1b;border:1px solid rgba(220,38,38,.28)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.primary:active{filter:brightness(.95)}.btn.primary:disabled{opacity:.6;cursor:not-allowed}.btn.subtle{background:var(--card);color:var(--text-1);border:1px solid var(--border)}.btn.subtle:hover{background:var(--bg)}.btn.subtle:active{filter:brightness(.98)}.btn.link{background:transparent;color:var(--primary);padding:0}.btn.link:hover{text-decoration:underline}.btn.danger{background:#ef4444;color:#fff;border:1px solid #ef4444}.btn.danger:hover{background:#dc2626;border-color:#dc2626}.btn.danger:active{background:#b91c1c;border-color:#b91c1c}.btn.danger:disabled{opacity:.6;cursor:not-allowed}.editor-toolbar .btn.subtle{padding:4px 6px;min-width:28px}.editor-toolbar .toolbar-select{padding:2px 6px;font-size:12px}.word-counter{font-variant-numeric:tabular-nums}html[data-theme=dark] .live-read .icon,html[data-theme=dark] .decorate-toolbar .icon,html[data-theme=dark] .live-read .icon-bg,html[data-theme=dark] .decorate-toolbar .icon-bg{filter:invert(1) brightness(1.3) contrast(1.05)}:root{--pt-bg: #ffffff;--pt-bg-muted: #f8fafc;--pt-fg: #0f172a;--pt-fg-muted: #64748b;--pt-border: #e5e7eb;--pt-border-strong: #60a5fa;--pt-primary: #3b82f6;--pt-shadow: 0 8px 24px rgba(0,0,0,.18)}@media (prefers-color-scheme: dark){:root{--pt-bg: #111827;--pt-bg-muted: #0b1220;--pt-fg: #e5e7eb;--pt-fg-muted: #9ca3af;--pt-border: #1f2937;--pt-border-strong: #2563eb;--pt-primary: #60a5fa;--pt-shadow: 0 16px 40px rgba(0,0,0,.45)}}.pt-select{position:relative;display:inline-block;font:inherit}.pt-trigger{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--pt-bg);color:var(--pt-fg);border:1px solid var(--pt-border);border-radius:10px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.pt-trigger:hover{border-color:var(--pt-border-strong)}.pt-trigger:focus{outline:none;border-color:var(--pt-border-strong);box-shadow:0 0 0 3px #60a5fa40}.pt-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.pt-caret{transition:transform .15s ease;fill:currentColor;opacity:.8}.pt-caret.open{transform:rotate(180deg)}.pt-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;width:420px;max-width:75vw;max-height:60vh;overflow:auto;background:var(--pt-bg);border:1px solid var(--pt-border);border-radius:12px;box-shadow:var(--pt-shadow)}.pt-menu-empty{padding:16px;color:var(--pt-fg-muted)}.pt-options{list-style:none;margin:0;padding:6px;display:grid;gap:6px}.pt-option{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;cursor:pointer;background:var(--pt-bg);border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.pt-option:hover{background:var(--pt-bg-muted);border-color:var(--pt-border)}.pt-option.is-selected{border-color:var(--pt-border-strong);background:#60a5fa14}.pt-option-title{font-weight:600;color:var(--pt-fg)}.pt-option-desc{margin-top:2px;color:var(--pt-fg-muted);font-size:12px}.pt-option-meta{margin-top:4px;color:var(--pt-fg-muted);font-size:12px}.pt-option-side{font-weight:700;color:var(--pt-primary);width:16px;text-align:right}.library-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:nowrap;max-width:900px;padding-right:0}.library-header-title-group{display:flex;align-items:center;gap:8px;flex:1 1 0%;min-width:0}.library-header-title-group .project-steps-buttons{display:flex;align-items:center;gap:10px;margin-left:8px}.steps-btn-group{display:flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--primary) 6%,var(--card));border:1.5px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:10px;padding:4px 6px}.library-header>.project-header{min-width:0}.library-header>.characters-panel-compact{flex:1 1 0%;min-width:0}.library-header-actions{flex:0 0 20%;min-width:0;display:flex;justify-content:flex-end;gap:8px}.projects{padding:12px}.chapter-row.is-static{cursor:default}.chapter-row.is-skeleton{opacity:.6;pointer-events:none}.chapter-row-actions{display:flex;gap:8px;align-items:center}.act-row{background:var(--bg);border-left:4px solid var(--primary)}.act-row .chapter-index{background:transparent;border-color:transparent;color:var(--muted-2)}.act-title{font-weight:800;letter-spacing:.2px;color:var(--text-1)}.act-meta{color:var(--muted-2)}.act-row:hover{background:var(--bg);border-color:var(--primary)}.chapter-row.is-child{margin-left:40px}.pt-select{font:inherit}.pt-trigger{background:var(--card);color:var(--text-1);border:1px solid var(--border);border-radius:10px}.pt-trigger:hover{border-color:var(--border);background:var(--bg)}.pt-trigger:focus{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 25%,transparent);border-color:var(--primary)}.pt-trigger-label{color:inherit}.pt-caret{fill:currentColor;opacity:.8}.pt-caret.open{transform:rotate(180deg);transition:transform .15s ease}.pt-popover{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 28px #0000002e}.pt-options{display:grid;gap:6px;padding:6px;margin:0;list-style:none}.pt-menu-empty{padding:16px;color:var(--muted-2)}.pt-option{background:var(--card);border:1px solid transparent;border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 12px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.pt-option:hover{background:var(--bg);border-color:var(--border)}.pt-option.is-selected{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 8%,transparent)}.pt-option-main{min-width:0}.pt-option-title{color:var(--text-1);font-weight:600}.pt-option-desc,.pt-option-meta{color:var(--muted-2);font-size:12px;margin-top:2px}.pt-option-side{color:var(--primary);font-weight:700;width:16px;text-align:right}.chapter-row[draggable=true]{cursor:grab}.chapter-row[draggable=true]:active{cursor:grabbing}.act-row.drop-over{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,transparent)}.chapter-row.drop-before{box-shadow:inset 0 3px 0 0 var(--primary)}.chapter-row.drop-after{box-shadow:inset 0 -3px 0 0 var(--primary)}.pt-trigger-left{display:inline-flex;align-items:center;gap:8px;min-width:0}.pt-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:700;line-height:1;border:1px solid var(--border);transition:opacity .18s ease,transform .18s ease}.pt-badge .icon{display:block}.pt-badge.success{color:var(--primary);background:color-mix(in oklab,var(--primary) 12%,transparent)}.chapter-row.is-collapsed{opacity:.9}.act-row .chapter-index{display:flex;align-items:center;justify-content:center}.act-toggle-index{display:inline-flex;align-items:center;justify-content:center;width:1.75em;height:1.75em;border:0;background:transparent;cursor:pointer;padding:0}.act-row .chevron{display:inline-block;width:1em}.library-header-actions{display:flex;align-items:center;gap:.5rem}.project-actions-menu{position:relative}.project-actions-menu .menu-dropdown{position:absolute;top:110%;right:0;min-width:140px;background:var(--menu-bg, #fff);border:1px solid var(--menu-border, #ddd);border-radius:6px;box-shadow:0 4px 10px #0000001a;z-index:100}.project-actions-menu .menu-item{display:block;width:100%;padding:6px 12px;text-align:left;background:transparent;border:none;cursor:pointer;font-size:.9rem;color:var(--menu-fg, #333)}.project-actions-menu .menu-item:hover{background:var(--menu-hover, #f5f5f5)}[data-theme=dark] .project-actions-menu .menu-dropdown{--menu-bg: #2a2a2a;--menu-border: #444;--menu-fg: #eee;--menu-hover: #3a3a3a}.chapters-list.read-only .chapter-row.is-locked{cursor:not-allowed}.chapters-list.read-only .chapter-row.is-locked .chapter-title{opacity:.75}.project-title.readonly{opacity:.85;cursor:not-allowed}.status-chip.archived{display:inline-block;padding:0 6px;border-radius:10px;font-size:.75rem;line-height:18px;background:#fff3cd;color:#856404;border:1px solid #ffe8a1}[data-theme=dark] .status-chip.archived{background:#3a3218;border-color:#5b4a1a;color:#f5e3a0}.archived-hint{margin-top:4px;font-size:.85rem;color:#6b7280}[data-theme=dark] .archived-hint{color:#9ca3af}.archive-banner{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#facc15;padding:8px 12px;border-radius:6px;margin-bottom:12px;font-size:.95rem;line-height:1.4}.archive-banner strong{font-weight:600}.chapter-row-wrap .row-kebab-anchor .menu-btn{margin-left:8px}.chapter-row-wrap:hover .row-kebab-anchor,.row-kebab-anchor{opacity:1}.chapter-row-wrap{position:relative;padding-right:calc(var(--kebab-lane, 36px) + var(--kebab-edge, 10px))}.project-content-row{display:flex;gap:16px;align-items:flex-start}.project-chapters-col{flex:0 1 900px;max-width:900px;min-width:0}.agent-panel-container{flex:0 0 420px;min-width:360px;max-width:480px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto}.agent-panel-container::-webkit-scrollbar{width:4px}.agent-panel-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.agent-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.agent-panel-title{font-size:14px;font-weight:700;color:var(--text-1);letter-spacing:.02em}.agent-panel-body{display:flex;flex-direction:column;gap:10px}@media (max-width: 900px){.project-content-row{flex-direction:column}.agent-panel-container{flex:none;width:100%;max-width:none;position:static;max-height:none}}.agent-panel-icons{display:flex;align-items:center;gap:6px}.project-steps-panel-container{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.project-steps-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 0 10px;border-bottom:1px solid var(--border);margin-bottom:10px}.project-steps-panel-title{font-size:14px;font-weight:700;color:var(--text-1)}.project-steps-panel-body{flex:1;overflow-y:auto;scrollbar-width:thin}.project-steps-panel-body::-webkit-scrollbar{width:4px}.project-steps-panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.project-results-loading{display:flex;align-items:center;gap:8px;padding:20px 0;color:var(--text-3);font-size:13px}.project-results-error{color:var(--danger, #ef4444);font-size:13px;padding:12px 0}.project-results-empty{color:var(--text-3);font-size:13px;padding:20px 0;text-align:center}.project-results-characters{display:flex;flex-direction:column;gap:6px}.project-char-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.project-char-card:hover,.project-char-card--open{border-color:var(--primary);background:#3b82f60a}.project-char-card-header{display:flex;align-items:center;gap:8px}.project-char-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;color:#fff;background:var(--primary)}.project-char-avatar.character-role-badge--main{background:var(--primary)}.project-char-avatar.character-role-badge--supporting{background:#8b5cf6}.project-char-avatar.character-role-badge--minor{background:#6b7280}.project-char-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.project-char-name{font-size:13px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-char-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3)}.project-char-role.character-role-badge--main{color:var(--primary)}.project-char-role.character-role-badge--supporting{color:#8b5cf6}.project-char-role.character-role-badge--minor{color:#6b7280}.project-char-chevron{flex-shrink:0;font-size:11px;color:var(--text-3)}.project-char-details{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:var(--text-2);display:flex;flex-direction:column;gap:4px}.project-char-desc{margin:0 0 4px;line-height:1.5}.project-char-row{display:flex;gap:4px}.project-char-label{font-weight:600;color:var(--text-3);flex-shrink:0}.project-results-plot{display:flex;flex-direction:column;gap:0}.project-results-plot-body{padding-top:8px}.split-widget{padding:10px;background-color:var(--bg);color:var(--text-1);min-height:100%;font-family:Inter,sans-serif}.split-widget h1{font-size:1rem;font-weight:500;color:var(--muted-3);margin-bottom:14px;letter-spacing:.5px}.error{color:#ef4444;font-weight:600}.select-btn{position:absolute;bottom:8px;left:8px;right:8px;font-size:.7rem;background:var(--primary);color:#fff;border:none;border-radius:6px;padding:4px 6px;cursor:pointer;transition:background .2s ease;z-index:2}.select-btn:hover{background:var(--primary-hover)}.video-tile.selected:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--primary) 22%,transparent);animation:selectPulse .4s ease-out;border-radius:18px;z-index:1}@keyframes selectPulse{0%{background:color-mix(in srgb,var(--primary) 0%,transparent)}to{background:color-mix(in srgb,var(--primary) 22%,transparent)}}.meta-badge{position:absolute;bottom:44px;left:8px;right:8px;display:flex;align-items:center;gap:6px;justify-content:center;z-index:2}.meta-pill{font-size:.68rem;color:#f8f7fb;background:#0e0c168c;border:1px solid rgba(255,255,255,.18);padding:2px 6px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.meta-dot{color:#e9e4f4;opacity:.9}.selected-video-info{margin-top:16px;font-size:.9rem;color:var(--muted-2)}.chunked-hint{display:inline-block;margin-left:6px;padding:2px 6px;font-size:.75rem;background-color:#28a745;color:#fff;border-radius:4px;vertical-align:middle}.chunked-hint--top{position:absolute;top:8px;left:8px;z-index:2;padding:3px 8px;font-size:12px;line-height:1;color:#fff;background:#000000bf;border-radius:10px;pointer-events:none}.split-layout{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}.original-panel{display:flex;flex-direction:column;gap:10px}.video-tile--large{width:240px;height:440px;border-radius:18px;position:relative;background:#000;overflow:hidden;box-shadow:0 8px 22px #0000002e}.video-tile--large video{width:100%;height:100%;object-fit:cover}.meta-badge--large{bottom:56px}.meta-badge--large .meta-pill{font-size:.76rem;padding:3px 8px}.split-actions{margin-top:8px;display:flex;align-items:center;gap:12px}.split-btn{background:var(--primary);color:#fff;border:none;border-radius:10px;padding:8px 14px;font-size:.9rem;cursor:pointer;transition:background .2s ease}.split-btn:hover{background:var(--primary-hover)}.split-btn:disabled{opacity:.6;cursor:not-allowed}.split-msg{font-size:.9rem;color:var(--muted-2)}@media (max-width: 900px){.split-layout{grid-template-columns:1fr}.video-tile--large{width:100%;max-width:320px;height:520px}}.split-widget{--selected-h: 440px}.video-tile--large{height:var(--selected-h)}.split-layout{gap:24px}.profile-page{--pf-bg: var(--bg);--pf-card: var(--card);--pf-border: var(--border);--pf-text-1: var(--text-1);--pf-text-2: var(--text-2);--pf-muted: var(--muted-2);--pf-primary: var(--primary);--pf-primary-700: var(--primary-hover);--pf-ring: var(--ring);--pf-input-bg: var(--input-bg);--pf-input-text: var(--input-text);--pf-input-border: var(--input-border);--pf-placeholder: var(--placeholder);--pf-shadow: 0 8px 24px rgba(0, 0, 0, .08);--pf-row-divider: var(--border);--pf-success-text: #059669;--pf-success-bg: rgba(5, 150, 105, .12);--pf-success-border: rgba(5, 150, 105, .35);--pf-warn-text: #9a6700;--pf-warn-bg: rgba(245, 158, 11, .12);--pf-warn-border: rgba(245, 158, 11, .35);--pf-error-text: #b91c1c;--pf-error-bg: rgba(220, 38, 38, .12);--pf-error-border: rgba(220, 38, 38, .35);--pf-danger: #dc2626;--pf-dark: #374151;--pf-green: #059669;--pf-yellow: #f59e0b}.profile-page{min-height:100vh;display:flex;flex-direction:column;background:var(--pf-bg)}.profile-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:28px 18px;box-sizing:border-box}.pf-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.pf-header h1{margin:0;font-size:22px;line-height:1.2;color:var(--pf-text-1);font-weight:800}.pf-save{font-size:13px;font-weight:600;padding:6px 10px;border-radius:999px;border:1px solid transparent}.profile-card{background:var(--pf-card);border:1px solid var(--pf-border);border-radius:14px;padding:14px;box-shadow:var(--pf-shadow)}.pf-row{display:flex;align-items:center;gap:14px;padding:10px 6px}.pf-row+.pf-row{border-top:1px dashed var(--pf-row-divider)}.pf-label{width:140px;min-width:120px;color:var(--pf-text-2);font-weight:700}.pf-input,.profile-card input,.profile-card select,.profile-card textarea{flex:1;height:40px;padding:8px 12px;border-radius:10px;border:1px solid var(--pf-input-border);outline:none;color:var(--pf-input-text);background:var(--pf-input-bg);transition:box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.pf-input::placeholder,.profile-card input::placeholder,.profile-card textarea::placeholder{color:var(--pf-placeholder)}.pf-input:focus,.profile-card input:focus,.profile-card select:focus,.profile-card textarea:focus{border-color:var(--pf-primary);box-shadow:0 0 0 3px var(--pf-ring)}.pf-error{margin-top:10px;color:var(--pf-error-text);font-weight:600}.pf-bottom-actions{display:flex;justify-content:space-between;align-items:center;margin:16px 0 0;gap:12px}.pf-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;padding:10px 14px;font-size:15px;font-weight:700;cursor:pointer;color:#fff;transition:transform .06s ease,opacity .15s ease,background .2s ease}.pf-btn:hover{transform:translateY(1px)}.pf-btn.dark{background:var(--pf-dark)}.pf-btn.dark:hover{background:#1f2937}.pf-btn.danger{background:var(--pf-danger)}.pf-btn.danger:hover{background:#b91c1c}@media (max-width: 540px){.pf-row{flex-direction:column;align-items:stretch}.pf-label{width:auto}}.pf-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--pf-border);color:var(--pf-text-2);font-weight:700;padding:6px 10px;border-radius:10px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,transform .06s ease}.pf-back:hover{color:var(--pf-primary);border-color:var(--pf-primary);background:color-mix(in oklab,var(--pf-primary) 10%,transparent);transform:translateY(1px)}.pf-back:focus-visible{outline:2px solid var(--pf-ring);outline-offset:2px}.pf-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.pf-title{display:inline-flex;align-items:baseline;gap:10px}.pf-save-slot{display:inline-flex;align-items:center;justify-content:flex-start;width:110px;height:28px}.pf-save{font-size:13px;font-weight:600;padding:6px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap;transition:opacity .15s ease,transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.pf-save.is-hidden{visibility:hidden}.pf-save.saving{color:var(--pf-warn-text);background:var(--pf-warn-bg);border-color:var(--pf-warn-border)}.pf-save.saved{color:var(--pf-success-text);background:var(--pf-success-bg);border-color:var(--pf-success-border)}.pf-save.error{color:var(--pf-error-text);background:var(--pf-error-bg);border-color:var(--pf-error-border)}.chunks-panel{height:var(--selected-h);display:flex;flex-direction:column;gap:12px;overflow-y:hidden}.chunks-rail{flex:1;display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;padding:6px 4px 10px;scroll-snap-type:x proximity;align-items:flex-start}.chunks-rail::-webkit-scrollbar{height:8px}.chunks-rail::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}:root{--chunk-footer: 56px}.chunk-card{flex:0 0 auto;height:var(--selected-h);width:calc(var(--selected-h) * 9 / 16);display:flex;flex-direction:column;scroll-snap-align:start}.chunk-media{position:relative;height:calc(100% - var(--chunk-footer));border-radius:16px;overflow:hidden;background:#111;box-shadow:0 6px 16px #00000026}.chunk-media video{width:100%;height:100%;object-fit:cover;display:block}.chunk-label{position:absolute;top:10px;left:10px;z-index:2;background:#000000bf;color:#fff;font-size:12px;padding:4px 8px;border-radius:10px}.chunk-actions{height:var(--chunk-footer);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;background:#e9eef6;border-radius:12px}.chunk-actions .delete-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;padding:8px 12px;background:#ef4444;color:#fff;font-weight:600;cursor:pointer}.chunk-actions .delete-btn:hover{background:#dc2626}.chunk-actions .decorate-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;padding:8px 12px;background:#6a0dad;color:#fff;font-weight:600;cursor:pointer}.chunk-actions .decorate-btn:hover{background:#5a0bb0}@media (max-width: 900px){.split-layout{gap:16px}.chunk-card{width:180px;height:calc(180px * 16 / 9 + var(--chunk-footer))}.chunks-panel{height:auto}}.video-grid{display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;padding:8px 4px 12px;scroll-snap-type:x proximity}.video-grid::-webkit-scrollbar{height:8px}.video-grid::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.video-grid .video-tile{flex:0 0 150px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px #00000026;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;scroll-snap-align:start}.video-grid .video-tile:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000002e}.video-grid .video-frame{position:relative;background:#000;overflow:hidden;aspect-ratio:9 / 16;width:100%}.video-grid .video-frame video{width:100%;height:100%;object-fit:cover;display:block}.video-grid .chunked-hint--top{position:absolute;top:8px;left:8px;z-index:2;padding:6px 10px;font-size:12px;line-height:1;color:#fff;background:#111827d9;border:1px solid rgba(255,255,255,.18);border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.video-grid .video-caption{height:32px;display:flex;align-items:center;padding:0 10px;font-size:12px;color:#374151;background:#f9fafb;border-top:1px solid #e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-grid .meta-badge{position:absolute;bottom:8px;left:8px;right:auto;display:flex;gap:6px;align-items:center;z-index:2}.video-grid .meta-pill{font-size:.68rem;color:#f8f7fb;background:#0e0c168c;border:1px solid rgba(255,255,255,.18);padding:2px 6px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.video-grid .meta-dot{color:#e9e4f4;opacity:.9}.video-footer{height:48px;padding:8px;display:flex;justify-content:center;gap:8px;background:#f5f6fa;border-top:1px solid #dce0e6}.video-footer .vg-btn{all:unset;display:inline-block;width:100%;box-sizing:border-box;padding:6px 8px;font-size:.75rem;font-weight:600;text-align:center;border-radius:8px;cursor:pointer;line-height:1.2;-webkit-user-select:none;user-select:none}.video-footer .vg-see-chunks-btn{background:#2563eb;color:#fff}.video-footer .vg-see-chunks-btn:hover{background:#1d4ed8}.video-footer .vg-select-btn{background:#6a0dad;color:#fff}.video-footer .vg-select-btn:hover{background:#5a0bb0}.video-strip{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding:8px 4px 12px}.video-strip::-webkit-scrollbar{height:8px}.video-strip::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.video-strip .strip-tile{flex:0 0 auto;width:200px;border-radius:12px;overflow:hidden;background:#000;position:relative;display:flex;flex-direction:column}.video-strip .strip-tile:hover{box-shadow:0 2px 8px #0000000f}.video-strip .strip-thumb{position:relative;width:100%;padding-top:56.25%}.video-strip .strip-thumb video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.video-strip .strip-name,.video-strip .strip-meta{font-size:12px;padding:4px 6px;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-strip .strip-meta{opacity:.7}.video-strip .strip-select-btn{margin:4px 6px 8px;padding:6px 10px;background:#6a0dad;color:#fff;border:none;border-radius:8px;font-size:12px;cursor:pointer;transition:background .2s ease}.video-strip .strip-select-btn:hover{background:#5a0bb0}.vpe-container{display:grid;gap:12px;width:100%;margin:0 auto}.vpe-videoWrap{position:relative}.vpe-video{width:100%;border-radius:8px;display:block;background:#000}.vpe-controls{display:flex;align-items:center;gap:12px;margin-top:8px;-webkit-user-select:none;user-select:none}.vpe-button{padding:6px 12px;border-radius:6px;border:1px solid #e2e2e2;cursor:pointer;background:#fafafa}.vpe-time{font-variant-numeric:tabular-nums;opacity:.8}.vpe-progress{position:absolute;top:0;bottom:0;left:0;background:#0003}.vpe-hoverTick{position:absolute;top:0;bottom:0;width:2px;background:#00000059;transform:translate(-1px)}.vpe-pin{position:absolute;top:-4px;transform:translate(-50%);font-size:12px;-webkit-user-select:none;user-select:none;pointer-events:none}.vpe-pinList{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:4px}.vpe-empty{opacity:.7;padding:8px 0}.vpe-pinCard{border:1px solid #eee;border-radius:8px;padding:10px;display:grid;gap:8px;background:#fff}.vpe-pinCardHeader{font-weight:600}.vpe-thumb{width:100%;border-radius:6px;display:block}.vpe-pending{font-style:italic;opacity:.8}.vpe-error{color:#b00020}.vpe-videoWrap{width:100%;max-width:800px;margin:0 auto}.vpe-video{width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:8px}.vpe-layout{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}.vpe-side{display:flex;flex-direction:column;gap:12px}.vpe-sideTitle{margin:0;font-size:14px;font-weight:600}.vpe-transcript{width:100%;height:260px;resize:vertical;padding:10px;border:1px solid #e2e2e2;border-radius:8px;font:inherit;line-height:1.4}.vpe-segInfo{font-size:12px;opacity:.75}.vpe-main{display:flex;flex-direction:column;gap:10px}.vpe-videoFrame{width:100%;max-height:70vh}.vpe-videoCrop{width:100%;height:min(70vh,55vw);border-radius:10px;overflow:hidden;background:#000}.vpe-video{width:100%;height:100%;object-fit:cover;display:block}.vpe-controls{display:flex;align-items:center;gap:12px;-webkit-user-select:none;user-select:none}.vpe-track{position:relative;height:12px;border-radius:6px;background:#00000014;overflow:hidden;cursor:pointer}.vpe-progress{position:absolute;inset:0 auto 0 0;width:0;background:#0003}.vpe-pin{position:absolute;top:-4px;transform:translate(-50%);font-size:12px;-webkit-user-select:none;user-select:none;pointer-events:auto}@media (max-width: 900px){.vpe-layout{grid-template-columns:1fr}.vpe-videoCrop{height:48vh}}.vpe-lockedSeg{position:absolute;top:0;height:100%;background:#6a0dad40;border:1px solid rgba(106,13,173,.45);pointer-events:none;border-radius:6px}.vpe-track{position:relative}.vpe-segment{position:absolute;top:0;height:100%;background:#6a0dad40;border:1px solid rgba(106,13,173,.45);border-radius:6px;cursor:pointer;z-index:1}.vpe-segment.active{background:#dc262647;border-color:#dc262699}.vpe-pin{position:absolute;top:-6px;transform:translate(-50%);z-index:2;cursor:pointer;-webkit-user-select:none;user-select:none}.vpe-pin span{font-size:16px;pointer-events:none}.vpe-progress{position:absolute;top:0;left:0;height:100%;background:#00000026;z-index:0}.vpe-hoverTick{position:absolute;top:0;bottom:0;width:2px;background:#00000059;transform:translate(-1px);z-index:2}.vpe-hint{margin-left:12px;font-size:12px;color:#6b7280}.agent-logs{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin:12px 0 0;box-shadow:inset 0 1px 2px #00000026;overflow:hidden;transition:all .3s ease;font-family:SF Mono,Monaco,Menlo,Consolas,Courier New,monospace}.agent-logs.collapsed{max-height:38px}.agent-logs.expanded{max-height:280px}.agent-logs-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.agent-logs-header:hover{background:color-mix(in srgb,var(--card) 70%,var(--bg))}.agent-logs-title{display:flex;align-items:center;gap:8px;font-weight:500;font-size:12px;color:var(--muted-1);text-transform:uppercase;letter-spacing:.5px}.logs-icon{font-size:14px}.logs-count{font-size:10px;color:var(--muted-3);font-weight:400;background:var(--border);padding:2px 6px;border-radius:10px}.agent-logs-controls{display:flex;align-items:center;gap:6px}.auto-scroll-btn,.clear-logs-btn{background:var(--card);border:1px solid var(--border);color:var(--muted-1);padding:2px 6px;border-radius:3px;cursor:pointer;font-size:11px;transition:all .2s}.auto-scroll-btn:hover,.clear-logs-btn:hover{background:var(--border);border-color:var(--muted-3);color:var(--text-3)}.auto-scroll-btn.active{background:#238636;border-color:#238636;color:#fff}.expand-icon{color:var(--muted-1);font-size:10px;margin-left:4px}.agent-logs-content{max-height:242px;overflow-y:auto;background:var(--bg);padding:4px 0}.logs-empty{padding:16px;text-align:center;color:var(--muted-3);font-style:italic;font-size:11px}.logs-list{padding:0}.log-entry{display:flex;align-items:flex-start;gap:8px;padding:3px 12px;margin:0;font-size:11px;line-height:1.5;border-left:2px solid transparent;transition:background .1s}.log-entry:hover{background:var(--card)}.log-timestamp{color:var(--muted-3);font-size:10px;white-space:nowrap;flex-shrink:0;font-weight:400}.log-level-icon{flex-shrink:0;font-size:10px;width:12px;text-align:center}.log-message{color:var(--text-3);flex:1;word-break:break-word;font-weight:400}.log-progress{border-left-color:#58a6ff;background:#58a6ff08}.log-progress .log-level-icon{color:#58a6ff}.log-progress .log-message{color:var(--text-3)}.log-info{border-left-color:#56d364}.log-info .log-level-icon{color:#56d364}.log-info .log-message{color:var(--text-3)}.log-error{border-left-color:#f85149;background:#f851490d}.log-error .log-level-icon,.log-error .log-message{color:#f85149}.agent-logs-content::-webkit-scrollbar{width:8px}.agent-logs-content::-webkit-scrollbar-track{background:var(--bg)}.agent-logs-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.agent-logs-content::-webkit-scrollbar-thumb:hover{background:var(--muted-3)}.step-results-modal{display:flex;flex-direction:column;max-height:80vh}.step-results-modal-header{padding:24px 40px 16px 24px;border-bottom:1px solid var(--border, #e5e7eb)}.step-results-modal-title{margin:0;font-size:20px;font-weight:600;color:var(--text-1, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-results-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.step-results-modal-footer{padding:12px 24px;border-top:1px solid var(--border, #e5e7eb);display:flex;justify-content:flex-end}.step-results-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg, #fff);border:1px solid var(--border, #e5e7eb);border-radius:6px;padding:8px 20px;font-size:14px;cursor:pointer;color:var(--text-1, #111827);transition:background .15s,border-color .15s}.step-results-modal-close:hover{background:var(--bg-2, #f3f4f6);border-color:var(--primary, #3b82f6)}.step-results-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:var(--text-3, #9ca3af)}.step-results-error{padding:16px;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#dc2626;font-size:14px}.step-results-error p{margin:0}.step-results-empty-state{text-align:center;padding:40px 16px;color:var(--text-3, #9ca3af)}.step-results-empty-hint{font-size:13px;opacity:.8}.step-results-empty{color:var(--text-3, #9ca3af);font-style:italic;padding:8px 0}.step-results-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.step-results-list--holes{flex-direction:row;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;width:100%;box-sizing:border-box}.step-result-card--hole{min-width:240px;max-width:420px;flex:1 1 240px;box-sizing:border-box;word-break:break-word}.step-result-card{border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:16px;background:var(--bg, #fff);transition:box-shadow .15s}.step-result-card:hover{box-shadow:0 2px 12px #0000000f}.step-result-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.step-result-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.3px}.step-result-badge--tell{background:#f59e0b1f;color:#b45309}.step-result-badge--rush{background:#ef44441a;color:#dc2626}.step-result-badge--drag{background:#3b82f61a;color:#2563eb}.step-result-badge--hook{background:#10b9811a;color:#059669}.step-result-badge--tension{background:#8b5cf61a;color:#7c3aed}.step-result-severity{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.step-result-severity--high{background:#ef44441a;color:#dc2626}.step-result-severity--medium{background:#f59e0b1a;color:#b45309}.step-result-severity--low{background:#22c55e1a;color:#16a34a}.step-result-rating{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:capitalize}.step-result-rating--strong{background:#22c55e1a;color:#16a34a}.step-result-rating--good,.step-result-rating--okay{background:#3b82f61a;color:#2563eb}.step-result-rating--weak{background:#f59e0b1a;color:#b45309}.step-result-rating--missing{background:#ef44441a;color:#dc2626}.step-result-quote{margin:8px 0;padding:10px 14px;border-left:3px solid var(--primary, #3b82f6);background:#3b82f60a;border-radius:0 6px 6px 0;font-size:13.5px;line-height:1.6;color:var(--text-2, #374151);font-style:italic}.step-result-explanation,.step-result-section{margin:6px 0;font-size:14px;line-height:1.55;color:var(--text-2, #374151)}.step-result-suggestion{margin-top:8px;padding:10px 14px;background:#10b9810f;border:1px solid rgba(16,185,129,.18);border-radius:6px;font-size:13.5px;line-height:1.55;color:var(--text-2, #374151)}.step-result-suggestion-label{font-weight:600;color:#059669}.step-results-raw{background:var(--bg-2, #f3f4f6);border-radius:8px;padding:16px;font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--text-2, #374151)}.step-result-card-header-right{display:flex;align-items:center;gap:6px;margin-left:auto}.step-result-card--resolved{opacity:.65}.step-result-text--resolved{text-decoration:line-through}.step-result-status-btn{cursor:pointer;background:transparent;border:1px solid var(--border, #444);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;color:var(--text-2, #888);transition:all .15s}.step-result-status-btn:hover,.step-result-status-btn--solved{border-color:#22c55e;color:#22c55e}.step-result-status--verified{display:inline-block;background:#1665344d;color:#4ade80;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700}.scenes-modal{display:flex;flex-direction:column;max-height:80vh}.scenes-modal-header{padding:24px 40px 16px 24px;border-bottom:1px solid var(--border, #e5e7eb);overflow:visible}.scenes-modal-header-row{display:flex;align-items:center;justify-content:flex-start;gap:8px}.scenes-modal-title{margin:0;font-size:20px;font-weight:600;color:var(--text-1, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scenes-modal-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#94a3b8;position:relative;flex-shrink:0}.scenes-modal-meta-item{display:flex;align-items:center;gap:6px;position:relative;font-size:14px}.scenes-modal-reload-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:6px;padding:6px 8px;cursor:pointer;color:var(--primary, #6366f1);display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:32px;min-height:28px}.scenes-modal-reload-btn:hover:not(:disabled){background:#6366f133;border-color:#6366f180}.scenes-modal-reload-btn:disabled{opacity:.5;cursor:not-allowed}.scenes-modal-reload-btn.regenerating{border-color:#9b5de599;background:#9b5de51a;animation:reload-btn-glow 1.5s ease-in-out infinite}@keyframes reload-btn-glow{0%,to{box-shadow:0 0 8px #9b5de566}50%{box-shadow:0 0 16px #9b5de5b3}}.scenes-modal-regenerating{color:#9b5de5;font-weight:600}.scenes-modal-controls{display:flex;gap:12px;align-items:center}.scenes-regenerate-btn{padding:8px 16px;background:var(--primary, #6366f1);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.scenes-regenerate-btn:hover:not(:disabled){background:var(--primary-hover, #4f46e5)}.scenes-regenerate-btn:disabled{opacity:.5;cursor:not-allowed}.scenes-modal-body{flex:1;overflow-y:auto;padding:24px}.scenes-loading,.scenes-error,.scenes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#6b7280}.scenes-loading .spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.scenes-error{color:#dc2626}.scenes-empty-hint{margin-top:8px;font-size:14px;color:#9ca3af}.scenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.scene-tile{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease}.scene-tile:hover{background:#f3f4f6;border-color:#d1d5db;box-shadow:0 2px 8px #00000014}.scene-tile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.scene-number{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.scene-time{font-size:12px;color:#9ca3af;background:#e5e7eb;padding:2px 8px;border-radius:4px}.scene-title{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827;line-height:1.4}.scene-description{margin:0 0 12px;font-size:14px;line-height:1.6;color:#374151}.scene-location{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;color:#6b7280}.scene-location-icon{font-size:14px}.scene-characters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px}.scene-characters-label{font-weight:600;color:#6b7280}.scene-characters-list{color:#374151}.scenes-modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.scenes-modal-close{padding:10px 24px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.scenes-modal-close:hover{background:#e5e7eb;border-color:#9ca3af}.scenes-modal-close:active{transform:scale(.98)}.step-results-scroll{display:flex;flex-direction:column;width:var(--coach-w);min-width:300px;max-width:420px;border-left:1px solid var(--border, #e5e7eb);background:var(--panel, var(--card));height:var(--coach-panel-height);max-height:100vh}.step-results-side-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin}.step-results-side-panel::-webkit-scrollbar{width:4px}.step-results-side-panel::-webkit-scrollbar-thumb{background:var(--border, #2e2e3e);border-radius:4px}.step-results-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border, #e5e7eb);position:sticky;top:0;background:inherit;z-index:1}.step-results-panel-title{font-weight:700;font-size:14px;color:var(--text-1)}.step-results-panel-body{flex:1;padding:12px;overflow-y:auto}.scenes-avatar-btn--active{border-color:var(--primary);background:#3b82f614;box-shadow:0 0 0 2px #3b82f633}.scenes-avatar-btn--active .scenes-avatar-icon,.scenes-avatar-btn--active .scenes-avatar-hint{color:var(--primary)}.step-panel-list{display:flex;flex-direction:column;gap:10px}.step-panel-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.step-panel-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.step-panel-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.step-panel-badge--tell{background:#ef44441f;color:#ef4444}.step-panel-badge--rush{background:#f59e0b1f;color:#f59e0b}.step-panel-badge--drag{background:#3b82f61f;color:#3b82f6}.step-panel-badge--hook{background:#10b9811f;color:#10b981}.step-panel-badge--tension{background:#f59e0b1f;color:#f59e0b}.step-panel-badge--scene{background:#8b5cf61f;color:#8b5cf6}.step-panel-badge--generic{background:#6b72801f;color:#6b7280}.step-panel-severity{font-size:10px;font-weight:600;text-transform:uppercase;padding:1px 6px;border-radius:3px}.step-panel-severity--critical{background:#ef44441f;color:#ef4444}.step-panel-severity--high{background:#f59e0b1f;color:#f59e0b}.step-panel-severity--medium{background:#3b82f61f;color:#3b82f6}.step-panel-severity--low{background:#6b72801f;color:#6b7280}.step-panel-rating{font-size:10px;font-weight:600;text-transform:uppercase;padding:1px 6px;border-radius:3px}.step-panel-rating--strong{background:#10b9811f;color:#10b981}.step-panel-rating--adequate{background:#f59e0b1f;color:#f59e0b}.step-panel-rating--weak{background:#ef44441f;color:#ef4444}.step-panel-quote{margin:6px 0;padding:6px 10px;border-left:3px solid var(--border);background:#00000008;font-style:italic;font-size:12px;color:var(--text-2);line-height:1.5;border-radius:0 4px 4px 0}.step-panel-explanation{font-size:13px;color:var(--text-2);line-height:1.5;margin:4px 0}.step-panel-suggestion{font-size:12px;color:var(--text-3);margin-top:6px;padding:6px 8px;background:#3b82f60d;border-radius:4px;line-height:1.4}.step-panel-meta{font-size:12px;color:var(--text-3);margin:2px 0}.step-panel-section-title{font-size:13px;font-weight:700;color:var(--text-1);margin:8px 0 6px;text-transform:uppercase;letter-spacing:.5px}.step-panel-scene-title{font-size:13px;font-weight:600;color:var(--text-1);margin:2px 0 4px}.step-panel-summary{font-size:12px;color:var(--text-3);font-style:italic;margin-top:8px}.step-panel-empty{font-size:13px;color:var(--text-3);font-style:italic}.step-panel-empty-state{text-align:center;padding:24px 12px;color:var(--text-3)}.step-panel-empty-hint{font-size:12px;color:var(--muted-3);margin-top:4px}.step-panel-raw{font-size:11px;white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow-x:auto}@media (max-width: 900px){.step-results-scroll{min-width:260px;max-width:340px}}.step-panel-card-header-right{display:flex;align-items:center;gap:6px;margin-left:auto}.step-panel-card--resolved{opacity:.65}.step-panel-text--resolved{text-decoration:line-through}.step-panel-status-btn{cursor:pointer;background:transparent;border:1px solid var(--border, #444);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;color:var(--text-2, #888);transition:all .15s}.step-panel-status-btn:hover,.step-panel-status-btn--solved{border-color:#22c55e;color:#22c55e}.step-panel-status--verified{display:inline-block;background:#1665344d;color:#4ade80;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700}.login-page *{box-sizing:border-box;margin:0;padding:0}.login-wrapper{--lg-bg: var(--bg);--lg-card: var(--card);--lg-border: var(--border);--lg-text-1: var(--text-1);--lg-text-2: var(--text-2);--lg-input-bg: var(--input-bg);--lg-input-text: var(--input-text);--lg-input-border: var(--input-border);--lg-placeholder: var(--placeholder);--lg-accent: var(--primary, #6a0dad);--lg-accent-hover: var(--primary-hover, #580b9e);--lg-ring: var(--ring, rgba(106,13,173,.25));--lg-shadow: 0 8px 20px rgba(0, 0, 0, .08);--lg-bg-gradient: linear-gradient( 135deg, color-mix(in oklab, var(--lg-bg) 92%, transparent), var(--lg-card) )}.login-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--lg-bg-gradient)}.login-form{width:100%;max-width:400px;padding:40px;background-color:var(--lg-card);color:var(--lg-text-1);border:1px solid var(--lg-border);border-radius:12px;box-shadow:var(--lg-shadow);text-align:center}.login-form h2{font-size:24px;margin-bottom:8px;color:var(--lg-text-1)}.login-form .subtitle{font-size:14px;color:var(--lg-text-2);margin-bottom:24px}.login-form input{width:100%;padding:12px;margin-bottom:18px;border:1px solid var(--lg-input-border);border-radius:6px;font-size:15px;background:var(--lg-input-bg);color:var(--lg-input-text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.login-form input::placeholder{color:var(--lg-placeholder)}.login-form input:focus{outline:none;border-color:var(--lg-accent);box-shadow:0 0 0 3px var(--lg-ring)}.login-form button{width:100%;padding:12px;background-color:var(--lg-accent);border:none;border-radius:6px;font-size:16px;color:#fff;cursor:pointer;transition:background-color .2s ease,transform .06s ease}.login-form button:hover{background-color:var(--lg-accent-hover);transform:translateY(1px)}.login-form button:focus-visible{outline:2px solid var(--lg-ring);outline-offset:2px}.login-form .footer-text{font-size:13px;margin-top:16px;color:var(--lg-text-2)}@media (max-width: 480px){.login-form{padding:30px 20px}}.recover-wrapper{--rp-bg: var(--bg);--rp-card: var(--card);--rp-border: var(--border);--rp-text-1: var(--text-1);--rp-text-2: var(--text-2);--rp-input-bg: var(--input-bg);--rp-input-text: var(--input-text);--rp-input-border: var(--input-border);--rp-placeholder: var(--placeholder);--rp-primary: var(--primary);--rp-primary-hover: var(--primary-hover);--rp-ring: var(--ring);--rp-shadow: 0 8px 20px rgba(0, 0, 0, .06);--rp-bg-gradient: linear-gradient( 135deg, color-mix(in oklab, var(--rp-bg) 95%, transparent), var(--rp-card) );--rp-success-hsl: 161 94% 32%;--rp-error-hsl: 0 63% 45%;--rp-success-text: hsl(var(--rp-success-hsl));--rp-success-bg: color-mix(in oklab, hsl(var(--rp-success-hsl)) 14%, transparent);--rp-success-border: color-mix(in oklab, hsl(var(--rp-success-hsl)) 35%, transparent);--rp-error-text: hsl(var(--rp-error-hsl));--rp-error-bg: color-mix(in oklab, hsl(var(--rp-error-hsl)) 14%, transparent);--rp-error-border: color-mix(in oklab, hsl(var(--rp-error-hsl)) 35%, transparent)}.login-page{display:flex;flex-direction:column;min-height:100vh}.recover-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:var(--rp-bg-gradient)}.recover-form{width:100%;max-width:420px;background:var(--rp-card);border:1px solid var(--rp-border);border-radius:12px;box-shadow:var(--rp-shadow);padding:28px;box-sizing:border-box;text-align:center;color:var(--rp-text-1)}.recover-form h2{margin:0 0 6px;color:var(--rp-text-1);font-size:24px}.recover-form .subtitle{margin:0 0 18px;color:var(--rp-text-2);font-size:14px}.recover-form input{width:100%;padding:12px;margin:10px 0 14px;border:1px solid var(--rp-input-border);border-radius:8px;font-size:14px;box-sizing:border-box;background:var(--rp-input-bg);color:var(--rp-input-text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.recover-form input::placeholder{color:var(--rp-placeholder)}.recover-form input:focus{outline:none;border-color:var(--rp-primary);box-shadow:0 0 0 3px var(--rp-ring)}.recover-form button{width:100%;padding:12px 16px;background:var(--rp-primary);color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer;transition:background .2s ease,transform .06s ease}.recover-form button:hover{background:var(--rp-primary-hover);transform:translateY(1px)}.recover-form button:focus-visible{outline:2px solid var(--rp-ring);outline-offset:2px}.recover-form .success{color:var(--rp-success-text);background:var(--rp-success-bg);border:1px solid var(--rp-success-border);border-radius:8px;padding:8px 10px;font-size:14px;margin-top:12px}.recover-form .error{color:var(--rp-error-text);background:var(--rp-error-bg);border:1px solid var(--rp-error-border);border-radius:8px;padding:8px 10px;font-size:14px;margin-top:12px}.footer-link{margin-top:12px;text-align:center}.footer-link a{color:var(--rp-primary);text-decoration:none}.footer-link a:hover{text-decoration:underline}@media (max-width: 480px){.recover-wrapper{padding:24px}.recover-form{padding:24px 20px}}
