:root{
 --fondo:#EFEAE3;--tinta:#1B1516;--bordo:#442528;--sala:#221C1C;--apoyo:#8E8378;--claro2:#F6F2EC;--linea:rgba(27,21,22,.14);
 --ok:#2F5D3A;--warn:#8A4B12;
 --display:"Gloock",Georgia,"Times New Roman",serif;--text:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
 --g:clamp(16px,4vw,48px);--max:1120px;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--g)}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(34px,4.6vw,56px);line-height:1.02}
h2{font-size:clamp(24px,2.6vw,32px);line-height:1.1}
h3{font-size:22px;line-height:1.15}
p{margin:0;max-width:64ch}
.muted{color:var(--apoyo)}.small{font-size:14px}
:focus-visible{outline:2px solid var(--bordo);outline-offset:3px}
header{background:var(--fondo);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:5}
header .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:14px;flex-wrap:wrap}
.mark{font-family:var(--display);font-size:20px;letter-spacing:.12em;text-decoration:none}
nav{display:flex;gap:clamp(12px,2.2vw,26px);flex-wrap:wrap;font-size:15px;align-items:center}
nav a{text-decoration:none;opacity:.8}nav a:hover,nav a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:4px}
nav button.link{background:none;border:0;padding:0;font:inherit;color:inherit;opacity:.8;cursor:pointer;min-height:0}
main{padding-block:clamp(36px,6vw,72px)}
.btn,button{font:inherit;font-size:15px;font-weight:600;background:var(--bordo);color:var(--fondo);border:0;padding:12px 20px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn.ghost,button.ghost{background:transparent;color:var(--bordo);box-shadow:inset 0 0 0 1px var(--bordo)}
button:disabled{opacity:.45;cursor:not-allowed}
.top{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(24px,4vw,40px)}
.top p{margin-top:10px}
.card{background:var(--claro2);border:1px solid var(--linea);padding:clamp(18px,2.4vw,28px)}
.note{background:var(--claro2);border-left:3px solid var(--bordo);padding:18px 22px;margin-bottom:28px}
.note b{display:block;font-family:var(--display);font-weight:400;font-size:22px;margin-bottom:4px}
.note .btn{margin-top:14px}
.report{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:28px;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding-block:16px}
.report div span{display:block;font-size:13px;color:var(--apoyo)}.report div b{font-family:var(--display);font-weight:400;font-size:30px}
.list{display:grid;gap:0;border-top:1px solid var(--linea)}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--linea);text-decoration:none}
.row:hover .rt{text-decoration:underline;text-underline-offset:4px}
.rt{font-weight:600}.rs{font-size:14px;color:var(--apoyo);margin-top:2px}
.chip{font-size:13px;font-weight:600;padding:5px 10px;border:1px solid var(--linea);white-space:nowrap}
.chip.review{background:var(--bordo);color:var(--fondo);border-color:var(--bordo)}
.chip.done{color:var(--ok);border-color:currentColor}
.empty{padding:28px 0;color:var(--apoyo)}
form{display:grid;gap:20px}
label{display:grid;gap:6px;font-size:14px;font-weight:600}
label span,.hint{font-weight:400;color:var(--apoyo);font-size:14px}
input,textarea,select{font:inherit;font-size:16px;color:var(--tinta);background:#fff;border:1px solid var(--linea);padding:11px 13px;width:100%;border-radius:0}
textarea{min-height:88px;resize:vertical}
fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
legend{font-size:14px;font-weight:600;margin-bottom:6px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:15px;border:1px solid var(--linea);padding:8px 12px;cursor:pointer;background:#fff}
.chips label:has(input:checked){border-color:var(--bordo);box-shadow:inset 0 0 0 1px var(--bordo)}
.chips input{width:auto;margin:0;accent-color:var(--bordo)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:680px){.two{grid-template-columns:1fr}}
.sec{border-top:1px solid var(--linea);padding-top:26px;margin-top:6px}
.drop{border:1px dashed rgba(27,21,22,.35);background:#fff;padding:26px;text-align:center;display:grid;gap:6px;cursor:pointer}
.drop.has{border-style:solid;text-align:left}
.bar{height:8px;background:rgba(27,21,22,.1);overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--bordo);transition:width .3s}
.msg{font-size:14px}.msg.error{color:#9b1c1c}
/* revisión */
.clips{display:grid;gap:clamp(28px,4vw,44px)}
.clip{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start;padding-top:clamp(22px,3vw,32px);border-top:1px solid var(--linea)}
@media (max-width:760px){.clip{grid-template-columns:1fr}.clip video{max-width:320px}}
.clip video{width:100%;aspect-ratio:9/16;background:var(--sala);display:block}
.clip .head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.dec{display:flex;gap:8px;margin:14px 0 18px}
.dec button{background:#fff;color:var(--tinta);box-shadow:inset 0 0 0 1px var(--linea)}
.dec button[aria-pressed="true"].yes{background:var(--ok);color:#fff;box-shadow:none}
.dec button[aria-pressed="true"].no{background:var(--bordo);color:#fff;box-shadow:none}
.comments{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.comments li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;font-size:15px;background:#fff;border:1px solid var(--linea);padding:10px 12px}
.tc{font-variant-numeric:tabular-nums;font-weight:600;color:var(--bordo);background:none;border:0;padding:0;min-height:0;cursor:pointer;font-size:14px}
.tc.gen{color:var(--apoyo);cursor:default}
.del{background:none;border:0;color:var(--apoyo);padding:0;min-height:0;font-weight:400;font-size:13px;cursor:pointer}
.compose{display:grid;gap:8px}
.compose .meta{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--apoyo);flex-wrap:wrap}
.compose .meta button{background:none;border:0;color:var(--bordo);padding:0;min-height:0;font-size:13px;text-decoration:underline;cursor:pointer;font-weight:600}
.submit{position:sticky;bottom:0;background:var(--fondo);border-top:1px solid var(--linea);margin-top:36px;padding-block:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.brief{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 28px;margin:18px 0 8px;font-size:14px}
.brief b{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--apoyo);font-weight:600;margin-bottom:2px}
footer{border-top:1px solid var(--linea)}footer .wrap{padding-block:22px;font-size:13px;color:var(--apoyo);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.center{max-width:480px;margin:0 auto}
[hidden]{display:none!important}

.upbar{position:sticky;top:0;z-index:20;background:var(--bordo);color:var(--fondo)}
.upbar .wrap{display:flex;gap:6px 16px;flex-wrap:wrap;align-items:baseline;padding-block:12px;font-size:15px}
.upbar b{font-weight:600}.upbar .bar{background:rgba(239,234,227,.25);height:4px}.upbar .bar i{background:var(--fondo)}
.upbar[hidden]{display:none}
.field{display:grid;gap:8px}
textarea::placeholder,input::placeholder{color:#a39d95;font-weight:400;opacity:1}
.get{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 4px}.get p{flex-basis:100%;margin:0}
.voice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.voice .rec{min-height:40px;padding:8px 14px;font-size:14px}
.voice .rec.on{background:var(--bordo);color:var(--fondo);box-shadow:none;animation:recpulse 1.2s ease-in-out infinite}
@keyframes recpulse{50%{opacity:.75}}
@media (prefers-reduced-motion:reduce){.voice .rec.on{animation:none}}
.comments audio{display:block;width:100%;max-width:320px;height:36px;margin-top:6px}
.comments .who{font-size:12px;font-weight:600;color:var(--apoyo);text-transform:uppercase;letter-spacing:.06em;margin-right:4px}
.studio-tag{font-family:var(--text);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--apoyo);margin-left:6px;vertical-align:middle}
.row .due{margin-top:2px;color:var(--tinta)}.late{color:#9b2a1f}
