: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}}.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:220px;box-sizing:border-box;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}.menu-home-link{margin-top:8px;border-top:1px solid var(--border);background:var(--card)}.menu-home-link:hover{background:var(--bg)}.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-wrap:wrap;gap:6px}.agent-chip{padding:4px 8px;border-radius:999px;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}.agent-chip.active{background:color-mix(in srgb,var(--primary) 16%,var(--card));border-color:var(--primary);color:var(--text-1);opacity:1}.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}}.projects{max-width:1000px;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)}.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{font-weight:600;color:var(--text-1);line-height:1.2}.chapter-meta{font-size:12px;color:var(--muted-3);margin-top:2px}.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)}.editor-toolbar{display:flex;gap:8px;align-items:center;margin:10px 0}.chapter-meta-row{display:flex;align-items:center;gap:12px}.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{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{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}@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{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}.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}.chapter-title{font-size:16px;line-height:1.25;font-weight:700;color:var(--text-1);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-meta{margin-top:2px;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;min-width:240px;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:space-between;gap:12px;flex-wrap:wrap}.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))}.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}.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-height:92vh;overflow:auto;background:#0f172a;color:#e5e7eb;border-radius:12px;border:1px solid rgba(255,255,255,.08);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}.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-track{position:relative;height:12px;border-radius:6px;background:#00000014;overflow:hidden;cursor:pointer}.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}.vp-modal-body{display:flex;flex-direction:column;align-items:center;gap:16px;color:inherit}.vp-modal-body .vpe-videoWrap{width:100%;max-width:800px;margin:0 auto}.vp-modal-body .vpe-video{width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:8px}.vp-modal-body .vpe-layout{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}.vp-modal-body .vpe-side{display:flex;flex-direction:column;gap:12px}.vp-modal-body .vpe-sideTitle{margin:0;font-size:14px;font-weight:600}.vp-modal-body .vpe-transcript{width:100%;height:260px;resize:vertical;padding:10px;border:1px solid #e2e2e2;border-radius:8px;font:inherit;line-height:1.4}.vp-modal-body .vpe-segInfo{font-size:12px;opacity:.75}.vp-modal-body .vpe-main{display:flex;flex-direction:column;gap:10px}.vp-modal-body .vpe-videoFrame{width:100%;max-height:70vh}.vp-modal-body .vpe-videoCrop{width:100%;height:min(70vh,55vw);border-radius:10px;overflow:hidden;background:#000}.vp-modal-body .vpe-video{width:100%;height:100%;object-fit:cover;display:block}.vp-modal-body .vpe-controls{display:flex;align-items:center;gap:12px;-webkit-user-select:none;user-select:none}.vp-modal-body .vpe-track{position:relative;height:12px;border-radius:6px;background:#00000014;overflow:hidden;cursor:pointer}.vp-modal-body .vpe-progress{position:absolute;inset:0 auto 0 0;width:0;background:#0003}.vp-modal-body .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){.vp-modal-body .vpe-layout{grid-template-columns:1fr}.vp-modal-body .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}@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}}.upgrade-page{--up-bg: var(--bg);--up-card: var(--card);--up-border: var(--border);--up-text-1: var(--text-1);--up-text-2: var(--text-2);--up-ring: var(--ring);--up-shadow: 0 8px 24px rgba(0, 0, 0, .08);min-height:100vh;display:flex;flex-direction:column;background:var(--up-bg)}.upgrade-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:28px 18px;box-sizing:border-box}.up-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.up-header h1{margin:0;font-size:22px;line-height:1.2;color:var(--up-text-1);font-weight:800}.up-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--up-border);color:var(--up-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}.up-back:hover{color:var(--primary);border-color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,transparent);transform:translateY(1px)}.up-back:focus-visible{outline:2px solid var(--up-ring);outline-offset:2px}.up-card{background:var(--up-card);border:1px solid var(--up-border);border-radius:14px;padding:14px;box-shadow:var(--up-shadow)}.up-error{margin-top:10px;color:#b91c1c;font-weight:600}.up-actions{display:flex;justify-content:flex-end;margin-top:12px}.up-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;background:var(--primary)}.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}}
