@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg-primary: #0a0a0a;--color-bg-secondary: #0f0f0f;--color-bg-surface: #141414;--color-bg-elevated: #1a1a1a;--color-bg-hover: #1f1f1f;--color-bg-active: #252525;--color-accent: #8b5cf6;--color-accent-hover: #a78bfa;--color-accent-muted: rgba(139, 92, 246, .15);--color-accent-subtle: rgba(139, 92, 246, .08);--color-text-primary: #f5f5f5;--color-text-secondary: #a1a1a1;--color-text-tertiary: #6b6b6b;--color-text-inverse: #0a0a0a;--color-success: #22c55e;--color-success-muted: rgba(34, 197, 94, .15);--color-error: #ef4444;--color-error-muted: rgba(239, 68, 68, .15);--color-warning: #f59e0b;--color-warning-muted: rgba(245, 158, 11, .15);--color-info: #3b82f6;--color-info-muted: rgba(59, 130, 246, .15);--color-border: #262626;--color-border-subtle: #1f1f1f;--color-border-focus: var(--color-accent);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--transition-fast: .1s ease;--transition-normal: .2s ease;--sidebar-width: 220px;--sidebar-collapsed: 56px;font-family:var(--font-sans);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg-primary)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}#root{min-height:100vh}a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary)}button{font-family:var(--font-sans);cursor:pointer}input,textarea,select{font-family:var(--font-sans)}.regenerating-overlay{position:absolute;inset:0;background:#0a0a0ae6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-primary);border-radius:var(--radius-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.preview-image-container{position:relative}.image-prompt{font-size:12px;color:var(--color-text-tertiary);margin-top:var(--space-2);font-family:var(--font-mono)}.thumbnail-image.placeholder{background:var(--color-bg-elevated)}::selection{background:var(--color-accent);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}.toast-container{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;gap:var(--space-2);z-index:9999;pointer-events:none}.toast-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:#fff;border-radius:var(--radius-md);font-size:13px;box-shadow:var(--shadow-lg);animation:toastIn .2s ease,toastOut .3s ease 4.7s forwards;pointer-events:auto;max-width:420px}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-error)}.toast-info{background:var(--color-accent)}.toast-item .toast-dismiss{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;padding:0;line-height:1;opacity:.8;flex-shrink:0}.toast-item .toast-dismiss:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.sidebar{width:var(--sidebar-width);height:100vh;background:var(--color-bg-primary);border-right:none;display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:50}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text-primary)}.logo-icon{width:28px;height:28px;background:linear-gradient(135deg,var(--color-accent) 0%,#a78bfa 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}.logo-text{font-weight:600;font-size:15px;letter-spacing:-.02em}.sidebar-nav{flex:1;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:13px;font-weight:500;transition:all var(--transition-fast)}.sidebar-nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-nav-item.active{background:var(--color-accent-muted);color:var(--color-accent-hover)}.sidebar-nav-item.active svg{color:var(--color-accent)}.sidebar-nav-item svg{flex-shrink:0;opacity:.7}.sidebar-nav-item:hover svg,.sidebar-nav-item.active svg{opacity:1}.sidebar-nav-bottom{flex:0;border-top:1px solid var(--color-border);padding-top:var(--space-2)}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--color-border);position:relative}.sidebar-user-btn{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.sidebar-user-btn:hover{background:var(--color-bg-hover)}.user-avatar{width:28px;height:28px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.user-email{flex:1;text-align:left;font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-menu{position:absolute;bottom:100%;left:var(--space-3);right:var(--space-3);margin-bottom:var(--space-2);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-1);animation:slideIn .15s ease}.user-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.user-menu-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.user-menu-item svg{opacity:.7}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);padding:var(--space-4);position:relative}.login-page:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:500px;height:500px;background:radial-gradient(circle,var(--color-accent-subtle) 0%,transparent 70%);pointer-events:none}.login-card{background:var(--color-bg-surface);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:380px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);position:relative}.login-card h1{margin:0 0 var(--space-2) 0;font-size:20px;font-weight:600;color:var(--color-text-primary);text-align:center;letter-spacing:-.02em}.login-subtitle{margin:0 0 var(--space-6) 0;color:var(--color-text-tertiary);text-align:center;font-size:13px}.login-card .form-group{margin-bottom:var(--space-4)}.login-card label{display:block;margin-bottom:var(--space-2);font-size:13px;font-weight:500;color:var(--color-text-secondary)}.login-card input{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;box-sizing:border-box;transition:all var(--transition-fast);background:var(--color-bg-secondary);color:var(--color-text-primary)}.login-card input:hover{border-color:var(--color-text-tertiary)}.login-card input:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-elevated)}.login-card input::placeholder{color:var(--color-text-tertiary)}.login-card .error-message{background:var(--color-error-muted);color:var(--color-error);padding:var(--space-3);border-radius:var(--radius-md);font-size:13px;margin-bottom:var(--space-4)}.login-button{width:100%;padding:var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.login-button:hover:not(:disabled){background:var(--color-accent-hover)}.login-button:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.landing-page{min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column;overflow-x:hidden}.landing-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#0a0a0acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-subtle)}.landing-header-inner{padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between}.landing-logo{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:15px;color:var(--color-text-primary)}.landing-logo .logo-icon{width:28px;height:28px;background:var(--color-accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}.landing-nav{display:flex;align-items:center;gap:var(--space-4)}.landing-nav-link{font-size:13px;color:var(--color-text-secondary);transition:color var(--transition-fast)}.landing-nav-link:hover{color:var(--color-text-primary)}.landing-sign-in{padding:var(--space-2) var(--space-4);font-size:13px;font-weight:500;background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.landing-sign-in:hover{background:var(--color-bg-hover);border-color:var(--color-text-tertiary)}.landing-hero{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible;padding:140px var(--space-6) var(--space-12);min-height:70vh}.hero-glow{position:absolute;inset:-200px;pointer-events:none}.hero-glow:before,.hero-glow:after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.3}.hero-glow:before{width:700px;height:700px;top:5%;left:10%;background:radial-gradient(ellipse at 35% 40%,var(--color-accent) 0%,transparent 50%),radial-gradient(ellipse at 65% 60%,#7c3aed 0%,transparent 50%);animation:glow-drift-1 14s ease-in-out infinite alternate}.hero-glow:after{width:600px;height:600px;bottom:-10%;right:5%;background:radial-gradient(ellipse at 40% 50%,#06b6d4 0%,transparent 50%),radial-gradient(ellipse at 70% 40%,#7c3aed 0%,transparent 55%);animation:glow-drift-2 18s ease-in-out infinite alternate}@keyframes glow-drift-1{0%{transform:translate(0) scale(1);opacity:.3}50%{transform:translate(100px,60px) scale(1.15);opacity:.45}to{transform:translate(-50px,120px) scale(.95);opacity:.3}}@keyframes glow-drift-2{0%{transform:translate(0) scale(1);opacity:.25}50%{transform:translate(-80px,-50px) scale(1.12);opacity:.4}to{transform:translate(60px,-100px) scale(.95);opacity:.25}}.hero-content{position:relative;text-align:center;max-width:640px}.landing-hero h1{font-size:52px;font-weight:600;letter-spacing:-.04em;line-height:1.1;color:var(--color-text-primary)}.hero-tagline{margin:var(--space-5) 0 var(--space-8);font-size:16px;color:var(--color-text-secondary);line-height:1.6;max-width:460px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.hero-btn-primary{padding:var(--space-3) var(--space-6);font-size:14px;font-weight:500;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.hero-btn-primary:hover{background:var(--color-accent-hover)}.hero-btn-secondary{padding:var(--space-3) var(--space-6);font-size:14px;font-weight:500;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;transition:all var(--transition-fast);text-decoration:none;display:inline-block}.hero-btn-secondary:hover{color:var(--color-text-primary);border-color:var(--color-text-tertiary);background:var(--color-bg-elevated)}.landing-features{position:relative;padding:var(--space-12) var(--space-6);max-width:1080px;margin:0 auto;width:100%}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.feature-card{padding:var(--space-6);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--transition-fast)}.feature-card:hover{border-color:var(--color-text-tertiary)}.feature-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-muted);color:var(--color-accent);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.feature-card h3{font-size:15px;font-weight:600;margin-bottom:var(--space-2)}.feature-card p{font-size:13px;color:var(--color-text-secondary);line-height:1.6;margin:0}.landing-footer{padding:var(--space-6);text-align:center;border-top:1px solid var(--color-border-subtle)}.landing-footer p{font-size:12px;color:var(--color-text-tertiary);margin:0}@media(max-width:768px){.landing-hero h1{font-size:36px}.features-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.pdf-preview{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.pdf-preview-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.pdf-info{font-size:12px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.pdf-actions{display:flex;gap:var(--space-2)}.pdf-action-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px var(--space-3);font-size:11px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.pdf-action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pdf-body{display:flex;gap:var(--space-3);align-items:flex-start}.pdf-main-view{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex-shrink:0}.pdf-main-view .react-pdf__Page{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.pdf-page-nav{display:flex;align-items:center;gap:var(--space-3)}.pdf-nav-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--color-text-secondary);transition:all var(--transition-fast)}.pdf-nav-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.pdf-nav-btn:disabled{opacity:.3;cursor:not-allowed}.pdf-page-indicator{font-size:12px;color:var(--color-text-tertiary);font-family:var(--font-mono);min-width:50px;text-align:center}.pdf-thumbnails-wrapper{overflow-y:auto;scrollbar-width:thin;min-width:74px;max-height:600px;flex-shrink:0}.pdf-thumbnails{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1)}.pdf-thumb{position:relative;flex-shrink:0;cursor:pointer;border:2px solid transparent;border-radius:var(--radius-sm);opacity:.5;transition:opacity var(--transition-fast),border-color var(--transition-fast)}.pdf-thumb.selected{opacity:1;border-color:var(--color-accent)}.pdf-thumb.current{border-color:#ffffff80}.pdf-thumb:hover{opacity:.9}.pdf-thumb .react-pdf__Page{pointer-events:none}.thumb-overlay{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:2px 4px;background:#0009}.thumb-number{font-size:9px;color:#fff;font-family:var(--font-mono)}.thumb-checkbox{width:12px;height:12px;accent-color:var(--color-accent);cursor:pointer}.pdf-range-display{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono);padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-sm);flex-shrink:0}.pdf-info-icon-wrapper{position:relative;display:inline-flex;align-items:center;margin-left:6px;cursor:help}.pdf-info-icon{color:var(--color-text-tertiary);opacity:.6;transition:opacity var(--transition-fast),transform .2s ease}.pdf-info-icon-wrapper:hover .pdf-info-icon{opacity:1;transform:scale(1.15)}.pdf-info-tooltip{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%) translateY(4px);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;font-size:11px;color:var(--color-text-secondary);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:10}.pdf-info-icon-wrapper:hover .pdf-info-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.pdf-preview--landscape .pdf-thumbnails-wrapper{max-height:360px}.upload-layout{max-width:480px;width:100%}.upload-layout.with-preview{max-width:1400px;display:flex;gap:var(--space-6);align-items:flex-start}.upload-layout.with-preview .upload-container{flex:1;min-width:0;max-width:480px}.upload-preview-panel{flex-shrink:0;position:sticky;top:var(--space-6)}.skip-images-option{margin:12px 0}.skip-images-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:#666}.skip-images-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.provider-toggle{margin:4px 0 8px}.provider-toggle-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.78rem;color:#999}.provider-toggle-label input[type=checkbox]{width:13px;height:13px;cursor:pointer}.nb-model-select{display:flex;gap:12px;margin:4px 0 0 19px}.nb-model-option{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:.75rem;color:#bbb}.nb-model-option input[type=radio]{width:12px;height:12px;cursor:pointer}.nb-disclaimer-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.nb-disclaimer-modal{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:480px;max-width:90vw;animation:fadeIn .15s ease}.nb-disclaimer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.nb-disclaimer-header h4{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary)}.nb-disclaimer-body{padding:var(--space-5)}.nb-disclaimer-text{font-size:13px;line-height:1.6;color:var(--color-text-secondary);margin:0}.nb-disclaimer-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.editor-page{display:flex;flex-direction:column;height:100vh;background:var(--color-bg-primary)}.editor-page.loading,.editor-page.processing,.editor-page.error{justify-content:center;align-items:center}.loading-spinner,.processing-container,.error-container{text-align:center;padding:var(--space-6);background:var(--color-bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.processing-container{min-width:320px}.processing-container .status-text{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:var(--space-2) 0}.processing-container .hint-text{font-size:13px;color:var(--color-text-tertiary);margin-top:var(--space-4)}.progress-container{margin:var(--space-5) 0}.progress-bar{width:100%;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.progress-text{margin-top:var(--space-2);font-size:12px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.processing-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.error-container h2{color:var(--color-error);margin-bottom:var(--space-2)}.error-container button,.processing-container button{margin-top:var(--space-4);padding:var(--space-2) var(--space-5);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:13px}.error-container button:hover,.processing-container button:hover{background:var(--color-accent-hover)}.editor-header{display:flex;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);gap:var(--space-4)}.editor-breadcrumb{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.breadcrumb-link{color:var(--color-text-tertiary);text-decoration:none;font-size:13px;white-space:nowrap}.breadcrumb-link:hover{color:var(--color-text-primary)}.breadcrumb-separator{color:var(--color-text-tertiary);font-size:12px}.breadcrumb-current{font-weight:500;font-size:14px;color:var(--color-text-primary);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-current:hover{background:var(--color-bg-hover)}.back-button{padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--color-text-secondary);transition:all var(--transition-fast)}.back-button:hover{background:var(--color-bg-hover)}.editor-header h1{margin:0;font-size:16px;flex:1;color:var(--color-text-primary)}.project-name{margin:0;font-size:16px;flex:1;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);color:var(--color-text-primary)}.project-name:hover{background:var(--color-bg-hover)}.project-name-input{flex:1;font-size:16px;font-weight:500;padding:var(--space-1) var(--space-2);border:1px solid var(--color-accent);border-radius:var(--radius-sm);outline:none;background:var(--color-bg-secondary);color:var(--color-text-primary)}.header-info{display:flex;gap:var(--space-3);align-items:center}.header-actions{margin-left:auto;display:flex;gap:var(--space-1);align-items:center}.icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.icon-button:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.icon-button:disabled{color:var(--color-text-tertiary);cursor:not-allowed;opacity:.5}.icon-spinner{display:block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.render-button{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500;transition:all var(--transition-fast)}.render-button.test-render{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.render-button.test-render:hover:not(:disabled){background:var(--color-bg-hover)}.download-button{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);text-decoration:none;font-size:13px;font-weight:500;transition:all var(--transition-fast)}.mode-badge{padding:var(--space-1) var(--space-2);background:var(--color-accent-muted);color:var(--color-accent);border-radius:var(--radius-sm);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.scene-count{color:var(--color-text-tertiary);font-size:12px;font-family:var(--font-mono)}.editor-content{display:flex;flex:1;overflow:hidden}.script-panel-container,.preview-panel-container{overflow:hidden;display:flex;flex-direction:column}.resize-handle{width:1px;background:var(--color-border);cursor:col-resize;transition:background var(--transition-fast);flex-shrink:0;position:relative}.resize-handle:before{content:"";position:absolute;inset:0 -3px}.resize-handle:hover,.resize-handle.active{background:var(--color-accent)}.scene-navigation{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);overflow-x:auto}.scene-navigation::-webkit-scrollbar{height:4px}.scene-inject-gap{display:flex;align-items:center;justify-content:center;width:8px;flex-shrink:0;position:relative;margin:0 -2px;z-index:5}.scene-inject-gap:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--color-text-tertiary);opacity:.4;transition:opacity .15s ease}.scene-inject-gap:hover:before{opacity:0}.scene-inject-btn{opacity:0;pointer-events:none;width:16px;height:16px;border-radius:0;border:none;background:transparent;color:var(--color-text-tertiary);font-size:16px;font-weight:300;line-height:1;cursor:pointer;padding:0;transition:opacity .15s ease,color var(--transition-fast);position:absolute;display:flex;align-items:center;justify-content:center}.scene-inject-gap:hover .scene-inject-btn{opacity:1;pointer-events:auto}.scene-inject-btn:hover{color:var(--color-text-secondary)}.scene-thumbnail{flex-shrink:0;width:96px;padding:var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.scene-delete-btn{position:absolute;top:1px;right:1px;width:12px;height:12px;border:none;border-radius:0;background:transparent;color:#ffffff80;cursor:pointer;padding:0;opacity:0;pointer-events:none;z-index:2;transition:opacity var(--transition-fast),color var(--transition-fast)}.scene-delete-btn svg{display:block}.scene-thumbnail:hover .scene-delete-btn{opacity:1;pointer-events:auto}.scene-delete-btn:hover{color:#ffffffd9}.scene-thumbnail:hover{border-color:var(--color-text-tertiary)}.scene-thumbnail.active{border-color:var(--color-accent);background:var(--color-accent-subtle)}.scene-thumbnail .thumbnail-image{width:100%;height:52px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);margin-bottom:var(--space-1);object-fit:cover}.scene-thumbnail .thumbnail-info{display:flex;justify-content:space-between;font-size:10px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.scene-thumbnail .scene-number{font-weight:500;color:var(--color-text-secondary)}.script-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-primary)}.script-panel-header{display:flex;align-items:baseline;justify-content:space-between;padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.script-panel-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary)}.script-panel-count{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.script-panel-body{flex:1;overflow-y:auto;padding:var(--space-2) 0}.scene-script{position:relative;padding:var(--space-5) var(--space-6);padding-left:calc(var(--space-6) + 3px);cursor:pointer;transition:background var(--transition-normal);border-bottom:1px solid var(--color-border-subtle);border-left:3px solid transparent}.scene-script:last-child{border-bottom:none}.scene-script:hover{background:#ffffff05}.scene-script.active{border-left-color:var(--color-accent);background:var(--color-accent-subtle)}.scene-script-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3)}.scene-number-label{font-size:20px;font-weight:700;color:var(--color-text-tertiary);line-height:1;font-variant-numeric:tabular-nums;transition:color var(--transition-fast)}.scene-script.active .scene-number-label{color:var(--color-accent-hover)}.scene-duration-label{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono);letter-spacing:.02em}.narration-textarea{width:100%;padding:0;border:none;background:transparent;font-family:var(--font-sans);font-size:14px;line-height:1.75;resize:none;overflow:hidden;color:var(--color-text-primary);caret-color:var(--color-accent);transition:color var(--transition-fast);min-height:28px}.narration-textarea:focus{outline:none}.narration-textarea::placeholder{color:var(--color-text-tertiary);font-style:italic;opacity:.6}.scene-script-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-3);min-height:20px}.footer-left{flex:1}.save-status{font-size:10px;font-family:var(--font-mono);letter-spacing:.02em}.save-status.saving{color:var(--color-accent);animation:pulse-save 1.2s ease-in-out infinite}.save-status.unsaved{color:var(--color-text-tertiary)}.subtitle-split-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:10px;font-family:var(--font-mono);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.02em;flex-shrink:0}.subtitle-split-toggle:hover{color:var(--color-text-secondary);border-color:var(--color-text-tertiary)}.subtitle-split-toggle.active{color:var(--color-accent);border-color:var(--color-accent-muted);background:var(--color-accent-subtle)}.subtitle-split-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out}.subtitle-split-wrapper.expanded{grid-template-rows:1fr}.subtitle-split-preview{overflow:hidden;display:flex;flex-direction:column;gap:1px;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border-subtle);opacity:0;transition:opacity .2s ease-out .05s}.subtitle-split-wrapper.expanded .subtitle-split-preview{opacity:1}.subtitle-split-line{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-1) 0}.split-line-number{font-size:9px;font-family:var(--font-mono);color:var(--color-text-tertiary);opacity:.5;min-width:14px;text-align:right;flex-shrink:0;-webkit-user-select:none;user-select:none}.split-line-text{font-size:12px;line-height:1.5;color:var(--color-text-secondary);font-family:var(--font-sans);word-break:break-word}@keyframes pulse-save{0%,to{opacity:1}50%{opacity:.4}}.preview-panel{flex:1;display:flex;flex-direction:column;padding:var(--space-4);background:var(--color-bg-primary);overflow-y:auto}.preview-image-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden;min-height:280px;border:1px solid var(--color-border)}.preview-image{max-width:100%;max-height:100%;object-fit:contain}.preview-placeholder{color:var(--color-text-tertiary);text-align:center;font-size:13px}.regen-section{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.regen-label{display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.regen-feedback-row{display:flex;gap:var(--space-2)}.regen-input{flex:1;padding:8px var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;color:var(--color-text-primary);transition:border-color var(--transition-fast)}.regen-input:focus{outline:none;border-color:var(--color-accent)}.regen-input::placeholder{color:var(--color-text-tertiary)}.regen-input:disabled{opacity:.5}.regen-refine-btn{padding:8px var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;transition:all var(--transition-fast)}.regen-refine-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.regen-refine-btn:disabled{opacity:.4;cursor:not-allowed}.regen-prompt-header{display:flex;align-items:center;justify-content:space-between}.regen-reset-btn{padding:2px var(--space-2);font-size:11px;color:var(--color-text-tertiary);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.regen-reset-btn:hover:not(:disabled){color:var(--color-text-secondary);border-color:var(--color-text-tertiary)}.regen-textarea{width:100%;padding:var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--color-text-primary);resize:vertical;min-height:80px;transition:border-color var(--transition-fast)}.regen-textarea:focus{outline:none;border-color:var(--color-accent)}.regen-textarea::placeholder{color:var(--color-text-tertiary)}.regen-textarea:disabled{opacity:.5}.regen-prompts-row{display:flex;gap:var(--space-3)}.regen-prompt-half{flex:1;min-width:0}.regen-generate-btn{align-self:flex-start;padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:500;letter-spacing:.01em;transition:all var(--transition-fast);cursor:pointer}.regen-generate-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.regen-generate-btn:disabled{opacity:.4;cursor:not-allowed}.feedback-input::placeholder{color:var(--color-text-tertiary)}.scene-info{margin-top:var(--space-4);padding:var(--space-3);background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.scene-info p{margin:var(--space-1) 0;font-size:12px;color:var(--color-text-tertiary)}.scene-info strong{color:var(--color-text-secondary)}.preview-player{padding:var(--space-4);background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-top:var(--space-4)}.player-controls{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.player-button{width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.player-button.play{background:var(--color-accent);color:#fff}.player-button.play:hover:not(:disabled){background:var(--color-accent-hover)}.player-button.pause{background:var(--color-warning);color:var(--color-text-inverse)}.player-button.pause:hover{opacity:.9}.player-button.stop{background:var(--color-bg-secondary);color:var(--color-text-tertiary);border:1px solid var(--color-border)}.player-button.stop:hover:not(:disabled){background:var(--color-bg-hover)}.player-button:disabled{opacity:.5;cursor:not-allowed}.player-time{margin-left:auto;font-size:12px;font-family:var(--font-mono);color:var(--color-text-tertiary)}.time-separator{margin:0 var(--space-1);color:var(--color-text-tertiary)}.player-timeline{position:relative;height:28px;cursor:pointer;-webkit-user-select:none;user-select:none}.timeline-track{position:absolute;top:50%;left:0;right:0;height:4px;background:var(--color-border);border-radius:2px;transform:translateY(-50%)}.timeline-progress{position:absolute;top:0;left:0;height:100%;background:var(--color-accent);border-radius:2px;transition:width .05s linear}.timeline-handle{position:absolute;top:50%;width:12px;height:12px;background:var(--color-accent);border:2px solid var(--color-bg-surface);border-radius:50%;transform:translate(-50%,-50%);box-shadow:var(--shadow-sm);transition:left .05s linear}.timeline-scenes{position:absolute;inset:0;pointer-events:none}.timeline-scene{position:absolute;top:0;bottom:0;border-right:1px solid var(--color-border-subtle);transition:background var(--transition-fast)}.timeline-scene.active{background:var(--color-accent-subtle)}.timeline-scene:last-child{border-right:none}.playback-indicator{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:11px;color:var(--color-accent);font-family:var(--font-mono)}.playback-dot{width:6px;height:6px;background:var(--color-accent);border-radius:50%;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.regenerating-overlay{position:absolute;inset:0;background:#0a0a0ae6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-primary)}.regenerating-spinner{width:32px;height:32px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-3)}.image-prompt{margin-top:var(--space-2);font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.render-controls{padding:var(--space-4);background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-top:var(--space-4)}.render-controls h4{margin:0 0 var(--space-3) 0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.render-ready p,.render-complete p,.render-failed p{margin:0 0 var(--space-3) 0;font-size:13px;color:var(--color-text-tertiary)}.render-button{width:100%;padding:var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:13px;transition:all var(--transition-fast)}.render-button:hover:not(:disabled){background:var(--color-accent-hover)}.render-button:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.render-progress{margin-bottom:var(--space-3)}.progress-bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-bottom:var(--space-2)}.progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.progress-text{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.render-hint{margin-top:var(--space-2);font-size:11px;color:var(--color-text-tertiary)}.render-complete{text-align:center}.success-icon{width:40px;height:40px;background:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;margin:0 auto var(--space-3)}.download-button{width:100%;padding:var(--space-3);background:var(--color-success);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:13px;margin-bottom:var(--space-2);transition:all var(--transition-fast)}.download-button:hover{background:#1db954}.re-render-button{width:100%;padding:var(--space-2);background:transparent;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:12px;transition:all var(--transition-fast)}.re-render-button:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-secondary)}.re-render-button:disabled{opacity:.5;cursor:not-allowed}.render-failed{text-align:center}.error-icon{width:40px;height:40px;background:var(--color-error);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;margin:0 auto var(--space-3)}.retry-button{width:100%;padding:var(--space-3);background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all var(--transition-fast)}.retry-button:hover:not(:disabled){opacity:.9}.retry-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button{width:100%;padding:var(--space-2);background:transparent;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);cursor:pointer;font-size:12px;margin-top:var(--space-3);transition:all var(--transition-fast)}.refresh-button:hover{background:var(--color-accent-subtle)}.scene-navigation-wrapper{position:relative;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.scene-nav-progress{position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-border);z-index:10}.scene-nav-progress-bar{height:100%;background:var(--color-accent);transition:width .3s ease}.scene-nav-progress-text{position:absolute;right:var(--space-2);top:var(--space-2);font-size:10px;color:var(--color-text-tertiary);background:var(--color-bg-secondary);padding:2px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono)}.scene-thumbnail.generating{opacity:.7}.scene-thumbnail.failed{border-color:var(--color-error)}.scene-thumbnail.failed .thumbnail-image{background:var(--color-error-muted)}.thumbnail-image.placeholder.generating{background:var(--color-info-muted);display:flex;align-items:center;justify-content:center}.thumbnail-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-info);border-radius:50%;animation:spin .8s linear infinite}.thumbnail-error{color:var(--color-error);font-weight:700;font-size:14px}.generating-indicator{width:28px;height:28px;border:2px solid var(--color-border);border-top-color:var(--color-info);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-2)}.preview-placeholder .error-text{font-size:12px;color:var(--color-error);margin-top:var(--space-2)}.render-dialog-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.render-dialog{background:var(--color-bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:80vw;max-width:900px;max-height:80vh;display:flex;flex-direction:column;border:1px solid var(--color-border);animation:fadeIn .15s ease}.render-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.render-dialog-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.render-dialog-close{background:none;border:none;font-size:16px;color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1);line-height:1;border-radius:var(--radius-md);transition:all var(--transition-fast);width:28px;height:28px;display:flex;align-items:center;justify-content:center}.render-dialog-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.render-dialog-warning{margin:0 var(--space-5);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-warning-muted);border-radius:var(--radius-md);font-size:13px;color:var(--color-warning)}.render-dialog-body{flex:1;overflow-y:auto;padding:var(--space-5)}.render-dialog-section h4{margin:0 0 var(--space-3) 0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.render-dialog-toggle{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--color-text-secondary);cursor:pointer;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.render-dialog-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent)}.render-dialog-sliders{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.render-dialog-slider{display:flex;align-items:center;gap:var(--space-3);font-size:13px;color:var(--color-text-secondary)}.render-dialog-slider span:first-child{min-width:70px}.render-dialog-slider input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:var(--color-border);border-radius:2px;outline:none;cursor:pointer}.render-dialog-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg-surface);box-shadow:var(--shadow-sm)}.render-dialog-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg-surface)}.render-dialog-slider input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--color-border);border-radius:2px}.render-dialog-slider input[type=range]::-moz-range-track{height:4px;background:var(--color-border);border-radius:2px}.slider-value{min-width:28px;text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--color-accent)}.render-dialog-footer{display:flex;gap:var(--space-2);justify-content:flex-end;padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.render-dialog-cancel{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--color-text-secondary);transition:all var(--transition-fast)}.render-dialog-cancel:hover{background:var(--color-bg-hover)}.render-dialog-confirm{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500;transition:all var(--transition-fast)}.render-dialog-confirm:hover{background:var(--color-accent-hover)}.render-dialog-columns{display:flex;gap:var(--space-5);min-height:340px}.render-dialog-settings{flex:1;min-width:0}.render-settings-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.render-settings-tab{flex:1;padding:var(--space-2) 0;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.render-settings-tab:hover{color:var(--color-text-secondary)}.render-settings-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.render-dialog-preview{flex:1;min-width:0;display:flex;flex-direction:column}.render-dialog-preview h4{margin:0 0 var(--space-3) 0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.render-preview-frame{position:relative;flex:1;background:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden;min-height:240px;aspect-ratio:16 / 9;border:1px solid var(--color-border)}.render-preview-image{width:100%;height:100%;object-fit:cover;display:block}.render-preview-placeholder{color:var(--color-text-tertiary);font-size:13px}.render-preview-logo{position:absolute;width:15%;max-height:15%;padding:6px}.render-preview-logo svg{width:100%;height:auto;display:block}.render-preview-logo.top-left{top:6px;left:6px}.render-preview-logo.top-right{top:6px;right:6px}.render-preview-logo.bottom-left{bottom:28px;left:6px}.render-preview-logo.bottom-right{bottom:28px;right:6px}.render-preview-subtitle{position:absolute;left:50%;transform:translate(-50%);color:var(--color-text-primary);font-family:"PingFang SC",var(--font-sans);font-weight:500;white-space:nowrap;pointer-events:none;text-align:center;line-height:1.3}.logo-selector{display:flex;gap:var(--space-2);align-items:center}.logo-select{flex:1;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer}.logo-select:focus{outline:none;border-color:var(--color-accent)}.logo-actions{display:flex;gap:var(--space-1)}.logo-action-btn{width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:all var(--transition-fast)}.logo-action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.logo-action-btn.delete{color:var(--color-error)}.logo-action-btn.delete:hover{background:var(--color-error-muted)}.logo-add-form{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.logo-add-input{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;background:var(--color-bg-surface);color:var(--color-text-primary)}.logo-add-input:focus{outline:none;border-color:var(--color-accent)}.logo-file-upload{display:flex;align-items:center;justify-content:center;padding:var(--space-2);border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.logo-file-upload:hover{border-color:var(--color-accent);color:var(--color-accent)}.logo-file-upload input[type=file]{display:none}.logo-add-submit{padding:var(--space-2) var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:500;align-self:flex-end;transition:all var(--transition-fast)}.logo-add-submit:hover:not(:disabled){background:var(--color-accent-hover)}.logo-add-submit:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.logo-position-picker{margin-top:var(--space-3);display:flex;align-items:center;gap:var(--space-3)}.logo-position-label{font-size:13px;color:var(--color-text-secondary)}.logo-position-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:52px;height:36px}.logo-position-btn{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);cursor:pointer;padding:0;transition:all var(--transition-fast)}.logo-position-btn:hover{border-color:var(--color-text-tertiary)}.logo-position-btn.active{border-color:var(--color-accent);background:var(--color-accent-subtle)}.logo-position-dot{width:4px;height:4px;background:var(--color-text-tertiary);border-radius:50%;position:absolute}.logo-position-btn.active .logo-position-dot{background:var(--color-accent)}.logo-position-dot.top-left{top:3px;left:3px}.logo-position-dot.top-right{top:3px;right:3px}.logo-position-dot.bottom-left{bottom:3px;left:3px}.logo-position-dot.bottom-right{bottom:3px;right:3px}.render-dialog-label{display:block;font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.audio-provider-select{width:100%;padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px}.audio-provider-select:focus{outline:none;border-color:var(--color-accent)}.render-dialog-hint{margin:var(--space-2) 0 0;font-size:11px;color:var(--color-text-muted);line-height:1.4}.voice-clone-section{margin-top:var(--space-4)}.voice-clone-picker{display:flex;gap:var(--space-2);align-items:center}.voice-clone-picker .audio-provider-select{flex:1}.voice-sample-btn{width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-primary);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.voice-sample-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.voice-sample-btn:disabled{opacity:.5;cursor:not-allowed}.voice-sample-btn.playing{color:var(--color-accent);border-color:var(--color-accent)}.export-pptx-toast{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-error);color:#fff;border-radius:var(--radius-md);font-size:13px;box-shadow:var(--shadow-lg);z-index:2000;animation:fadeIn .15s ease}.toast-dismiss{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;padding:0;line-height:1;opacity:.8}.toast-dismiss:hover{opacity:1}.inject-scene-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.inject-scene-popup{background:var(--color-bg-surface);border-radius:var(--radius-lg);width:420px;max-height:500px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.inject-scene-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.inject-scene-header h3{margin:0;font-size:1rem}.inject-scene-body{padding:var(--space-3);overflow-y:auto;flex:1}.inject-scene-empty{text-align:center;padding:var(--space-4);color:var(--color-text-secondary)}.inject-scene-empty a{color:var(--color-accent);text-decoration:none;display:block;margin-top:var(--space-2)}.inject-scene-list{display:flex;flex-direction:column;gap:var(--space-2)}.inject-scene-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;transition:background .15s ease;width:100%}.inject-scene-item:hover{background:var(--color-bg-hover)}.inject-scene-thumb{width:80px;height:45px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.inject-scene-info{display:flex;flex-direction:column;gap:2px;min-width:0}.inject-scene-name{font-weight:500;font-size:.875rem;color:var(--color-text)}.inject-scene-narration{font-size:.75rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-backdrop{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-bg-surface);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:fadeIn .15s ease;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.close-btn{background:none;border:none;font-size:18px;color:var(--color-text-tertiary);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.close-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.modal-content form{padding:var(--space-5)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;margin-bottom:var(--space-2);font-size:13px;font-weight:500;color:var(--color-text-secondary)}.form-group input{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;box-sizing:border-box;background:var(--color-bg-secondary);color:var(--color-text-primary);transition:all var(--transition-fast)}.form-group input:hover{border-color:var(--color-text-tertiary)}.form-group input:focus{outline:none;border-color:var(--color-accent)}.form-group input::placeholder{color:var(--color-text-tertiary)}.form-group input:disabled{background:var(--color-bg-secondary);color:var(--color-text-tertiary);cursor:not-allowed}.error-message{color:var(--color-error);font-size:13px;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-error-muted);border-radius:var(--radius-md)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.cancel-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:transparent;border-radius:var(--radius-md);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.cancel-btn:hover:not(:disabled){background:var(--color-bg-hover)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.create-btn{padding:var(--space-2) var(--space-4);border:none;background:var(--color-accent);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all var(--transition-fast)}.create-btn:hover:not(:disabled){background:var(--color-accent-hover)}.create-btn:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.projects-page{max-width:1200px;padding:var(--space-6) var(--space-6)}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.projects-header h1{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em}.new-project-btn{background:var(--color-accent);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.new-project-btn:hover{background:var(--color-accent-hover)}.pptx-link{color:var(--color-text-secondary);text-decoration:none;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;background:transparent;transition:all var(--transition-fast)}.pptx-link:hover{background:var(--color-bg-hover);border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.empty-state{text-align:center;padding:var(--space-12);background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.empty-state p{color:var(--color-text-tertiary);margin-bottom:var(--space-4);font-size:14px}.empty-state button{background:var(--color-accent);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.empty-state button:hover{background:var(--color-accent-hover)}.projects-table{width:100%;border-collapse:collapse}.projects-table th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-weight:500;color:var(--color-text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.projects-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:14px}.projects-table tbody tr{cursor:pointer;transition:background var(--transition-fast)}.projects-table tbody tr:hover{background:var(--color-bg-hover)}.name-cell{font-weight:500;color:var(--color-text-primary)}.projects-table .delete-btn{background:none;border:none;cursor:pointer;padding:var(--space-1);opacity:0;transition:all var(--transition-fast);border-radius:var(--radius-sm);color:var(--color-text-tertiary)}.projects-table tbody tr:hover .delete-btn{opacity:.5}.projects-table .delete-btn:hover{opacity:1!important;color:var(--color-error);background:var(--color-error-muted)}.new-project-btn,.pptx-link{display:inline-flex;align-items:center;gap:var(--space-2)}.new-project-btn svg,.pptx-link svg{flex-shrink:0;opacity:.8}.project-detail-page{max-width:1200px;padding:var(--space-6) var(--space-6)}.breadcrumb{margin-bottom:var(--space-4);font-size:13px}.breadcrumb a{color:var(--color-text-tertiary);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb a:hover{color:var(--color-text-primary)}.breadcrumb .separator{margin:0 var(--space-2);color:var(--color-text-tertiary)}.breadcrumb .current{color:var(--color-text-secondary)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.project-info h1{margin:0 0 var(--space-1) 0;font-size:20px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em}.header-actions{display:flex;gap:var(--space-2);align-items:center}.create-video-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500;text-decoration:none;transition:all var(--transition-fast)}.create-video-btn:hover{background:var(--color-accent-hover)}.name-display{display:flex;align-items:center;gap:var(--space-2)}.edit-btn{background:none;border:none;cursor:pointer;padding:var(--space-1);opacity:.4;color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:var(--radius-sm)}.edit-btn:hover{opacity:1;background:var(--color-bg-hover)}.edit-name-form{display:flex;align-items:center;gap:var(--space-2)}.edit-name-form input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:14px;width:260px;background:var(--color-bg-secondary);color:var(--color-text-primary)}.edit-name-form input:focus{outline:none}.edit-name-form .save-btn{padding:var(--space-2) var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500}.edit-name-form .save-btn:hover:not(:disabled){background:var(--color-accent-hover)}.edit-name-form .cancel-btn{padding:var(--space-2) var(--space-3);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px}.edit-name-form .cancel-btn:hover{background:var(--color-bg-hover)}.project-meta{margin:0;color:var(--color-text-tertiary);font-size:13px}.delete-project-btn{padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.delete-project-btn:hover:not(:disabled){background:var(--color-error-muted);border-color:var(--color-error);color:var(--color-error)}.delete-project-btn:disabled{opacity:.5;cursor:not-allowed}.upload-section{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);border:1px solid var(--color-border)}.upload-section h2{margin:0 0 var(--space-4) 0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.dropzone{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-secondary)}.dropzone p{margin:0;color:var(--color-text-tertiary);font-size:13px}.dropzone .file-types{font-size:12px;margin-top:var(--space-2);font-family:var(--font-mono)}.selected-file{display:flex;align-items:center;justify-content:space-between;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-3)}.selected-file span{color:var(--color-text-secondary);font-size:13px;font-family:var(--font-mono)}.selected-file button{background:none;border:none;font-size:16px;color:var(--color-text-tertiary);cursor:pointer;padding:0;line-height:1}.mode-selection{margin-top:var(--space-4)}.mode-selection h3{margin:0 0 var(--space-3) 0;font-size:13px;font-weight:500;color:var(--color-text-secondary)}.mode-options{display:flex;gap:var(--space-3)}.mode-option{flex:1;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.mode-option:hover{border-color:var(--color-text-tertiary)}.mode-option input{margin-top:2px;accent-color:var(--color-accent)}.mode-info h4{margin:0 0 var(--space-1) 0;font-size:13px;color:var(--color-text-primary);font-weight:500}.mode-info p{margin:0;font-size:12px;color:var(--color-text-tertiary)}.create-job-btn{margin-top:var(--space-4);width:100%;padding:var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.create-job-btn:hover:not(:disabled){background:var(--color-accent-hover)}.create-job-btn:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.error-message{color:var(--color-error);font-size:13px;margin-top:var(--space-3)}.jobs-section{margin-top:var(--space-6)}.jobs-section h2{margin:0 0 var(--space-4) 0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.empty-jobs{text-align:center;padding:var(--space-10);background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.empty-jobs p{margin:0;color:var(--color-text-tertiary);font-size:14px}.jobs-table{width:100%;border-collapse:collapse}.jobs-table th{text-align:left;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);font-weight:500;color:var(--color-text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.jobs-table td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:13px}.jobs-table tbody tr{cursor:pointer;transition:background var(--transition-fast)}.jobs-table tbody tr:hover{background:var(--color-bg-hover)}.jobs-table .name-cell{font-weight:500;color:var(--color-text-primary);width:80%}.status-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.status-pending,.status-parsing,.status-scripting{background:var(--color-warning-muted);color:var(--color-warning)}.status-generating_images,.status-processing_images,.status-processing_audio,.status-editing,.status-rendering{background:var(--color-info-muted);color:var(--color-info)}.status-completed{background:var(--color-success-muted);color:var(--color-success)}.status-failed{background:var(--color-error-muted);color:var(--color-error)}.jobs-table .delete-btn{background:none;border:none;cursor:pointer;padding:var(--space-1);opacity:0;transition:all var(--transition-fast);border-radius:var(--radius-sm);color:var(--color-text-tertiary)}.jobs-table tbody tr:hover .delete-btn{opacity:.5}.jobs-table .delete-btn:hover:not(:disabled){opacity:1!important;color:var(--color-error);background:var(--color-error-muted)}.jobs-table .delete-btn:disabled{cursor:not-allowed}.loading,.error{text-align:center;padding:var(--space-12);color:var(--color-text-tertiary)}.error{color:var(--color-error)}.error a{color:var(--color-accent)}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-bg-surface);border-radius:var(--radius-xl);padding:var(--space-5);max-width:400px;width:90%;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:fadeIn .15s ease}.modal h3{margin:0 0 var(--space-3) 0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.modal p{margin:0 0 var(--space-5) 0;color:var(--color-text-secondary);font-size:14px;line-height:1.5}.modal p strong{color:var(--color-error)}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.modal-actions .cancel-btn{padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px}.modal-actions .cancel-btn:hover{background:var(--color-bg-hover)}.modal-actions .confirm-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500}.modal-actions .confirm-btn:hover:not(:disabled){background:var(--color-accent-hover)}.modal-actions .confirm-btn:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.create-video-btn{display:inline-flex;align-items:center;gap:var(--space-2)}.create-video-btn svg{flex-shrink:0;opacity:.8}.edit-btn svg{opacity:.5}.edit-btn:hover svg{opacity:1}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4)}.pagination button{padding:var(--space-1) var(--space-3);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.pagination button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-tertiary)}.pagination button:disabled{opacity:.3;cursor:not-allowed}.pagination .page-info{font-size:12px;color:var(--color-text-tertiary);min-width:80px;text-align:center}.ai-chat-panel{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.ai-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:0;overscroll-behavior:contain;scroll-behavior:auto;will-change:scroll-position}.ai-chat-empty{text-align:center;color:var(--color-text-tertiary, #888);padding:40px 20px}.ai-chat-empty p:first-child{font-size:14px;margin-bottom:8px}.ai-chat-hint{font-size:12px;font-style:italic;opacity:.7}.ai-chat-bubble{padding:8px 12px;border-radius:8px;max-width:90%;word-wrap:break-word}.ai-chat-bubble.user{align-self:flex-end;background:var(--color-accent-subtle, #1a3a5c);color:var(--color-text-primary, #eee)}.ai-chat-bubble.assistant{align-self:flex-start;background:var(--color-bg-secondary, #2a2a2a);color:var(--color-text-primary, #eee)}.ai-chat-bubble.streaming{border-left:2px solid var(--color-accent, #4a90d9)}.ai-chat-role{display:block;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--color-text-tertiary, #888);margin-bottom:2px}.ai-chat-text{font-size:13px;line-height:1.5;overflow-wrap:break-word}.ai-chat-markdown{white-space:normal}.ai-chat-markdown p{margin:0 0 8px}.ai-chat-markdown p:last-child{margin-bottom:0}.ai-chat-markdown strong{font-weight:600}.ai-chat-markdown em{font-style:italic}.ai-chat-markdown ul,.ai-chat-markdown ol{margin:4px 0 8px;padding-left:20px}.ai-chat-markdown li{margin-bottom:2px}.ai-chat-markdown code{background:var(--color-bg-tertiary, rgba(0, 0, 0, .06));padding:1px 4px;border-radius:3px;font-size:12px;font-family:SF Mono,Fira Code,monospace}.ai-chat-markdown pre{background:var(--color-bg-tertiary, rgba(0, 0, 0, .06));padding:8px 10px;border-radius:6px;overflow-x:auto;margin:6px 0}.ai-chat-markdown pre code{background:none;padding:0;font-size:12px}.ai-chat-markdown h1,.ai-chat-markdown h2,.ai-chat-markdown h3{font-size:13px;font-weight:600;margin:8px 0 4px}.ai-chat-markdown blockquote{border-left:3px solid var(--color-border, #ddd);margin:6px 0;padding:2px 10px;color:var(--color-text-secondary, #666)}.ai-chat-bubble.user .ai-chat-text{white-space:pre-wrap}.ai-chat-thinking{opacity:.5;font-style:italic}.ai-chat-assets{display:flex;gap:6px;padding:6px 12px;border-top:1px solid var(--color-border, #e0e0e0)}.ai-asset-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:4px 10px;border-radius:4px;border:1px solid var(--color-border, #555);background:var(--color-bg-secondary, #2a2a2a);color:var(--color-text-secondary, #ccc);cursor:pointer;white-space:nowrap}.ai-asset-btn:hover{background:var(--color-bg-hover, #333);color:var(--color-text-primary, #fff);border-color:var(--color-accent, #4a90d9)}.ai-page-range-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;border-top:1px solid var(--color-border, #e0e0e0);font-size:12px;flex-wrap:wrap}.ai-page-range-label{color:var(--color-text-secondary, #aaa);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.ai-page-range-field{display:flex;align-items:center;gap:4px;color:var(--color-text-secondary, #aaa)}.ai-page-range-input{width:56px;padding:3px 6px;border:1px solid var(--color-border, #555);border-radius:4px;background:var(--color-bg-secondary, #2a2a2a);color:var(--color-text-primary, #eee);font-size:12px;text-align:center}.ai-page-range-input::-webkit-inner-spin-button{opacity:1}.ai-chat-input-area{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--color-border, #e0e0e0);align-items:flex-end}.ai-chat-input{flex:1;resize:none;border:1px solid var(--color-border, #555);border-radius:6px;padding:8px;font-size:13px;font-family:inherit;background:var(--color-bg-secondary, #2a2a2a);color:var(--color-text-primary, #eee)}.ai-chat-input:disabled{opacity:.5}.ai-chat-send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;background:var(--color-accent, #4a90d9);color:#fff;cursor:pointer;flex-shrink:0}.ai-chat-send:disabled{opacity:.3;cursor:not-allowed}.ai-chat-send:hover:not(:disabled){opacity:.85}.ai-chat-welcome{display:flex;flex-direction:column;align-items:center;gap:12px}.ai-chat-welcome-title{font-size:15px;font-weight:600;color:var(--color-text-primary, #eee);margin:0}.ai-chat-starter-actions{display:flex;gap:8px;margin-top:4px}.ai-starter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:1px solid var(--color-accent, #4a90d9);background:var(--color-accent, #4a90d9);color:#fff;font-size:13px;cursor:pointer;transition:opacity .15s}.ai-starter-btn:hover{opacity:.85}.ai-starter-btn.secondary{background:transparent;color:var(--color-accent, #4a90d9)}.ai-starter-btn.secondary:hover{background:var(--color-accent-subtle, #1a3a5c)}.ai-chat-tool-activity{font-size:11px;font-style:italic;color:var(--color-accent, #4a90d9);opacity:.8;margin-top:4px;padding-top:4px;border-top:1px solid var(--color-border, #555)}.ai-chat-json-generating{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:var(--color-bg-tertiary, #1a1a2e);border-radius:6px;font-size:12px;color:var(--color-accent, #4a90d9)}.ai-chat-json-spinner{width:14px;height:14px;border:2px solid var(--color-border, #555);border-top-color:var(--color-accent, #4a90d9);border-radius:50%;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-bg-strip{display:flex;gap:6px;padding:4px 12px 6px;overflow-x:auto;flex-shrink:0}.ai-bg-thumb-wrapper{position:relative;flex-shrink:0}.ai-bg-thumb{width:56px;height:32px;object-fit:cover;border-radius:4px;border:1px solid var(--color-border, #555)}.ai-bg-delete{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;border:none;background:var(--color-error, #e53935);color:#fff;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s}.ai-bg-thumb-wrapper:hover .ai-bg-delete{opacity:1}.ai-chat-messages.ai-chat-dragover{position:relative}.ai-chat-drop-overlay{position:absolute;inset:0;background:#4a90d91f;border:2px dashed var(--color-accent, #4a90d9);border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.ai-chat-drop-label{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-accent, #4a90d9);font-size:14px;font-weight:600}.ai-chat-drop-hint{font-size:11px;font-weight:400;opacity:.7}.ai-generate-pptx-btn{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 14px;border-radius:4px;border:none;background:var(--color-accent, #4a90d9);color:#fff;cursor:pointer;white-space:nowrap;margin-left:auto;transition:opacity .15s}.ai-export-top-right{position:absolute;top:8px;right:8px;z-index:10;margin-left:0}.ai-generate-pptx-btn:hover:not(:disabled){opacity:.85}.ai-generate-pptx-btn:disabled{opacity:.5;cursor:not-allowed}.ai-generate-pptx-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ai-spin .8s linear infinite}.ai-template-picker-wrapper{position:relative}.ai-template-picker-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;min-width:200px;max-height:240px;overflow-y:auto;background:var(--color-bg-secondary, #1a1a1a);border:1px solid var(--color-border, #444);border-radius:6px;box-shadow:0 4px 16px #0006;z-index:50;padding:4px 0}.ai-template-picker-loading,.ai-template-picker-empty{padding:12px 14px;font-size:12px;color:var(--color-text-tertiary, #888);text-align:center}.ai-template-picker-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 14px;font-size:12px;background:none;border:none;color:var(--color-text-primary, #ddd);cursor:pointer;text-align:left;transition:background .1s}.ai-template-picker-item:hover{background:var(--color-bg-elevated, #2a2a2a)}.ai-template-picker-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-template-picker-mode{font-size:10px;color:var(--color-text-tertiary, #888);margin-left:8px;flex-shrink:0}.ai-template-picker-item.disabled{opacity:.4;cursor:not-allowed}.template-preview-panel{display:flex;flex-direction:column;height:100%;padding:0;overflow-y:auto;min-height:0}.template-preview-tabs{display:flex;gap:0;padding:16px 16px 0;border-bottom:1px solid var(--color-border, #444);position:sticky;top:0;z-index:20;background:var(--color-bg-primary, #111)}.tpl-tab{flex:1;padding:7px 0;font-size:12px;font-weight:600;color:var(--color-text-tertiary, #888);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.tpl-tab:hover{color:var(--color-text-primary, #eee)}.tpl-tab.active{color:var(--color-accent, #4a90d9);border-bottom-color:var(--color-accent, #4a90d9)}.template-preview-gallery{display:flex;flex-direction:column;gap:8px;padding:10px 16px 16px}.template-preview-loading{display:flex;align-items:center;gap:8px;padding:20px 0;color:var(--color-text-tertiary, #888);font-size:12px}.template-preview-spinner{width:16px;height:16px;border:2px solid var(--color-border, #555);border-top-color:var(--color-accent, #4a90d9);border-radius:50%;animation:tpl-spin .8s linear infinite}@keyframes tpl-spin{to{transform:rotate(360deg)}}.template-preview-error{color:var(--color-error, #e53935);font-size:12px;padding:8px;background:var(--color-error-subtle, #3a1a1a);border-radius:4px}.template-preview-slides-container{position:relative;display:flex;flex-direction:column;gap:8px}.template-preview-overlay{position:sticky;top:60px;z-index:15;display:flex;align-items:center;justify-content:center;gap:12px;background:#000000bf;border-radius:8px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:16px 24px;margin:0 auto 8px;width:fit-content}.template-preview-overlay span{color:#ccc;font-size:13px;font-weight:500}.template-preview-overlay-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--color-accent, #4a90d9);border-radius:50%;animation:tpl-spin .8s linear infinite}.template-preview-slide-wrapper{position:relative}.template-preview-slide-number{position:absolute;top:6px;left:6px;background:#0009;color:#fff;font-size:11px;font-weight:600;min-width:22px;height:22px;line-height:22px;text-align:center;border-radius:4px;padding:0 5px;z-index:2;pointer-events:none}.template-preview-slide{width:100%;border-radius:4px;border:1px solid var(--color-border, #555)}.template-preview-empty{color:var(--color-text-tertiary, #888);font-size:12px;text-align:center;padding:20px 0}.template-json-editor{display:flex;flex-direction:column;flex:1;min-height:0;padding:10px 16px 16px}.template-json-error{color:var(--color-error, #e53935);font-size:11px;padding:4px 8px;margin-bottom:4px;background:var(--color-error-subtle, #3a1a1a);border-radius:3px}.template-json-textarea{flex:1;min-height:200px;resize:none;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;line-height:1.5;color:var(--color-text-primary, #ddd);background:var(--color-bg-secondary, #1a1a1a);border:1px solid var(--color-border, #444);border-radius:4px;padding:10px;tab-size:2;white-space:pre;overflow:auto}.template-json-textarea:focus{outline:none;border-color:var(--color-accent, #4a90d9)}.template-json-textarea::placeholder{color:var(--color-text-tertiary, #666);font-style:italic}.pptx-chat-page{display:flex;flex-direction:column;height:calc(100vh - 26px);max-height:calc(100vh - 26px);color:var(--color-text-primary);overflow:hidden}.pptx-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.pptx-chat-header h1{margin:0;font-size:16px;font-weight:600;letter-spacing:-.02em}.pptx-chat-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.pptx-chat-back-btn:hover{background:var(--color-bg-hover, #333);color:var(--color-text-primary);border-color:var(--color-accent)}.pptx-chat-header-actions{display:flex;align-items:center;gap:var(--space-2)}.pptx-chat-save-btn{background:var(--color-accent);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.pptx-chat-save-btn:hover:not(:disabled){background:var(--color-accent-hover)}.pptx-chat-save-btn:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.pptx-chat-body{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;min-height:0;overflow:hidden}.pptx-chat-body>:first-child{overflow:hidden;min-height:0;border-right:1px solid var(--color-border)}.pptx-chat-body>:last-child{overflow-y:auto;min-height:0}.pptx-chat-name-prompt{background:var(--color-bg-secondary);border:1px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.pptx-chat-name-prompt label{display:block;font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.pptx-chat-name-row{display:flex;gap:var(--space-2)}.pptx-chat-name-row input{flex:1;padding:var(--space-2) var(--space-3);font-size:13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary)}.pptx-chat-name-row input:focus{outline:none;border-color:var(--color-accent)}.pptx-chat-name-row button{white-space:nowrap;background:var(--color-accent);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:#fff;font-size:13px;font-weight:500;cursor:pointer}.pptx-chat-name-row button:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.pptx-chat-error{padding:var(--space-2) var(--space-4);background:var(--color-error-muted);color:var(--color-error);font-size:13px}.settings-page{color:var(--color-text-primary);padding:var(--space-6) var(--space-8);max-width:860px;margin:0 auto;padding-bottom:var(--space-6)}.settings-header h1{margin:0 0 var(--space-6) 0;font-size:20px;font-weight:600;letter-spacing:-.03em}.settings-loading{color:var(--color-text-tertiary);font-size:13px}.settings-error{padding:var(--space-3) var(--space-4);background:var(--color-error-muted);border-radius:var(--radius-lg);color:var(--color-error);font-size:13px;margin-bottom:var(--space-4)}.settings-success{padding:var(--space-3) var(--space-4);background:var(--color-success-muted);border-radius:var(--radius-lg);color:var(--color-success);font-size:13px;margin-bottom:var(--space-4)}.settings-section{margin-bottom:var(--space-6)}.settings-section h3{margin:0 0 var(--space-3) 0;font-size:13px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}.settings-section-desc{margin:calc(-1 * var(--space-2)) 0 var(--space-3) 0;font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.settings-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-5) 0}.settings-card-subtitle{margin:0 0 var(--space-1) 0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.settings-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.form-field{margin-bottom:var(--space-4)}.form-field:last-child{margin-bottom:0}.form-field label{display:block;font-size:12px;color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:500}.form-field input,.form-field select{width:100%;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--color-text-primary);font-size:13px;transition:all var(--transition-fast);box-sizing:border-box}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.form-row{display:flex;gap:var(--space-4)}.form-row .form-field{flex:1}.field-hint{display:block;font-size:11px;color:var(--color-text-tertiary);margin-top:var(--space-1);line-height:1.4}.api-key-link{margin-left:8px;font-size:.85em;font-weight:500;color:var(--color-accent);text-decoration:none;cursor:pointer}.api-key-link:hover{text-decoration:underline;color:var(--color-accent-hover)}.api-key-row{display:flex;align-items:center;gap:var(--space-2)}.api-key-row input{flex:1}.key-status{font-size:11px;padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;font-weight:500}.key-status.configured{background:var(--color-success-muted);color:var(--color-success)}.save-key-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.save-key-btn:hover:not(:disabled){background:var(--color-accent-hover)}.save-key-btn:disabled{opacity:.4;cursor:not-allowed}.credits-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.credits-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.credits-btn:disabled{opacity:.4;cursor:not-allowed}.card-subheading{margin:0 0 var(--space-3) 0;font-size:14px;font-weight:600;color:var(--color-text-primary);letter-spacing:.02em}.credits-card,.credits-card-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.credits-card-inline{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--color-bg-subtle, rgba(0, 0, 0, .02));border-radius:6px}.credits-display{flex:1}.credits-value{display:flex;align-items:baseline;gap:var(--space-2)}.credits-number{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.credits-label,.credits-placeholder{font-size:13px;color:var(--color-text-tertiary)}.settings-actions{position:sticky;bottom:0;padding:var(--space-4) 0;background:linear-gradient(transparent,var(--color-bg-surface) 40%);z-index:10;display:flex;justify-content:center;margin-top:var(--space-4)}.save-btn{padding:var(--space-2) var(--space-8);background:var(--color-accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);pointer-events:auto}.save-btn:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-lg)}.save-btn:disabled{opacity:.4;cursor:not-allowed}.voice-clone-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.voice-clone-header .settings-card-subtitle{margin-bottom:var(--space-1)}.voice-clone-header .settings-section-desc{margin:0}.voice-add-btn{width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.voice-add-btn:hover{background:var(--color-bg-hover);border-color:var(--color-accent);color:var(--color-accent)}.voice-clone-active{border-color:var(--color-accent)}.voice-clones-list{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2)}.voice-clones-list::-webkit-scrollbar{height:4px}.voice-clones-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.voice-clone-card{padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-2);position:relative;transition:border-color var(--transition-fast);min-width:200px;max-width:220px;flex-shrink:0}.voice-clone-card.voice-clone-active{border-color:var(--color-accent)}.voice-clone-system-badge{font-size:10px;padding:1px var(--space-2);background:var(--color-accent-subtle);color:var(--color-accent);border-radius:var(--radius-sm);font-weight:500}.voice-clone-card .template-item-info{flex-direction:column;align-items:flex-start;gap:var(--space-1);padding-right:var(--space-5)}.voice-clone-card .template-item-name{font-size:14px}.voice-clone-card .template-item-actions{margin-top:auto;padding-top:var(--space-2)}.vc-card-actions-top{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:2px}.vc-subtle-btn{background:none;border:none;color:var(--color-text-tertiary);font-size:11px;cursor:pointer;padding:2px 4px;line-height:1;opacity:.5;transition:all var(--transition-fast)}.vc-subtle-btn:hover{opacity:1;color:var(--color-text-secondary)}.vc-subtle-btn.vc-delete-btn:hover{color:var(--color-error)}.vc-icon-btn{width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all var(--transition-fast)}.vc-icon-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.vc-icon-btn:disabled{opacity:.4;cursor:not-allowed}.vc-sample-spinner{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.vc-spinner{display:block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.vc-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.vc-modal{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:420px;max-width:90vw;animation:fadeIn .15s ease}.vc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.vc-modal-header h4{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary)}.vc-modal-close{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.vc-modal-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.vc-modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.vc-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.template-item{padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-1);transition:border-color var(--transition-fast)}.template-item:hover{border-color:var(--color-text-tertiary)}.template-item-info{display:flex;align-items:center;gap:var(--space-2)}.template-item-name{font-size:13px;font-weight:500;color:var(--color-text-primary)}.template-item-lang{font-size:10px;padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-tertiary);font-weight:500}.template-item-desc{font-size:12px;color:var(--color-text-tertiary);margin:var(--space-1) 0;line-height:1.4}.template-item-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2)}.template-editor{padding:var(--space-4) 0;border-top:1px solid var(--color-border);margin-top:var(--space-3)}.template-textarea{width:100%;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--color-text-primary);font-size:13px;font-family:inherit;resize:vertical;box-sizing:border-box;transition:border-color var(--transition-fast)}.template-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.template-editor-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.settings-section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.settings-section-toggle:hover{color:var(--color-text-primary)}.admin-page-link{display:block;font-size:13px;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.admin-page-link:hover{color:var(--color-accent)}.admin-back-link{display:inline-block;font-size:12px;color:var(--color-text-tertiary);text-decoration:none;margin-bottom:var(--space-2);transition:color var(--transition-fast)}.admin-back-link:hover{color:var(--color-text-primary)}.custom-scenes-scroll{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);margin-bottom:var(--space-3)}.custom-scenes-scroll::-webkit-scrollbar{height:4px}.custom-scenes-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.custom-scene-card{position:relative;flex-shrink:0;width:160px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-fast)}.custom-scene-card:hover{border-color:var(--color-text-tertiary)}.custom-scene-card-img-wrap{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden}.custom-scene-card-img{width:100%;height:100%;object-fit:cover;display:block}.custom-scene-delete-btn{position:absolute;top:2px;right:2px;width:12px;height:12px;border:none;border-radius:0;background:transparent;color:#ffffff80;cursor:pointer;padding:0;opacity:0;pointer-events:none;z-index:2;transition:opacity .15s ease,color .15s ease}.custom-scene-delete-btn svg{display:block}.custom-scene-card:hover .custom-scene-delete-btn{opacity:1;pointer-events:auto}.custom-scene-delete-btn:hover{color:#ffffffd9}.custom-scene-card-body{padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.custom-scene-card-name{font-size:12px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-scene-card-narration{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-scene-edit-btn{position:absolute;bottom:4px;right:4px;width:22px;height:22px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-tertiary);font-size:12px;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.custom-scene-card:hover .custom-scene-edit-btn{display:flex}.custom-scene-edit-btn:hover{color:var(--color-accent);background:var(--color-bg-hover)}.custom-scene-confirm-overlay{position:absolute;inset:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);z-index:5}.custom-scene-confirm-overlay p{margin:0;font-size:12px;color:var(--color-error);font-weight:500}.custom-scene-confirm-actions{display:flex;gap:var(--space-2)}.custom-scene-confirm-actions .save-key-btn,.custom-scene-confirm-actions .credits-btn{padding:var(--space-1) var(--space-3);font-size:11px}.settings-section-small{opacity:.6;transition:opacity var(--transition-normal)}.settings-section-small:hover,.settings-section-small:focus-within{opacity:1}.settings-section-small h3{font-size:12px;color:var(--color-text-tertiary)}.settings-section-small .settings-card{padding:var(--space-4)}.settings-section-small .form-field label{font-size:11px}.settings-section-small .form-field input,.settings-section-small .form-field select{font-size:12px;padding:var(--space-1) var(--space-2)}.settings-section-small .credits-number{font-size:20px}.settings-section-small .credits-label,.settings-section-small .credits-placeholder{font-size:11px}.settings-section-small .credits-btn,.settings-section-small .save-key-btn{font-size:11px;padding:var(--space-1) var(--space-3)}.provider-disclaimer{background:var(--color-warning-muted);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);font-size:11px;line-height:1.5;color:var(--color-text-secondary)}.provider-disclaimer p{margin:0}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.admin-count{font-size:13px;color:var(--color-text-tertiary)}.admin-toolbar-actions{display:flex;gap:var(--space-2)}.admin-create-form{margin-bottom:var(--space-4)}.admin-user-list{display:flex;flex-direction:column}.admin-user-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);gap:var(--space-3)}.admin-user-row:last-child{border-bottom:none}.admin-user-disabled{opacity:.55}.admin-user-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.admin-user-primary{display:flex;align-items:center;gap:var(--space-2)}.admin-user-name{font-size:14px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-email{font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-meta{font-size:11px;color:var(--color-text-tertiary)}.admin-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-success-muted);color:var(--color-success);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.admin-badge-disabled{background:var(--color-error-muted);color:var(--color-error)}.admin-user-actions{display:flex;gap:var(--space-2);flex-shrink:0}.docs-page{min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column}.docs-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#0a0a0acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-subtle)}.docs-header-inner{padding:var(--space-4) var(--space-6);display:flex;align-items:center;gap:var(--space-4)}.docs-logo{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:15px;color:var(--color-text-primary);text-decoration:none}.docs-logo .logo-icon{width:28px;height:28px;background:var(--color-accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}.docs-header-title{font-size:13px;color:var(--color-text-tertiary);padding-left:var(--space-4);border-left:1px solid var(--color-border)}.docs-header-actions{margin-left:auto}.docs-dashboard-btn{padding:var(--space-2) var(--space-4);font-size:13px;font-weight:500;background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.docs-dashboard-btn:hover{background:var(--color-bg-hover);border-color:var(--color-text-tertiary)}.docs-layout{display:flex;padding-top:72px;width:100%;min-height:100vh}.docs-sidebar{width:240px;flex-shrink:0;padding:var(--space-6) var(--space-4) var(--space-6) var(--space-6);position:sticky;top:72px;height:calc(100vh - 72px);overflow-y:auto}.docs-toc{display:flex;flex-direction:column;gap:var(--space-1)}.docs-toc>div{margin-bottom:var(--space-2)}.docs-toc-group{display:flex;flex-direction:column}.docs-toc-link{display:block;font-size:13px;color:var(--color-text-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-decoration:none;line-height:1.5;transition:all var(--transition-fast)}.docs-toc-link:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.docs-toc-link.active{color:var(--color-accent)}.docs-toc-toggle{background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;display:flex;align-items:center;width:100%}.docs-toc-label{flex:1;text-align:left}.docs-toc-chevron{display:inline-block;font-size:14px;transition:transform .15s ease;margin-left:auto;flex-shrink:0}.docs-toc-toggle.expanded .docs-toc-chevron{transform:rotate(90deg)}.docs-toc-children{display:flex;flex-direction:column;margin-top:var(--space-1);margin-left:var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--color-border)}.docs-toc-sub{padding-left:var(--space-2);font-size:12px;color:var(--color-text-tertiary);opacity:.85}.docs-content{flex:1;padding:var(--space-8) var(--space-6);max-width:860px;margin:0 auto;margin-left:calc(50% - 610px)}.docs-content h1{font-size:32px;font-weight:600;letter-spacing:-.03em;margin-bottom:var(--space-2)}.docs-intro{font-size:15px;color:var(--color-text-secondary);margin-bottom:var(--space-10);line-height:1.6}.docs-section{margin-bottom:var(--space-10);scroll-margin-top:96px}.docs-section h2{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.docs-subsection{margin-left:var(--space-4);margin-bottom:var(--space-6)}.docs-subsection h3{font-size:16px;font-weight:600;letter-spacing:-.01em;margin-bottom:var(--space-2);color:var(--color-text-primary)}.docs-sub-subsection{margin-left:var(--space-8);margin-bottom:var(--space-4)}.docs-sub-subsection h4{font-size:14px;font-weight:600;margin-bottom:var(--space-1);color:var(--color-text-secondary)}.docs-section p{font-size:14px;color:var(--color-text-secondary);line-height:1.7;margin:0}.docs-steps{margin:var(--space-4) 0 0;padding-left:var(--space-5)}.docs-steps li{font-size:14px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-2)}.docs-steps li::marker{color:var(--color-accent);font-weight:600}@media(max-width:768px){.docs-sidebar{display:none}.docs-content{padding:var(--space-6) var(--space-4)}.docs-content h1{font-size:24px}}.docs-markdown h2{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-top:var(--space-8);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle);scroll-margin-top:96px}.docs-markdown h3{font-size:16px;font-weight:600;margin-top:var(--space-6);margin-bottom:var(--space-2);scroll-margin-top:96px}.docs-markdown h4{font-size:14px;font-weight:600;margin-top:var(--space-4);margin-bottom:var(--space-1);color:var(--color-text-secondary);scroll-margin-top:96px}.docs-markdown span[id]{scroll-margin-top:96px}.docs-markdown p{font-size:14px;color:var(--color-text-secondary);line-height:1.7;margin:var(--space-2) 0}.docs-markdown ul,.docs-markdown ol{margin:var(--space-3) 0;padding-left:var(--space-5)}.docs-markdown li{font-size:14px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-1)}.docs-markdown ol li::marker{color:var(--color-accent);font-weight:600}.docs-markdown img,.docs-markdown video{max-width:100%;border-radius:8px;margin:var(--space-4) 0}.docs-markdown code{font-family:SF Mono,Fira Code,monospace;font-size:12px;background:var(--color-bg-elevated);padding:2px 6px;border-radius:4px}.docs-markdown pre{background:var(--color-bg-elevated);padding:var(--space-4);border-radius:8px;overflow-x:auto;margin:var(--space-4) 0}.docs-markdown pre code{background:none;padding:0}.docs-markdown blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-4);margin:var(--space-4) 0;color:var(--color-text-tertiary)}.docs-markdown a{color:var(--color-accent);text-decoration:none}.docs-markdown a:hover{text-decoration:underline}.docs-edit-btn{padding:var(--space-2) var(--space-4);font-size:13px;background:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.docs-edit-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.docs-loading{text-align:center;padding:var(--space-10);color:var(--color-text-tertiary);font-size:14px}.docs-markdown .docs-grid-2,.docs-markdown .docs-grid-3,.docs-markdown .docs-grid-4{display:grid;gap:var(--space-3);margin:var(--space-4) 0}.docs-markdown .docs-grid-2{grid-template-columns:repeat(2,1fr)}.docs-markdown .docs-grid-3{grid-template-columns:repeat(3,1fr)}.docs-markdown .docs-grid-4{grid-template-columns:repeat(4,1fr)}.docs-markdown .docs-grid-2 p,.docs-markdown .docs-grid-3 p,.docs-markdown .docs-grid-4 p{display:contents}.docs-markdown .docs-grid-2 img,.docs-markdown .docs-grid-3 img,.docs-markdown .docs-grid-4 img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:6px;margin:0}.docs-markdown .docs-grid-2 video,.docs-markdown .docs-grid-3 video,.docs-markdown .docs-grid-4 video{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:6px;margin:0}@media(max-width:768px){.docs-markdown .docs-grid-3,.docs-markdown .docs-grid-4{grid-template-columns:repeat(2,1fr)}}.docs-markdown .docs-hero{margin:var(--space-6) 0;text-align:center}.docs-markdown .docs-hero p{display:contents}.docs-markdown .docs-hero img,.docs-markdown .docs-hero video{width:100%;max-width:100%;border-radius:8px;margin:0}.docs-markdown .docs-hero figcaption{font-size:13px;color:var(--color-text-tertiary);margin-top:var(--space-2);font-style:italic}.docs-markdown .docs-text-image{display:flex;gap:var(--space-6);align-items:flex-start;margin:var(--space-6) 0}.docs-markdown .docs-text-image-text{flex:0 0 40%}.docs-markdown .docs-text-image-media{flex:0 0 60%}.docs-markdown .docs-text-image-media p{display:contents}.docs-markdown .docs-text-image-media img,.docs-markdown .docs-text-image-media video{width:100%;border-radius:8px;margin:0}@media(max-width:768px){.docs-markdown .docs-text-image{flex-direction:column}.docs-markdown .docs-text-image-text,.docs-markdown .docs-text-image-media{flex:1 1 100%}}.docs-markdown .docs-text-image-sm{display:flex;gap:var(--space-6);align-items:flex-start;margin:var(--space-6) 0}.docs-markdown .docs-text-image-sm-text{flex:0 0 70%}.docs-markdown .docs-text-image-sm-media{flex:0 0 30%}.docs-markdown .docs-text-image-sm-media p{display:contents}.docs-markdown .docs-text-image-sm-media img,.docs-markdown .docs-text-image-sm-media video{width:100%;border-radius:8px;margin:0}@media(max-width:768px){.docs-markdown .docs-text-image-sm{flex-direction:column}.docs-markdown .docs-text-image-sm-text,.docs-markdown .docs-text-image-sm-media{flex:1 1 100%}}.docs-toc-entry-row{display:flex;align-items:center;gap:2px}.docs-toc-entry-row .docs-toc-link{flex:1;min-width:0}.docs-toc-admin-actions{display:none;align-items:center;gap:1px;flex-shrink:0}.docs-toc-entry-row:hover .docs-toc-admin-actions{display:flex}.docs-toc-action-btn{background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-text-tertiary);padding:2px 4px;border-radius:3px;line-height:1;opacity:.6;transition:all var(--transition-fast)}.docs-toc-action-btn:hover{opacity:1;background:var(--color-bg-hover);color:var(--color-text-primary)}.docs-toc-delete-btn:hover{color:var(--color-error, #ef4444)}.docs-toc-add-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.docs-toc-add-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-2);font-size:12px;font-family:inherit;font-weight:500;background:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.docs-toc-add-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.docs-toc-add-form{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2)}.docs-toc-add-input{font-size:12px;padding:var(--space-1) var(--space-2);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);outline:none}.docs-toc-add-input:focus{border-color:var(--color-accent)}.docs-toc-add-buttons{display:flex;gap:var(--space-2)}.docs-toc-add-confirm{font-size:12px;font-weight:500;padding:var(--space-1) var(--space-3);background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.docs-toc-add-confirm:hover{background:var(--color-bg-hover);border-color:var(--color-text-tertiary)}.docs-toc-add-confirm:disabled{opacity:.4;cursor:not-allowed}.docs-toc-add-cancel{font-size:12px;padding:var(--space-1) var(--space-3);background:none;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.docs-toc-add-cancel:hover{color:var(--color-text-secondary);border-color:var(--color-text-tertiary)}.app{min-height:100vh;background-color:var(--color-bg-primary)}.app--public{display:flex;flex-direction:column}.app--with-sidebar{display:flex}.app--with-sidebar{background:var(--color-bg-primary);padding:var(--space-3);padding-left:calc(var(--sidebar-width) + var(--space-3));min-height:100vh}.app--with-sidebar .app-content{background:var(--color-bg-surface);border-radius:var(--radius-lg);min-height:calc(100vh - var(--space-6));position:relative;z-index:100;box-shadow:0 0 40px #0000004d;border:1px solid var(--color-border)}.app--editor{background:var(--color-bg-primary);padding:var(--space-3);min-height:100vh}.app--editor .app-content{display:flex;flex-direction:column;background:var(--color-bg-surface);border-radius:var(--radius-lg);min-height:calc(100vh - var(--space-6));border:1px solid var(--color-border);box-shadow:0 0 40px #0000004d;overflow:hidden}.app-content{flex:1}.upload-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8);position:relative}.upload-nav{position:absolute;top:var(--space-6);left:var(--space-6)}.upload-nav .nav-link{color:var(--color-text-secondary);text-decoration:none;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-surface);border:1px solid var(--color-border);transition:all var(--transition-fast)}.upload-nav .nav-link:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.upload-page h1{margin-bottom:var(--space-6);color:var(--color-text-primary);font-size:24px;font-weight:600;letter-spacing:-.02em}.upload-container{background:var(--color-bg-surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);max-width:480px;width:100%;border:1px solid var(--color-border)}.dropzone{border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-secondary)}.dropzone:hover,.dropzone.drag-over{border-color:var(--color-accent);background:var(--color-accent-subtle)}.dropzone p{margin:var(--space-2) 0;color:var(--color-text-secondary);font-size:13px}.dropzone .file-types{font-size:12px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.selected-file{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-success-muted);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center}.selected-file span{color:var(--color-success);font-weight:500;font-size:13px;font-family:var(--font-mono)}.selected-file button{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:16px;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--transition-fast);line-height:1}.selected-file button:hover{color:var(--color-error)}.mode-selection{margin-top:var(--space-5)}.mode-selection h3{margin-bottom:var(--space-3);color:var(--color-text-primary);font-size:13px;font-weight:600}.mode-options{display:flex;flex-direction:column;gap:var(--space-2)}.mode-option{display:flex;align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-secondary)}.mode-option:hover{border-color:var(--color-text-tertiary);background:var(--color-bg-elevated)}.mode-option.selected{border-color:var(--color-accent);background:var(--color-accent-subtle)}.mode-option input{margin-right:var(--space-3);margin-top:2px;accent-color:var(--color-accent)}.mode-option .mode-info h4{margin:0 0 var(--space-1) 0;color:var(--color-text-primary);font-size:13px;font-weight:500}.mode-option .mode-info p{margin:0;font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.mode-option.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.mode-hint{margin-top:var(--space-1);font-size:11px;color:var(--color-warning, #b8860b);font-style:italic}.scene-count-selection{margin-top:var(--space-5)}.scene-count-selection h3{margin-bottom:var(--space-2);color:var(--color-text-primary);font-size:13px;font-weight:600}.scene-count-hint{margin:0 0 var(--space-3) 0;font-size:12px;color:var(--color-text-tertiary)}.scene-count-input{display:flex;align-items:center;gap:var(--space-4)}.scene-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--color-border);border-radius:2px;outline:none;cursor:pointer}.scene-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-accent);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast)}.scene-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.scene-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-accent);border-radius:50%;cursor:pointer;border:none}.scene-count-value{min-width:70px;font-weight:500;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:13px}.upload-button{margin-top:var(--space-5);width:100%;padding:var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.upload-button:hover:not(:disabled){background:var(--color-accent-hover)}.upload-button:disabled{background:var(--color-border);color:var(--color-text-tertiary);cursor:not-allowed}.error-message{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-error-muted);border-radius:var(--radius-md);color:var(--color-error);font-size:13px}.template-selection{margin-top:var(--space-5)}.template-selection h3{margin-bottom:var(--space-3);color:var(--color-text-primary);font-size:13px;font-weight:600}.template-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.template-option{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-secondary)}.template-option:hover{border-color:var(--color-text-tertiary);background:var(--color-bg-elevated)}.template-option.selected{border-color:var(--color-accent);background:var(--color-accent-subtle)}.template-option input{margin-right:var(--space-2);accent-color:var(--color-accent)}.template-info{display:flex;flex-direction:column}.template-name{font-size:12px;font-weight:500;color:var(--color-text-primary)}.user-prompt-section{margin-top:var(--space-5);position:relative}.user-prompt-section h3{margin-bottom:var(--space-3);color:var(--color-text-primary);font-size:13px;font-weight:600}.optional-label{font-weight:400;color:var(--color-text-tertiary);font-size:12px}.user-prompt-input{width:100%;padding:var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px;line-height:1.5;resize:vertical;min-height:72px;transition:border-color var(--transition-fast)}.user-prompt-input::placeholder{color:var(--color-text-tertiary)}.user-prompt-input:focus{outline:none;border-color:var(--color-accent)}.char-count{display:block;text-align:right;font-size:11px;color:var(--color-text-tertiary);margin-top:var(--space-1);font-family:var(--font-mono)}
