/* esports-hud — dark slate-teal HUD: angular clip-path panels, scanline grid, left icon rail, monospace readouts */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#081215;--bg2:#0c1a1e;--panel:#0f2127;--panel2:#132a31;--line:#1f3d45;--line2:#2b5560;
  --ink:#dcebec;--ink2:#a9c3c6;--muted:#7f9ea2;--teal:#3fd2c0;
  --mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,'Liberation Mono',monospace;
  --display:'Chakra Petch',var(--font);
  --cut:14px;--rail:84px;
  --hl:color-mix(in srgb,var(--accent) 82%,#fff);
  --pri-soft:color-mix(in srgb,var(--primary) 22%,transparent);
}
html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);color:var(--ink);line-height:1.6;font-size:1rem;overflow-x:hidden;min-height:100vh;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),
    linear-gradient(rgba(63,210,192,.045) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg,rgba(63,210,192,.045) 1px,transparent 1px) 0 0/44px 44px,
    radial-gradient(1000px 520px at 85% -10%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 70%),
    radial-gradient(800px 500px at 0% 40%,rgba(63,210,192,.07),transparent 70%),
    var(--bg);
  background-attachment:fixed;
}
a{color:var(--hl)}
img{max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:var(--display);line-height:1.15;letter-spacing:.01em;color:#f2fbfb}
.hx-mono{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--muted)}
.hx-center{text-align:center;margin-top:22px}

