/* VOID: shared design, loaded after section styles. Repeated :root deliberately
   outranks legacy theme selectors without adding !important to every rule. */
:root, :root:not([data-theme="dark"]) {
    color-scheme: light;
    --bg: #fff; --bg-soft: #f7f9f9; --panel: #fff; --panel-2: #f7f9f9;
    --text: #0f1419; --muted: #687684; --stroke: #eff1f2; --stroke-strong: #cfd9de;
    --accent: #562668; --accent-2: #3f164e; --accent-soft: #f4eef7;
    --accent-soft-strong: #e7d9ed; --accent-solid: #562668; --accent-glow: transparent;
    --accent-fill: #0f1419; --accent-fill-strong: #272c30;
    --danger: #d82345; --success: #682b79; --shadow: none; --border: var(--stroke); --card: var(--panel);
    --radius-xl: 16px; --radius-lg: 16px; --radius-md: 12px;
    --vf-font-body: Arial, "Segoe UI", sans-serif;
    --vf-font-display: var(--vf-font-body);
    --vf-user-link: var(--accent); --vf-user-link-hover: var(--accent-2);
    --vf-user-link-glow: none; --light-overlay: rgba(255,255,255,.95);
    --void-width: 1220px; --void-nav: 250px; --void-main: 600px; --void-rail: 350px;
    --void-edge: max(0px, calc((100vw - var(--void-width)) / 2));
    --void-button: #0f1419; --void-button-text: #fff;
}
:root[data-theme="dark"] {
    color-scheme: dark;
    --bg: #000000; --bg-soft: #14191d; --panel: #000000; --panel-2: #14191d;
    --text: #e7e9ea; --muted: #89959f; --stroke: #252c32; --stroke-strong: #46515a;
    --accent: #aa78bf; --accent-2: #c49cd5; --accent-soft: #241629;
    --accent-soft-strong: #39213f; --accent-solid: #562668; --accent-fill: #e7e9ea; --accent-fill-strong: #ced3d6;
    --vf-user-link: var(--accent); --vf-user-link-hover: var(--accent-2);
    --void-button: #e7e9ea; --void-button-text: #0f1419;
    --light-overlay: rgba(0,0,0,.95);
}
html, :root:not([data-theme="dark"]), :root[data-theme="dark"] { background: var(--bg); }
:root:root body {
    color: var(--text); background: var(--bg) !important;
    font-family: var(--vf-font-body); font-size: 15px; line-height: 1.45;
}
:root:root body::before, :root:root body::after { display: none !important; }
:root:root body.vf-shell-active {
    padding: 0 calc(var(--void-edge) + 370px) 0 calc(var(--void-edge) + var(--void-nav));
}
:root:root body :is(.card,.panel,.hero,.section,.post-card,.vf-header,.vf-right-rail,.feed-container,.wrap,.container,.search-page,.tag-page,.vf-rail-card,.tile,.timeline,.comment) {
    color: var(--text); border-color: var(--stroke); background: var(--panel);
    box-shadow: none; backdrop-filter: none;
}
:root:root body :is(h1,h2,h3,h4) { font-family: var(--vf-font-body); letter-spacing: -.025em; color: var(--text); }
a { color: var(--accent); }
a:hover { color: var(--accent-2); }
:root:root body :is(input,textarea,select) { color: var(--text); background: var(--panel); border-color: var(--stroke-strong); border-radius: 10px; }
:root:root body :is(input,textarea,select):focus { outline: 2px solid var(--accent); outline-offset: 1px; box-shadow: none; }
:root:root body :is(a,button,summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
:root:root body :is(.btn,button.btn,.profile-post-submit) {
    min-height: 36px; padding: 8px 18px; border: 1px solid transparent; border-radius: 999px;
    color: var(--void-button-text); background: var(--void-button); box-shadow: none;
    font-size: 14px; font-weight: 700; text-decoration: none; transform: none;
}
:root:root body :is(.btn,button.btn,.profile-post-submit):hover { color: var(--void-button-text); background: color-mix(in srgb,var(--void-button) 85%,var(--bg)); transform: none; }
:root:root body :is(.btn2,.profile-follow-button.is-following) { border: 1px solid var(--stroke-strong); border-radius: 999px; color: var(--text); background: var(--panel); box-shadow: none; }
:root:root body :is(.btn2,.profile-follow-button.is-following):hover { background: var(--panel-2); color: var(--text); }
:root:root body .vf-header {
    left: var(--void-edge); top: 0; bottom: 0; width: var(--void-nav); height: 100dvh;
    padding: 10px 20px 12px 8px; border: 0; background: var(--bg); gap: 5px;
    display: flex; flex-direction: column; align-items: stretch; overflow: visible;
}
:root:root body .vf-logo { margin: 0 0 6px; padding: 4px 12px; min-height: 54px; gap: 10px; }
:root:root body .vf-logo-mark { width: 34px; height: 42px; background: none; border-radius: 0; color: var(--text); }
.vf-logo-mark svg { width: 32px; height: 38px; }
:root:root body .vf-logo-text { color: var(--text); font-size: 25px; font-weight: 800; letter-spacing: 3px; }
:root:root body .vf-menu { flex: 0 1 auto; gap: 3px; overflow-y: auto; min-height: 0; scrollbar-width: thin; }
:root:root body .vf-menu :is(a,button.vf-mobile-more-toggle) {
    display: inline-flex; align-items: center; flex: 0 0 auto; width: fit-content; min-height: 49px;
    padding: 11px 13px; gap: 17px; border: 0; border-radius: 999px; color: var(--text);
    background: transparent; font-size: 19px; font-weight: 400; line-height: 1.15; cursor: pointer;
}
:root:root body .vf-menu :is(a,button):hover { background: var(--panel-2); color: var(--text); }
:root:root body .vf-menu :is(a,button).active { background: transparent; font-weight: 750; }
:root:root body .vf-menu a[href="/feed"] { order: -5; }
:root:root body .vf-menu a[href="/search"] { order: -4; }
:root:root body .vf-menu a[href="/notifications"] { order: -3; }
:root:root body .vf-menu a[href="/messages"] { order: -2; }
:root:root body .vf-menu .vf-mobile-more-toggle { order: 10; }
:root:root body .vf-menu :is(a[href="/achievements"],a[href="/settings"],a[href="/ege"],.vf-theme-toggle,.logout) { display: none; }
:root:root body .vf-menu.vf-menu-guest .vf-theme-toggle { display: inline-flex; }
:root:root body .vf-menu svg { width: 25px; height: 25px; stroke-width: 1.8; }
:root:root body .vf-menu a.active svg { stroke-width: 2.6; }
:root:root body .vf-nav-unread-badge { top: 3px; left: 29px; box-shadow: none; background: var(--accent-solid); }
.vf-compose-shortcut {
    flex-shrink: 0; display: flex; justify-content: center; align-items: center; gap: 10px;
    min-height: 49px; margin: 15px 0 10px; border-radius: 999px; color: var(--void-button-text);
    background: var(--void-button); font-weight: 700; font-size: 16px; text-decoration: none;
}
.vf-compose-shortcut:hover { color: var(--void-button-text); opacity: .86; }
.vf-compose-shortcut svg { display: none; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
:root:root body .vf-account { margin-top: auto; min-height: 64px; padding: 10px; border-radius: 999px; }
:root:root body .vf-account img { width: 40px; height: 40px; }
:root:root body .vf-mobile-more-panel:not([hidden]) {
    position: fixed; z-index: 1302; display: block; inset: auto auto 90px calc(var(--void-edge) + 12px);
    width: 270px; max-height: min(75dvh, 600px); overflow-y: auto; padding: 8px;
    border: 1px solid var(--stroke); border-radius: 16px; background: var(--panel);
    box-shadow: 0 4px 28px #0002;
}
:root:root body .vf-mobile-more-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; width: 100%; height: 100%; z-index: 1301; border: 0; border-radius: 0; background: #0003; }
:root:root body .vf-mobile-more-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
:root:root body .vf-mobile-more-grid :is(a,button) { padding: 12px 14px; color: var(--text); background: transparent; border: 0; border-radius: 8px; text-align: left; text-decoration: none; font-size: 15px; }
:root:root body .vf-mobile-more-grid :is(a,button):hover { background: var(--panel-2); }
:root:root body .vf-mobile-more-head { display: flex; align-items: center; justify-content: space-between; padding: 6px 14px; }
:root:root body .vf-mobile-more-head button { color: var(--muted); background: transparent; border: 0; font-size: 26px; }
:root:root body .vf-right-rail { left: calc(var(--void-edge) + var(--void-nav) + var(--void-main) + 24px); right: auto; width: var(--void-rail); top: 0; bottom: 0; padding: 6px 0 24px; background: var(--bg); border: 0; }
:root:root body .vf-search-visual { height: 43px; margin-bottom: 16px; border: 1px solid var(--stroke-strong); background: var(--bg); box-shadow: none; }
:root:root body .vf-search-visual input[type="search"] { background: transparent; outline: none; box-shadow: none; }
:root:root body .vf-search-visual:focus-within { border-color: var(--accent); outline: 1px solid var(--accent); }
:root:root body .vf-rail-card { margin-top: 16px; border: 1px solid var(--stroke); border-radius: 16px; background: var(--panel); }
:root:root body .vf-rail-card h2 { padding: 14px 16px 9px; font-size: 20px; font-weight: 800; }
:root:root body .vf-rail-card a { display: block; padding: 12px 16px; border: 0; color: var(--text); background: transparent; }
:root:root body .vf-rail-card a:hover { background: var(--panel-2); }
:root:root body .vf-rail-card a :is(small,span) { display: block; color: var(--muted); font-size: 12px; line-height: 1.5; }
:root:root body .vf-rail-card a strong { display: block; margin: 2px 0; font-size: 15px; }
.vf-rail-intro { padding: 20px 18px; border: 1px solid var(--stroke); border-radius: 16px; background: var(--panel); }
.vf-rail-eyebrow { color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: 1.7px; }
.vf-rail-intro h2 { margin: 10px 0 8px; font-size: 23px; line-height: 1.15; }
.vf-rail-intro p { margin: 0 0 15px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.vf-rail-intro a { display: inline-flex; gap: 18px; align-items: center; font-weight: 700; font-size: 13px; text-decoration: none; }
:root:root body .vf-rail-footer { padding: 16px 12px; gap: 5px 10px; color: var(--muted); font-size: 11px; }
:root:root body.vf-shell-active > :is(.feed-container,.wrap,.container,.search-page,.tag-page,.vf-about,.vf-legal,.rules-page,.ege-page,.vf-onboarding-shell) {
    width: 100%; max-width: var(--void-main); min-height: 100dvh; margin: 0; padding: 0 0 64px;
    border: solid var(--stroke); border-width: 0 1px; border-radius: 0; background: var(--bg);
}
:root:root body .vf-feed-heading { min-height: 58px; margin: 0; padding: 14px 16px 8px; border: 0; background: var(--bg); }
:root:root body .vf-feed-heading h1 { margin: 0; font-size: 20px; font-weight: 750; }
:root:root body .vf-feed-heading p { margin: 4px 0; color: var(--muted); font-size: 13px; }
:root:root body :is(.vf-feed-tabs,.vf-filter-pills,.vf-search-scopes,.profile-hero-card .tabs) {
    display: flex; flex-wrap: nowrap; gap: 0; margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: var(--bg); overflow-x: auto; box-shadow: none;
}
:root:root body :is(.vf-feed-tabs,.vf-filter-pills,.vf-search-scopes,.profile-hero-card .tabs) > a {
    position: relative; flex: 1 0 auto; display: flex; align-items: center; justify-content: center;
    min-height: 52px; padding: 14px 12px; border: 0; border-radius: 0; background: none;
    color: var(--muted); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
:root:root body :is(.vf-feed-tabs,.vf-filter-pills,.vf-search-scopes,.profile-hero-card .tabs) > a:hover { background: var(--panel-2); }
:root:root body :is(.vf-feed-tabs,.vf-filter-pills,.vf-search-scopes,.profile-hero-card .tabs) > :is(.is-active,.active) { color: var(--text); font-weight: 750; }
:root:root body :is(.vf-feed-tabs,.vf-filter-pills,.vf-search-scopes,.profile-hero-card .tabs) > :is(.is-active,.active)::after { content: ""; position: absolute; bottom: 0; left: 30%; right: 30%; height: 4px; border-radius: 4px; background: var(--accent); }
:root:root body :is(.feed-post-list,.profile-posts-section,.tag-feed) { display: block; gap: 0; padding: 0; margin: 0; }
:root:root body :is(.post-card,.vf-unified-post-card,.section .profile-post) {
    display: flex; flex-direction: column; gap: 0; margin: 0; padding: 14px 16px 10px 68px;
    border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: var(--bg); box-shadow: none;
}
:root:root body .post-card:hover { background: color-mix(in srgb,var(--bg) 97%,var(--text)); transform: none; }
:root:root body .post-author-row { position: relative; display: flex; align-items: baseline; gap: 6px; min-height: 26px; padding: 0; margin: 0; }
:root:root body .post-author-row .profile-avatar { position: absolute; left: -52px; top: 0; width: 40px; height: 40px; border: 0; border-radius: 50%; }
:root:root body .post-author-identity { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 5px; min-width: 0; }
:root:root body .post-author-name-line { display: inline-flex; width: auto; align-items: center; gap: 3px; }
:root:root body .post-author-row :is(.author-name,.author) { color: var(--text) !important; font-size: 15px; font-weight: 700; text-shadow: none; }
:root:root body .post-author-row :is(.author-username,.date) { color: var(--muted); font-size: 13px; font-weight: 400; }
:root:root body .post-author-row .date { margin-left: auto; white-space: nowrap; }
:root:root body .post-card :is(.post-text,.post-content,.post-text-content) { margin: 2px 0 10px; color: var(--text); font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
:root:root body .post-card :is(.vf-post-text,.content) { margin-left: 0; padding: 0; min-height: 0; width: 100%; text-indent: 0; }
:root:root body .post-media-grid { order: 3; margin: 8px 0 10px; border: 1px solid var(--stroke); border-radius: 16px; overflow: hidden; }
:root:root body .post-card .pactions { order: 5; display: flex; justify-content: space-between; gap: 8px; margin: 7px -6px 0; padding: 0; border: 0; }
:root:root body .post-action { gap: 5px; padding: 5px; min-height: 30px; color: var(--muted); border: 0; border-radius: 999px; background: transparent; box-shadow: none; font-size: 12px; }
:root:root body .post-action svg { width: 19px; height: 19px; }
:root:root body .post-action:hover { color: var(--accent); background: var(--accent-soft); }
:root:root body .post-action-like:is(:hover,.is-active) { color: #e02668; background: transparent; }
:root:root body .post-card .vf-feed-comments-panel { order: 6; width: 100%; border-color: var(--stroke); }
:root:root body .profile-post-composer { padding: 16px; margin: 0; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: var(--bg) !important; }
:root:root body .profile-post-composer .profile-post-form { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 12px; padding: 0; margin: 0; }
:root:root body .profile-post-composer .profile-post-form-avatar { display: block; width: 40px; height: 40px; margin: 0; border: 0; box-shadow: none; }
:root:root body .profile-post-composer .profile-post-form-body { display: block; min-width: 0; width: 100%; }
:root:root body .profile-post-composer .profile-post-composer-shell { min-height: 80px; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none; }
:root:root body .profile-post-composer .profile-post-composer-shell::before { display: none; }
:root:root body .profile-post-composer .vf-composer-editor-head { display: none; }
:root:root body .profile-post-composer .profile-post-form textarea { min-height: 76px; height: 76px; padding: 9px 0; border: 0; border-radius: 0; background: transparent; color: var(--text); font-size: 19px; line-height: 1.4; box-shadow: none; resize: vertical; }
:root:root body .profile-post-composer .profile-post-form textarea::placeholder { color: var(--muted); opacity: 1; }
:root:root body .profile-post-composer .profile-post-form-footer { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 10px 0 0; border-top: 1px solid var(--stroke); }
:root:root body .profile-post-composer .profile-post-form-media { flex: 0 1 auto; }
:root:root body .profile-post-composer .profile-post-form-media > .post-media-note { display: none; }
:root:root body .profile-post-composer .post-media-picker { padding: 6px 9px; min-height: 32px; border: 0; border-radius: 999px; color: var(--accent); background: var(--accent-soft); font-size: 13px; }
:root:root body .profile-post-composer .vf-composer-controls { display: flex; width: auto; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-left: auto; }
:root:root body .profile-post-composer .profile-post-form .vf-post-audience { display: flex; width: auto; order: 0; gap: 0; padding: 0; margin: 0; border: 0; background: transparent; }
:root:root body .profile-post-composer .vf-post-audience span { display: none; }
:root:root body .profile-post-composer .profile-post-form .vf-post-audience select { max-width: 150px; min-height: 32px; padding: 6px 22px 6px 7px; border: 0; background: var(--bg); color: var(--accent); font-size: 12px; }
:root:root body .profile-post-composer .profile-post-submit { width: auto; min-width: 0; min-height: 36px; padding: 8px 16px; border-radius: 999px; background: var(--void-button); color: var(--void-button-text); font-size: 13px; }
:root:root body .vf-upload-progress[hidden] { display: none; }
:root:root body section.hero.card.profile-hero-card { padding: 0; margin: 0; border: 0; border-radius: 0; overflow: hidden; background: var(--bg); }
:root:root body section.hero.card.profile-hero-card > .profile-cover { height: 190px; min-height: 0; margin: 0; border: 0; border-radius: 0; background-color: #c8b8ce; }
:root:root body section.hero.card.profile-hero-card > .profile-summary { position: relative; display: flex !important; flex-direction: column; gap: 0; margin: -65px 0 0; padding: 0 16px; }
:root:root body section.hero.card.profile-hero-card > .profile-summary .ava { width: 126px; height: 126px; border: 4px solid var(--bg); background: var(--panel); }
:root:root body section.hero.card.profile-hero-card > .profile-summary .identity { width: 100%; padding-top: 12px; }
:root:root body .profile-summary .identity h1 { font-size: 22px; line-height: 1.2; margin-bottom: 3px; }
:root:root body .profile-summary .meta { margin-top: 9px; font-size: 13px; }
:root:root body .profile-summary > .profile-primary-actions { position: absolute !important; top: 78px; right: 16px; max-width: calc(100% - 165px); justify-content: flex-end; }
:root:root body .profile-summary .profile-primary-actions :is(.btn,.btn2) { border: 1px solid var(--stroke-strong); border-radius: 999px; padding: 8px 14px; font-size: 13px; }
:root:root body .profile-primary-actions a[href="/profile-editor"] { color: var(--text); background: var(--bg); }
:root:root body .profile-summary > .vf-level-card { margin-top: 16px; padding: 12px 0; }
:root:root body .profile-summary .vf-level-card strong { font-size: 15px; }
:root:root body .vf-level-progress span { background: var(--accent); box-shadow: none; }
:root:root body section.hero.card.profile-hero-card > .stats { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 16px 0; padding-bottom: 14px; border: 0; }
:root:root body .profile-hero-card > .stats .metric { display: flex; flex-direction: row; align-items: baseline; gap: 4px; }
:root:root body .profile-hero-card > .stats .metric strong { font-size: 14px; }
:root:root body .profile-hero-card > .stats .metric span { font-size: 13px; }
:root:root body section.hero.card.profile-hero-card > .vf-profile-achievements { margin: 0 16px 16px; gap: 6px; }
:root:root body .profile-hero-card .vf-profile-achievements .vf-achievement-chip.is-unlocked { border-radius: 999px; padding: 6px 10px; background: var(--panel-2); }
:root:root body .section { padding: 20px 16px; margin: 0; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; }
:root:root body .section.profile-posts-section { padding: 0; }
:root:root body .wrap > .hero:not(.profile-hero-card) { padding: 20px 16px; margin: 0; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: var(--bg); }
:root:root body .wrap > .hero:not(.profile-hero-card) h1 { font-size: 24px; }
:root:root body .wrap > .hero:not(.profile-hero-card) .tabs { display: flex; flex-wrap: nowrap; gap: 4px; overflow-x: auto; }
:root:root body .wrap > .hero:not(.profile-hero-card) .tab { padding: 10px 12px; border-radius: 999px; white-space: nowrap; font-size: 13px; }
:root:root body .wrap > .hero:not(.profile-hero-card) .tab.active { color: var(--accent); background: var(--accent-soft); }
:root:root body.vf-shell-active > .vfe-page { width: 100%; max-width: 600px; margin: 0; padding: 20px 16px 64px; border: solid var(--stroke); border-width: 0 1px; }
:root:root body .vfe-shell { grid-template-columns: 1fr; }
:root:root body :is(.vfe-panel,.vfe-preview) { border-color: var(--stroke); border-radius: 16px; box-shadow: none; }
:root:root body .vfe-preview { position: static; order: 0; }
:root:root body .vfe-panel { order: 1; }
:root:root body :is(.vfe-head,.vfe-section,.vfe-actions) { padding: 20px 16px; }
:root:root body .vfe-head h1 { font-size: 26px; }
:root:root body .vfe-grid { grid-template-columns: 1fr; }
:root:root body .vfe-actions { position: static; flex-wrap: wrap; background: var(--panel); backdrop-filter: none; }
:root:root body .vfe-actions button { color: var(--void-button-text); background: var(--void-button); box-shadow: none; }
:root:root body.vf-shell-active > :is(.vf-about,.vf-legal,.rules-page,.ege-page,.vf-onboarding-shell) { padding: 20px 16px 64px; }
:root:root body :is(.vf-about-cover,.vf-legal-cover,.rules-cover,.vf-onboarding-card) { padding: 24px 18px; border: 1px solid var(--stroke); border-radius: 16px; background: var(--panel); box-shadow: none; }
:root:root body :is(.vf-about,.vf-legal,.rules-page) h1 { font-size: 30px; line-height: 1.15; }
:root:root body .ege-page { --ege-blue: var(--accent); --ege-blue-soft: var(--accent-soft); --ege-ink: var(--text); --ege-muted: var(--muted); --ege-line: var(--stroke); --ege-paper: var(--panel); }
:root:root body :is(.vf-hero-card,.tag-hero,.search-header) { padding: 18px 16px; margin: 0; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: var(--bg); }
:root:root body :is(.vf-hero-card,.search-header) h1 { font-size: 22px; margin: 0 0 8px; }
:root:root body .vf-hero-card .eyebrow { display: none; }
:root:root body .vf-hero-card p { color: var(--muted); font-size: 14px; }
:root:root body .vf-page-stack { display: block; gap: 0; }
:root:root body .vf-notification-row { margin: 0; padding: 20px 16px; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: var(--bg); }
:root:root body .vf-notification-row.is-unread { border-left: 0; background: var(--accent-soft); }
:root:root body .vf-notification-icon { border: 0; background: transparent; color: var(--accent); font-size: 25px; }
:root:root body .vf-notification-copy { font-size: 14px; }
:root:root body .search-header { position: relative; top: auto; }
:root:root body .search-form { padding: 2px 8px 2px 16px; border: 1px solid var(--stroke-strong); border-radius: 999px; background: var(--panel-2); }
:root:root body .search-form input { border: 0; background: transparent; min-width: 0; }
:root:root body .search-form button { border-radius: 999px; }
:root:root body :is(.search-section,.vf-discovery-block) { padding: 16px; border-bottom: 1px solid var(--stroke); }
:root:root body .search-empty-state { padding: 24px 16px; }
:root:root body .search-user-list { display: block; }
:root:root body .search-user-card { display: flex; padding: 14px 0; border: 0; border-radius: 0; background: transparent; }
:root:root body .search-user-card:hover { background: var(--panel-2); }
:root:root body .vf-discovery-tags a { border: 1px solid var(--stroke); border-radius: 999px; background: var(--panel-2); }
:root:root body .mods-page { --mods-muted: var(--muted); --mods-surface: var(--panel); padding: 20px 16px !important; }
:root:root body .mods-page .mods-hero { padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: var(--bg); }
:root:root body .mods-page h1 { font-size: 28px; }
:root:root body .mods-page .mods-grid { grid-template-columns: 1fr; gap: 16px; }
:root:root body .mods-page :is(.mods-search,.mods-editor-grid,.mods-detail-grid) { grid-template-columns: 1fr; }
:root:root body .mods-page .mods-hero { flex-wrap: wrap; gap: 16px; }
:root:root body .mods-page .mods-button, :root:root body .mods-page button { border-radius: 999px; }
:root:root body .mods-page .mod-card { border-color: var(--stroke); background: var(--panel); box-shadow: none; }
:root:root body .vf-achievements-page { padding: 20px 16px !important; }
:root:root body .vf-achievements-page .achievement-command { grid-template-columns: 1fr; gap: 20px; padding: 20px; border: 1px solid var(--stroke); border-radius: 16px; background: var(--panel); }
:root:root body .vf-achievements-page h1 { font-size: 26px; }
:root:root body .vf-achievements-page .achievement-total { padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--stroke); }
:root:root body .vf-achievements-page .vf-achievement-grid { columns: 1; }
:root:root body .vf-achievements-page .vf-achievement-group { padding: 18px; border-radius: 16px; }
:root:root body :is(.vf-dishonored-panel,.vf-dishonored-tile,.vf-dishonored-explainer,.vf-dishonored-sigil,.vf-dishonored-icon) { color: var(--text); background: var(--panel-2); border-color: var(--stroke); border-radius: 12px; box-shadow: none; }
:root:root body :is(.vf-dishonored-panel,.vf-dishonored-tile)::before { display: none; }
:root:root body :is(.vf-dishonored-head h2,.vf-dishonored-copy strong,.vf-dishonored-explainer span) { color: var(--text); }
:root:root body :is(.vf-dishonored-head p,.vf-dishonored-note,.vf-dishonored-copy small) { color: var(--muted); }
:root:root body .vf-dishonored-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
:root:root body.messages-page {
    --msg-accent: var(--accent); --msg-accent-hover: var(--accent-2); --msg-page: var(--bg);
    --msg-sidebar: var(--bg); --msg-header: var(--bg); --msg-chat: var(--bg);
    --msg-incoming: var(--panel-2); --msg-outgoing: var(--accent-solid);
    --msg-control: var(--panel-2); --msg-control-hover: var(--stroke); --msg-text: var(--text);
    --msg-muted: var(--muted); --msg-faint: var(--muted); --msg-line: var(--stroke);
    --msg-menu: var(--panel); --msg-shadow: 0 4px 24px #0002;
    padding-right: var(--void-edge); height: 100dvh;
}
:root:root body.messages-page .messages-layout { width: 100%; max-width: 970px; height: 100dvh; grid-template-columns: 320px minmax(0,1fr); border: solid var(--stroke); border-width: 0 1px; }
:root:root body.messages-page .chat-main { background: var(--bg); background-image: none; }
:root:root body.messages-page .messages-scroll { background: var(--bg); background-image: none; padding: 20px; }
:root:root body.messages-page .bubble { max-width: 85%; color: var(--text); background: var(--panel-2); border-radius: 18px 18px 18px 4px; box-shadow: none; border: 0; padding: 10px 14px; }
:root:root body.messages-page .bubble.mine { border-radius: 18px 18px 4px 18px; color: #fff; background: var(--msg-outgoing); }
:root:root body.messages-page .bubble::before { display: none; }
:root:root body.messages-page .bubble.mine :is(.bubble-text,.bubble-meta,.delivery-flag) { color: #fff; }
:root:root body.messages-page .chat-header { border-bottom: 1px solid var(--stroke); background: var(--bg); }
:root:root body.messages-page .chat-compose { padding: 12px; background: var(--bg); border-top: 1px solid var(--stroke); }
:root:root body.messages-page .chat-compose textarea { border: 0; border-radius: 24px; background: var(--panel-2); }
:root:root body.messages-page .chat-link.active { background: var(--panel-2); }
:root:root body.messages-page .chat-link.active .chat-name { color: var(--text); }
:root:root body.messages-page .chat-link.active :is(.chat-last-message,.chat-updated-at,.chat-pin-toggle) { color: var(--muted); }
:root:root body.messages-page .message-date-divider { background: transparent; color: var(--muted); box-shadow: none; font-weight: 400; }
/* Standalone sign-in, registration and error screens share the same palette. */
:root:root body.auth-page { display: grid; place-items: center; min-height: 100dvh; padding: 80px 24px; }
:root:root body.auth-page::before { display: none; }
:root:root body.auth-page :is(.auth-card,.login-card,.register-card) { width: min(100%,440px); padding: 36px; border: 1px solid var(--stroke); border-radius: 24px; color: var(--text); background: var(--bg); box-shadow: none; backdrop-filter: none; }
:root:root body.auth-page :is(.auth-card,.login-card,.register-card)::before { content: "VOID"; display: block; width: auto; height: auto; padding: 0; margin-bottom: 32px; border: 0; border-radius: 0; font-size: 24px; line-height: 1.2; letter-spacing: 6px; font-weight: 800; text-align: center; color: var(--text); background: none; box-shadow: none; }
:root:root body.auth-page h1 { font-size: 29px; margin: 0 0 26px; }
:root:root body.auth-page input { min-height: 52px; border-radius: 8px; background: var(--bg); }
:root:root body.auth-page button[type="submit"] { color: var(--void-button-text); background: var(--void-button); border: 0; border-radius: 999px; box-shadow: none; }
@media (max-width: 1220px) and (min-width: 1101px) {
    :root { --void-nav: 88px; --void-width: 1058px; }
    :root:root body .vf-header { padding: 10px 12px; align-items: center; }
    :root:root body .vf-logo { padding: 4px; }
    :root:root body :is(.vf-logo-text,.vf-menu .vf-nav-label,.vf-account span,.vf-account b,.vf-compose-shortcut span) { display: none; }
    :root:root body .vf-menu { align-items: center; }
    :root:root body .vf-menu :is(a,button.vf-mobile-more-toggle) { padding: 12px; }
    .vf-compose-shortcut { width: 49px; } .vf-compose-shortcut svg { display: block; }
    :root:root body .vf-account { display: flex; width: auto; padding: 8px; }
}
@media (max-width: 1100px) and (min-width: 701px) {
    :root { --void-nav: 88px; --void-width: 688px; --void-edge: max(0px,calc((100vw - 688px)/2)); }
    :root:root body.vf-shell-active { padding-left: calc(var(--void-edge) + 88px); padding-right: var(--void-edge); }
    :root:root body .vf-right-rail { display: none; }
    :root:root body .vf-header { width: 88px; padding: 10px 12px; align-items: center; }
    :root:root body .vf-logo { padding: 4px; }
    :root:root body :is(.vf-logo-text,.vf-menu .vf-nav-label,.vf-account span,.vf-account b,.vf-compose-shortcut span) { display: none; }
    :root:root body .vf-menu { align-items: center; }
    :root:root body .vf-menu :is(a,button.vf-mobile-more-toggle) { padding: 12px; }
    .vf-compose-shortcut { width: 49px; } .vf-compose-shortcut svg { display: block; }
    :root:root body .vf-account { display: flex; width: auto; padding: 8px; }
    :root:root body.messages-page { padding-left: 88px; padding-right: 0; }
    :root:root body.messages-page .vf-header { left: 0; }
    :root:root body.messages-page .messages-layout { grid-template-columns: minmax(230px, .8fr) minmax(0,1.2fr); }
}
@media (max-width: 700px) {
    :root { --void-edge: 0px; --void-nav: 0px; }
    :root:root body.vf-shell-active { padding: 0 0 calc(64px + env(safe-area-inset-bottom)); }
    :root:root body .vf-right-rail { display: none; }
    :root:root body .vf-header { position: fixed; inset: auto 0 0; z-index: 1200; width: 100%; height: calc(58px + env(safe-area-inset-bottom)); padding: 0 8px env(safe-area-inset-bottom); border: 0; border-top: 1px solid var(--stroke); background: var(--bg); }
    :root:root body .vf-header :is(.vf-logo,.vf-account,.vf-compose-shortcut) { display: none; }
    :root:root body .vf-menu { width: 100%; height: 58px; display: flex; flex: 1; flex-direction: row; justify-content: space-around; align-items: center; overflow: visible; gap: 0; }
    :root:root body .vf-menu :is(a,button.vf-mobile-more-toggle) { padding: 12px; min-height: 48px; width: 48px; justify-content: center; }
    :root:root body .vf-menu .vf-nav-label, :root:root body .vf-menu .vf-mobile-secondary { display: none; }
    :root:root body .vf-menu .vf-nav-label { display: none !important; }
    :root:root body .vf-menu.vf-menu-guest .vf-theme-toggle { display: inline-flex !important; }
    :root:root body .vf-menu.vf-menu-guest > :is(a,button) { flex: 1 1 0 !important; width: auto !important; padding: 10px !important; justify-content: center; }
    :root:root body .vf-mobile-more-panel:not([hidden]) { inset: auto 12px calc(70px + env(safe-area-inset-bottom)) 12px; width: auto; max-height: 75dvh; }
    :root:root body.vf-shell-active > :is(.feed-container,.wrap,.container,.search-page,.tag-page,.vfe-page,.vf-about,.vf-legal,.rules-page,.ege-page,.vf-onboarding-shell) { width: 100%; max-width: 600px; min-height: calc(100dvh - 58px); margin: 0 auto; border-width: 0; }
    :root:root body .vf-feed-heading { min-height: 54px; }
    :root:root body .vf-feed-tabs { position: sticky; top: 0; z-index: 10; background: var(--bg); }
    :root:root body :is(.post-card,.vf-unified-post-card,.section .profile-post) { padding: 12px 12px 8px 60px; }
    :root:root body .post-author-row .profile-avatar { left: -48px; width: 36px; height: 36px; }
    :root:root body .post-author-identity { gap: 0 4px; }
    :root:root body .post-author-row :is(.author-username,.date) { font-size: 12px; }
    :root:root body .post-author-row .date { font-size: 11px; }
    :root:root body .profile-post-composer { padding: 12px; }
    :root:root body .profile-post-composer .profile-post-form { grid-template-columns: 36px minmax(0,1fr); gap: 10px; }
    :root:root body .profile-post-composer .profile-post-form-avatar { width: 36px; height: 36px; }
    :root:root body .profile-post-composer .profile-post-form textarea { font-size: 17px; }
    :root:root body .profile-post-composer .profile-post-form-footer { gap: 6px; }
    :root:root body .profile-post-composer .vf-composer-controls { gap: 4px; }
    :root:root body .profile-post-composer .post-media-picker { padding: 6px; font-size: 12px; }
    :root:root body .profile-post-composer .profile-post-form .vf-post-audience select { max-width: 86px; }
    :root:root body .profile-post-composer .profile-post-submit { padding: 8px 12px; font-size: 12px; }
    :root:root body section.hero.card.profile-hero-card > .profile-cover { height: 150px; }
    :root:root body section.hero.card.profile-hero-card > .profile-summary { margin-top: -48px; }
    :root:root body section.hero.card.profile-hero-card > .profile-summary .ava { width: 96px; height: 96px; }
    :root:root body .profile-summary > .profile-primary-actions { top: 60px; max-width: calc(100% - 130px); }
    :root:root body .profile-summary .profile-primary-actions :is(.btn,.btn2) { font-size: 11px; padding: 7px 10px; }
    :root:root body .vf-dishonored-grid { grid-template-columns: 1fr; }
    :root:root body.messages-page { padding: 0 0 calc(58px + env(safe-area-inset-bottom)); }
    :root:root body.messages-page .messages-layout { height: calc(100dvh - 58px - env(safe-area-inset-bottom)); grid-template-columns: 1fr; border: 0; }
    :root:root body.messages-page .messages-layout > .sidebar { display: block; }
    :root:root body.messages-page .messages-layout > .chat-main { display: none; }
    :root:root body.messages-page .messages-layout.mobile-chat-open > .sidebar { display: none; }
    :root:root body.messages-page .messages-layout.mobile-chat-open > .chat-main { display: flex; }
    :root:root body.messages-page .messages-scroll { padding: 14px; }
    :root:root body.auth-page :is(.auth-card,.login-card,.register-card) { padding: 26px 20px; border: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Purple equivalents for legacy success and achievement surfaces. */
:root:root body .notice.success { color: var(--accent); border-color: var(--accent-soft-strong); background: var(--accent-soft); }
:root:root body .vf-achievements-page { --journal-earned: var(--accent); }
:root:root body .vf-updates .vf-legal-grid { display: block; }
:root:root body .vf-updates .vf-legal-nav { display: none; }
:root:root body .vf-updates .vf-legal-summary { display: block; padding: 18px; }
:root:root body .vf-updates .vf-legal-summary p { margin-top: 8px; }
:root:root body .vf-updates .vf-legal-section { padding: 22px 0; border-bottom: 1px solid var(--stroke); }
:root:root body .vf-updates .vf-legal-section h2 { font-size: 21px; }
:root:root body .vf-updates .vf-legal-number { display: none; }
:root:root body .vf-updates-archive { margin-top: 24px; color: var(--muted); }
:root:root body .vf-updates-archive summary { cursor: pointer; padding: 12px 0; color: var(--text); }

/* Layout refinement: the content column is 600px even on a wide desktop. */
:root:root body :is(main,section,article,aside,form,fieldset,.identity,.post-author,.post-author-identity) { min-width: 0; }
:root:root body :is(.post-text,.comment-text,.vf-notification-copy,.search-user-info,.profile-bio,.vfe-bio-preview,.hint) { overflow-wrap: anywhere; }
:root:root body :is(input,textarea,select) { max-width: 100%; box-sizing: border-box; font: inherit; }
:root:root body input:is([type="checkbox"],[type="radio"]) { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: 3px 0; accent-color: var(--accent-solid); }
:root:root body textarea { resize: vertical; }
:root:root body input[type="file"] { width: 100%; overflow: hidden; font-size: 13px; }
:root:root body input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 12px; border: 0; border-radius: 8px; color: var(--text); background: var(--panel-2); cursor: pointer; }
:root:root body :is(button,.btn,.btn2) { overflow-wrap: anywhere; }
:root:root body :is(.vf-empty-state,.search-empty-state,.tag-empty-card) { padding: 32px 24px; max-width: 100%; }
:root:root body :is(.vf-empty-state,.search-empty-state,.tag-empty-card) h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.2; }
:root:root body :is(.vf-empty-state,.search-empty-state,.tag-empty-card) p { color: var(--muted); line-height: 1.6; }
:root:root body :is(.vf-feed-tabs,.vf-filter-pills,.vf-search-scopes,.tabs,.admin-tabs) { scrollbar-width: thin; scroll-padding-inline: 12px; }
:root:root body :is(.vf-feed-tabs,.vf-filter-pills,.vf-search-scopes,.tabs) > * { flex-shrink: 0; }
:root:root body :is(.post-author-name-line,.profile-primary-actions,.profile-secondary-actions) { min-width: 0; flex-wrap: wrap; }
:root:root body .post-author-row .author-name { overflow: hidden; text-overflow: ellipsis; }
:root:root body .post-media-grid { min-width: 0; max-width: 100%; overflow: hidden; }
:root:root body .post-media-grid :is(img,video) { max-width: 100%; min-width: 0; }
:root:root body .vf-notification-copy { min-width: 0; }
:root:root body .search-user-card { gap: 12px; align-items: center; min-width: 0; }
:root:root body .tag-hero { display: block; }
:root:root body .tag-hero h1 { overflow-wrap: anywhere; font-size: 28px; }
:root:root body .tag-hero-stats { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 16px; }

/* Forms stay aligned to their own column, rather than the viewport. */
:root:root body .settings-page .top { display: flex; align-items: center; gap: 14px; }
:root:root body .settings-page .top > .ava { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; margin: 0; border: 0; align-self: center; }
:root:root body .settings-page .top h1 { margin: 0 0 4px; }
:root:root body .settings-page .meta { color: var(--muted); font-size: 13px; }
:root:root body .settings-page .tabs { margin-top: 20px; }
:root:root body .settings-page .section h2 { margin: 0 0 10px; font-size: 20px; }
:root:root body .settings-page .quick-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; margin-top: 16px; }
:root:root body .settings-page .quick-form > :is(input:not([type="hidden"]),select,textarea) { width: 100%; min-height: 44px; padding: 11px 12px; }
:root:root body .settings-page .quick-form > button { justify-self: start; max-width: 100%; min-height: 44px; padding: 10px 18px; border: 1px solid var(--stroke-strong); border-radius: 999px; color: var(--void-button-text); background: var(--void-button); font-weight: 700; }
:root:root body .settings-page .quick-form > br { display: none; }
:root:root body .settings-page .quick-form > label { line-height: 1.5; }
/* Settings use one consistent hierarchy for account, privacy and game statistics. */
:root:root body .wrap.settings-page { --danger: #b42334; }
:root:root[data-theme="dark"] body .wrap.settings-page { --danger: #ff7888; }
:root:root body .wrap.settings-page > .hero { padding: 24px 20px 0; }
:root:root body .wrap.settings-page .top { align-items: center; flex-wrap: nowrap; }
:root:root body .wrap.settings-page .top .identity { flex: 1; min-width: 0; }
:root:root body .wrap.settings-page .top h1 { font-size: 25px; letter-spacing: -.5px; }
:root:root body .wrap.settings-page .meta { line-height: 1.5; }
:root:root body .wrap.settings-page > .hero .tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 22px -20px 0; padding: 0; overflow: visible; border: 0; border-top: 1px solid var(--stroke); border-radius: 0; background: transparent; }
:root:root body .wrap.settings-page > .hero .tabs .tab { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 54px; padding: 10px 6px; border: 0; border-radius: 0; background: transparent; color: var(--muted); font-size: 13px; font-weight: 600; text-align: center; text-decoration: none; white-space: normal; box-shadow: none; }
:root:root body .wrap.settings-page > .hero .tabs .tab:hover { background: var(--panel-2); color: var(--text); }
:root:root body .wrap.settings-page > .hero .tabs .tab.active { color: var(--text); background: transparent; font-weight: 750; }
:root:root body .wrap.settings-page > .hero .tabs .tab.active::after { content: ''; position: absolute; bottom: 0; left: 25%; right: 25%; height: 3px; border-radius: 4px; background: var(--accent); }
:root:root body .wrap.settings-page .section { padding: 24px 20px; }
:root:root body .wrap.settings-page .section h2 { margin-bottom: 8px; font-size: 18px; line-height: 1.35; letter-spacing: -.2px; }
:root:root body .wrap.settings-page .hint { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
:root:root body .wrap.settings-page .quick-form { gap: 10px; margin-top: 20px; }
:root:root body .wrap.settings-page .quick-form > label:not(:has(input)) { margin: 6px 0 -4px; color: var(--text); font-size: 13px; font-weight: 600; }
:root:root body .wrap.settings-page :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { min-height: 46px; padding: 11px 12px; border: 1px solid var(--stroke-strong); border-radius: 10px; background: var(--bg); color: var(--text); font-size: 14px; line-height: 1.5; }
:root:root body .wrap.settings-page :is(input,select,textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-color: var(--accent); }
:root:root body .wrap.settings-page :is(button,a,input,select,textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
:root:root body .wrap.settings-page .quick-form > button { margin-top: 8px; font-size: 13px; line-height: 1.4; transition: background .15s,opacity .15s; }
:root:root body .wrap.settings-page .quick-form > button:hover { opacity: .86; }
:root:root body .wrap.settings-page .quick-form > button:disabled { opacity: .5; cursor: wait; }
:root:root body .wrap.settings-page .vf-date-format-settings > label { padding: 14px; margin: 0; border: 1px solid var(--stroke); border-radius: 12px; cursor: pointer; }
:root:root body .wrap.settings-page .vf-date-format-settings > label:has(:checked) { border-color: var(--accent); background: var(--accent-soft); }
:root:root body .wrap.settings-page .vf-date-format-settings strong { font-size: 14px; }
:root:root body .wrap.settings-page .quick-form > label:has(input[type=checkbox]) { padding: 14px 0; font-size: 14px; cursor: pointer; }
:root:root body .wrap.settings-page .grid2 { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; }
:root:root body .wrap.settings-page .tile { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px 12px; padding: 16px 0; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: transparent; }
:root:root body .wrap.settings-page .tile:first-child { padding-top: 0; }
:root:root body .wrap.settings-page .tile > small { grid-column: 1 / -1; color: var(--text); font-size: 14px; font-weight: 650; text-transform: none; letter-spacing: 0; line-height: 1.5; }
:root:root body .wrap.settings-page .tile > label { margin-top: 0 !important; font-size: 12px; line-height: 1.5; cursor: pointer; }
:root:root body .wrap.settings-page .voidmod-visibility-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
:root:root body .wrap.settings-page .voidmod-visibility-item { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,240px); align-items: center; gap: 12px; padding: 14px 0; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: transparent; }
:root:root body .wrap.settings-page .voidmod-visibility-item:first-child { padding-top: 0; }
:root:root body .wrap.settings-page .voidmod-visibility-item span { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.5; }
:root:root body .wrap.settings-page .voidmod-reset-warning { margin-top: 14px; padding: 12px 14px; border-radius: 10px; font-weight: 400; line-height: 1.6; }
:root:root body .wrap.settings-page .quick-form > :is(.settings-danger-button,.voidmod-reset-button) { background: transparent; color: var(--danger); border-color: var(--danger); }
:root:root body .wrap.settings-page .quick-form > :is(.settings-danger-button,.voidmod-reset-button):hover { background: rgba(244,33,46,.08); opacity: 1; }
:root:root body .wrap.settings-page .voidmod-reset-status:empty { display: none; }
@media(max-width:480px) {
    :root:root body .wrap.settings-page > .hero { padding: 20px 16px 0; }
    :root:root body .wrap.settings-page > .hero .tabs { grid-template-columns: repeat(2,minmax(0,1fr)); margin-inline: -16px; }
    :root:root body .wrap.settings-page > .hero .tabs .tab { min-height: 46px; border-bottom: 1px solid var(--stroke); }
    :root:root body .wrap.settings-page .section { padding: 22px 16px; }
    :root:root body .wrap.settings-page .voidmod-visibility-item { grid-template-columns: minmax(0,1fr); gap: 8px; }
    :root:root body .wrap.settings-page .tile { grid-template-columns: minmax(0,1fr); gap: 8px; }
    :root:root body .wrap.settings-page .tile > label { min-height: 32px; font-size: 13px; }
    :root:root body .wrap.settings-page .quick-form > button { width: 100%; justify-self: stretch; }
}
:root:root body .vfe-grid { gap: 16px; }
:root:root body .vfe-file-row { grid-template-columns: minmax(0,1fr); }
:root:root body .vfe-file { flex-wrap: wrap; gap: 4px 12px; padding: 12px; line-height: 1.4; }
:root:root body .vfe-small-action { justify-self: start; }
:root:root body .vfe-section-title { display: block; margin-bottom: 18px; }
:root:root body .vfe-section-title h2 { font-size: 21px; }
:root:root body .vfe-preview-body { padding-inline: 18px; }
:root:root body .vfe-alert.success { color: var(--accent); background: var(--accent-soft); border-color: var(--accent-soft-strong); }
:root:root body .vf-onboarding-fields { grid-template-columns: minmax(0,1fr); }
:root:root body .vf-onboarding-person { min-width: 0; }
:root:root body .vf-onboarding-person > span { min-width: 0; overflow-wrap: anywhere; }
:root:root body .vf-onboarding-card h1 { font-size: 28px; line-height: 1.2; }

/* Reading pages never squeeze an article beside a table of contents. */
:root:root body :is(.vf-about-grid,.vf-legal-grid,.rules-layout) { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }
:root:root body :is(.vf-about-nav,.vf-legal-nav,.rules-toc) { position: static; max-height: none; padding: 18px; border-radius: 14px; }
:root:root body :is(.vf-about-nav,.vf-legal-nav,.rules-toc) ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
:root:root body :is(.vf-about-summary,.vf-legal-summary,.rules-notice) { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; padding: 18px; margin-block: 18px; border-radius: 14px; }
:root:root body :is(.vf-about-section,.vf-legal-section,.rules-article) { padding: 24px 18px; overflow-wrap: anywhere; scroll-margin-top: 16px; }
:root:root body :is(.vf-about-section,.vf-legal-section,.rules-article) h2 { font-size: 23px; line-height: 1.25; margin-bottom: 16px; }
:root:root body :is(.vf-about-lead,.vf-legal-lead,.rules-lead) { font-size: 16px; line-height: 1.65; }
:root:root body :is(.vf-about-section,.vf-legal-section,.rules-article) p { line-height: 1.75; }
:root:root body :is(.vf-about-body,.vf-legal-body,.rules-document) { border-radius: 14px; min-width: 0; }
:root:root body .rules-tree .rules-tree { margin-left: 8px; padding-left: 10px; }
:root:root body .rules-clause { grid-template-columns: 42px minmax(0,1fr); gap: 8px; }
:root:root body .vf-updates .vf-legal-section { padding: 24px 18px; }
:root:root body .vf-updates .vf-legal-summary { display: grid; }
:root:root body .dishonored-mod-guide-head { display: block; }
:root:root body .dishonored-mod-steps { padding-left: 24px; }
:root:root body .dishonored-mod-steps li { padding-left: 4px; overflow-wrap: anywhere; }
:root:root body :is(.dishonored-mod-download,.dishonored-profile-link) { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }

/* The dedicated post view uses the same rhythm as the timeline. */
:root:root body .post-page > .post { margin: 0; padding: 20px 16px; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: var(--bg); }
:root:root body .post-page .comments-section { margin: 0; padding: 20px 16px; border: 0; }
:root:root body .post-page .comments-heading { flex-wrap: wrap; }
:root:root body .post-page .post-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
:root:root body .post-page .post-page-author-row { flex: 1 1 200px; gap: 12px; position: static; align-items: center; }
:root:root body .post-page .post-page-author-avatar { flex: 0 0 44px; display: block; width: 44px; height: 44px; margin: 0; border: 0; align-self: center; }
:root:root body .post-page .post-page-author-avatar img { display: block; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
:root:root body .post-page .post-author { display: flex; flex-direction: column; overflow-wrap: anywhere; }
:root:root body .post-page .post-time { color: var(--muted); font-size: 12px; }
:root:root body .post-page .post-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 16px; }
:root:root body .post-page .vf-post-secondary-actions { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); flex: 1 0 100%; gap: 8px; padding-top: 14px; margin-top: 8px; border-top: 1px solid var(--stroke); }
:root:root body .post-page .vf-post-secondary-actions > :is(form,details) { margin: 0; min-width: 0; }
:root:root body .post-page .vf-post-tool { display: flex; align-items: center; justify-content: center; gap: 7px; box-sizing: border-box; width: 100%; min-height: 42px; height: 100%; padding: 9px 10px; border: 1px solid var(--stroke-strong); border-radius: 999px; color: var(--text); background: var(--bg); font: 600 13px/1.3 var(--vf-font-body); text-decoration: none; list-style: none; cursor: pointer; }
:root:root body .post-page .vf-post-tool::-webkit-details-marker { display: none; }
:root:root body .post-page .vf-post-tool svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
:root:root body .post-page .vf-post-tool:hover { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }
:root:root body .post-page .vf-post-tool-danger:hover { color: var(--danger); border-color: var(--danger); background: color-mix(in srgb,var(--danger) 8%,var(--bg)); }
:root:root body .post-page .vf-post-secondary-actions > details { position: static; }
:root:root body .post-page .vf-post-secondary-actions .vf-inline-report form { position: absolute; z-index: 20; inset: calc(100% + 8px) 0 auto; box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 14px; box-shadow: 0 6px 24px #0003; }
:root:root body .post-page .vf-post-secondary-actions textarea { width: 100%; min-width: 0; padding: 10px; }
@media (max-width: 480px) { :root:root body .post-page .vf-post-tool { flex-direction: column; gap: 4px; min-height: 58px; padding: 8px 4px; font-size: 12px; border-radius: 14px; } }
:root:root body .post-page :is(.post-edit-form,.comment-form) textarea { width: 100%; min-height: 110px; padding: 12px; }
:root:root body .post-page .comment { padding: 16px; border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; overflow-wrap: anywhere; }
:root:root body .post-page .comments-section { margin-top:24px; padding:20px 0 0; border-top:1px solid var(--stroke); }
:root:root body .post-page .comments-heading { margin:0 0 18px; }
:root:root body .post-page .comments-heading > div { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
:root:root body .post-page .comments-kicker { margin:0; font-size:19px; font-weight:700; color:var(--text); text-transform:none; letter-spacing:-.3px; }
:root:root body .post-page .comments-heading .comments-count { font:400 13px/1.5 var(--vf-font-body); color:var(--muted); letter-spacing:0; }
:root:root body .post-page .comments-list { gap:0; }
:root:root body .post-page .comment { grid-template-columns:40px minmax(0,1fr); gap:12px; margin:0; padding:18px 0; align-items:start; }
:root:root body .post-page .comment-avatar { width:40px; height:40px; margin:0; object-fit:cover; border-radius:50%; background:var(--panel-2); }
:root:root body .post-page .comment-header { gap:6px 10px; line-height:1.5; }
:root:root body .post-page .comment-header > a { font-size:14px; font-weight:700; overflow-wrap:anywhere; }
:root:root body .post-page .comment-time { font-size:12px; font-weight:400; }
:root:root body .post-page .comment-text { margin-top:4px; font-size:15px; line-height:1.55; }
:root:root body .post-page .comment-actions { gap:12px; margin-top:6px; }
:root:root body .post-page .comment-action { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:6px 8px; border:0; border-radius:999px; background:transparent; color:var(--muted); font:500 12px/1.3 var(--vf-font-body); box-shadow:none; }
:root:root body .post-page .comment-action svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; }
:root:root body .post-page .comment-reply-toggle::before { content:'↩'; font-size:19px; line-height:1; }
:root:root body .post-page .comment-action:hover { background:var(--accent-soft); color:var(--accent); }
:root:root body .post-page .comment-like.is-active { color:#f91880; background:transparent; }
:root:root body .post-page .comment-like.is-active svg { fill:currentColor; }
:root:root body .post-page .comment-replies { gap:0; margin-top:8px; padding-left:16px; }
:root:root body .post-page .comment-replies::before { width:1px; bottom:16px; background:var(--stroke-strong); }
:root:root body .post-page .comment-reply { grid-template-columns:32px minmax(0,1fr); gap:10px; padding:14px 0; border-bottom:0; }
:root:root body .post-page .comment-reply .comment-avatar { width:32px; height:32px; }
:root:root body .post-page .vf-replies-toggle { min-height:32px; margin:4px 0; font-size:12px; font-weight:600; }
:root:root body .post-page .comment-form { margin:0 0 8px; padding:14px; border:1px solid var(--stroke-strong); border-radius:16px; background:var(--bg); transition:border-color .15s; }
:root:root body .post-page .comment-form[hidden] { display:none; }
:root:root body .post-page .comment-form:focus-within { border-color:var(--accent); }
:root:root body .post-page .comment-compose-row { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:start; gap:12px; }
:root:root body .post-page .comment-compose-avatar { display:block; width:40px; height:40px; border-radius:50%; object-fit:cover; }
:root:root body .post-page .comment-compose-field { display:block; min-width:0; }
:root:root body .post-page .comment-compose-field > span { display:block; margin-bottom:4px; font-size:13px; font-weight:600; color:var(--text); }
:root:root body .post-page .comment-form textarea { display:block; box-sizing:border-box; min-height:76px; max-height:240px; width:100%; margin:0; padding:6px 0; border:0; border-radius:0; outline:none; resize:vertical; background:transparent; color:var(--text); font:400 15px/1.5 var(--vf-font-body); box-shadow:none; }
:root:root body .post-page .comment-form textarea:focus { outline:none; }
:root:root body .post-page .comment-form-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:10px 0 0; padding-top:10px; border-top:1px solid var(--stroke); flex-wrap:wrap; }
:root:root body .post-page .comment-compose-hint { flex:1; font-size:11px; color:var(--muted); }
:root:root body .post-page .comment-form button[type=submit] { min-height:40px; padding:10px 20px; border:0; border-radius:999px; background:var(--void-button); color:var(--void-button-text); font:700 13px/1.3 var(--vf-font-body); cursor:pointer; }
:root:root body .post-page .comment-form button[type=submit]:disabled { opacity:.5; cursor:wait; }
:root:root body .post-page .comment-reply-form { margin:12px 0; padding:12px; border-radius:12px; background:var(--panel); }
:root:root body .post-page .comment-reply-cancel { min-height:40px; padding:9px 14px; font-size:13px; }
:root:root body .post-page .comment-replies { margin-top:4px; padding-left:20px; }
:root:root body .post-page .comment-replies::before { top:0; bottom:22px; border-radius:2px; background:var(--stroke-strong); }
:root:root body .post-page .comment-reply { position:relative; padding:16px 0; }
:root:root body .post-page .comment-reply::before { content:''; position:absolute; left:-20px; top:22px; width:14px; height:10px; border-bottom:1px solid var(--stroke-strong); border-bottom-left-radius:8px; }
:root:root body .post-page .comment-reply-to { display:block; width:fit-content; max-width:100%; margin:0 0 5px; color:var(--muted); font-size:11px; line-height:1.4; text-decoration:none; overflow-wrap:anywhere; }
:root:root body .post-page .comment-reply-to:hover { color:var(--accent); text-decoration:underline; }
:root:root body .post-page .vf-replies-toggle { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:6px 10px; margin:6px 0 2px -10px; border-radius:999px; background:transparent; font-size:12px; font-weight:600; }
:root:root body .post-page .vf-replies-toggle::before { content:''; width:7px; height:7px; margin-right:3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .15s; }
:root:root body .post-page .vf-replies-toggle[aria-expanded=true]::before { transform:rotate(225deg) translate(-1px,-1px); }
:root:root body .post-page .vf-replies-toggle:hover { background:var(--accent-soft); }
:root:root body .post-page .comment-reply-form { border-color:var(--accent-soft-strong); background:var(--accent-soft); }
:root:root body .post-page .comment-reply-context { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 8px; padding-bottom:8px; border-bottom:1px solid var(--accent-soft-strong); }
:root:root body .post-page .comment-reply-context > span { min-width:0; color:var(--muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
:root:root body .post-page .comment-reply-context a { color:var(--accent); font-weight:600; text-decoration:none; }
:root:root body .post-page .comment-reply-close { flex:0 0 32px; width:32px; height:32px; padding:0; border:0; border-radius:50%; color:var(--muted); background:transparent; font:400 24px/1 var(--vf-font-body); cursor:pointer; }
:root:root body .post-page .comment-reply-close:hover { background:var(--accent-soft-strong); color:var(--text); }
:root:root body .post-page .comments-empty { margin-top:12px; padding:24px 16px; border:0; border-radius:12px; background:var(--panel-2); font-size:14px; font-weight:400; line-height:1.6; }
@media(max-width:480px) {
 :root:root body .post-page .comment-compose-hint { display:none; }
 :root:root body .post-page .comment-form { padding:12px; }
 :root:root body .post-page .comment-compose-row { grid-template-columns:32px minmax(0,1fr); gap:10px; }
 :root:root body .post-page .comment-compose-avatar { width:32px; height:32px; }
 :root:root body .post-page .comment-replies { padding-left:10px; }
 :root:root body .post-page .comment-reply::before { left:-10px; width:6px; }
}
:root:root body .post-page :is(.post-text,.content) { overflow-wrap: anywhere; }

/* Standalone states share the theme and fit small screens. */
:root:root body.status-page { display: grid; place-items: center; min-height: 100dvh; padding: 80px 20px 40px; text-align: center; }
:root:root body.status-page :is(.card,.blocked-card) { box-sizing: border-box; width: min(100%,480px); padding: 32px 24px; border: 1px solid var(--stroke); border-radius: 20px; background: var(--panel); color: var(--text); box-shadow: none; }
:root:root body.status-page h1 { color: var(--text); font-size: 30px; line-height: 1.2; }
:root:root body.status-page :is(p,.blocked-footer) { color: var(--muted); }
:root:root body.status-page em { color: var(--accent); }
:root:root body.status-page button { min-height: 44px; padding: 10px 22px; border: 0; border-radius: 999px; color: var(--void-button-text); background: var(--void-button); font-weight: 700; }
:root:root body.auth-page .auth-card { box-sizing: border-box; }
:root:root body.auth-page .auth-card form { min-width: 0; }
:root:root body.auth-page .auth-card input { width: 100%; }
:root:root body .vf-standalone-toolbar { position: absolute; inset: max(16px,env(safe-area-inset-top)) 20px auto; display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: 16px; text-align: left; }
:root:root body .vf-standalone-language { position: static; flex: 0 0 auto; color: var(--text); background: var(--panel); border-color: var(--stroke-strong); box-shadow: none; }
:root:root body .vf-standalone-legal-links { position: static; display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px 16px; max-width: 270px; text-align: left; }
:root:root body .vf-standalone-legal { color: var(--muted); }
:root:root body .ege-masthead { flex-wrap: wrap; gap: 14px; }
:root:root body .ege-page :is(.ege-grid,.ege-result-grid) { grid-template-columns: minmax(0,1fr); }
:root:root body .mods-page :is(.mods-detail-layout,.mods-editor-fields) { grid-template-columns: minmax(0,1fr); }
:root:root body .mods-page .mods-download-panel { position: static; grid-column: 1; grid-row: 1; }
:root:root body .mods-page .mods-detail-content { grid-column: 1; grid-row: 2; }
:root:root body .mods-page :is(.mod-card-title,.mods-panel,.mods-hero h1) { overflow-wrap: anywhere; min-width: 0; }
/* The mod library uses a wide workspace instead of the timeline column. */
@media (min-width: 701px) {
    :root:root body:has(.mods-page) .vf-right-rail { display: none; }
    :root:root body .mods-page .mods-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media (min-width: 1101px) {
    :root:root body.vf-shell-active:has(.mods-page) {
        --void-width: 1640px;
        --void-edge: max(24px,calc((100vw - var(--void-width))/2));
        padding-left: calc(var(--void-edge) + var(--void-nav));
        padding-right: var(--void-edge);
    }
    :root:root body main.feed-container.mods-page { width: 100%; max-width: none; margin: 0; padding: 32px !important; min-height: 100dvh; }
    :root:root body .mods-page .mods-grid { grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); gap: 24px; }
    :root:root body .mods-page .mods-search { grid-template-columns: minmax(0,1fr) 220px auto; }
    :root:root body .mods-page .mods-hero { flex-wrap: nowrap; align-items: center; gap: 32px; padding-bottom: 28px; }
    :root:root body .mods-page .mods-hero h1 { font-size: clamp(30px,2.3vw,42px); }
    :root:root body .mods-page .mods-detail-layout { grid-template-columns: minmax(0,1fr) 300px; gap: 28px; }
    :root:root body .mods-page .mods-download-panel { grid-column: 2; grid-row: 1; }
    :root:root body .mods-page .mods-detail-content { grid-column: 1; grid-row: 1; }
    :root:root body .mods-page .mods-editor-fields { grid-template-columns: 1.5fr 1fr .6fr; }
}
:root:root body .feed-container > .hint { padding: 16px; }
:root:root body .mods-page .mods-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
:root:root body .mods-page .mods-search > label:first-child { grid-column: 1 / -1; }
@media(min-width:1101px) {
    :root:root body .mods-page .mods-search { grid-template-columns: repeat(4,minmax(0,1fr)); }
    :root:root body .mods-page .mods-search > label:first-child { grid-column: span 2; }
}
@media(max-width:480px) { :root:root body .mods-page .mods-search { grid-template-columns:minmax(0,1fr); } }

@media (max-width: 480px) {
    :root:root body :is(.vf-about-nav,.vf-legal-nav,.rules-toc) ol { grid-template-columns: minmax(0,1fr); }
    :root:root body :is(.vf-about-contacts,.vf-legal-contacts) { grid-template-columns: minmax(0,1fr); }
    :root:root body :is(.vf-about,.vf-legal,.rules-page,.vfe-page,.vf-onboarding-shell) { padding-inline: 12px; }
    :root:root body .vfe-actions { display: flex; }
    :root:root body .vfe-actions > * { flex: 1 1 100%; padding-inline: 12px; min-height: 44px; }
    :root:root body .profile-post-form-footer { flex-wrap: wrap; }
    :root:root body .profile-post-composer .profile-post-form-footer .vf-composer-controls { flex: 1 1 100%; flex-wrap: wrap; justify-content: space-between; margin-left: 0; }
    :root:root body .profile-post-composer .profile-post-form .vf-post-audience { flex: 1 1 120px; }
    :root:root body .profile-post-composer .profile-post-form .vf-post-audience select { max-width: 100%; width: 100%; min-width: 0; }
    :root:root body .profile-post-form-footer .profile-post-submit { margin-left: auto; }
    :root:root body .post-page > .post { padding-inline: 12px; }
}
@media (max-height: 640px) and (min-width: 701px) {
    :root:root body .vf-header { padding-top: 4px; }
    :root:root body .vf-logo { min-height: 40px; margin-bottom: 0; }
    :root:root body .vf-compose-shortcut { min-height: 42px; margin-block: 6px; }
    :root:root body .vf-account { min-height: 52px; }
}

/* Feed updates float above the list without moving the reader's place. */
:root:root body .vf-feed-update-slot { position: sticky; top: 56px; height: 0; z-index: 22; display: flex; justify-content: center; }
:root:root body .vf-feed-updates { position: absolute; top: 8px; max-width: calc(100% - 32px); min-height: 40px; padding: 10px 20px; border: 1px solid var(--accent); border-radius: 999px; background: var(--accent-solid); color: #fff; box-shadow: 0 4px 16px #0004; font: 700 14px/1.3 var(--vf-font-body); cursor: pointer; }
:root:root body :is(.vf-feed-updates,.vf-action-toast,.post-card,.comment-replies,.vf-feed-comment-replies)[hidden] { display: none !important; }
:root:root body .feed-load-more { width: 100%; min-height: 48px; border: 0; border-top: 1px solid var(--stroke); background: var(--bg); color: var(--accent); font: inherit; cursor: pointer; }
:root:root body .feed-load-more[hidden] { display: none; }
:root:root body .vf-recommendation-menu { position: relative; z-index: 9; flex: 0 0 30px; align-self: flex-start; }
:root:root body .post-card:has(.vf-recommendation-menu[open]) { z-index: 30; }
:root:root body .post-author-row:has(.vf-recommendation-menu[open]) { z-index: 10; }
:root:root body .vf-recommendation-menu > summary { display: grid; place-items: center; width: 30px; height: 32px; border-radius: 50%; color: var(--muted); list-style: none; cursor: pointer; font-size: 22px; }
:root:root body .vf-recommendation-menu > summary::-webkit-details-marker { display: none; }
:root:root body .vf-recommendation-menu > summary:hover { background: var(--accent-soft); color: var(--accent); }
:root:root body .vf-recommendation-options { position: absolute; right: 0; top: 36px; width: min(270px,calc(100vw - 80px)); padding: 6px; border: 1px solid var(--stroke-strong); border-radius: 14px; background: var(--panel); box-shadow: 0 6px 24px #0003; }
:root:root body .vf-recommendation-options button { display: block; width: 100%; min-height: 42px; padding: 10px; text-align: left; border: 0; border-radius: 8px; color: var(--text); background: transparent; font: inherit; cursor: pointer; }
:root:root body .vf-recommendation-options button:hover { background: var(--panel-2); }
:root:root body .vf-recommendation-options p { margin: 8px 10px; font-size: 13px; line-height: 1.5; color: var(--muted); }
:root:root body .vf-feed-hidden-note { padding: 20px 16px; border-bottom: 1px solid var(--stroke); color: var(--muted); }
:root:root body .vf-feed-hidden-note button { position: relative; z-index: 1; padding: 8px; border: 0; background: transparent; color: var(--accent); font: 700 14px var(--vf-font-body); cursor: pointer; }
:root:root body .vf-action-status { grid-column: 1 / -1; margin: 10px 0 0; font-size: 13px; color: var(--accent); line-height: 1.5; overflow-wrap: anywhere; }
:root:root body .vf-action-status:empty { display: none; }
:root:root body .vf-action-status.is-error { color: var(--danger); }
:root:root body .vf-action-toast { position: fixed; z-index: 2000; bottom: calc(24px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 32px); padding: 14px 20px; border: 1px solid var(--stroke-strong); border-radius: 14px; color: var(--text); background: var(--panel-2); box-shadow: 0 6px 24px #0003; font-size: 14px; }
:root:root body .vf-action-toast.is-error { border-color: var(--danger); }
:root:root body .vf-post-author-badge { display: inline-block; padding: 2px 7px; border-radius: 999px; color: var(--accent); background: var(--accent-soft); font-size: 11px; font-weight: 700; white-space: nowrap; }
:root:root body .vf-replies-toggle { position: relative; z-index: 1; min-height: 36px; margin: 8px 0; padding: 6px 0; border: 0; color: var(--accent); background: transparent; font: 700 13px var(--vf-font-body); cursor: pointer; }
:root:root body :is(.vf-comment-target,.comment:target) { outline: 2px solid var(--accent); outline-offset: -2px; background: var(--accent-soft); scroll-margin-block: 100px; }
:root:root body .feed-post-list { scroll-margin-top: 64px; }
@media (max-width: 700px) { :root:root body .vf-action-toast { bottom: calc(76px + env(safe-area-inset-bottom)); } }
