@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-vietnamese-standard-normal.1chd077tiu-qs.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-latin-ext-standard-normal.1w-ual84inuz5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../media/archivo-latin-standard-normal.3b1_7etm2gpf5.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#f3f4f6;--surface:#fff;--ink:#15171c;--muted:#5b6170;--line:#d7dae0;--spike:#d81b6a;--skipped:#8a6a2e;--done:#17804f;--focus:#2a5bd7;--radius-sm:6px;--radius:12px;--tap:52px;--step--1:.875rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.6rem;--step-3:2.25rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:Archivo Variable,system-ui,sans-serif;font-size:var(--step-0);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:800;font-stretch:75%;line-height:1.1}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}p{margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.stack{gap:16px;display:grid}.field{font-weight:600;font-size:var(--step--1);gap:6px;display:grid}.field input{font:inherit;font-size:var(--step-0);min-height:var(--tap);border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:0 14px;font-weight:400}.field input:focus{border-color:var(--ink);outline:none}.field input[aria-invalid=true]{border-color:var(--spike)}.button{font:inherit;min-height:var(--tap);border-radius:var(--radius-sm);background:var(--ink);color:#fff;cursor:pointer;border:0;justify-content:center;align-items:center;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.button:disabled{opacity:.6;cursor:progress}.button.secondary{color:var(--ink);border:1.5px solid var(--line);background:0 0}.error{color:var(--spike);font-weight:600;font-size:var(--step--1)}.notice{border-left:4px solid var(--done);gap:6px;padding:4px 0 4px 16px;display:grid}.notice-title{font-weight:700}.login{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login-card{background:var(--surface);border-radius:var(--radius);width:min(100%,26rem);box-shadow:0 1px 0 var(--line), 0 12px 40px -24px #15171c59;gap:20px;padding:0 28px 28px;display:grid;overflow:hidden}.login-card h1{margin-top:8px}.lede{color:var(--muted)}.slate{background:repeating-linear-gradient(120deg, var(--ink) 0 24px, #fff 24px 48px);height:28px;margin:0 -28px}.shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:24px;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.brand{font-weight:800;font-stretch:75%;font-size:var(--step-1);text-decoration:none}.nav{flex:1;gap:4px;display:flex}.nav a{color:var(--muted);border-radius:var(--radius-sm);padding:8px 12px;font-weight:600;text-decoration:none}.nav a[aria-current=page]{color:var(--ink);background:var(--paper)}.signout{margin-left:auto}.signout button{font:inherit;font-size:var(--step--1);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px}.content{flex:1;width:min(100%,60rem);margin:0 auto;padding:32px 24px 48px}.page-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;display:flex}@media (max-width:720px){.topbar{padding:0 16px}.topbar .nav{display:none}.content{padding:24px 16px calc(96px + env(safe-area-inset-bottom))}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;inset:auto 0 0}.tabbar a{min-height:60px;color:var(--muted);place-items:center;font-weight:700;text-decoration:none;display:grid}.tabbar a[aria-current=page]{color:var(--ink);box-shadow:inset 0 3px 0 var(--ink)}}@media (min-width:721px){.tabbar{display:none}}.list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--line)}.row{grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;text-decoration:none;display:grid}.row-title{font-weight:700;font-size:var(--step-1);line-height:1.25}.row-meta{color:var(--muted);font-size:var(--step--1)}.status{font-size:var(--step--1);white-space:nowrap;align-self:start;font-weight:700}.status[data-s=awaiting-footage]{color:var(--spike)}.status[data-s=ready]{color:var(--done)}.status[data-s=invalid]{color:var(--muted)}.ticks{grid-column:1/-1;gap:4px;display:flex}.ticks i{background:var(--line);border-radius:2px;width:18px;height:6px}.ticks i[data-s=needed]{background:color-mix(in srgb, var(--spike) 35%, transparent)}.ticks i[data-s=skipped]{background:var(--skipped)}.ticks i[data-s=uploaded]{background:var(--done)}a.row:hover .row-title{text-underline-offset:3px;text-decoration:underline}.group{margin-bottom:32px}.group h2{font-size:var(--step-1);margin-bottom:8px}.shot{grid-template-columns:6px 1fr;gap:14px;padding:16px 0;display:grid}.shot:before{content:"";background:var(--spike);border-radius:3px}.shot-desc{font-size:var(--step-1);font-weight:600;line-height:1.3}.shot-meta{color:var(--muted);font-size:var(--step--1);margin-top:4px}.shot-avoid{color:var(--spike);font-size:var(--step--1);margin-top:4px;font-weight:600}.shot-for{font-size:var(--step--1);margin-top:6px}.empty{justify-items:start;gap:16px;max-width:32rem;padding:48px 0;display:grid}.empty p{color:var(--muted)}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button.small{min-height:44px;font-size:var(--step--1);padding:0 16px}.button.danger{background:var(--spike)}.link-button{font:inherit;font-size:var(--step--1);color:var(--ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 0;font-weight:600;text-decoration:underline}.link-button.danger{color:var(--spike)}.hint{color:var(--muted);font-size:var(--step--1)}.narrow{max-width:36rem}.intro{margin:-8px 0 24px}.new-form{gap:18px;display:grid}.field textarea{font:inherit;font-size:var(--step-0);border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);resize:vertical;padding:12px 14px;font-weight:400}.field textarea:focus{border-color:var(--ink);outline:none}.field textarea[aria-invalid=true]{border-color:var(--spike)}.or{color:var(--muted);font-size:var(--step--1);margin:-6px 0}.chips{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.chips legend{font-weight:600;font-size:var(--step--1);margin-bottom:6px;padding:0}.chip input{opacity:0;pointer-events:none;position:absolute}.chip span{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;min-height:44px;padding:0 18px;font-weight:600;display:inline-flex}.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}.chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.slate.working{border-radius:var(--radius-sm);background-size:96px 100%;margin:0;animation:1.1s linear infinite slate-run}@keyframes slate-run{to{background-position:96px 0}}.editor{gap:20px;display:grid}.editor>*,.editor-body>*,.scene>*{min-width:0}.field input,.field textarea{width:100%;min-width:0}.editor-head{gap:4px;display:grid}.title-input{font:inherit;font-size:var(--step-3);letter-spacing:-.01em;color:var(--ink);resize:none;background:0 0;border:0;border-bottom:1.5px dashed #0000;width:100%;min-width:0;padding:2px 0;font-weight:800;font-stretch:75%;line-height:1.1;display:block;overflow:hidden}.title-input:hover,.title-input:focus{border-bottom-color:var(--line);outline:none}.editor-body{align-items:start;gap:24px;display:grid}.preview{justify-self:center;gap:8px;width:min(100%,300px);display:grid}.preview-note{color:var(--muted);font-size:var(--step--1);text-align:center}@media (min-width:900px){.editor-body{grid-template-columns:320px 1fr;gap:40px}.preview{width:100%;position:sticky;top:84px}}.scenes{gap:12px;margin:0;padding:0;list-style:none;display:grid}.scene{background:var(--surface);border-radius:var(--radius);box-shadow:inset 4px 0 0 var(--line);gap:14px;padding:16px 18px 18px;display:grid}.scene[data-s=needed]{box-shadow:inset 4px 0 0 var(--spike)}.scene[data-s=uploaded]{box-shadow:inset 4px 0 0 var(--done)}.scene[data-s=skipped]{box-shadow:inset 4px 0 0 var(--skipped)}.scene-head{align-items:baseline;gap:10px;display:flex}.scene-n{font-weight:800;font-stretch:75%;font-size:var(--step-1);min-width:1.2em}.scene-kind{font-weight:700}.scene-dur{color:var(--muted);font-size:var(--step--1)}.scene-head .link-button{margin-left:auto}.caption-field .count{color:var(--muted);font-weight:400}.caption-field .count.over{color:var(--spike);font-weight:600}.stat-fields{grid-template-columns:8rem 1fr;gap:12px;display:grid}.shot-box{border-top:1px solid var(--line);gap:6px;padding-top:14px;display:grid}.shot-box .actions{margin-top:8px}.shot-label{font-size:var(--step--1);color:var(--spike);font-weight:700}.scene[data-s=uploaded] .shot-label{color:var(--done)}.shot-status{color:var(--skipped);font-weight:600}.editor-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.chips-hint{flex-basis:100%;margin-top:2px}
