:root {
    --bg: #090b12;
    --bg-soft: #10141d;
    --surface: rgba(18, 23, 34, 0.82);
    --surface-strong: #151b27;
    --surface-hover: #1b2332;
    --border: rgba(255, 255, 255, 0.09);
    --border-strong: rgba(255, 255, 255, 0.15);
    --text: #f7f8fb;
    --muted: #9aa5b6;
    --purple: #8b5cf6;
    --purple-strong: #7c3aed;
    --green: #34d399;
    --green-strong: #10b981;
    --danger: #ef4444;
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}

body {
    background: var(--bg);
    color: var(--text);
    padding: 1.25rem;
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(circle at 14% 8%, rgba(139, 92, 246, 0.26), transparent 34%),
        radial-gradient(circle at 88% 15%, rgba(52, 211, 153, 0.18), transparent 30%),
        radial-gradient(circle at 72% 82%, rgba(124, 58, 237, 0.12), transparent 34%),
        linear-gradient(145deg, #080a10 0%, #0b0f17 48%, #09120f 100%);
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0.2;
    background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, black, transparent 80%);
}

.container,
.site-header,
.tab-btn,
.guild-card,
.toggle-row,
.notice-card {
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.container {
    max-width: 980px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: var(--shadow);
}

.site-header {
    max-width: 980px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: .8rem 1rem;
    background: rgba(17, 22, 32, 0.84);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: 0 12px 36px rgba(0,0,0,.24);
}

.home-page .site-header { max-width: 1080px; }

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    flex: 0 0 auto;
    font-weight: 800;
    letter-spacing: -.02em;
}

.site-brand-mark {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(139,92,246,.28);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(139,92,246,.2), rgba(52,211,153,.12));
}

.site-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    margin-inline: auto;
}

.site-nav-link {
    padding: .55rem .72rem;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--muted);
    font-size: .9rem;
    font-weight: 650;
    transition: color .18s ease, background .18s ease, border-color .18s ease;
}

.site-nav-link:hover {
    color: var(--text);
    background: rgba(255,255,255,.055);
}

.site-nav-link.active {
    color: #ede9fe;
    border-color: rgba(139,92,246,.28);
    background: rgba(139,92,246,.13);
}

.site-account {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex: 0 0 auto;
}

.site-login {
    flex: 0 0 auto;
    padding: .58rem .85rem;
    border: 1px solid rgba(139,92,246,.35);
    border-radius: 9px;
    color: #ddd6fe;
    background: rgba(139,92,246,.12);
    font-size: .88rem;
    font-weight: 700;
}

.site-login:hover { background: rgba(139,92,246,.2); }

.avatar {
    border-color: var(--purple);
    box-shadow: 0 0 0 3px rgba(139,92,246,.12);
}

.btn-logout {
    background: rgba(239, 68, 68, 0.12);
    color: #fecaca;
    border: 1px solid rgba(239,68,68,.28);
}

.btn-logout:hover {
    background: rgba(239,68,68,.2);
}

/* Homepage */
.home-page {
    padding-top: 2.25rem;
    scroll-behavior: smooth;
}

.home-page .container {
    max-width: 1180px;
}

.home-page .site-header { max-width: 1180px; }

.home-shell {
    background: rgba(11, 15, 23, 0.64) !important;
    padding: clamp(1rem, 3vw, 2rem) !important;
}

.home-page .hero {
    min-height: 570px;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 4.5rem);
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: clamp(2.25rem, 5vw, 4.5rem);
    margin-bottom: 1rem;
    background:
        radial-gradient(circle at 14% 12%, rgba(139, 92, 246, .38), transparent 36%),
        radial-gradient(circle at 88% 78%, rgba(52, 211, 153, .22), transparent 38%),
        linear-gradient(135deg, rgba(23, 16, 43, .95), rgba(10, 24, 23, .9));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 26px 80px rgba(0,0,0,.3);
}

.home-page .hero::before,
.home-page .hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.045);
    border-radius: 50%;
}

.home-page .hero::before { width: 420px; height: 420px; top: -250px; right: 15%; }
.home-page .hero::after { width: 620px; height: 620px; right: -390px; bottom: -390px; }

.hero-copy,
.hero-preview { position: relative; z-index: 1; }

