:root{--bg:#0d0d0f;--panel:#16161a;--panel2:#1d1d23;--line:#2a2a33;--text:#f3f1ec;--muted:#a3a1a8;--orange:#f7931a;--gold:#e8b931;--ok:#3ecf8e;--err:#ff6b6b;--radius:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--orange)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(13,13,15,.92);backdrop-filter:blur(8px);z-index:5}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:700}
.brand em{font-style:normal;color:var(--orange);font-weight:600}
.logo-dot{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800}
.top nav a{color:var(--muted);text-decoration:none;margin-left:18px}
.top nav a:hover{color:var(--text)}
main{max-width:920px;margin:0 auto;padding:0 16px 48px}
.hero{text-align:center;padding:48px 0 24px}
.hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 8px;letter-spacing:-.02em}
.hero p{color:var(--muted);margin:0 auto;max-width:560px}
.step,.help{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-top:18px}
h2{font-size:1.15rem;margin:0 0 14px;display:flex;align-items:center;gap:10px}
.num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--orange);color:#111;font-size:.85rem;font-weight:800}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.card{position:relative;text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:4px;font:inherit;transition:border-color .15s,transform .15s}
.card:hover{border-color:#44444f;transform:translateY(-1px)}
.card.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange) inset}
.card.featured{background:linear-gradient(135deg,#2a2210,#1d1d23 60%);border-color:#5a4a1c}
.card.featured.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.card-title{font-weight:700}
.card-sub{color:var(--muted);font-size:.85rem}
.badge{align-self:flex-start;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}
.pill{align-self:flex-start;margin-top:4px;font-size:.72rem;padding:2px 8px;border-radius:99px;background:#33302a;color:var(--gold)}
.hint,.muted{color:var(--muted);font-size:.92rem;margin:0 0 12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:99px;padding:7px 16px;font:inherit;font-weight:600;cursor:pointer}
.chip:hover{border-color:#44444f}
.chip.selected{background:var(--orange);border-color:var(--orange);color:#111}
.fw-row{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fw-row label{font-weight:600}
select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;max-width:100%}
.fw-meta{display:flex;flex-wrap:wrap;gap:6px 16px;width:100%;color:var(--muted);font-size:.85rem}
.fw-meta b{color:var(--text);font-weight:600}
.summary{font-weight:600;color:var(--gold);margin:0 0 10px}
.howto{padding-left:20px;margin:0 0 14px;color:#dcdad5}
.howto li{margin:4px 0}
.notice{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:12px 14px;font-size:.93rem;margin:12px 0}
.notice.warn{border-color:#6b4b14;background:#2a1f0d;margin-top:18px}
.notice.ok{border-color:#1f5a41;background:#0f2a1f}
.notice ol{margin:6px 0 0;padding-left:20px}
.confirm{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;margin:14px 0;cursor:pointer}
.confirm input{margin-top:4px;accent-color:var(--orange);width:18px;height:18px;flex:none}
.primary{background:var(--orange);color:#111;border:0;border-radius:10px;padding:13px 26px;font:inherit;font-weight:800;cursor:pointer;font-size:1.05rem}
.primary:hover:not(:disabled){filter:brightness(1.08)}
.primary:disabled{opacity:.4;cursor:not-allowed}
.progress{margin-top:18px}
.track{height:10px;background:#2a2a33;border-radius:99px;overflow:hidden}
.bar{height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--gold));transition:width .2s}
.status{margin:10px 0 4px;font-weight:600}
.status[data-kind=ok]{color:var(--ok)}
.status[data-kind=error],.error{color:var(--err)}
.link{background:none;border:0;color:var(--muted);padding:0;font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline}
.log{margin-top:8px;max-height:220px;overflow:auto;background:#09090b;border:1px solid var(--line);border-radius:8px;padding:10px;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;color:#c9c7c2;white-space:pre-wrap;word-break:break-word}
.help details{border-top:1px solid var(--line);padding:10px 0}
.help details:first-of-type{border-top:0}
.help summary{cursor:pointer;font-weight:600}
.help p{color:#d2d0cb;margin:8px 0 0}
.foot{max-width:920px;margin:0 auto;padding:8px 16px 40px;color:var(--muted);font-size:.8rem}
.foot p{margin:6px 0}
@media (max-width:560px){.step,.help{padding:16px}.top nav a{margin-left:12px}.primary{width:100%}}
