/* Consolidated Profit and Loss + Consolidated Balance Sheet pages */

/* ── Hero window ── */
.cs{position:relative;margin-right:-40px;min-width:0;font-variant-numeric:tabular-nums}
.cs-glow{position:absolute;inset:4% -4% 4% 4%;background:radial-gradient(closest-side,rgba(13,115,119,.22),transparent);filter:blur(10px);pointer-events:none}
.cs-win{position:relative;background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 28px 60px -22px rgba(12,26,28,.38)}
.cs-bar{display:flex;align-items:center;gap:5px;background:#0c1a1c;padding:8px 11px}
.cs-bar i{width:9px;height:9px;border-radius:50%;background:#ff5f57}.cs-bar i:nth-child(2){background:#febc2e}.cs-bar i:nth-child(3){background:#28c840}
.cs-bar span{margin-left:8px;font-size:10.5px;font-weight:600;color:#cfe3e3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-std{display:flex;gap:5px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid #eef3f3;background:#fff}
.cs-std b{font-size:9px;font-weight:600;color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:2px 8px}
.cs-std b.on{background:var(--teal);border-color:var(--teal);color:#fff}
.cs-body{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;padding:12px;background:#f6f9f9}
.cs-st,.cs-pn{background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 10px 6px;box-shadow:0 6px 16px -10px rgba(12,26,28,.25)}
.cs-sec+.cs-sec{margin-top:4px}
.cs-h{font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--teal);padding:3px 0 2px}
.cs-l{position:relative;z-index:0;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:2.5px 5px;margin:0 -5px;border-radius:5px;font-size:9.5px;color:var(--mid)}
.cs-l span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-l b{font-weight:600;color:var(--dark)}
.cs-s{border-top:1px solid #e6eeee;border-radius:0}.cs-s span,.cs-s b{font-weight:700;color:var(--dark)}
.cs-t{margin-top:3px;border-top:1.5px solid var(--dark);border-radius:0}.cs-t span,.cs-t b{font-weight:700;color:var(--dark)}
.cs-i{padding-left:14px;font-size:9px;color:var(--muted)}.cs-i b{font-weight:500}
.cs-k::after{content:'';position:absolute;inset:0;border-radius:5px;background:var(--teal-pale);box-shadow:0 0 0 1.5px rgba(13,115,119,.35);opacity:0;z-index:-1}
.cs-pn{display:flex;flex-direction:column}
.cs-ph{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:700;color:var(--dark);padding-bottom:5px;margin-bottom:6px;border-bottom:1px solid #eef3f3}
.cs-ph small{font-size:8.5px;font-weight:600;color:var(--muted)}
.cs-sub{font-size:8.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin:2px 0 6px}
.cs-note{margin-top:auto;padding-top:6px;border-top:1px solid #eef3f3;font-size:8.5px;color:var(--muted);line-height:1.45}
.cs-ft{display:flex;gap:6px;flex-wrap:wrap;padding:9px 12px;border-top:1px solid #eef3f3}
.cs-ft span{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:600;color:var(--teal);background:var(--teal-pale);border-radius:20px;padding:2px 9px;opacity:0}

/* P&L panel: horizontal bars */
.cs-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.cs-r{display:grid;grid-template-columns:56px 1fr 34px;align-items:center;gap:6px;font-size:9px;color:var(--mid)}
.cs-r>span{white-space:nowrap}
.cs-r>b{text-align:right;font-weight:600;color:var(--dark);font-size:9px}
.cs-tr{position:relative;height:18px;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),#eef3f3 calc(25% - 1px) 25%)}
.cs-b{position:absolute;top:2px;bottom:2px;left:var(--l);width:var(--w);min-width:3px;border-radius:3px;background:#7fb9b6;transform-origin:left center}
.cs-b.neg{background:#d97757;transform-origin:right center}
.cs-b.tot{background:#0d4f52}
.cs-r.cs-grp>span,.cs-r.cs-grp>b{font-weight:700;color:var(--teal)}
.cs-split{position:relative;z-index:0;display:flex;height:20px;border-radius:5px;overflow:hidden;transform-origin:left center}
.cs-split i{display:block;height:100%}
.cs-split .ow{width:96.8%;background:var(--teal)}
.cs-split .nc{width:3.2%;min-width:6px;background:#d9a428}
.cs-leg{display:flex;justify-content:space-between;margin-top:5px;font-size:9px;color:var(--mid)}
.cs-leg b{color:var(--dark);font-weight:600}
.cs-leg i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px;vertical-align:0}

/* BS panel: two stacked columns */
.cs-cols{display:flex;justify-content:center;align-items:flex-end;gap:16px;height:200px;padding:4px 30px 0 0;margin-bottom:4px}
.cs-col{display:flex;flex-direction:column;align-items:center;gap:5px;width:72px;height:100%}
.cs-stk{position:relative;flex:1;width:100%;display:flex;flex-direction:column-reverse;border-radius:6px;transform-origin:bottom center}
.cs-sg{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;font-size:8.5px;font-weight:600;line-height:1.25;color:#fff;height:var(--h)}
.cs-sg:first-child{border-radius:0 0 6px 6px}.cs-sg:last-child{border-radius:6px 6px 0 0}
.cs-sg.nca{background:#0d4f52}.cs-sg.ca{background:#5fa8a4}
.cs-sg.eq{background:var(--teal)}.cs-sg.nci{background:#d9a428;min-height:9px}.cs-sg.li{background:#94a3b8}
.cs-sg.nci>b{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);font-size:8.5px;font-weight:700;color:#7c5a12;white-space:nowrap}
.cs-col>span{font-size:9px;font-weight:600;color:var(--mid);text-align:center;line-height:1.25}
.cs-col>span b{display:block;color:var(--dark)}
.cs-bal{align-self:center;display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;color:#047857;background:#ecfdf5;border-radius:20px;padding:2px 9px;opacity:0;margin-top:4px}
.cs-kc{position:relative}
.cs-kc::after{content:'';position:absolute;inset:-3px;border-radius:8px;box-shadow:0 0 0 2px rgba(13,115,119,.4);opacity:0;pointer-events:none}

/* hero sequence (~2s) */
.cs.visible .cs-win{animation:csUp .35s cubic-bezier(.2,.7,.2,1) .05s both}
.cs.visible .cs-std b{animation:csPop .25s cubic-bezier(.3,1.5,.5,1) calc(.3s + var(--j,0)*.04s) both}
.cs.visible .cs-sec{animation:csUp .3s cubic-bezier(.2,.7,.2,1) calc(.4s + var(--i)*.28s) both}
.cs.visible .cs-pn{animation:csUp .3s cubic-bezier(.2,.7,.2,1) .3s both}
.cs.visible .cs-b{animation:csGrow .45s cubic-bezier(.2,.7,.2,1) calc(.5s + var(--i)*.22s) both}
.cs.visible .cs-r>b{animation:csFade .3s ease calc(.65s + var(--i)*.22s) both}
.cs.visible .cs-split{animation:csGrow .5s cubic-bezier(.2,.7,.2,1) 1.45s both}
.cs.visible .cs-leg{animation:csFade .3s ease 1.7s both}
.cs.visible .cs-stk{animation:csGrowY .6s cubic-bezier(.2,.7,.2,1) calc(.55s + var(--i)*.35s) both}
.cs.visible .cs-col>span{animation:csFade .3s ease calc(.8s + var(--i)*.35s) both}
.cs.visible .cs-bal{animation:csPop .3s cubic-bezier(.3,1.5,.5,1) 1.55s both,csBal 3.2s ease-in-out 2.6s infinite}
.cs.visible .cs-note{animation:csFade .4s ease 1.8s both}
.cs.visible .cs-ft span{animation:csPop .3s cubic-bezier(.3,1.5,.5,1) calc(1.75s + var(--j,0s)) both}
.cs-ft span:nth-child(2){--j:.08s}.cs-ft span:nth-child(3){--j:.16s}
/* idle: a statement line and its chart part light up together, in turn */
.cs.visible .cs-k::after,.cs.visible .cs-kc::after{animation:csLoop var(--cy,4s) ease-in-out calc(2.4s + var(--k)*var(--st,2s)) infinite}
.cs-bs{--cy:6s;--st:2s}
@keyframes csUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes csPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes csFade{from{opacity:0}to{opacity:1}}
@keyframes csGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes csGrowY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes csLoop{0%,40%,100%{opacity:0}9%,30%{opacity:1}}
@keyframes csBal{0%,100%{box-shadow:0 0 0 0 rgba(4,120,87,0)}50%{box-shadow:0 0 0 3px rgba(4,120,87,.14)}}

/* ── Entity columns (Show Entities) ── */
.cs-et{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(12,26,28,.35);font-variant-numeric:tabular-nums}
.cs-et-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #eef3f3}
.cs-et-top b{font-size:12px;color:var(--dark)}
.cs-tg{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:var(--teal)}
.cs-tg i{position:relative;width:24px;height:13px;border-radius:20px;background:var(--teal)}
.cs-tg i::after{content:'';position:absolute;top:2px;right:2px;width:9px;height:9px;border-radius:50%;background:#fff}
.cs-et table{width:100%;border-collapse:collapse;font-size:11px}
.cs-et th,.cs-et td{padding:8px 10px;text-align:right;white-space:nowrap}
.cs-et th{font-size:9.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;background:#f6f9f9;line-height:1.25;vertical-align:bottom}
.cs-et th:first-child,.cs-et td:first-child{text-align:left;color:var(--mid)}
.cs-et td{border-top:1px solid #eef3f3;color:var(--dark)}
.cs-et th small{display:block;font-size:8.5px;font-weight:600;color:#94a3b8;letter-spacing:0;text-transform:none}
.cs-et .el{background:#fbf6ec;color:#7c5a12}
.cs-et th.el{color:#7c5a12}
.cs-et .gp{background:var(--teal-pale);color:var(--teal);font-weight:700}
.cs-et th.gp{color:var(--teal)}
.cs-et tr.nt td{font-weight:700;border-top:1.5px solid var(--dark)}
.cs-et-ft{padding:9px 14px;font-size:10.5px;color:var(--muted);border-top:1px solid #eef3f3;line-height:1.5}
.cs-etw.visible .ec{animation:csFade .35s ease calc(.15s + var(--c)*.18s) both}
.cs-etw.visible td.el{animation:csFade .35s ease .8s both,csEl 4s ease-in-out 2.2s infinite}
.cs-etw.visible td.gp{animation:csFade .35s ease 1.05s both}
@keyframes csEl{0%,100%{background:#fbf6ec}50%{background:#f8ecd2}}

/* ── Statement card (OCI / equity) ── */
.cs-cd{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:0 18px 40px -24px rgba(12,26,28,.35);font-variant-numeric:tabular-nums}
.cs-cd-h{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;font-weight:700;color:var(--dark);padding-bottom:8px;border-bottom:1px solid #eef3f3;margin-bottom:6px}
.cs-cd-h small{font-size:10px;font-weight:600;color:var(--muted);white-space:nowrap}
.cs-cl{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:12px;color:var(--mid)}
.cs-cl b{font-weight:600;color:var(--dark)}
.cs-cl.hd{padding-top:10px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--teal)}
.cs-cl.sub{padding-left:14px;font-size:11.5px}
.cs-cl.st{border-top:1px solid #e6eeee}.cs-cl.st span,.cs-cl.st b{font-weight:700;color:var(--dark)}
.cs-cl.tot{border-top:1.5px solid var(--dark);margin-top:4px}
.cs-cl.tot span,.cs-cl.tot b{color:var(--teal);font-weight:700}
.cs-cl em{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;border-radius:20px;padding:1px 7px;margin-left:6px;vertical-align:1px}
.cs-cl em.ow{color:var(--teal);background:var(--teal-pale)}
.cs-cl em.nc{color:#7c5a12;background:#fdf3d8}
.cs-cdw.visible .cs-cl{animation:csUp .3s cubic-bezier(.2,.7,.2,1) calc(.1s + var(--i)*.1s) both}
.cs-cdw.visible .cs-cl.hl{animation:csUp .3s cubic-bezier(.2,.7,.2,1) calc(.1s + var(--i)*.1s) both,csHl 4s ease-in-out 2s infinite}
@keyframes csHl{0%,100%{background:transparent}50%{background:#f2f8f8}}

/* SOCIE mini table */
.cs-cd table{width:100%;border-collapse:collapse;font-size:12px}
.cs-cd th,.cs-cd td{padding:7px 6px;text-align:right;white-space:nowrap}
.cs-cd th{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid #eef3f3}
.cs-cd th:first-child,.cs-cd td:first-child{text-align:left;color:var(--mid);padding-left:0}
.cs-cd td{color:var(--dark)}
.cs-cd th.nc{color:#7c5a12}
.cs-cd tr.st td{border-top:1px solid #e6eeee;font-weight:700}
.cs-cd tr.tot td{border-top:1.5px solid var(--dark);font-weight:700;color:var(--teal)}
.cs-cd tr.tot td:first-child{color:var(--teal)}
.cs-cdw.visible .cs-cd tr{animation:csUp .3s cubic-bezier(.2,.7,.2,1) calc(.1s + var(--i,0)*.12s) both}
.cs-cdw.visible .cs-cd tr.tot{animation:csUp .3s cubic-bezier(.2,.7,.2,1) calc(.1s + var(--i,0)*.12s) both,csHl 4s ease-in-out 2s infinite}
.cs-cd-ft{margin-top:10px;font-size:11px;color:var(--muted);line-height:1.5}

/* ── Tutorial links ── */
.cs-tut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cs-tut-grid.c4{grid-template-columns:repeat(4,1fr)}
.cs-tut{display:flex;flex-direction:column;gap:6px;background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:16px 18px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.cs-tut:hover{border-color:var(--teal);box-shadow:0 8px 24px -14px rgba(12,26,28,.35);transform:translateY(-2px)}
.cs-tut small{align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.4px;color:var(--teal);background:var(--teal-pale);border-radius:20px;padding:2px 9px}
.cs-tut i{font-style:normal;font-size:11.5px;color:var(--muted);line-height:1.4}
.cs-tut b{font-size:14px;font-weight:600;color:var(--dark);line-height:1.35}
.cs-tut span{margin-top:auto;font-size:12px;font-weight:600;color:var(--teal)}
.cs-tut-sub{font-size:13px;font-weight:700;color:var(--dark);margin:30px 0 12px}
.cs-int{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;justify-content:center}
.cs-int a{font-size:13px;font-weight:600;color:var(--teal);border:1.5px solid var(--border);border-radius:100px;padding:7px 16px;text-decoration:none;background:#fff;transition:border-color .2s}
.cs-int a:hover{border-color:var(--teal)}
.cs-more{margin-top:18px;font-size:14px}
.cs-more a{color:var(--teal);font-weight:600;text-decoration:none}

@media(prefers-reduced-motion:reduce){
  .cs.visible *,.cs-etw.visible *,.cs-cdw.visible *{animation:none!important}
  .cs-ft span,.cs-bal{opacity:1}
}
@media(max-width:1024px){.cs{margin-right:0}.cs-tut-grid,.cs-tut-grid.c4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
  .cs-body{grid-template-columns:1fr}
  .cs-tut-grid,.cs-tut-grid.c4{grid-template-columns:1fr}
  .cs-et{overflow-x:auto}
  .cs-et th,.cs-et td{padding:7px 8px}
}

/* P&L page: intercompany eliminations at work */
.pe{display:flex;flex-direction:column;gap:12px;font-variant-numeric:tabular-nums}
.pe-ent{display:flex;flex-direction:column;gap:8px}
.pe-e{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:start;background:#fff;border:1.5px solid var(--border);border-radius:11px;padding:10px 12px;box-shadow:0 10px 24px -18px rgba(12,26,28,.35);transition:border-color .35s ease,box-shadow .35s ease}
.pe-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fbf6ec;color:#7c5a12;font-size:10.5px;font-weight:700;grid-row:span 2}
.pe-e b{display:block;font-size:12px;color:var(--dark);line-height:1.35}
.pe-e small{font-size:10.5px;color:var(--muted)}
.pe-fx{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.pe-fx span{font-size:10.5px;color:var(--mid);background:#f6f9f9;border-radius:6px;padding:2px 8px}
.pe-fx b{display:inline;font-size:10.5px;color:#7c5a12}
.pe .cs-et td.el{position:relative}
.pe-sw{display:inline-grid}
.pe-sw>.pe-v{grid-area:1/1}
.pe-v{display:inline-block}
/* focus: one entry and the cells it touches */
.pe .s1,.pe .s2,.pe .k1,.pe .k2{transition:background .35s ease,box-shadow .35s ease}
.pe.f1 .e1,.pe.f2 .e2{border-color:#e7c98f;box-shadow:0 10px 24px -14px rgba(124,90,18,.35)}
.pe.f1 .e1 .pe-n,.pe.f2 .e2 .pe-n{background:#d9a428;color:#fff}
.pe.f1 td.k1,.pe.f2 td.k2{box-shadow:inset 0 0 0 2px #d9a428;background:#f8ecd2}
.pe.f1 td.s1,.pe.f2 td.s2{background:#fdf8ee}

/* build (~2s) */
.pe .pe-e,.pe .pe-t,.pe .ec,.pe td.gp,.pe .pe-v{opacity:0}
.pe.run .pe-t{animation:peUp .4s cubic-bezier(.2,.7,.2,1) .05s both}
.pe.run .ec{animation:peFade .3s ease calc(.25s + var(--c)*.12s) both}
.pe.run .e1{animation:peUp .35s cubic-bezier(.2,.7,.2,1) .7s both}
.pe.run .pe-v.a{animation:pePop .3s cubic-bezier(.3,1.4,.5,1) .95s both}
.pe.run .e2{animation:peUp .35s cubic-bezier(.2,.7,.2,1) 1.25s both}
.pe.run .pe-sw .pe-v.a{animation:pePop .3s cubic-bezier(.3,1.4,.5,1) .95s both,peOut .25s ease 1.5s forwards}
.pe.run .pe-v.b{animation:pePop .3s cubic-bezier(.3,1.4,.5,1) 1.55s both}
.pe.run td.gp{animation:peFade .35s ease 1.85s both}
.pe.ready .pe-e,.pe.ready .pe-t,.pe.ready .ec,.pe.ready td.gp,.pe.ready .pe-v{animation:none;opacity:1}
.pe.ready .pe-sw .pe-v.a{opacity:0}
@keyframes peUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes peFade{from{opacity:0}to{opacity:1}}
@keyframes pePop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes peOut{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.pe *{animation:none!important;transition:none!important}.pe .pe-e,.pe .pe-t,.pe .ec,.pe td.gp,.pe .pe-v{opacity:1}.pe .pe-sw .pe-v.a{opacity:0}}
/* Balance sheet page: entry details in the app's own columns */
.pe-e .pe-ln{grid-column:2;width:100%;border-collapse:collapse;margin-top:6px;font-size:10.5px}
.pe-ln th{font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);text-align:right;padding:3px 6px;border-bottom:1px solid #eef3f3}
.pe-ln td{text-align:right;padding:4px 6px;color:var(--dark);white-space:nowrap}
.pe-ln th:first-child,.pe-ln td:first-child{text-align:left;padding-left:0}
.pe-ln td:first-child{color:var(--mid)}
.pe-ok{display:inline-block;font-size:9.5px;font-weight:600;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;padding:1px 7px}

/* Balance sheet page: statement of changes in equity, components that moved */
.sq{font-variant-numeric:tabular-nums}
.sq-win{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(12,26,28,.35)}
.sq-bar{display:flex;align-items:center;gap:5px;background:#0c1a1c;padding:8px 12px}
.sq-bar i{width:9px;height:9px;border-radius:50%;background:#ff5f57}.sq-bar i:nth-child(2){background:#febc2e}.sq-bar i:nth-child(3){background:#28c840}
.sq-bar span{margin-left:8px;font-size:11px;font-weight:600;color:#cfe3e3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sq-bar em{margin-left:auto;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:#9fd8d3;white-space:nowrap}
.sq-body{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:10px 14px 12px}
.sq-wide{grid-column:1/-1}
.sq-blk{border:1px solid #eef3f3;border-radius:9px;padding:6px 9px 5px;margin-bottom:8px}
.sq-col .sq-blk:last-child{margin-bottom:0}
.sq-r{position:relative;display:flex;justify-content:space-between;gap:8px;padding:2.5px 6px;margin:0 -6px;border-radius:5px;font-size:10.5px;color:var(--mid);transition:background .3s ease,color .3s ease}
.sq-r b{font-weight:500;color:var(--dark)}
.sq-r.hd{font-weight:700;color:var(--dark);font-size:10.5px;padding-bottom:3px}
.sq-r.cl{border-top:1px solid #e3eaea;border-radius:0;margin-top:2px;padding-top:3px}
.sq-r.cl span,.sq-r.cl b{font-weight:700;color:var(--dark)}
.sq-blk.nc{background:#fdf8ee;border-color:#f3e6c8}.sq-blk.nc .hd{color:#7c5a12}
.sq-blk.ow{background:#f2f8f8}.sq-blk.ow .hd{color:var(--teal)}
.sq-blk.te{background:var(--teal-pale);border-color:#cde3e2;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.sq-blk.te .hd{grid-column:1/-1;color:var(--teal)}
.sq-blk.te .cl{grid-column:1/-1}.sq-blk.te .cl span,.sq-blk.te .cl b{color:var(--teal)}
/* idle: one movement at a time, wherever it lands */
.sq.hp .sq-r.mp,.sq.ho .sq-r.mo,.sq.hd .sq-r.md{background:#fff3d6;color:var(--dark)}
.sq.hp .sq-r.mp b,.sq.ho .sq-r.mo b,.sq.hd .sq-r.md b{font-weight:700}
.sq-ft{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px;border-top:1px solid #eef3f3}
.sq-ft .k{font-size:10px;font-weight:600;color:var(--mid);border:1px solid var(--border);border-radius:20px;padding:2px 9px;transition:background .3s ease,border-color .3s ease,color .3s ease}
.sq.hp .k.mp,.sq.ho .k.mo,.sq.hd .k.md{background:#fff3d6;border-color:#e7c98f;color:#7c5a12}
.sq-ft small{margin-left:auto;font-size:9.5px;color:var(--muted)}
/* build (~2s): component by component */
.sq .sq-win,.sq .sq-blk{opacity:0}
.sq.run .sq-win{animation:sqUp .4s cubic-bezier(.2,.7,.2,1) .05s both}
.sq.run .sq-blk{animation:sqUp .35s cubic-bezier(.2,.7,.2,1) calc(.35s + var(--b)*.26s) both}
.sq.ready .sq-win,.sq.ready .sq-blk{animation:none;opacity:1}
@keyframes sqUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.sq *{animation:none!important;transition:none!important}.sq .sq-win,.sq .sq-blk{opacity:1}}
@media(max-width:600px){.sq-body{grid-template-columns:1fr}.sq-blk.te{grid-template-columns:1fr}}