/* ---------- buttons ---------- */
.hx-btn{--c:8px;display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:42px;padding:.55em 1.2em;font-family:var(--display);font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));transition:filter .15s,background .15s}
.hx-btn-primary{background:var(--primary);color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.hx-btn-primary:hover{filter:brightness(1.12)}
.hx-btn-ghost{background:linear-gradient(var(--panel2),var(--panel2)) padding-box,linear-gradient(135deg,var(--accent),var(--line2)) border-box;border:1px solid transparent;color:var(--ink)}
.hx-btn-ghost:hover{background:linear-gradient(var(--line),var(--line)) padding-box,linear-gradient(135deg,var(--accent),var(--line2)) border-box}
.hx-btn-lg{min-height:50px;padding:.7em 1.6em;font-size:1rem;--c:12px}
.hx-btn-block{display:flex;width:100%}

/* ---------- panels ---------- */
.hx-panel{position:relative;background:linear-gradient(180deg,var(--panel2),var(--panel)) padding-box,linear-gradient(160deg,var(--line2),var(--line) 40%,var(--line)) border-box;border:1px solid transparent;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.hx-panel::after{content:"";position:absolute;left:0;top:0;width:calc(var(--cut) + 10px);height:calc(var(--cut) + 10px);background:linear-gradient(135deg,var(--accent) 0 calc(var(--cut) * .72),transparent 0);pointer-events:none;opacity:.9}

/* ---------- rail ---------- */
.hx-rail{position:fixed;z-index:30;left:0;top:0;bottom:0;width:var(--rail);display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:12px 8px;background:rgba(7,16,19,.94);border-right:1px solid var(--line);backdrop-filter:blur(6px)}
.hx-rail-logo{display:grid;place-items:center;height:56px;margin-bottom:10px;color:var(--accent);font-size:1.6rem;text-decoration:none}
.hx-rail-logo svg{width:40px;height:40px}
.hx-rail-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;color:var(--muted);text-decoration:none;border-radius:4px;transition:color .15s,background .15s}
.hx-rail-item:hover{color:var(--ink);background:rgba(63,210,192,.06)}
.hx-rail-item[aria-current]{color:#fff;background:var(--pri-soft)}
.hx-rail-item[aria-current]::before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.hx-ico{display:grid;place-items:center;width:34px;height:34px;font-size:1.15rem;line-height:1;border:1px solid var(--line2);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.hx-rail-item[aria-current] .hx-ico{border-color:var(--accent);color:var(--accent)}
.hx-rail-lbl{font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.hx-rail-play{margin-top:auto;color:var(--ink)}
.hx-rail-play .hx-ico{background:var(--primary);border-color:var(--primary);color:#fff}

/* ---------- shell / top bar ---------- */
.hx-shell{padding-left:var(--rail);min-width:0}
.hx-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;min-height:58px;padding:8px 28px;background:rgba(8,18,21,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.hx-top::after{content:"";position:absolute;left:0;bottom:-1px;width:180px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
.hx-logo{display:flex;align-items:center;text-decoration:none;color:#fff;flex:none;min-width:0}
.logo-text{font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.logo-img{display:block;height:34px;width:auto}
.hx-status{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--line);white-space:nowrap}
.hx-status i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal)}
.hx-status b{color:var(--line2)}
.hx-top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.lang-switch{display:flex;gap:2px;font-family:var(--mono)}
.lang-switch a{font-size:.72rem;font-weight:700;color:var(--muted);text-decoration:none;padding:4px 7px;border:1px solid var(--line)}
.lang-switch a.active{color:var(--bg);background:var(--accent);border-color:var(--accent)}

.hx-main{max-width:1320px;margin:0 auto;padding:28px 28px 56px}

/* ---------- hero: mission briefing ---------- */
.hx-brief{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:stretch}
.hx-brief-main{--cut:22px;padding:42px 40px 38px;overflow:hidden}
.hx-brief-main::before{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;background:repeating-linear-gradient(45deg,var(--pri-soft) 0 2px,transparent 2px 12px);border-radius:50%;opacity:.8;pointer-events:none}
.hx-kicker{position:relative;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hl);margin-bottom:18px}
.hx-kicker b{color:var(--line2)}
.hx-blink{width:10px;height:10px;background:var(--accent);animation:hx-blink 1.2s steps(2) infinite}
@keyframes hx-blink{50%{opacity:.15}}
.hx-brief h1{position:relative;font-size:clamp(1.9rem,3.6vw,3.2rem);font-weight:700;text-transform:uppercase;max-width:22ch}
.hx-lead{position:relative;margin-top:16px;color:var(--ink2);font-size:1.05rem;max-width:60ch}
.hx-cta-row{position:relative;display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hx-objectives{list-style:none;padding:28px 22px 22px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.hx-objectives li{display:grid;grid-template-columns:auto auto 1fr;align-items:start;gap:10px;padding:12px 4px;border-bottom:1px dashed var(--line)}
.hx-objectives li:last-child{border-bottom:0}
.hx-obj-n{font-family:var(--mono);font-size:.72rem;color:var(--accent);padding-top:3px}
.hx-obj-box{width:16px;height:16px;margin-top:3px;border:1.5px solid var(--teal);position:relative}
.hx-obj-box::after{content:"";position:absolute;inset:3px;background:var(--teal)}
.hx-obj-t{font-size:.93rem;color:var(--ink)}
/* hero variants */
.hx-hero-center .hx-brief{grid-template-columns:1fr}
.hx-hero-center .hx-brief-main{text-align:center}
.hx-hero-center .hx-brief-main h1,.hx-hero-center .hx-lead{margin-left:auto;margin-right:auto}
.hx-hero-center .hx-kicker,.hx-hero-center .hx-cta-row{justify-content:center}
.hx-hero-center .hx-objectives{flex-direction:row;flex-wrap:wrap;padding:14px 18px}
.hx-hero-center .hx-objectives li{flex:1 1 220px;border-bottom:0;border-right:1px dashed var(--line)}
.hx-hero-center .hx-objectives li:last-child{border-right:0}
.hx-hero-banner .hx-brief{grid-template-columns:1fr}
.hx-hero-banner .hx-brief-main{padding:56px 48px;background:linear-gradient(110deg,color-mix(in srgb,var(--primary) 32%,var(--panel)),var(--panel) 60%) padding-box,linear-gradient(160deg,var(--primary),var(--line)) border-box}
.hx-hero-banner .hx-objectives{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px;padding:14px 22px}
.hx-hero-banner .hx-objectives li{border-bottom:0}

/* ---------- section heads ---------- */
.hx-sec{margin-top:56px}
.hx-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.hx-head h2{font-size:clamp(1.3rem,2.2vw,1.75rem);text-transform:uppercase;letter-spacing:.06em;min-width:0}
.hx-head h2::before{content:"";display:inline-block;width:10px;height:10px;margin-right:12px;vertical-align:middle;background:var(--accent);transform:rotate(45deg)}
.hx-head-line{flex:1;min-width:20px;height:1px;background:linear-gradient(90deg,var(--line2),transparent)}
.hx-head-meta{flex:none;text-decoration:none;white-space:nowrap}

/* ---------- games ---------- */
.hx-sectors{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:18px;scrollbar-width:thin}
.hx-sectors a{flex:none;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-family:var(--display);font-weight:500;font-size:.88rem;color:var(--ink);text-decoration:none;background:var(--panel);border:1px solid var(--line);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.hx-sectors a:hover{border-color:var(--accent);color:var(--hl)}
.hx-sectors .hx-mono{font-size:.68rem;color:var(--accent)}
.hx-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.hx-cols-3{grid-template-columns:repeat(4,minmax(0,1fr))}
.hx-cols-5{grid-template-columns:repeat(6,minmax(0,1fr))}
.hx-tile{--tc:16px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:1;min-height:0;text-decoration:none;color:#fff;overflow:hidden;
  background:
    linear-gradient(160deg,hsl(var(--h) 55% 30%),hsl(calc(var(--h) + 40) 50% 12%) 70%);
  clip-path:polygon(var(--tc) 0,100% 0,100% calc(100% - var(--tc)),calc(100% - var(--tc)) 100%,0 100%,0 var(--tc));
  transition:transform .18s,filter .18s}
.hx-tile::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border:1px solid hsl(var(--h) 60% 55% / .35);background:linear-gradient(135deg,var(--accent) 0 11px,transparent 0) top left/26px 26px no-repeat}
.hx-tile:hover{transform:translateY(-3px);filter:brightness(1.1)}
.hx-tile-art{position:absolute;inset:0;z-index:0;display:grid;place-items:center;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px),
    linear-gradient(hsl(var(--h) 70% 70% / .12) 1px,transparent 1px) 0 0/22px 22px,
    linear-gradient(90deg,hsl(var(--h) 70% 70% / .12) 1px,transparent 1px) 0 0/22px 22px,
    radial-gradient(circle at 50% 38%,hsl(var(--h) 85% 55% / .55),transparent 58%)}
.hx-tile-art span{margin-bottom:28%;display:grid;place-items:center;width:46%;aspect-ratio:1;font-family:var(--display);font-weight:700;font-size:clamp(1.3rem,2.6vw,2.1rem);text-transform:uppercase;letter-spacing:.04em;color:#fff;border:2px solid hsl(var(--h) 85% 70% / .8);background:hsl(var(--h) 60% 20% / .7);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);text-shadow:0 0 12px hsl(var(--h) 90% 60%)}
.hx-tile .ga-logo.ga-top{padding:14% 12% 40%}
.hx-tile-badge{position:absolute;z-index:2;top:10px;right:10px;font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.08em;padding:3px 7px;background:var(--primary);color:#fff}
.hx-badge-new{background:var(--accent);color:#111}
.hx-tile-foot{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px;padding:12px 12px 12px;background:linear-gradient(180deg,transparent,rgba(4,10,12,.88) 45%)}
.hx-tile-name{font-family:var(--display);font-weight:700;font-size:.95rem;line-height:1.2;text-transform:uppercase;letter-spacing:.03em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.hx-tile-cta{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--hl)}

/* ---------- loot (bonuses) ---------- */
.hx-loot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.hx-loot{--t:var(--primary);--cut:18px;position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 20px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--t) 16%,var(--panel2)),var(--panel) 55%) padding-box,linear-gradient(180deg,var(--t),var(--line) 60%) border-box;border:1px solid transparent;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.hx-tier-1{--t:var(--accent)}
.hx-tier-2{--t:var(--teal)}
.hx-tier-3{--t:#9b87f5}
.hx-loot-top{display:flex;justify-content:space-between;align-items:center}
.hx-loot-ico{display:grid;place-items:center;width:40px;height:40px;font-size:1.3rem;color:var(--t);border:1px solid var(--t);background:color-mix(in srgb,var(--t) 12%,transparent);transform:rotate(45deg)}
.hx-loot-amt{font-family:var(--display);font-size:1.45rem;font-weight:700;line-height:1.15;color:#fff;margin-top:6px;text-shadow:0 0 18px color-mix(in srgb,var(--t) 60%,transparent)}
.hx-loot h3,.hx-loot-title{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--t) 55%,#fff)}
.hx-loot p{color:var(--ink2);font-size:.92rem;flex:1}
.hx-loot small{display:block;padding:8px 10px;border-left:2px solid var(--t);background:rgba(0,0,0,.2);font-size:.72rem;line-height:1.45;color:var(--muted);margin-bottom:6px}

/* ---------- skills (features) ---------- */
.hx-skills{list-style:none;padding:10px 26px}
.hx-skill{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,32%);align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.hx-skill:last-child{border-bottom:0}
.hx-skill-n{font-size:1rem;color:var(--accent);width:34px}
.hx-skill h3{font-size:1.05rem;letter-spacing:.03em}
.hx-skill p{color:var(--ink2);font-size:.92rem;margin-top:2px}
.hx-bar{display:block;height:12px;background:repeating-linear-gradient(90deg,var(--line) 0 10px,transparent 10px 13px)}
.hx-bar i{display:block;height:100%;width:var(--w);background:repeating-linear-gradient(90deg,var(--accent) 0 10px,transparent 10px 13px);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 60%,transparent))}
.hx-skill:nth-child(even) .hx-bar i{background:repeating-linear-gradient(90deg,var(--teal) 0 10px,transparent 10px 13px)}

/* ---------- quest (how_to) ---------- */
.hx-quest{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative}
.hx-quest:not(.hx-quest-app)::before{content:"";position:absolute;left:8%;right:8%;top:34px;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 14px);z-index:0;opacity:.6}
.hx-stage{display:flex;flex-direction:column;padding:22px 20px 18px;z-index:1}
.hx-stage-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.hx-stage-n{flex:none;display:grid;place-items:center;width:46px;height:46px;font-family:var(--display);font-weight:700;font-size:1.4rem;color:var(--bg);background:var(--accent);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.hx-stage-n small{font-size:.6rem;opacity:.7}
.hx-stage h3,.hx-stage h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em}
.hx-stage ul{list-style:none;display:flex;flex-direction:column;gap:8px;flex:1;counter-reset:q}
.hx-stage li{counter-increment:q;position:relative;padding-left:34px;font-size:.92rem;color:var(--ink2)}
.hx-stage li::before{content:counter(q,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:var(--mono);font-size:.72rem;color:var(--teal);padding:1px 4px;border:1px solid var(--line2)}
.hx-checks li::before{content:"✓";color:var(--accent)}
.hx-stage-go{margin-top:16px;align-self:flex-start;font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--hl);border-bottom:1px dashed var(--hl);padding-bottom:2px}

/* ---------- terminal (article) ---------- */
.hx-term{border:1px solid var(--line2);background:rgba(4,11,13,.88);box-shadow:0 0 0 4px rgba(63,210,192,.04),0 20px 50px rgba(0,0,0,.35)}
.hx-term-bar{display:flex;align-items:center;gap:7px;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--panel)}
.hx-term-bar i{width:10px;height:10px;border:1px solid var(--line2)}
.hx-term-bar i:first-child{background:var(--primary);border-color:var(--primary)}
.hx-term-bar span{margin-left:10px;font-family:var(--mono);font-size:.74rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hx-term-body{padding:28px 32px 10px;max-width:880px}
.hx-term-body section{margin-bottom:26px}
.hx-term-body h2{font-family:var(--mono);font-size:1.08rem;font-weight:700;color:var(--hl);letter-spacing:0;margin-bottom:10px}
.hx-term-body h2 span{color:var(--teal)}
.hx-term-body p{color:var(--ink2);margin-bottom:12px;max-width:75ch}
.hx-term-body section:last-child p:last-child::after{content:"";display:inline-block;width:.55em;height:1.05em;margin-left:4px;vertical-align:text-bottom;background:var(--teal);animation:hx-blink 1s steps(2) infinite}

/* ---------- faq ---------- */
.faq h2{font-size:clamp(1.3rem,2.2vw,1.75rem);text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px}
.faq h2::before{content:"?";display:inline-grid;place-items:center;width:30px;height:30px;margin-right:12px;font-family:var(--mono);font-size:1rem;color:var(--bg);background:var(--accent);vertical-align:middle;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.faq details{margin-bottom:8px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line2);transition:border-color .15s}
.faq details[open]{border-left-color:var(--accent);background:var(--panel2)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;font-weight:600;font-size:.98rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"[+]";flex:none;font-family:var(--mono);font-size:.82rem;color:var(--teal)}
.faq details[open] summary::after{content:"[−]";color:var(--accent)}
.faq details p{padding:0 18px 16px;color:var(--ink2);font-size:.94rem;max-width:85ch}

/* ---------- inner pages ---------- */
.hx-page{display:flex;flex-direction:column;gap:28px}
.hx-page-narrow{max-width:960px}
.hx-page-head h1{font-size:clamp(1.8rem,3.4vw,2.8rem);text-transform:uppercase;margin-top:8px}
.hx-crumb a{color:var(--hl);text-decoration:none}
.hx-app-head{--cut:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px 30px;padding:34px 36px}
.hx-app-head h1{font-size:clamp(1.8rem,3.4vw,2.8rem);text-transform:uppercase;margin-top:8px}
.hx-app-head .hx-btn{grid-column:1/-1;justify-self:start}
.hx-app-device{width:110px;height:190px;border:2px solid var(--line2);border-radius:18px;padding:10px;background:var(--bg2);grid-row:1}
.hx-app-device{grid-column:2}
.hx-app-device span{display:block;height:100%;border-radius:8px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px),linear-gradient(160deg,var(--primary),var(--accent))}
.hx-404{min-height:50vh;justify-content:center;align-items:center}
.hx-404-panel{--cut:26px;padding:48px 40px;text-align:center;width:min(640px,100%)}
.hx-404-code{display:block;color:var(--accent)}
.hx-404 h1{position:relative;font-size:clamp(5rem,16vw,9rem);line-height:1;margin:10px 0 6px;letter-spacing:.06em;text-shadow:3px 0 var(--primary),-3px 0 var(--teal)}
.hx-404 .hx-cta-row{justify-content:center}

/* ---------- footer ---------- */
.hx-foot{border-top:1px solid var(--line);background:rgba(6,14,17,.92);padding:36px 28px 26px}
.hx-foot-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:28px}
.hx-foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.hx-age{font-family:var(--mono);font-weight:700;font-size:.8rem;padding:4px 8px;border:1.5px solid var(--primary);color:#fff}
.hx-foot-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 18px;align-content:start}
.hx-foot-links a{color:var(--ink2);text-decoration:none;font-size:.9rem}
.hx-foot-links a::before{content:"▸ ";color:var(--teal)}
.hx-foot-links a:hover{color:var(--hl)}
.hx-foot-facts{display:flex;flex-direction:column;gap:8px}
.hx-foot-facts div{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;border:1px solid var(--line);font-size:.84rem}
.hx-foot-facts dt{color:var(--muted)}
.hx-foot-facts dd{font-family:var(--mono);color:var(--ink);text-align:right}
.hx-disc{max-width:1320px;margin:26px auto 0;font-size:.8rem;color:var(--muted);line-height:1.55}
.hx-copy{max-width:1320px;margin:14px auto 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:.74rem;color:var(--muted);padding-top:14px;border-top:1px dashed var(--line)}

/* ---------- responsive ---------- */
@media (max-width:1200px){
  .hx-grid,.hx-cols-5{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hx-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1023px){
  :root{--rail:0px}
  body{padding-bottom:66px}
  .hx-rail{top:auto;right:0;bottom:0;width:auto;height:64px;flex-direction:row;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);gap:2px}
  .hx-rail-logo,.hx-rail-faq{display:none}
  .hx-rail-item{flex:1;min-width:0;padding:4px 2px;gap:2px}
  .hx-rail-item[aria-current]::before{left:12px;right:12px;top:-6px;bottom:auto;width:auto;height:3px}
  .hx-ico{width:28px;height:28px;font-size:1rem}
  .hx-rail-lbl{-webkit-line-clamp:1;font-size:.58rem}
  .hx-rail-play{margin-top:0}
  .hx-status{display:none}
  .hx-brief{grid-template-columns:1fr}
  .hx-grid.hx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hx-quest{grid-template-columns:1fr}
  .hx-quest:not(.hx-quest-app)::before{left:42px;right:auto;top:30px;bottom:30px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--accent) 0 8px,transparent 8px 14px)}
  .hx-foot-grid{grid-template-columns:1fr 1fr}
  .hx-foot-brand{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center}
}
@media (max-width:640px){
  .hx-top{padding:8px 14px;gap:10px}
  .hx-top .lang-switch,.hx-top .hx-btn-ghost{display:none}
  .hx-top .hx-btn{min-height:38px;padding:.45em .9em;font-size:.8rem}
  .logo-text{font-size:1.05rem}
  .hx-main{padding:18px 16px 40px}
  .hx-brief-main,.hx-hero-banner .hx-brief-main{padding:30px 20px 26px}
  .hx-cta-row .hx-btn{flex:1 1 100%}
  .hx-hero-center .hx-objectives li{flex-basis:100%;border-right:0}
  .hx-sec{margin-top:40px}
  .hx-grid.hx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hx-tile{--tc:12px}
  .hx-tile-name{font-size:.84rem}
  .hx-skills{padding:4px 16px}
  .hx-skill{grid-template-columns:auto minmax(0,1fr);gap:6px 12px}
  .hx-bar{grid-column:2}
  .hx-term-body{padding:20px 18px 6px}
  .hx-app-head{grid-template-columns:1fr;padding:26px 20px}
  .hx-app-device{display:none}
  .hx-404-panel{padding:36px 18px}
  .hx-foot{padding:28px 16px 20px}
  .hx-foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ---------- media library images ---------- */
.si.hx-visual{padding:8px;align-self:start}
.si.hx-visual img{border-radius:0;clip-path:polygon(calc(var(--cut) - 6px) 0,100% 0,100% calc(100% - var(--cut) + 6px),calc(100% - var(--cut) + 6px) 100%,0 100%,0 calc(var(--cut) - 6px))}
.si.hx-visual::before{content:"";position:absolute;inset:8px;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}
/* split: briefing left, visual + objectives stacked right */
.hx-brief--img{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.hx-brief--img:has(.hx-objectives) .hx-brief-main{grid-row:span 2}
.hx-brief--img .hx-objectives{justify-content:flex-start}
/* center / banner: briefing full width, visual + objectives below side by side */
.hx-hero-center .hx-brief--img,.hx-hero-banner .hx-brief--img{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.hx-hero-center .hx-brief--img .hx-brief-main,.hx-hero-banner .hx-brief--img .hx-brief-main{grid-column:1/-1;grid-row:auto}
.hx-hero-center .hx-brief--img .hx-objectives,.hx-hero-banner .hx-brief--img .hx-objectives{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:28px 22px 22px}
.hx-hero-center .hx-brief--img .hx-objectives li,.hx-hero-banner .hx-brief--img .hx-objectives li{flex:none;border-right:0;border-bottom:1px dashed var(--line)}
.hx-hero-center .hx-brief--img .hx-objectives li:last-child,.hx-hero-banner .hx-brief--img .hx-objectives li:last-child{border-bottom:0}
.hx-brief--img:not(:has(.hx-objectives)){grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.hx-hero-center .hx-brief--img:not(:has(.hx-objectives)),.hx-hero-banner .hx-brief--img:not(:has(.hx-objectives)){grid-template-columns:minmax(0,1fr)}
.hx-hero-center .hx-brief--img:not(:has(.hx-objectives)) .si.hx-visual,.hx-hero-banner .hx-brief--img:not(:has(.hx-objectives)) .si.hx-visual{width:100%;max-width:880px;justify-self:center}
.hx-hero-center .hx-brief--img .si.hx-visual,.hx-hero-banner .hx-brief--img .si.hx-visual{align-self:center}
.si.hx-banner{--cut:18px;margin-bottom:18px;padding:6px;border:1px solid var(--line2);background:var(--panel);clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.si.hx-banner img{border-radius:0}
.hx-page>.si.hx-banner{margin-bottom:0}
.hx-term-body .si.hx-article-img{margin:0 0 26px;padding:6px;border:1px solid var(--line2);background:var(--panel);max-width:75ch}
.si.hx-article-img img{border-radius:0}
.hx-shots{display:flex;justify-content:center;align-items:flex-start;gap:clamp(10px,3vw,30px)}
.hx-shots .si-app{flex:0 1 220px;min-width:0;padding:7px;border:2px solid var(--line2);border-radius:28px;background:var(--bg2);box-shadow:0 0 0 1px rgba(63,210,192,.08),0 16px 40px rgba(0,0,0,.4)}
.hx-shots .si-app:nth-child(2){border-color:var(--accent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 30%,transparent),0 16px 40px rgba(0,0,0,.4)}
.hx-shots .si-app img{border-radius:20px}
@media (max-width:1023px){
  .hx-brief--img,.hx-hero-center .hx-brief--img,.hx-hero-banner .hx-brief--img{grid-template-columns:1fr}
  .hx-brief--img .hx-brief-main,.hx-brief--img:has(.hx-objectives) .hx-brief-main{grid-row:auto;grid-column:auto}
  .hx-brief--img .si.hx-visual{width:100%;max-width:760px;justify-self:center}
}
@media (max-width:640px){
  .si.hx-visual{padding:5px}
  .si.hx-visual::before{inset:5px}
  .hx-shots{gap:8px}
  .hx-shots .si-app{padding:4px;border-radius:18px}
  .hx-shots .si-app img{border-radius:13px}
}
@media (min-width:1024px){.si.hx-banner img{aspect-ratio:3/1}}
