:root {
    --ink: #172034;
    --muted: #718096;
    --line: #e7eaf0;
    --surface: #ffffff;
    --canvas: #f4f6fa;
    --navy: #15223b;
    --navy-2: #1d2b49;
    --primary: #5b5bd6;
    --primary-dark: #4848bd;
    --coral: #f07968;
    --mint: #4ebd9e;
    --gold: #d7a642;
    --shadow: 0 18px 44px rgba(27, 38, 64, .08);
    --radius: 18px;
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body {
    margin: 0;
    color: var(--ink);
    font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
    font-size: 14px;
    line-height: 1.55;
    background: var(--canvas);
}
a { color: var(--primary); text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.025em; }
h2 { font-size: 20px; margin-bottom: 0; }
code { font-family: "SFMono-Regular", Consolas, monospace; }
.muted { color: var(--muted); }
.eyebrow {
    display: block;
    color: #8a95a8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
    margin-bottom: 5px;
}
.eyebrow.light { color: #9cabc5; }
.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--ink);
}
.brand-mark {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(145deg, #7474ec, #4a4ac4);
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(91, 91, 214, .28);
}
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.2; }
.brand strong { font-size: 15px; }
.brand small { color: #8490a4; margin-top: 3px; font-size: 10px; letter-spacing: .05em; }
.brand-light, .brand-light small { color: #fff; }

.button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 11px;
    font-weight: 700;
    transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.button:hover { transform: translateY(-1px); }
.button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
    outline: 3px solid rgba(91, 91, 214, .2);
    outline-offset: 2px;
}
.button-primary { background: var(--primary); color: #fff; box-shadow: 0 8px 18px rgba(91, 91, 214, .2); }
.button-primary:hover { background: var(--primary-dark); }
.button-secondary { background: #f1f1fd; color: var(--primary-dark); border-color: #e0e0fa; }
.button-ghost { background: #fff; color: #59657a; border-color: var(--line); }
.button-small { min-height: 34px; padding: 0 12px; border-radius: 9px; font-size: 12px; }
.button-block { width: 100%; }
.back-link { color: #657087; font-weight: 650; }

.admin-shell { min-height: 100vh; }
.sidebar {
    position: fixed;
    z-index: 30;
    inset: 0 auto 0 0;
    display: flex;
    width: 248px;
    flex-direction: column;
    padding: 27px 20px 20px;
    background:
        radial-gradient(circle at 15% 75%, rgba(91, 91, 214, .18), transparent 30%),
        linear-gradient(180deg, var(--navy), #111b30);
    color: #fff;
}
.sidebar .brand { color: #fff; margin: 0 10px 38px; }
.sidebar .brand small { color: #8d9ab2; }
.nav-list { display: flex; flex: 1; flex-direction: column; gap: 6px; }
.nav-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 0 12px;
    border-radius: 11px;
    color: #aeb8ca;
    font-weight: 650;
}
.nav-list a:hover { background: rgba(255,255,255,.055); color: #fff; }
.nav-list a.active { background: rgba(100, 100, 221, .22); color: #fff; box-shadow: inset 3px 0 #7777ea; }
.nav-icon {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 7px;
    font-size: 10px;
}
.sidebar-user {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 9px 4px;
    border-top: 1px solid rgba(255,255,255,.1);
}
.avatar {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 12px;
    background: #e8e8fb;
    color: var(--primary);
    font-size: 15px;
    font-weight: 900;
}
.sidebar .avatar { background: #283856; color: #c4c8ff; }
.sidebar-user-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.sidebar-user-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.sidebar-user-copy small { color: #8d9ab2; font-size: 10px; }
.icon-button { width: 30px; height: 30px; border: 0; border-radius: 9px; background: transparent; color: #8d9ab2; }
.icon-button:hover { background: rgba(255,255,255,.08); color: #fff; }
.main { min-height: 100vh; margin-left: 248px; padding: 0 34px 50px; }
.topbar {
    display: flex;
    height: 104px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
}
.topbar h1 { margin: 0; font-size: 25px; }
.topbar-link { color: #637086; font-size: 12px; font-weight: 700; }
.topbar-link::after { content: " ↗"; color: var(--primary); }
.menu-button { display: none; }
.page-content { padding-top: 26px; }
.sidebar-backdrop { display: none; }

.alert {
    margin: 18px 0 -3px;
    padding: 13px 16px;
    border: 1px solid;
    border-radius: 11px;
    font-weight: 650;
}
.alert-success { background: #ecfaf5; border-color: #c3efdf; color: #267860; }
.alert-error { background: #fff1ef; border-color: #ffd1cb; color: #a33e34; }
.alert-info { background: #eff4ff; border-color: #d6e2ff; color: #3f5e9a; }

.welcome-strip, .release-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
    padding: 15px 18px;
    border: 1px solid #e1e4f5;
    border-radius: 14px;
    background: linear-gradient(100deg, #f9f9ff, #f2f2fd);
}
.welcome-strip > div { display: flex; align-items: center; gap: 9px; }
.welcome-strip span:not(.status-dot) { color: var(--muted); font-size: 12px; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(78, 189, 158, .13); }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.metric-card, .panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: 0 7px 25px rgba(27, 38, 64, .035);
}
.metric-card { position: relative; overflow: hidden; padding: 20px; }
.metric-card::after {
    position: absolute;
    width: 70px;
    height: 70px;
    right: -35px;
    bottom: -38px;
    border-radius: 50%;
    background: #f2f2fe;
    content: "";
}
.metric-featured { background: linear-gradient(145deg, #5b5bd6, #4545b9); color: #fff; border-color: transparent; box-shadow: 0 13px 30px rgba(69, 69, 185, .22); }
.metric-featured::after { background: rgba(255,255,255,.1); }
.metric-head { display: flex; align-items: center; justify-content: space-between; color: #798398; font-size: 12px; font-weight: 700; }
.metric-featured .metric-head { color: #d8d8ff; }
.metric-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: #efeffc; color: var(--primary); font-size: 10px; font-weight: 900; }
.metric-icon.coral { background: #fff0ed; color: var(--coral); }
.metric-icon.mint { background: #ebfaf5; color: #299677; }
.metric-icon.gold { background: #fff8e8; color: #ad7b15; }
.metric-featured .metric-icon { background: rgba(255,255,255,.13); color: #fff; }
.metric-card > strong { display: block; margin: 10px 0 0; font-size: 29px; line-height: 1.2; letter-spacing: -.04em; }
.metric-card > small { color: #8c96a8; font-size: 11px; }
.metric-featured > small { color: #c9c9f5; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(260px, .75fr); gap: 18px; margin-bottom: 18px; }
.three-panel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.panel { min-width: 0; padding: 21px; margin-bottom: 18px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.panel-heading h2 { font-size: 17px; }
.panel-heading a { font-size: 11px; font-weight: 750; }
.panel-note { margin: 12px 0 0; color: #8a94a6; font-size: 10px; text-align: center; }
.chart-wrap { position: relative; width: 100%; height: 255px; }
.chart-compact { height: 240px; }
.chart-wrap canvas { width: 100%; height: 100%; }
.chart-legend { display: flex; justify-content: flex-end; gap: 16px; margin-top: -34px; margin-bottom: 9px; color: #788397; font-size: 10px; }
.chart-legend span { display: flex; align-items: center; gap: 5px; }
.chart-legend i { width: 8px; height: 8px; border-radius: 50%; }
.legend-view { background: var(--primary); }
.legend-download { background: var(--coral); }
.pill, .status-badge, .event-badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    min-height: 25px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
}
.pill { background: #f2f3f7; color: #69758a; }
.status-badge.published { background: #e8f8f2; color: #247b61; }
.status-badge.draft { background: #f1f2f5; color: #7c8493; }
.event-view { background: #efeffc; color: var(--primary); }
.event-download { background: #fff0ed; color: #c95747; }

.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 10px 13px; color: #8b94a5; font-size: 10px; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
td { padding: 14px 13px; border-top: 1px solid #edf0f4; color: #596579; font-size: 12px; vertical-align: middle; }
td strong { color: var(--ink); }
.table-sub { display: block; max-width: 250px; overflow: hidden; color: #8b95a6; text-overflow: ellipsis; white-space: nowrap; }
.empty-inline { padding: 28px; color: #8a94a5; text-align: center; }
.rank-list { display: flex; flex-direction: column; }
.rank-list > div { display: grid; grid-template-columns: 27px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 10px 0; border-top: 1px solid #eff1f5; }
.rank-list > div:first-child { border-top: 0; }
.rank { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 7px; background: #f2f2fb; color: var(--primary); font-size: 9px; font-weight: 900; }
.rank-list strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.rank-list em { color: #8490a4; font-size: 11px; font-style: normal; }

.filter-bar, .page-actions {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 13px;
    margin-bottom: 18px;
}
.filter-bar {
    justify-content: flex-start;
    padding: 15px 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}
.filter-bar label { min-width: 180px; }
.filter-bar .button { min-height: 39px; }
.page-actions p { margin: 0; }
.link-actions, .row-actions, .inline-stats { display: flex; align-items: center; gap: 8px; }
.row-actions form { margin: 0; }
.app-cell { display: flex; align-items: center; gap: 11px; min-width: 185px; }
.app-cell > div { display: flex; flex-direction: column; }
.app-cell a { color: #8a94a5; font-size: 10px; }
.app-mini-icon {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    background: linear-gradient(145deg, #f0f0fe, #e1e1fb);
    color: var(--primary);
    font-weight: 900;
}
.app-mini-icon.large { width: 50px; height: 50px; border-radius: 15px; font-size: 18px; }
.inline-stats { flex-wrap: wrap; color: #7c8799; font-size: 10px; }
.empty-state { display: flex; align-items: center; flex-direction: column; padding: 45px 20px; text-align: center; }
.empty-icon { display: grid; width: 64px; height: 64px; margin-bottom: 14px; place-items: center; border: 1px solid #e2e3f8; border-radius: 20px; background: #f4f4fd; color: var(--primary); font-size: 13px; font-weight: 900; }
.empty-state h3 { margin: 0 0 5px; }
.empty-state p { color: var(--muted); }

.edit-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(275px, .7fr); gap: 18px; align-items: start; }
.edit-main .panel { margin-bottom: 18px; }
.edit-side { position: sticky; top: 18px; }
.step-number { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 9px; background: #efeffb; color: var(--primary); font-size: 9px; font-weight: 900; }
.panel-heading > div { display: flex; align-items: center; gap: 9px; }
.panel-heading > div .eyebrow { position: absolute; transform: translateY(-25px); }
.panel-heading > div:has(.eyebrow) { padding-top: 11px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid .full { grid-column: 1 / -1; }
label { display: flex; min-width: 0; flex-direction: column; gap: 7px; color: #4d596d; font-size: 11px; font-weight: 750; }
label span em { color: #9aa3b2; font-size: 9px; font-style: normal; font-weight: 500; }
input, textarea, select {
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid #dfe3e9;
    border-radius: 10px;
    outline: none;
    background: #fff;
    color: var(--ink);
    transition: border .15s, box-shadow .15s;
}
textarea { resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: #9b9be8; box-shadow: 0 0 0 3px rgba(91,91,214,.09); }
input[type="file"] { padding: 7px; background: #fafbfc; }
input[type="file"]::file-selector-button { margin-right: 9px; padding: 5px 9px; border: 0; border-radius: 7px; background: #ececfb; color: var(--primary); font-weight: 700; }
label small { color: #929baa; font-size: 9px; font-weight: 500; }
.input-prefix { display: flex; align-items: center; overflow: hidden; border: 1px solid #dfe3e9; border-radius: 10px; }
.input-prefix > span { padding: 0 0 0 12px; color: #8f98a8; font-family: monospace; }
.input-prefix input { border: 0; box-shadow: none; }
.input-prefix:focus-within { border-color: #9b9be8; box-shadow: 0 0 0 3px rgba(91,91,214,.09); }
.color-input { display: flex; gap: 9px; align-items: center; }
.color-input input { width: 52px; padding: 4px; }
.color-input code { color: #697589; }
.check-row { display: flex; flex-wrap: wrap; gap: 18px; }
.check { display: flex; align-items: center; flex-direction: row; gap: 8px; }
.check input { width: 17px; min-height: 17px; accent-color: var(--primary); }
.stack-form { display: flex; flex-direction: column; gap: 14px; }
.form-actions, .sticky-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.sticky-actions {
    position: sticky;
    z-index: 5;
    bottom: 15px;
    margin-bottom: 22px;
    padding: 12px 14px;
    border: 1px solid #dedff0;
    border-radius: 14px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 30px rgba(32,41,63,.12);
    backdrop-filter: blur(10px);
}
.sticky-actions span { margin-right: auto; color: #8993a4; font-size: 10px; }
.release-banner { background: #fff; }
.release-file { display: flex; align-items: center; gap: 12px; }
.release-file h2 { margin: 0; }
.release-file p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.release-hash { display: flex; max-width: 340px; flex-direction: column; align-items: flex-end; }
.release-hash span { color: #8d97a7; font-size: 9px; font-weight: 800; }
.release-hash code { overflow: hidden; max-width: 100%; color: #687388; font-size: 10px; text-overflow: ellipsis; }
.link-box { margin-bottom: 11px; padding: 10px; border: 1px solid #eaecf1; border-radius: 10px; background: #fafbfc; }
.link-box > span { display: block; color: #8993a3; font-size: 9px; font-weight: 800; }
.link-box code { display: block; overflow: hidden; margin: 4px 0; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.link-box button { padding: 0; border: 0; background: transparent; color: var(--primary); font-size: 10px; font-weight: 800; }

.settings-grid { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: 18px; }
.settings-intro { text-align: center; }
.settings-avatar { display: grid; width: 74px; height: 74px; margin: 4px auto 13px; place-items: center; border-radius: 23px; background: linear-gradient(145deg, #6b6be1, #4848be); color: #fff; font-size: 26px; font-weight: 900; }
.settings-intro h2 { margin-bottom: 0; }
.detail-list { margin: 22px 0 0; text-align: left; }
.detail-list > div { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid #eef0f4; }
.detail-list dt { color: #8b95a5; font-size: 10px; }
.detail-list dd { margin: 0; font-size: 11px; font-weight: 700; }
.user-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(285px, .65fr); gap: 18px; align-items: start; }
.user-layout > aside { position: sticky; top: 18px; }
.user-row { display: grid; grid-template-columns: auto minmax(150px, 1fr) auto minmax(125px, auto); align-items: center; gap: 12px; padding: 15px 0; border-top: 1px solid #edf0f4; }
.user-row:first-child { border-top: 0; }
.user-copy { display: flex; min-width: 0; flex-direction: column; }
.user-copy strong { font-size: 12px; }
.user-copy > span, .user-copy small { color: #818c9e; font-size: 10px; }
.you { margin-left: 5px; color: var(--primary); font-size: 8px; }
.user-actions { display: flex; min-width: 112px; flex-direction: column; align-items: flex-end; gap: 5px; }
.user-actions details { position: relative; color: var(--primary); font-size: 10px; }
.user-actions summary { cursor: pointer; font-weight: 700; list-style: none; }
.reset-form { position: absolute; z-index: 10; top: 24px; right: 0; display: flex; width: 300px; gap: 7px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: #fff; box-shadow: var(--shadow); }
.reset-form input { min-height: 34px; }
.role-note { padding: 11px 12px; border-radius: 10px; background: #f5f6fa; }
.role-note strong { font-size: 10px; }
.role-note p { margin: 2px 0 0; color: #8791a2; font-size: 9px; }

.auth-body { min-height: 100vh; background: #fff; }
.auth-wrap { display: grid; min-height: 100vh; grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr); }
.auth-intro {
    display: flex;
    padding: 48px 8vw 38px;
    flex-direction: column;
    justify-content: space-between;
    background:
        radial-gradient(circle at 80% 18%, rgba(99,99,222,.35), transparent 28%),
        radial-gradient(circle at 8% 88%, rgba(48,177,149,.17), transparent 26%),
        var(--navy);
    color: #fff;
}
.auth-intro h1 { margin: 12px 0 20px; font-size: clamp(33px, 4vw, 55px); line-height: 1.08; }
.auth-intro > div p { max-width: 470px; color: #aab6ca; font-size: 15px; }
.auth-footnote { color: #8391aa; font-size: 10px; }
.auth-panel { display: grid; padding: 40px; place-items: center; }
.login-card { width: min(100%, 390px); }
.login-card h2 { margin: 3px 0 4px; font-size: 29px; }
.login-card > .muted { margin-bottom: 27px; }
.login-card .alert { margin: 0 0 16px; }
.login-card .back-link { display: block; margin-top: 23px; text-align: center; font-size: 11px; }

.public-body { min-height: 100vh; background: #f8f9fc; }
.public-header, .download-header {
    display: flex;
    width: min(1180px, calc(100% - 48px));
    height: 92px;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
}
.public-login { color: #667286; font-size: 11px; font-weight: 700; }
.public-home { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 74px 0 90px; }
.public-hero { max-width: 720px; margin-bottom: 50px; }
.public-hero h1 { margin: 10px 0 20px; font-size: clamp(44px, 7vw, 78px); line-height: .98; }
.public-hero p { max-width: 620px; color: #6f7b8f; font-size: 16px; }
.public-app-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.public-app-card {
    display: flex;
    min-height: 255px;
    padding: 24px;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 10px 30px rgba(31,42,65,.04);
    transition: transform .18s, box-shadow .18s;
}
.public-app-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.public-app-icon, .download-app-icon {
    display: grid;
    width: 58px;
    height: 58px;
    margin-bottom: 25px;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(145deg, #6666dd, #4646b7);
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}
.public-app-card h2 { margin: 0 0 6px; }
.public-app-card p { display: -webkit-box; overflow: hidden; margin: 0; color: #788397; font-size: 12px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.public-app-meta { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 20px; color: #8791a2; font-size: 10px; }
.public-app-meta b { margin-left: auto; color: var(--primary); font-size: 19px; }
.public-empty { grid-column: 1/-1; padding: 65px; border: 1px dashed #d9deea; border-radius: 22px; text-align: center; }
.public-empty > span { color: var(--primary); font-weight: 900; }
.public-empty h2 { margin: 10px 0 3px; }
.public-empty p { color: var(--muted); }
.public-footer, .download-footer {
    display: flex;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 24px 0;
    justify-content: space-between;
    border-top: 1px solid var(--line);
    color: #919aaa;
    font-size: 10px;
}

.secure-label { display: flex; align-items: center; gap: 7px; color: #738094; font-size: 10px; font-weight: 700; }
.secure-label i { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(78,189,158,.13); }
.download-main { display: grid; width: min(1080px, calc(100% - 48px)); min-height: calc(100vh - 180px); margin: 0 auto; padding: 80px 0; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: center; gap: 9vw; }
.download-copy h1 { max-width: 620px; margin: 12px 0 18px; font-size: clamp(42px, 6vw, 72px); line-height: 1; }
.download-subtitle { color: #68758b; font-size: 18px; }
.download-description { max-width: 600px; color: #778398; font-size: 13px; line-height: 1.85; }
.trust-row { display: flex; flex-wrap: wrap; gap: 17px; margin-top: 30px; color: #6e7a8e; font-size: 10px; font-weight: 700; }
.trust-row i { margin-right: 4px; color: #2d9f7f; font-style: normal; }
.download-card { padding: 28px; border: 1px solid #e3e6ed; border-radius: 25px; background: #fff; box-shadow: 0 25px 70px rgba(27,38,64,.1); }
.download-card-top { display: flex; align-items: center; gap: 15px; padding-bottom: 22px; border-bottom: 1px solid #edf0f4; }
.download-card-top .download-app-icon { margin: 0; background: var(--accent); }
.download-card-top span { color: #9099a8; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.download-card-top h2 { margin: 0; font-size: 21px; }
.download-details { margin: 15px 0; }
.download-details > div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; }
.download-details dt { color: #929baa; font-size: 10px; }
.download-details dd { margin: 0; max-width: 70%; overflow: hidden; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.checksum { padding: 10px 12px; border-radius: 10px; background: #f7f8fa; }
.checksum span { display: block; color: #8c96a7; font-size: 8px; font-weight: 800; }
.checksum code { display: block; margin-top: 2px; color: #596579; font-size: 9px; }
.download-button { display: flex; min-height: 56px; margin-top: 19px; padding: 0 19px; align-items: center; justify-content: space-between; border-radius: 14px; background: var(--accent); color: #fff; font-size: 14px; font-weight: 800; box-shadow: 0 13px 25px color-mix(in srgb, var(--accent) 27%, transparent); }
.download-button:hover { filter: brightness(.94); }
.download-button span { font-size: 19px; }
.download-notice { margin: 12px 0 0; color: #8993a4; font-size: 9px; text-align: center; }
.error-page { display: grid; min-height: 100vh; padding: 30px; place-content: center; text-align: center; }
.error-code { color: var(--primary); font-size: 80px; font-weight: 900; letter-spacing: -.08em; }
.error-page h1 { margin-bottom: 5px; }
.error-page p { color: var(--muted); }
.error-page .button { width: max-content; margin: 20px auto 0; }

@media (max-width: 1100px) {
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .user-layout { grid-template-columns: 1fr; }
    .user-layout > aside { position: static; }
}

@media (max-width: 900px) {
    .sidebar { transform: translateX(-100%); transition: transform .2s ease; }
    .sidebar.open { transform: translateX(0); }
    .sidebar.open + .main + .sidebar-backdrop { display: block; }
    .sidebar-backdrop { position: fixed; z-index: 20; inset: 0; background: rgba(13,22,39,.45); }
    .main { margin-left: 0; padding: 0 22px 40px; }
    .topbar { height: 87px; }
    .topbar > div { margin-right: auto; }
    .topbar h1 { font-size: 20px; }
    .menu-button { display: block; margin-right: 13px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #5f6c81; font-size: 10px; font-weight: 800; }
    .dashboard-grid, .edit-layout, .settings-grid { grid-template-columns: 1fr; }
    .three-panel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .edit-side { position: static; }
    .download-main { gap: 5vw; }
}

@media (max-width: 720px) {
    .main { padding: 0 14px 35px; }
    .topbar-link { display: none; }
    .page-content { padding-top: 17px; }
    .welcome-strip { align-items: flex-start; flex-direction: column; }
    .welcome-strip > div { flex-wrap: wrap; }
    .metric-grid { gap: 10px; }
    .metric-card { padding: 15px; }
    .metric-card > strong { font-size: 24px; }
    .dashboard-grid, .three-panel-grid { grid-template-columns: 1fr; gap: 0; }
    .panel { padding: 16px; border-radius: 15px; }
    .chart-legend { margin-top: 0; justify-content: flex-start; }
    .filter-bar { align-items: stretch; flex-direction: column; }
    .filter-bar label { min-width: 0; }
    .page-actions { align-items: stretch; flex-direction: column; }
    .page-actions > .button { width: 100%; }
    .link-actions { flex-wrap: wrap; }
    .link-actions .button { flex: 1; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .full { grid-column: auto; }
    .release-banner { align-items: flex-start; flex-direction: column; }
    .release-hash { align-items: flex-start; }
    .sticky-actions { align-items: stretch; flex-direction: column; }
    .sticky-actions span { margin: 0; }
    .user-row { grid-template-columns: auto minmax(0, 1fr) auto; }
    .user-row > .status-badge { grid-column: 3; grid-row: 1; }
    .user-actions { grid-column: 2 / -1; align-items: flex-start; flex-direction: row; }
    .reset-form { right: auto; left: 0; width: min(300px, calc(100vw - 90px)); }
    .auth-wrap { grid-template-columns: 1fr; }
    .auth-intro { display: none; }
    .auth-panel { min-height: 100vh; padding: 28px; }
    .public-header, .download-header, .public-footer, .download-footer { width: min(100% - 30px, 1180px); }
    .public-home { width: min(100% - 30px, 1180px); padding: 55px 0; }
    .public-hero h1 { font-size: 44px; }
    .public-app-grid { grid-template-columns: 1fr; }
    .download-main { width: min(100% - 30px, 1080px); min-height: auto; padding: 50px 0; grid-template-columns: 1fr; gap: 40px; }
    .download-copy h1 { font-size: 43px; }
    .download-footer, .public-footer { align-items: flex-start; flex-direction: column; gap: 6px; }
}

@media (max-width: 430px) {
    .metric-grid { grid-template-columns: 1fr; }
    .metric-card { min-height: 130px; }
    .topbar .eyebrow { display: none; }
    .check-row { align-items: flex-start; flex-direction: column; }
    .public-header .brand small, .download-header .brand small { display: none; }
    .public-hero h1, .download-copy h1 { font-size: 37px; }
    .download-card { padding: 21px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

