:root{color-scheme:light;--ink:#151515;--paper:#f3f4f5;--line:#d5d8dc;--muted:#59616a;--blue:#285bd5;--green:#177a51;--amber:#ac6a00;--blue-soft:#edf2ff;--green-soft:#edf7f1;--amber-soft:#fff6e5;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none;font-size:14px;line-height:1.4}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait;opacity:.5}a{color:inherit}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #285bd5;outline-offset:3px}button,input,select,textarea{transition:border-color .12s,background .12s}button{border-radius:4px}input,select,textarea{min-width:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:30;top:-80px;left:16px;padding:12px;background:white;border:2px solid black}.skip-link:focus{top:8px}
.topbar{height:54px;background:#151515;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1440px)/2));gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}.brand-name{font-size:24px;font-weight:850;letter-spacing:-1.4px}.brand-label{font-size:10px;font-weight:700;letter-spacing:1.8px}.save-status{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:#f2f2f2}.status-dot{width:7px;height:7px;border-radius:50%;background:#b9c0c5;flex-shrink:0}.save-status[data-state=saved] .status-dot{background:#8ee1ab}.save-status[data-state=error] .status-dot,.save-status[data-state=conflict] .status-dot,.save-status[data-state=rejected] .status-dot{background:#ffc364}.save-status[data-state=saving] .status-dot{background:#fff;animation:pulse 1s infinite}.workspace{width:min(1440px,calc(100% - 48px));margin:0 auto}.project-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 20px}.project-heading{display:flex;align-items:center;gap:16px}.project-heading h1{display:flex;align-items:baseline;gap:11px;margin:0;line-height:1.1;font-size:34px;font-weight:850;letter-spacing:-1.3px}.project-heading h1>span:last-child{font-size:20px;font-weight:650;letter-spacing:-.5px}.title-slash{color:#a1a6ac;font-size:27px;font-weight:400}.shot-total{font-size:12px;font-weight:600;background:white;border:1px solid var(--line);padding:5px 8px;white-space:nowrap;border-radius:4px}.shot-total strong{font-weight:800}.header-actions{display:flex;gap:7px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 12px;border:1.5px solid #151515;border-radius:4px;background:#151515;color:white;font-size:12px;font-weight:750;white-space:nowrap}.button:hover{background:#343434}.button-secondary{background:white;color:var(--ink)}.button-secondary:hover{background:#e8eaed}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:2px solid #151515;border-bottom:1px solid #cfd3d8}.scene-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-chip{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1.5px solid #cbd0d6;background:white;color:#424b55;font-size:11px;font-weight:700;white-space:nowrap}.filter-chip:hover{border-color:#151515}.filter-chip.selected{background:#151515;border-color:#151515;color:white}.filter-chip.selected[data-scene=opening]{background:var(--blue);border-color:var(--blue)}.filter-chip.selected[data-scene=rescue]{background:var(--green);border-color:var(--green)}.filter-chip.selected[data-scene=battlefield]{background:var(--amber);border-color:var(--amber)}.filter-count{padding:0 5px;border-radius:2px;background:#ffffff25;font-size:11px;font-weight:800}.scene-dot{height:8px;width:8px;border-radius:2px;flex-shrink:0}.scene-dot.opening{background:var(--blue)}.scene-dot.rescue{background:var(--green)}.scene-dot.battlefield{background:var(--amber)}.filter-chip.selected .scene-dot{background:white}.view-controls{display:flex;align-items:center;gap:7px}.search-field{display:flex;align-items:center;gap:7px;border:1px solid #cbd0d6;border-radius:4px;padding:0 9px;background:white}.search-field svg{width:15px;height:15px;fill:none;stroke:#424b55;stroke-width:1.8;flex-shrink:0}.search-field input{width:120px;min-height:35px;background:transparent;border:0;padding:7px 0;outline-offset:0;font-size:12px}.search-field input::placeholder{color:#65717b}.sort-field select{min-height:36px;border:1px solid #cbd0d6;border-radius:4px;background:white;padding:6px 7px;font-size:12px;font-weight:650;max-width:123px}.list-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 11px;font-size:11px;color:#59626b;font-weight:550}.list-caption strong{font-weight:800;color:#151515;margin-left:4px}.shot-list{min-height:200px;outline:none}.scene-section{margin-bottom:22px;--scene:var(--blue);--scene-soft:var(--blue-soft)}.scene-section[data-scene=rescue]{--scene:var(--green);--scene-soft:var(--green-soft)}.scene-section[data-scene=battlefield]{--scene:var(--amber);--scene-soft:var(--amber-soft)}.scene-header{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--scene);color:white;padding:11px 14px;border-radius:5px 5px 0 0}.scene-heading{display:flex;align-items:center;gap:10px}.scene-heading h2,.scene-header h2{margin:0;font-size:16px;letter-spacing:-.3px;font-weight:800}.scene-count{font-size:11px;font-weight:650;color:#ffffffd9;white-space:nowrap}.scene-index{font-size:12px;font-weight:800;background:#ffffff20;border:1px solid #ffffff50;border-radius:3px;min-width:30px;min-height:26px;display:flex;align-items:center;justify-content:center}.scene-header label{font-size:10px;font-weight:700}.scene-header input{width:58px;min-height:31px;padding:4px 6px;border:1px solid #ffffff60;border-radius:3px;background:#ffffff15;color:white;font-weight:750;text-align:center}.scene-header input:focus{background:white;color:#151515;outline-color:white}.scene-header input::placeholder{color:#ffffffa0}.scene-header button{color:inherit;background:transparent;border:1px solid #ffffff50;font-weight:700}.shot-card{border:1px solid #cdd2d8;border-top:0;background:white;--scene:var(--blue);--scene-soft:var(--blue-soft);padding:13px 14px}.shot-card[data-scene=rescue]{--scene:var(--green);--scene-soft:var(--green-soft)}.shot-card[data-scene=battlefield]{--scene:var(--amber);--scene-soft:var(--amber-soft)}.shot-card:focus-within{box-shadow:inset 3px 0 0 var(--scene)}.shot-card input,.shot-card textarea,.shot-card select{background:#fff;border:1px solid #c8cfd6;border-radius:3px;min-height:33px;padding:6px 8px;width:100%;font-size:12px;font-weight:500}.shot-card input:hover,.shot-card textarea:hover,.shot-card select:hover{border-color:#858f98}.shot-card input:focus,.shot-card textarea:focus,.shot-card select:focus{outline:2px solid var(--scene);outline-offset:1px;border-color:var(--scene)}.shot-card textarea{resize:vertical;line-height:1.5}.shot-card input::placeholder,.shot-card textarea::placeholder{color:#7b858e;font-weight:400}.shot-card label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:750;color:#39434d}.shot-code{font-size:21px;font-weight:850;letter-spacing:-.7px;color:var(--scene);line-height:1.2}.shot-card button{font-size:11px;font-weight:700;min-height:30px;border:0;background:transparent;color:#465360;padding:4px 7px}.shot-card button:hover{background:#e9edf0;color:#151515}.scene-add{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;background:var(--scene-soft);border:1px solid #cdd2d8;border-top:0;border-radius:0 0 5px 5px;font-size:12px;font-weight:800;color:var(--scene);padding:9px}.scene-add:hover{background:var(--scene);color:white;border-color:var(--scene)}.add-shot-form{padding:14px;border:1px solid #cdd2d8;border-top:0;background:var(--scene-soft);border-radius:0 0 5px 5px}.inline-error,.form-error{font-size:12px;font-weight:650;color:#a42a24;margin:7px 0 0}.notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 13px;margin:0 0 14px;background:#fff1d6;border:1.5px solid #d39b38;border-radius:4px;color:#613d00;font-size:12px;font-weight:650}.notice-actions{display:flex;gap:7px;flex-shrink:0}.notice .button{font-size:11px;min-height:31px;border-color:#805000;background:transparent;color:#613d00}.notice .button:hover{background:#ffe0a0}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:200px;text-align:center;font-size:13px;color:#59636d}.empty-state h2{font-size:22px;letter-spacing:-.4px;color:#151515;margin:0}.empty-state p{margin:0}.loading-ring{width:20px;height:20px;border:2px solid #c9ced3;border-top-color:#151515;border-radius:50%;animation:spin 1s linear infinite}.workspace-footer{font-size:9px;letter-spacing:1.1px;font-weight:800;color:#66717a;padding:0 0 20px}.toast{position:fixed;z-index:20;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:18px;max-width:calc(100% - 32px);background:#151515;color:white;border-radius:5px;padding:12px 15px;box-shadow:0 5px 25px #0003;font-size:13px;font-weight:600}.toast button{border:0;background:transparent;color:#a9ccff;font-weight:800;padding:5px}.toast #dismiss-toast{font-size:21px;color:white;line-height:1}.priority-heading{font-size:16px;font-weight:800;margin:8px 0 12px}.priority-scene-label{font-size:11px;font-weight:750;color:var(--scene);margin-bottom:5px}@keyframes pulse{50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.toolbar{align-items:flex-start;flex-direction:column;gap:10px}.view-controls{width:100%;justify-content:space-between}.search-field{flex:1;max-width:360px}.search-field input{width:100%}.scene-filters{gap:6px}.filter-chip{font-size:12px}}
@media(max-width:680px){.workspace{width:calc(100% - 24px)}.topbar{height:49px;padding:0 12px;gap:12px}.brand{gap:8px}.brand-name{font-size:22px}.brand-label{font-size:8px;letter-spacing:1.2px}.save-status{font-size:10px;gap:5px}.status-dot{width:6px;height:6px}.project-header{padding:18px 0 15px;gap:12px}.project-heading{flex-wrap:wrap;gap:5px 9px}.project-heading h1{font-size:28px;gap:7px;letter-spacing:-1px}.project-heading h1>span:last-child{font-size:15px;letter-spacing:-.3px}.title-slash{font-size:23px}.shot-total{font-size:10px;border:0;background:transparent;padding:1px 0}.header-actions{gap:5px}.header-actions .button{font-size:10px;padding:6px 8px;min-height:33px}.toolbar{padding:11px 0}.scene-filters{gap:5px}.filter-chip{font-size:11px;padding:7px 8px;min-height:34px;gap:5px}.filter-long{display:none}.scene-dot{width:6px;height:6px}.view-controls{gap:7px}.search-field{max-width:none}.sort-field select{font-size:11px}.list-caption{font-size:10px;padding:11px 0 9px}.scene-header{padding:10px 11px;gap:8px}.scene-heading{gap:7px}.scene-header h2{font-size:14px}.scene-count{font-size:10px}.shot-card{padding:11px}.shot-card input,.shot-card textarea,.shot-card select,.scene-header input{font-size:16px}.shot-card label{font-size:11px}.scene-header input{width:48px}.notice{align-items:flex-start;flex-direction:column;gap:8px}.notice-actions{align-self:flex-end}.toast{font-size:12px;bottom:12px;gap:10px}.shot-code{font-size:21px}.workspace-footer{font-size:8px}}
@media(pointer:coarse){.button,.filter-chip,.scene-add,.shot-card button,.toast button{min-height:44px}.shot-card input,.shot-card select,.search-field input,.sort-field select{min-height:44px}.scene-header input{min-height:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4 landscape;margin:12mm}body{background:white}.topbar,.toolbar,.header-actions,.notice,.toast,.skip-link,.scene-add,.add-shot-form,.shot-actions,.shot-card button{display:none!important}.workspace{width:100%}.project-header{padding:0 0 10px}.project-heading h1{font-size:25px}.project-heading h1>span:last-child{font-size:17px}.list-caption{padding:8px 0}.scene-section{break-inside:auto;margin-bottom:15px}.scene-header{break-after:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:7px 10px}.scene-header h2{font-size:13px}.scene-header input{background:transparent;border:0;font-size:11px;min-height:20px}.shot-card{break-inside:avoid;padding:8px 10px}.shot-card input,.shot-card textarea,.shot-card select{font-size:10px;min-height:23px;padding:3px 0;border-color:transparent;appearance:none;background:transparent}.shot-card textarea{resize:none;overflow:visible}.shot-card label{font-size:8px}.shot-code{font-size:17px}.workspace-footer{font-size:8px;padding:5px 0}}
/* Inline shot editing */
.scene-header .scene-number{width:46px;min-height:32px;padding:4px;border:1px solid #ffffff70;border-radius:3px;background:#ffffff18;color:white;text-align:center;font-size:15px;font-weight:800;letter-spacing:-.4px}.scene-header .scene-number:focus{background:white;color:#151515;outline:2px solid white;outline-offset:2px}.shot-card{display:grid;grid-template-columns:62px minmax(0,1fr) 92px 108px 70px;gap:10px 14px;align-items:center;padding:11px 14px;min-height:77px}.shot-code{display:flex;align-items:center;justify-content:center;background:var(--scene);color:white;border-radius:4px;padding:9px 6px;min-width:50px;min-height:43px;font-size:22px;font-weight:850;letter-spacing:-.6px;overflow-wrap:anywhere}.shot-card .shot-action{display:block;field-sizing:content;width:100%;min-height:39px;resize:none;overflow:hidden;padding:7px 9px;border:1px solid #e4e7eb;border-radius:4px;background:#f7f8fa;font-size:14px;font-weight:700;line-height:1.5}.shot-card .shot-action:hover{border-color:#aeb7c1;background:white}.shot-card .shot-action:focus{background:white}.shot-card .priority-field{display:flex;flex-direction:column;align-items:stretch;gap:3px;color:#151515;font-size:12px;font-weight:800;line-height:1.2}.shot-card .priority-input{height:35px;min-height:35px;padding:4px 7px;background:#eff1f4;border:1.5px solid #b4bdc7;font-size:18px;font-weight:800;text-align:center;color:#151515}.shot-card .priority-input::placeholder{color:#626f7b;font-weight:700}.shot-card .priority-input:focus{background:white;border-color:var(--scene)}.shot-card .status-input{font-size:12px;font-weight:650;min-height:35px;padding:6px 5px;background:#f7f8fa;border-color:#d5dae0;border-radius:4px}.shot-card[data-status=ready] .status-input{background:#eaf1ff;color:#214ea8;border-color:#bed0f5}.shot-card[data-status=filmed] .status-input{background:#e9f5ee;color:#14683e;border-color:#b9dbc7}.shot-card .more-button{min-height:35px;padding:6px 3px;font-size:12px;font-weight:750;color:#34424f;border:1px solid transparent;border-radius:3px}.shot-card .more-button:hover,.shot-card .more-button[aria-expanded=true]{border-color:#c7ced5;background:#edf0f3}.shot-details{grid-column:1/-1;border-top:1px solid #dfe3e8;padding:13px 0 1px;margin-top:1px}.detail-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.shot-card .inline-field{font-size:12px;font-weight:750;color:#27343f;display:flex;flex-direction:column;gap:5px}.shot-card .inline-field input,.shot-card .inline-field select{min-height:36px;font-size:13px;font-weight:550}.shot-card .shot-notes{display:block;field-sizing:content;resize:vertical;min-height:44px;padding:9px;font-size:13px;font-weight:500;line-height:1.5}.shot-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:9px}.shot-card .shot-actions button{min-height:32px;font-size:12px;padding:5px 9px;border:1px solid #c5cdd5;border-radius:3px}.shot-card .shot-actions button:last-child{color:#9f2924;border-color:#e4c8c5}.shot-card .shot-actions button:last-child:hover{background:#fff0ee;border-color:#cc8a82}.field-status{grid-column:1/-1;color:#a02a23;font-size:12px;font-weight:650}.field-status:empty{display:none}.scene-footer{border-radius:0 0 5px 5px;overflow:hidden}.scene-footer .scene-add{border-radius:0 0 5px 5px;min-height:40px;font-size:13px;font-weight:800}.add-composer{display:grid;grid-template-columns:62px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid #c5ced8;border-top:0;background:var(--scene-soft);border-radius:0 0 5px 5px}.composer-code{font-size:21px;font-weight:850;color:var(--scene);text-align:center;letter-spacing:-.5px}.composer-action{min-height:40px;border:1.5px solid #aebbc8;border-radius:4px;background:white;padding:8px 10px;font-size:14px;font-weight:600;width:100%}.composer-action::placeholder{color:#677580;font-weight:500}.add-confirm,.add-cancel{min-height:40px;padding:7px 12px;border-radius:4px;font-size:12px;font-weight:800}.add-confirm{background:var(--scene);border:1.5px solid var(--scene);color:white}.add-confirm:hover{filter:brightness(.9)}.add-cancel{background:white;border:1.5px solid #b9c3cd;color:#354350}.add-cancel:hover{background:#e9edf1}.priority-add-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 22px}.priority-add-footer .scene-add{border:1.5px solid #c7d0d9;border-radius:4px;background:white;color:#151515;min-height:42px}.priority-add-footer .scene-add:hover{background:#151515;color:white}.priority-add-footer .scene-add[data-scene=opening]{color:var(--blue);border-color:var(--blue)}.priority-add-footer .scene-add[data-scene=rescue]{color:var(--green);border-color:var(--green)}.priority-add-footer .scene-add[data-scene=battlefield]{color:var(--amber);border-color:var(--amber)}.priority-add-footer .scene-add:hover{color:white}.shot-list>.shot-card{border-top:1px solid #cdd2d8;margin-bottom:7px;border-radius:4px}
@media(max-width:900px){.shot-card{grid-template-columns:55px minmax(0,1fr) 82px 100px 64px;gap:10px}.shot-card .shot-action{font-size:13px}.shot-code{font-size:20px;min-width:45px}.detail-fields{gap:10px}.shot-card .priority-input{font-size:17px}}
@media(max-width:680px){.shot-card{grid-template-columns:49px minmax(0,1fr) 77px;gap:9px 10px;align-items:start;padding:11px}.shot-code{grid-column:1;grid-row:1;min-width:0;min-height:42px;font-size:21px;padding:10px 4px}.shot-card .shot-action{grid-column:2;grid-row:1;font-size:16px;line-height:1.45;padding:7px;min-height:43px}.shot-card .priority-field{grid-column:3;grid-row:1;font-size:12px;gap:4px}.shot-card .priority-input{font-size:18px;min-height:37px;height:37px}.shot-card .status-input{grid-column:2;grid-row:2;width:112px;font-size:16px;min-height:36px;padding:5px}.shot-card .more-button{grid-column:3;grid-row:2;min-height:36px;font-size:12px}.shot-details{grid-column:1/-1;grid-row:3;padding-top:11px}.detail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shot-card .inline-field{font-size:12px}.shot-card .inline-field input,.shot-card .inline-field select,.shot-card .shot-notes{font-size:16px;min-height:40px}.shot-card .shot-actions button{font-size:12px;min-height:36px}.field-status{grid-row:4}.scene-header .scene-number{font-size:16px;min-height:33px;width:39px}.scene-header h2{font-size:14px}.scene-count{font-size:11px}.add-composer{grid-template-columns:49px minmax(0,1fr) auto;gap:9px 10px;padding:11px}.composer-code{font-size:20px}.composer-action{grid-column:2/-1;font-size:16px;min-height:43px}.add-confirm{grid-column:2;justify-self:end;min-height:37px;min-width:67px}.add-cancel{grid-column:3;min-height:37px}.priority-add-footer{grid-template-columns:1fr;gap:7px}.priority-add-footer .scene-add{min-height:40px;font-size:13px}.scene-footer .scene-add{min-height:40px;font-size:13px}}
@media(pointer:coarse){.shot-card .priority-input,.shot-card .status-input,.shot-card .more-button,.shot-card .shot-actions button,.scene-footer .scene-add,.composer-action,.add-confirm,.add-cancel{min-height:44px}.shot-card .inline-field input,.shot-card .inline-field select{min-height:44px}}
@media print{.add-composer,.scene-footer,.priority-add-footer,.shot-card .more-button,.shot-card .shot-actions{display:none!important}.shot-card{grid-template-columns:48px minmax(0,1fr) 65px 85px;gap:6px 10px;min-height:0;padding:7px 10px}.shot-code{grid-column:1;grid-row:auto;background:var(--scene);color:white;font-size:16px;min-height:30px;padding:6px 4px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.shot-card .shot-action{grid-column:2;grid-row:auto;field-sizing:content;min-height:26px;font-size:11px;font-weight:700;background:transparent;border:0;padding:4px 0;overflow:visible}.shot-card .priority-field{grid-column:3;grid-row:auto;font-size:9px;gap:0}.shot-card .priority-input{min-height:22px;height:22px;font-size:13px;border:0;background:transparent;padding:1px;text-align:left}.shot-card .status-input{grid-column:4;grid-row:auto;width:auto;font-size:10px;min-height:23px;border:0;background:transparent;padding:2px}.shot-card[data-has-details=true] .shot-details[hidden]{display:block!important}.shot-details{grid-column:1/-1;grid-row:auto;border-top:1px solid #ddd;padding:6px 0 0;margin:0}.detail-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:5px}.shot-card .inline-field{font-size:8px;gap:1px}.shot-card .inline-field input,.shot-card .inline-field select{min-height:18px;padding:1px 0;font-size:9px;border:0;background:transparent}.shot-card .shot-notes{field-sizing:content;min-height:0;border:0;padding:2px 0;font-size:10px}.scene-header .scene-number{min-height:22px;font-size:12px;padding:0;border:0;background:transparent}.field-status{display:none}.shot-list>.shot-card{margin-bottom:4px}}
