/* AEACUS arena dashboard: judge card, arena panel, index, rite, veil,
   laurel studio, token simulation and the licensed-data band. */
.hero{position:relative;z-index:10;padding:6px 20px 0}
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,470px),1fr));gap:46px;align-items:center;padding:26px 0 46px}
.hero h1{font-family:var(--disp);font-weight:500;font-size:clamp(52px,7.2vw,104px);line-height:.85;letter-spacing:.01em;text-transform:uppercase;color:var(--org);margin-top:18px}
.hero h1 span{display:block}
.hero h1 span:nth-child(2){color:var(--fg)}
.hero .lead{color:var(--fg2);font-size:17px;max-width:34em;margin-top:20px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.ca{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;font-family:var(--mono);font-size:11px;color:var(--fg3)}
.ca b{color:var(--fg);letter-spacing:.08em}
.ca button{color:var(--org);text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}
.chips button{padding:5px 11px;border:1px solid var(--line2);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);transition:all .2s}
.chips button.on{background:var(--org-solid);border-color:var(--org-solid);color:#fff}
[data-theme="mist"] .chips button.on,[data-theme="mist"] .seg button.on{color:#fff}

/* judge card */
.jcard{position:relative;border:1px solid var(--line2);background:var(--bg2)}
.jcard::after{content:"";position:absolute;inset:5px;border:1px solid var(--line);pointer-events:none}
.j-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}
.j-top b{color:var(--fg);font-weight:500}
.tag{padding:3px 9px;border:1px solid var(--org);color:var(--org);font-size:9px;letter-spacing:.12em}
.j-sealed{margin:16px 16px 0;padding:14px;border:1px dashed var(--line2);background:var(--bg3);display:flex;flex-direction:column;gap:8px}
.bl{height:8px;background:var(--line2);opacity:.55;filter:blur(1.2px)}
.j-note{margin:9px 16px 0;font-size:12.5px;color:var(--fg3)}
.rows{margin:16px;display:flex;flex-direction:column;gap:10px}
.rows .row{display:grid;grid-template-columns:88px minmax(0,1fr) 54px;gap:12px;align-items:center}
.rows .row .name{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg2)}
.rows .row .dot{width:6px;height:6px;background:var(--line2)}
.rows .row.bad .dot{background:var(--org)}
.rows .row.good .dot{background:var(--teal)}
.bar{height:5px;background:var(--bg3);border:1px solid var(--line);overflow:hidden}
.bar i{display:block;height:100%;width:100%;background:var(--org);transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease)}
.rows .row.good .bar i{background:var(--teal)}
.v{justify-self:end;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3)}
.rows .row.bad .v{color:var(--org)}.rows .row.good .v{color:var(--teal)}
.rows .row.bad .v,.rows .row.good .v{opacity:1}
.stamp{margin:0 16px 16px;padding:12px 14px;border:1px solid var(--org);background:color-mix(in srgb,var(--org) 8%,transparent);display:flex;gap:12px;align-items:center;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s}
.stamp.on{opacity:1;transform:none}
.stamp b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--org)}
.stamp small{color:var(--fg2);font-size:12px}

/* marquee */
.marq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);overflow:hidden;padding:11px 0}
.marq-track{display:flex;gap:40px;width:max-content;animation:mq 46s linear infinite;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}
.marq:hover .marq-track{animation-play-state:paused}
.marq-track span{display:flex;align-items:center;gap:40px;white-space:nowrap}
.marq-track i{width:5px;height:5px;background:var(--org);display:inline-block}
@keyframes mq{to{transform:translateX(-50%)}}

/* arena */
.arena-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;margin-top:38px;align-items:start}
.arena-grid .card{border:1px solid var(--line2);background:var(--card)}
.case{padding:16px 14px 14px}
.case h3{font-family:var(--disp);font-weight:500;font-size:30px;text-transform:uppercase;line-height:.95}
.case .meta{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);margin-top:6px}
.case p{color:var(--fg2);font-size:14px;margin-top:12px;transition:filter .5s,opacity .5s}
.case.sealed p{filter:blur(4px);user-select:none}
.case .summon{margin-top:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.case .note{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}
.arena-grid .card-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3)}
.arena-grid .card-h b{color:var(--fg);font-weight:500}
.arena-grid .seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line2);margin:14px 14px 0;height:auto}
.arena-grid .seg button{height:34px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);border-right:1px solid var(--line2)}
.arena-grid .seg button:last-child{border-right:0}
.arena-grid .seg button.on{background:var(--org-solid);color:#fff;font-weight:600}
[data-theme="mist"] .arena-grid .seg button.on{color:#fff}
.panel{padding:0 0 14px}
.prow{display:grid;grid-template-columns:72px minmax(0,1fr) 50px;gap:12px;align-items:center;margin:12px 14px 0;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);transition:opacity .3s}
.prow.on{opacity:1}
.prow .bar i{background:var(--org)}
.prow.good .bar i{background:var(--teal)}
.prow .pv{text-align:right;font-size:9px}
.prow.bad .pv{color:var(--org)}.prow.good .pv{color:var(--teal)}
.truth{position:relative;margin:14px;padding:12px;border:1px solid var(--line2);background:var(--bg3);font-size:13px;color:var(--fg2);overflow:hidden}
.truth b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--org);margin-bottom:5px}
.truth.sealed span{filter:blur(5px);user-select:none}
.truth.sealed::after{content:"SEALED UNTIL JUDGED";position:absolute;inset:0;display:grid;place-items:center;background:rgba(15,10,26,.9);font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--org)}
[data-theme="mist"] .truth.sealed::after{background:rgba(244,241,251,.92)}

