:root{--bg: #0e0c0a;--surface: #1a1714;--surface-2: #221e1a;--surface-3: #2c2722;--border: #3a332c;--border-light: #4a4238;--text: #e8ddd0;--text-2: #b5a898;--text-3: #7a6f65;--gold: #c9a84c;--gold-dim: #8a7234;--gold-glow: rgba(201, 168, 76, .15);--crimson: #8b2635;--crimson-dim: #5c1a24;--jade: #2e6e5a;--slate: #2e4a6e;--status-outline: #4a4238;--status-draft: #2e4a6e;--status-revision: #6e4a2e;--status-locked: #2e6e3a;--t1: #2e6e5a;--t2: #3a6e2e;--t3: #6e6e2e;--t4: #6e4a2e;--t5: #8b2635;--font-display: "Cinzel", serif;--font-body: "Crimson Pro", serif;--font-mono: "JetBrains Mono", monospace;--radius: 6px;--radius-lg: 10px;--shadow: 0 2px 8px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;letter-spacing:.02em}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);font-size:1rem;padding:.5rem .75rem;width:100%;transition:border-color .15s,box-shadow .15s;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--gold-dim);box-shadow:0 0 0 3px var(--gold-glow)}input::placeholder,textarea::placeholder{color:var(--text-3)}button{cursor:pointer;font-family:var(--font-display);font-size:.8rem;letter-spacing:.08em;border:none;border-radius:var(--radius);padding:.5rem 1.25rem;transition:all .15s}.btn-primary{background:var(--gold);color:var(--bg);font-weight:600}.btn-primary:hover{background:#d4b45a}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--crimson-dim);color:#e8b0b8;border:1px solid var(--crimson)}.btn-danger:hover{background:var(--crimson)}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;min-width:220px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.sidebar-logo{padding:1.5rem 1.25rem 1rem;border-bottom:1px solid var(--border)}.sidebar-logo h1{font-size:1.3rem;color:var(--gold);letter-spacing:.1em}.sidebar-logo span{font-family:var(--font-body);font-size:.75rem;color:var(--text-3);letter-spacing:.05em}.sidebar-section{padding:1rem 0}.sidebar-section-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;color:var(--text-3);text-transform:uppercase;padding:0 1.25rem .5rem}.sidebar-link{display:flex;align-items:center;gap:.6rem;padding:.45rem 1.25rem;color:var(--text-2);font-family:var(--font-body);font-size:.95rem;cursor:pointer;border-left:2px solid transparent;transition:all .12s;text-decoration:none}.sidebar-link:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.sidebar-link.active{color:var(--gold);border-left-color:var(--gold);background:var(--gold-glow)}.sidebar-footer{margin-top:auto;padding:1rem 1.25rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-3)}.main-content{flex:1;overflow-y:auto;overflow-x:hidden}.page-header{padding:1.75rem 2rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-header h2{font-size:1.4rem;color:var(--text)}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h3{font-size:1.1rem;color:var(--gold);margin-bottom:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.field{margin-bottom:1rem}.field label{display:block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;margin-bottom:.4rem}.badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:3px;border:1px solid}.badge-outline{background:var(--status-outline);color:#a09080;border-color:#5a5040}.badge-draft{background:var(--status-draft);color:#90a8c8;border-color:#3a5a8e}.badge-revision{background:var(--status-revision);color:#c8a890;border-color:#8e5a3a}.badge-locked{background:var(--status-locked);color:#90c8a0;border-color:#3a8e50}.badge-planning{background:var(--surface-3);color:var(--text-3);border-color:var(--border)}.tension{display:flex;gap:3px;align-items:center}.tension-dot{width:7px;height:7px;border-radius:50%;background:var(--border)}.tension-dot.filled{background:var(--gold)}.tension-1 .tension-dot.filled{background:var(--t1)}.tension-2 .tension-dot.filled{background:var(--t2)}.tension-3 .tension-dot.filled{background:var(--t3)}.tension-4 .tension-dot.filled{background:var(--t4)}.tension-5 .tension-dot.filled{background:var(--t5)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);background-image:radial-gradient(ellipse at 20% 50%,rgba(201,168,76,.04) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(139,38,53,.04) 0%,transparent 50%)}.auth-box{width:100%;max-width:400px;padding:2.5rem}.auth-logo{text-align:center;margin-bottom:2.5rem}.auth-logo h1{font-size:2.2rem;color:var(--gold);letter-spacing:.15em}.auth-logo p{color:var(--text-3);font-size:.85rem;margin-top:.25rem;font-style:italic}.auth-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.auth-form .field{margin-bottom:1.25rem}.auth-footer{text-align:center;margin-top:1.25rem;font-size:.9rem;color:var(--text-3)}.error-msg{background:var(--crimson-dim);border:1px solid var(--crimson);color:#e8b0b8;border-radius:var(--radius);padding:.6rem .75rem;font-size:.9rem;margin-bottom:1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;padding:2rem}.project-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--project-color, var(--gold-dim))}.project-card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.project-card h3{font-size:1.05rem;color:var(--text);margin-bottom:.3rem}.project-card .meta{font-size:.85rem;color:var(--text-3);font-style:italic;margin-bottom:.75rem}.project-card .stats{display:flex;gap:1rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-3)}.new-project-card{border:1px dashed var(--border);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:140px;color:var(--text-3);transition:all .15s;border-radius:var(--radius-lg);cursor:pointer}.new-project-card:hover{border-color:var(--gold-dim);color:var(--gold);background:var(--gold-glow)}.board-page{display:flex;flex-direction:column;height:100%}.pacing-curve{padding:0 2rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.pacing-curve-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;padding-top:.75rem}.board-container{flex:1;overflow-x:auto;overflow-y:hidden;padding:1.5rem 2rem}.board{display:flex;gap:1.25rem;height:100%;min-width:max-content;align-items:flex-start}.chapter-column{width:280px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:100%}.chapter-header{padding:.85rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0}.chapter-header h3{font-size:.8rem;color:var(--text);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-header .scene-count{font-family:var(--font-mono);font-size:.65rem;color:var(--text-3);flex-shrink:0}.chapter-scenes{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.6rem;min-height:60px}.add-scene-btn{width:100%;padding:.5rem;background:transparent;border:1px dashed var(--border);color:var(--text-3);font-size:.75rem;letter-spacing:.05em;border-radius:var(--radius);margin:.5rem .75rem;width:calc(100% - 1.5rem);transition:all .12s}.add-scene-btn:hover{border-color:var(--gold-dim);color:var(--gold);background:var(--gold-glow)}.add-chapter-btn{width:220px;flex-shrink:0;height:80px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-3);font-size:.75rem;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .12s;align-self:flex-start}.add-chapter-btn:hover{border-color:var(--gold-dim);color:var(--gold);background:var(--gold-glow)}.scene-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;cursor:pointer;transition:all .12s;position:relative}.scene-card:hover{border-color:var(--border-light);box-shadow:var(--shadow)}.scene-card.dragging{opacity:.5;box-shadow:var(--shadow-lg)}.scene-card-title{font-family:var(--font-display);font-size:.78rem;color:var(--text);letter-spacing:.03em;margin-bottom:.35rem;line-height:1.3}.scene-card-summary{font-size:.82rem;color:var(--text-3);font-style:italic;line-height:1.4;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.scene-card-threads{display:flex;gap:3px;flex-wrap:wrap}.thread-pip{width:8px;height:8px;border-radius:50%;flex-shrink:0}.scene-card-meta{display:flex;align-items:center;gap:.5rem}select option{background:var(--surface-2)}.tabs{display:flex;border-bottom:1px solid var(--border);padding:0 2rem;gap:0}.tab{font-family:var(--font-display);font-size:.75rem;letter-spacing:.08em;color:var(--text-3);padding:.85rem 1.25rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;background:transparent;border-radius:0}.tab:hover{color:var(--text)}.tab.active{color:var(--gold);border-bottom-color:var(--gold)}.text-gold{color:var(--gold)}.text-muted{color:var(--text-3)}.text-small{font-size:.85rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.flex-1{flex:1}.w-full{width:100%}
