.app{min-height:100%;display:flex;flex-direction:column;background:var(--gradient-hero-glow),var(--color-bg)}.app-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.header-inner{max-width:900px;margin:0 auto;padding:16px 20px 0}.brand-row{display:flex;align-items:center;gap:12px}.logo{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:20px;background:var(--gradient-gold-button);box-shadow:var(--shadow-glow, 0 0 20px rgba(217,164,65,.25))}.brand-name{font-family:var(--font-display);font-size:30px;line-height:1;letter-spacing:.12em;color:var(--color-text)}.brand-sub{font-family:var(--font-display);font-size:10px;letter-spacing:.18em;color:var(--color-text-muted);margin-top:3px}.status-pill{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:5px 11px;border-radius:999px;border:1px solid var(--color-border-strong);font-family:var(--font-display);font-size:10px;letter-spacing:.16em;color:var(--color-text)}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--color-danger);box-shadow:0 0 8px var(--color-danger)}.tabbar{display:flex;gap:4px;margin-top:14px;overflow-x:auto;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.tab{font-family:var(--font-display);font-size:12.5px;letter-spacing:.1em;white-space:nowrap;color:var(--color-text-muted);padding:10px 12px;border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-gold);border-bottom-color:var(--color-gold)}.main{flex:1}.container{max-width:900px;margin:0 auto;padding:26px 20px 60px}.section-kicker{font-family:var(--font-display);font-size:12px;letter-spacing:.2em;color:var(--color-gold)}.section-title{font-family:var(--font-display);font-size:30px;letter-spacing:.04em;margin-top:6px;color:var(--color-text)}.section-desc{color:var(--color-text-muted);margin-top:8px;max-width:620px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;margin-top:18px;box-shadow:var(--shadow-card, 0 8px 24px rgba(0,0,0,.3))}.card-title{font-family:var(--font-display);font-size:14px;letter-spacing:.14em;color:var(--color-text);display:flex;align-items:center;gap:8px;margin-bottom:14px}.card-title .accent{color:var(--color-gold)}.field{margin-bottom:14px}.label{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:.14em;color:var(--color-text-muted);margin-bottom:6px}.input,.textarea,.select{width:100%;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);padding:11px 12px;font-size:14px;font-family:var(--font-body);outline:none;transition:border-color .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-gold)}.textarea{resize:vertical;min-height:88px;line-height:1.5}.hint{font-size:12px;color:var(--color-text-faint);margin-top:6px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>.field{flex:1;min-width:180px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{font-size:13px;padding:8px 14px;border-radius:999px;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-text-muted);transition:all .15s;-webkit-user-select:none;user-select:none}.chip:hover{color:var(--color-text);border-color:var(--color-gold)}.chip.selected{color:#1a1511;background:var(--gradient-gold-button);border-color:transparent;font-weight:600}.chip.main-genre:after{content:" ★"}.segmented{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong)}.seg{border:none;background:none;cursor:pointer;padding:8px 16px;border-radius:999px;color:var(--color-text-muted);font-family:var(--font-display);font-size:12px;letter-spacing:.08em}.seg.active{background:var(--gradient-gold-button);color:#1a1511;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-md);padding:12px 18px;cursor:pointer;font-family:var(--font-display);font-size:13px;letter-spacing:.1em;border:1px solid var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-text);transition:all .15s}.btn:hover{border-color:var(--color-gold)}.btn-primary{background:var(--gradient-gold-button);color:#1a1511;border-color:transparent;font-weight:700;box-shadow:var(--shadow-glow, 0 0 20px rgba(217,164,65,.25))}.btn-primary:hover{filter:brightness(1.06)}.btn-lg{width:100%;padding:16px;font-size:15px}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{font-family:var(--font-display);font-size:10px;letter-spacing:.12em;padding:3px 8px;border-radius:6px;border:1px solid var(--color-border-strong);color:var(--color-text-muted)}.genre-badge{color:var(--color-bg);font-weight:700}.char-card{border-left:3px solid var(--color-gold)}.char-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.char-role{font-family:var(--font-display);font-size:10px;letter-spacing:.16em;color:var(--color-gold)}.char-name{font-size:22px;font-weight:700;color:var(--color-text);margin-top:2px}.char-age{color:var(--color-text-faint);font-size:13px}.char-avatar{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border-strong);font-family:var(--font-display);color:var(--color-gold);font-size:16px}.char-bio{color:var(--color-text-muted);font-size:13.5px;margin:10px 0 14px;line-height:1.55}.palette{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}.palette-item{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-muted)}.attr{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--color-border)}.attr-key{font-family:var(--font-display);font-size:10px;letter-spacing:.12em;color:var(--color-gold);min-width:92px;padding-top:2px}.attr-val{color:var(--color-text);font-size:13.5px;line-height:1.5}.attr-group{margin-top:12px}.scene-card{display:flex;gap:14px}.scene-num{font-family:var(--font-display);font-size:26px;color:var(--color-gold);min-width:34px;line-height:1;opacity:.8}.scene-body{flex:1}.scene-heading{font-family:var(--font-mono);font-size:13px;color:var(--color-text);font-weight:700;letter-spacing:.02em}.scene-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0;align-items:center}.scene-syn{color:var(--color-text-muted);font-size:13.5px;line-height:1.55;margin:8px 0}.mini-title{font-family:var(--font-display);font-size:10px;letter-spacing:.14em;color:var(--color-text-faint);margin:12px 0 6px}.camera-list{list-style:none;display:flex;flex-direction:column;gap:4px}.camera-list li{font-size:13px;color:var(--color-text);padding-left:14px;position:relative}.camera-list li:before{content:"▸";position:absolute;left:0;color:var(--color-gold)}.sound-note{font-size:13px;color:var(--color-info)}.dlg{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:10px 12px;margin-top:6px}.dlg-line{font-family:var(--font-mono);font-size:12.5px;color:var(--color-text);line-height:1.7}.dlg-cue{color:var(--color-gold)}.transition{text-align:right;font-family:var(--font-mono);font-size:11px;color:var(--color-text-faint);margin-top:10px;letter-spacing:.1em}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.filter{font-size:12px;padding:6px 12px;border-radius:999px;cursor:pointer;border:1px solid var(--color-border);background:none;color:var(--color-text-muted)}.filter.active{background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-gold)}.stat-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.check{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--color-border)}.check-icon{flex-shrink:0;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:13px}.check-ok{background:color-mix(in srgb,var(--color-success) 20%,transparent);color:var(--color-success)}.check-no{background:color-mix(in srgb,var(--color-warning) 18%,transparent);color:var(--color-warning)}.check-text{color:var(--color-text);font-size:13.5px;line-height:1.55}.note-num{font-family:var(--font-display);color:var(--color-gold);font-size:13px;min-width:26px}.craft{display:flex;gap:10px;padding:10px 0}.screenplay{font-family:var(--font-mono);font-size:13px;line-height:1.7;color:var(--color-text);white-space:pre-wrap;word-wrap:break-word;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:22px;margin-top:16px;max-height:70vh;overflow:auto}.sp-title{text-align:center;font-size:22px;letter-spacing:.3em;color:var(--color-text)}.sp-sub{text-align:center;font-size:11px;letter-spacing:.3em;color:var(--color-text-faint);margin-top:4px}.sp-act{font-family:var(--font-display);text-align:center;letter-spacing:.2em;color:var(--color-gold);margin:26px 0 14px;font-size:14px}.sp-scene-head{color:var(--color-text);font-weight:700;margin-top:18px}.sp-note{color:var(--color-text-faint)}.sp-cue{color:var(--color-gold);margin-left:20%;margin-top:8px}.sp-paren{color:var(--color-text-faint);margin-left:22%}.sp-dlg{margin-left:16%;margin-right:12%}.sp-trans{text-align:right;color:var(--color-text-faint);margin-top:8px}.empty{text-align:center;padding:60px 20px;color:var(--color-text-faint);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);margin-top:24px;background:var(--color-surface)}.empty .btn{margin-top:16px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--color-surface-alt);border:1px solid var(--color-gold);color:var(--color-text);padding:12px 20px;border-radius:999px;font-size:13px;z-index:100;box-shadow:var(--shadow-card)}.inline-note{font-size:12px;color:var(--color-success);margin-top:8px}.dlg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;background:#060504a8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:dlg-fade .18s ease}.dlg-overlay.dlg-closing{animation:dlg-fade .16s ease reverse forwards}.dlg-box{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 24px 70px #0009,0 0 0 1px #d9a44114;animation:dlg-pop .22s cubic-bezier(.2,.9,.3,1.2)}.dlg-box-closing{animation:dlg-pop .16s ease reverse forwards}.dlg-filmstrip{height:8px;background:repeating-linear-gradient(to right,transparent 0,transparent 8px,var(--color-bg) 8px,var(--color-bg) 14px),var(--gradient-gold-button)}.dlg-body{padding:24px 22px 20px;text-align:center}.dlg-icon{width:52px;height:52px;margin:0 auto 14px;display:grid;place-items:center;font-size:26px;border-radius:999px;background:color-mix(in srgb,var(--color-gold) 16%,transparent);border:1px solid color-mix(in srgb,var(--color-gold) 40%,transparent)}.dlg-icon-danger{background:color-mix(in srgb,var(--color-danger) 16%,transparent);border-color:color-mix(in srgb,var(--color-danger) 45%,transparent)}.dlg-title{font-family:var(--font-display);font-size:18px;letter-spacing:.06em;color:var(--color-text);margin-bottom:8px}.dlg-message{color:var(--color-text-muted);font-size:14.5px;line-height:1.55}.dlg-actions{display:flex;gap:10px;justify-content:center;margin-top:22px}.dlg-actions .btn{min-width:108px}.btn-danger{background:linear-gradient(135deg,#e0655a,#c33325);color:#fff;border-color:transparent;font-weight:700}.btn-danger:hover{filter:brightness(1.07)}@keyframes dlg-fade{0%{opacity:0}to{opacity:1}}@keyframes dlg-pop{0%{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--color-bg, #0c0a09);color:var(--color-text, #ede6da);font-family:var(--font-body, system-ui, sans-serif);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.filmstrip{height:18px;background:repeating-linear-gradient(to right,transparent 0,transparent 10px,var(--color-bg-elevated, #14100d) 10px,var(--color-bg-elevated, #14100d) 18px),var(--color-surface, #1a1511);border-top:1px solid var(--color-border, #2e261f);border-bottom:1px solid var(--color-border, #2e261f)}.display{font-family:var(--font-display);letter-spacing:var(--tracking-wider, .18em);text-transform:uppercase}.mono{font-family:var(--font-mono)}.accent{color:var(--color-gold, #d9a441)}::selection{background:#d9a4414d}
