/* Quick look: the first screen of a matter. Graphite by default (the
   shipped palette); the portal's sun/moon switch gives the light variant.
   Box colours are the command center's in both: red possible gun, orange
   taser or baton, yellow handcuffs. */
.ql{--ql-bg:#131315;--ql-card:#1D1D1F;--ql-raise:#28282B;--ql-ink:#F5F5F7;--ql-soft:#98989F;--ql-line:rgba(245,245,247,.12);--ql-line2:rgba(245,245,247,.22);
  --ql-hover:rgba(245,245,247,.06);--ql-ok:#30D158;--ql-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px -12px rgba(0,0,0,.6);
  color:var(--ql-ink);background:var(--ql-bg);font:16px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif;-webkit-font-smoothing:antialiased;
  min-height:100vh;min-height:100dvh;max-width:1240px;margin:0 auto;padding:0 32px 40px;position:relative}
:root[data-theme="light"] .ql{--ql-bg:#F5F5F7;--ql-card:#FFFFFF;--ql-raise:#E8E8ED;--ql-ink:#1D1D1F;--ql-soft:#6E6E73;--ql-line:rgba(0,0,0,.1);--ql-line2:rgba(0,0,0,.2);
  --ql-hover:rgba(0,0,0,.05);--ql-ok:#1F7A3D;--ql-shadow:0 1px 2px rgba(0,0,0,.06),0 10px 28px -14px rgba(0,0,0,.22)}
body.quick-mode{padding:0;background:#131315}
body:not(.quick-mode) #matterQuick{display:none!important}
:root[data-theme="light"] body.quick-mode{background:#F5F5F7}
body.quick-mode .wrap{max-width:none;margin:0}
body.quick-mode .wrap>header,body.quick-mode .portal-intro,body.quick-mode footer,body.quick-mode #account,body.quick-mode #uploadPanel,
body.quick-mode #workspaceBar,body.quick-mode #matterAccount,body.quick-mode #matterReview,body.quick-mode #matterCommand,body.quick-mode #recap,body.quick-mode #playerbox,body.quick-mode #viewer{display:none!important}
.ql button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.ql button:focus:not(:focus-visible){outline:none}
.ql :focus-visible{outline:2px solid var(--ql-ink);outline-offset:3px}
.ql [hidden]{display:none!important}
.ql-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* header */
/* a div, not a header element, and a selector that outranks the portal's `.review-mode header`: none of its padding, margin or border applies */
.ql .ql-head{display:flex;align-items:center;gap:14px;height:60px;min-height:0;margin:0;padding:0;border:0;border-bottom:1px solid var(--ql-line);border-radius:0;position:static;background:none;box-shadow:none;min-width:0}
.ql-back{display:grid;place-items:center;width:44px;height:44px;margin-left:-10px;border-radius:50%;color:var(--ql-soft)!important;flex:none}
.ql-back:hover{color:var(--ql-ink)!important;background:var(--ql-hover)!important}
.ql-brand{display:flex;align-items:center;gap:9px;flex:none;color:var(--ql-ink)}
.ql-brand svg{width:22px;height:22px;flex:none}
/* the company's name as the homepage header sets it: "Vizion Labs", sentence case, no tracking */
.ql-brand b{font-size:15px;font-weight:540;letter-spacing:-.012em;white-space:nowrap}
.ql-name{margin:0;padding-left:14px;border-left:1px solid var(--ql-line2);font-size:14px;font-weight:400;color:var(--ql-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:1.3;letter-spacing:.01em}
/* Ask and Download: two quiet header actions */
.ql-tools{display:flex;align-items:center;gap:6px;flex:none}
.ql-act{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px!important;border-radius:999px;color:var(--ql-soft)!important;font-size:14px!important;font-weight:500;white-space:nowrap}
.ql-act:hover,.ql-act[aria-expanded="true"]{color:var(--ql-ink)!important;background:var(--ql-hover)!important}
/* when the first screen needs every word for the moments, the two actions are icons (their names stay in their labels) */
.ql-head.is-icons .ql-act{width:44px;justify-content:center;padding:0!important}
.ql-head.is-icons .ql-act span{display:none}
.ql-dl{position:relative}
.ql-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:300px;max-width:calc(100vw - 32px);background:var(--ql-card);border:1px solid var(--ql-line2);border-radius:14px;padding:6px;box-shadow:0 18px 40px -16px rgba(0,0,0,.6)}
.ql-menu button{display:block;width:100%;text-align:left;padding:10px 12px!important;border-radius:10px;min-height:44px}
.ql-menu button:hover{background:var(--ql-hover)!important}
.ql-menu b{display:block;font-size:15px;font-weight:600}
.ql-menu button span{display:block;margin-top:2px;font-size:13px;color:var(--ql-soft);line-height:1.4}
.ql-menu-status{margin:0;padding:4px 12px 6px;font-size:13px;color:var(--ql-soft)}
.ql-menu-status:empty{display:none}
.ql-sp{flex:1}
.ql-theme{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--ql-line2)!important;border-radius:50%;color:var(--ql-soft)!important;flex:none}
.ql-theme:hover{color:var(--ql-ink)!important}
/* the three */
.ql-h{margin:60px 0 0;font-size:32px;line-height:1.15;font-weight:650;letter-spacing:-.015em}
.ql-h:focus{outline:none}
.ql-partial{margin:10px 0 0;color:var(--ql-soft);font-size:16px}
.ql-partial::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;box-sizing:border-box;border:1.5px solid var(--ql-ink);background:transparent;margin-right:10px;vertical-align:1px}
.ql-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.ql-cell{display:flex;min-width:0}
.ql-cell>.ql-tile{flex:1 1 auto;width:100%}
.ql-tile{display:flex;flex-direction:column;text-align:left;background:var(--ql-card)!important;border-radius:16px;overflow:hidden;box-shadow:var(--ql-shadow);transition:transform .15s,box-shadow .15s;min-width:0}
.ql-tile:hover{transform:translateY(-2px)}
.ql-tile.is-skeleton{aspect-ratio:16/12.5;background:var(--ql-card);opacity:.6}
.ql-thumb{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.ql-thumb video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;background:#000;opacity:0;transition:opacity .2s}
.ql-tile.is-ready .ql-thumb video,.ql-thumb video[poster]{opacity:1}
.ql-thumb.is-doc{display:grid;place-items:center;color:var(--ql-soft);background:var(--ql-raise)}
/* the play mark sits in a corner, so it never covers the box or what is in it */
.ql-play{position:absolute;left:12px;bottom:12px;width:52px;height:52px;border-radius:50%;background:rgba(0,0,0,.58);display:grid;place-items:center;z-index:3;color:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.ql-play svg{width:22px;height:22px;margin-left:3px}
.ql-tile:hover .ql-play{background:rgba(0,0,0,.75)}
.ql-done{position:absolute;top:10px;right:10px;z-index:4;background:rgba(0,0,0,.78);color:#fff;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}
.ql-tile.is-checked .ql-done{box-shadow:inset 0 0 0 1.5px var(--ql-ok)}
.ql-label{display:block;padding:14px 16px 2px;font-size:19px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.ql-meta{display:block;padding:2px 16px 16px;color:var(--ql-soft);font-size:15px;font-variant-numeric:tabular-nums}
.ql-all{display:inline-flex;align-items:center;min-height:44px;margin-top:22px;color:var(--ql-soft)!important;font-size:16px!important;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ql-line2)}
.ql-all:hover{color:var(--ql-ink)!important}
/* See everything: three plain sections */
/* the list lines up with the header and the three; a page sits where the player does */
.ql-list,.ql-pageview{padding-top:14px}
.ql-pageview{max-width:1120px;margin:0 auto}
.ql-list>.ql-partial{margin-top:14px}
.ql-sec{margin-top:30px}
.ql-sh{margin:0 0 12px;font-size:22px;line-height:1.2;font-weight:650;letter-spacing:-.01em}
.ql-sh:focus{outline:none}
.ql-note{margin:0;color:var(--ql-soft);font-size:15px}
.ql-rows{background:var(--ql-card);border-radius:14px;box-shadow:var(--ql-shadow);overflow:hidden}
.ql-rows:empty{display:none}
.ql-rowcell+.ql-rowcell{border-top:1px solid var(--ql-line)}
.ql-row{display:grid;grid-template-columns:32px 118px minmax(0,1fr) auto 92px;grid-template-areas:"i t l c v";align-items:center;column-gap:14px;width:100%;min-height:56px;padding:8px 16px!important;text-align:left}
.ql-row:hover{background:var(--ql-hover)!important}
.ql-ri{grid-area:i;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ql-raise);color:var(--ql-ink)}
.ql-ri svg{width:13px;height:13px;margin-left:2px}
.ql-ri.is-doc svg{width:16px;height:16px;margin:0}
.ql-rt{grid-area:t;color:var(--ql-soft);font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ql-rl{grid-area:l;font-size:16px;font-weight:600;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ql-rc{grid-area:c;color:var(--ql-soft);font-size:15px;white-space:nowrap}
.ql-rv{grid-area:v;justify-self:end;font-size:13px;font-weight:600;color:var(--ql-ok);white-space:nowrap}
.ql-rv.is-no{color:var(--ql-soft)}
.ql-docrow{grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"i l c"}
.ql-recs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.ql-recs:empty{display:none}
/* a document page, in place */
.ql-q{margin-top:14px;padding:16px 20px;background:var(--ql-card);border-radius:14px;box-shadow:var(--ql-shadow)}
.ql-q:focus{outline:none}
.ql-qk{display:block;font-size:13px;font-weight:600;color:var(--ql-soft)}
/* the question reads as a sentence, not a banner: normal weight, a comfortable measure */
.ql-qt{margin:6px 0 0;font-size:18.5px;font-weight:450;line-height:1.5;max-width:32em;letter-spacing:0}
.ql-sheet{margin-top:18px;background:var(--ql-card);border:1px solid var(--ql-line);border-radius:14px;overflow:hidden}
.ql-shead{display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 8px 6px 20px;border-bottom:1px solid var(--ql-line)}
.ql-shead b{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ql-pno{color:var(--ql-soft);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ql-pg{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--ql-soft)!important;flex:none}
.ql-pg:hover:not(:disabled){color:var(--ql-ink)!important;background:var(--ql-hover)!important}
.ql-pg:disabled{opacity:.35;cursor:default}
.ql-ptext{padding:20px 24px 28px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.65;max-height:calc(100vh - 360px);max-height:calc(100dvh - 360px);min-height:180px;overflow:auto}
.ql-ptext:focus-visible{outline-offset:-3px}
.ql-ptext mark{background:color-mix(in srgb,currentColor 16%,transparent);color:inherit;border-radius:3px;padding:0 2px}
.ql-soft{color:var(--ql-soft)}
/* Ask: a panel from the right (the whole screen on a phone) */
.ql-ask{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100vw);max-width:100vw;height:100vh;height:100dvh;max-height:none;padding:0 22px 28px;border:0;border-left:1px solid var(--ql-line2);
  background:var(--ql-card);color:var(--ql-ink);box-shadow:-24px 0 60px -30px rgba(0,0,0,.7);overflow:auto;font:16px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif}
.ql-ask::backdrop{background:rgba(0,0,0,.45)}
.ql-askhead{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;position:sticky;top:0;background:var(--ql-card);z-index:1}
.ql-askhead h2{margin:0;font-size:20px;font-weight:650}
.ql-x{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--ql-soft)!important;margin-right:-8px}
.ql-x:hover{color:var(--ql-ink)!important;background:var(--ql-hover)!important}
.ql-askform{display:flex;gap:8px;margin-top:4px}
.ql-askform input{flex:1;min-width:0;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--ql-line2);background:var(--ql-bg);color:var(--ql-ink);font:inherit}
.ql-askform input::placeholder{color:var(--ql-soft)}
.ql-askform input:focus-visible{outline:2px solid var(--ql-ink);outline-offset:1px}
.ql-askgo{min-height:48px;padding:0 18px!important;border-radius:12px;background:var(--ql-ink)!important;color:var(--ql-bg)!important;font-weight:600!important}
.ql-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ql-suggest[hidden]{display:none}
.ql-chip{min-height:40px;padding:0 14px!important;border-radius:999px;border:1px solid var(--ql-line2)!important;font-size:14px!important;color:var(--ql-soft)!important}
.ql-chip:hover{color:var(--ql-ink)!important;border-color:var(--ql-soft)!important}
.ql-answers{margin-top:6px}
.ql-ask .acct-answer{margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--ql-bg);border:1px solid var(--ql-line)}
.ql-ask .acct-answer-q{margin:0 0 6px;font-weight:600}
.ql-ask .acct-answer-text{margin:0;line-height:1.6;color:var(--ql-ink)}
.ql-ask .acct-hint{margin:8px 0 0;color:var(--ql-soft);font-size:14px}
.ql-ask>.ql-note{margin-top:18px;font-size:14px}
.ql-cite{display:inline;padding:1px 7px!important;border-radius:6px;border:1px solid var(--ql-line2)!important;background:var(--ql-raise)!important;font:500 13px/1.5 ui-monospace,"SF Mono",Menlo,monospace!important;color:var(--ql-ink)!important;white-space:nowrap}
.ql-cite:hover{border-color:var(--ql-soft)!important}
/* All files (the account view's dialog), in these colours */
.ql .acct-dialog{background:var(--ql-card);color:var(--ql-ink);border:1px solid var(--ql-line2);border-radius:16px;padding:22px 24px;max-height:calc(100dvh - 48px)}
.ql .acct-dialog::backdrop{background:rgba(0,0,0,.5)}
.ql .acct-dialog h2,.ql .acct-dialog h3{color:var(--ql-ink)}
.ql .acct-dialog .btn{min-height:40px;padding:0 14px!important;border:1px solid var(--ql-line2)!important;border-radius:10px;font-size:14px!important;font-weight:500}
.ql .acct-file{color:var(--ql-ink);border-top-color:var(--ql-line)}
.ql .acct-file small,.ql .acct-dialog .acct-hint,.ql .acct-dialog .acct-lede{color:var(--ql-soft)}
/* boxes (the command center's) */
.ql-ov{position:absolute;z-index:2;pointer-events:none}
.ql-box{position:absolute;border:2px solid var(--c);border-radius:4px;box-shadow:0 0 14px var(--glow)}
.ql-box::after{content:"";position:absolute;left:-2px;top:-2px;width:10px;height:10px;border-left:3px solid var(--c);border-top:3px solid var(--c);border-top-left-radius:4px}
.ql-box.is-gun{--c:#FF3B30;--glow:rgba(255,59,48,.55)}
.ql-box.is-cuffs{--c:#FFD60A;--glow:rgba(255,214,10,.45)}
.ql-box.is-force{--c:#FF9F0A;--glow:rgba(255,159,10,.5)}
/* people and vehicles from the tracker: 2 px, a soft glow, no label, no corner mark */
.ql-box.is-person{--c:#32D74B;--glow:rgba(50,215,75,.4);box-shadow:0 0 8px var(--glow)}
.ql-box.is-vehicle{--c:#0A84FF;--glow:rgba(10,132,255,.4);box-shadow:0 0 8px var(--glow)}
.ql-box.is-person::after,.ql-box.is-vehicle::after{display:none}
.ql-box>span{position:absolute;left:-2px;bottom:100%;margin-bottom:4px;font:500 12px/1.3 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.03em;color:#fff;background:rgba(0,0,0,.75);border-left:2px solid var(--c);padding:2px 6px;border-radius:3px;white-space:nowrap}
.ql-box.is-top>span{bottom:auto;top:100%;margin:4px 0 0}
/* on a still the box frames the object (drawn just outside it); a small one drops the corner mark and the glow so nothing lies over what it frames */
.ql-thumb .ql-box.is-small{border-width:1.5px;box-shadow:0 0 0 1px rgba(0,0,0,.55)}
.ql-thumb .ql-box.is-small::after{display:none}
/* the player */
.ql-player{max-width:1120px;margin:0 auto;padding-top:14px}
.ql-pbar{display:flex;align-items:center;gap:12px;min-height:48px}
.ql-close{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 14px 0 8px!important;border-radius:999px;border:1px solid var(--ql-line2)!important;font-size:15px!important;font-weight:500}
.ql-close:hover{background:var(--ql-hover)!important}
/* a firearm lead that arrived while the clip was open: one plain line, a link to it */
.ql-gun{display:inline-block;min-height:44px;padding:10px 0!important;line-height:24px;margin-top:2px;color:var(--ql-ink)!important;font-size:16px!important;font-weight:600!important;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ql-line2);text-align:left}
.ql-gun::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#FF3B30;margin-right:10px;vertical-align:1px}
.ql-gun:hover{text-decoration-color:currentColor}
.ql-nowrap{white-space:nowrap}
.ql-counter{margin-left:auto;color:var(--ql-soft);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ql-stage{position:relative;margin-top:10px;background:#000;border-radius:14px;overflow:hidden;border:1px solid var(--ql-line)}
.ql-stage video{display:block;width:100%;height:auto;max-height:calc(100vh - 310px);max-height:calc(100dvh - 310px);min-height:200px;object-fit:contain;background:#000}
/* the gun line takes its own row above the picture: the picture gives that row back, so ✓ / ✕ / Next stay on the first screen */
@media (min-width:601px){.ql-player:has(.ql-gun:not([hidden])) .ql-stage video{max-height:calc(100vh - 360px);max-height:calc(100dvh - 360px)}}
.ql-empty{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#98989F;font-size:15px;pointer-events:none;z-index:3}
.ql-tog{border:1px solid var(--ql-line2)!important;color:var(--ql-soft)!important;background:transparent!important}
.ql-tog:hover{border-color:var(--ql-soft)!important;color:var(--ql-ink)!important}
.ql-tog.is-on{background:var(--ql-ink)!important;color:var(--ql-bg)!important;border-color:var(--ql-ink)!important}
/* the bar: Back, the one quiet note (one line; the whole of it in its title), the counter, CC, Boxes */
.ql-pbar .pl-tog{flex:none}
.ql-pnote{flex:1 1 0;min-width:0;color:var(--ql-soft);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ql-pnote.is-empty{color:var(--ql-ink)}
.ql-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:14px;min-width:0}
.ql-line b{font-size:21px;font-weight:650;line-height:1.25}
.ql-more{flex:1 1 100%;order:3;color:var(--ql-soft);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ql-where{color:var(--ql-soft);font-size:15px;font-variant-numeric:tabular-nums}
.ql-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.ql-btn{min-height:50px;padding:0 22px!important;border-radius:12px;font-size:16px!important;font-weight:600!important;border:1px solid var(--ql-line2)!important;background:var(--ql-card)!important}
.ql-btn:hover{border-color:var(--ql-soft)!important}
.ql-btn.is-done{border-color:var(--ql-ok)!important;color:var(--ql-ok)!important}
.ql-btn.is-next{margin-left:auto;background:var(--ql-ink)!important;color:var(--ql-bg)!important;border-color:var(--ql-ink)!important}
.ql-btn[aria-disabled="true"]{opacity:.45;cursor:default}
.ql-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:30;background:var(--ql-raise);color:var(--ql-ink);border:1px solid var(--ql-line2);padding:10px 18px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px -12px rgba(0,0,0,.6);max-width:calc(100vw - 32px)}
@media (prefers-reduced-motion:reduce){.ql-tile,.ql-thumb video{transition:none}.ql-tile:hover{transform:none}}
/* tablet: two tiles per row are too cramped for the words; the three sit in one row down to 900 px */
@media (max-width:900px){.ql-act{padding:0 10px!important}.ql{padding:0 20px 32px}.ql-tiles{gap:14px}.ql-label{font-size:17px;padding:12px 12px 2px}.ql-meta{font-size:14px;padding:2px 12px 14px}.ql-h{margin-top:48px;font-size:28px}}
/* phone: the three stack as rows (still, then words) so all three are on the first screen; the player fills the width */
@media (max-width:600px){
  .ql{padding:0 16px 28px}
  /* the header keeps the wordmark; the matter's name takes a second line; Ask and Download are icons */
  .ql .ql-head{flex-wrap:wrap;gap:0 8px;height:auto;padding:6px 0 10px}
  .ql-name{order:5;flex:1 0 100%;padding-left:0;border-left:0;font-size:15px;color:var(--ql-ink)}
  .ql-tools{gap:0}
  .ql-act{width:44px;justify-content:center;padding:0!important}
  .ql-act span{display:none}
  .ql-h{margin-top:26px;font-size:25px}
  .ql-partial,.ql-gun{font-size:15px!important}
  .ql-tiles{grid-template-columns:1fr;gap:12px;margin-top:18px}
  .ql-tile{display:grid;grid-template-columns:44% minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start;border-radius:14px;min-height:88px}
  .ql-tile.is-skeleton{aspect-ratio:auto;height:96px}
  .ql-thumb{grid-row:1/3;height:100%;aspect-ratio:16/9;align-self:stretch}
  .ql-play{width:36px;height:36px;left:6px;bottom:6px}
  .ql-play svg{width:16px;height:16px;margin-left:2px}
  .ql-done{top:6px;right:6px;font-size:11px;padding:2px 7px}
  .ql-label{font-size:16px;padding:10px 12px 0}
  .ql-meta{font-size:13px;padding:4px 12px 10px}
  .ql-all{margin-top:14px}
  .ql-player{padding-top:8px}
  .ql-pbar{flex-wrap:wrap;gap:4px 8px}
  .ql-pnote{order:9;flex:1 0 100%;white-space:normal;font-size:13px;line-height:1.35}
  .ql-stage{margin:8px -16px 0;border-radius:0;border-left:0;border-right:0}
  .ql-stage video{max-height:none;min-height:0}
  .ql-line b{font-size:19px}
  .ql-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .ql-btn{min-height:52px;padding:0 10px!important}
  .ql-btn.is-next{grid-column:1/-1;margin-left:0}
  .ql-box>span{font-size:10px;padding:1px 4px;max-width:150px;overflow:hidden;text-overflow:ellipsis}
  /* the list: a row is ▶, the label, and the time · camera under it */
  .ql-sec{margin-top:24px}
  .ql-sh{font-size:20px}
  .ql-row{grid-template-columns:32px auto minmax(0,1fr) auto;grid-template-areas:"i l l v" "i t c v";row-gap:2px;column-gap:10px;padding:10px 14px!important;min-height:60px}
  .ql-rl{white-space:normal;font-size:16px}
  .ql-rt,.ql-rc{font-size:14px}
  .ql-rc{overflow:hidden;text-overflow:ellipsis;margin-left:-5px}
  .ql-rc::before{content:"· "}
  .ql-docrow{grid-template-columns:32px minmax(0,1fr);grid-template-areas:"i l" "i c"}
  .ql-docrow .ql-rc::before{content:none}
  .ql-rv{font-size:12px}
  .ql-recs{grid-template-columns:1fr 1fr;gap:12px}
  .ql-recs .ql-tile{display:flex;flex-direction:column;min-height:0}
  .ql-recs .ql-thumb{height:auto;aspect-ratio:16/9}
  .ql-recs .ql-label{font-size:15px;padding:8px 10px 0}
  .ql-recs .ql-meta{padding:2px 10px 10px}
  /* the page */
  .ql-qt{font-size:18px}
  .ql-q{padding:14px 16px}
  .ql-ptext{max-height:none;padding:16px 16px 22px;font-size:15.5px}
  .ql-shead{padding-left:16px}
}
