/* ============================================================
   KAPĀLINS v10 — additions only. Every colour comes from the
   v7-4 "Cool Pearl" tokens; nothing here redefines them.
   ============================================================ */

/* capability map: scenario checklist */
.v9cap .chip.done{border-color:color-mix(in srgb,var(--allow) 55%,transparent);color:var(--allow)}

/* ---------- logo chips (coverage, integrations) ---------- */
.lchip{display:inline-flex;align-items:center;gap:8px;padding:6px 11px 6px 8px;border-radius:9px;background:var(--paper);border:1px solid var(--line);font-size:.8rem;font-weight:540;color:var(--ink);line-height:1.2}
.lchip img,.lchip .lmk{width:18px;height:18px;flex:0 0 auto;object-fit:contain}
.lchip .lmk{display:inline-grid;place-items:center;border-radius:5px;background:var(--ink);color:var(--paper);font:700 .55rem var(--sans)}
html[data-theme="dark"] .lchip img.mono{filter:invert(1) brightness(1.6)}
.lchip.more{font-family:var(--mono);font-size:.72rem;color:var(--ink-3);background:transparent;border-style:dashed}
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.lcard{border:1px solid var(--line);border-radius:14px;background:var(--bg);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.lcard .lh{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.lcard .lh b{font-family:var(--serif);font-size:1rem;font-weight:700;letter-spacing:-.01em}
.lcard .lh span{font-family:var(--mono);font-size:.68rem;color:var(--amber);white-space:nowrap}
.lcard p{font-size:.84rem;color:var(--ink-2);line-height:1.5}
.lcard .ll{display:flex;flex-wrap:wrap;gap:6px}
.lcard .src{font-family:var(--mono);font-size:.64rem;color:var(--ink-3);margin-top:auto}
.lstat{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px;font-family:var(--mono);font-size:.74rem;color:var(--ink-3)}
.lstat b{font-family:var(--serif);font-size:1.5rem;color:var(--ink);font-weight:700;margin-right:6px;letter-spacing:-.02em}
@media(max-width:980px){.lgrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.lgrid{grid-template-columns:1fr}}

/* five modes: two new cards share the v9 modecard look */

/* ---------- Autonomous Integrity (port of the portal view) ---------- */
.ih{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:clamp(18px,3vw,28px);box-shadow:var(--shadow-1)}
.ih>*{min-width:0}
.ih-label{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.ih-label i{width:8px;height:8px;border-radius:2px;display:inline-block}
.ih-h{font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.08;letter-spacing:-.03em;margin-top:10px;text-wrap:balance}
.ih-h span{font-variant-numeric:tabular-nums}
.ih-p{font-size:.9rem;color:var(--ink-2);margin-top:12px;max-width:56ch;line-height:1.55}
.ih-cap{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.ih-sealrow{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ih-kinds{display:flex;flex-direction:column;gap:2px;flex:1;min-width:240px}
.ih-kinds button{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;text-align:left;background:none;border:0;border-radius:7px;padding:5px 7px;margin:0 -7px;cursor:pointer;color:var(--ink);font:inherit}
.ih-kinds button:hover{background:var(--sunken)}
.kq{display:flex;flex-direction:column;min-width:0}
.kq b{font-size:.84rem;font-weight:600}
.kq span{font-size:.74rem;color:var(--ink-3);line-height:1.3}
.kv{font-family:var(--mono);font-size:.68rem;color:var(--ink-3);text-align:right}
.sw{width:10px;height:10px;border-radius:2px;display:inline-block;flex-shrink:0}
.sw-sound{background:var(--allow)}
.sw-weak{background:var(--block)}
.sw-partial{border:1px solid var(--flag);background:repeating-linear-gradient(45deg,var(--flag) 0 2px,transparent 2px 4px)}
.sw-unread{border:1px dashed var(--ink-3)}
.sw-na{border:1px solid var(--line-2)}
.ih-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.ih-tile{text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:12px 14px;cursor:pointer;color:var(--ink);font:inherit;display:flex;flex-direction:column;gap:2px;transition:border-color var(--t)}
.ih-tile:hover{border-color:var(--line-3)}
.ih-tile .tl{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.ih-tile .tn{font-family:var(--serif);font-size:1.7rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.ih-tile .tw{font-size:.74rem;color:var(--ink-3);line-height:1.35}
.em{margin-top:12px;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:18px;box-shadow:var(--shadow-1)}
.em-h{display:flex;gap:6px 16px;align-items:baseline;flex-wrap:wrap}
.em-t{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.em-s{font-size:.76rem;color:var(--ink-3);flex:1;min-width:16rem}
.em-svg{overflow-x:auto;margin-top:8px}
.em-svg>svg{display:block;width:100%;min-width:860px;height:auto}
.em-svg .ln{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;fill:var(--ink-3)}
.em-svg .lnl{stroke:var(--line-2);stroke-dasharray:1 6}
.em-svg .eg{fill:none;stroke-width:1.4;opacity:.8;transition:opacity .18s ease,stroke-width .18s ease}
.em-svg .eg.dim,.em-svg .jn.dim{opacity:.08}
.em-svg .eg.lit{stroke-width:2.2;opacity:.95}
.em-svg .jn{fill:var(--ink-3);transition:opacity .18s ease}
.em-svg .nd{cursor:pointer;outline:none;transition:opacity .18s ease}
.em-svg .nd.dim{opacity:.14}
.em-svg .nd:focus-visible rect,.em-svg .nd:focus-visible circle{stroke:var(--amber);stroke-width:2.4}
.em-svg .nl{font-family:var(--sans);font-size:11px;font-weight:500;fill:var(--ink)}
.em-svg .ns{font-family:var(--mono);font-size:9px;fill:var(--ink-3)}
.em-svg .un{stroke:var(--line-2);stroke-dasharray:3 5}
.em-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.em-legend span{display:inline-flex;align-items:center;gap:6px}
.drill{position:relative;margin-top:12px;border:1px solid var(--line-2);border-radius:18px;background:var(--paper);padding:20px 22px;box-shadow:var(--shadow-2)}
.drill .dx{position:absolute;right:12px;top:10px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--sunken);color:var(--ink);cursor:pointer;font-size:18px;line-height:1}
.dh{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-right:36px}
.dh>div{min-width:0}
.dt{font-family:var(--mono);font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.dh h4{font-family:var(--serif);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin-top:4px}
.dm{font-size:.82rem;color:var(--ink-3);margin-top:3px}
.dr{font-size:.9rem;color:var(--ink-2);margin-top:12px;max-width:72ch}
.dw{font-size:.86rem;margin-top:10px;padding:9px 12px;border-radius:9px;background:color-mix(in srgb,var(--flag) 11%,transparent);color:var(--ink-2)}
.dsub{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:16px}
.dparts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-top:8px}
.dparts button{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:9px 11px;cursor:pointer;color:var(--ink);font:inherit;min-width:0}
.dparts button:hover{border-color:var(--line-3)}
.dparts button span{display:flex;flex-direction:column;min-width:0}
.dparts b{font-size:.84rem;font-weight:600}
.dparts span span{font-size:.72rem;color:var(--ink-3)}
.dparts .kv{max-width:22ch}
.dk{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:14px}
.dkr{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;font-size:.82rem;color:var(--ink-2);padding:6px 0;border-bottom:1px solid var(--line)}
.dkr b{color:var(--ink);font-weight:600;margin-right:4px}
.dfoot{font-family:var(--mono);font-size:.64rem;color:var(--ink-3);margin-top:14px}
@media(max-width:980px){.ih{grid-template-columns:1fr}.ih-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.ih-tiles{grid-template-columns:1fr 1fr}.dk{grid-template-columns:1fr}}

/* ---------- use cases ---------- */
.ucgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.uc{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0;box-shadow:var(--shadow-1)}
.uc .uh{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.uc .ind{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.uc h3{font-size:1.06rem;font-weight:700;letter-spacing:-.01em;margin-top:3px}
.uc .via{display:flex;flex-wrap:wrap;gap:6px}
.uc p{font-size:.86rem;color:var(--ink-2);line-height:1.5}
.uc .fw{font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.uc .uf{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.uc .st{font-family:var(--mono);font-size:.68rem;font-weight:600}
.uc button{font:600 .8rem var(--sans);color:var(--amber);background:none;border:0;cursor:pointer;padding:0}
@media(max-width:980px){.ucgrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ucgrid{grid-template-columns:1fr}}

/* ---------- compliance explorer ---------- */
.jur{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.jur button{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--paper);color:var(--ink-2);font:540 .82rem var(--sans);cursor:pointer}
.jur button img{width:20px;height:15px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.jur button .gl{width:20px;height:15px;display:inline-grid;place-items:center;font:700 .5rem var(--mono);border-radius:2px;background:var(--sunken);color:var(--ink-2)}
.jur button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cxgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;margin-top:18px;align-items:start}
.cxgrid>*{min-width:0}
.fwl{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.fwi{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer;text-align:left;font:inherit;color:var(--ink)}
.fwi[aria-pressed="true"]{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber)}
.fwi img{width:24px;height:18px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.fwi img.logo{object-fit:contain;box-shadow:none}
.fwi .gl{width:24px;height:18px;display:inline-grid;place-items:center;font:700 .5rem var(--mono);border-radius:3px;background:var(--sunken);color:var(--ink-2)}
.fwi b{font-size:.84rem;font-weight:600;display:block}
.fwi span span{font-size:.7rem;color:var(--ink-3)}
.fwi .n{font-family:var(--mono);font-size:.68rem;color:var(--ink-3);white-space:nowrap}
.evc .evrow .nm{min-width:0}
.cx-note{font-family:var(--mono);font-size:.66rem;color:var(--ink-3);margin-top:10px}
@media(max-width:980px){.cxgrid{grid-template-columns:1fr}}

/* ---------- services + partners ---------- */
.svc6{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.svc6 div{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:14px 16px}
.svc6 b{display:block;font-size:.95rem;font-weight:700;letter-spacing:-.01em}
.svc6 span{font-size:.82rem;color:var(--ink-2)}
.ptiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.ptier{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:18px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-1)}
.ptier .k{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.ptier h3{font-size:1.2rem;font-weight:700}
.ptier .aud{font-size:.84rem;color:var(--ink-2)}
.ptier ul{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px;font-size:.84rem;color:var(--ink-2)}
.ptier li{display:flex;gap:8px;align-items:baseline}
.ptier li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber);flex:none;transform:translateY(-2px)}
.pfeat{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.pfeat div{border-radius:12px;background:var(--sunken);padding:14px 16px;font-size:.84rem;color:var(--ink-2)}
.pfeat b{display:block;color:var(--ink);font-size:.9rem;margin-bottom:3px}
@media(max-width:980px){.svc6,.ptiers{grid-template-columns:1fr 1fr}.pfeat{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.svc6,.ptiers,.pfeat{grid-template-columns:1fr}}

/* ---------- resources ---------- */
.resgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:30px}
.resgrid a{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:18px;text-decoration:none;color:var(--ink);transition:border-color var(--t)}
.resgrid a:hover{border-color:var(--line-3)}
.resgrid .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.resgrid b{font-size:1rem;font-weight:700;letter-spacing:-.01em}
.resgrid span{font-size:.84rem;color:var(--ink-2)}
@media(max-width:980px){.resgrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.resgrid{grid-template-columns:1fr}}

/* ---------- footer trust strip ---------- */
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:30px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.tbadge{display:flex;gap:12px;align-items:center;border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;background:var(--paper)}
.tbadge .ti{flex:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font:700 .62rem var(--mono);background:var(--sunken);color:var(--amber);letter-spacing:.02em}
.tbadge .ti img{width:26px;height:20px;border-radius:2px}
.tbadge b{display:block;font-size:.88rem}
.tbadge span{font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.tbadge .prog{color:var(--flag)}
@media(max-width:980px){.trust-strip{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.trust-strip{grid-template-columns:1fr}}

/* mockup review marker */
.mock-note{display:inline-flex;gap:8px;align-items:center;font-family:var(--mono);font-size:.68rem;color:var(--ink-3);border:1px dashed var(--line-3);border-radius:8px;padding:6px 10px;margin-top:14px}
.review-bar{background:var(--ink);color:var(--paper);font:500 .72rem var(--mono);text-align:center;padding:8px 16px;letter-spacing:.02em}

/* v9 bug fixed: at phone width the nav's utility row (theme toggle, status, CTA) pushed the page 164px wide */
@media(max-width:760px){.nav-utility .status-dot,.nav-utility .btn{display:none}}

/* capability map: 34-scenario checklist scrolls beside the graph instead of out-growing it */
.v9cap [data-side] .panel:first-child{max-height:560px;overflow:auto;overscroll-behavior:contain}

/* mono brand marks (black artwork) flip for the dark theme wherever they appear */
html[data-theme="dark"] img.mono{filter:invert(1) brightness(1.6)}
/* compliance explorer: one-line publisher, evidence panel stays in view beside a long list */
.fwi span span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fwi>span{min-width:0}
.evc{position:sticky;top:96px}
@media(max-width:980px){.evc{position:static}}

/* ============================================================
   v11 additions
   ============================================================ */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:8px}
.skip:focus{left:12px}
.nav-links .top.on{color:var(--amber)}
/* mega-menu: groups side by side, one line of description under each link */
.dd.mega{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:6px 18px;min-width:max-content;padding:16px}
.dd.mega .mg{display:flex;flex-direction:column;gap:2px}
.dd.mega .mgh{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);padding:2px 10px 6px}
@media(max-width:1280px){.nav-utility .theme-tog{display:none}}

/* consistent reading measure: every section head and lead uses the same column */
.shead{text-align:left;max-width:760px}
.shead .lead{max-width:68ch}
.v9cap-sec .shead{text-align:left!important}
.v9cap-sec .shead .eyebrow{justify-content:flex-start!important}
.v9cap-sec .v9stat{justify-content:flex-start}
.page-head{padding-bottom:20px}
.h1{font-family:var(--serif);font-size:clamp(2.1rem,4.4vw,3.3rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:12px 0 0;text-wrap:balance}
p,li{text-wrap:pretty;hyphens:manual}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}

/* wide wordmarks sit on the page's own surface in both themes; a dark-ink wordmark swaps to its dark-mode twin */
.lchip.wide{padding:7px 12px}
.lchip.wide img{width:auto;height:15px}

/* hero: See / Protect / Prove switches what the console is showing */
.hero-tabs{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:100px;background:var(--paper);margin-bottom:12px}
.hero-tabs button{font:600 .72rem var(--sans);padding:4px 11px;border-radius:100px;border:0;background:none;color:var(--ink-2);cursor:pointer}
.hero-tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.finding{margin:12px 14px 0;border:1px solid var(--line-2);border-left:3px solid var(--amber);border-radius:10px;background:var(--paper);padding:10px 12px;display:flex;gap:10px;align-items:center}
.finding .fk{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.finding b{display:block;font-size:.88rem;line-height:1.35}
.finding span.fs{font-size:.76rem;color:var(--ink-3)}
.finding .go{margin-left:auto;font:600 .76rem var(--sans);color:var(--amber);white-space:nowrap;text-decoration:none}

/* where AI comes from */
.origin{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.origin div{border:1px solid var(--line);border-radius:14px;background:var(--bg);padding:16px 18px}
.origin .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.origin b{display:block;font-size:1rem;margin-top:4px}
.origin p{font-size:.86rem;color:var(--ink-2);margin-top:4px}
@media(max-width:860px){.origin{grid-template-columns:1fr}}

/* integrity v11: tabs, list of applications */
.em-h .tab{font:600 .8rem var(--sans);padding:7px 14px;border-radius:100px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer}
.em-h .tab.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ih{grid-template-columns:1.05fr .95fr}
.ih-claim .ih-tiles{grid-template-columns:repeat(5,1fr);margin-top:16px}
.ih-claim .ih-tile{padding:10px 12px}
.il{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.ilr{display:grid;grid-template-columns:64px minmax(180px,1.1fr) 2.4fr 120px;gap:14px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:10px 14px;cursor:pointer;color:var(--ink);font:inherit}
.ilr:hover,.ilr.on{border-color:var(--amber)}
.ila{display:flex;gap:4px}
.ila img{width:24px;height:24px;object-fit:contain}
.iln{display:flex;flex-direction:column;min-width:0}
.iln b{font-size:.92rem;font-weight:600}
.iln span{font-size:.74rem;color:var(--ink-3)}
.ilc{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
.ilp{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--ink-2)}
.ilc .arr{font-style:normal;color:var(--ink-4);font-size:.8rem}
.ils{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.68rem;font-weight:600;justify-self:end;white-space:nowrap}
.ils i{width:8px;height:8px;border-radius:2px}
@media(max-width:900px){.ilr{grid-template-columns:52px 1fr;}.ilc{grid-column:1/-1}.ils{grid-column:1/-1;justify-self:start}}
@media(max-width:620px){.ih-claim .ih-tiles{grid-template-columns:repeat(3,1fr)}}

/* shadow AI */
.shadow{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center;margin-top:30px}
.shadow>*{min-width:0}
.sv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sv div{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:12px 14px}
.sv .k{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}
.sv b{display:block;font-family:var(--serif);font-size:1.7rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.sv span.w{font-size:.76rem;color:var(--ink-3)}
.sankey{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:14px;box-shadow:var(--shadow-1)}
.sankey svg{display:block;width:100%;height:auto}
.sankey .sl{font-family:var(--sans);font-size:11px;fill:var(--ink)}
.sankey .sn{font-family:var(--mono);font-size:9.5px;fill:var(--ink-3)}
.sankey .sh{font-family:var(--mono);font-size:9px;letter-spacing:.14em;fill:var(--ink-3)}
.sankey path.f{fill-opacity:.28;transition:fill-opacity .15s}
.sankey path.f:hover{fill-opacity:.55}
.found{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
@media(max-width:980px){.shadow{grid-template-columns:1fr}}

/* footer badges: neutral seals with an asterisk, never the bodies' own marks */
.tbadge .seal{position:relative;flex:none;width:48px;height:48px;color:var(--ink-2)}
.tbadge .seal svg{width:48px;height:48px}
.tbadge .seal i{position:absolute;right:-3px;top:-4px;font-style:normal;font-weight:800;color:var(--flag);font-size:1.05rem}
.tbadge b sup{color:var(--flag)}
.star-note{grid-column:1/-1;font-size:.76rem;color:var(--ink-3);margin-top:2px}
.star-note sup{color:var(--flag)}

/* plans, feature matrix, radar, framework library */
.tiers3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.tier{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-1)}
.tier.pop{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber),var(--shadow-1)}
.tier .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.tier h3{font-size:1.4rem;font-weight:800;letter-spacing:-.02em}
.tier .word{font-weight:600}
.tier p{font-size:.88rem;color:var(--ink-2)}
.tier .seats{font-family:var(--mono);font-size:.72rem;color:var(--ink-3);margin-top:auto}
.fmx{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.fmx table{width:100%;border-collapse:collapse;min-width:640px;font-size:.86rem}
.fmx th,.fmx td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.fmx th{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);background:var(--sunken)}
.fmx td b{display:block;color:var(--ink)}
.fmx td span{font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}
.fmx td.mono{font-family:var(--mono);font-size:.74rem;white-space:nowrap}
.radar{display:flex;flex-direction:column;gap:6px;margin-top:22px}
.rad{display:grid;grid-template-columns:96px 104px 1fr;gap:14px;align-items:baseline;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);text-decoration:none;color:var(--ink)}
.rad:hover{border-color:var(--line-3)}
.rad .d{font-family:var(--mono);font-size:.74rem;color:var(--ink-3)}
.rad .t{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.rad .t.up{color:var(--amber)}
.rad .x{font-size:.9rem}
.fwgroup{margin-top:26px}
.fwgroup h3{display:flex;align-items:center;gap:10px;font-size:1.05rem;margin-bottom:10px}
.fwgroup h3 img,.fwi img.fl{width:24px;height:18px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
a.fwi{text-decoration:none}
.fwi.road{cursor:default;border-style:dashed}
.fwi.road .n{color:var(--flag)}
.evrow .ref{font-family:var(--mono);font-size:.72rem;color:var(--ink-3);margin-right:6px}
.faq{display:flex;flex-direction:column;gap:8px;margin-top:22px;max-width:900px}
.faq details{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:14px 18px}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin-top:8px;color:var(--ink-2);font-size:.92rem}
@media(max-width:980px){.tiers3{grid-template-columns:1fr}.rad{grid-template-columns:1fr;gap:2px}}

/* the Kapālins mark inside the five mode diagrams follows the theme */
.mc-svg .km-dark{display:none}
html[data-theme="dark"] .mc-svg .km-light{display:none}
html[data-theme="dark"] .mc-svg .km-dark{display:inline}
/* the v11 two-column .ih rule above must not outrank its own phone layout */
@media(max-width:980px){.ih{grid-template-columns:1fr}.ih-kinds{min-width:0}}
/* five ways in: three across, then two wider — no empty slot */
/* five ways in: one row of five equal cards on a desktop */
.modegrid.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.modegrid.five .mc-b h3{font-size:1.02rem}
.modegrid.five .mc-b p{font-size:.84rem}
@media(max-width:1100px){.modegrid.five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.modegrid.five{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.modegrid.five{grid-template-columns:1fr}}
@media(max-width:620px){.modegrid.five{grid-template-columns:1fr}}
.caplist{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:24px}
.capp{background:var(--paper);padding:16px 18px;min-width:0}
.capp h3{font-size:1rem;font-weight:700}
.capp ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:5px;font-size:.86rem;color:var(--ink-2)}
.capp .beta{font-family:var(--mono);font-size:.6rem;color:var(--slate);border:1px solid currentColor;border-radius:4px;padding:0 4px;margin-left:4px}
@media(max-width:980px){.caplist{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.caplist{grid-template-columns:1fr}}
.fmx .rung{display:inline-block;font-family:var(--mono);font-size:.68rem;padding:2px 8px;border-radius:100px;border:1px solid var(--line-2)}
.fmx .r-basic{color:var(--slate)}
.fmx .r-full{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,transparent)}
.fmx .r-assure{color:var(--allow);border-color:color-mix(in srgb,var(--allow) 40%,transparent)}
.fmx .rung.none{border:0;color:var(--ink-4)}

/* ---------- v12 Shadow AI console (port of ShadowAiVerdict + ShadowAiEstate) ---------- */
.sx{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:28px}
.sx button{font:inherit;color:inherit;cursor:pointer}
.sx-verdict,.sx-map,.sx-box{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:18px;box-shadow:var(--shadow-1)}
.sx-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sx-head p{margin:0;color:var(--ink-2);font-size:.9rem}
.sx-head p b{font-family:var(--serif);font-size:1.7rem;font-weight:700;letter-spacing:-.03em;color:var(--ink);margin-right:4px;font-variant-numeric:tabular-nums}
.sx-pills{display:flex;gap:6px;flex-wrap:wrap}
.sx-pill{font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:100px;border:1px solid var(--line-2);color:var(--ink-3)}
.sx-pill.amber{color:var(--flag);border-color:color-mix(in srgb,var(--flag) 45%,transparent)}
.sx-pill.red{color:var(--block);border-color:color-mix(in srgb,var(--block) 45%,transparent)}
.sx-bar{display:flex;height:30px;border-radius:9px;overflow:hidden;margin-top:14px;gap:2px}
.sx-bar button{border:0;padding:0;display:flex;align-items:center;justify-content:center;min-width:0;transition:filter .15s}
.sx-bar button:hover,.sx-bar button:focus-visible{filter:brightness(1.12)}
.sx-bar span{font-size:.72rem;font-weight:700;color:#111;white-space:nowrap;overflow:hidden}
.sx-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}
.sx-legend button{background:none;border:0;padding:0;font-size:.78rem;color:var(--ink-3);text-align:left}
.sx-legend button b{color:var(--ink-2);font-weight:600}
.sx-legend i,.sx-sl i,.sx-meta i,.sx-state i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.sx-surf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}
.sx-surf button{text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:10px 12px;transition:border-color .15s}
.sx-surf button:hover,.sx-surf button:focus-visible{border-color:var(--amber)}
.sx-sl{display:block;font-size:.78rem;font-weight:600;color:var(--ink-2)}
.sx-surf b{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}
.sx-ss{display:block;font-size:.72rem;color:var(--ink-3);line-height:1.35}
.sx-gap{margin:12px 0 0;font-size:.8rem;color:var(--ink-2);border-left:3px solid var(--flag);background:color-mix(in srgb,var(--flag) 7%,transparent);padding:7px 12px;border-radius:0 8px 8px 0}
.sx-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.sx-mh{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.sx-mh h3,.sx-box h3{font-family:var(--serif);font-size:1.02rem;font-weight:700;margin:0;letter-spacing:-.01em}
.sx-mh p{margin:3px 0 0;font-size:.78rem;color:var(--ink-3)}
.sx-cuts{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:100px;background:var(--bg)}
.sx-cuts button{border:0;background:none;font-size:.74rem;font-weight:600;padding:4px 11px;border-radius:100px;color:var(--ink-2)}
.sx-cuts button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.sx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:8px}
.sx-gh{margin:12px 0 6px;font-size:.78rem;font-weight:600;color:var(--ink-2)}
.sx-gh:first-child{margin-top:0}
.sx-card{text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:10px 12px;display:flex;flex-direction:column;gap:5px;transition:border-color .15s,transform .15s}
.sx-card:hover,.sx-card:focus-visible{border-color:var(--amber);transform:translateY(-1px)}
.sx-card.reach{border-color:color-mix(in srgb,var(--block) 55%,transparent);background:color-mix(in srgb,var(--block) 5%,var(--bg))}
.sx-top{display:flex;align-items:center;gap:8px}
.sx-top b{font-size:.86rem;line-height:1.25}
.sx img,.sx-panel img{width:22px;height:22px;object-fit:contain;flex:none}
[data-theme="dark"] .sx img.mono,[data-theme="dark"] .sx-panel img.mono{filter:invert(1)}
.sx-gen{display:inline-flex;width:22px;height:22px;flex:none;color:var(--ink-2)}
.sx-gen svg{width:22px;height:22px}
.sx-tags{display:flex;gap:4px;flex-wrap:wrap}
.sx-tier{display:inline-block;font-size:.68rem;font-weight:600;padding:1px 7px;border-radius:100px;border:1px solid var(--line-2)}
.sx-prod{color:var(--block);border-color:var(--block)}
.sx-done{color:var(--allow);border-color:var(--allow)}
.sx-meta{font-size:.74rem;color:var(--ink-3)}
.sx-rail{display:grid;gap:14px}
.sx-cov{display:flex;align-items:center;gap:12px;margin-top:10px}
.sx-cov svg{width:56px;height:56px;flex:none}
.sx-cov span{font-size:.8rem;color:var(--ink-2);line-height:1.4}
.sx-cov b{font-family:var(--serif);font-size:1.2rem;color:var(--ink)}
.sx-cov span span{color:var(--ink-3);font-size:.74rem}
.sx-next{margin:10px 0 0;padding:0;list-style:none;counter-reset:nx;display:grid;gap:6px}
.sx-next li{counter-increment:nx;display:flex;gap:8px;align-items:flex-start}
.sx-next li::before{content:counter(nx);flex:none;width:20px;height:20px;border-radius:100px;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--flag) 16%,transparent);color:var(--flag)}
.sx-next li.bad::before{background:color-mix(in srgb,var(--block) 16%,transparent);color:var(--block)}
.sx-next button{background:none;border:0;padding:0;text-align:left;font-size:.8rem;color:var(--ink-2);line-height:1.4}
.sx-next button:hover{color:var(--amber)}
.sx-q{display:flex;flex-direction:column;gap:6px;padding:9px 0;border-bottom:1px solid var(--line)}
.sx-q:last-child{border-bottom:0;padding-bottom:0}
.sx-qn{display:flex;gap:8px;align-items:center}
.sx-qn b{display:block;font-size:.82rem}
.sx-qn span span{font-size:.72rem;color:var(--ink-3)}
.sx-qa,.sx-acts{display:flex;gap:6px;flex-wrap:wrap}
.sx-qa button,.sx-acts button{font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:100px;border:1px solid var(--line-2);background:var(--paper)}
.sx-qa button:first-child,.sx-acts button:first-child{border-color:var(--allow);color:var(--allow)}
.sx-qa button:nth-child(2),.sx-acts button:nth-child(2){border-color:var(--block);color:var(--block)}
.sx-qd{font-size:.74rem;font-weight:600;color:var(--allow)}
.sx-shade{position:fixed;inset:0;background:rgba(6,8,14,.42);z-index:1000}
.sx-panel{position:fixed;top:0;right:0;height:100vh;width:min(460px,94vw);overflow-y:auto;z-index:1001;background:var(--paper);border-left:1px solid var(--line-2);box-shadow:-12px 0 40px rgba(0,0,0,.18);padding:22px 22px 28px}
.sx-x{position:absolute;top:12px;right:14px;width:32px;height:32px;border-radius:100px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);font-size:1.2rem;line-height:1;cursor:pointer}
.sx-ph{display:flex;gap:12px;align-items:center;padding-right:40px}
.sx-ph img,.sx-ph .sx-gen,.sx-ph .sx-gen svg{width:34px;height:34px}
.sx-ph h4{font-family:var(--serif);font-size:1.2rem;font-weight:700;margin:0;letter-spacing:-.015em}
.sx-ph p{margin:4px 0 0;font-size:.8rem;color:var(--ink-3)}
.sx-sw{width:14px;height:34px;border-radius:5px;flex:none}
.sx-why{margin:14px 0 0;font-size:.9rem;color:var(--ink);line-height:1.5}
.sx-panel h5{font-size:.8rem;font-weight:600;color:var(--ink-3);margin:18px 0 6px}
.sx-r{display:flex;justify-content:space-between;gap:14px;font-size:.84rem;padding:6px 0;border-bottom:1px solid var(--line)}
.sx-r span:first-child{color:var(--ink-3)}
.sx-r span:last-child{color:var(--ink);text-align:right}
.sx-state{display:flex;gap:4px;font-size:.84rem;color:var(--ink-2);line-height:1.5;margin-bottom:6px}
.sx-state i{margin-top:5px;flex:none}
.sx-nx{margin:0 0 10px;font-size:.88rem;color:var(--ink)}
.sx-done-note{font-size:.82rem;color:var(--allow);margin:0}
.sx-foot{margin-top:18px;font-size:.74rem;color:var(--ink-3)}
.sx-list{display:grid;gap:6px}
.sx-list button{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:8px 10px;cursor:pointer;color:inherit;font:inherit}
.sx-list button:hover{border-color:var(--amber)}
.sx-list b{display:block;font-size:.84rem}
.sx-list span span{font-size:.74rem;color:var(--ink-3)}
@media(max-width:1100px){.sx-surf{grid-template-columns:repeat(3,minmax(0,1fr))}.sx-body{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.sx-surf{grid-template-columns:1fr 1fr}.sx-bar span{display:none}.sx-grid{grid-template-columns:1fr 1fr}}

/* ---------- v12 integrity passport, inside the application drill ---------- */
.pp{margin-top:18px;border:1px solid var(--line);border-radius:14px;background:var(--bg);padding:16px 18px}
.pp-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.pp-s{margin:4px 0 0;font-size:.84rem;color:var(--ink-2)}
.pp-d{font-size:.72rem;font-weight:600;color:var(--allow);border:1px solid var(--allow);border-radius:100px;padding:2px 9px;white-space:nowrap}
.pp-g{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px;margin-top:10px}
.pr{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;padding:6px 0;border-bottom:1px solid var(--line)}
.pr span:first-child{color:var(--ink-3)}
.pr span:last-child{color:var(--ink);text-align:right;font-weight:540}
.pp-nr{margin:6px 0 0;padding-left:18px;font-size:.84rem;color:var(--ink-2)}
.pp-ok,.pp-next{margin:6px 0 0;font-size:.86rem;color:var(--ink)}
.pp-chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.pp-chain>span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line-2);border-radius:10px;padding:7px 10px;background:var(--paper);font-size:.76rem}
.pp-chain>span.me{border-color:var(--amber)}
.pp-chain b{font-weight:600;color:var(--ink)}
.pp-chain code{font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.pp-chain i{font-style:normal;color:var(--ink-3)}
.pp-ex{margin:10px 0 0;font-size:.82rem;color:var(--ink-2);line-height:1.55}
@media(max-width:620px){.pp-g{grid-template-columns:1fr}}
.drill{scroll-margin-top:96px}
.sx-tier{white-space:nowrap}
@media(max-width:620px){.sx-cuts{display:flex;width:100%;overflow-x:auto}.sx-cuts button{white-space:nowrap;flex:1 0 auto;padding:4px 9px}}

/* ---------- v13 regulation history (insights + each framework page) ---------- */
.rh-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.rh-filter button{display:inline-flex;align-items:center;gap:7px;font:600 .78rem var(--sans);padding:6px 12px;border-radius:100px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);cursor:pointer}
.rh-filter button img{width:18px;height:13px;border-radius:2px}
.rh-filter button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.rh-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.rh{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:16px 18px;box-shadow:var(--shadow-1)}
.rh[hidden]{display:none}
.rh-solo{margin-top:20px}
.rh-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.rh-h img,.rh-uf img{width:22px;height:16px;border-radius:2px;flex:none}
.rh-h>span:not(.rh-last),.rh-uf>span{display:flex;flex-direction:column;min-width:0}
.rh-h b,.rh-uf b{font-family:var(--serif);font-size:1rem;font-weight:700;color:var(--ink)}
.rh-h b a,.rh-uf b a{color:inherit;text-decoration:none}
.rh-h b a:hover,.rh-uf b a:hover{color:var(--amber)}
.rh-h span span,.rh-uf span span{font-size:.76rem;color:var(--ink-3)}
.rh-last{margin-left:auto;font-size:.72rem;font-weight:600;color:var(--ink-3);border:1px solid var(--line-2);border-radius:100px;padding:2px 9px;white-space:nowrap}
.rh-tl{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line-2);display:grid;gap:10px}
.rh-e{position:relative}
.rh-e::before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:100px;background:var(--paper);border:2px solid var(--ink-3)}
.rh-e.k-adopted::before{border-color:var(--slate)}
.rh-e.k-in_force::before{border-color:var(--allow);background:var(--allow)}
.rh-e.k-amended::before{border-color:var(--gold)}
.rh-e.k-guidance::before{border-color:var(--slate-soft)}
.rh-e.up::before{border-color:var(--amber);background:var(--paper);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 22%,transparent)}
.rh-e time,.rh-up time{font-family:var(--mono);font-size:.74rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.rh-k{margin-left:8px;font-size:.74rem;font-weight:600;color:var(--ink-3)}
.rh-e.up .rh-k{color:var(--amber)}
.rh-e p{margin:2px 0 0;font-size:.86rem;color:var(--ink);line-height:1.45}
.rh-src{font-size:.74rem;color:var(--ink-3);text-decoration:none;white-space:nowrap;border-bottom:1px dotted var(--ink-4)}
.rh-src:hover{color:var(--amber);border-color:var(--amber)}
.rh-up{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden}
.rh-up li{display:grid;grid-template-columns:112px minmax(0,240px) minmax(0,1fr);gap:16px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line)}
.rh-up li:last-child{border-bottom:0}
.rh-up time{color:var(--amber);font-weight:500}
.rh-uf{display:flex;align-items:center;gap:10px}
.rh-up p{margin:0;font-size:.86rem;color:var(--ink)}
.rh-up .rh-k{margin:0 6px 0 0;color:var(--ink-3)}
@media(max-width:900px){.rh-list{grid-template-columns:minmax(0,1fr)}.rh-up li{grid-template-columns:minmax(0,1fr);gap:4px}}
.rh-e.k-lapsed::before{border-color:var(--block)}
.rh-e.k-sunset::before{border-color:var(--flag)}
