:root{--ink:#152337;--orange:#ff7a09;--muted:#6c6c7b;--line:#d5d3df;--paper:#f7f7f8;--lavender:#e7e5ee;--yellow:#fff388;--green:#2e9e6b}
*{box-sizing:border-box}html,body{margin:0;background:white;color:var(--ink);font-family:Arial,Helvetica,sans-serif}body{overflow-x:hidden}#viewport{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative}#film{width:1920px;height:1080px;position:absolute;left:0;top:0;transform-origin:top left;overflow:hidden}.canvas-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#fff 30%,#fcfcfd 100%)}.clip,.shot{position:absolute;inset:0}.shot{opacity:0;visibility:hidden}.headline{position:absolute;left:100px;top:56px;margin:0;font-size:43px;line-height:1.15;font-weight:500;letter-spacing:-1px;max-width:1590px}.shot-no{position:absolute;right:90px;top:68px;color:#747482;font-size:20px;font-variant-numeric:tabular-nums}.baseline{position:absolute;left:0;right:0;top:887px;height:2px;background:#e4e3e9}.art{position:absolute;object-fit:contain}.agency{left:110px;top:675px;width:240px;height:213px}.citizen{left:1380px;top:598px;width:330px;height:289px}.vault{left:1720px;top:740px;width:150px;height:150px}.lock{left:1776px;top:690px;width:38px;height:47px}.caption{position:absolute;left:220px;right:220px;top:920px;margin:0;text-align:center;font-size:29px;line-height:1.45;letter-spacing:-.2px;color:#344052}.caption span{background:rgba(255,255,255,.92);padding:5px 12px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.panel{position:absolute;border-radius:30px;background:linear-gradient(170deg,#f7f7f8 0%,#e7e5ee 100%);box-shadow:0 15px 50px #26213708;border:1px solid #efedf3;padding:34px}.panel-title{font-size:28px;font-weight:500;margin:0 0 26px;letter-spacing:-.3px}.small{font-size:21px;line-height:1.45;color:#6c6c7b}.muted{color:#73717d}.tag{display:inline-flex;align-items:center;padding:8px 17px;border-radius:24px;background:#ffe6d0;font-size:20px;line-height:1.2;color:#7d3b00}.tag.yellow{background:var(--yellow);color:var(--ink)}.tag.green{background:#e0f1e8;color:#236d4b}.row{background:#faf9fc;border-radius:12px;padding:17px 20px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:24px;min-height:64px}.row .tag{font-size:17px}.row .value{font-size:22px}.rule-panel{left:480px;top:207px;width:600px;min-height:400px}.rule-panel footer{font-size:19px;margin-top:20px;color:#64616f}.smart-mark{font-size:16px;letter-spacing:1.4px;color:#7a6b60;float:right;margin-top:8px}.law{position:absolute;left:100px;top:190px;width:330px;height:440px;border:2px solid #e4e2e8;border-radius:29px;background:linear-gradient(#f7f7f7,#e7e5ee);padding:42px;box-shadow:0 -10px 0 -2px #f7f7f7,0 -12px 0 -2px #e7e5e8,0 -20px 0 -5px #fafafa,0 -22px 0 -5px #e9e8ec}.law h3{font-size:27px;margin:0 0 28px;font-weight:500}.law-line{height:13px;background:#d7d4e0;border-radius:9px;margin:18px 0;position:relative}.law-line:nth-child(even){width:89%}.phrase{position:absolute;left:17px;top:-8px;background:var(--yellow);padding:5px 9px;font-size:17px;white-space:nowrap;color:var(--ink)}.law-line:nth-child(odd) .phrase{left:60px}.publish{position:absolute;left:231px;top:623px;width:2px;height:69px;background:#f5a25f}.publish::after{content:'Publishes';position:absolute;left:-40px;top:23px;color:white;background:#f18b3d;border-radius:20px;font-size:13px;padding:5px 10px}.reveal{opacity:0;visibility:hidden}.chat{left:1230px;top:202px;width:590px;min-height:300px}.chat-title{display:flex;align-items:center;justify-content:space-between;font-size:29px;margin-bottom:28px}.spark{color:#9071d3;margin-left:12px}.mic{width:28px;height:28px;color:#292633}.bubble{font-size:25px;line-height:1.3;padding:15px 20px;border-radius:18px;margin:14px 0;background:#f8f8fa;max-width:94%}.bubble.answer{background:#e2d9f6;margin-left:auto;max-width:82%}.wave{display:flex;align-items:center;gap:5px;height:28px}.wave-icon{width:36px;height:36px;color:#ef893c}.label{position:absolute;font-size:23px;color:#6c6c7b}.wire-layer{position:absolute;inset:0;width:1920px;height:1080px;pointer-events:none}.wire{fill:none;stroke:#ef8a3d;stroke-width:2.4;stroke-linecap:round}.wire.light{stroke:#d7d3df}.chip{position:absolute;min-width:150px;padding:12px 21px;border-radius:9px;background:#fff388;color:var(--ink);font-size:23px;box-shadow:0 4px 12px #29233307;white-space:nowrap}.check{width:31px;height:31px;color:#2e9e6b}.workspace{left:525px;top:240px;width:670px;min-height:440px;background:linear-gradient(160deg,#faf9fcf5,#eeecf3df);border:1px solid #dfdbe8}.workspace .panel-title{display:flex;align-items:center;justify-content:space-between}.temporary{font-size:17px;color:#7a7584;border:1px solid #d9d4e3;border-radius:20px;padding:7px 12px}.mini-agency{position:absolute;left:90px;width:170px;height:151px}.mini-rules{position:absolute;left:300px;width:350px;height:185px;padding:21px 25px;border-radius:22px}.mini-rules .panel-title{font-size:22px;margin-bottom:14px}.mini-rules .row{font-size:19px;min-height:35px;padding:8px 12px;margin:7px 0;border-radius:7px}.agency-id{position:absolute;left:90px;width:170px;text-align:center;font-size:18px;color:#747180}.packet{position:absolute;width:138px;height:96px;border:2px solid #ef8a3d;background:#fff;border-radius:9px;display:grid;place-items:center;font-size:21px;color:var(--ink);box-shadow:0 7px 15px #15233705}.packet-icon{position:absolute;left:54px;top:10px;width:27px;height:27px;color:#ef8a3d}.packet span{margin-top:23px}.center-note{position:absolute;text-align:center;font-size:28px;line-height:1.45}.arrow{font-size:35px;color:#ef8a3d}.stage-label{font-size:18px;letter-spacing:2px;text-transform:uppercase;color:#726a7a}.divider{height:1px;background:#d9d6e1;margin:20px 0}.big{font-size:42px;font-weight:500;letter-spacing:-1px}.closing{position:absolute;left:600px;top:200px;max-width:1160px}.closing p{font-size:64px;line-height:1.17;letter-spacing:-2px;margin:0 0 23px;font-weight:500}.closing p:last-child{color:#bb5503}.footer-mark{position:absolute;left:110px;bottom:168px;font-size:23px;color:#66616d}.transport{display:flex;align-items:center;gap:16px;padding:15px 24px;border-top:1px solid #e6e4eb;background:#fff;min-height:64px;color:#66616d;font-size:13px}.transport button,.transport select{border:1px solid #e4e1e9;border-radius:7px;background:#faf9fc;color:#302c3c;padding:8px 12px;font:inherit;cursor:pointer}.transport button:hover{background:#f0edf6}.transport #play{min-width:66px}.transport output{font-variant-numeric:tabular-nums;white-space:nowrap}.transport input{flex:1;min-width:30px;accent-color:#ef8a3d}.transport select{max-width:320px}.transport button[aria-pressed=false]{opacity:.5}body.captions-off .caption{visibility:hidden!important}body:fullscreen{display:flex;flex-direction:column;justify-content:center;background:#fff}body.render-mode .transport{display:none}body.render-mode #viewport{width:1920px;height:1080px}body.render-mode #film{transform:none!important}@media(max-width:700px){.transport{gap:8px;padding:10px}.transport select{max-width:130px}.transport output{font-size:11px}#fullscreen{display:none}}

/* Legible secondary type; original artwork colours remain untouched. */
.shot{background:radial-gradient(ellipse at 50% 40%,#fff 30%,#fcfcfd 100%);isolation:isolate}
.shot:first-child{opacity:1;visibility:visible}
.small{color:#625f6c}.temporary{color:#645c71}.closing p:last-child{color:var(--ink)}.closing p:last-child::after{content:"";display:block;width:110px;height:4px;margin-top:22px;background:var(--orange)}#shot-17>.headline{font-size:25px;color:#6c6572;letter-spacing:0}
.audio-status{margin:0;padding:0 24px 14px;font-size:12px;color:#6c6572}.render-mode .audio-status{display:none}#sound{white-space:nowrap}@media(max-width:700px){.transport{flex-wrap:wrap}.transport input{min-width:100px}.transport select{max-width:190px}.audio-status{padding-left:10px}}

/* Official Lucide SVGs share one stroke weight and inherit the existing palette. */
.lucide{display:inline-block;vertical-align:middle;flex-shrink:0}.lock{color:var(--orange)}.spark{width:24px;height:24px}.inline-arrow{width:18px;height:18px;margin:0 5px}.transport button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.transport .lucide{width:17px;height:17px}.transport #play{min-width:84px}.transport #captions{min-width:37px}

/* Center icon-and-label pairs independently of the text baseline. */
.status-label{display:flex;align-items:center;gap:8px;line-height:1.2}
.status-label>.check,.status-label>span{display:block}
.center-note.status-label{justify-content:center}
.row>.value{display:inline-flex;align-items:center;gap:8px}
.chat-title>span{display:inline-flex;align-items:center;gap:12px}
.chat-title .spark{display:block;margin-left:0}

/* Keep floating labels above connectors, within their own scene's dissolve. */
.chip{z-index:1}
