:root{--color-bg:#0a0e1a;--color-bg-elevated:#111827;--color-bg-card:#1a2035;--color-bg-input:#0f1629;--color-border:#2a3555;--color-border-focus:#4f8ff7;--color-text:#e8ecf4;--color-text-secondary:#8b95ab;--color-text-muted:#5a647a;--color-primary:#4f8ff7;--color-primary-hover:#6ba3ff;--color-primary-glow:rgba(79,143,247,.25);--color-accent:#a78bfa;--color-success:#34d399;--color-warning:#fbbf24;--color-error:#f87171;--color-danger:#ef4444;--gradient-primary:linear-gradient(135deg,#4f8ff7,#a78bfa);--gradient-bg:linear-gradient(180deg,#0a0e1a,#111827);--gradient-card:linear-gradient(145deg,#1a2035,#141a2e);--font-sans:"Noto Sans JP","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5);--shadow-glow:0 0 20px var(--color-primary-glow)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;min-height:100vh}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.animate-fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.generating-pulse{animation:pulse 1.5s ease-in-out infinite}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.flex-1{flex:1 1}.required{color:var(--color-error)}.app-container{max-width:960px;margin:0 auto;padding:0 var(--space-lg);min-height:100vh;display:flex;flex-direction:column}.app-header{text-align:center;padding:var(--space-2xl) 0 var(--space-lg)}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.save-indicator{font-size:.75rem;padding:2px 8px;border-radius:4px;animation:fadeIn .2s ease}.save-saving{color:var(--color-primary)}.save-saved{color:rgba(34,197,94,.9)}.save-error{color:rgba(239,68,68,.9)}.app-title{font-size:2rem;font-weight:700;display:flex;align-items:center;gap:var(--space-sm)}.title-icon{font-size:1.6rem}.app-subtitle{color:var(--color-text-secondary);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}.main-content{flex:1 1;padding-bottom:var(--space-2xl)}.app-footer{text-align:center;padding:var(--space-lg) 0;color:var(--color-text-muted);font-size:.8rem;border-top:1px solid var(--color-border)}.wizard-stepper{justify-content:center;padding:var(--space-lg) 0;gap:0;overflow-x:auto}.wizard-step,.wizard-step-wrapper,.wizard-stepper{display:flex;align-items:center}.wizard-step{flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:none;background:transparent;cursor:pointer;color:var(--color-text-muted);transition:all .3s ease;border-radius:var(--radius-md);min-width:80px}.wizard-step:hover:not(:disabled){color:var(--color-text-secondary);background:var(--color-bg-elevated)}.wizard-step.active{color:var(--color-primary);background:rgba(79,143,247,.1)}.wizard-step.completed{color:var(--color-success)}.wizard-step:disabled{opacity:.3;cursor:not-allowed}.wizard-step-icon{font-size:1.3rem}.wizard-step-label{font-size:.7rem;font-weight:500;white-space:nowrap}.wizard-connector{width:32px;height:2px;background:var(--color-border);transition:background .3s ease}.wizard-connector.completed{background:var(--color-success)}.step-container{background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.step-header{margin-bottom:var(--space-xl)}.step-header h2{font-size:1.4rem;font-weight:700;margin-bottom:var(--space-xs)}.step-description{color:var(--color-text-secondary);font-size:.9rem}.step-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.form-grid{gap:var(--space-lg)}.form-grid,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-sm)}.form-label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary)}.form-row{display:flex;gap:var(--space-lg)}.input,.textarea,select{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.input:focus,.textarea:focus,select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-glow)}.textarea{resize:vertical;line-height:1.6}.textarea-large{min-height:200px;font-size:.95rem}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%238b95ab' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.btn,select{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.85rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-text)}.btn-danger{color:var(--color-danger);border-color:rgba(239,68,68,.3)}.btn-small{padding:4px 10px;font-size:.75rem;flex-shrink:0}.btn-danger:hover:not(:disabled){background:rgba(239,68,68,.1)}.btn-large{padding:var(--space-md) var(--space-xl);font-size:.95rem}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:.8rem}.btn-glow{box-shadow:var(--shadow-glow)}.btn-glow:hover:not(:disabled){box-shadow:0 0 30px var(--color-primary-glow)}.genre-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.genre-chip{padding:var(--space-xs) var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:all .2s ease}.genre-chip:hover{border-color:var(--color-primary);color:var(--color-text)}.genre-chip.active{background:rgba(79,143,247,.15);border-color:var(--color-primary);color:var(--color-primary)}.length-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-sm);gap:var(--space-sm)}.length-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:var(--font-sans);color:var(--color-text)}.length-card.active,.length-card:hover{border-color:var(--color-primary)}.length-card.active{background:rgba(79,143,247,.1);box-shadow:0 0 12px var(--color-primary-glow)}.length-label{font-size:.9rem;font-weight:500}.length-meta{font-size:.75rem;color:var(--color-text-muted)}.radio-group{display:flex;gap:var(--space-md)}.radio-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:.9rem;color:var(--color-text-secondary)}.radio-label input[type=radio]{accent-color:var(--color-primary);width:16px;height:16px}.character-layout{display:grid;grid-template-columns:200px 1fr;grid-gap:var(--space-lg);gap:var(--space-lg);min-height:400px}.character-list{gap:var(--space-xs)}.character-list,.character-tab{display:flex;flex-direction:column}.character-tab{align-items:flex-start;padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-family:var(--font-sans);color:var(--color-text-secondary);text-align:left;width:100%}.character-tab:hover{background:var(--color-bg-elevated)}.character-tab.active{background:rgba(79,143,247,.1);border-color:var(--color-primary);color:var(--color-text)}.character-tab-name{font-size:.9rem;font-weight:500}.character-tab-role{font-size:.7rem;color:var(--color-text-muted)}.character-add-btn{padding:var(--space-sm) var(--space-md);background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);font-family:var(--font-sans);font-size:.85rem;transition:all .2s ease}.character-add-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.character-empty,.character-form{display:flex;flex-direction:column;gap:var(--space-md)}.character-empty{align-items:center;justify-content:center;color:var(--color-text-muted)}.generate-prompt-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);padding:var(--space-2xl);text-align:center}.generate-info h3{font-size:1.2rem;margin-bottom:var(--space-sm)}.generate-info p{color:var(--color-text-secondary);margin-bottom:var(--space-md)}.generate-checklist{list-style:none;text-align:left;display:inline-block}.generate-checklist li{padding:var(--space-xs) 0;color:var(--color-text-secondary);font-size:.9rem}.generate-checklist li:before{content:"✓ ";color:var(--color-success)}.plot-editor{display:flex;flex-direction:column;gap:var(--space-lg)}.plot-point-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.plot-point-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-input);border-radius:50%;font-size:.75rem;color:var(--color-text-muted);flex-shrink:0}.foreshadow-list{display:flex;flex-direction:column;gap:var(--space-sm)}.foreshadow-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border-radius:var(--radius-sm);font-size:.85rem}.foreshadow-desc{color:var(--color-text)}.foreshadow-meta{color:var(--color-accent);font-size:.75rem;white-space:nowrap}.regenerate-area{display:flex;justify-content:center;padding-top:var(--space-md)}.error-text{color:var(--color-error);font-size:.85rem;text-align:center}.error-retry-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl);background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);text-align:center;animation:errorSlideIn .4s ease-out;margin-top:var(--space-md)}.error-retry-icon{font-size:2rem;line-height:1}.error-retry-message{color:var(--color-error);font-size:.9rem;font-weight:500;line-height:1.5;max-width:400px}.error-retry-hint{font-size:.75rem;color:var(--color-text-muted);max-width:360px;line-height:1.5}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.chapter-list-container{display:flex;flex-direction:column;gap:var(--space-sm)}.chapter-card{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s ease}.chapter-card.expanded{border-color:var(--color-primary)}.chapter-card-header{display:flex;align-items:center;width:100%;padding:var(--space-md);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);color:var(--color-text);text-align:left;gap:var(--space-md)}.chapter-card-title{flex:1 1;display:flex;align-items:center;gap:var(--space-sm)}.chapter-num{font-size:.8rem;font-weight:600;color:var(--color-primary);min-width:50px}.chapter-title-text{font-weight:500}.chapter-meta{font-size:.75rem;color:var(--color-text-muted)}.chapter-expand-icon{font-size:.7rem;color:var(--color-text-muted)}.chapter-card-body{padding:0 var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-md);border-top:1px solid var(--color-border);padding-top:var(--space-md)}.condition-start{color:var(--color-success)}.condition-end{color:var(--color-error)}.chapter-connection{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0}.connection-line{flex:1 1;height:1px;background:var(--color-border)}.connection-label{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.progress-overview{margin-bottom:var(--space-xl)}.progress-bar-container{height:8px;background:var(--color-bg-input);border-radius:4px;overflow:hidden;margin-bottom:var(--space-sm)}.progress-bar-fill{height:100%;background:var(--gradient-primary);border-radius:4px;transition:width .5s ease}.progress-stats{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-secondary)}.generation-chapter-list{display:flex;flex-direction:column;gap:var(--space-xs)}.gen-chapter-row{display:flex;flex-direction:column;padding:0;background:var(--color-bg-input);border-radius:var(--radius-sm);border:1px solid transparent;transition:all .3s ease}.gen-chapter-row.completed,.gen-chapter-row.reviewed{border-color:rgba(52,211,153,.2)}.gen-chapter-info{display:flex;align-items:center;gap:var(--space-sm)}.gen-chapter-status-icon{font-size:1rem}.gen-chapter-title{font-size:.9rem}.gen-chapter-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:.8rem;color:var(--color-text-secondary)}.review-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.review-badge.ok{background:rgba(52,211,153,.15);color:var(--color-success)}.review-badge.warning{background:rgba(251,191,36,.15);color:var(--color-warning)}.regen-btn{font-size:.85rem;padding:2px 6px;opacity:.5;transition:opacity .2s ease,transform .2s ease}.regen-btn:hover{opacity:1;transform:rotate(90deg)}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:rgba(15,23,42,.95);color:#e2e8f0;font-size:.75rem;font-weight:400;padding:6px 12px;border-radius:8px;white-space:nowrap;z-index:1000;pointer-events:none;border:1px solid rgba(99,102,241,.3);box-shadow:0 4px 12px rgba(0,0,0,.4);animation:fadeIn .2s ease-out}.regen-btn[data-tooltip]:hover{transform:none}.katari-loading{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);z-index:100;animation:fadeIn .3s ease-out}.katari-loading-video{width:320px;height:auto;mix-blend-mode:screen;pointer-events:none}.katari-loading-text{font-size:1.1rem;color:var(--color-text-secondary);animation:pulse 1.5s ease-in-out infinite}.katari-loading-corner{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:50;animation:fadeIn .5s ease-out;pointer-events:none}.katari-loading-corner-text{font-size:.85rem;color:#e2e8f0;background:rgba(0,0,0,.75);padding:6px 16px;border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pulse 1.5s ease-in-out infinite;white-space:nowrap;border:1px solid rgba(99,102,241,.3)}.katari-animated{filter:drop-shadow(0 4px 24px rgba(79,143,247,.4))}.katari-animated-img{animation:katariFloat 3s ease-in-out infinite}@keyframes katariFloat{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-6px) rotate(.5deg)}50%{transform:translateY(-10px) rotate(0deg)}75%{transform:translateY(-6px) rotate(-.5deg)}}.review-details{margin-top:var(--space-lg);padding:var(--space-md);background:var(--color-bg-input);border-radius:var(--radius-md);border:1px solid rgba(251,191,36,.2)}.review-details h3{font-size:1rem;color:var(--color-warning)}.review-chapter-detail,.review-details h3{margin-bottom:var(--space-md)}.review-chapter-detail h4{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.review-issue{padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-warning);margin-bottom:var(--space-sm);font-size:.85rem}.review-issue.error{border-left-color:var(--color-error)}.review-issue-type{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-warning);letter-spacing:.05em}.review-suggestion{color:var(--color-success)}.review-location,.review-suggestion{font-size:.8rem;margin-top:var(--space-xs)}.review-location{padding:var(--space-xs) var(--space-sm);background:rgba(0,0,0,.2);border-radius:var(--radius-sm);line-height:1.6}.review-location-label{display:block;font-size:.7rem;font-weight:600;color:var(--color-accent);margin-bottom:2px}.review-location-text{color:var(--color-text-secondary);word-break:break-all}.output-meta{margin-bottom:var(--space-lg)}.output-stats{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.stat-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) var(--space-xl);background:var(--color-bg-input);border-radius:var(--radius-md);border:1px solid var(--color-border)}.stat-value{font-size:1.8rem;font-weight:700;color:var(--color-primary)}.stat-label{font-size:.75rem;color:var(--color-text-muted)}.format-selector{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm);margin-bottom:var(--space-lg)}.format-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:var(--font-sans);font-size:.95rem;color:var(--color-text)}.format-btn.active,.format-btn:hover{border-color:var(--color-primary)}.format-btn.active{background:rgba(79,143,247,.1);box-shadow:0 0 12px var(--color-primary-glow)}.format-desc{font-size:.7rem;color:var(--color-text-muted)}.output-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);font-size:.8rem;color:var(--color-text-secondary)}.preview-actions{display:flex;gap:var(--space-sm)}.preview-content{padding:var(--space-md);background:var(--color-bg-input);font-family:var(--font-mono);font-size:.8rem;line-height:1.8;max-height:500px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media (max-width:768px){.app-container{padding:0 var(--space-md)}.step-container{padding:var(--space-lg)}.form-row{flex-direction:column}.character-layout,.length-grid{grid-template-columns:1fr}.wizard-step-label{display:none}.wizard-step{min-width:44px;padding:var(--space-sm)}}.mode-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm);margin-bottom:var(--space-xl)}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:var(--font-sans);font-size:.95rem;color:var(--color-text)}.mode-btn.active,.mode-btn:hover{border-color:var(--color-primary)}.mode-btn.active{background:rgba(79,143,247,.1);box-shadow:0 0 12px var(--color-primary-glow)}.mode-desc{font-size:.7rem;color:var(--color-text-muted)}.loop-progress{padding:var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.loop-steps{justify-content:center;gap:0}.loop-step,.loop-steps{display:flex;align-items:center}.loop-step{flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);color:var(--color-text-muted);font-size:.8rem;transition:all .3s ease}.loop-step.active{color:var(--color-primary)}.loop-step.active .loop-step-icon{animation:pulse 1.5s ease-in-out infinite}.loop-step.completed{color:var(--color-success)}.loop-step-icon{font-size:1.2rem}.loop-connector{width:40px;height:2px;background:var(--color-border)}.loop-count{text-align:center;font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-sm)}.critique-card{padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg);border:1px solid}.critique-card.approved{background:rgba(52,211,153,.05);border-color:rgba(52,211,153,.3)}.critique-card.needs-work{background:rgba(251,191,36,.05);border-color:rgba(251,191,36,.3)}.critique-card h3{font-size:.95rem;margin-bottom:var(--space-sm)}.critique-assessment{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:var(--space-md);line-height:1.6}.critique-issues{display:flex;flex-direction:column;gap:var(--space-sm)}.critique-issue{padding:var(--space-sm) var(--space-md);border-left:3px solid;font-size:.85rem}.critique-issue.severity-minor{border-left-color:var(--color-text-secondary)}.critique-issue.severity-major{border-left-color:var(--color-warning)}.critique-issue.severity-critical{border-left-color:var(--color-error)}.critique-category{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-accent);letter-spacing:.05em}.critique-suggestion{color:var(--color-success);font-size:.8rem;margin-top:var(--space-xs)}.scene-card{padding:var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);transition:border-color .2s ease}.scene-card:hover{border-color:var(--color-primary)}.scene-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.scene-num{font-size:.7rem;font-weight:600;color:var(--color-accent);min-width:60px}.scene-title{font-size:.9rem;font-weight:500}.scene-tone{font-size:.7rem;padding:2px 8px;background:rgba(167,139,250,.15);color:var(--color-accent);border-radius:10px;margin-left:auto}.scene-desc{font-size:.85rem;color:var(--color-text-secondary);line-height:1.6}.scene-location{font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.loop-badge{font-size:.7rem;padding:2px 8px;background:rgba(79,143,247,.15);color:var(--color-primary);border-radius:10px;animation:pulse 1.5s ease-in-out infinite}.gen-chapter-critique{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border);margin-top:var(--space-sm)}.gen-chapter-critique .critique-assessment{font-size:.8rem;margin:0}.cross-chapter-section{padding:var(--space-lg);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-lg)}.cross-chapter-section h3{font-size:1rem;margin-bottom:var(--space-xs)}.cross-chapter-results{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.final-polish-section{padding:var(--space-lg);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.final-polish-section h3{font-size:1rem;margin-bottom:var(--space-xs)}.text-muted{color:var(--color-text-muted)}.integration-section{padding:var(--space-lg);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-lg)}.integration-section h3{font-size:1rem;margin-bottom:var(--space-xs)}.integration-results{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.integration-card{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card)}.integration-card h4{font-size:.95rem;margin-bottom:var(--space-sm)}.integration-card.card-pass{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.05)}.integration-card.card-fail{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.05)}.integration-card.card-info{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.05)}.integration-table{width:100%;border-collapse:collapse;margin-top:var(--space-sm);font-size:.85rem}.integration-table td,.integration-table th{padding:var(--space-xs) var(--space-sm);text-align:left;border-bottom:1px solid var(--color-border)}.integration-table th{color:var(--color-text-secondary);font-weight:500}.integration-table .row-warning{background:rgba(251,191,36,.1)}.integration-table .row-critical{background:rgba(239,68,68,.1)}.foreshadow-table td:nth-child(2),.foreshadow-table td:nth-child(3),.foreshadow-table td:nth-child(4){text-align:center;width:60px}.polish-diff-section{margin-top:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.polish-diff-section h4{font-size:.9rem;margin-bottom:var(--space-sm)}.polish-diff-list{display:flex;flex-direction:column;gap:var(--space-xs)}.polish-diff-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:rgba(79,143,247,.05);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.85rem}.polish-diff-num{color:var(--color-primary);font-weight:600;min-width:20px}.polish-diff-corrected{color:var(--color-text)}.polish-no-changes{margin-top:var(--space-md);color:rgba(34,197,94,.8);font-size:.9rem}.gen-chapter-header-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:var(--space-sm) var(--space-md);cursor:pointer;color:var(--color-text);text-align:left;font:inherit}.gen-chapter-header-btn:hover{background:rgba(79,143,247,.05)}.expand-edit-icon{color:var(--color-text-muted);font-size:.75rem;margin-left:var(--space-sm)}.chapter-edit-area{padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid var(--color-border)}.chapter-content-textarea{width:100%;min-height:300px;font-size:.9rem;line-height:1.8;resize:vertical}.chapter-edit-footer{display:flex;justify-content:flex-end;padding-top:var(--space-xs);font-size:.8rem}.scene-header-btn{width:100%;display:flex;align-items:center;gap:var(--space-sm);background:none;border:none;padding:var(--space-sm) 0;cursor:pointer;color:var(--color-text);text-align:left;font:inherit}.scene-header-btn:hover{opacity:.8}.scene-expand-icon{margin-left:auto;color:var(--color-text-muted);font-size:.75rem}.scene-edit-body{padding:var(--space-sm) 0;border-top:1px solid var(--color-border)}.scene-card.expanded{border-color:var(--color-primary)}.plot-expand-toggle{width:100%;text-align:center;margin:var(--space-md) 0;padding:var(--space-sm);font-size:.9rem;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.plot-expand-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.plot-details-expanded{animation:fadeIn .3s ease}.foreshadow-editable{flex-direction:column;gap:var(--space-xs)}.foreshadow-desc-input{flex:1 1;font-size:.85rem}.foreshadow-meta-edit{display:flex;align-items:center;gap:var(--space-xs);font-size:.8rem;color:var(--color-text-secondary)}.foreshadow-ch-input{width:60px;text-align:center;padding:2px 4px;font-size:.8rem}.integration-fix-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-xl)}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;width:100%;max-width:640px;box-shadow:0 8px 32px rgba(0,0,0,.3);overflow:hidden}.auth-banner{width:100%;line-height:0}.auth-banner-img{width:100%;height:auto;display:block}.auth-card form{padding:var(--space-xl) 20% var(--space-2xl)}.auth-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--color-text-muted);font-size:.75rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background-color:var(--color-border)}.btn-block{width:100%;display:block}.text-center{text-align:center}.text-caption{color:var(--color-text-secondary)}.optional-hint{margin-top:.35rem;opacity:.75}.header-actions{display:flex;align-items:center;gap:var(--space-sm)}.credit-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(99,102,241,.2);border:1px solid rgba(99,102,241,.4);color:#a5b4fc;font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:12px;letter-spacing:.03em}.btn-sm{padding:4px 12px;font-size:.75rem}.header-action-btn{padding:10px 18px;font-size:.85rem;font-weight:600;border-radius:8px;transition:all .2s ease}.header-action-btn:hover{background:hsla(0,0%,100%,.08);transform:translateY(-1px)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);min-width:400px;box-shadow:var(--shadow-lg)}.kdp-metadata-grid{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.kdp-field{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);transition:border-color .2s ease}.kdp-field:hover{border-color:var(--color-border-focus)}.kdp-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.kdp-field-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.kdp-field-value{font-size:.9rem;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.text-caption{font-size:.8rem;color:var(--color-text-muted)}.wide-mode{max-width:1400px}.wide-mode .step-container{max-width:none}@keyframes highlightFlash{0%{background:rgba(251,191,36,.4)}to{background:transparent}}.script-vertical-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:#2b2b2b}.script-vertical-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-card);border-bottom:1px solid var(--color-border);flex-shrink:0}.script-vertical-toolbar-title{font-size:.9rem;font-weight:600;opacity:.9}.script-vertical-scroll{flex:1 1;overflow:auto;padding:var(--space-xl);display:flex;justify-content:center}.script-vertical-page{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;background:#fdfaf3;color:#1c1a16;min-height:700px;max-width:100%;height:-moz-fit-content;height:fit-content;padding:40px 32px;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:16px;line-height:2.3;letter-spacing:.06em;box-shadow:0 4px 30px rgba(0,0,0,.5)}.script-vt-title{font-size:1.6em;font-weight:700;margin-bottom:2em}.script-vt-subtitle{font-size:.85em;opacity:.7;margin-bottom:3em}.script-vt-act{font-size:1.15em;font-weight:700;margin:2.5em 0 1em;padding-top:1.5em;border-top:1px solid rgba(0,0,0,.15)}.script-vt-scene-header{font-size:.95em;font-weight:600;margin:1.5em 0 1em;opacity:.85}.script-vt-dialogue{margin:.3em 0}.script-vt-speaker{font-weight:700;margin-right:.3em}.script-vt-direction{margin:.3em 0;padding-top:1em;opacity:.65;font-size:.92em}@media print{body *{visibility:hidden}.script-vertical-page,.script-vertical-page *{visibility:visible}.script-vertical-overlay{position:static;background:none}.script-vertical-toolbar{display:none}.script-vertical-scroll{overflow:visible;padding:0;display:block}.script-vertical-page{position:absolute;left:0;top:0;box-shadow:none;min-height:0;width:100%}.script-vt-act{page-break-before:always;break-before:page}.script-vt-act:first-of-type{page-break-before:avoid;break-before:avoid}@page{size:A4;margin:15mm}}