:root {
    --bg: #07111f;
    --bg-deep: #050c16;
    --bg-soft: #0c1b2f;
    --card: rgba(12, 25, 43, 0.82);
    --card-strong: rgba(10, 22, 38, 0.94);
    --card-border: rgba(255, 255, 255, 0.10);
    --text: #f7fbff;
    --muted: #9fb0c4;
    --orange: #f59a3d;
    --blue: #37aee2;
    --green: #6ed39a;
    --danger: #ff9b9b;
    --input: rgba(255, 255, 255, 0.055);
    --input-border: rgba(255, 255, 255, 0.12);
    --shadow: 0 26px 70px rgba(0, 0, 0, 0.34);
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--bg);
}

body {
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--text);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    background:
        radial-gradient(circle at 16% 10%, rgba(55,174,226,.16), transparent 32%),
        radial-gradient(circle at 84% 86%, rgba(245,154,61,.12), transparent 34%),
        linear-gradient(145deg, #06101c 0%, #0a1727 48%, #07111f 100%);
}

body::before,
body::after {
    content: "";
    position: fixed;
    z-index: 0;
    border-radius: 999px;
    filter: blur(90px);
    pointer-events: none;
}

body::before {
    top: -140px;
    left: -130px;
    width: 340px;
    height: 340px;
    background: rgba(55,174,226,.13);
}

body::after {
    right: -140px;
    bottom: -160px;
    width: 380px;
    height: 380px;
    background: rgba(245,154,61,.10);
}

a {
    color: inherit;
}

.page-shell,
.site-shell {
    position: relative;
    z-index: 1;
}

.page-shell {
    width: min(100%, 500px);
    margin: 0 auto;
    padding: 28px 20px;
    animation: miniid-enter .55s ease-out both;
}

.centered-page {
    display: grid;
    min-height: 100vh;
    place-items: center;
}

.brand-link {
    display: block;
    width: max-content;
    margin: 0 auto 34px;
    text-decoration: none;
}

.brand-logo {
    display: block;
    width: clamp(190px, 42vw, 250px);
    max-width: 82vw;
    height: auto;
    border: 0;
    background: transparent;
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.30));
}

.glass-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--card-border);
    border-radius: 26px;
    background: var(--card);
    box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.glass-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 14%;
    width: 72%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
}

.auth-card {
    width: 100%;
    padding: 38px;
}

