:root {
    color-scheme: dark;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #101014;
    color: #f2edf5;
    font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 50% -20%, #2c2232, #101014 42%); }
a { color: inherit; }
.site-header { min-height: 72px; padding: 0 6vw; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid #302b33; background: rgba(16, 16, 20, .88); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-size: 1.15rem; font-weight: 750; letter-spacing: .02em; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: #b68ac2; color: #211625; }
nav { display: flex; align-items: center; gap: 20px; }
nav a, .nav-button { color: #bdb4c1; text-decoration: none; font: inherit; font-size: .92rem; background: none; border: 0; cursor: pointer; padding: 8px 0; }
nav a:hover, nav a.active, .nav-button:hover { color: #fff; }
nav form { margin: 0; }
.page-shell { width: min(1040px, 88vw); margin: 0 auto; padding: 72px 0; }
.hero { max-width: 760px; padding: 9vh 0; }
.hero.compact { padding: 2vh 0 40px; }
.eyebrow { margin: 0 0 12px; color: #c79ed1; text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; font-weight: 800; }
h1 { margin: 0; font-size: clamp(2.25rem, 6vw, 4.8rem); line-height: 1.02; letter-spacing: -.045em; }
.panel h1, .hero.compact h1 { font-size: clamp(2rem, 5vw, 3.4rem); }
h2 { margin-top: 32px; font-size: 1.15rem; }
.lead { max-width: 660px; color: #bdb4c1; font-size: 1.15rem; line-height: 1.7; }
.actions { display: flex; gap: 12px; margin-top: 32px; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 0 22px; border: 1px solid transparent; border-radius: 14px; text-decoration: none; font: inherit; font-weight: 750; cursor: pointer; }
.button.primary { background: #b68ac2; color: #211625; }
.button.primary:hover { background: #c79ed1; }
.button.secondary { border-color: #49404d; color: #eee7f0; }
.panel { max-width: 720px; margin: 0 auto; padding: clamp(24px, 6vw, 48px); border: 1px solid #373039; border-radius: 24px; background: rgba(29, 27, 32, .92); box-shadow: 0 24px 80px rgba(0, 0, 0, .28); }
.auth-panel { max-width: 520px; }
.stack { display: grid; gap: 16px; margin-top: 32px; }
label { display: grid; gap: 8px; color: #d7ceda; font-size: .9rem; font-weight: 650; }
input { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #4b424f; border-radius: 12px; outline: none; background: #151419; color: #fff; font: inherit; }
input:focus { border-color: #b68ac2; box-shadow: 0 0 0 3px rgba(182, 138, 194, .15); }
.checkbox { display: flex; align-items: center; gap: 9px; }
.checkbox input { width: 18px; min-height: 18px; }
.form-error { margin: -8px 0 0; color: #ffaaa9; font-size: .88rem; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.feature-card { display: flex; align-items: center; gap: 18px; padding: 24px; border: 1px solid #373039; border-radius: 18px; background: #1c1a1f; text-decoration: none; }
.feature-card:hover { border-color: #806489; transform: translateY(-1px); }
.card-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #302636; color: #d8b4e1; font-size: 1.5rem; }
.feature-card strong, .feature-card small { display: block; }
.feature-card small { margin-top: 5px; color: #aaa0ae; }
.build-details { margin: 32px 0; border-top: 1px solid #3a343d; }
.build-details div { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 15px 0; border-bottom: 1px solid #3a343d; }
.build-details dt { color: #9f96a3; }
.build-details dd { margin: 0; }
.checksum { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85rem; }
.download-button { margin-top: 16px; }
.hint { color: #918895; font-size: .85rem; line-height: 1.55; }
.notice { margin-top: 28px; padding: 18px; border: 1px solid #66546b; border-radius: 14px; background: #2b222f; color: #decbe3; }

@media (max-width: 700px) {
    .site-header { align-items: flex-start; padding-block: 16px; flex-direction: column; }
    nav { width: 100%; gap: 14px; overflow-x: auto; }
    nav a, .nav-button { white-space: nowrap; }
    .page-shell { width: min(92vw, 1040px); padding: 40px 0; }
    .hero { padding: 7vh 0; }
    .build-details div { grid-template-columns: 1fr; gap: 5px; }
}
