/* REMANA-TEST */
:root{
  --bg:#0b1020;--bg2:#121a33;--card:rgba(255,255,255,.045);--line:rgba(255,255,255,.09);
  --fg:#e8ecf6;--mut:#9aa4bd;--dim:#6b7590;
  --mt:#2dd4bf;--sn:#4ade80;--gw:#818cf8;--cv:#fbbf24;--sm:#fb7185;--in:#a78bfa;
  --acc:var(--mt);
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:clamp(13px,min(1.18vw,2.05vh),24px)}
html,body{height:100%;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}
a{color:inherit}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:.05em .35em;border-radius:.3em;white-space:nowrap}
b,strong{color:#fff;font-weight:700}

/* ---------- deck chrome ---------- */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--mt),var(--gw),var(--cv),var(--sm));z-index:30;transition:width .35s ease}
.brand{position:fixed;top:.9rem;left:1.4rem;font-size:.68rem;font-weight:700;letter-spacing:.02em;color:var(--mut);z-index:20}
.brand span{color:var(--dim);font-weight:400;margin-left:.3em}
.controls{position:fixed;right:1.2rem;bottom:1rem;display:flex;align-items:center;gap:.25rem;z-index:20;background:rgba(11,16,32,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;padding:.2rem .35rem}
.controls button{all:unset;cursor:pointer;width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;color:var(--fg)}
.controls button:hover{background:rgba(255,255,255,.08)}
.controls button:focus-visible{outline:2px solid var(--gw);outline-offset:1px}
.controls button[disabled]{opacity:.3;cursor:default;background:none}
.controls svg{width:1rem;height:1rem}
.counter{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--mut);min-width:3.2rem;text-align:center}
.counter b{color:#fff}

/* ---------- slides ---------- */
.deck{position:fixed;inset:0}
.slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:3.2rem 4.2rem 4rem;overflow:hidden;visibility:hidden;opacity:0;transition:opacity .35s ease,visibility 0s linear .35s;
  background:radial-gradient(ellipse 80% 60% at 85% 10%,color-mix(in srgb,var(--acc) 13%,transparent),transparent 60%),radial-gradient(ellipse 70% 60% at 0% 100%,rgba(99,102,241,.12),transparent 60%),linear-gradient(180deg,var(--bg2),var(--bg))}
.slide.active{visibility:visible;opacity:1;transition:opacity .35s ease}
.inner{width:100%;max-width:78rem;max-height:100%}
.s-mt{--acc:var(--mt)}.s-sn{--acc:var(--sn)}.s-gw{--acc:var(--gw)}.s-cv{--acc:var(--cv)}.s-sm{--acc:var(--sm)}.s-in{--acc:var(--in)}

.eyebrow{display:flex;align-items:center;gap:.6rem;font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin-bottom:.9rem}
.eyebrow::before{content:"";width:1.6rem;height:2px;background:currentColor;border-radius:2px}
h1{font-size:3.3rem;line-height:1.04;font-weight:800;letter-spacing:-.03em}
h2{font-size:2.15rem;line-height:1.12;font-weight:800;letter-spacing:-.025em;margin-bottom:.9rem}
h3{font-size:.95rem;font-weight:700;margin-bottom:.3rem}
.grad{background:linear-gradient(90deg,var(--mt),var(--gw) 45%,var(--cv));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.02rem;line-height:1.55;color:var(--mut);max-width:40rem}
.small{font-size:.74rem;color:var(--dim);line-height:1.5}
.cols{display:grid;grid-template-columns:1fr 1.15fr;gap:3.2rem;align-items:center}
.cols.rev{grid-template-columns:1.15fr 1fr}
.cols.rev>.media{order:-1}

.feat{list-style:none;margin:1.2rem 0 1.4rem;display:grid;gap:.75rem}
.feat li{display:grid;grid-template-columns:1.5rem 1fr;gap:.6rem;font-size:.84rem;line-height:1.5;color:var(--mut)}
.feat li .ic{width:1.5rem;height:1.5rem;border-radius:.45rem;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--acc);font-size:.75rem;font-weight:800}

.btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--acc);color:#0b1020;font-weight:700;font-size:.8rem;padding:.6rem 1rem;border-radius:.6rem;text-decoration:none;transition:transform .15s,filter .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.btn svg{width:.85rem;height:.85rem}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
.cta{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.cta .url{font-size:.72rem;color:var(--dim)}

/* screenshot frames */
.media{position:relative}
.browser{border-radius:.75rem;overflow:hidden;border:1px solid var(--line);background:#0e1426;box-shadow:0 1.5rem 3rem rgba(0,0,0,.45)}
.browser .bar{display:flex;align-items:center;gap:.35rem;padding:.45rem .7rem;background:#161e36;border-bottom:1px solid var(--line)}
.browser .bar i{width:.5rem;height:.5rem;border-radius:50%;background:#f87171}.browser .bar i:nth-child(2){background:#fbbf24}.browser .bar i:nth-child(3){background:#4ade80}
.browser .bar span{margin-left:.6rem;flex:1;font-size:.6rem;color:var(--dim);background:rgba(255,255,255,.05);padding:.18rem .6rem;border-radius:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
img{display:block;max-width:100%;height:auto}
.browser img{width:100%}
.phone{position:absolute;right:-1rem;bottom:-1.6rem;width:27%;border-radius:1.3rem;border:.35rem solid #05070f;outline:1px solid rgba(255,255,255,.14);overflow:hidden;background:#000;box-shadow:0 1.2rem 2.5rem rgba(0,0,0,.6)}
.phone img{width:100%}
.media.has-phone{padding-right:1.5rem;padding-bottom:1.2rem}
.caption{margin-top:1.4rem;font-size:.66rem;color:var(--dim);text-align:center}

/* cover */
.cover .stats{display:flex;gap:1.6rem;margin:1.4rem 0 1.4rem;font-size:.74rem;color:var(--mut)}
.cover .stats b{font-size:.9rem;margin-right:.3em}
.hint{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.68rem;color:var(--dim)}
kbd{font-family:inherit;font-size:.62rem;font-weight:700;color:var(--fg);background:rgba(255,255,255,.08);border:1px solid var(--line);border-bottom-width:2px;border-radius:.3rem;padding:.1rem .4rem}
.mosaic{position:relative;height:26rem}
.mosaic .browser{position:absolute;width:62%}
.mosaic .m1{top:0;left:0;transform:rotate(-3deg)}
.mosaic .m2{top:1.5rem;right:0;width:46%;transform:rotate(3deg)}
.mosaic .m3{bottom:.5rem;left:4%;width:44%;transform:rotate(2deg)}
.mosaic .m4{bottom:0;right:3%;width:56%;transform:rotate(-2deg);z-index:2}

/* overview cards */
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:1.6rem}
.card{display:flex;flex-direction:column;text-decoration:none;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--acc);border-radius:.8rem;padding:.75rem;transition:transform .2s,border-color .2s}
.card:hover,.card:focus-visible{transform:translateY(-3px);border-color:var(--acc);outline:none}
.card .thumb{border-radius:.45rem;overflow:hidden;aspect-ratio:16/10;background:#000;margin-bottom:.8rem}
.card .thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.card .num{font-size:.6rem;font-weight:700;color:var(--acc);letter-spacing:.1em}
.card p{font-size:.72rem;line-height:1.5;color:var(--mut);flex:1}
.card .go{font-size:.7rem;font-weight:700;color:var(--acc);margin-top:.7rem}

/* steps */
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.2rem 0}
.steps.four{grid-template-columns:repeat(4,1fr)}
.steps.three{grid-template-columns:repeat(3,1fr)}
.step{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:.9rem}
.step .n{width:1.4rem;height:1.4rem;border-radius:50%;background:var(--acc);color:#0b1020;font-size:.7rem;font-weight:800;display:grid;place-items:center;margin-bottom:.6rem}
.step p{font-size:.74rem;line-height:1.5;color:var(--mut)}
.note{display:grid;grid-template-columns:1.5rem 1fr;gap:.6rem;font-size:.8rem;line-height:1.5;color:var(--mut);margin-top:.7rem}
.note .ic{width:1.5rem;height:1.5rem;border-radius:.45rem;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--acc);font-weight:800;font-size:.75rem}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.2rem}
.pill{font-size:.68rem;font-weight:700;padding:.3rem .7rem;border-radius:999px;border:1px solid}
.pill.ok{color:var(--sn);border-color:color-mix(in srgb,var(--sn) 45%,transparent);background:color-mix(in srgb,var(--sn) 10%,transparent)}
.pill.soon{color:var(--cv);border-color:color-mix(in srgb,var(--cv) 45%,transparent);background:color-mix(in srgb,var(--cv) 10%,transparent)}

/* pairing mock (MineTransfer) */
.pair{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}
.dev{background:#f8fafc;color:#0f172a;border-radius:.9rem;padding:1.1rem;box-shadow:0 1.2rem 2.4rem rgba(0,0,0,.45);text-align:center}
.dev.phone-mock{max-width:13.5rem;justify-self:center;border:.35rem solid #05070f;border-radius:1.4rem}
.dev .t{font-size:.62rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem}
.dev .d{font-size:.8rem;font-weight:700;margin-bottom:.8rem}
.dev .emo{font-size:1.3rem;letter-spacing:.06em;white-space:nowrap;margin-bottom:.4rem}
.dev .code{font-size:1.4rem;font-weight:800;letter-spacing:.18em;font-variant-numeric:tabular-nums;margin-bottom:.8rem}
.dev .ok{display:inline-block;background:#0f766e;color:#fff;font-size:.7rem;font-weight:700;padding:.4rem .9rem;border-radius:.45rem}
.link{display:grid;place-items:center;color:var(--mt);font-size:.62rem;font-weight:700;text-align:center;gap:.3rem}
.link .line{width:3.5rem;height:2px;background:repeating-linear-gradient(90deg,var(--mt) 0 6px,transparent 6px 11px)}

/* modes (Snake) */
.modes{display:grid;gap:.8rem}
.mode{display:grid;grid-template-columns:4.2rem 1fr;gap:1rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:.8rem;padding:.9rem}
.mode .g{height:3.2rem;border-radius:.5rem;background:#0a0f1c;border:1px solid var(--line);position:relative;overflow:hidden}
.mode .g::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:.5rem .5rem}
.mode .g i{position:absolute;height:.45rem;border-radius:.2rem;background:var(--sn)}
.mode p{font-size:.74rem;line-height:1.5;color:var(--mut)}
.rule{margin-top:1rem;padding:.8rem 1rem;border-radius:.7rem;border:1px dashed color-mix(in srgb,var(--sn) 50%,transparent);font-size:.76rem;line-height:1.5;color:var(--mut)}

/* infra flow */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem;margin:1.6rem 0 1rem}
.flow .step{position:relative}
.flow .step:not(:last-child)::after{content:"→";position:absolute;right:-.95rem;top:50%;transform:translateY(-50%);color:var(--dim);font-size:.8rem}
.flow .ic{width:1.8rem;height:1.8rem;border-radius:.5rem;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 18%,transparent);color:var(--acc);margin-bottom:.6rem;font-size:.85rem}
.banner{background:var(--card);border:1px solid var(--line);border-radius:.7rem;padding:.75rem 1rem;font-size:.74rem;color:var(--mut);line-height:1.5}
.domains{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.domains a{font-size:.66rem;color:var(--mut);text-decoration:none;border:1px solid var(--line);padding:.3rem .6rem;border-radius:.4rem}
.domains a:hover{color:#fff;border-color:var(--acc)}

/* roadmap */
.road{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.road .rc{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--acc);border-radius:.75rem;padding:1rem 1.1rem}
.road ul{margin:.5rem 0 0 1rem;font-size:.74rem;color:var(--mut);line-height:1.75}

/* tech table */
.tech{width:100%;border-collapse:collapse;margin-top:1.2rem;font-size:.72rem;background:var(--card);border:1px solid var(--line);border-radius:.75rem;overflow:hidden}
.tech th{text-align:left;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:.7rem 1rem;border-bottom:1px solid var(--line)}
.tech td{padding:.75rem 1rem;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6;color:var(--mut)}
.tech tr:last-child td{border-bottom:0}
.tech td:first-child{white-space:nowrap;font-weight:700;color:#fff;width:9rem}
.tech td:first-child::before{content:"";display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--c);margin-right:.5rem;vertical-align:.08em}

/* closing */
.center{text-align:center}
.center .lead{margin:1rem auto 1.8rem}
.center .eyebrow{justify-content:center}
.links{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-bottom:1.6rem}
.links .btn{--acc:var(--c)}

/* ---------- responsive ---------- */
@media (max-width:900px),(orientation:portrait) and (max-width:1100px){
  html{font-size:15px}
  .slide{align-items:flex-start;padding:3rem 1.25rem 5.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .inner{max-height:none}
  h1{font-size:2.3rem}h2{font-size:1.6rem}
  .cols,.cols.rev{grid-template-columns:1fr;gap:2rem}
  .cols.rev>.media{order:0}
  .cards{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr 1fr}
  .flow .step::after{display:none}
  .road{grid-template-columns:1fr 1fr}
  .steps.four,.steps.three{grid-template-columns:1fr 1fr}
  .mosaic{height:19rem}
  .controls{left:50%;right:auto;transform:translateX(-50%);bottom:.8rem}
  .brand{top:.7rem;left:1.25rem}
  .tech td:first-child{white-space:normal;width:auto}
}
@media (max-width:560px){
  .cards,.road,.flow{grid-template-columns:1fr}
  .card .thumb{aspect-ratio:16/8}
  .steps.three{grid-template-columns:1fr}
  .tech,.tech tbody,.tech tr,.tech td{display:block}
  .tech thead{display:none}
  .tech td{border:0;padding:.5rem 1rem 0}
  .tech td:last-child{padding-bottom:.8rem;border-bottom:1px solid var(--line)}
  .tech tr:last-child td:last-child{border-bottom:0}
  .pair{grid-template-columns:1fr}
  .link .line{width:2px;height:1.6rem;background:repeating-linear-gradient(180deg,var(--mt) 0 6px,transparent 6px 11px)}
  .phone{width:34%}
  .mosaic{height:15rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- print: one slide per page ---------- */
@page{size:1280px 720px;margin:0}
@media print{
  html{font-size:15px}
  html,body{overflow:visible;height:auto;background:var(--bg)}
  .controls,.progress,.brand{display:none!important}
  .deck{position:static}
  .slide{position:relative;inset:auto;width:1280px;height:720px;visibility:visible;opacity:1;page-break-after:always;break-after:page;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