.eyebrow {
    margin: 0 0 9px;
    color: var(--blue);
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.auth-card h1,
.hero h1 {
    margin: 0;
    letter-spacing: -.04em;
}

.auth-card h1 {
    text-align: center;
    font-size: clamp(29px, 7vw, 38px);
}

.subtitle {
    max-width: 340px;
    margin: 12px auto 30px;
    color: var(--muted);
    text-align: center;
    font-size: 15px;
    line-height: 1.6;
}

.form-group {
    margin-bottom: 18px;
}

label {
    display: block;
    margin-bottom: 8px;
    color: #dce7f2;
    font-size: 13px;
    font-weight: 750;
}

.input-wrap {
    position: relative;
}

.input-icon {
    position: absolute;
    top: 50%;
    left: 15px;
    width: 19px;
    height: 19px;
    transform: translateY(-50%);
    color: #7890a9;
    pointer-events: none;
}

input {
    width: 100%;
    min-height: 52px;
    padding: 13px 48px 13px 47px;
    border: 1px solid var(--input-border);
    border-radius: 14px;
    outline: none;
    background: var(--input);
    color: var(--text);
    font: inherit;
    font-size: 16px;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

input::placeholder {
    color: #667b91;
}

input:focus {
    border-color: rgba(55,174,226,.7);
    background: rgba(255,255,255,.075);
    box-shadow: 0 0 0 4px rgba(55,174,226,.11);
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 9px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    transform: translateY(-50%);
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8599ae;
    cursor: pointer;
}

.password-toggle:hover,
.password-toggle:focus-visible {
    background: rgba(255,255,255,.07);
    color: #dbe8f4;
    outline: none;
}

.password-toggle svg {
    width: 19px;
    height: 19px;
}

.primary-button {
    width: 100%;
    min-height: 52px;
    margin-top: 7px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(100deg, var(--orange) 0%, #e98b42 35%, var(--blue) 100%);
    color: #06101c;
    font: inherit;
    font-size: 15px;
    font-weight: 850;
    cursor: pointer;
    box-shadow: 0 13px 30px rgba(26,137,190,.18);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.primary-button:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: 0 16px 34px rgba(26,137,190,.25);
}

.primary-button:disabled {
    cursor: wait;
    opacity: .8;
}

.message {
    margin-bottom: 22px;
    padding: 13px 15px;
    border: 1px solid transparent;
    border-radius: 13px;
    font-size: 14px;
    line-height: 1.45;
}

.message.error {
    border-color: rgba(255,126,126,.25);
    background: rgba(235,87,87,.12);
    color: #ffc7c7;
}

.message.success {
    border-color: rgba(110,211,154,.25);
    background: rgba(62,164,104,.13);
    color: #bdf5d0;
}

.auth-footer {
    margin: 25px 0 0;
    color: var(--muted);
    text-align: center;
    font-size: 14px;
}

.auth-footer a,
.back-home {
    color: #a9dcf3;
    font-weight: 750;
    text-decoration: none;
}

.auth-footer a:hover,
.back-home:hover {
    color: #fff;
}

.back-home-wrap {
    margin-top: 20px;
    text-align: center;
}

.back-home {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.back-home svg {
    width: 16px;
    height: 16px;
}

.site-shell {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 0;
}

.site-header .brand-logo {
    width: clamp(160px, 20vw, 220px);
}

.header-actions {
    display: flex;
    gap: 12px;
}

.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 13px;
    font-weight: 800;
    text-decoration: none;
}

.button-link.primary {
    background: linear-gradient(100deg, var(--orange), var(--blue));
    color: #06101c;
}

.button-link.secondary {
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.05);
    color: var(--text);
}

.hero {
    max-width: 800px;
    padding: 90px 0 70px;
}

.hero-kicker {
    color: var(--blue);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.hero h1 {
    max-width: 780px;
    margin-top: 16px;
    font-size: clamp(48px, 8vw, 88px);
    line-height: .98;
}

.hero p {
    max-width: 680px;
    margin: 24px 0 0;
    color: var(--muted);
    font-size: clamp(18px, 2.5vw, 23px);
    line-height: 1.6;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
    padding-bottom: 80px;
}

.product-card {
    padding: 24px;
}

.product-card h2 {
    margin: 16px 0 8px;
    font-size: 22px;
}

.product-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.product-icon {
    font-size: 34px;
}

.status {
    display: inline-flex;
    margin-top: 20px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(55,174,226,.10);
    color: #a9dcf3;
    font-size: 12px;
    font-weight: 800;
}

@keyframes miniid-enter {
    from { opacity: 0; transform: translateY(16px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 800px) {
    .product-grid {
        grid-template-columns: 1fr;
    }

    .site-header {
        align-items: flex-start;
    }

    .header-actions {
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .page-shell {
        padding: 22px 15px;
    }

    .auth-card {
        padding: 30px 22px;
        border-radius: 22px;
    }

    .brand-link {
        margin-bottom: 26px;
    }

    .brand-logo {
        width: 215px;
    }

    .site-shell {
        width: min(100% - 28px, 1160px);
    }

    .site-header {
        flex-direction: column;
    }

    .header-actions {
        width: 100%;
    }

    .button-link {
        width: 100%;
    }

    .hero {
        padding-top: 55px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
/* MiniID ecosystem home + Paper Bridge Alpha */
.ecosystem-hero{padding-bottom:54px}.ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.product-link{text-decoration:none;display:block;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.product-link:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.22);box-shadow:0 30px 80px rgba(0,0,0,.42)}.product-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.muted-product{opacity:.72}.status-testing{background:rgba(245,154,61,.13);color:#ffc07d}.status-planning{background:rgba(255,255,255,.07);color:#aebdca}.status-open{background:rgba(110,211,154,.12);color:#9ae7b9}.card-cta{display:inline-block;margin-top:22px;font-size:13px;font-weight:850;color:#dbefff}.card-cta.muted{color:#8496a8}.alpha-mini{margin-top:22px}.alpha-mini strong{font-size:22px}.alpha-mini span{color:var(--muted);font-size:13px}.alpha-track{height:7px;margin-top:9px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.alpha-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orange),var(--blue))}.alpha-page{max-width:900px;margin:0 auto;padding:65px 0 90px}.alpha-intro{max-width:760px;margin-bottom:34px}.alpha-intro .status{margin:0 0 22px}.alpha-intro h1{margin:12px 0 18px;font-size:clamp(42px,7vw,72px);line-height:1.02;letter-spacing:-.045em}.alpha-intro>p:last-child{color:var(--muted);font-size:19px;line-height:1.65}.alpha-counter{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px;padding:28px;margin-bottom:22px}.counter-number{display:flex;align-items:baseline;gap:5px}.counter-number strong{font-size:48px;line-height:1}.counter-number span{color:var(--muted);font-weight:800}.alpha-counter h2{margin:0 0 5px}.alpha-counter p{margin:0;color:var(--muted)}.alpha-track.large{grid-column:1/-1;height:10px;margin:0}.alpha-form{padding:34px}.alpha-form h2{font-size:30px;margin:8px 0 8px}.form-lead,.privacy-note,.muted-copy{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{margin:0}.form-grid label.full{grid-column:1/-1}.form-grid input{margin-top:8px;padding:13px 15px}.alpha-form .primary-button{margin-top:24px}.privacy-note{font-size:12px;text-align:center;margin:14px 0 0}.success-panel{text-align:center;padding:50px 34px}.success-mark{display:grid;width:58px;height:58px;margin:0 auto 16px;place-items:center;border-radius:50%;background:rgba(110,211,154,.14);color:var(--green);font-size:28px;font-weight:900}.success-panel p{color:var(--muted);margin-bottom:25px}.coming-product{min-height:70vh;display:grid;place-items:center}.coming-inner{max-width:650px;padding:50px;text-align:center}.coming-inner h1{font-size:clamp(48px,8vw,78px);margin:18px 0 14px;letter-spacing:-.05em}.coming-inner p{font-size:18px;line-height:1.65;color:var(--muted)}
@media(max-width:800px){.ecosystem-grid{grid-template-columns:1fr}.alpha-page{padding-top:40px}.alpha-counter{grid-template-columns:1fr}.alpha-track.large{grid-column:auto}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}}

/* Ecosystem refinements: compact hero, language switch, Alpha anti-abuse */
.ecosystem-hero{padding-top:28px!important;padding-bottom:42px!important}
.header-right{display:flex;align-items:center;gap:14px}
.language-switch{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.045);font-size:12px;font-weight:850;color:#8496a8}
.language-switch a{text-decoration:none;padding:4px 6px;border-radius:999px;color:inherit}
.language-switch a.active{background:rgba(55,174,226,.14);color:#dff4ff}
.language-switch span{opacity:.45}
.status-development{background:rgba(55,174,226,.10);color:#9edcf6}
.anti-fake-note{margin:18px 0;padding:12px 14px;border:1px solid rgba(110,211,154,.18);border-radius:12px;background:rgba(110,211,154,.07);color:#bcefd0;font-size:13px;line-height:1.5}
.nfc-check{display:flex!important;align-items:center;gap:12px;margin-top:22px!important;padding:15px 16px;border:1px solid var(--input-border);border-radius:14px;background:var(--input);cursor:pointer}
.nfc-check input{width:20px!important;min-height:20px!important;height:20px!important;margin:0!important;padding:0!important;accent-color:#37aee2}
.nfc-check span{line-height:1.4}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){.header-right{align-items:flex-end;flex-direction:column}.site-header .header-right .button-link{width:auto}}
@media(max-width:520px){.site-header{flex-direction:row;align-items:center}.header-right{gap:8px}.header-actions{width:auto}.site-header .header-right .button-link{min-height:40px;padding:0 12px;font-size:12px}.ecosystem-hero{padding-top:14px!important}.language-switch{font-size:11px}}