/* unreplaced index */
.index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;margin-top:38px;align-items:start}
.ix{border:1px solid var(--line2);background:var(--card);padding:20px;display:flex;flex-direction:column;gap:15px}
.ix-row{display:grid;grid-template-columns:1fr auto;gap:7px 14px;align-items:center}
.ix-row .lab{font-weight:500;font-size:15px}
.ix-row .val{font-family:var(--mono);font-size:11px;color:var(--org)}
.ix-bar{grid-column:1/-1;height:8px;background:var(--bg3);border:1px solid var(--line);overflow:hidden}
.ix-bar i{display:block;height:100%;width:0;background:var(--org);transition:width 1.3s var(--ease)}
.ix-note{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);margin-top:4px;line-height:1.7}
.radar-card{border:1px solid var(--line2);background:var(--card);padding:18px}
.radar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3)}
.radar-legend i{width:9px;height:9px;display:inline-block;margin-right:6px;vertical-align:-1px}

/* rite + tiers */
.rite-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));border:1px solid var(--line);margin-top:38px;background:var(--card)}
.step{padding:20px;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
.step .n{font-family:var(--disp);font-size:44px;color:var(--org);line-height:.9}
.step h3{font-family:var(--disp);font-weight:500;font-size:27px;text-transform:uppercase;margin-top:10px}
.step p{color:var(--fg2);font-size:14px;margin-top:8px}
.step small{display:block;margin-top:12px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;margin-top:16px}
.tier{border:1px solid var(--line2);background:var(--card);padding:20px}
.tier h3{font-family:var(--disp);font-weight:500;font-size:30px;text-transform:uppercase;color:var(--fg);transition:color .2s}
.tier .mult{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--org);margin-top:4px}
.tier p{color:var(--fg2);font-size:14px;margin-top:10px}
/* inside the orange panel the cards stay opaque so every label keeps contrast */
.org .tier{border-color:rgba(255,255,255,.25)}
.org .tier.top{border-color:#c4b5fd;background:color-mix(in srgb,var(--org) 10%,var(--card));box-shadow:inset 0 0 0 1px #c4b5fd}
.org .tier.top .mult{color:var(--org)}

/* veil of lethe */
.veil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;margin-top:38px;align-items:start}
.doc{border:1px solid var(--line2);background:var(--card);padding:22px}
.doc h3{font-family:var(--disp);font-weight:500;font-size:29px;text-transform:uppercase;line-height:.95}
.doc .meta{margin-top:7px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);line-height:1.9}
.doc p{color:var(--fg2);font-size:14.5px;margin-top:12px}
.pii{position:relative;display:inline-block}
.pii::after{content:"";position:absolute;left:-2px;top:1px;bottom:1px;width:calc(100% + 4px);background:var(--fg);transform:scaleX(var(--veil,0));transform-origin:left;transition:transform .12s linear}
.veil-ctl{padding:14px;border:1px solid var(--line);background:var(--bg3)}
.veil-ctl label{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3);margin-bottom:8px}
.veil-ctl label b{color:var(--org)}
input[type="range"]{width:100%;accent-color:var(--org)}
.veil-note{font-size:12.5px;color:var(--fg3);margin-top:10px;line-height:1.7}
.veil-grid .legend{display:grid;gap:7px;font-size:13px}
.veil-grid .legend div{display:flex;align-items:center;gap:8px}
.veil-grid .legend i{width:9px;height:9px;flex:none}

/* laurel studio */
.laurel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:16px;margin-top:38px;align-items:start}
.studio{border:1px solid var(--line2);background:var(--card);padding:18px}
.studio label{display:block;margin-bottom:11px}
.studio label span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);margin-bottom:5px}
.studio input,.studio select{width:100%;height:40px;padding:0 11px;border:1px solid var(--line2);background:var(--bg3);color:var(--fg);font-family:var(--mono);font-size:12px;outline:0}
.studio input:focus,.studio select:focus{border-color:var(--org)}
.studio .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.canvas-wrap{border:1px solid var(--line2);background:var(--bg3);padding:14px;display:grid;place-items:center}
#laurelCanvas{width:100%;max-width:360px;height:auto;border:1px solid var(--line2)}

