/* ============================================================
   AMBER FIELD TRAIL — Amber Noir Society
   Prefix: aft- | Fonts: Big Shoulders Display / Hanken Grotesk / Spline Sans Mono
   ============================================================ */

:root{
  --aft-carbon:#0a0807; --aft-graphite:#15110d; --aft-panel:#1b1611; --aft-panel-2:#241d15; --aft-blue:#0d1320;
  --aft-line:rgba(240,168,48,.14); --aft-line-2:rgba(240,168,48,.26); --aft-line-3:rgba(240,168,48,.4);
  --aft-amber:#f0a830; --aft-amber-2:#ffd07a; --aft-copper:#b07a3c; --aft-red:#d8342b;
  --aft-text:#f4ede2; --aft-muted:#b3a892; --aft-dim:#7a6f5e;
  --aft-grad:linear-gradient(120deg,#f0a830,#ffd07a);
  --aft-copper-grad:linear-gradient(120deg,#b07a3c,#f0a830);
  --aft-shadow:0 28px 76px rgba(0,0,0,.62);
  --aft-mono:'Spline Sans Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --aft-display:'Big Shoulders Display','Hanken Grotesk',sans-serif;
  --aft-body:'Hanken Grotesk',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

body{font-family:var(--aft-body);background:var(--aft-carbon);color:var(--aft-text)}
p{margin:0 0 15px}
.aft-wrap{max-width:1200px;margin:0 auto;padding:0 26px}
:focus-visible{outline:2px solid var(--aft-amber);outline-offset:3px;border-radius:4px}

.aft-sec{padding:120px 0;position:relative}
.aft-sec--tight{padding:76px 0}
.aft-sec--graphite{background:var(--aft-graphite);border-top:1px solid var(--aft-line);border-bottom:1px solid var(--aft-line)}
.aft-sec--blue{background:linear-gradient(180deg,#0c1119,#0a0807)}

/* kicker device: filled amber diamond + mono */
.aft-kick{display:inline-flex;align-items:center;gap:9px;font-family:var(--aft-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--aft-amber-2);margin-bottom:20px}
.aft-kick::before{content:"\25C6";color:var(--aft-amber);font-size:9px}
.aft-intro{max-width:680px;margin-bottom:54px}
.aft-intro.mid{margin-left:auto;margin-right:auto;text-align:center}
.aft-intro.mid .aft-kick{justify-content:center}
.aft-h2{font-family:var(--aft-display);font-weight:700;text-transform:uppercase;font-size:clamp(34px,5vw,62px);letter-spacing:.005em;line-height:.98}
.aft-sub{font-family:var(--aft-body);color:var(--aft-muted);font-size:18px;margin-top:16px;line-height:1.7;text-transform:none;letter-spacing:0}

/* buttons */
.aft-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--aft-body);font-weight:700;font-size:15px;padding:14px 26px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s ease,background .18s ease,border-color .18s ease;line-height:1;text-transform:uppercase;letter-spacing:.04em}
.aft-btn-fill{background:var(--aft-grad);color:#241402;box-shadow:0 14px 34px rgba(240,168,48,.26)}
.aft-btn-fill:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(255,208,122,.4);color:#241402}
.aft-btn-line{background:rgba(240,168,48,.05);color:var(--aft-text);border-color:var(--aft-line-2)}
.aft-btn-line:hover{transform:translateY(-2px);border-color:var(--aft-line-3);background:rgba(240,168,48,.1)}
.aft-btn-ghost{background:transparent;color:var(--aft-amber-2);padding-left:0;padding-right:0}
.aft-btn-ghost:hover{color:var(--aft-text)}
.aft-btn-red{background:var(--aft-red);color:#fff}
.aft-btn-red:hover{transform:translateY(-2px);filter:brightness(1.08);color:#fff}
.aft-btn-lg{padding:17px 32px;font-size:16px}
.aft-btn-sm{padding:9px 16px;font-size:13px}
.aft-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.aft-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* mobile drawer */
.aft-drawer{display:none;flex-direction:column;padding:12px 26px 22px;background:rgba(10,8,7,.99);border-bottom:1px solid var(--aft-line)}
.aft-drawer[hidden]{display:none}
.aft-drawer.open{display:flex}
.aft-drawer a{padding:12px 4px;color:var(--aft-muted);border-bottom:1px solid var(--aft-line);font-weight:600}
.aft-drawer a:hover{color:var(--aft-text)}

/* ============================================================
   1 · WELCOME THEATRE (layered storytelling panels in a frame)
   ============================================================ */
.aft-theatre{position:relative;overflow:hidden;padding:130px 0 96px;border-bottom:1px solid var(--aft-line)}
.aft-theatre-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.aft-theatre-bg .spot{position:absolute;left:50%;top:-22%;width:920px;height:620px;transform:translateX(-50%);background:radial-gradient(circle at 50% 30%,rgba(240,168,48,.22),rgba(240,168,48,.05) 44%,transparent 68%);filter:blur(6px)}
.aft-theatre-bg svg{position:absolute;left:0;bottom:0;width:100%;height:60%}
.aft-frame{position:relative;z-index:2;border:1px solid var(--aft-line-2);border-radius:8px;padding:54px;background:linear-gradient(180deg,rgba(27,22,17,.55),rgba(10,8,7,.35))}
.aft-frame::before,.aft-frame::after{content:"";position:absolute;width:22px;height:22px;border:2px solid var(--aft-amber)}
.aft-frame::before{left:-1px;top:-1px;border-right:0;border-bottom:0;border-radius:8px 0 0 0}
.aft-frame::after{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 8px 0}
.aft-theatre .tag{display:inline-flex;align-items:center;gap:9px;font-family:var(--aft-mono);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--aft-amber-2);border:1px solid var(--aft-line-2);border-radius:999px;padding:8px 16px;margin-bottom:26px;background:rgba(240,168,48,.05)}
.aft-theatre h1{font-family:var(--aft-display);font-weight:800;text-transform:uppercase;font-size:clamp(48px,8.4vw,108px);letter-spacing:.005em;line-height:.92;max-width:15ch}
.aft-theatre h1 em{font-style:normal;color:transparent;background:var(--aft-grad);-webkit-background-clip:text;background-clip:text}
.aft-theatre .lead{font-family:var(--aft-body);font-size:clamp(17px,1.9vw,21px);color:var(--aft-muted);max-width:60ch;margin:24px 0 0;text-transform:none}
.aft-stage{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.aft-stage .panel{background:linear-gradient(160deg,var(--aft-panel-2),var(--aft-graphite));border:1px solid var(--aft-line);border-radius:12px;padding:22px}
.aft-stage .panel:nth-child(2){transform:translateY(-16px)}
.aft-stage .panel .n{font-family:var(--aft-mono);font-size:11px;color:var(--aft-dim);text-transform:uppercase;letter-spacing:.12em}
.aft-stage .panel h3{font-family:var(--aft-display);font-weight:700;font-size:22px;text-transform:uppercase;margin:8px 0 6px}
.aft-stage .panel p{font-family:var(--aft-body);color:var(--aft-muted);font-size:14.5px;margin:0;text-transform:none}
@media(max-width:760px){.aft-stage{grid-template-columns:1fr}.aft-stage .panel:nth-child(2){transform:none}}

/* ============================================================
   2 · ENTERTAINMENT ATLAS (route track with dotted connectors)
   ============================================================ */
.aft-atlas{position:relative}
.aft-atlas-track{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.aft-atlas-track::before{content:"";position:absolute;left:7%;right:7%;top:34px;height:2px;background:repeating-linear-gradient(90deg,var(--aft-line-3) 0 8px,transparent 8px 16px);z-index:0}
.aft-stop{position:relative;z-index:1;text-align:center;padding:0 14px}
.aft-stop .dot{width:68px;height:68px;border-radius:50%;margin:0 auto 18px;border:1px solid var(--aft-line-2);background:radial-gradient(circle,rgba(240,168,48,.16),var(--aft-graphite));display:flex;align-items:center;justify-content:center;font-size:28px}
.aft-stop .num{font-family:var(--aft-mono);font-size:11px;letter-spacing:.16em;color:var(--aft-amber-2);text-transform:uppercase}
.aft-stop h3{font-family:var(--aft-display);font-weight:700;font-size:20px;text-transform:uppercase;margin:6px 0 7px}
.aft-stop p{font-family:var(--aft-body);color:var(--aft-muted);font-size:14px;margin:0;text-transform:none}
.aft-stop a{display:inline-block;margin-top:12px;color:var(--aft-amber-2);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:860px){.aft-atlas-track{grid-template-columns:1fr 1fr;gap:34px 0}.aft-atlas-track::before{display:none}}
@media(max-width:520px){.aft-atlas-track{grid-template-columns:1fr}}

/* ============================================================
   3 · FEATURED SOCIAL CASINO LOUNGE (floating game islands)
   ============================================================ */
.aft-islands{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.aft-island{position:relative;border:1px solid var(--aft-line-2);border-radius:20px;padding:34px;background:linear-gradient(155deg,var(--aft-panel),var(--aft-graphite));overflow:hidden;transition:transform .25s ease,border-color .25s ease;box-shadow:var(--aft-shadow)}
.aft-island::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 110% at 50% 0%,rgba(240,168,48,.13),transparent 56%);opacity:0;transition:opacity .3s ease}
.aft-island:hover{transform:translateY(-5px);border-color:var(--aft-line-3)}
.aft-island:hover::before{opacity:1}
.aft-island>*{position:relative;z-index:1}
.aft-island .glyph{font-size:46px}
.aft-island .k{font-family:var(--aft-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--aft-amber-2);margin-top:12px}
.aft-island h3{font-family:var(--aft-display);font-weight:800;font-size:33px;text-transform:uppercase;margin:6px 0 10px}
.aft-island p{font-family:var(--aft-body);color:var(--aft-muted);margin:0 0 22px;text-transform:none}
@media(max-width:820px){.aft-islands{grid-template-columns:1fr}}

/* ============================================================
   4 · VIRTUAL CREDIT BLUEPRINT (stepped framework)
   ============================================================ */
.aft-blueprint{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:center}
.aft-steps{display:grid;gap:14px}
.aft-step{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:center;padding:20px 22px;border:1px solid var(--aft-line);border-radius:14px;background:var(--aft-panel);position:relative}
.aft-step .si{width:54px;height:54px;border-radius:12px;background:var(--aft-copper-grad);color:#241402;display:flex;align-items:center;justify-content:center;font-family:var(--aft-display);font-weight:800;font-size:24px}
.aft-step h3{font-family:var(--aft-display);font-weight:700;font-size:19px;text-transform:uppercase;margin-bottom:4px}
.aft-step p{font-family:var(--aft-body);color:var(--aft-muted);font-size:14.5px;margin:0;text-transform:none}
.aft-blueprint-note{border-left:3px solid var(--aft-amber);padding:6px 0 6px 22px}
.aft-blueprint-note h3{font-family:var(--aft-display);font-weight:700;font-size:24px;text-transform:uppercase;margin-bottom:10px}
.aft-blueprint-note p{font-family:var(--aft-body);color:var(--aft-muted);text-transform:none;margin:0}
@media(max-width:860px){.aft-blueprint{grid-template-columns:1fr;gap:28px}}

/* ============================================================
   5 · SWISS PRECISION STUDIO
   ============================================================ */
.aft-studio{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--aft-line-2);background:linear-gradient(135deg,#1a1206,#0a0807);padding:62px 54px}
.aft-studio svg.contour{position:absolute;inset:0;width:100%;height:100%;opacity:.42}
.aft-studio .inner{position:relative;max-width:620px}
.aft-studio .cross{position:absolute;top:30px;right:34px;width:34px;height:34px}
.aft-studio .cross::before,.aft-studio .cross::after{content:"";position:absolute;background:var(--aft-red);border-radius:2px}
.aft-studio .cross::before{left:13px;top:4px;width:8px;height:26px}
.aft-studio .cross::after{left:4px;top:13px;width:26px;height:8px}

/* ============================================================
   6 · EXPERIENCE FRAMEWORK (modular grid, amber top-edge)
   ============================================================ */
.aft-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.aft-module{position:relative;background:var(--aft-panel);border:1px solid var(--aft-line);border-radius:16px;padding:28px;overflow:hidden}
.aft-module::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:var(--aft-grad);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.aft-module:hover::before{transform:scaleX(1)}
.aft-module .lab{font-family:var(--aft-mono);font-size:11px;letter-spacing:.14em;color:var(--aft-dim);text-transform:uppercase}
.aft-module .ic{font-size:25px;margin:10px 0 12px}
.aft-module h3{font-family:var(--aft-display);font-weight:700;font-size:20px;text-transform:uppercase;margin-bottom:7px}
.aft-module p{font-family:var(--aft-body);color:var(--aft-muted);font-size:14.5px;margin:0;text-transform:none}

/* ============================================================
   7 · PLAYER ACTIVITY PANORAMA (signal tiles + notes)
   ============================================================ */
.aft-signals{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.aft-signal{background:linear-gradient(160deg,var(--aft-panel-2),var(--aft-graphite));border:1px solid var(--aft-line);border-radius:14px;padding:24px 18px;text-align:center}
.aft-signal .v{font-family:var(--aft-display);font-weight:800;font-size:clamp(30px,3.6vw,44px);color:var(--aft-amber-2);line-height:1}
.aft-signal .k{font-family:var(--aft-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--aft-muted);margin-top:8px}
.aft-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.aft-note{background:var(--aft-panel);border:1px solid var(--aft-line);border-radius:14px;padding:24px}
.aft-note p{font-family:var(--aft-body);color:var(--aft-text);font-size:15px;margin:0 0 14px;text-transform:none}
.aft-note .who{display:flex;align-items:center;gap:11px}
.aft-note .who .av{width:34px;height:34px;border-radius:9px;background:var(--aft-grad);color:#241402;display:flex;align-items:center;justify-content:center;font-family:var(--aft-display);font-weight:800}
.aft-note .who .nm{font-family:var(--aft-body);font-size:13px;text-transform:none}
.aft-note .who .nm b{display:block}
.aft-note .who .nm span{color:var(--aft-dim);font-family:var(--aft-mono);font-size:11px}

/* generic cards */
.aft-grid{display:grid;gap:18px}
.aft-g2{grid-template-columns:repeat(2,1fr)}
.aft-g3{grid-template-columns:repeat(3,1fr)}
.aft-card{position:relative;background:var(--aft-panel);border:1px solid var(--aft-line);border-radius:16px;padding:28px;transition:transform .18s ease,border-color .18s ease}
.aft-card:hover{transform:translateY(-3px);border-color:var(--aft-line-2)}
.aft-card .ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:rgba(240,168,48,.1);border:1px solid var(--aft-line-2);margin-bottom:16px}
.aft-card h3{font-family:var(--aft-display);font-weight:700;font-size:20px;text-transform:uppercase;margin-bottom:8px}
.aft-card p{font-family:var(--aft-body);color:var(--aft-muted);margin:0;font-size:15px;text-transform:none}
a.aft-card{display:block}

/* 9 · PREMIUM CLUB BENEFITS (diamond-marker list, 2-col) */
.aft-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 40px}
.aft-benefit{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--aft-line)}
.aft-benefit .d{color:var(--aft-amber);font-size:13px;line-height:1.6}
.aft-benefit h3{font-family:var(--aft-display);font-weight:700;font-size:19px;text-transform:uppercase;margin-bottom:4px}
.aft-benefit p{font-family:var(--aft-body);color:var(--aft-muted);font-size:14.5px;margin:0;text-transform:none}
@media(max-width:760px){.aft-benefits{grid-template-columns:1fr}}

/* 10 · MEMBER JOURNEY TIMELINE */
.aft-timeline{position:relative;max-width:760px;margin:0 auto;padding-left:34px}
.aft-timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--aft-amber),var(--aft-copper),transparent)}
.aft-milestone{position:relative;padding:0 0 30px 8px}
.aft-milestone::before{content:"";position:absolute;left:-31px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--aft-amber);box-shadow:0 0 0 4px rgba(240,168,48,.18)}
.aft-milestone .t{font-family:var(--aft-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--aft-amber-2)}
.aft-milestone h3{font-family:var(--aft-display);font-weight:700;font-size:21px;text-transform:uppercase;margin:5px 0 6px}
.aft-milestone p{font-family:var(--aft-body);color:var(--aft-muted);margin:0;text-transform:none}

/* 11 · PAVILION / 14 · GALLERY */
.aft-pavilion{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--aft-line-2);padding:58px;background:linear-gradient(140deg,#1a1206,#0a0807);text-align:center}
.aft-pavilion::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 50% 0%,rgba(240,168,48,.16),transparent 60%)}
.aft-pavilion>*{position:relative}
.aft-pavilion h2{font-family:var(--aft-display);font-weight:800;text-transform:uppercase;font-size:clamp(30px,3.8vw,48px)}
.aft-pavilion p{font-family:var(--aft-body);color:var(--aft-muted);max-width:58ch;margin:16px auto 0;text-transform:none}
.aft-gallery{text-align:center;max-width:900px;margin:0 auto}
.aft-gallery h2{font-family:var(--aft-display);font-weight:800;text-transform:uppercase;font-size:clamp(40px,6.4vw,86px);letter-spacing:.005em;line-height:.94}
.aft-gallery h2 em{font-style:normal;background:var(--aft-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* callout / faq / noscript */
.aft-callout{background:var(--aft-panel);border:1px solid var(--aft-line-2);border-left:3px solid var(--aft-red);border-radius:14px;padding:22px 26px;margin:28px 0}
.aft-callout.amber{border-left-color:var(--aft-amber)}
.aft-callout p{text-transform:none}
.aft-callout p:last-child{margin:0}
.aft-faq{border:1px solid var(--aft-line);border-radius:14px;background:var(--aft-panel);margin-bottom:12px;overflow:hidden}
.aft-faq summary{cursor:pointer;padding:18px 22px;font-family:var(--aft-display);font-weight:700;font-size:18px;text-transform:uppercase;color:var(--aft-text);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.aft-faq summary::-webkit-details-marker{display:none}
.aft-faq summary::after{content:"+";color:var(--aft-amber-2);font-size:22px}
.aft-faq[open] summary::after{content:"\2013"}
.aft-faq .a{padding:0 22px 20px;color:var(--aft-muted)}
.aft-noscript{background:rgba(216,52,43,.1);border:1px solid rgba(216,52,43,.34);color:#ffd5d2;border-radius:12px;padding:14px 18px;max-width:1148px;margin:0 auto}

/* prose / legal */
.aft-prose-top{padding:104px 0 56px;border-bottom:1px solid var(--aft-line);background:linear-gradient(180deg,#0c1119,#0a0807)}
.aft-prose-top h1{font-family:var(--aft-display);font-weight:800;text-transform:uppercase;font-size:clamp(40px,5.6vw,76px);letter-spacing:.005em;line-height:.96}
.aft-prose-top p{font-family:var(--aft-body);color:var(--aft-muted);font-size:19px;max-width:60ch;margin:16px 0 0;text-transform:none}
.aft-prose{max-width:820px;margin:0 auto;padding:64px 26px}
.aft-prose h2{font-family:var(--aft-display);font-weight:700;font-size:27px;text-transform:uppercase;margin:42px 0 12px}
.aft-prose h3{font-family:var(--aft-display);font-weight:700;font-size:19px;text-transform:uppercase;margin:26px 0 8px}
.aft-prose p,.aft-prose li{color:#e3d8c6}
.aft-prose a{color:var(--aft-amber-2);text-decoration:underline;text-underline-offset:3px}
.aft-prose ul{margin:0 0 16px;padding-left:22px}
.aft-prose li{margin-bottom:8px}
.aft-prose strong{color:var(--aft-text)}
.aft-prose .updated{font-family:var(--aft-mono);font-size:13px;color:var(--aft-dim);margin-bottom:8px}

/* ============================================================
   GAME 1 — EMBER CROWN REELS (3×3, three rows, Ember multiplier round)
   ============================================================ */
.aft-game{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.aft-cab{background:linear-gradient(180deg,#1a1206,#0a0807);border:1px solid var(--aft-line-2);border-radius:22px;padding:26px;box-shadow:var(--aft-shadow);position:relative;overflow:hidden}
.aft-cab::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--aft-grad)}
.aft-cab.ember-round{box-shadow:inset 0 0 0 2px var(--aft-amber),0 0 50px rgba(240,168,48,.3)}
.aft-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.aft-reel{overflow:hidden;border-radius:13px;background:linear-gradient(180deg,#171107,#211808);border:1px solid var(--aft-line)}
.aft-reel-strip{display:flex;flex-direction:column;will-change:transform}
.aft-cell{height:88px;flex:0 0 88px;display:flex;align-items:center;justify-content:center;font-size:42px}
.aft-rowflag{position:relative}
.aft-row-win{box-shadow:inset 0 0 0 2px var(--aft-amber)}
.aft-msg{min-height:26px;text-align:center;font-family:var(--aft-mono);font-size:14px;color:var(--aft-amber-2);margin:16px 0 6px}
.aft-msg.big{color:var(--aft-text);font-size:15px}
.aft-cabctrl{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px}
.aft-stake{display:flex;align-items:center;gap:10px}
.aft-stake button{width:42px;height:42px;border-radius:11px;border:1px solid var(--aft-line-2);background:var(--aft-panel);color:var(--aft-text);font-size:20px;cursor:pointer}
.aft-stake button:hover{border-color:var(--aft-line-3)}
.aft-stake .sv{font-family:var(--aft-mono);min-width:54px;text-align:center}
.aft-stake .sl{font-family:var(--aft-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--aft-dim)}
.aft-spin{flex:1;min-width:170px}
.aft-ember-meter{display:flex;align-items:center;justify-content:center;gap:9px;font-family:var(--aft-mono);font-size:11.5px;color:var(--aft-muted);margin-top:14px}
.aft-ember-meter .e{font-size:18px;filter:grayscale(1) opacity(.4)}
.aft-ember-meter .e.lit{filter:none}

.aft-side{display:grid;gap:18px}
.aft-balance{background:var(--aft-panel);border:1px solid var(--aft-line-2);border-radius:18px;padding:24px}
.aft-balance .lab{font-family:var(--aft-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--aft-dim)}
.aft-balance .amt{font-family:var(--aft-display);font-weight:800;font-size:42px;color:var(--aft-amber-2);margin:6px 0 14px}
.aft-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--aft-line);border:1px solid var(--aft-line);border-radius:14px;overflow:hidden;margin-top:16px}
.aft-stats .s{background:var(--aft-graphite);padding:14px 12px;text-align:center}
.aft-stats .s .v{font-family:var(--aft-mono);font-size:18px;color:var(--aft-text)}
.aft-stats .s .k{font-family:var(--aft-body);font-size:12px;color:var(--aft-muted)}
.aft-pay{background:var(--aft-panel);border:1px solid var(--aft-line);border-radius:18px;padding:22px 24px}
.aft-pay h3{font-family:var(--aft-display);font-weight:700;font-size:17px;text-transform:uppercase;margin-bottom:12px}
.aft-pay .row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--aft-line);font-family:var(--aft-mono);font-size:14px}
.aft-pay .row:last-child{border-bottom:0}
.aft-pay .sym{font-size:18px}
.aft-pay .x{color:var(--aft-amber-2)}

/* ============================================================
   GAME 2 — ALPINE CARD SOCIETY (carbon table, amber trim, diamond streak meter)
   ============================================================ */
.aft-table{background:radial-gradient(130% 100% at 50% 0%,#241808,#15110d 54%,#0a0807);border:1px solid var(--aft-line-2);border-radius:24px;padding:30px;box-shadow:var(--aft-shadow);position:relative;overflow:hidden}
.aft-table::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--aft-grad)}
.aft-table-top{font-family:var(--aft-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--aft-amber-2);text-align:center}
.aft-table-sub{font-family:var(--aft-body);text-align:center;color:rgba(244,237,226,.55);font-size:13px;margin-bottom:22px}
.aft-hand{margin:14px 0}
.aft-hand .ht{display:flex;justify-content:space-between;align-items:center;font-family:var(--aft-mono);font-size:12.5px;color:rgba(244,237,226,.72);margin-bottom:10px;text-transform:uppercase;letter-spacing:.1em}
.aft-hand .hv{color:var(--aft-amber-2);font-size:16px}
.aft-cards{display:flex;gap:10px;flex-wrap:wrap;min-height:112px}
.aft-card2{width:76px;height:106px;border-radius:11px;background:linear-gradient(160deg,#fbf6ec,#ece1cf);color:#1a1206;display:flex;flex-direction:column;justify-content:space-between;padding:9px 11px;font-family:var(--aft-display);font-weight:800;font-size:20px;box-shadow:0 12px 26px rgba(0,0,0,.42);animation:aft-deal .3s ease}
.aft-card2.red{color:#c01f2e}
.aft-card2 .b{align-self:flex-end;transform:rotate(180deg)}
.aft-card2.back{background:repeating-linear-gradient(45deg,#241808,#241808 6px,#3a2a10 6px,#3a2a10 12px);color:transparent}
@keyframes aft-deal{from{opacity:0;transform:translateY(-14px) scale(.95)}to{opacity:1;transform:none}}
.aft-table-msg{min-height:24px;text-align:center;font-family:var(--aft-mono);font-size:14.5px;color:var(--aft-amber-2);margin:18px 0}
.aft-tablectrl{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.aft-chips{display:flex;gap:10px;justify-content:center;margin:6px 0 18px}
.aft-chip{width:58px;height:58px;border-radius:50%;border:2px dashed rgba(244,237,226,.4);background:radial-gradient(circle at 50% 34%,#3a2a10,#1a1206);color:var(--aft-text);font-family:var(--aft-mono);font-size:12px;cursor:pointer;transition:transform .14s ease,border-color .14s ease}
.aft-chip:hover{transform:translateY(-2px)}
.aft-chip.sel{border-style:solid;border-color:var(--aft-amber-2);box-shadow:0 0 16px rgba(255,208,122,.34)}
.aft-score{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--aft-line);border:1px solid var(--aft-line);border-radius:14px;overflow:hidden;margin-top:8px}
.aft-score .s{background:var(--aft-graphite);padding:14px 8px;text-align:center}
.aft-score .s .v{font-family:var(--aft-mono);font-size:19px}
.aft-score .won .v{color:var(--aft-amber-2)}
.aft-score .lost .v{color:var(--aft-red)}
.aft-score .push .v{color:var(--aft-text)}
.aft-score .streak .v{color:var(--aft-amber)}
.aft-score .s .k{font-family:var(--aft-body);font-size:11.5px;color:var(--aft-muted)}
.aft-streakmeter{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--aft-panel);border:1px solid var(--aft-line);border-radius:14px;padding:14px 18px;margin-top:14px}
.aft-streakmeter .pips{display:flex;gap:7px}
.aft-streakmeter .p{color:var(--aft-dim);font-size:16px}
.aft-streakmeter .p.lit{color:var(--aft-amber-2)}
.aft-streakmeter .cap{font-family:var(--aft-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--aft-muted)}
.aft-log{background:var(--aft-panel);border:1px solid var(--aft-line);border-radius:18px;padding:20px 22px;margin-top:18px}
.aft-log h3{font-family:var(--aft-display);font-weight:700;font-size:16px;text-transform:uppercase;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.aft-log h3 button{font-family:var(--aft-body);font-size:12px;text-transform:none;color:var(--aft-muted);background:none;border:1px solid var(--aft-line-2);border-radius:8px;padding:4px 10px;cursor:pointer}
.aft-log ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;max-height:210px;overflow:auto}
.aft-log li{display:flex;justify-content:space-between;font-family:var(--aft-mono);font-size:12.5px;color:var(--aft-muted);padding:6px 0;border-bottom:1px dashed var(--aft-line)}
.aft-log li:last-child{border-bottom:0}
.aft-log .tag-w{color:var(--aft-amber-2)}
.aft-log .tag-l{color:var(--aft-red)}
.aft-log .tag-p{color:var(--aft-text)}
.aft-log .empty{color:var(--aft-dim);font-family:var(--aft-body);font-style:italic}

/* ============================================================
   ARCHITECTURAL FOOTER — NAMEPLATE
   ============================================================ */
.aft-foot{background:linear-gradient(180deg,#0a0807,#060403);border-top:1px solid var(--aft-line);padding:70px 0 50px;margin-top:12px}
.aft-plate{border:1px solid var(--aft-line-2);border-radius:20px;padding:48px 44px;background:linear-gradient(160deg,rgba(36,29,21,.5),rgba(10,8,7,.4));text-align:center;position:relative}
.aft-plate::before,.aft-plate::after{content:"";position:absolute;width:18px;height:18px;border:1px solid var(--aft-line-3)}
.aft-plate::before{left:16px;top:16px;border-right:0;border-bottom:0}
.aft-plate::after{right:16px;top:16px;border-left:0;border-bottom:0}
.aft-plate-emblem{display:flex;justify-content:center;margin-bottom:14px}
.aft-plate-name{font-family:var(--aft-display);font-weight:800;text-transform:uppercase;font-size:clamp(34px,5.4vw,60px);letter-spacing:.04em;background:var(--aft-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.aft-plate-tag{font-family:var(--aft-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--aft-muted);margin-top:10px}
.aft-plate-rule{height:1px;background:linear-gradient(90deg,transparent,var(--aft-line-3),transparent);margin:28px 0}
.aft-plate-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px}
.aft-plate-nav a{font-family:var(--aft-mono);font-size:12px;color:var(--aft-muted);border:1px solid var(--aft-line);border-radius:999px;padding:7px 14px;transition:color .18s,border-color .18s,background .18s}
.aft-plate-nav a:hover{color:var(--aft-amber-2);border-color:var(--aft-line-3);background:rgba(240,168,48,.06)}
.aft-plate-compliance{max-width:760px;margin:26px auto 0;display:grid;gap:10px}
.aft-plate-compliance p{font-family:var(--aft-body);color:var(--aft-muted);font-size:14px;margin:0;text-transform:none}
.aft-plate-compliance a{color:var(--aft-amber-2)}
.aft-plate-base{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid var(--aft-line);color:var(--aft-dim);font-size:13px;font-family:var(--aft-body)}

/* cookie */
.aft-cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:120;max-width:780px;margin:0 auto;display:flex;align-items:center;gap:18px;background:rgba(21,17,13,.97);backdrop-filter:blur(10px);border:1px solid var(--aft-line-2);border-radius:16px;padding:16px 20px;box-shadow:var(--aft-shadow)}
.aft-cookie[hidden]{display:none}
.aft-cookie p{margin:0;font-size:13.5px;color:var(--aft-muted)}
.aft-cookie a{color:var(--aft-amber-2)}

/* reveal */
.aft-rise{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.aft-rise.in{opacity:1;transform:none}

/* responsive */
@media(max-width:980px){
  .aft-islands{grid-template-columns:1fr}
  .aft-modules,.aft-g3{grid-template-columns:1fr 1fr}
  .aft-signals{grid-template-columns:1fr 1fr}
  .aft-notes{grid-template-columns:1fr}
  .aft-game{grid-template-columns:1fr}
}
@media(max-width:620px){
  .aft-sec{padding:74px 0}
  .aft-theatre{padding:104px 0 68px}
  .aft-frame{padding:30px 22px}
  .aft-modules,.aft-g2,.aft-g3,.aft-signals{grid-template-columns:1fr}
  .aft-studio,.aft-pavilion{padding:34px 22px}
  .aft-plate{padding:30px 20px}
  .aft-cell{font-size:32px;flex-basis:70px;height:70px}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
