/* Showreel Studio: the Cutting Room. A dark editing suite; coral for action, green for done. */
:root{
  --bg:#09090b;--panel:#0c0c0f;--raised:#111115;--raised2:#16161b;--line:#1d1d23;--line2:#2a2a31;
  --text:#e8e8ea;--ink:#f5f5f7;--mid:#a4a4ae;--soft:#6e6e79;--faint:#4a4a53;
  --accent:#ff4d3d;--accent-ink:#ff6a5b;--accent-soft:rgb(255 77 61 / .14);
  --ok:#5ee08a;--ok-soft:rgb(52 199 89 / .12);--warn:#f5b54a;--warn-soft:rgb(245 181 74 / .12);--no:#ff6a5b;--no-soft:rgb(255 90 74 / .12);
  --font:"Geist",system-ui,sans-serif;--mono:"Geist Mono",ui-monospace,monospace;--r:10px;
  --sunk:#0e0e12
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13.5px;-webkit-font-smoothing:antialiased}
body{display:grid;grid-template-columns:60px 1fr;grid-template-rows:52px 1fr;height:100vh;overflow:hidden}
::selection{background:rgb(255 77 61 / .35)}
[hidden]{display:none!important}
a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}
svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* rail */
#rail{grid-row:1/3;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:13px 0;gap:6px}
#rail .logo{width:26px;height:26px;border-radius:7px;background:radial-gradient(circle at 30% 30%,#ff7a6b,#ff4d3d 60%,#c92e20);box-shadow:0 0 22px rgb(255 77 61 / .45);margin-bottom:16px;position:relative}
#rail .logo::after{content:"";position:absolute;left:10px;top:8px;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;opacity:.95}
#nav{display:flex;flex-direction:column;gap:6px}
#nav a,#rail .cloud{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--soft);position:relative}
#nav a svg,#rail .cloud svg{width:18px;height:18px}
#nav a:hover,#rail .cloud:hover{color:var(--text);background:var(--raised);text-decoration:none}
#nav a.on{background:var(--raised2);color:#fff;box-shadow:inset 0 0 0 1px var(--line2)}
#nav a.on::before{content:"";position:absolute;left:-11px;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent)}
#nav a span{position:absolute;left:48px;background:var(--raised2);border:1px solid var(--line2);color:var(--text);font-size:12px;padding:4px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:50}
#nav a:hover span{opacity:1}
#rail .cloud{margin-top:auto}

