:root{--bg:#0d0f12;--s:#151920;--b:#242a33;--t:#e8eaed;--m:#9aa3ad;--a:#14b8a6;--a2:#f5a524}
@media (prefers-color-scheme:light){:root{--bg:#f7f8fa;--s:#fff;--b:#e2e5ea;--t:#14171c;--m:#55606b;--a:#0d9488}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--t)}
a{color:var(--a)}.wrap{max-width:1100px;margin:0 auto;padding:0 20px}section{padding:64px 20px}section.wrap{padding:64px 20px}
.nav{position:sticky;top:0;z-index:9;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--b)}
.row{display:flex;align-items:center;gap:20px;height:64px}.logo{color:var(--t);text-decoration:none;font-weight:600;display:flex;gap:8px;align-items:center}.logo b{color:var(--a)}
.mark{background:var(--a);color:#fff;border-radius:7px;width:28px;height:28px;display:grid;place-items:center;font-weight:800}
nav{margin-left:auto;display:flex;gap:18px}nav a{color:var(--m);text-decoration:none;font-size:15px}nav a:hover{color:var(--t)}
@media(max-width:820px){nav{display:none}.row .btn{margin-left:auto}}
.btn{display:inline-block;background:var(--a);color:#fff;border:0;border-radius:10px;padding:13px 22px;font-weight:600;text-decoration:none;cursor:pointer;font-size:16px}.btn:hover{filter:brightness(1.1)}
.btn.sm{padding:8px 14px;font-size:14px}.btn.ghost{background:transparent;color:var(--t);border:1px solid var(--b)}
.hero{padding:96px 20px 72px;text-align:center;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--a) 18%,transparent),transparent 60%)}
.pill{display:inline-block;border:1px solid var(--b);border-radius:99px;padding:4px 14px;color:var(--m);font-size:14px}
h1{font-size:clamp(38px,7vw,68px);line-height:1.05;margin:18px 0;letter-spacing:-.02em}h1 span{color:var(--a)}
.lead{max-width:720px;margin:0 auto;color:var(--m);font-size:19px}.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:28px 0 12px}
h2{font-size:clamp(28px,4vw,38px);margin:0 0 8px;letter-spacing:-.01em}.sub{color:var(--m);margin:0 0 28px}.fine{color:var(--m);font-size:14px}.center{text-align:center;margin-top:20px}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.steps li,.card{background:var(--s);border:1px solid var(--b);border-radius:14px;padding:22px}.steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--a);color:#fff}
h3{margin:10px 0 6px;font-size:18px}.card p,.steps p{color:var(--m);margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.card.link{text-decoration:none;color:var(--t)}.card.link:hover,.card.on{border-color:var(--a)}
.tbl{overflow-x:auto;border:1px solid var(--b);border-radius:14px;background:var(--s)}table{border-collapse:collapse;width:100%;font:14px ui-monospace,Menlo,Consolas,monospace}
th,td{padding:10px 14px;border-bottom:1px solid var(--b);text-align:left;white-space:nowrap}th{color:var(--m);font-weight:600}tr.hp td:first-child{border-left:3px solid var(--a2)}tr.add{background:color-mix(in srgb,var(--a) 12%,transparent)}
.flags{margin-top:20px;background:var(--s);border:1px solid var(--b);border-radius:14px;padding:20px}.flags ul{margin:0;padding-left:20px;color:var(--m)}.flags b{color:var(--t)}
details{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:16px 20px;margin-bottom:10px}summary{cursor:pointer;font-weight:600}details p{color:var(--m);margin:10px 0 0}
.cta{text-align:center}form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:680px;margin:0 auto}
input{flex:1 1 200px;padding:13px 14px;border-radius:10px;border:1px solid var(--b);background:var(--s);color:var(--t);font-size:16px}.hide{display:none}
#msg{min-height:24px;margin-top:14px}#msg.ok{color:var(--a)}#msg.err{color:#ef4444}
footer{border-top:1px solid var(--b);padding:32px 0;color:var(--m);font-size:14px}

/* mobile-opt */
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.nav{padding-top:env(safe-area-inset-top)}
.btn,.btn.sm{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.ctas .btn{min-width:160px}
.tbl{-webkit-overflow-scrolling:touch}
th,td{padding:10px 12px}
@media(max-width:820px){
  .hero{padding:64px 16px 48px}
  h1{font-size:clamp(32px,10vw,48px)}
  .lead{font-size:17px}
  section,.section.wrap,section.wrap{padding:48px 16px}
  .wrap{padding-left:16px;padding-right:16px}
  form{flex-direction:column;align-items:stretch}
  form input,form button{width:100%;min-height:48px;font-size:16px}
  footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .tbl table{font-size:12px}
}
@media(min-width:821px) and (max-width:1100px){
  .wrap{max-width:960px}
  .grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}

/* polish-2026-11-05 */
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:820px){.grid.three{grid-template-columns:1fr}}
@media(min-width:821px) and (max-width:1024px){.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
h1{font-weight:750}
.lead{line-height:1.55;letter-spacing:-.01em}
.steps li{display:flex;flex-direction:column;gap:6px;min-height:100%}
.steps b{margin-bottom:2px}
.card{padding:20px 18px}
.card h3{margin-top:0;line-height:1.25}
.sub{max-width:640px}
section{padding:56px 20px}
.hero{padding:88px 20px 64px}
.ctas{gap:10px}
.btn{letter-spacing:-.01em}
#msg{font-size:15px}
.tbl table{font-size:13px}
details{padding:14px 16px}
details+details{margin-top:8px}
footer .wrap p{margin:0 0 8px;line-height:1.5}
footer .wrap p:last-child{margin-bottom:0}
@media(max-width:820px){
  .hero{padding:56px 16px 40px}
  h1{margin:14px 0 12px}
  .ctas{flex-direction:column;align-items:stretch}
  .ctas .btn{width:100%;min-width:0}
  .steps{gap:12px}
  .card,.steps li{padding:18px 16px;border-radius:12px}
  section,section.wrap{padding:40px 16px}
  .pill{font-size:13px}
  .nav .btn.sm{padding:8px 12px;font-size:13px}
}
@media(min-width:821px) and (max-width:1180px){
  .hero{padding:80px 24px 56px}
  section.wrap{padding-left:24px;padding-right:24px}
}
@supports (padding: max(0px)){
  body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
}