/* token */
.token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px;margin-top:38px;align-items:start}
.sim{border:1px solid var(--line2);background:var(--card);padding:18px}
.sim h3{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}
.sim .val{font-family:var(--disp);font-size:46px;line-height:1;margin-top:6px;color:var(--org)}
.sim .val small{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--fg3);margin-left:6px}
.sim-list{margin-top:14px;display:flex;flex-direction:column}
.sim-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;font-size:13px;padding:8px 0;border-top:1px dashed var(--line)}
.sim-row span:first-child{color:var(--fg2)}
.sim-row b{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--fg)}
.sim-row em{font-family:var(--mono);font-size:9.5px;color:var(--fg3);font-style:normal}
.donut-wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap;border:1px solid var(--line2);background:var(--card);padding:18px}
.donut{width:180px;height:180px;border-radius:50%;background:conic-gradient(var(--org-solid) 0 50%,#a78bfa 50% 65%,var(--cream) 65% 78%,var(--teal) 78% 90%,var(--ok) 90% 97%,#c4b5fd 97% 100%);position:relative;flex:none}
.donut::after{content:"";position:absolute;inset:24px;border-radius:50%;background:var(--card)}
.donut span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);z-index:1;padding:38px}
.token-grid .legend{display:grid;gap:7px;font-size:13px}
.token-grid .legend div{display:flex;align-items:center;gap:8px}
.token-grid .legend i{width:9px;height:9px;flex:none}
.token-grid .legend b{font-family:var(--mono);font-size:9.5px;color:var(--fg3);font-weight:400;margin-left:auto}
.mech{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin-top:16px}
.mech div{border:1px solid var(--line);background:var(--card);padding:14px}
.mech h4{font-family:var(--disp);font-weight:500;font-size:21px;text-transform:uppercase;color:var(--org)}
.mech p{font-size:12.5px;color:var(--fg2);margin-top:5px}

/* every box answers the cursor with colour */
.tier,.mech div,.doc,.studio,.sim,.ix,.radar-card,.arena-grid .card,.jcard,.stat,.trio>div,.tk-g>div{
  transition:background-color .25s var(--ease),border-color .25s var(--ease),box-shadow .3s var(--ease)
}
.tier:hover,.tier:focus-within,
.mech div:hover,.mech div:focus-within,
.doc:hover,.doc:focus-within,
.studio:hover,.studio:focus-within,
.sim:hover,.sim:focus-within,
.ix:hover,.ix:focus-within,
.radar-card:hover,
.arena-grid .card:hover,.arena-grid .card:focus-within,
.jcard:hover,.jcard:focus-within,
.trio>div:hover,.trio>div:focus-within,
.tk-g>div:hover,.tk-g>div:focus-within{
  border-color:var(--org);
  background:color-mix(in srgb,var(--org) 10%,var(--card));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--org) 45%,transparent),0 14px 34px rgba(0,0,0,.28)
}
.tier:hover h3,.tier:focus-within h3,
.trio>div:hover h3,.trio>div:focus-within h3,
.doc:hover h4,.doc:focus-within h4,
.ix:hover .lab,.ix:focus-within .lab{color:var(--org)}

/* licensed data band */
.labs{background:var(--org2);color:#f7f5ff;padding:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:32px;align-items:center;position:relative;overflow:hidden}
.labs h2{font-family:var(--disp);font-weight:500;font-size:clamp(36px,4.6vw,64px);line-height:.88;text-transform:uppercase;color:#fff}
.labs h2 em{font-style:normal;color:#e9e4ff;opacity:.92}
.labs p{color:rgba(255,255,255,.88);margin-top:12px;max-width:34em;font-size:15px}
.labs .row{display:flex;gap:10px;flex-wrap:wrap}
.labs .btn-dark{background:#0a0614;color:#c4b5fd}
.labs .btn-line{border:1px solid rgba(255,255,255,.5);color:#fff}
.labs .btn-line:hover{background:rgba(255,255,255,.14)}

@media(max-width:900px){
  .step{border-right:0;border-bottom:1px solid var(--line)}
  .step:last-child{border-bottom:0}
  .labs{padding:28px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}}
@media print{
  .marq,.chips,.ca,.hero-cta,.labs .row{display:none!important}
  .jcard,.card,.tier,.doc,.studio,.sim,.donut-wrap,.ix,.radar-card{border-color:#999;background:#fff;color:#000}
  .hero h1,.sec h2,.sim .val{color:#000}
}