.hero-eyebrow,
.section-kicker {
    color: #a78bfa;
    font-size: .73rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.hero-eyebrow { display: flex; align-items: center; gap: .55rem; margin-bottom: 1rem; }
.hero-eyebrow span { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(52,211,153,.1); }

.home-page .hero-copy h1 {
    color: var(--text);
    max-width: 650px;
    font-size: clamp(2.85rem, 5.8vw, 5.25rem);
    line-height: .98;
    letter-spacing: -0.06em;
    text-shadow: 0 8px 30px rgba(0,0,0,.3);
}

.home-page .hero-copy h1 em {
    display: block;
    color: #c4b5fd;
    font-style: normal;
}

.home-page .hero-lead {
    max-width: 610px;
    margin-top: 1.3rem;
    color: #c3cad5;
    font-size: clamp(1rem, 1.8vw, 1.16rem);
    line-height: 1.7;
}

.home-page .hero .btn-group { justify-content: flex-start; margin: 1.7rem 0 .8rem; }
.hero-note { color: #7f8a9c; font-size: .8rem; }

.hero-preview {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(7,10,16,.83);
    box-shadow: 0 30px 60px rgba(0,0,0,.34), 0 0 0 8px rgba(255,255,255,.018);
    transform: perspective(1000px) rotateY(-3deg) rotateX(1deg);
}

.preview-topbar {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--border);
    color: #808a9b;
    font-size: .72rem;
}

.preview-topbar > span { margin-right: auto; }
.preview-topbar > strong { color: #6ee7b7; font-size: .68rem; }
.preview-dots { display: flex; gap: .28rem; }
.preview-dots span { width: 7px; height: 7px; border-radius: 50%; background: #3d4654; }
.preview-dots span:first-child { background: #8b5cf6; }
.preview-dots span:last-child { background: #34d399; }

.preview-body { min-height: 345px; display: grid; grid-template-columns: 52px 1fr; }
.preview-sidebar { display: grid; align-content: start; justify-items: center; gap: .8rem; padding: 1rem .5rem; border-right: 1px solid var(--border); color: #657083; }
.preview-sidebar span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 8px; font-size: .82rem; }
.preview-sidebar .active { color: #ddd6fe; background: rgba(139,92,246,.2); }
.preview-content { min-width: 0; padding: 1.4rem; }
.preview-content > p { color: #8b5cf6; font-size: .62rem; font-weight: 850; letter-spacing: .13em; }
.preview-content > h2 { margin: .3rem 0 1rem; color: var(--text); font-size: 1.18rem; letter-spacing: -.025em; }
.preview-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-bottom: .75rem; }
.preview-stats div { padding: .8rem; border: 1px solid var(--border); border-radius: 10px; background: rgba(255,255,255,.025); }
.preview-stats span, .preview-stats strong { display: block; }
.preview-stats span { color: #7f8a9b; font-size: .65rem; }
.preview-stats strong { margin-top: .2rem; color: #e8ebf0; font-size: .83rem; }
.preview-event { display: flex; align-items: center; gap: .65rem; margin-top: .6rem; padding: .72rem; border: 1px solid var(--border); border-radius: 10px; background: rgba(9,13,20,.7); }
.preview-event > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: rgba(139,92,246,.1); font-size: .78rem; }
.preview-event div { min-width: 0; flex: 1; }
.preview-event strong, .preview-event small { display: block; }
.preview-event strong { color: #dfe3ea; font-size: .72rem; }
.preview-event small { margin-top: .15rem; overflow: hidden; color: #707b8d; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.preview-event b { color: #6ee7b7; font-size: .62rem; }

.capability-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--border);
    border-radius: 17px;
    background: rgba(9,13,20,.56);
}

.capability-strip > div { display: grid; grid-template-columns: auto 1fr; column-gap: .65rem; padding: 1.1rem; }
.capability-strip > div + div { border-left: 1px solid var(--border); }
.capability-strip > div > span { grid-row: 1 / 3; align-self: center; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(139,92,246,.1); }
.capability-strip strong { color: #dfe3ea; font-size: .78rem; }
.capability-strip small { margin-top: .12rem; color: #737e90; font-size: .66rem; }

.home-section { padding: clamp(4.5rem, 8vw, 7rem) clamp(1rem, 5vw, 4.5rem); text-align: center; }
.home-section h2, .feature-copy h2, .home-cta h2, .policy-links-heading h2 { color: var(--text); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; letter-spacing: -.045em; }
.feature-intro > p:last-child { max-width: 670px; margin: 1rem auto 0; color: var(--muted); line-height: 1.7; }
.feature-intro .section-kicker, .how-it-works .section-kicker { margin-bottom: .7rem; }

.feature-row {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(390px, 1.08fr);
    gap: clamp(2.5rem, 7vw, 6rem);
    align-items: center;
    padding: clamp(3.6rem, 7vw, 6.25rem) clamp(1rem, 5vw, 4.5rem);
    border-top: 1px solid var(--border);
}

.feature-row.reverse .feature-copy { order: 2; }
.feature-row.reverse .feature-visual { order: 1; }
.feature-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 1.15rem; border: 1px solid; border-radius: 14px; font-size: 1.25rem; }
.feature-icon.purple { border-color: rgba(139,92,246,.3); background: rgba(139,92,246,.11); }
.feature-icon.green { border-color: rgba(52,211,153,.26); background: rgba(52,211,153,.09); }
.feature-copy .section-kicker { margin-bottom: .6rem; }
.feature-copy > p:not(.section-kicker) { margin-top: 1rem; color: var(--muted); line-height: 1.7; }
.feature-list { display: grid; gap: .65rem; margin-top: 1.35rem; list-style: none; }
.feature-list li { display: flex; align-items: flex-start; gap: .6rem; color: #b4bdca; font-size: .9rem; line-height: 1.45; }
.feature-list li::before { content: "✓"; color: var(--green); font-weight: 900; }

.feature-visual {
    min-width: 0;
    padding: clamp(1rem, 3vw, 1.8rem);
    border: 1px solid var(--border);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(20,25,37,.88), rgba(9,13,20,.82));
    box-shadow: 0 22px 60px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.035);
}

.visual-heading { display: flex; align-items: center; justify-content: space-between; padding: .2rem .1rem 1rem; }
.visual-heading span { color: #e5e7eb; font-weight: 800; }
.visual-heading b { padding: .3rem .55rem; border-radius: 999px; color: #6ee7b7; background: rgba(16,185,129,.1); font-size: .68rem; }
.setting-line { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: 12px; background: rgba(6,9,15,.55); }
.setting-line + .setting-line { margin-top: .65rem; }
.setting-line strong, .setting-line small { display: block; }
.setting-line strong { color: #dce1e8; font-size: .85rem; }
.setting-line small { margin-top: .22rem; color: #717d8f; font-size: .72rem; }
.toggle-demo { position: relative; width: 38px; height: 21px; flex: 0 0 38px; border-radius: 999px; background: #354052; }
.toggle-demo::after { content: ""; position: absolute; top: 4px; left: 4px; width: 13px; height: 13px; border-radius: 50%; background: #d9dee6; transition: transform .2s; }
.toggle-demo.on { background: var(--green-strong); }
.toggle-demo.on::after { transform: translateX(17px); }

.moderation-visual { padding: clamp(1.5rem, 4vw, 2.5rem); background: radial-gradient(circle at 80% 10%, rgba(52,211,153,.13), transparent 38%), rgba(12,18,25,.9); }
.moderation-status { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--border); }
.moderation-status > span { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border-radius: 14px; color: #022c22; background: var(--green); font-weight: 900; }
.moderation-status small, .moderation-status strong { display: block; }
.moderation-status small { color: #6ee7b7; font-size: .65rem; font-weight: 850; letter-spacing: .12em; }
.moderation-status strong { margin-top: .3rem; color: #e5e7eb; }
.role-chip-row { display: flex; flex-wrap: wrap; gap: .55rem; padding: 1.35rem 0; }
.role-chip-row span { padding: .48rem .65rem; border: 1px solid rgba(139,92,246,.24); border-radius: 9px; color: #c4b5fd; background: rgba(139,92,246,.09); font-size: .76rem; }
.moderation-note { display: flex; align-items: flex-start; gap: .7rem; padding: .9rem; border: 1px solid var(--border); border-radius: 11px; background: rgba(255,255,255,.025); }
.moderation-note span { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; border-radius: 50%; color: #ddd6fe; background: rgba(139,92,246,.16); font-size: .75rem; font-weight: 800; }
.moderation-note p { color: #8e99aa; font-size: .77rem; line-height: 1.5; }

.community-visual { display: grid; gap: .7rem; }
.community-card { display: flex; align-items: center; gap: .9rem; padding: 1rem; border: 1px solid var(--border); border-radius: 13px; background: rgba(6,9,15,.55); }
.community-card > span { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 11px; background: linear-gradient(135deg, rgba(139,92,246,.15), rgba(52,211,153,.1)); }
.community-card small, .community-card strong { display: block; }
.community-card small { color: #8b5cf6; font-size: .62rem; font-weight: 850; letter-spacing: .1em; }
.community-card strong { margin-top: .25rem; color: #dfe3e9; font-size: .87rem; }

.how-it-works { border-top: 1px solid var(--border); }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 2.2rem; text-align: left; }
.steps-grid > div { min-height: 190px; padding: 1.3rem; border: 1px solid var(--border); border-radius: 15px; background: rgba(9,13,20,.56); }
.steps-grid span { color: #8b5cf6; font-size: .74rem; font-weight: 900; letter-spacing: .1em; }
.steps-grid h3 { margin-top: 1.8rem; color: #e2e6ec; font-size: 1rem; }
.steps-grid p { margin-top: .55rem; color: var(--muted); font-size: .83rem; line-height: 1.55; }

.home-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin: 0 clamp(0rem, 3vw, 2.5rem) clamp(4rem, 7vw, 6rem);
    padding: clamp(1.6rem, 4vw, 2.6rem);
    border: 1px solid rgba(139,92,246,.24);
    border-radius: 20px;
    background: radial-gradient(circle at 8% 20%, rgba(139,92,246,.25), transparent 40%), radial-gradient(circle at 90% 80%, rgba(52,211,153,.14), transparent 36%), rgba(15,18,28,.86);
}
.home-cta h2 { max-width: 580px; margin-top: .45rem; font-size: clamp(1.8rem, 3.5vw, 2.7rem); }
.home-cta .btn-group { flex: 0 0 auto; margin: 0; }

.policy-links-section { padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 5vw, 4.5rem); border-top: 1px solid var(--border); }
.policy-links-heading > p:last-child { max-width: 610px; margin-top: .8rem; color: var(--muted); line-height: 1.65; }
.policy-link-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-top: 2rem; }
.policy-link-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; min-height: 145px; padding: 1.3rem; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.025); transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.policy-link-card:hover { transform: translateY(-3px); border-color: rgba(139,92,246,.42); background: rgba(139,92,246,.055); }
.policy-link-icon { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(139,92,246,.24); border-radius: 13px; background: rgba(139,92,246,.09); }
.policy-link-card p { color: #8b5cf6; font-size: .63rem; font-weight: 850; letter-spacing: .11em; }
.policy-link-card h3 { margin-top: .3rem; color: #e4e7ec; font-size: 1rem; }
.policy-link-card div > span { display: block; margin-top: .35rem; color: var(--muted); font-size: .78rem; }
.policy-link-card b { color: #a78bfa; font-size: 1.35rem; transition: transform .18s ease; }
.policy-link-card:hover b { transform: translateX(4px); }
.policy-support-row { margin-top: .85rem; }
.policy-support-row .notice-card { margin-top: 0; }

.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1rem; padding: 2rem clamp(1rem, 4vw, 3rem) .6rem; border-top: 1px solid var(--border); }
.site-footer strong { color: #e7e9ee; }
.site-footer p { margin-top: .35rem; color: #727e8f; font-size: .78rem; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem 1.1rem; }
.site-footer a { color: #8e99a9; font-size: .78rem; }
.site-footer a:hover { color: #c4b5fd; }

/* Legal documents */
.legal-page { padding-top: 2.25rem; }
.legal-page .site-header, .legal-page-shell { max-width: 1080px; }
.legal-page-shell { width: 100%; }
.legal-page-hero { display: flex; align-items: flex-start; gap: 1.15rem; padding: clamp(2rem, 5vw, 3.6rem); border: 1px solid var(--border); border-radius: 22px; background: radial-gradient(circle at 12% 10%, rgba(139,92,246,.22), transparent 38%), radial-gradient(circle at 90% 80%, rgba(52,211,153,.1), transparent 34%), rgba(15,19,29,.84); box-shadow: var(--shadow); }
.legal-page-icon { display: grid; place-items: center; width: 58px; height: 58px; flex: 0 0 58px; border: 1px solid rgba(139,92,246,.26); border-radius: 17px; background: rgba(139,92,246,.1); font-size: 1.45rem; }
.legal-page-hero h1 { margin-top: .35rem; color: var(--text); font-size: clamp(2.3rem, 5vw, 4.2rem); line-height: 1; letter-spacing: -.055em; }
.legal-page-hero div > p:last-child { max-width: 650px; margin-top: .85rem; color: var(--muted); line-height: 1.65; }
.legal-page-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 1rem; align-items: start; margin-top: 1rem; }
.legal-page-sidebar, .legal-document { border: 1px solid var(--border); background: rgba(17,22,32,.8); box-shadow: 0 18px 48px rgba(0,0,0,.2); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.legal-page-sidebar { position: sticky; top: 1rem; padding: 1rem; border-radius: 16px; }
.legal-page-sidebar > p { padding: 0 .55rem .55rem; color: #687386; font-size: .65rem; font-weight: 850; letter-spacing: .11em; }
.legal-page-sidebar nav { display: grid; gap: .2rem; }
.legal-page-sidebar nav a { padding: .62rem .65rem; border-radius: 9px; color: var(--muted); font-size: .8rem; font-weight: 650; }
.legal-page-sidebar nav a:hover { color: var(--text); background: rgba(255,255,255,.045); }
.legal-related { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.legal-related span { display: block; padding: 0 .55rem .45rem; color: #687386; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.legal-related a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .65rem; border-radius: 9px; color: #c4b5fd; background: rgba(139,92,246,.07); font-size: .78rem; font-weight: 700; }
.legal-related a:hover { background: rgba(139,92,246,.13); }
.legal-document { padding: clamp(1.5rem, 5vw, 3.5rem); border-radius: 19px; }
.legal-document section { scroll-margin-top: 1rem; }
.legal-document section + section { margin-top: 2.8rem; padding-top: 2.8rem; border-top: 1px solid var(--border); }
.legal-section-number { color: #8b5cf6 !important; font-size: .68rem !important; font-weight: 900; letter-spacing: .12em; }
.legal-document h2 { margin-top: .45rem; color: #eceef2; font-size: clamp(1.45rem, 3vw, 2rem); letter-spacing: -.035em; }
.legal-document section > p:last-child { max-width: 720px; margin-top: .9rem; color: #a9b2c0; font-size: .98rem; line-height: 1.8; }
.legal-document strong { color: #e6e9ee; }
.legal-footer { margin-top: 1rem; padding-bottom: 1rem; }

.home-page .btn-group { position: relative; z-index: 1; }

.btn,
.btn-save,
.btn-manage {
    background: linear-gradient(135deg, var(--purple-strong), var(--purple));
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 8px 24px rgba(124,58,237,.22);
}

.btn:hover,
.btn-save:hover,
.btn-manage:hover {
    background: linear-gradient(135deg, #6d28d9, #8b5cf6);
    box-shadow: 0 12px 30px rgba(124,58,237,.3);
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .78rem 1.1rem;
    background: rgba(255,255,255,.07);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    color: var(--text);
    font: inherit;
    font-weight: 650;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
}

.btn-secondary:hover { background: rgba(255,255,255,.12); }
.form-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.form-actions .btn-save, .form-actions .btn-secondary { width: auto; margin: 0; }
.audit-message-content { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; color: var(--text); }
.admin-page .settings-card { margin: 1rem 0; padding: 1.25rem; border: 1px solid var(--border); border-radius: 14px; background: rgba(17,22,32,.76); }
.admin-page .form-group { margin-bottom: 1rem; }
.mention-target-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0; }
.mention-target-dropdown { border: 1px solid var(--border-strong); border-radius: 11px; background: rgba(7,10,16,.72); }
.mention-target-dropdown summary { display: flex; justify-content: space-between; gap: .75rem; padding: .85rem 1rem; cursor: pointer; color: var(--text); }
.mention-target-dropdown summary strong { color: #c4b5fd; font-size: .8rem; }
.mention-target-options { display: grid; gap: .35rem; max-height: 230px; overflow-y: auto; padding: 0 .7rem .7rem; }
.mention-target-choice { display: flex; align-items: center; gap: .7rem; padding: .6rem; border-radius: 8px; color: var(--muted); cursor: pointer; }
.mention-target-choice:hover { color: var(--text); background: rgba(255,255,255,.05); }
.mention-target-choice input { accent-color: var(--purple); }
.standalone-toggle { padding: 1.2rem; }
.switch {
    flex: 0 0 58px;
    width: 58px;
    height: 32px;
}
.slider::before {
    width: 22px;
    height: 22px;
    left: 5px;
    bottom: 5px;
}
input:checked + .slider::before { transform: translateX(26px); }
.switch input:focus-visible + .slider {
    outline: 3px solid rgba(167, 139, 250, .45);
    outline-offset: 3px;
}
@media(max-width:650px){.mention-target-grid{grid-template-columns:1fr}}

.notice-card {
    background: linear-gradient(135deg, rgba(139,92,246,.08), rgba(52,211,153,.055));
    border: 1px solid var(--border);
    border-left: 3px solid var(--green);
    border-radius: 12px;
}

/* Server selector */
.server-selector-page .container {
    padding: clamp(1.5rem, 4vw, 2.75rem);
}

.server-selector-page h2 {
    font-size: clamp(1.9rem, 4vw, 2.5rem);
    letter-spacing: -0.035em;
}

.page-subtitle { color: var(--muted); }

.server-section { margin-top: 1.8rem; }

.server-section-heading {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--border);
}

.server-section-heading h3 {
    font-size: 1rem;
    color: var(--text);
}

.server-section-heading span {
    min-width: 1.7rem;
    padding: .16rem .45rem;
    border-radius: 999px;
    color: #c4b5fd;
    background: rgba(139,92,246,.13);
    font-size: .78rem;
    font-weight: 800;
    text-align: center;
}

.server-section-copy {
    margin-top: .75rem;
    color: var(--muted);
    font-size: .88rem;
}

.empty-state {
    display: grid;
    justify-items: center;
    gap: .45rem;
    margin-top: 1.5rem;
    padding: 2.25rem 1rem;
    border: 1px dashed var(--border-strong);
    border-radius: 16px;
    color: var(--muted);
    text-align: center;
    background: rgba(255,255,255,.02);
}

.empty-state span { font-size: 2rem; }
.empty-state h3 { color: var(--text); }

.guild-grid {
    grid-template-columns: repeat(auto-fill, minmax(245px, 1fr));
    gap: 1rem;
}

.guild-card {
    background: rgba(10, 14, 22, .62);
    border: 1px solid var(--border);
    border-radius: 16px;
    align-items: flex-start;
    text-align: left;
    padding: 1.15rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.guild-card:hover {
    transform: translateY(-4px);
    border-color: rgba(139,92,246,.55);
    background: rgba(20, 25, 37, .76);
    box-shadow: 0 15px 35px rgba(0,0,0,.2);
}

.guild-card-invite { background: rgba(10, 18, 17, .58); }

.guild-card-invite:hover {
    border-color: rgba(52,211,153,.48);
    background: rgba(13, 29, 25, .68);
}

.guild-icon {
    width: 58px;
    height: 58px;
    background: linear-gradient(135deg, rgba(139,92,246,.2), rgba(52,211,153,.14));
    color: #c4b5fd;
    border: 1px solid var(--border);
}

.guild-info { width: 100%; min-width: 0; }
.guild-info h4 { max-width: 100%; }

.btn-manage {
    border-radius: 9px;
    padding: .72rem;
    margin-top: .2rem;
}

.btn-invite {
    background: linear-gradient(135deg, var(--green-strong), var(--green));
    box-shadow: 0 8px 24px rgba(16,185,129,.18);
}

.btn-invite:hover {
    background: linear-gradient(135deg, #059669, #34d399);
    box-shadow: 0 12px 30px rgba(16,185,129,.24);
}

.btn-owner {
    background: linear-gradient(135deg, #f59e0b, #facc15);
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(245,158,11,.18);
}

/* Guild settings */
.guild-dashboard-page .site-header { max-width: 1180px; }

.dashboard-shell {
    width: 100%;
    max-width: 1180px;
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.settings-sidebar,
.settings-panel {
    background: rgba(17, 22, 32, .82);
    border: 1px solid var(--border);
    box-shadow: 0 18px 48px rgba(0,0,0,.24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.settings-sidebar {
    position: sticky;
    top: 1rem;
    max-height: calc(100vh - 8rem);
    max-height: calc(100dvh - 8rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(139,92,246,.55) transparent;
    padding: .9rem;
    border-radius: 18px;
}

.settings-sidebar::-webkit-scrollbar { width: .45rem; }
.settings-sidebar::-webkit-scrollbar-track { background: transparent; }
.settings-sidebar::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(139,92,246,.55);
}

.sidebar-back {
    display: inline-flex;
    padding: .5rem .6rem;
    color: #a78bfa;
    font-size: .84rem;
    font-weight: 700;
}

.sidebar-back:hover { color: #ddd6fe; }

.sidebar-server {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: .55rem 0 1rem;
    padding: .85rem;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: rgba(255,255,255,.025);
    min-width: 0;
}

.sidebar-server-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 12px;
    color: #c4b5fd;
    background: linear-gradient(135deg, rgba(139,92,246,.2), rgba(52,211,153,.12));
    font-weight: 800;
}

.sidebar-server-icon img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-server div:last-child { min-width: 0; }
.sidebar-server span { display: block; color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.sidebar-server strong { display: block; margin-top: .2rem; overflow: hidden; color: var(--text); font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }

.settings-nav { display: grid; gap: .85rem; }
.settings-nav-group { display: grid; gap: .22rem; }
.settings-nav-group > p { padding: 0 .65rem .2rem; color: #687386; font-size: .69rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.settings-nav-link {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .66rem .7rem;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 650;
    transition: color .18s ease, background .18s ease, border-color .18s ease;
}

.settings-nav-link:hover { color: var(--text); background: rgba(255,255,255,.045); }
.settings-nav-link.active { color: #f5f3ff; background: linear-gradient(135deg, rgba(124,58,237,.34), rgba(139,92,246,.19)); border-color: rgba(139,92,246,.28); }
.settings-nav-link span { width: 1.25rem; text-align: center; }

.settings-content { min-width: 0; }

.settings-page-header { padding: .65rem .35rem 1.2rem; }
.settings-page-header > p { color: #a78bfa; font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.settings-page-header h1 { margin-top: .25rem; color: var(--text); font-size: clamp(1.9rem, 4vw, 2.65rem); letter-spacing: -.04em; }
.settings-page-header > span { display: block; margin-top: .4rem; color: var(--muted); line-height: 1.5; }

.settings-panel { padding: clamp(1.2rem, 3vw, 2rem); border-radius: 20px; }
.settings-saved-banner { margin-top: 0; }

.overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.overview-card { display: block; min-height: 165px; padding: 1.15rem; border: 1px solid var(--border); border-radius: 15px; background: rgba(8,12,19,.58); transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.overview-card:hover { transform: translateY(-3px); border-color: rgba(139,92,246,.42); background: rgba(20,25,37,.7); }
.overview-card-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.overview-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--border); border-radius: 11px; background: rgba(139,92,246,.09); }
.overview-arrow { color: #a78bfa; font-size: 1.25rem; }
.overview-card h3 { margin-top: 1rem; color: var(--text); font-size: 1rem; }
.overview-card p { margin-top: .35rem; color: var(--muted); font-size: .83rem; line-height: 1.5; }

.status-pill { padding: .25rem .52rem; border: 1px solid; border-radius: 999px; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.status-pill.enabled { color: #6ee7b7; border-color: rgba(52,211,153,.25); background: rgba(16,185,129,.1); }
.status-pill.disabled { color: #a9b4c5; border-color: var(--border); background: rgba(255,255,255,.035); }

.section-intro { margin-bottom: 1rem; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.settings-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.form-group-wide { grid-column: 1 / -1; }
.command-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.field-help { margin-top: .45rem; color: var(--muted); font-size: .78rem; line-height: 1.45; }

.settings-subsection + .settings-subsection { margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid var(--border); }
.info-panel { display: flex; align-items: flex-start; gap: .85rem; margin-top: 1.4rem; padding: 1rem; border: 1px solid var(--border); border-radius: 13px; background: linear-gradient(135deg, rgba(139,92,246,.07), rgba(52,211,153,.045)); }
.info-panel > span { font-size: 1.2rem; }
.info-panel h3 { color: var(--text); font-size: .92rem; }
.info-panel p { margin-top: .25rem; color: var(--muted); font-size: .83rem; line-height: 1.5; }

/* Developer dashboard */
.admin-page .site-header { max-width: 1180px; }

.admin-shell {
    width: 100%;
    max-width: 1180px;
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.admin-sidebar {
    position: sticky;
    top: 1rem;
    display: grid;
    gap: .25rem;
    padding: .9rem;
    border: 1px solid var(--border);
    border-radius: 17px;
    background: rgba(17,22,32,.82);
    box-shadow: 0 18px 48px rgba(0,0,0,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.admin-sidebar > p { padding: .35rem .6rem .55rem; color: #facc15; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-sidebar a { padding: .66rem .7rem; border: 1px solid transparent; border-radius: 10px; color: var(--muted); font-size: .84rem; font-weight: 650; }
.admin-sidebar a:hover { color: var(--text); border-color: var(--border); background: rgba(255,255,255,.045); }

.admin-content { min-width: 0; }
.admin-page-header { padding-top: .25rem; }

.admin-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.admin-summary-grid > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 13px;
    color: var(--muted);
    background: rgba(17,22,32,.7);
}

.admin-summary-grid span { font-size: .8rem; }
.admin-summary-grid strong { color: var(--text); font-size: 1.35rem; }

.admin-page .admin-section {
    scroll-margin-top: 1rem;
    background: rgba(17,22,32,.8);
    border-color: var(--border);
    border-radius: 17px;
    box-shadow: 0 16px 42px rgba(0,0,0,.2);
}

.admin-page .admin-section-title { color: var(--text); }
.admin-page .danger-title { color: #fca5a5; }
.admin-page .warning-title { color: #fdba74; }
.admin-page .admin-table th,
.admin-page .admin-table td { border-color: var(--border); }
.admin-page .admin-table tbody tr { transition: background .16s ease; }
.admin-page .admin-table tbody tr:hover { background: rgba(255,255,255,.025); }
.admin-page .blacklist-entry { border-color: var(--border); background: rgba(8,12,19,.6); }

.admin-auth-page .site-header { max-width: 980px; }
.admin-auth-page .developer-auth-card { margin-top: 2.5rem; background: rgba(17,22,32,.86); border-color: var(--border); border-radius: 17px; box-shadow: var(--shadow); }

.tab-nav {
    max-width: 980px;
    gap: .6rem;
    scrollbar-width: thin;
}

.tab-btn {
    background: rgba(17,22,32,.72);
    border: 1px solid var(--border);
    color: var(--muted);
    border-radius: 10px;
}

.tab-btn:hover {
    background: var(--surface-hover);
    border-color: var(--border-strong);
}

.tab-btn.active {
    color: white;
    background: linear-gradient(135deg, rgba(124,58,237,.95), rgba(139,92,246,.88));
    border-color: rgba(167,139,250,.6);
    box-shadow: 0 8px 26px rgba(124,58,237,.2);
}

.guild-title {
    color: var(--text);
    font-size: clamp(1.75rem, 4vw, 2.35rem);
    letter-spacing: -0.035em;
}

.back-link { color: #a78bfa; }
.back-link:hover { color: #c4b5fd; }

.section-divider { border-top-color: var(--border); }
.section-title { border-bottom-color: var(--border); color: #d9dee7; }

.toggle-row {
    background: rgba(9,13,20,.62);
    border-color: var(--border);
    border-radius: 12px;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.toggle-row:hover {
    background: rgba(20,25,36,.72);
    border-color: var(--border-strong);
}

.toggle-info p,
.legal-text { color: var(--muted); }

textarea,
input[type="text"],
input[type="password"],
input[type="number"],
.form-select {
    background: rgba(7, 10, 16, .72);
    border-color: var(--border-strong);
    border-radius: 10px;
    color: var(--text);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

textarea:hover,
input[type="text"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
.form-select:hover { border-color: rgba(255,255,255,.22); }

textarea:focus,
input:focus,
.form-select:focus {
    border-color: var(--purple);
    background: rgba(8, 11, 18, .92);
    box-shadow: 0 0 0 3px rgba(139,92,246,.14);
}

.ticket-role-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    max-height: 14rem;
    overflow-y: auto;
    padding: .65rem;
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    background: rgba(7, 10, 16, .72);
}

.ticket-role-choice {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 2.75rem;
    padding: .55rem .7rem;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: rgba(20, 25, 36, .68);
    cursor: pointer;
}

.ticket-role-choice:hover {
    border-color: rgba(255,255,255,.22);
    background: rgba(28, 34, 48, .78);
}

.ticket-role-choice:has(input:checked) {
    border-color: var(--purple);
    background: rgba(139,92,246,.16);
}

.ticket-role-choice input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    accent-color: var(--purple);
}

.ticket-publish-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border);
}

.ticket-section-heading,
.ticket-type-card-header,
.ticket-type-card-header > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ticket-section-heading { margin-bottom: 1rem; }
.ticket-section-heading .section-intro,
.ticket-type-card-header p { margin: .25rem 0 0; }

.ticket-type-card {
    position: relative;
    margin-top: 1rem;
    padding: 1.15rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(12, 16, 25, .68);
}

.ticket-type-card-header {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.ticket-type-card-header h3 { margin: 0; }
.ticket-type-emoji { font-size: 1.65rem; }
.ticket-delete-confirmation {
    margin-top: .9rem;
    padding-top: .8rem;
    border-top: 1px solid var(--border);
}

.ticket-delete-confirmation summary {
    width: fit-content;
    color: #fca5a5;
    font-weight: 700;
    cursor: pointer;
}

.ticket-delete-confirmation .field-help { margin: .65rem 0; }
.ticket-delete-form { margin-top: .55rem; }

.ticket-empty-state {
    padding: 2rem 1rem;
    border: 1px dashed var(--border-strong);
    border-radius: 14px;
    text-align: center;
    color: var(--muted);
    background: rgba(7, 10, 16, .42);
}

.ticket-empty-state span { font-size: 2rem; }
.ticket-empty-state h3 { margin: .55rem 0 .25rem; color: var(--text); }
.ticket-empty-state p { margin: 0; }

.ticket-create-box {
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(12, 16, 25, .5);
}

.ticket-create-box summary {
    padding: 1rem 1.1rem;
    color: #c4b5fd;
    font-weight: 700;
    cursor: pointer;
}

.ticket-create-box form {
    padding: 0 1.1rem 1.1rem;
    border-top: 1px solid var(--border);
}

.ticket-create-box[open] summary { margin-bottom: 1rem; }

.btn-save:disabled {
    cursor: not-allowed;
    opacity: .5;
    filter: saturate(.4);
}

.btn-save:disabled:hover {
    transform: none;
    box-shadow: none;
}

input:checked + .slider {
    background: linear-gradient(135deg, var(--green-strong), var(--green));
}

.btn-save {
    border-radius: 10px;
    padding: .95rem 1rem;
}

code { color: #86efac; background: rgba(52,211,153,.08); }

.alert-banner {
    background: rgba(16,185,129,.10);
    color: #6ee7b7;
    border-color: rgba(52,211,153,.28);
}

@media (max-width: 1000px) {
    .home-page .hero { grid-template-columns: 1fr; }
    .hero-preview { width: min(660px, 100%); transform: none; }
    .capability-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .capability-strip > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--border); }
    .capability-strip > div:nth-child(4) { border-top: 1px solid var(--border); }
}

@media (max-width: 680px) {
    .ticket-section-heading,
    .ticket-type-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ticket-role-checklist { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    body { padding: .8rem; }
    .container { border-radius: 16px; padding: 1.25rem; }
    .site-header {
        align-items: stretch;
        flex-wrap: wrap;
        border-radius: 13px;
        padding: .8rem;
    }
    .site-brand { flex: 1 1 auto; }
    .site-nav {
        order: 3;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        padding-top: .2rem;
    }
    .site-account { margin-left: auto; }
    .site-account .nav-user span { display: none; }
    .site-login { margin-left: auto; align-self: center; }
    .home-page { padding-top: .8rem; }
    .home-page .container { padding: .7rem !important; }
    .home-page .hero { min-height: 0; gap: 2.2rem; padding: 2.2rem 1.15rem 1.2rem; border-radius: 18px; }
    .home-page .hero h1 { font-size: clamp(2.35rem, 12vw, 3.6rem); }
    .home-page .hero .btn-group { align-items: stretch; flex-direction: column; }
    .home-page .hero .btn { width: 100%; }
    .hero-preview { border-radius: 14px; }
    .preview-body { min-height: 310px; grid-template-columns: 42px 1fr; }
    .preview-sidebar { padding-inline: .3rem; }
    .preview-sidebar span { width: 28px; height: 28px; }
    .preview-content { padding: 1rem .8rem; }
    .preview-stats { grid-template-columns: 1fr; }
    .preview-event { padding: .6rem; }
    .capability-strip { grid-template-columns: 1fr; }
    .capability-strip > div + div { border-top: 1px solid var(--border); border-left: 0; }
    .home-section, .feature-row, .policy-links-section { padding: 4.25rem 1rem; }
    .feature-row { grid-template-columns: 1fr; gap: 2.2rem; }
    .feature-row.reverse .feature-copy, .feature-row.reverse .feature-visual { order: initial; }
    .feature-visual { padding: 1rem; border-radius: 15px; }
    .steps-grid { grid-template-columns: 1fr; }
    .steps-grid > div { min-height: 0; }
    .steps-grid h3 { margin-top: 1.2rem; }
    .home-cta { align-items: stretch; flex-direction: column; margin-inline: 0; }
    .home-cta .btn-group { align-items: stretch; flex-direction: column; }
    .home-cta .btn { width: 100%; }
    .policy-link-grid { grid-template-columns: 1fr; }
    .policy-link-card { min-height: 125px; }
    .legal-page { padding-top: .8rem; }
    .legal-page-hero { align-items: flex-start; padding: 1.5rem 1.15rem; border-radius: 17px; }
    .legal-page-icon { width: 46px; height: 46px; flex-basis: 46px; border-radius: 13px; font-size: 1.1rem; }
    .legal-document { padding: 1.4rem 1.1rem; border-radius: 16px; }
    .site-footer { align-items: flex-start; flex-direction: column; }
    .site-footer nav { justify-content: flex-start; }
    .guild-grid { grid-template-columns: 1fr; }
    .guild-card { flex-direction: row; align-items: center; text-align: left; flex-wrap: wrap; }
    .guild-card .btn-manage { flex-basis: 100%; }
    .toggle-row { align-items: flex-start; gap: 1rem; }
    .switch { flex: 0 0 58px; margin-top: .1rem; }
    .tab-nav { padding-bottom: .2rem; }
    .overview-grid, .settings-form-grid, .command-grid { grid-template-columns: 1fr; }
    .admin-summary-grid { grid-template-columns: 1fr; }
    .form-group-wide { grid-column: auto; }
}

@media (max-width: 850px) {
    .dashboard-shell { grid-template-columns: 1fr; }
    .settings-sidebar {
        position: static;
        max-height: none;
        overflow: visible;
        overscroll-behavior: auto;
    }
    .settings-nav { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .15rem; }
    .settings-nav-group { display: contents; }
    .settings-nav-group > p { display: none; }
    .settings-nav-link { flex: 0 0 auto; white-space: nowrap; }
    .admin-shell { grid-template-columns: 1fr; }
    .admin-sidebar { position: static; display: flex; overflow-x: auto; }
    .admin-sidebar > p { display: none; }
    .admin-sidebar a { flex: 0 0 auto; white-space: nowrap; }
    .legal-page-layout { grid-template-columns: 1fr; }
    .legal-page-sidebar { position: static; }
    .legal-page-sidebar nav { display: flex; gap: .25rem; overflow-x: auto; }
    .legal-page-sidebar nav a { flex: 0 0 auto; white-space: nowrap; }
    .legal-related { display: none; }
}

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