/* top bar */
#top{display:flex;align-items:center;gap:12px;padding:0 16px 0 18px;border-bottom:1px solid var(--line);background:var(--bg);min-width:0}
.crumb{font-size:13px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb a{color:var(--soft)}.crumb a:hover{color:var(--text);text-decoration:none}.crumb b{color:var(--ink);font-weight:500}.crumb i{font-style:normal;margin:0 7px;color:var(--faint)}
#status{display:flex;gap:6px}
.spacer{flex:1}
.cmdk{display:flex;align-items:center;gap:9px;width:260px;font:12.5px var(--font);color:var(--soft);background:transparent;border:1px solid var(--line2);border-radius:9px;padding:7px 10px;cursor:pointer}.cmdk:hover{border-color:#3a3a43;color:var(--mid)}
.cmdk svg{width:14px;height:14px}.cmdk kbd{margin-left:auto;font:10.5px var(--mono);border:1px solid var(--line2);border-radius:5px;padding:1px 5px;color:var(--soft)}
.actions{display:flex;gap:8px;align-items:center}
.me{width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,#3a3a44,#1b1b21);border:1px solid #2e2e36;font:600 11px var(--font);display:grid;place-items:center;color:#cfcfd6;flex:none}

/* main */
main{overflow:auto;padding:26px 28px 120px;min-width:0}
main.bleed{padding:0;overflow:hidden}
h1{font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
h2{font-size:15px;font-weight:600;color:var(--ink);margin:26px 0 10px;letter-spacing:-.005em}
h3{font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
.eyebrow{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:8px}
.sub{color:var(--mid);max-width:780px;line-height:1.55}
p{line-height:1.55}
.empty{color:var(--soft);padding:34px 0}
code{font:12px var(--mono);background:var(--raised2);border:1px solid var(--line);padding:1px 6px;border-radius:5px;color:var(--text)}
.grid{display:grid;gap:12px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
.card{background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.card p{color:var(--mid);font-size:13px}
.card .eyebrow{color:var(--soft)}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* controls */
.btn{font:500 12.5px var(--font);padding:7px 13px;border-radius:9px;border:1px solid var(--line2);background:var(--raised2);color:var(--text);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn:hover{border-color:#3a3a43;background:#1b1b21;text-decoration:none}
.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:inset 0 0 0 1px rgb(255 255 255 / .08),0 8px 24px -10px rgb(255 77 61 / .8)}.btn.accent:hover{background:#ff5d4e}
.btn.ghost{background:transparent;border-color:var(--line2);color:var(--mid)}.btn.ghost:hover{color:var(--text)}
.btn.small{padding:5px 10px;font-size:12px;border-radius:8px}
.btn:disabled{opacity:.4;cursor:default}
.btn.danger{color:var(--no)}
.chip{font:500 10.5px var(--mono);padding:3px 8px;border-radius:999px;background:var(--raised2);border:1px solid var(--line);color:var(--mid);white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.chip.ok{background:var(--ok-soft);border-color:rgb(52 199 89 / .25);color:var(--ok)}
.chip.no{background:var(--no-soft);border-color:rgb(255 90 74 / .3);color:var(--no)}
.chip.warn{background:var(--warn-soft);border-color:rgb(245 181 74 / .28);color:var(--warn)}
.chip.dot::before{content:"";width:6px;height:6px;border-radius:9px;background:currentColor}
input,textarea,select{font:13px var(--font);color:var(--text);background:var(--sunk);border:1px solid var(--line2);border-radius:8px;padding:8px 10px;width:100%;outline:none}
input:focus,textarea:focus,select:focus{border-color:rgb(255 77 61 / .55);box-shadow:0 0 0 3px rgb(255 77 61 / .12)}
textarea{resize:vertical;min-height:56px;line-height:1.5}
input[type=checkbox]{width:auto;accent-color:var(--accent)}
input[type=color]{padding:2px;height:36px}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--soft) 50%),linear-gradient(135deg,var(--soft) 50%,transparent 50%);background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
label{display:block;font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:5px}
.field{margin-bottom:10px}.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
table{width:100%;border-collapse:collapse}
th{text-align:left;font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);padding:0 10px 8px;border-bottom:1px solid var(--line)}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:hover td{background:rgb(255 255 255 / .015)}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:16px 0}.tabs a{padding:9px 12px;color:var(--soft);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.on{color:var(--ink);border-color:var(--accent)}
.gate{border:1px solid rgb(245 181 74 / .3);background:var(--warn-soft);color:var(--warn);padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:14px}
.ok-box{border:1px solid rgb(52 199 89 / .25);background:var(--ok-soft);color:var(--ok);padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:14px}
.kv{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;font-size:12.5px;color:var(--mid)}.kv b{font:500 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--soft);padding-top:2px}
.swatches{display:flex;gap:6px;margin:10px 0}.sw{width:30px;height:30px;border-radius:8px;border:1px solid rgb(255 255 255 / .1)}
video{width:100%;max-height:70vh;object-fit:contain;border-radius:12px;background:#000;display:block;border:1px solid var(--line)}
pre.code{font:12px/1.55 var(--mono);background:var(--sunk);color:#cfd3dc;border:1px solid var(--line);border-radius:12px;padding:16px;overflow:auto;max-height:520px}
img{max-width:100%}

/* storyboard / slides editors outside the film surface */
.line-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--raised)}.line-card .head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.line-card .head .id{font-family:var(--mono);color:var(--accent-ink)}
.hints{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:end}.hints label.inline{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font:12.5px var(--font);color:var(--mid);margin:0}
.stages{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.frames{display:grid;grid-template-columns:1fr;gap:12px}.seg{display:grid;grid-template-columns:200px 200px 1fr;gap:14px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--raised)}.seg img{width:100%;border-radius:8px;border:1px solid var(--line);display:block}.seg .expect{font-size:13px;line-height:1.5;color:var(--mid)}.seg .verdict{display:flex;gap:6px;margin-top:8px;align-items:center}.seg.pass{border-color:rgb(52 199 89 / .35)}.seg.fail{border-color:rgb(255 90 74 / .4)}
.sheet img{width:100%;border-radius:12px;border:1px solid var(--line)}
.takes .take{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.takes .take:last-child{border:0}.takes audio{width:100%;height:30px}
audio{filter:invert(.9) hue-rotate(180deg);opacity:.85}
.kit-card{display:grid;grid-template-columns:1fr 260px;gap:16px}.kit-card .prev{width:100%;max-height:170px;border-radius:8px;border:1px solid var(--line);background:var(--sunk);aspect-ratio:16/10;object-fit:cover;display:block}.kit-card .placeholder{display:flex;align-items:center;justify-content:center;color:var(--soft);border-style:dashed;font-size:13px}

/* film cards on Films and Overview */
.reels{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.reel{background:var(--raised);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .15s}
.reel:hover{border-color:#34343c;transform:translateY(-1px)}
.reel .poster{aspect-ratio:16/10;background:var(--sunk) center/cover;position:relative;border-bottom:1px solid var(--line)}
.reel .poster .dur{position:absolute;right:8px;bottom:8px;font:500 11px var(--mono);background:rgb(10 10 12 / .75);border:1px solid rgb(255 255 255 / .08);padding:3px 7px;border-radius:6px;color:#fff}
.reel .poster .none{position:absolute;inset:0;display:grid;place-items:center;color:var(--faint);font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;background:repeating-linear-gradient(135deg,#101014 0 10px,#0d0d10 10px 20px)}
.reel .body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.reel .t{display:flex;align-items:center;gap:8px}.reel .t a{color:var(--ink);font-weight:600;font-size:14px}
.reel .steps{display:flex;gap:4px}.reel .steps i{flex:1;height:3px;border-radius:3px;background:var(--line2)}.reel .steps i.on{background:var(--accent)}.reel .steps i.ok{background:var(--ok)}
.reel .foot{display:flex;gap:6px;align-items:center;color:var(--soft);font-size:12px}

/* log console */
.log{position:fixed;left:60px;right:0;bottom:0;height:230px;background:#07070a;color:#d7dbe3;border-top:1px solid var(--line2);z-index:40;display:flex;flex-direction:column;box-shadow:0 -20px 40px -20px rgb(0 0 0 / .8)}.log.hidden{display:none}
.log-head{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);border-bottom:1px solid var(--line)}.log.running .log-head span:first-child::before{content:"";display:inline-block;width:7px;height:7px;border-radius:9px;background:var(--accent);margin-right:8px;box-shadow:0 0 8px var(--accent);animation:pulse 1.2s infinite}
@keyframes pulse{50%{opacity:.35}}
.log-actions{display:flex;gap:6px}
.log pre{flex:1;overflow:auto;padding:12px 16px;font:12px/1.6 var(--mono);white-space:pre-wrap}.log pre .ok{color:#8fe8ad}.log pre .err{color:#ff8a7c}

/* palette, toast, folder browser */
.palette{position:fixed;inset:0;background:rgb(0 0 0 / .5);backdrop-filter:blur(4px);z-index:60;display:flex;justify-content:center;padding-top:14vh}
.pal-box{width:min(620px,92vw);background:var(--raised);border:1px solid var(--line2);border-radius:14px;box-shadow:0 40px 100px -20px rgb(0 0 0 / .9);overflow:hidden;align-self:flex-start}
.pal-box input{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:15px;padding:16px 18px;box-shadow:none}
#pal-list{max-height:52vh;overflow:auto;padding:6px}
.pal-item{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:9px;cursor:pointer;color:var(--mid)}.pal-item b{color:var(--ink);font-weight:500}.pal-item .k{margin-left:auto;font:10.5px var(--mono);color:var(--soft)}
.pal-item.on{background:var(--raised2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2)}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(10px);background:var(--raised2);border:1px solid var(--line2);color:var(--ink);padding:10px 16px;border-radius:10px;font-size:13px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:70;box-shadow:0 20px 40px -10px rgb(0 0 0 / .7)}.toast.on{opacity:1;transform:translateX(-50%)}
.fsbox{position:fixed;left:50%;top:80px;transform:translateX(-50%);width:min(720px,92vw);max-height:70vh;background:var(--raised);border:1px solid var(--line2);border-radius:12px;box-shadow:0 30px 80px rgb(0 0 0 / .7);z-index:60;display:flex;flex-direction:column}
.fs-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font:12px var(--mono)}
.fs-list{overflow:auto;padding:6px 0}.fs-row{padding:8px 16px;cursor:pointer;font-size:13px}.fs-row:hover{background:var(--raised2)}

/* ---- the film surface ---- */
.surface{display:grid;grid-template-columns:1fr 380px;grid-template-rows:auto 1fr auto;height:100%;min-height:0}
.pipe{grid-column:1;display:flex;align-items:center;padding:14px 20px 10px;min-width:0}
.pipe .st{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--soft);background:none;border:0;cursor:pointer;padding:4px 2px;font-family:var(--font);white-space:nowrap}
.pipe .st:hover{color:var(--text)}
.pipe .st i{width:18px;height:18px;border-radius:999px;border:1px solid var(--line2);display:grid;place-items:center;font-style:normal;font-size:10px;color:var(--soft)}
.pipe .st.done{color:var(--mid)}.pipe .st.done i{background:var(--accent-soft);border-color:rgb(255 77 61 / .55);color:var(--accent-ink)}
.pipe .st.bad i{background:var(--no-soft);border-color:rgb(255 90 74 / .5);color:var(--no)}
.pipe .st.next{color:var(--ink)}.pipe .st.next i{border-color:var(--text);color:var(--text)}
.pipe .ln{flex:1;height:1px;background:var(--line2);margin:0 10px;min-width:16px}.pipe .ln.done{background:linear-gradient(90deg,rgb(255 77 61 / .55),rgb(255 77 61 / .18))}
.stage{grid-column:1;padding:0 20px 12px;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}
.monitor{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line2);background:#000;box-shadow:0 30px 80px -30px rgb(0 0 0 / .8);flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.monitor video,.monitor img{width:100%;height:100%;object-fit:contain;border:0;border-radius:0;max-height:none;display:block}
.monitor .slate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--soft);background:repeating-linear-gradient(135deg,#0e0e12 0 14px,#0b0b0e 14px 28px)}
.monitor .slate b{font-size:18px;color:var(--mid);font-weight:500}
.hud{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:10px;pointer-events:none}
.hud .chip2{font:500 11.5px var(--font);color:#fff;background:rgb(10 10 12 / .72);backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / .1);border-radius:8px;padding:6px 10px}
.hud .chip2 b{color:#ff7a6b;font:500 11.5px var(--mono);margin-right:6px}
.transport{display:flex;align-items:center;gap:14px;color:var(--mid);font-size:12px}
.play{width:34px;height:34px;border-radius:999px;background:#f3f3f5;display:grid;place-items:center;border:0;cursor:pointer;flex:none}.play svg{width:12px;height:12px;fill:#0a0a0c;stroke:none}
.transport .tc{font:500 12px var(--mono);color:var(--text)}
.transport .fmt{display:flex;gap:4px}.transport .fmt button{font:500 11.5px var(--font);color:var(--soft);background:none;border:1px solid transparent;border-radius:7px;padding:4px 9px;cursor:pointer}.transport .fmt button.on{color:var(--ink);border-color:var(--line2);background:var(--raised2)}
.insp{grid-column:2;grid-row:1/3;border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-height:0}
.itabs{display:flex;gap:2px;padding:10px 12px 0;border-bottom:1px solid var(--line)}
.itabs button{font:500 12px var(--font);color:var(--soft);background:none;border:0;border-bottom:2px solid transparent;padding:8px 10px;cursor:pointer;margin-bottom:-1px}.itabs button:hover{color:var(--text)}.itabs button.on{color:var(--ink);border-color:var(--accent)}
.ibody{padding:16px 18px 30px;overflow:auto;display:flex;flex-direction:column;gap:14px;min-height:0}
.lab{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:6px;display:flex;justify-content:space-between;gap:10px}
.ibody textarea.vo{font-size:16px;line-height:1.45;color:var(--ink);background:transparent;border-color:transparent;padding:6px 8px;margin:0 -8px;min-height:80px}
.ibody textarea.vo:hover{border-color:var(--line2)}.ibody textarea.vo:focus{background:var(--sunk)}
.seg2{display:grid;grid-template-columns:1fr 1fr;background:var(--sunk);border:1px solid var(--line2);border-radius:10px;padding:3px}.seg2 button{font:500 12.5px var(--font);background:none;border:0;padding:7px;border-radius:8px;color:var(--soft);cursor:pointer}.seg2 button.pass{background:var(--ok-soft);color:var(--ok);box-shadow:inset 0 0 0 1px rgb(52 199 89 / .3)}.seg2 button.fail{background:var(--no-soft);color:var(--no);box-shadow:inset 0 0 0 1px rgb(255 90 74 / .3)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--sunk);border:1px solid var(--line);border-radius:9px;padding:9px 10px}.stat b{display:block;font:500 16px var(--mono);color:var(--ink)}.stat span{font-size:10.5px;color:var(--soft)}
.stat.bad b{color:var(--no)}
.frames2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.frames2 figure{margin:0}.frames2 img{width:100%;border-radius:8px;border:1px solid var(--line2);display:block}.frames2 figcaption{font:10.5px var(--mono);color:var(--soft);margin-top:4px}
.wv{display:flex;align-items:center;gap:2px;height:36px}.wv span{width:2px;border-radius:2px;background:#3a3a44;flex:none}.wv span.h{background:#ff5a4a}
.minirow{display:flex;gap:6px;flex-wrap:wrap}
.timeline{grid-column:1/3;border-top:1px solid var(--line);background:var(--panel);padding:8px 20px 12px;position:relative;user-select:none}
.tl-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;font:500 10.5px var(--mono);color:var(--soft);letter-spacing:.06em}
.tl-grid{display:grid;grid-template-columns:44px 1fr;row-gap:6px;align-items:center}
.tl-grid .rl{font:500 10px var(--mono);color:var(--faint);letter-spacing:.06em}
.ruler{position:relative;height:16px;border-bottom:1px solid var(--line)}.ruler span{position:absolute;top:0;font:10px var(--mono);color:var(--faint);transform:translateX(-1px)}
.clips{position:relative;height:74px}
.clip{position:absolute;top:0;height:74px;border-radius:7px;overflow:hidden;border:1px solid var(--line2);background:#15151a;cursor:pointer;transition:border-color .12s}
.clip:hover{border-color:#45454f}
.clip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.clip .t{position:absolute;left:0;right:0;bottom:0;padding:5px 7px;background:linear-gradient(transparent,rgb(0 0 0 / .85));font-size:10.5px;color:#e8e8ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clip .t b{font:500 10.5px var(--mono);color:#ff7a6b;margin-right:5px}
.clip .v{position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:9px}.clip .v.pass{background:var(--ok)}.clip .v.fail{background:var(--no)}
.clip.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 30px -6px rgb(255 77 61 / .6)}.clip.sel img{opacity:.9}
.clip.bmp{background:repeating-linear-gradient(135deg,#1a1216 0 6px,#15101a 6px 12px);border-color:#3a2226;cursor:default}.clip.bmp .t b{color:#b8798a}
.clip.est{border-style:dashed}
.aud{position:relative;height:34px;display:flex;align-items:center;gap:1px;overflow:hidden}.aud span{flex:1;border-radius:2px;background:#2d2d35;min-width:1px}.aud span.h{background:#ff5a4a}
.playhead{position:absolute;top:24px;bottom:10px;width:2px;background:var(--accent);box-shadow:0 0 12px var(--accent);pointer-events:none;z-index:3}.playhead::before{content:"";position:absolute;top:-6px;left:-5px;width:12px;height:12px;border-radius:3px;background:var(--accent);transform:rotate(45deg)}

@media (max-width:1100px){.surface{grid-template-columns:1fr 320px}.g3,.g4,.g5{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr 1fr}}

/* ---- the hosted web app's additions ---- */
.center{max-width:460px;margin:12vh auto}
.center .card{padding:28px}
.stagebar{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 18px}
.stagebar .st{font:500 11px var(--mono);padding:5px 11px;border-radius:999px;border:1px solid var(--line2);color:var(--soft)}
.stagebar .st.done{border-color:rgb(52 199 89 / .3);background:var(--ok-soft);color:var(--ok)}.stagebar .st.run{border-color:var(--accent);color:var(--accent-ink)}.stagebar .st.fail{border-color:rgb(255 90 74 / .4);background:var(--no-soft);color:var(--no)}
pre.live{font:12px/1.6 var(--mono);background:#07070a;color:#d7dbe3;border:1px solid var(--line);border-radius:12px;padding:14px 16px;overflow:auto;max-height:420px;white-space:pre-wrap}
.checks li{list-style:none;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--mid);display:flex;gap:8px}
.downloads a{margin-right:14px;font-weight:500}
td a.film{color:var(--ink);font-weight:600}
#top .who{display:flex;align-items:center;gap:14px;font:11px var(--mono);color:var(--soft)}#top .who a{color:var(--mid)}
.rv-comment{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:start;border-top:1px solid var(--line);padding:10px 0}
.rv-av{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font:10.5px var(--mono);color:#fff}
.rv-comment .who{font-weight:600;font-size:13px;color:var(--ink)}.rv-comment .at{font:11px var(--mono);color:var(--accent-ink);margin-left:8px}
.rv-comment p{margin:3px 0 0;color:var(--mid);font-size:13px;line-height:1.5}.rv-comment.done{opacity:.5}
.seg .verdict{flex-wrap:wrap}
#player{max-height:64vh;object-fit:contain;background:#000}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-top:12px}.kpis div{background:var(--raised2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.kpis b{display:block;font:600 22px var(--font);color:var(--ink)}.kpis span{font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.days{display:flex;align-items:flex-end;gap:3px;height:56px;margin-top:6px}.days i{flex:1;max-width:22px;min-height:3px;background:var(--accent);border-radius:2px 2px 0 0;opacity:.85}
.reach{display:flex;flex-direction:column;gap:2px}.rrow{display:grid;grid-template-columns:44px 1fr 48px;gap:4px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.rrow p{grid-column:2 / 4;font-size:13px;color:var(--mid)}.rid{font:500 12px var(--mono);color:var(--accent-ink)}.rpct{font:500 12px var(--mono);color:var(--ink);text-align:right}.rbar{height:8px;border-radius:8px;background:var(--raised2);overflow:hidden}.rbar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#ff8a5c);border-radius:8px}

.deckview{aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}.deckview iframe{width:100%;height:100%;border:0;display:block;background:#fff}
label.tick{margin:0;display:inline-flex;gap:6px;align-items:center;text-transform:none;letter-spacing:0;font-family:var(--font);font-size:12.5px;color:var(--mid)}label.tick input{width:auto}
.card.aud-ed{display:flex;flex-direction:column}

/* Which Showreel Studio this is: the local workshop or the web app. */
.where{flex:none;font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px 9px;margin-right:12px;white-space:nowrap;cursor:help}
