:root {
    --hn-bg: #05070d;
    --hn-bg-2: #070b14;
    --hn-panel: #0a0f1b;
    --hn-panel-2: #0d1424;
    --hn-panel-3: #101a2e;
    --hn-border: rgba(130, 170, 255, .15);
    --hn-border-strong: rgba(0, 240, 255, .35);
    --hn-text: #e8f1ff;
    --hn-muted: #8391aa;
    --hn-cyan: #00f0ff;
    --hn-blue: #2f7bff;
    --hn-magenta: #ff2bd6;
    --hn-lime: #9dff00;
    --hn-amber: #ffb000;
    --hn-red: #ff4d5e;
    --hn-radius: 16px;
    --hn-radius-sm: 10px;
    --hn-shadow: 0 22px 70px rgba(0, 0, 0, .38);
    --hn-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    --bs-body-bg: var(--hn-bg);
    --bs-body-color: var(--hn-text);
    --bs-border-color: var(--hn-border);
    --bs-secondary-color: var(--hn-muted);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.hn-body {
    min-height: 100vh;
    margin: 0;
    color: var(--hn-text);
    background: radial-gradient(1200px 800px at 80% -10%, rgba(0, 240, 255, .08), transparent 60%),
                radial-gradient(1000px 700px at -10% 30%, rgba(255, 43, 214, .06), transparent 55%),
                var(--hn-bg);
    font-family: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
    overflow-x: hidden;
}
::selection { background: var(--hn-cyan); color: #001014; }
a { color: var(--hn-cyan); text-decoration: none; }
a:hover { color: #fff; }
code, .hn-mono { font-family: var(--hn-mono); }
.text-gradient, .hn-text-gradient {
    background: linear-gradient(100deg, var(--hn-cyan), #7ce7ff 35%, var(--hn-magenta));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.hn-grid-bg {
    position: fixed; inset: 0; z-index: -3; pointer-events: none; opacity: .55;
    background-image: linear-gradient(rgba(90, 140, 220, .055) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(90, 140, 220, .055) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: radial-gradient(ellipse at 50% 0%, #000 20%, transparent 78%);
}
.hn-glow { position: fixed; z-index: -2; border-radius: 50%; filter: blur(110px); pointer-events: none; }
.hn-glow-a { width: 430px; height: 430px; background: rgba(0, 240, 255, .11); top: -140px; right: 8%; }
.hn-glow-b { width: 380px; height: 380px; background: rgba(255, 43, 214, .08); top: 45%; left: -160px; }

.hn-navbar {
    background: rgba(5, 7, 13, .74);
    border-bottom: 1px solid var(--hn-border);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: .7rem 0;
}
.hn-brand { display: inline-flex; align-items: center; gap: .65rem; color: #fff; text-decoration: none; }
.hn-brand:hover { color: #fff; }
.hn-brand-mark {
    display: inline-grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto;
    border: 1px solid rgba(0, 240, 255, .55); border-radius: 11px;
    color: var(--hn-cyan); font-family: var(--hn-mono); font-weight: 800; font-size: .82rem;
    letter-spacing: -.06em; background: linear-gradient(145deg, rgba(0, 240, 255, .12), rgba(47, 123, 255, .03));
    box-shadow: 0 0 26px rgba(0, 240, 255, .16), inset 0 0 18px rgba(0, 240, 255, .05);
}
.hn-brand-text { font-family: var(--hn-mono); font-weight: 800; font-size: .92rem; letter-spacing: .09em; line-height: 1; }
.hn-brand-text span { display: block; color: var(--hn-muted); font-weight: 500; font-size: .58rem; letter-spacing: .32em; margin-top: .25rem; }
.hn-brand-footer .hn-brand-mark { width: 44px; height: 44px; }
.hn-navbar .nav-link {
    color: #b9c6dc; font-size: .88rem; font-weight: 600; padding: .55rem .8rem !important;
    border-radius: 8px; letter-spacing: .01em;
}
.hn-navbar .nav-link:hover, .hn-navbar .nav-link.active { color: #fff; background: rgba(255, 255, 255, .045); }
.hn-navbar .nav-link.active { color: var(--hn-cyan); }
.navbar-toggler { border-color: var(--hn-border); }
.navbar-toggler-icon { filter: invert(1) grayscale(1); opacity: .8; }

.hn-avatar { border-radius: 12px; display: block; }
.hn-avatar-btn { background: transparent; border: 0; padding: 0; }
.hn-avatar-btn::after { color: var(--hn-muted); margin-left: .4rem; }
.hn-dropdown {
    background: #0a101c; border: 1px solid var(--hn-border); border-radius: 12px;
    box-shadow: var(--hn-shadow); min-width: 230px; padding: .4rem;
}
.hn-dropdown .dropdown-item { border-radius: 8px; color: #cbd7e9; font-size: .9rem; padding: .55rem .75rem; }
.hn-dropdown .dropdown-item:hover { background: rgba(0, 240, 255, .08); color: #fff; }
.hn-dropdown .dropdown-divider { border-color: var(--hn-border); }

.btn { border-radius: 9px; font-weight: 700; letter-spacing: .01em; }
.btn-hn {
    color: #001014; border: 1px solid var(--hn-cyan);
    background: linear-gradient(100deg, #00f0ff, #51c8ff 55%, #a5fbff);
    box-shadow: 0 8px 28px rgba(0, 240, 255, .19);
}
.btn-hn:hover, .btn-hn:focus { color: #001014; background: #fff; border-color: #fff; box-shadow: 0 8px 34px rgba(0, 240, 255, .32); }
.btn-outline-hn { color: #d7e5fb; border: 1px solid rgba(150, 185, 240, .28); background: rgba(255, 255, 255, .015); }
.btn-outline-hn:hover { color: #fff; border-color: var(--hn-cyan); background: rgba(0, 240, 255, .07); }
.btn-ghost { color: var(--hn-muted); border: 1px solid transparent; background: transparent; }
.btn-ghost:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.btn-danger { background: linear-gradient(100deg, #ff4d5e, #ff2bd6); border-color: transparent; color: #fff; }
.btn-lg { padding: .72rem 1.3rem; font-size: .96rem; }
.form-control, .form-select {
    background-color: rgba(255, 255, 255, .028); border-color: rgba(150, 185, 240, .22);
    color: var(--hn-text); border-radius: 9px; padding: .6rem .8rem;
}
.form-control:focus, .form-select:focus {
    background-color: rgba(255, 255, 255, .045); color: #fff; border-color: var(--hn-cyan);
    box-shadow: 0 0 0 .2rem rgba(0, 240, 255, .1);
}
.form-control::placeholder { color: #59657a; }
.form-label { color: #b9c6dc; font-size: .82rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.form-text { color: #6f7d94; font-size: .76rem; }
.form-check-input { background-color: #0a101c; border-color: rgba(150, 185, 240, .35); }
.form-check-input:checked { background-color: var(--hn-cyan); border-color: var(--hn-cyan); }
.form-select option { background: #0a101c; color: #e8f1ff; }

.hn-main { min-height: 65vh; position: relative; }
.hn-flash-wrap { position: relative; z-index: 5; padding-top: 1rem; }
.hn-alert { background: rgba(13, 20, 36, .96); border: 1px solid var(--hn-border); color: var(--hn-text); border-radius: 11px; box-shadow: var(--hn-shadow); }
.alert-danger.hn-alert { border-color: rgba(255, 77, 94, .45); }
.alert-success.hn-alert { border-color: rgba(157, 255, 0, .38); }
.alert-warning.hn-alert { border-color: rgba(255, 176, 0, .45); }

.hn-chip {
    display: inline-flex; align-items: center; gap: .4rem; padding: .28rem .62rem;
    border: 1px solid var(--hn-border); border-radius: 999px; background: rgba(255, 255, 255, .025);
    color: #9fb2cc; font-family: var(--hn-mono); font-size: .63rem; font-weight: 700;
    letter-spacing: .09em; text-transform: uppercase; white-space: nowrap;
}
.hn-chip-live { color: var(--hn-cyan); border-color: rgba(0, 240, 255, .35); background: rgba(0, 240, 255, .045); }
.hn-chip-link:hover { color: #fff; border-color: var(--hn-cyan); }
.hn-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--hn-cyan); box-shadow: 0 0 10px var(--hn-cyan); animation: hn-pulse 2s infinite; }
@keyframes hn-pulse { 50% { opacity: .35; } }

.hn-eyebrow { display: inline-block; font-family: var(--hn-mono); color: var(--hn-cyan); font-size: .66rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; margin-bottom: .55rem; }
.hn-section { padding: 4.6rem 0; position: relative; }
.hn-section-tight { padding: 2.2rem 0 4rem; }
.hn-section-head { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.hn-section-head h2 { font-size: clamp(1.65rem, 3vw, 2.5rem); font-weight: 800; letter-spacing: -.035em; margin: 0; }
.hn-link { color: #a9bad3; font-size: .82rem; font-weight: 700; }
.hn-link:hover { color: var(--hn-cyan); }

.hn-hero { padding: 5.2rem 0 4.2rem; position: relative; }
.hn-hero-title { font-size: clamp(3rem, 7.6vw, 6.1rem); line-height: .92; font-weight: 900; letter-spacing: -.07em; margin: 0; }
.hn-hero-lead { color: #a9b8cf; font-size: clamp(1rem, 1.3vw, 1.16rem); line-height: 1.65; max-width: 42rem; margin: 1.6rem 0 0; }
.hn-hero-stats { display: flex; flex-wrap: wrap; gap: 1.6rem 2.4rem; margin-top: 2.8rem; padding-top: 1.6rem; border-top: 1px solid var(--hn-border); }
.hn-hero-stats div { display: flex; flex-direction: column; gap: .15rem; }
.hn-hero-stats strong { font-family: var(--hn-mono); font-size: 1.35rem; color: #fff; }
.hn-hero-stats span { color: var(--hn-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }

.hn-terminal { border: 1px solid rgba(0, 240, 255, .22); border-radius: 15px; background: rgba(6, 11, 20, .85); box-shadow: 0 30px 80px rgba(0, 0, 0, .45), 0 0 60px rgba(0, 240, 255, .05); overflow: hidden; transform: rotate(1deg); }
.hn-terminal-bar { display: flex; align-items: center; gap: .35rem; padding: .65rem .8rem; border-bottom: 1px solid var(--hn-border); background: rgba(255, 255, 255, .025); font-size: .62rem; color: #728099; }
.hn-terminal-dot { width: 7px; height: 7px; border-radius: 50%; background: #2a3548; }
.hn-terminal-dot:first-child { background: #ff4d5e; }
.hn-terminal-dot:nth-child(2) { background: var(--hn-amber); }
.hn-terminal-dot:nth-child(3) { background: var(--hn-lime); }
.hn-terminal-body { padding: 1.1rem 1.15rem 1.3rem; font-size: .73rem; color: #8394ad; display: grid; gap: .45rem; }
.hn-log { display: flex; gap: .55rem; align-items: center; }
.hn-log-time { color: #4d5c73; }
.hn-log b { color: var(--hn-cyan); font-weight: 600; }
.hn-log-accent { color: var(--hn-magenta); margin-top: .75rem; letter-spacing: .12em; font-size: .64rem; }
.hn-log-row { color: #d9e7fb; }
.hn-rank-mini { color: var(--hn-cyan); width: 2rem; }
.hn-cursor { animation: hn-blink 1s step-end infinite; color: var(--hn-cyan); }
@keyframes hn-blink { 50% { opacity: 0; } }

.hn-podium { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 1rem; align-items: end; }
.hn-podium-compact { max-width: 850px; margin: 0 auto 1.6rem; }
.hn-podium-card {
    position: relative; display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 1.3rem 1rem 1.4rem; border: 1px solid var(--hn-border); border-radius: var(--hn-radius);
    background: linear-gradient(170deg, rgba(17, 27, 46, .85), rgba(7, 11, 20, .9)); color: var(--hn-text);
    overflow: hidden; transition: transform .2s, border-color .2s, box-shadow .2s;
}
.hn-podium-card:hover { transform: translateY(-4px); border-color: rgba(0, 240, 255, .4); color: #fff; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); }
.hn-podium-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, transparent, rgba(0, 240, 255, .7), transparent); opacity: .45; }
.hn-podium-2 { padding-top: 2.1rem; padding-bottom: 1.9rem; border-color: rgba(0, 240, 255, .32); box-shadow: 0 0 50px rgba(0, 240, 255, .06); }
.hn-podium-2::before { height: 4px; opacity: 1; background: linear-gradient(90deg, var(--hn-cyan), #fff, var(--hn-magenta)); }
.hn-podium-rank { font-family: var(--hn-mono); font-size: .7rem; color: var(--hn-muted); letter-spacing: .12em; margin-bottom: .5rem; }
.hn-podium-name { font-weight: 800; font-size: 1.05rem; margin: .75rem 0 .4rem; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.hn-podium-points { font-family: var(--hn-mono); font-weight: 800; font-size: 1.3rem; margin-top: .55rem; color: #fff; }
.hn-podium-points span { font-size: .58rem; color: var(--hn-muted); letter-spacing: .1em; }
.hn-podium-level { font-family: var(--hn-mono); font-size: .58rem; color: var(--hn-muted); letter-spacing: .1em; margin-top: .3rem; }
.hn-podium-clan { font-size: .68rem; color: var(--hn-cyan); margin-top: .35rem; }
.hn-avatar-podium { margin-top: .35rem; box-shadow: 0 0 30px rgba(0, 240, 255, .12); }

.hn-empty { text-align: center; padding: 3rem 1rem; border: 1px dashed rgba(150, 185, 240, .2); border-radius: var(--hn-radius); background: rgba(255, 255, 255, .012); }
.hn-empty-icon { font-size: 2rem; color: var(--hn-cyan); margin-bottom: .7rem; }
.hn-empty h3 { font-size: 1.2rem; font-weight: 800; }
.hn-empty p { color: var(--hn-muted); max-width: 34rem; margin: 0 auto 1.2rem; }

.hn-panel { border: 1px solid var(--hn-border); border-radius: var(--hn-radius); background: linear-gradient(180deg, rgba(13, 20, 36, .8), rgba(8, 13, 24, .86)); padding: 1.4rem; }
.hn-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.hn-panel-head h3 { margin: 0; font-size: 1.12rem; font-weight: 800; letter-spacing: -.02em; }
.hn-panel-head .hn-eyebrow { margin-bottom: .25rem; }

.hn-list { display: grid; gap: .1rem; }
.hn-list-row { display: flex; align-items: center; gap: .8rem; padding: .72rem .2rem; border-bottom: 1px solid rgba(130, 170, 255, .09); color: var(--hn-text); }
.hn-list-row:last-child { border-bottom: 0; }
.hn-list-row:hover { color: #fff; background: rgba(255, 255, 255, .02); }
.hn-list-rank { font-family: var(--hn-mono); color: #6f7f97; font-size: .75rem; width: 2rem; flex: 0 0 auto; }
.hn-list-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.hn-list-name { font-weight: 700; font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hn-list-sub { font-size: .72rem; color: var(--hn-muted); }
.hn-list-points { font-family: var(--hn-mono); font-weight: 800; color: #fff; text-align: right; }
.hn-list-points small { display: block; color: var(--hn-muted); font-size: .52rem; letter-spacing: .1em; }

.hn-clan-mini-list { display: grid; gap: .55rem; }
.hn-clan-mini { display: flex; align-items: center; gap: .7rem; padding: .65rem; border: 1px solid rgba(130, 170, 255, .1); border-radius: 10px; color: var(--hn-text); background: rgba(255, 255, 255, .012); }
.hn-clan-mini:hover { color: #fff; border-color: rgba(0, 240, 255, .3); background: rgba(0, 240, 255, .03); }
.hn-clan-mini strong { display: block; font-size: .84rem; }
.hn-clan-mini small { display: block; color: var(--hn-muted); font-size: .67rem; }
.hn-clan-points { margin-left: auto; font-family: var(--hn-mono); font-weight: 700; font-size: .82rem; color: var(--hn-cyan); }
.hn-clan-emblem {
    display: inline-grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto;
    border: 1px solid rgba(0, 240, 255, .3); border-radius: 11px; color: var(--hn-cyan);
    background: linear-gradient(145deg, rgba(0, 240, 255, .12), rgba(255, 43, 214, .05));
    font-family: var(--hn-mono); font-weight: 800; font-size: 1rem;
}
.hn-clan-emblem.small { width: 34px; height: 34px; font-size: .8rem; border-radius: 9px; }
.hn-clan-emblem.xl { width: 76px; height: 76px; font-size: 1.8rem; border-radius: 18px; }
.hn-clan-emblem.large { width: 58px; height: 58px; font-size: 1.3rem; }

.hn-feature { height: 100%; padding: 1.4rem; border: 1px solid var(--hn-border); border-radius: var(--hn-radius); background: rgba(255, 255, 255, .012); }
.hn-feature-icon { font-family: var(--hn-mono); color: var(--hn-cyan); font-size: .7rem; letter-spacing: .12em; margin-bottom: 1.2rem; }
.hn-feature h3 { font-size: 1rem; font-weight: 800; }
.hn-feature p { color: var(--hn-muted); font-size: .84rem; line-height: 1.6; margin: 0; }
.hn-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.4rem; border: 1px solid rgba(0, 240, 255, .25); border-radius: 20px; background: radial-gradient(700px 240px at 10% 0%, rgba(0, 240, 255, .12), transparent 70%), #080d18; }
.hn-cta h2 { font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -.03em; }
.hn-cta p { color: var(--hn-muted); margin: 0; }

.hn-footer { margin-top: 2rem; padding: 3.2rem 0 1.4rem; border-top: 1px solid var(--hn-border); background: rgba(4, 7, 12, .7); }
.hn-footer a { display: block; color: #8796ad; font-size: .82rem; margin: .35rem 0; }
.hn-footer a:hover { color: var(--hn-cyan); }
.hn-footer-title { font-family: var(--hn-mono); color: #d9e7fb; font-size: .67rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .8rem; }
.hn-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--hn-border); margin-top: 2.4rem; padding-top: 1.1rem; color: #59677d; font-size: .67rem; }

.hn-page-head { padding: 3.6rem 0 1.6rem; border-bottom: 1px solid var(--hn-border); background: linear-gradient(180deg, rgba(0, 240, 255, .025), transparent); }
.hn-page-head h1 { font-size: clamp(2.2rem, 5vw, 3.7rem); font-weight: 900; letter-spacing: -.055em; margin: 0; }
.hn-page-head p { color: #a7b4c9; max-width: 52rem; margin: .8rem 0 0; line-height: 1.65; }
.hn-tabs { display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; }
.hn-tab { padding: .55rem .9rem; border: 1px solid transparent; border-radius: 8px; color: #8391aa; font-size: .85rem; font-weight: 700; }
.hn-tab:hover { color: #fff; background: rgba(255, 255, 255, .04); }
.hn-tab.active { color: var(--hn-cyan); border-color: rgba(0, 240, 255, .28); background: rgba(0, 240, 255, .06); }
.hn-tab-meta { margin-left: auto; font-size: .72rem; color: var(--hn-muted); }

.hn-filter-bar { display: flex; padding: 1rem; margin: 0 0 1rem; border: 1px solid var(--hn-border); border-radius: 12px; background: rgba(10, 16, 28, .7); }
.hn-table { --bs-table-bg: transparent; --bs-table-color: var(--hn-text); --bs-table-border-color: rgba(130, 170, 255, .09); margin: 0; }
.hn-table thead th { color: #7888a0; font-family: var(--hn-mono); font-size: .62rem; letter-spacing: .01em; font-weight: 600; text-transform: uppercase; border-bottom-color: rgba(130, 170, 255, .14); padding: .65rem .7rem; white-space: nowrap; }
.hn-table tbody td { padding: .72rem .7rem; vertical-align: middle; }
.hn-table tbody tr:hover { --bs-table-bg: rgba(0, 240, 255, .025); }
.hn-rank-number { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; font-family: var(--hn-mono); font-size: .7rem; color: #8796ad; }
.hn-rank-number.top { color: var(--hn-cyan); border: 1px solid rgba(0, 240, 255, .3); background: rgba(0, 240, 255, .05); }
.hn-player-cell { display: flex; align-items: center; gap: .65rem; color: var(--hn-text); min-width: 0; }
.hn-player-cell:hover { color: #fff; }
.hn-player-cell strong { display: block; font-size: .86rem; }
.hn-player-cell small { display: block; color: var(--hn-muted); font-size: .67rem; }
.hn-points-cell { font-family: var(--hn-mono); font-weight: 800; color: #fff; white-space: nowrap; }
.hn-level-pill { display: inline-grid; place-items: center; min-width: 28px; padding: .18rem .4rem; border-radius: 6px; background: rgba(47, 123, 255, .12); color: #9cc3ff; font-family: var(--hn-mono); font-size: .68rem; }
.hn-row-arrow { color: #60718b; font-size: 1.1rem; }
.hn-row-arrow:hover { color: var(--hn-cyan); }
.hn-personal-rank { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; margin-bottom: 1rem; border: 1px solid rgba(0, 240, 255, .28); border-radius: 12px; background: linear-gradient(90deg, rgba(0, 240, 255, .06), rgba(255, 43, 214, .03)); }
.hn-personal-rank strong { font-size: .95rem; }
.hn-personal-rank-numbers { display: flex; gap: 1.5rem; }
.hn-personal-rank-numbers div { display: flex; flex-direction: column; align-items: end; }
.hn-personal-rank-numbers span { color: var(--hn-muted); font-size: .63rem; text-transform: uppercase; letter-spacing: .08em; }
.hn-personal-rank-numbers strong { font-family: var(--hn-mono); font-size: 1rem; }
.hn-share-strip { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .45rem; margin: 1.1rem 0 .4rem; padding: .7rem; border: 1px dashed rgba(130, 170, 255, .16); border-radius: 10px; background: rgba(255, 255, 255, .012); }

.hn-faction { display: inline-flex; align-items: center; padding: .22rem .5rem; border-radius: 5px; border: 1px solid rgba(255, 255, 255, .1); font-family: var(--hn-mono); font-size: .59rem; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.hn-faction-free { color: #b1bed2; border-color: rgba(177, 190, 210, .25); }
.hn-faction-netrunners { color: var(--hn-cyan); border-color: rgba(0, 240, 255, .3); background: rgba(0, 240, 255, .04); }
.hn-faction-ghosts { color: #c59bff; border-color: rgba(197, 155, 255, .3); background: rgba(197, 155, 255, .04); }
.hn-faction-syndicate { color: var(--hn-magenta); border-color: rgba(255, 43, 214, .3); background: rgba(255, 43, 214, .04); }
.hn-faction-wardens { color: var(--hn-amber); border-color: rgba(255, 176, 0, .3); background: rgba(255, 176, 0, .04); }
.hn-status { display: inline-flex; align-items: center; padding: .22rem .5rem; border-radius: 5px; font-family: var(--hn-mono); font-size: .59rem; letter-spacing: .04em; text-transform: uppercase; border: 1px solid transparent; white-space: nowrap; }
.hn-status-ok { color: var(--hn-lime); background: rgba(157, 255, 0, .07); border-color: rgba(157, 255, 0, .22); }
.hn-status-warn { color: var(--hn-amber); background: rgba(255, 176, 0, .07); border-color: rgba(255, 176, 0, .22); }
.hn-status-muted { color: #9aa9bd; background: rgba(154, 169, 189, .06); border-color: rgba(154, 169, 189, .18); }

.hn-auth-section { padding: 3.2rem 0 5rem; }
.hn-auth-card { padding: 2rem; border: 1px solid var(--hn-border); border-radius: 18px; background: linear-gradient(175deg, rgba(13, 20, 36, .94), rgba(7, 11, 20, .96)); box-shadow: var(--hn-shadow); }
.hn-auth-card-wide { padding: 2rem; }
.hn-auth-head { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.6rem; }
.hn-auth-head h2 { font-size: 1.35rem; font-weight: 800; margin: 0; }
.hn-auth-head p { margin: .15rem 0 0; color: var(--hn-muted); font-size: .82rem; }
.hn-auth-sep { display: flex; align-items: center; gap: .8rem; margin: 1.3rem 0; color: #65748a; font-size: .72rem; }
.hn-auth-sep::before, .hn-auth-sep::after { content: ""; height: 1px; flex: 1; background: var(--hn-border); }
.hn-auth-art { height: 100%; min-height: 520px; display: flex; align-items: center; padding: 2.2rem; border: 1px solid var(--hn-border); border-radius: 18px; background: radial-gradient(500px 380px at 20% 10%, rgba(0, 240, 255, .1), transparent 60%), linear-gradient(180deg, rgba(13, 20, 36, .75), rgba(5, 9, 16, .9)); position: relative; overflow: hidden; }
.hn-auth-art-short { min-height: 460px; }
.hn-auth-art::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(0, 240, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 240, 255, .05) 1px, transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(circle at 50% 50%, #000, transparent 75%); opacity: .5; }
.hn-auth-art-inner { position: relative; z-index: 1; }
.hn-auth-art h1, .hn-auth-art h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: 900; letter-spacing: -.05em; line-height: 1.05; margin: .6rem 0 1rem; }
.hn-auth-art p { color: #a7b4c9; font-size: .9rem; line-height: 1.7; }
.hn-auth-code { margin: 1.5rem 0; padding: 1rem; border: 1px solid rgba(0, 240, 255, .18); border-radius: 10px; background: rgba(0, 0, 0, .22); font-size: .72rem; color: #89a0ba; display: grid; gap: .35rem; }
.hn-auth-badges { display: flex; flex-wrap: wrap; gap: .4rem; }
.hn-auth-badges span { padding: .22rem .45rem; border: 1px solid var(--hn-border); border-radius: 4px; font-family: var(--hn-mono); font-size: .55rem; color: #72839b; letter-spacing: .08em; }
.hn-check-list { list-style: none; padding: 0; margin: 1rem 0 1.5rem; display: grid; gap: .6rem; }
.hn-check-list li { position: relative; padding-left: 1.4rem; color: #aebbd0; font-size: .84rem; }
.hn-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--hn-cyan); font-family: var(--hn-mono); }
.hn-quote { border-left: 2px solid var(--hn-magenta); padding-left: .9rem; color: #95a5bc; font-size: .8rem; font-style: italic; }
.hn-form-note { color: #65748a; font-size: .72rem; line-height: 1.5; margin: 1rem 0 0; }
.hn-password-wrap { position: relative; }
.hn-password-toggle { position: absolute; right: .55rem; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #6f8099; font-family: var(--hn-mono); font-size: .6rem; letter-spacing: .08em; }
.hn-faction-picker { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem; }
.hn-faction-option input { position: absolute; opacity: 0; pointer-events: none; }
.hn-faction-option-inner { display: flex; align-items: center; gap: .5rem; padding: .55rem .65rem; border: 1px solid var(--hn-border); border-radius: 8px; cursor: pointer; font-size: .75rem; color: #9eacc2; }
.hn-faction-option input:checked + .hn-faction-option-inner { border-color: var(--hn-cyan); background: rgba(0, 240, 255, .06); color: #fff; }
.hn-faction-option input:focus-visible + .hn-faction-option-inner { outline: 2px solid var(--hn-cyan); outline-offset: 2px; }
.hn-faction-dot { width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto; }
.hn-faction-dot.hn-faction-free { background: #b1bed2; }
.hn-faction-dot.hn-faction-netrunners { background: var(--hn-cyan); }
.hn-faction-dot.hn-faction-ghosts { background: #c59bff; }
.hn-faction-dot.hn-faction-syndicate { background: var(--hn-magenta); }
.hn-faction-dot.hn-faction-wardens { background: var(--hn-amber); }

.hn-dash-head { padding: 2.8rem 0 1.4rem; border-bottom: 1px solid var(--hn-border); background: linear-gradient(180deg, rgba(0, 240, 255, .035), transparent); }
.hn-dash-profile { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.hn-dash-avatar { position: relative; }
.hn-level-badge { position: absolute; right: -8px; bottom: -5px; padding: .18rem .4rem; border-radius: 5px; background: var(--hn-cyan); color: #001014; font-family: var(--hn-mono); font-size: .58rem; font-weight: 800; }
.hn-dash-identity { flex: 1; min-width: 220px; }
.hn-dash-identity h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); font-weight: 900; letter-spacing: -.05em; margin: 0; }
.hn-dash-identity p { color: #9eacc2; margin: 0; max-width: 46rem; }
.hn-dash-mini { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; color: var(--hn-muted); font-family: var(--hn-mono); font-size: .69rem; }
.hn-dash-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.hn-stat-card { padding: 1.1rem 1.2rem; border: 1px solid var(--hn-border); border-radius: 12px; background: rgba(255, 255, 255, .018); height: 100%; }
.hn-stat-label { display: block; color: var(--hn-muted); font-family: var(--hn-mono); font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .4rem; }
.hn-stat-card strong { display: block; font-family: var(--hn-mono); font-size: 1.7rem; font-weight: 800; line-height: 1.1; }
.hn-stat-card strong small { font-size: .65rem; color: var(--hn-muted); }
.hn-stat-sub { display: block; color: #75859d; font-size: .7rem; margin-top: .3rem; }
.hn-level-progress { margin-top: 1rem; }
.hn-progress { height: 8px; background: rgba(255, 255, 255, .05); border-radius: 999px; }
.hn-progress .progress-bar { background: linear-gradient(90deg, var(--hn-blue), var(--hn-cyan), var(--hn-magenta)); border-radius: 999px; }
.hn-mission-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.hn-mission-card { padding: .9rem; border: 1px solid rgba(130, 170, 255, .1); border-radius: 10px; background: rgba(255, 255, 255, .012); }
.hn-mission-top { display: flex; justify-content: space-between; align-items: center; }
.hn-mission-icon { color: var(--hn-cyan); font-family: var(--hn-mono); }
.hn-mission-points { color: var(--hn-lime); font-family: var(--hn-mono); font-size: .76rem; font-weight: 700; }
.hn-mission-card h4 { font-size: .84rem; font-weight: 700; margin: .55rem 0 .25rem; }
.hn-mission-card p { color: var(--hn-muted); font-size: .71rem; line-height: 1.45; margin: 0 0 .55rem; }
.hn-mission-meta { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; color: #74859d; font-family: var(--hn-mono); font-size: .56rem; }
.hn-share-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; }
.hn-share-code { padding: .7rem; border: 1px dashed var(--hn-border); border-radius: 8px; background: rgba(0, 0, 0, .14); }
.hn-challenge-mini { display: flex; flex-direction: column; gap: .2rem; padding: .65rem 0; border-bottom: 1px solid rgba(130, 170, 255, .09); color: var(--hn-text); }
.hn-challenge-mini:last-child { border-bottom: 0; }
.hn-challenge-mini strong { font-size: .81rem; }
.hn-challenge-mini small { color: var(--hn-muted); font-size: .68rem; }
.hn-achievement-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; }
.hn-achievement { display: flex; align-items: center; gap: .4rem; padding: .5rem; border: 1px solid rgba(130, 170, 255, .1); border-radius: 8px; color: #9eacc2; font-size: .66rem; }
.hn-achievement.earned { border-color: rgba(157, 255, 0, .22); color: #d9ffb0; background: rgba(157, 255, 0, .035); }
.hn-achievement.locked { opacity: .45; }
.hn-achievement-icon { color: var(--hn-cyan); font-family: var(--hn-mono); }
.hn-achievement-icon.large { font-size: 1.5rem; }

.hn-profile-hero { padding: 1.6rem 0 0; }
.hn-profile-banner { position: relative; padding: 2rem; border: 1px solid var(--hn-border); border-radius: 20px; background: radial-gradient(700px 300px at 15% 0%, rgba(0, 240, 255, .11), transparent 65%), linear-gradient(160deg, #0c1525, #070b14); overflow: hidden; }
.hn-profile-scan { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0, 240, 255, .018) 3px, rgba(0, 240, 255, .018) 4px); pointer-events: none; }
.hn-profile-main { position: relative; z-index: 1; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.hn-profile-avatar { position: relative; }
.hn-profile-info { flex: 1; min-width: 240px; }
.hn-profile-info h1 { font-size: clamp(2.3rem, 5vw, 4rem); font-weight: 900; letter-spacing: -.06em; margin: 0; }
.hn-profile-real { color: #7e8da3; font-size: .8rem; margin-bottom: .5rem; }
.hn-profile-bio { color: #b3c1d5; max-width: 50rem; margin: 0; }
.hn-profile-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.hn-achievement-list { display: grid; gap: .5rem; }
.hn-achievement-item { display: flex; align-items: center; gap: .8rem; padding: .8rem; border: 1px solid rgba(130, 170, 255, .1); border-radius: 10px; background: rgba(255, 255, 255, .012); }
.hn-achievement-item > div { flex: 1; }
.hn-achievement-item strong { font-size: .86rem; }
.hn-achievement-item p { color: var(--hn-muted); font-size: .73rem; margin: .1rem 0; }
.hn-achievement-item small { color: #71829a; font-size: .65rem; }
.hn-locked-title { color: #66768d; font-family: var(--hn-mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; margin: 1rem 0 .5rem; }
.hn-locked-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; }
.hn-award-list { display: grid; gap: .45rem; }
.hn-award-row { display: flex; align-items: center; gap: .7rem; padding: .6rem; border-bottom: 1px solid rgba(130, 170, 255, .08); }
.hn-award-row:last-child { border-bottom: 0; }
.hn-award-row > div { flex: 1; }
.hn-award-icon { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255, 176, 0, .28); border-radius: 8px; color: var(--hn-amber); font-family: var(--hn-mono); }
.hn-award-row strong { display: block; font-size: .8rem; }
.hn-award-row small { display: block; color: var(--hn-muted); font-size: .66rem; }
.hn-clan-feature { display: flex; align-items: center; gap: .8rem; }
.hn-clan-feature strong { display: block; }
.hn-clan-feature p { color: var(--hn-muted); font-size: .75rem; margin: .1rem 0; }
.hn-dl { margin: 0; }
.hn-dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid rgba(130, 170, 255, .08); }
.hn-dl div:last-child { border-bottom: 0; }
.hn-dl dt { color: var(--hn-muted); font-weight: 500; font-size: .72rem; }
.hn-dl dd { margin: 0; font-family: var(--hn-mono); font-size: .74rem; text-align: right; }
.hn-avatar-picker { display: flex; flex-wrap: wrap; gap: .45rem; }
.hn-avatar-option input { position: absolute; opacity: 0; pointer-events: none; }
.hn-avatar-option span { display: block; padding: 3px; border: 1px solid var(--hn-border); border-radius: 11px; cursor: pointer; }
.hn-avatar-option input:checked + span { border-color: var(--hn-cyan); box-shadow: 0 0 0 2px rgba(0, 240, 255, .18); }
.hn-token-list { display: grid; gap: .4rem; }
.hn-token-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .55rem 0; border-bottom: 1px solid rgba(130, 170, 255, .08); }
.hn-token-row:last-child { border-bottom: 0; }
.hn-token-row strong { display: block; font-size: .76rem; }
.hn-token-row small { display: block; color: var(--hn-muted); font-size: .62rem; }

.hn-clan-hero { padding: 1.6rem 0 0; }
.hn-clan-banner { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; padding: 1.8rem; border: 1px solid var(--hn-border); border-radius: 20px; background: radial-gradient(600px 280px at 10% 0%, rgba(255, 43, 214, .08), transparent 65%), linear-gradient(160deg, #0c1525, #070b14); }
.hn-clan-banner-left { display: flex; align-items: center; gap: 1rem; flex: 1; min-width: 260px; }
.hn-clan-banner h1 { font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 900; letter-spacing: -.05em; margin: 0; }
.hn-clan-banner p { color: #a3b1c6; margin: 0; }
.hn-clan-banner-stats { display: flex; gap: 1.4rem; flex-wrap: wrap; }
.hn-clan-banner-stats div { display: flex; flex-direction: column; }
.hn-clan-banner-stats span { color: var(--hn-muted); font-family: var(--hn-mono); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.hn-clan-banner-stats strong { font-family: var(--hn-mono); font-size: 1rem; }
.hn-clan-banner-actions { display: flex; gap: .4rem; flex-wrap: wrap; width: 100%; padding-top: .6rem; border-top: 1px solid var(--hn-border); }
.hn-invite-box { padding: .9rem; margin-bottom: 1rem; border: 1px dashed rgba(0, 240, 255, .3); border-radius: 10px; background: rgba(0, 240, 255, .03); }
.hn-mini-bars { display: grid; gap: .5rem; }
.hn-mini-bars div { display: flex; justify-content: space-between; padding: .55rem .7rem; border: 1px solid var(--hn-border); border-radius: 7px; }
.hn-mini-bars span { color: var(--hn-muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.hn-mini-bars strong { font-family: var(--hn-mono); font-size: .8rem; }

.hn-challenge-list { display: grid; gap: .45rem; }
.hn-challenge-row { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem; border: 1px solid rgba(130, 170, 255, .1); border-radius: 10px; background: rgba(255, 255, 255, .012); color: var(--hn-text); }
.hn-challenge-row:hover { color: #fff; border-color: rgba(0, 240, 255, .3); }
.hn-challenge-row-main { min-width: 0; }
.hn-challenge-row-main strong { display: block; font-size: .86rem; }
.hn-challenge-row-main small { color: var(--hn-muted); font-size: .68rem; }
.hn-challenge-row-side { display: flex; flex-direction: column; align-items: end; gap: .2rem; }
.hn-duel { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; }
.hn-duel-side { padding: 1rem; border: 1px solid var(--hn-border); border-radius: 12px; text-align: center; }
.hn-duel-side.winner { border-color: rgba(157, 255, 0, .35); background: rgba(157, 255, 0, .035); }
.hn-duel-player { display: inline-flex; align-items: center; gap: .5rem; color: var(--hn-text); margin: .3rem 0; }
.hn-duel-avatar { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; border: 1px solid rgba(0, 240, 255, .3); color: var(--hn-cyan); font-family: var(--hn-mono); font-size: .8rem; }
.hn-duel-score { font-family: var(--hn-mono); font-size: 2.1rem; font-weight: 800; line-height: 1; margin: .4rem 0; }
.hn-duel-bar { height: 5px; border-radius: 999px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.hn-duel-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--hn-blue), var(--hn-cyan)); }
.hn-duel-vs { color: var(--hn-magenta); font-size: .7rem; letter-spacing: .08em; }
.hn-result-banner { margin-top: 1rem; padding: .85rem 1rem; border: 1px solid rgba(157, 255, 0, .3); border-radius: 9px; background: rgba(157, 255, 0, .05); color: #dbffba; }
.hn-participants { display: grid; gap: .5rem; }
.hn-participant { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid rgba(130, 170, 255, .08); }
.hn-participant:last-child { border-bottom: 0; }
.hn-participant span { color: var(--hn-muted); font-size: .7rem; }
.hn-participant strong { font-size: .74rem; text-align: right; }
.hn-rule { display: flex; gap: .7rem; padding: .55rem 0; }
.hn-rule span { font-family: var(--hn-mono); color: var(--hn-cyan); font-size: .65rem; }
.hn-rule p { color: #9eacc2; font-size: .76rem; margin: 0; }
.hn-number-list { padding-left: 1.1rem; margin: 0; color: #9eacc2; font-size: .78rem; line-height: 1.6; }
.hn-number-list li { margin-bottom: .45rem; }
.hn-number-list li::marker { color: var(--hn-cyan); font-family: var(--hn-mono); }

.hn-prose h2 { font-size: 1.2rem; font-weight: 800; margin: 1.6rem 0 .6rem; }
.hn-prose h2:first-child { margin-top: 0; }
.hn-prose p { color: #a8b6ca; line-height: 1.75; font-size: .9rem; }

.hn-error-page { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 2rem; }
.hn-error-code { font-family: var(--hn-mono); font-size: clamp(5rem, 20vw, 12rem); font-weight: 900; line-height: 1; color: rgba(0, 240, 255, .14); letter-spacing: -.08em; }
.hn-error-page h1 { font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 900; letter-spacing: -.04em; }
.hn-error-page p { color: var(--hn-muted); max-width: 34rem; }

.hn-admin-body { background: #05080e; }
.hn-admin-shell { display: flex; min-height: 100vh; }
.hn-admin-sidebar { width: 240px; flex: 0 0 auto; position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 1.2rem; border-right: 1px solid var(--hn-border); background: #070b13; }
.hn-admin-tag { color: #5f6f85; font-family: var(--hn-mono); font-size: .58rem; letter-spacing: .12em; margin: 1rem 0 1.2rem; }
.hn-admin-nav { display: grid; gap: .2rem; }
.hn-admin-nav a { display: flex; align-items: center; gap: .6rem; padding: .55rem .65rem; border-radius: 8px; color: #8d9db4; font-size: .8rem; font-weight: 600; }
.hn-admin-nav a span { width: 1.1rem; color: #5e718b; font-family: var(--hn-mono); }
.hn-admin-nav a:hover, .hn-admin-nav a.active { color: #fff; background: rgba(0, 240, 255, .06); }
.hn-admin-nav a.active span { color: var(--hn-cyan); }
.hn-admin-side-footer { margin-top: auto; display: grid; gap: .6rem; padding-top: 1rem; border-top: 1px solid var(--hn-border); font-size: .72rem; }
.hn-admin-side-footer a { color: #7d8da3; }
.hn-admin-main { flex: 1; min-width: 0; }
.hn-admin-topbar { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; border-bottom: 1px solid var(--hn-border); background: rgba(7, 11, 19, .75); }
.hn-admin-topbar strong { font-size: .95rem; }
.hn-admin-content { padding: 1.5rem; }
.hn-admin-panel { padding: 1.2rem; border: 1px solid var(--hn-border); border-radius: 13px; background: #0a0f1b; }
.hn-admin-panel-head { display: flex; justify-content: space-between; align-items: start; gap: 1rem; margin-bottom: 1rem; }
.hn-admin-panel-head h3 { margin: 0; font-size: 1rem; font-weight: 800; }
.hn-admin-stat { padding: 1rem; border: 1px solid var(--hn-border); border-radius: 11px; background: #0a0f1b; height: 100%; }
.hn-admin-stat span { display: block; color: var(--hn-muted); font-family: var(--hn-mono); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.hn-admin-stat strong { display: block; font-family: var(--hn-mono); font-size: 1.6rem; margin: .2rem 0; }
.hn-admin-stat small { color: #71829a; font-size: .65rem; }
.hn-mini-kpi { padding: .7rem; border: 1px solid var(--hn-border); border-radius: 8px; }
.hn-mini-kpi span { display: block; color: var(--hn-muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.hn-mini-kpi strong { font-size: .8rem; }
.hn-admin-mission-list, .hn-admin-reward-list { display: grid; gap: .6rem; }
.hn-admin-mission-item, .hn-admin-reward-item { padding: .7rem; border: 1px solid rgba(130, 170, 255, .1); border-radius: 9px; background: rgba(255, 255, 255, .012); }
.hn-meta { color: #7b8da7; font-size: .65rem; }
.hn-admin-body .hn-table { font-size: .8rem; }
.hn-admin-body code { color: #9dd8ff; }

.pagination { --bs-pagination-bg: transparent; --bs-pagination-border-color: var(--hn-border); --bs-pagination-color: #8d9db4; --bs-pagination-hover-bg: rgba(0, 240, 255, .05); --bs-pagination-hover-color: #fff; --bs-pagination-hover-border-color: var(--hn-border); --bs-pagination-active-bg: rgba(0, 240, 255, .09); --bs-pagination-active-border-color: rgba(0, 240, 255, .35); --bs-pagination-active-color: var(--hn-cyan); --bs-pagination-disabled-bg: transparent; --bs-pagination-disabled-border-color: var(--hn-border); }
.pagination .page-link { border-radius: 7px !important; margin: 0 2px; }
.hn-toast {
    position: fixed; z-index: 2000; left: 50%; bottom: 1.4rem; transform: translate(-50%, 1rem);
    max-width: min(92vw, 420px); padding: .7rem 1rem; border: 1px solid rgba(0, 240, 255, .35);
    border-radius: 9px; background: #0b1220; color: #e8f1ff; font-size: .8rem; box-shadow: var(--hn-shadow);
    opacity: 0; pointer-events: none; transition: opacity .18s, transform .18s;
}
.hn-toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 991.98px) {
    .hn-hero { padding-top: 3.4rem; }
    .hn-terminal { transform: none; margin-top: 1rem; }
    .hn-podium { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
    .hn-podium-card { padding: 1rem; }
    .hn-podium-2 { order: -1; }
    .hn-podium-rank { margin-bottom: .2rem; }
    .hn-section-head { flex-direction: column; align-items: start; }
    .hn-cta { flex-direction: column; align-items: start; }
    .hn-admin-sidebar { width: 70px; padding: .8rem .5rem; }
    .hn-admin-sidebar .hn-brand-text, .hn-admin-tag, .hn-admin-nav a:not(.active)::after, .hn-admin-nav a span, .hn-admin-side-footer a, .hn-admin-side-footer form { display: none; }
    .hn-admin-nav a { justify-content: center; font-size: 0; padding: .7rem; }
    .hn-admin-nav a::before { content: "•"; font-size: 1rem; }
    .hn-admin-sidebar .hn-brand { justify-content: center; }
    .hn-admin-sidebar .hn-brand-mark { width: 34px; height: 34px; }
    .hn-admin-content { padding: 1rem; }
    .hn-admin-topbar { padding: .8rem 1rem; }
}
@media (max-width: 767.98px) {
    .hn-section { padding: 3.2rem 0; }
    .hn-section-tight { padding: 1.6rem 0 2.8rem; }
    .hn-hero-title { font-size: clamp(2.7rem, 13vw, 4.2rem); }
    .hn-hero-stats { gap: 1.1rem 1.5rem; }
    .hn-hero-stats strong { font-size: 1.1rem; }
    .hn-profile-banner, .hn-clan-banner { padding: 1.2rem; }
    .hn-profile-main { align-items: start; }
    .hn-profile-actions { width: 100%; }
    .hn-dash-actions { width: 100%; }
    .hn-dash-actions .btn { flex: 1; }
    .hn-mission-grid { grid-template-columns: 1fr; }
    .hn-share-grid { grid-template-columns: 1fr; }
    .hn-duel { grid-template-columns: 1fr; }
    .hn-duel-vs { text-align: center; }
    .hn-personal-rank { flex-direction: column; align-items: start; }
    .hn-personal-rank-numbers { width: 100%; justify-content: space-between; }
    .hn-personal-rank-numbers div { align-items: start; }
    .hn-filter-bar { padding: .7rem; }
    .hn-footer-bottom { flex-direction: column; }
    .hn-clan-banner-stats { width: 100%; justify-content: space-between; }
    .hn-locked-grid, .hn-achievement-grid { grid-template-columns: 1fr; }
    .hn-admin-stat strong { font-size: 1.35rem; }
    .hn-admin-panel-head { flex-direction: column; }
}
@media (max-width: 575.98px) {
    .hn-navbar .navbar-collapse { padding-top: .7rem; }
    .hn-navbar .navbar-nav { margin-bottom: .6rem !important; }
    .hn-hero-stats div { min-width: 44%; }
    .hn-auth-card { padding: 1.2rem; }
    .hn-faction-picker { grid-template-columns: 1fr; }
    .hn-panel { padding: 1rem; }
    .hn-clan-banner-left { align-items: start; }
    .hn-clan-emblem.xl { width: 58px; height: 58px; font-size: 1.3rem; }
    .hn-admin-sidebar { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
