/* Visual polish pass (2026-11-04). Loaded last; overrides older sheets.
   One radius scale, one card surface, visible focus, calm hover, consistent section rhythm. */
:root{--r-card:16px;--r-btn:12px;--surface:#17141a;--surface-2:#1d1920;--edge:#ffffff14;--edge-hi:#ffffff26;--text-2:#b9adb3}

:focus-visible{outline:2px solid #ff6b74;outline-offset:3px;border-radius:6px}
a,button,summary{cursor:pointer}

/* Buttons */
.button{border-radius:var(--r-btn);transition:background .2s,transform .2s,box-shadow .2s}
.button:not(.outline):not(.light){box-shadow:0 10px 30px -12px #eb414b99}
.button:hover{transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}

/* Section rhythm */
.section{padding-block:104px}
.section-intro{align-items:end;gap:40px;margin-bottom:44px}
.section-intro h2{margin-bottom:0}
.section-intro p{color:var(--text-2);text-align:right}
.start,.launcher-showcase{border-top:0}

/* Feature showcase: bento, launcher menu large on the left */
.shots{grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto;gap:20px;margin-top:0}
.shot{border:1px solid var(--edge);border-radius:var(--r-card);overflow:hidden;background:var(--surface);
  box-shadow:0 24px 60px -30px #000;transition:border-color .25s,transform .25s}
.shot:hover{border-color:var(--edge-hi);transform:translateY(-2px)}
.shot.main{grid-row:1/3;display:flex;flex-direction:column}
.shot-img{position:relative;overflow:hidden;background:#0d0b0e}
.shot-img:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0a;pointer-events:none}
.shot img{aspect-ratio:1000/546;transition:transform .5s}
.shot:hover img{transform:scale(1.02)}
.shot.main .shot-img{flex:1;display:grid;place-items:center;padding:22px;
  background:radial-gradient(ellipse at 50% 30%,#3a1a2266,transparent 70%),#0d0b0e}
.shot.main img{aspect-ratio:606/376;max-width:100%;border-radius:10px;box-shadow:0 20px 50px -18px #000}
.shot figcaption{border-top:1px solid var(--edge);padding:16px 20px 18px;font-size:14px;color:var(--text-2)}
.shot figcaption b{font-size:17px;margin:6px 0 2px}
.tag{display:inline-block;font:600 10px var(--display);letter-spacing:2px;color:#ff8b92;
  background:#eb414b1a;border:1px solid #eb414b40;border-radius:999px;padding:3px 10px}
@media(prefers-reduced-motion:reduce){.shot,.shot img{transition:none}.shot:hover,.shot:hover img{transform:none}}

/* Steps as cards */
.steps{gap:20px}
.steps article{border:1px solid var(--edge);border-radius:var(--r-card);background:var(--surface);padding:28px 26px 26px;
  transition:border-color .25s}
.steps article:hover{border-color:var(--edge-hi)}
.steps b{font-size:40px;color:#eb414b;opacity:.85;line-height:1}
.steps h3{margin:16px 0 8px}
.steps p{color:var(--text-2)}
.steps article>a{display:inline-block;margin-top:16px;font-size:14px;color:#f0c4c8}
.steps article>a:hover{color:#fff}
.steps article>span{font-size:12px;color:#9f8f97;border-top:1px dashed var(--edge);padding-top:14px}

/* Download card */
.launcher-showcase{padding-top:24px}
.download-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:48px 52px;
  border:1px solid #6a2a3a;border-radius:20px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 100% 0%,#eb414b2e,transparent 55%),linear-gradient(135deg,#221419,#151216 60%)}
.download-card:before{content:'';position:absolute;right:-60px;bottom:-90px;width:320px;height:320px;
  background:url(assets/mark.svg) center/contain no-repeat;opacity:.05;pointer-events:none}
.download-copy h2{font-size:36px;margin:12px 0 8px}
.download-copy p{color:var(--text-2);font-size:15px;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:20px 0 0}
.chips li{font-size:12px;color:#d9ccd1;border:1px solid var(--edge-hi);border-radius:999px;padding:4px 12px;background:#ffffff06}
.download-action{display:flex;flex-direction:column;align-items:stretch;gap:14px;position:relative;z-index:1;min-width:300px}
.download-action .button{min-width:0;width:100%;font-size:15px;padding:17px 22px}
.download-links{display:flex;justify-content:center;align-items:center;gap:10px;font-size:13px;color:#a8989f}
.download-links .text-btn{font-size:13px;color:#d8c9cf}
.download-links a:hover,.download-links .text-btn:hover{color:#fff}

/* Supporter card */
.supporter:before{display:none}
.supporter{padding-top:48px}
.support-card{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding:52px;
  border:1px solid var(--edge);border-radius:20px;background:linear-gradient(160deg,#1b161c,#141116)}
.supporter-copy{max-width:none}
.support-card h2{margin:14px 0 16px}
.support-card ul{margin:22px 0 0}
.rank-card{border:1px solid #6a2a3a;border-radius:var(--r-card);padding:30px 28px;text-align:center;
  background:radial-gradient(ellipse at 50% 0%,#eb414b30,transparent 65%),#1a1218}
.rank-label{font:600 11px var(--display);letter-spacing:3px;color:#ff8b92}
.rank-card strong{display:block;font:700 72px/1.05 var(--display);margin:10px 0 6px}
.rank-card strong small{font:500 18px var(--font);color:var(--text-2)}
.rank-card p{font-size:14px;color:var(--text-2);line-height:1.8;margin:0 0 22px}
.rank-card .button{width:100%;justify-content:center;gap:12px}

/* FAQ */
.questions details{transition:background .2s}
.questions summary{font-size:16px;padding:22px 4px}
.questions summary:hover{color:#fff}
.questions summary span{transition:transform .2s}
.questions details p{color:var(--text-2);padding-inline:4px}

/* Community band */
.community{border:1px solid var(--edge);border-radius:20px;padding:32px 36px;background:var(--surface);max-width:1128px;margin:0 auto 70px}

/* Footer */
footer{border-top:1px solid var(--edge)}

/* Scroll reveal: only when JS adds .reveal, so content never hides without JS */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .45s ease-out,transform .45s ease-out}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

@media(max-width:1050px){
  .download-card{grid-template-columns:1fr;padding:40px}
  .download-action{min-width:0;max-width:420px}
  .support-card{grid-template-columns:1fr;padding:40px}
  .rank-card{max-width:420px}
}
@media(max-width:900px){
  .section{padding-block:64px}
  .section-intro p{text-align:left}
  .shots{grid-template-columns:1fr}
  .shot.main{grid-row:auto}
  .shot.main .shot-img{padding:14px}
  .steps article{padding:22px 20px}
  .steps b{position:static;font-size:32px}
  .steps article{padding-right:20px}
  .download-card,.support-card{padding:28px 22px;border-radius:16px}
  .download-copy h2{font-size:28px}
  .rank-card strong{font-size:58px}
  .community{margin:0 4% 50px;padding:24px 20px}
  .community .button{margin-left:0}
}

/* Two supporter tiers (2026-11-04): Supporter 60 / VIP 300 */
.support-head{max-width:640px;margin-bottom:32px}
.support-head h2{margin:14px 0 10px}
.support-head p{color:var(--text-2);font-size:15px}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tier{display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:20px;padding:34px 32px;background:linear-gradient(160deg,#1b161c,#141116)}
.tier.featured{border-color:#6a2a3a;background:radial-gradient(ellipse at 50% 0%,#eb414b2a,transparent 60%),#1a1218}
.tier strong{display:block;font:700 60px/1.05 var(--display);margin:10px 0 4px}
.tier strong small{font:500 16px var(--font);color:var(--text-2)}
.tier ul{list-style:none;padding:0;margin:18px 0 26px;flex:1}
.tier li{margin:10px 0;font-size:14px;color:#d9ccd1}
.tier li:before{content:'✓';color:var(--red);margin-right:12px}
.tier .button{justify-content:center;gap:12px;margin-left:0}
@media(max-width:900px){.tiers{grid-template-columns:1fr}.tier{padding:26px 22px}.tier strong{font-size:48px}}
