:root {
  --bg: #10100f;
  --panel: #181816;
  --panel-2: #1e1e1b;
  --line: #30302c;
  --muted: #8f8e85;
  --text: #f2f0e9;
  --cream: #dedacb;
  --yellow: #ffcf52;
  --mint: #85d5b4;
  --lilac: #b8a8ef;
  --blue: #84b6de;
  --sidebar: 232px;
}

* { box-sizing: border-box; }
[hidden]{display:none!important}
html { background: var(--bg); }
body { margin: 0; color: var(--text); background: var(--bg); font-family: Manrope, sans-serif; font-size: 14px; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.app-shell { min-height: 100vh; }

.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); padding: 25px 16px 18px; background: #151513; border-right: 1px solid #292925; display: flex; flex-direction: column; z-index: 20; }
.sidebar-close,.sidebar-backdrop{display:none}
.brand { display: flex; align-items: center; gap: 11px; padding: 0 7px 23px; color: var(--text); text-decoration: none; font: 600 15px Space Grotesk; letter-spacing: .12em; }
.brand-mark { width: 24px; height: 24px; background: var(--yellow); border-radius: 5px; padding: 5px; display: flex; gap: 3px; transform: rotate(-2deg); }
.brand-mark i { display: block; width: 5px; background: #171715; clip-path: polygon(0 0,100% 14%,100% 86%,0 100%); }
.project-switcher { display: flex; gap: 10px; align-items: center; border: 1px solid #31312d; background: #1d1d1a; border-radius: 8px; padding: 9px; margin-bottom: 25px; }
.project-switcher { cursor:pointer; transition:border-color .2s,background .2s; }
.project-switcher:hover,.project-switcher:focus-visible { border-color:#5a5136;background:#222019;outline:none; }
.poster-mini { width: 31px; height: 35px; display: grid; place-items: center; border-radius: 4px; color: #20201d; background: linear-gradient(145deg,#bdcbd0,#e8d3b3); font: 600 9px DM Mono; }
.project-switcher div { min-width: 0; flex: 1; }
.project-switcher small,.project-switcher strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.project-switcher small { font-size: 9px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.project-switcher strong { margin-top: 2px; font-size: 12px; }
.project-switcher .switch-chevron { color: var(--muted); }
.main-nav p { margin: 17px 9px 7px; color: #6e6e67; font: 500 9px DM Mono; letter-spacing: .12em; }
.main-nav a { height: 38px; display: flex; align-items: center; gap: 11px; padding: 0 10px; border-radius: 6px; color: #aaa99f; text-decoration: none; font-size: 12px; }
.main-nav a > span { width: 16px; color: #797970; text-align: center; font-size: 16px; }
.main-nav a b { margin-left: auto; padding: 1px 6px; border-radius: 8px; background: #393832; font: 500 9px DM Mono; color: #aaa99f; }
.main-nav a:hover { background: #1c1c19; color: var(--text); }
.main-nav a.active { background: #2b2922; color: var(--text); }
.main-nav a.active > span { color: var(--yellow); }
.sidebar-foot { margin-top: auto; }
.sidebar-foot > button { display: flex; gap: 10px; align-items: center; width: 100%; padding: 10px; background: none; border: 0; color: var(--muted); font-size: 11px; }
.sidebar-foot > button span { border: 1px solid #4b4b45; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; }
.profile { display: flex; width:100%; gap: 9px; align-items: center; padding: 14px 7px 0; border:0; border-top: 1px solid #2a2a27; background:none; text-align:left; cursor:pointer; }
.avatar { width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; background: #8c5e51; color: white; font: 500 9px DM Mono; }
.profile div:nth-child(2) { flex: 1; }
.profile strong,.profile small { display: block; }
.profile strong { font-size: 11px; }.profile small { color: var(--muted); font-size: 9px; margin-top: 2px; }.profile > span { color: var(--muted); }

.workspace { margin-left: var(--sidebar); min-height: 100vh; }
.topbar { height: 63px; border-bottom: 1px solid #292925; display: flex; align-items: center; justify-content: space-between; padding: 0 34px; }
.menu-button { display: none; background: none; border: 0; font-size: 20px; }
.crumbs { display: flex; gap: 10px; font-size: 11px; }.crumbs span,.crumbs b { color: #6f6f68; }.crumbs b { font-weight: 400; }.crumbs strong { font-weight: 600; }
.top-actions { display: flex; align-items: center; gap: 12px; }.presence { display: flex; align-items: center; padding-right: 12px; border-right: 1px solid #30302c; }.presence span { width: 26px; height: 26px; display: grid; place-items: center; margin-left: -5px; border-radius: 50%; border: 2px solid var(--bg); font: 500 8px DM Mono; }.presence span:first-child { background:#8c5e51; }.presence span:nth-child(2) { background:#515f76; }.presence i { width:7px;height:7px;border-radius:50%;background:#7ccc9c;margin-left:5px; }
.icon-button,.share-button { border: 1px solid #393934; background: #1b1b18; border-radius: 6px; height: 32px; }.icon-button { width: 32px; font-size: 18px; }.share-button { padding: 0 13px; font-size: 11px; }
.page-head { padding: 45px 42px 31px; display:flex; align-items:flex-end; justify-content:space-between; max-width: 1500px; margin:auto; }
.eyebrow { color: var(--yellow); font: 500 9px DM Mono; letter-spacing: .13em; margin:0 0 8px; }
h1 { font: 600 clamp(34px,4vw,47px)/1 Space Grotesk; letter-spacing:-.04em; margin:0; }
.subhead { color:#85857d; margin:12px 0 0; font-size:12px; }
.new-shot { height:40px; border:0; border-radius:6px; background:var(--yellow); color:#1a1a17; padding:0 10px 0 14px; font-weight:700; font-size:11px; box-shadow:0 8px 24px #0005; }.new-shot span { font-size:16px; vertical-align:-1px; }.new-shot kbd { font:500 9px DM Mono; background:#e2b846; padding:4px 6px; border-radius:3px; margin-left:12px; }
.new-shot:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border-block:1px solid var(--line); max-width:calc(1500px - 84px); margin:0 auto 28px; }
.metrics article { display:flex; align-items:center; min-height:82px; padding:15px 18px; background:#161614; }
.metric-icon { width:34px;height:34px;border-radius:7px;display:grid;place-items:center;margin-right:11px;font-size:14px; }.amber{color:var(--yellow);background:#3d3520}.mint{color:var(--mint);background:#243931}.lilac{color:var(--lilac);background:#312e3e}.blue{color:var(--blue);background:#253440}
.metrics small,.metrics strong { display:block; }.metrics small { color:#777770;font-size:9px;margin-bottom:2px; }.metrics strong { font:500 18px Space Grotesk; }.metrics em { margin-left:auto;color:#777770;font:normal 9px DM Mono;align-self:flex-end;margin-bottom:10px; }.metrics em.good{color:var(--mint)}
.list-controls { max-width:calc(1500px - 84px); margin:auto; display:flex;align-items:center;justify-content:space-between;padding-bottom:16px; }
.view-tabs { background:#1b1b18;border:1px solid #30302c;border-radius:7px;padding:3px;display:flex; }.view-tabs button { height:30px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:#777770;font-size:10px; }.view-tabs button.active { color:var(--text);background:#34332d;box-shadow:0 1px 2px #0008; }
.filters { display:flex;gap:7px; }.search { height:34px;width:174px;border:1px solid #30302c;border-radius:6px;display:flex;align-items:center;gap:7px;padding:0 9px;color:#777770;background:#161614; }.search input { width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:10px; }.filters button { height:34px;border:1px solid #30302c;border-radius:6px;background:#161614;padding:0 10px;color:#aaa99f;font-size:10px; }.filters button b { display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#3b3523;color:var(--yellow);font:500 8px DM Mono;margin-left:5px; }
.notice { max-width:calc(1500px - 84px);margin:0 auto 12px;padding:10px 13px;border:1px solid #403c2c;background:#211f18;color:#bcb6a4;border-radius:6px;font-size:10px; }
.shot-list { max-width:calc(1500px - 84px); margin:0 auto 60px; border-top:1px solid #393934; }
.scene { border-bottom:1px solid #393934; }
.scene-head { min-height:50px;display:flex;align-items:center;gap:13px;padding:0 12px;cursor:pointer;background:#151513;position:sticky;top:0;z-index:5; }.scene-head:hover{background:#191917}.scene-head .chev{color:#777770;transition:.2s}.scene.collapsed .chev{transform:rotate(-90deg)}.scene.collapsed .shot-table{display:none}.scene-number{color:var(--yellow);font:500 9px DM Mono;border:1px solid #51482e;background:#272319;border-radius:4px;padding:4px 6px}.scene-head strong{font:600 11px Space Grotesk}.scene-head .scene-meta{color:#74746d;font-size:9px}.scene-head .day-pill{margin-left:auto;color:#9e9e95;font:500 8px DM Mono;border:1px solid #34342f;border-radius:9px;padding:4px 8px}.scene-head .scene-more{color:#777770;margin-left:8px}
.shot-table { width:100%;border-collapse:collapse;table-layout:fixed; }.shot-table th { height:29px;text-align:left;color:#63635d;font:500 8px DM Mono;letter-spacing:.06em;border-top:1px solid #262623;border-bottom:1px solid #262623;background:#121211; }.shot-table th:first-child,.shot-table td:first-child{padding-left:12px}.shot-table th:nth-child(1){width:52px}.shot-table th:nth-child(2){width:74px}.shot-table th:nth-child(3){width:92px}.shot-table th:nth-child(5){width:80px}.shot-table th:nth-child(6){width:84px}.shot-table th:nth-child(7){width:88px}.shot-table th:nth-child(8){width:42px}.shot-table td { min-height:59px;height:59px;border-top:1px solid #242421;color:#aaa99f;font-size:10px;vertical-align:middle; }.shot-table tr:hover td{background:#191917}.drag{color:#51514c}.shot-id{font:500 10px DM Mono;color:var(--cream)}.frame{width:70px;height:40px;border-radius:4px;overflow:hidden;position:relative;background:#333}.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0003,transparent)}.frame.v1{background:linear-gradient(155deg,#405462 0 47%,#b3855f 48% 53%,#22282b 54%)}.frame.v2{background:radial-gradient(circle at 57% 44%,#bba281 0 8%,transparent 9%),linear-gradient(90deg,#29353e 0 42%,#6d5848 43% 57%,#171b1d 58%)}.frame.v3{background:linear-gradient(165deg,#97816f 0 22%,#302c2a 23% 62%,#aaa092 63%)}.frame.v4{background:radial-gradient(circle at 42% 45%,#d4b28b 0 11%,transparent 12%),linear-gradient(125deg,#272d31,#765b46)}.frame.v5{background:linear-gradient(25deg,#17191a 0 37%,#596871 38% 60%,#b69a7c 61%)}.shot-desc{color:#d0cec5!important;padding-right:20px}.shot-desc strong{font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shot-desc small{color:#65655f;font-size:8px;display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag{display:inline-block;border:1px solid #353530;background:#1c1c19;border-radius:4px;padding:4px 6px;font:500 8px DM Mono;color:#a9a89f}.status{display:inline-flex;align-items:center;gap:6px;font-size:9px}.status i{width:6px;height:6px;border-radius:50%}.status.ready i{background:var(--mint);box-shadow:0 0 0 3px #274035}.status.draft i{background:#807f77}.status.blocked i{background:#d08f76;box-shadow:0 0 0 3px #412d26}.row-menu{background:none;border:0;color:#696962;cursor:pointer}.empty-state{text-align:center;padding:70px 20px;color:var(--muted)}.empty-state strong{display:block;color:var(--text);font:500 18px Space Grotesk;margin-bottom:8px}
.toast{position:fixed;right:24px;bottom:24px;z-index:50;background:#f1eee4;color:#171715;border-radius:7px;padding:12px 16px;font-size:11px;font-weight:700;opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateY(0)}
dialog{width:min(620px,calc(100% - 30px));padding:0;border:1px solid #3c3c37;border-radius:10px;background:#1a1a18;color:var(--text);box-shadow:0 30px 100px #000a}dialog::backdrop{background:#090908bb;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;padding:25px 27px 19px;border-bottom:1px solid #32322e}.dialog-head h2{font:600 24px Space Grotesk;margin:0}.close-button{border:0;background:none;font-size:25px;color:#88877f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:24px 27px}.form-grid label{display:grid;gap:7px;color:#99988f;font-size:10px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #3a3a35;border-radius:6px;background:#131312;color:var(--text);padding:10px;outline:none}.form-grid textarea{height:88px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#766b49;box-shadow:0 0 0 3px #41392055}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:17px 27px;border-top:1px solid #32322e}.dialog-actions button{height:36px;padding:0 16px;border:1px solid #3c3c37;border-radius:6px;background:#22221f}.dialog-actions .primary{background:var(--yellow);border-color:var(--yellow);color:#1a1a17;font-weight:700}
.project-dialog-body{padding:22px 27px}.project-list{display:grid;gap:8px;margin-bottom:24px}.project-option{width:100%;display:flex;align-items:center;gap:12px;padding:11px;border:1px solid #34342f;border-radius:7px;background:#151513;text-align:left;cursor:pointer}.project-option:hover{border-color:#57503a;background:#201f1a}.project-option.active{border-color:#6b5d32;background:#29251a}.project-option .poster-mini{flex:0 0 31px}.project-option div{flex:1}.project-option strong,.project-option small{display:block}.project-option strong{font-size:11px}.project-option small{font-size:9px;color:var(--muted);margin-top:3px}.project-option>span:last-child{color:var(--yellow);font-size:10px}.new-project-panel{padding-top:20px;border-top:1px solid #32322e}.form-grid.compact{padding:0;grid-template-columns:1fr 1fr}.project-dialog-body+.dialog-actions{margin-top:2px}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#2b291f 0,transparent 38%),#10100f}.auth-card{width:min(430px,100%);padding:38px;border:1px solid #34332e;border-radius:12px;background:#181816;box-shadow:0 30px 100px #0009}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:48px;font:600 14px Space Grotesk;letter-spacing:.12em}.auth-card h1{font-size:38px;margin-bottom:12px}.auth-copy{color:var(--muted);line-height:1.6;margin:0 0 27px}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:7px;color:#aaa99f;font-size:10px}.auth-card input{height:42px;border:1px solid #3b3b36;border-radius:6px;background:#111110;color:var(--text);padding:0 12px;outline:none}.auth-card input:focus{border-color:#7b6d41;box-shadow:0 0 0 3px #4a402755}.auth-submit{height:43px;margin-top:6px;border:0;border-radius:6px;background:var(--yellow);color:#171715;font-weight:700}.auth-card>small{display:block;color:#6f6f68;margin-top:20px;text-align:center;font-size:9px}.auth-error{margin:0;padding:9px 11px;border:1px solid #6b3f37;border-radius:5px;background:#321f1b;color:#e3a896;font-size:10px}.team-panel{margin-top:22px;padding-top:20px;border-top:1px solid #32322e}.team-heading{display:flex;align-items:center;justify-content:space-between}.team-heading strong{font-size:12px}.team-heading button,.invite-result button{height:32px;border:1px solid #51482e;border-radius:5px;background:#29251a;color:var(--yellow);font-size:9px}.member-list{display:grid;gap:7px;margin-top:12px}.member{display:flex;align-items:center;gap:9px;padding:8px;border-radius:6px;background:#141412}.member .avatar{flex:0 0 29px}.member div{flex:1}.member strong,.member small{display:block}.member strong{font-size:10px}.member small{color:var(--muted);font-size:8px}.member em{font:normal 8px DM Mono;color:var(--yellow);text-transform:uppercase}.invite-result{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid #3b382c;border-radius:7px;background:#171611}.invite-code-row,.invite-link-row{display:flex;align-items:center;gap:8px}.invite-code-row>span{color:var(--muted);font:8px DM Mono}.invite-code-row>strong{flex:1;color:var(--yellow);font:600 16px DM Mono;letter-spacing:.12em}.invite-result input{height:32px;min-width:0;flex:1;border:1px solid #3b3b36;border-radius:5px;background:#111110;color:#aaa99f;padding:0 9px;font:9px DM Mono}.invite-result button{padding:0 10px}.invite-result small{color:var(--muted);font-size:8px}.viewer-lock{color:#c3b787;font:9px DM Mono}
.form-grid label>small{color:#66665f;font-size:8px;line-height:1.35}
.scene-edit{width:30px;height:30px;border:0;border-radius:5px;background:transparent;color:#777770;cursor:pointer}.scene-edit:hover{background:#2a2924;color:var(--yellow)}
.dialog-spacer{flex:1}.dialog-actions .danger{color:#e5a18d;border-color:#694238;background:#2d1c18}.comments-panel{padding-top:14px;border-top:1px solid #32322e}.comments-panel>strong{font-size:11px}.comments-panel>div:last-child{display:flex;gap:7px;margin-top:10px}.comments-panel button{border:1px solid #51482e;border-radius:5px;background:#29251a;color:var(--yellow);padding:0 13px}.comment{padding:8px 0;border-bottom:1px solid #292925}.comment strong{font-size:9px}.comment small{color:var(--muted);margin-left:7px}.comment p{margin:4px 0 0;color:#bbb9af;font-size:9px}.undo-bar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:18px;padding:11px 14px;border-radius:7px;background:#eeeae0;color:#181816;box-shadow:0 15px 45px #0008;font-size:10px}.undo-bar button{border:0;background:none;color:#6e5920;font-weight:700}.story-frame{background-size:cover!important;background-position:center!important}.onset-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;max-width:84px}.onset-actions button{min-width:0;border:1px solid #3b3b35;border-radius:4px;background:#1b1b18;color:#99988f;padding:3px 2px;font-size:7px}.onset-actions button.active{border-color:#6a5d35;color:var(--yellow);background:#29251a}.take-badge{font:8px DM Mono;color:var(--mint)}
.activity-list{max-height:60vh;overflow:auto;padding:8px 27px}.activity-list article{display:flex;align-items:flex-start;gap:11px;padding:14px 0;border-bottom:1px solid #2d2d29}.activity-list article>div{flex:1}.activity-list strong{display:block;font-size:10px}.activity-list p{margin:4px 0;color:#aaa99f;font-size:9px}.activity-list small{color:#6f6f68;font:8px DM Mono}.activity-list button{align-self:center;height:30px;border:1px solid #51482e;border-radius:5px;background:#29251a;color:var(--yellow);font-size:9px}.activity-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px #40371f}
@media print{.sidebar,.topbar,.page-head .new-shot,.list-controls,.toast,.undo-bar{display:none!important}.workspace{margin:0}.page-head{padding:20px 0}.metrics,.shot-list{max-width:none;margin-inline:0}.shot-table th:nth-child(n),.shot-table td:nth-child(n){display:table-cell!important}body{background:#fff;color:#111}.scene-head,.shot-table th,.shot-table td,.metrics article{background:#fff!important;color:#111!important;border-color:#bbb!important}.shot-desc{color:#111!important}}
@media(max-width:1050px){.metrics{grid-template-columns:1fr 1fr}.shot-table th:nth-child(5),.shot-table td:nth-child(5),.shot-table th:nth-child(6),.shot-table td:nth-child(6){display:none}.shot-table th:nth-child(4){width:auto}}
@media(max-width:760px){:root{--sidebar:0px}.sidebar{transform:translateX(-100%);width:260px;transition:.25s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 60px #0008}.sidebar-close{display:grid;place-items:center;position:absolute;right:10px;top:14px;width:34px;height:34px;border:0;border-radius:50%;background:#252520;color:#bbb9af;font-size:24px;z-index:2}.sidebar-backdrop{position:fixed;inset:0;z-index:19;border:0;background:#070706aa;backdrop-filter:blur(2px)}.sidebar-backdrop.open{display:block}.workspace{margin-left:0}.menu-button{display:block}.topbar{padding:0 16px}.crumbs span,.crumbs b{display:none}.presence,.icon-button{display:none}.page-head{padding:30px 18px 24px}.new-shot kbd{display:none}.metrics{margin-inline:18px;max-width:none}.list-controls,.shot-list,.notice{margin-inline:18px;max-width:none}.view-tabs button span{display:none}.search{width:130px}.filters button span,.filters button b{display:none}.shot-table th:nth-child(7),.shot-table td:nth-child(7){display:none}.shot-table th:nth-child(3),.shot-table td:nth-child(3){display:none}.shot-table th:nth-child(2){width:66px}.scene-head .scene-meta{display:none}}
@media(max-width:480px){.metrics{grid-template-columns:1fr}.metrics article{min-height:65px}.page-head{align-items:center}.subhead{display:none}.new-shot{width:38px;padding:0;font-size:0}.new-shot span{font-size:19px}.search{display:none}.shot-table th:nth-child(1),.shot-table td:nth-child(1){display:none}.shot-table th:nth-child(2){width:61px}.shot-table th:nth-child(8){width:28px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
