@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#07090f;--surface:#0d1120;--surface2:#111827;--border:rgba(255,255,255,0.07);--border-accent:rgba(99,102,241,0.4);--text:#f1f5ff;--muted:#6b7ba4;--accent:#6366f1;--accent2:#8b5cf6;--accent3:#3b82f6;--green:#10b981;--amber:#f59e0b;--red:#ef4444;--pink:#ec4899}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}.topbar{justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border);background:rgba(7,9,15,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar,.topbar-brand{display:flex;align-items:center}.topbar-brand{gap:10px}.topbar-logo{width:32px;height:32px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px}.topbar h1{font-size:18px;font-weight:700}.topbar-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.35);color:#a5b4fc;letter-spacing:.3px}.layout{display:grid;grid-template-columns:1fr 440px;grid-gap:0;gap:0;min-height:calc(100vh - 57px)}.composer-pane{padding:28px;border-right:1px solid var(--border);overflow-y:auto}.result-pane{padding:28px 24px;overflow-y:auto;background:var(--surface)}.tabs{display:flex;gap:0;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:4px;margin-bottom:24px;width:-moz-fit-content;width:fit-content}.tab{font-size:13px;font-weight:600;padding:8px 16px;border-radius:9px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}.tab.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 4px 12px rgba(99,102,241,.4)}.section-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.script-wrap{position:relative;margin-bottom:16px}textarea{width:100%;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:14px;font-size:14px;line-height:1.6;resize:vertical;font-family:inherit;transition:border-color .2s;outline:none}textarea:focus{border-color:var(--border-accent)}.sample-row{display:flex;gap:8px;margin-bottom:20px}.sample-btn{font-size:12px;font-weight:600;padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s}.sample-btn:hover{border-color:var(--border-accent);color:var(--text)}.sample-btn .dot{width:6px;height:6px;border-radius:50%}.dot-green{background:var(--green)}.dot-red{background:var(--red)}.controls-row{display:grid;grid-template-columns:1fr 1.6fr;grid-gap:12px;gap:12px;margin-bottom:20px}.field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px;letter-spacing:.2px}input[type=number],input[type=text]{width:100%;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;font-family:inherit;outline:none;transition:border-color .2s}input:focus{border-color:var(--border-accent)}.predict-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;letter-spacing:.2px;box-shadow:0 6px 24px rgba(99,102,241,.35)}.predict-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.predict-btn:disabled{opacity:.5;cursor:not-allowed}.error{margin-top:12px;padding:12px 14px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:10px;font-size:13px;color:#fca5a5;white-space:pre-wrap}.result-heading{font-size:18px;font-weight:800;margin-bottom:24px;letter-spacing:-.3px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60%;gap:14px;text-align:center}.empty-icon{font-size:48px}.empty-state p{color:var(--muted);font-size:14px;max-width:260px;line-height:1.6}.score-card{background:var(--surface2);border:1px solid var(--border);border-radius:16px;padding:24px 20px;display:flex;align-items:center;gap:20px;margin-bottom:14px}.ring-wrap{flex-shrink:0}.ring-wrap svg{transform:rotate(-90deg)}.ring-track{stroke:rgba(255,255,255,.06)}.ring-fill,.ring-track{fill:none;stroke-width:10}.ring-fill{stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.ring-fill-small{stroke:#6b7ba4}.ring-fill-mid{stroke:var(--accent3)}.ring-fill-hit{stroke:var(--green)}.ring-fill-mega{stroke:url(#megaGrad)}.ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;pointer-events:none}.ring-num{font-size:22px}.ring-sub{font-size:10px;color:var(--muted)}.ring-container{position:relative;width:100px;height:100px}.score-meta{flex:1 1}.score-meta h2{font-size:28px;font-weight:900;line-height:1;margin-bottom:6px}.score-meta p{font-size:13px;color:var(--muted);margin-bottom:14px}.bucket-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.bucket-small{background:rgba(107,123,164,.15);color:#b0beda;border:1px solid rgba(107,123,164,.3)}.bucket-mid{background:rgba(59,130,246,.15);color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.bucket-hit{background:rgba(16,185,129,.15);color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.bucket-mega{background:rgba(139,92,246,.15);color:#c4b5fd;border:1px solid rgba(139,92,246,.3)}.stat-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:14px}.stat-box{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:14px}.stat-box .label{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.3px;text-transform:uppercase;margin-bottom:4px}.stat-box .value{font-size:18px;font-weight:800}.section-card{background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:12px}.section-card h3{font-size:13px;font-weight:700;color:var(--text);margin-bottom:14px;display:flex;align-items:center;gap:6px}.input-type-badge{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;margin-bottom:12px;border:1px solid}.input-type-logline{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.25)}.input-type-synopsis{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.25)}.input-type-script{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.25)}.it-icon{font-size:20px;flex-shrink:0}.it-label{font-size:13px;font-weight:700}.it-sub{font-size:11px;color:var(--muted);margin-top:2px}.blocked-card{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.2);border-radius:14px;padding:24px 20px;text-align:center;margin-bottom:14px}.blocked-icon{font-size:36px;margin-bottom:10px}.blocked-card h3{font-size:16px;font-weight:800;margin-bottom:8px}.blocked-card p{font-size:13px;color:#c0c8e8;line-height:1.6;max-width:320px;margin:0 auto}.guidance-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.guidance-list li{font-size:13px;color:#c0cce8;line-height:1.5;margin-bottom:0}.calibration-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.2);border-radius:8px;font-size:12px;color:#c4b5fd;margin-bottom:10px;line-height:1.4}.cal-icon{font-size:15px;flex-shrink:0}.cal-note{color:#a5b4fc;font-style:italic}.feature-right{display:flex;align-items:center;gap:6px}.improve-btn{background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.35);color:#a5b4fc;font-size:10px;font-weight:700;border-radius:6px;padding:2px 7px;cursor:pointer;transition:background .15s;white-space:nowrap}.improve-btn:hover{background:rgba(99,102,241,.28)}.inline-tips{display:flex;flex-direction:column;gap:6px;border-left:2px solid rgba(99,102,241,.3);padding-left:12px;margin:8px 0 2px 2px}.inline-tips li{font-size:12px;color:#b0bcdc;line-height:1.5;list-style:none;padding-left:12px;position:relative}.inline-tips li:before{content:"→";position:absolute;left:0;color:#6366f1;font-size:11px}.weak-tips{margin:8px 0 0;display:flex;flex-direction:column;gap:5px;border-left:2px solid rgba(245,158,11,.3);padding:0 0 0 10px}.weak-tips li{font-size:12px;color:#b0bcdc;line-height:1.5;list-style:none;position:relative}.weak-tips li:before{content:"→ ";color:#f59e0b;font-size:11px}.kcta-sub{font-size:12px;color:var(--muted);margin-bottom:14px}.kcta-sub strong{color:var(--text)}.kcta-grid{display:flex;flex-direction:column;gap:12px}.kcta-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.kcta-label{font-size:13px;font-weight:700}.kcta-score{font-size:12px;font-weight:700;color:var(--muted);background:rgba(255,255,255,.06);padding:2px 8px;border-radius:999px}.kcta-desc{font-size:11px;color:var(--muted);margin-top:5px}.feature-row{margin-bottom:12px}.feature-row:last-child{margin-bottom:0}.feature-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.feature-name{font-size:13px;font-weight:600}.level-badge{font-size:10px;font-weight:800;letter-spacing:.5px;padding:2px 8px;border-radius:999px;text-transform:uppercase}.level-low{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.level-mid{background:rgba(245,158,11,.12);color:#fcd34d;border:1px solid rgba(245,158,11,.25)}.level-high{background:rgba(16,185,129,.12);color:#6ee7b7;border:1px solid rgba(16,185,129,.25)}.bar-track{height:5px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;transition:width .8s cubic-bezier(.4,0,.2,1)}.bar-low{background:linear-gradient(90deg,#dc2626,#f87171)}.bar-mid{background:linear-gradient(90deg,#d97706,#fbbf24)}.bar-high{background:linear-gradient(90deg,#059669,#34d399)}.weak-card{background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.15);border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;gap:10px;align-items:flex-start}.weak-card:last-child{margin-bottom:0}.weak-icon{font-size:16px;flex-shrink:0;margin-top:1px}.weak-content .name{font-size:13px;font-weight:700;margin-bottom:3px}.weak-content .tip{font-size:12px;color:#b0b8d8;line-height:1.5}.warning-card{background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.2);border-radius:10px;padding:10px 14px;font-size:12px;color:#fcd34d;margin-bottom:8px;display:flex;gap:8px;align-items:flex-start;line-height:1.5}details{margin-top:8px}summary{font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;padding:8px 0}.json{background:rgba(0,0,0,.3);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:11px;line-height:1.6;max-height:320px;overflow:auto;margin-top:6px;color:#94a3b8}.board-controls{display:flex;gap:8px;margin-bottom:12px}.board-btn{font-size:12px;font-weight:600;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;transition:all .15s}.board-btn:hover{border-color:var(--border-accent)}.board-btn.primary-btn{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;box-shadow:0 4px 12px rgba(99,102,241,.3)}.hint{font-size:12px;color:var(--muted);margin-bottom:12px;line-height:1.5}.board{position:relative;min-height:500px;border:1px dashed rgba(255,255,255,.1);border-radius:14px;background:rgba(0,0,0,.2);overflow:hidden}.node{position:absolute;width:240px;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:0 4px 16px rgba(0,0,0,.4)}.node-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.node-header:active{cursor:-webkit-grabbing;cursor:grabbing}.node-title-input{border:none;background:transparent;color:var(--text);font-weight:700;font-size:13px;font-family:inherit;flex:1 1;outline:none;min-width:0}.node-del{font-size:12px;padding:2px 7px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.node textarea{font-size:12px;padding:8px;border-radius:8px;margin-bottom:6px;resize:none}.node-add-line{font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;border:1px dashed rgba(255,255,255,.1);background:transparent;color:var(--muted);cursor:pointer;width:100%;transition:all .15s}.node-add-line:hover{border-color:var(--border-accent);color:var(--text)}@media (max-width:1020px){.layout{grid-template-columns:1fr}.result-pane{border-top:1px solid var(--border);border-right:none}}.feedback-card{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:14px}.fb-prompt{font-size:13px;color:var(--muted);margin-bottom:10px;font-weight:500}.fb-thanks{font-size:14px;color:#a5b4fc;font-weight:600;text-align:center;padding:4px 0}.fb-buttons{display:flex;gap:8px;margin-bottom:10px}.fb-btn{flex:1 1;padding:8px 0;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.fb-btn:hover{border-color:rgba(255,255,255,.25)}.fb-good.selected{background:rgba(16,185,129,.15);border-color:#10b981;color:#6ee7b7}.fb-bad.selected{background:rgba(239,68,68,.12);border-color:#ef4444;color:#fca5a5}.fb-comment-wrap{display:flex;flex-direction:column;gap:6px}.fb-comment{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;padding:8px 10px;resize:none;font-family:inherit}.fb-comment:focus{outline:none;border-color:var(--accent)}.fb-submit{align-self:flex-end;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:6px 16px;font-size:12px;font-weight:700;cursor:pointer}.fb-submit:disabled{opacity:.6;cursor:not-allowed}.adm-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.adm-login-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:40px 36px;width:340px;text-align:center;display:flex;flex-direction:column;gap:12px}.adm-logo{font-size:36px}.adm-login-card h1{font-size:20px;font-weight:800}.adm-login-card p{font-size:13px;color:var(--muted)}.adm-input{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;padding:10px 12px;margin-top:6px}.adm-input:focus{outline:none;border-color:var(--accent)}.adm-error{color:#f87171;font-size:12px;margin-top:4px}.adm-login-btn{width:100%;padding:11px;border-radius:10px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;margin-top:4px}.adm-login-btn:disabled{opacity:.6;cursor:not-allowed}.adm-wrap{min-height:100vh;background:var(--bg);color:var(--text);font-family:inherit;padding-bottom:40px}.adm-topbar{justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--card)}.adm-brand,.adm-topbar{display:flex;align-items:center}.adm-brand{gap:8px;font-size:16px;font-weight:800}.adm-topbar-right{display:flex;align-items:center;gap:12px}.adm-warn-badge{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);color:#fbbf24;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px}.adm-refresh{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer}.adm-refresh:hover{background:rgba(255,255,255,.1)}.adm-stats-row{display:flex;gap:12px;padding:20px 24px 0;flex-wrap:wrap}.adm-stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 20px;flex:1 1;min-width:120px}.adm-stat-n{font-size:22px;font-weight:800;margin-bottom:2px}.adm-stat-l{font-size:11px;color:var(--muted);font-weight:500}.adm-search-row{display:flex;align-items:center;gap:12px;padding:16px 24px 8px}.adm-search{flex:1 1;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:9px 12px}.adm-search:focus{outline:none;border-color:var(--accent)}.adm-count{font-size:12px;color:var(--muted);white-space:nowrap}.adm-table-wrap{padding:0 24px;overflow-x:auto}.adm-table{width:100%;border-collapse:collapse;font-size:13px}.adm-table th{text-align:left;padding:10px 12px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.adm-row{cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:background .1s}.adm-row:hover{background:rgba(255,255,255,.03)}.adm-row-open{background:rgba(99,102,241,.05)}.adm-table td{padding:10px 12px;vertical-align:middle}.adm-empty{text-align:center;color:var(--muted);padding:32px!important}.adm-ts{color:var(--muted);font-size:11px;white-space:nowrap}.adm-preview{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-engine{color:#a5b4fc;font-size:12px}.adm-conf{color:var(--muted);font-size:12px}.adm-fb{font-size:14px}.adm-score-pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700}.adm-pill-blocked{color:var(--muted);font-size:12px}.adm-type-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.adm-type-script{background:rgba(16,185,129,.12);color:#6ee7b7}.adm-type-synopsis{background:rgba(245,158,11,.12);color:#fbbf24}.adm-type-logline{background:rgba(239,68,68,.12);color:#fca5a5}.adm-detail-row{background:rgba(99,102,241,.04)}.adm-detail{padding:12px 8px 16px}.adm-detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.adm-detail-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.adm-detail-pre{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:11px;white-space:pre-wrap;word-break:break-all;color:#c0cce8;max-height:120px;overflow-y:auto}.adm-detail-comment{font-size:13px;color:#c0cce8;line-height:1.5;font-style:italic}.adm-similar{text-align:center}.adm-similar-badge{display:inline-block;background:rgba(99,102,241,.15);color:#a5b4fc;border:1px solid rgba(99,102,241,.3);border-radius:20px;font-size:11px;font-weight:700;padding:1px 7px}