/* r56: the Vera and Cato film. One workspace laid out once in world pixels and filmed through one camera (s2/film.js).
   Motion tokens follow scratchpad/r55/b/MOTION-SPEC.md section 3; every animated style is computed from the film clock. */
.fm{--fm-ink:#1d1d21;--fm-mut:#6b6b74;--fm-dim:#a1a1aa;--fm-hair:#ececef;--fm-blue:#2554e8;--fm-blue50:#eef3ff;--fm-red:#d92d20;--fm-red50:#fdeceb;--fm-amb:#e9a23b;--fm-amb50:#fff4e5;--fm-grn:#16a34a;--fm-grn50:#eaf7ef;margin-top:var(--head-to-content)}
.fm .agd-tabs{margin-bottom:14px}
.fm-stage{position:relative;width:100%;aspect-ratio:960/520;overflow:hidden;border-radius:16px;background:#f3f3f5;box-shadow:0 0 0 1px #e6e6e9;isolation:isolate;contain:paint}
.fm-world{position:absolute;left:0;top:0;transform-origin:0 0;font-family:Inter,sans-serif;color:var(--fm-ink);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11";letter-spacing:-.006em}
.fm-world *{box-sizing:border-box}
.fm-r{position:absolute}
.fm-mono{font-family:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0}
/* chrome and nav */
.fm-chrome{display:flex;align-items:center;padding:0 22px;background:#fff;border-bottom:1px solid var(--fm-hair);font-size:15px;color:var(--fm-mut)}
.fm-chrome .bc b{color:var(--fm-ink);font-weight:500}
.fm-time{position:absolute;left:16px;top:auto;bottom:16px;z-index:2;transform-origin:0 50%;box-shadow:0 0 0 1px rgba(16,24,40,.06),0 4px 12px rgba(16,24,40,.08);background:#fff!important;height:30px;padding:0 12px;border-radius:15px;background:#f4f4f5;display:flex;align-items:center;gap:7px;font:500 15px/1 Inter,sans-serif;color:var(--fm-ink);font-feature-settings:"tnum"}
.fm-time i{width:7px;height:7px;border-radius:50%;background:#8b8b94}
.fm-chrome .fm-sw{margin-left:auto;font-size:13.5px}
.fm-nav{background:#fff;border-right:1px solid var(--fm-hair);padding:18px 14px}
.fm-nav div{position:relative;height:38px;display:flex;align-items:center;padding:0 12px;border-radius:8px;font-size:15px;color:var(--fm-mut)}
.fm-nav .mk{position:absolute;left:14px;right:14px;height:38px;border-radius:8px;background:#f1f1f3;box-shadow:inset 3px 0 0 var(--fm-ink)}
/* lot header and pill */
.fm-lothd{display:flex;align-items:center;gap:14px}
.fm-lothd .fm-h4{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}
.fm-lothd span{font-size:16px;color:var(--fm-mut)}
.fm-pill{display:inline-flex;align-items:center;justify-content:center;height:30px;border-radius:8px;font:500 14.5px/1 Inter,sans-serif;white-space:nowrap;overflow:hidden;position:relative;transform-origin:50% 50%}
.fm-pill b{position:absolute;left:0;right:0;text-align:center;font-weight:500}
/* certificate viewer */
.fm-viewer{background:#fff;border:1px solid var(--fm-hair);border-radius:12px;overflow:hidden}
.fm-vh{height:46px;display:flex;align-items:center;gap:9px;padding:0 16px;border-bottom:1px solid var(--fm-hair);font-size:14.5px;color:var(--fm-mut)}
.fm-vb{position:absolute;left:0;right:0;top:46px;bottom:0;background:#f4f5f7;overflow:hidden}
.fm-page{position:absolute;top:16px;transform-origin:0 0;box-shadow:0 0 0 1px #e3e5e8;background:#fff}
.fm-gut{position:absolute;left:0;top:0;bottom:0}
.fm-gut span{position:absolute;right:5px;font:500 7px/10px "Geist Mono",monospace;color:#c4c4cb}
.fm-head{position:absolute;left:0;height:10px;background:var(--fm-blue50);box-shadow:inset 2px 0 0 var(--fm-blue);opacity:0;pointer-events:none}
.fm-mark{position:absolute;opacity:0;pointer-events:none;border-radius:3px;mix-blend-mode:multiply}
.fm-tag{position:absolute;height:15px;padding:0 6px;border-radius:4px;display:flex;align-items:center;font:500 8px/1 "Geist Mono",monospace;white-space:nowrap;opacity:0;transform-origin:0 50%}
.fm-ghost{position:absolute;background:#fff;border:1px solid #e3e5e8;border-radius:6px;opacity:0}
/* the scanned page, Brookmere's house format (same as the Review image) */
.fm-coa{width:816px;height:1056px;padding:44px 48px 40px;position:relative;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:#18181b;font-size:10.5px;line-height:1.35;letter-spacing:0}
.fm-coa table{border-collapse:collapse;width:100%}
.fm-coa .lh{display:flex;justify-content:space-between;align-items:flex-start}
.fm-coa .brand{display:flex;gap:10px;align-items:center}
.fm-coa .mark{width:38px;height:38px;border:2px solid #1f3a5f;border-radius:4px;display:grid;place-items:center;color:#1f3a5f;font:700 15px/1 Georgia,serif}
.fm-coa .name{font-weight:700;font-size:17px;color:#1f3a5f}
.fm-coa .div{font-size:9.5px;color:#52525b;margin-top:2px}
.fm-coa .addr{text-align:right;font-size:9.3px;color:#333;line-height:1.45}
.fm-coa .rule{border-top:1px solid #1f3a5f;margin-top:12px}.fm-coa .rule2{border-top:.5px solid #9aa3ad;margin-top:2px}
.fm-coa .fm-h5{font-size:18.5px;letter-spacing:.06em;text-align:center;margin:20px 0 4px;font-weight:700}
.fm-coa .docno{text-align:center;font-size:9.3px;color:#52525b;margin-bottom:16px}
.fm-coa .prod td{border:.75px solid #b8bec5;padding:5px 7px;vertical-align:top}
.fm-coa .prod td.k{background:#f3f4f6;font-weight:700;width:19%;font-size:9.8px}.fm-coa .prod td.v{width:31%}
.fm-coa .prod .pn{font-weight:700;font-size:12.5px}
.fm-coa .sec{font-weight:700;font-size:10px;letter-spacing:.06em;margin:18px 0 6px}
.fm-coa .res th{background:#2b3138;color:#fff;font-size:9.6px;text-align:left;padding:6px 7px;letter-spacing:.04em;font-weight:700}
.fm-coa .res td{padding:6px 7px;border-bottom:.75px solid #c9cdd2}
.fm-coa .res tr:nth-child(even) td{background:#f6f7f8}
.fm-coa .res td.r{font-weight:700}
.fm-coa .concl{margin-top:12px}
.fm-coa .appr{margin-top:26px;width:62%}
.fm-coa .appr td{padding:6px 7px;border:.75px solid #b8bec5;font-size:10px;height:22px}.fm-coa .appr td.k{background:#f3f4f6;font-weight:700;width:30%}
.fm-coa .sig{font:italic 15px Georgia,serif}
.fm-coa .foot{position:absolute;left:48px;right:48px;bottom:34px;font-size:8.6px;color:#52525b;line-height:1.5}
.fm-coa .foot .row{display:flex;justify-content:space-between;border-top:.75px solid #9aa3ad;padding-top:6px;margin-top:8px}
/* review panel: one container, five states */
.fm-panel{background:#fff;border:1px solid var(--fm-hair);border-radius:12px;overflow:hidden}
.fm-st{position:absolute;left:0;right:0;top:0;padding:20px 22px}
.fm-ph{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:500;height:26px}
.fm-ph small{font:500 14px/1 Inter,sans-serif;color:var(--fm-mut);font-feature-settings:"tnum"}
.fm-row{overflow:hidden;border-top:1px solid #f1f1f3}
.fm-row>div{display:flex;align-items:center;gap:12px;height:40px;font-size:15px}
.fm-row .l{color:var(--fm-mut);width:118px;flex:none}
.fm-row .v{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-chip{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;background:#f3f4f6;font:500 12px/1 "Geist Mono",monospace;color:#52525b;white-space:nowrap;flex:none}
.fm-ck>div{height:44px}
.fm-ico{position:relative;width:20px;height:20px;flex:none}
.fm-ico>*{position:absolute;inset:0}
.fm-spin{border-radius:50%;border:2px solid #e4e4e7;border-top-color:var(--fm-blue)}
.fm-fd .t{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-top:14px}
.fm-fd .b{font-size:15.5px;color:var(--fm-mut);line-height:1.5;margin-top:8px}
.fm-fd .f{margin-top:14px;padding-top:12px;border-top:1px solid #f1f1f3;font-size:14.5px;color:var(--fm-mut)}
.fm-by{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 10px 0 4px;border-radius:8px;background:#f4f4f5;font-size:13.5px;color:#3f3f46;white-space:nowrap}
.fm-by i{width:20px;height:20px;border-radius:6px;background:#18181b;color:#fff;font:600 11px/20px Inter,sans-serif;text-align:center;font-style:normal}
.fm-draft{font-size:16.5px;line-height:1.6;color:var(--fm-ink);margin-top:12px;min-height:80px}
.fm-draft span{opacity:0}
.fm-shim{background:linear-gradient(90deg,#8b8b94 0,#8b8b94 40%,#d4d4d8 50%,#8b8b94 60%,#8b8b94 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.fm-btns{display:flex;gap:10px;margin-top:16px;align-items:center}
.fm-btn{height:40px;padding:0 16px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;white-space:nowrap;position:relative;overflow:hidden}
.fm-btn.pri{background:#18181b;color:#fff}
.fm-btn.sec{box-shadow:inset 0 0 0 1px #e4e4e7;color:#3f3f46}
.fm-btn b{position:absolute;left:0;right:0;text-align:center;font-weight:500}
/* activity */
.fm-act{border-top:1px solid var(--fm-hair);padding-top:10px}
.fm-act .fm-h6{margin:0 0 4px;font-size:13.5px;font-weight:500;color:var(--fm-dim)}
.fm-ar{overflow:hidden}
.fm-ar>div{height:30px;display:flex;align-items:center;gap:10px;font-size:14px;color:#52525b;white-space:nowrap}
.fm-ar em{font-style:normal;color:var(--fm-dim);width:62px;flex:none;font-feature-settings:"tnum"}
/* passports page */
.fm-pp{background:#fff;border:1px solid var(--fm-hair);border-radius:12px;padding:22px 26px}
.fm-pp .fm-h4{margin:0;font-size:20px;font-weight:600;letter-spacing:-.02em}
.fm-pp .s{font-size:14.5px;color:var(--fm-mut);margin-top:5px}
.fm-tiles{position:absolute;display:grid;gap:10px}
.fm-tile{border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1.5px #dbe3fb;display:flex;flex-direction:column;justify-content:space-between;padding:9px 10px;font:500 11.5px/1 "Geist Mono",monospace;color:#71717a;opacity:0}
.fm-tile i{width:14px;height:14px;border-radius:50%;align-self:flex-end;opacity:0;background:var(--fm-grn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/9px no-repeat}
.fm-card{position:absolute;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#dbe5ff 0%,#e9e1ff 48%,#fde3ef 100%);box-shadow:0 0 0 1px rgba(17,17,26,.06),0 30px 60px -24px rgba(17,17,26,.28);opacity:0;transform-origin:0 0}
.fm-card .in{padding:20px 18px}
.fm-card .hd{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}
.fm-card .hd span{margin-left:auto;font-weight:400;color:#6e6e73}
.fm-card .fm-h4{margin:12px 0 0;font-size:19px;font-weight:700;letter-spacing:-.022em;line-height:1.22;color:#18181b}
.fm-card .fm-cbt{font-size:12.5px;color:#6e6e73;margin-top:4px}
.fm-hc{background:#fff;border-radius:16px;padding:12px 14px;margin-top:10px}
.fm-hc .k{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}
.fm-hc .k i{width:8px;height:8px;border-radius:50%}
.fm-hc .v{font-size:15px;font-weight:650;color:#18181b;line-height:1.3;margin-top:6px;letter-spacing:-.01em}
/* Cato's inspection page */
.fm-insp{background:#fff;border:1px solid var(--fm-hair);border-radius:12px;padding:22px 26px}
.fm-insp .ih .fm-h4{margin:0;font-size:20px;font-weight:600;letter-spacing:-.02em}
.fm-insp .ih div{font-size:14.5px;color:var(--fm-mut);margin-top:5px}
.fm-tally{display:flex;align-items:flex-end;gap:34px;margin-top:22px;padding-bottom:18px;border-bottom:1px solid #f1f1f3}
.fm-tally .n{font:500 40px/1 Inter,sans-serif;letter-spacing:-.04em;font-feature-settings:"tnum";height:42px;display:flex}
.fm-tally .l{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--fm-mut);margin-top:8px;white-space:nowrap}
.fm-tally .l i{width:9px;height:9px;border-radius:3px}
.fm-tally .ns{margin-left:auto;font-size:13px;color:var(--fm-dim);padding-bottom:4px;white-space:nowrap}
.fm-q{position:relative;height:200px;margin-top:20px}
.fm-qt{font-size:26px;font-weight:600;letter-spacing:-.022em;line-height:1.25;max-width:600px}
.fm-qt span{opacity:0}
.fm-rec{position:absolute;left:0;top:84px;width:520px;height:64px;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 16px;font-size:15.5px;opacity:0}
.fm-rec.doc{background:#fff;box-shadow:0 0 0 1px #e4e4e7,0 8px 22px -12px rgba(17,17,26,.2)}
.fm-rec.none{border:1.5px dashed #d4d4d8;color:var(--fm-dim)}
.fm-ans{position:absolute;left:0;top:160px;font-size:15px;color:var(--fm-mut);opacity:0;white-space:nowrap}
.fm-qp{position:absolute;right:0;top:100px}
.fm-grid{margin-top:14px}
.fm-area{display:flex;align-items:center;height:40px;gap:14px}
.fm-area>span{width:190px;font-size:14px;color:var(--fm-mut);white-space:nowrap;flex:none}
.fm-cells{display:grid;grid-template-columns:repeat(10,30px);gap:8px}
.fm-cell{width:30px;height:30px;border-radius:7px;background:#f4f4f5;position:relative}
.fm-cell i{position:absolute;inset:9px;border-radius:50%;background:#d4d4d8}
.fm-abar{display:flex;height:8px;width:120px;margin-left:18px;border-radius:4px;overflow:hidden;background:#f4f4f5}
.fm-abar i{height:100%}
.fm-file{position:absolute;opacity:0}
/* the person's cursor, in screen space */
.fm-cur{position:absolute;left:0;top:0;width:24px;height:24px;opacity:0;pointer-events:none;z-index:3;transform-origin:4px 3px}
.fm-cur span{position:absolute;left:18px;top:20px;height:22px;padding:0 8px;border-radius:6px;background:#18181b;color:#fff;font:500 11.5px/22px Inter,sans-serif;white-space:nowrap}
/* scrubber and caption */
.fm-bar{display:flex;align-items:center;gap:16px;margin-top:14px;min-height:40px}
.fm-bar .agd-pp{flex:none}
.fm-scrub{display:flex;gap:6px;flex:none;width:280px}
.fm-scrub button{flex:1;height:32px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.fm-scrub button::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;border-radius:1px;background:#e4e4e7}
.fm-scrub button i{position:absolute;left:0;top:15px;height:2px;border-radius:1px;background:var(--fm-ink);width:0}
.fm-scrub button:focus-visible{outline:2px solid var(--fm-blue);outline-offset:2px;border-radius:3px}
.fm-cap{position:relative;flex:1;margin:0;height:24px;font:400 15px/24px Inter,sans-serif;color:var(--fm-mut)}
.fm-cap span{position:absolute;left:0;right:0;top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-cap .o{animation:fmCapO .18s cubic-bezier(.4,0,1,1) forwards}.fm-cap .n{animation:fmCapN .3s cubic-bezier(.65,0,.35,1) .12s both}
@keyframes fmCapO{to{opacity:0}}@keyframes fmCapN{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.fm-cap .o{display:none}.fm-cap .n{animation:none}}
@media (max-width:760px){
  .fm-stage{aspect-ratio:350/440}
  .fm-bar{flex-wrap:wrap;gap:10px 14px}
  .fm-scrub{width:auto;flex:1}
  .fm-cap{flex:1 1 100%;order:3;height:48px}
  .fm-cap span{white-space:normal;line-height:24px}
}
.fm-act{overflow:hidden}
/* tabs and the pause control (carried over from the old film so agents.css can retire) */
.agd-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#ececef}
.agd-tab{display:flex;align-items:center;gap:10px;height:46px;padding:0 18px 0 8px;border:0;border-radius:9px;background:transparent;font:500 15px/1 Inter,sans-serif;color:#52525b;cursor:pointer;transition:background-color var(--d1,150ms),box-shadow var(--d1,150ms)}
.agd-tab[aria-selected="true"]{background:#fff;color:#18181b;box-shadow:0 1px 2px rgba(16,24,40,.08),0 0 0 1px rgba(16,24,40,.04)}
.agd-tab i{width:30px;height:30px;border-radius:8px;background:#18181b;color:#fff;font:600 14px/30px Inter,sans-serif;text-align:center;font-style:normal}
.agd-tab small{font-size:13px;color:#52525b;font-weight:400}
.agd-tab:focus-visible,.agd-pp:focus-visible{outline:2px solid var(--fm-blue);outline-offset:2px}
.agd-pp{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;font:500 13px/1 Inter,sans-serif;color:#3f3f46;cursor:pointer;transition:background-color var(--d1,150ms)}
.agd-pp:hover{background:#f4f4f5}
.agd-pp .pp-play{display:none}
.agd-pp[aria-pressed="true"] .pp-play{display:block}
.agd-pp[aria-pressed="true"] .pp-pause{display:none}
@media (max-width:560px){.agd-tabs{display:flex}.agd-tab{flex:1;justify-content:center;padding:0 10px}.agd-tab small{display:none}}
.agd-tabs[hidden]{display:none!important}
