:root{--bg:#0e1116;--card:#171c24;--ink:#e8edf3;--muted:#9aa7b6;--accent:#ffb000;--accent2:#36c2ff;--line:#232b36}
*{box-sizing:border-box}
body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
header{text-align:center;padding:48px 20px 12px}
header h1{margin:0 0 6px;font-size:30px;letter-spacing:.5px;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
header p{color:var(--muted);margin:0}
main{max-width:980px;margin:0 auto;padding:20px}
.center{text-align:center;max-width:620px}
.hint{color:var(--muted);text-align:center}
.ign{display:flex;gap:10px;align-items:end;justify-content:center;flex-wrap:wrap;margin:18px 0 26px}
.ign label{display:block;color:var(--muted);font-size:13px;width:100%;text-align:center;margin-bottom:4px}
.ign input{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:11px 13px;min-width:240px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column}
.card h2{margin:0 0 8px;font-size:20px}
.card .desc{color:var(--muted);flex:1}
.card .price{font-size:22px;font-weight:700;color:var(--accent);margin:12px 0}
button{cursor:pointer;border:0;border-radius:10px;padding:12px 16px;font-weight:700;color:#0b0e13;background:linear-gradient(90deg,var(--accent),#ffd36b)}
button:disabled{opacity:.45;cursor:not-allowed}
.ign button{background:var(--accent2);color:#04222e}
a{color:var(--accent2)}
footer{max-width:980px;margin:30px auto;padding:18px;color:var(--muted);text-align:center;border-top:1px solid var(--line)}
footer{max-width:980px;margin:0 auto;padding:18px 20px 40px;color:var(--muted);text-align:center;font-size:13px}
a{color:var(--accent2)}
/* error pages (404 / 403 / 50x) */
.error{max-width:560px;margin:0 auto;text-align:center;padding-top:6px}
.error .code{margin:0;font-size:88px;line-height:1;font-weight:800;letter-spacing:1px;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.error h2{margin:6px 0 8px;font-size:23px}
.error p{color:var(--muted);margin:0 auto 24px;max-width:440px}
.error a.btn{display:inline-block;text-decoration:none;color:#0b0e13;background:linear-gradient(90deg,var(--accent),#ffd36b);border-radius:10px;padding:12px 18px;font-weight:700}
