/* =====================================================================
 * Groundwork — premium UX finish.
 * ===================================================================== */

/* =====================================================================
 * Premium finish — mode-aware. All surface/border/glass values map to
 * the dual-mode tokens in tokens.css, so light + dark both resolve
 * correctly. No hardcoded light values here.
 * ===================================================================== */
:root {
    --premium-ease-out: cubic-bezier(.16, 1, .3, 1);
    --premium-surface: var(--ink-1);
    --premium-surface-strong: var(--ink-2);
    --premium-border: var(--line);
    --premium-border-hover: var(--line-strong);
    --premium-ring: 0 0 0 2px var(--ink-0), 0 0 0 4px rgba(152,137,192,.48);
    --premium-inset: inset 0 1px 0 rgba(255,255,255,.10);
}

.gw-body {
    background: transparent;
}

.gw-rail {
    padding: 18px 14px;
    background: var(--glass-2);
    border-right-color: var(--line);
    box-shadow: 18px 0 70px -58px rgba(var(--brand-jacarta-rgb),.20);
}

.gw-brand {
    min-height: 44px;
    border-radius: 16px;
    transition: background var(--motion-fast), transform var(--motion-fast), box-shadow var(--motion-fast);
}
.gw-brand:hover { background: rgba(45,39,105,.045); transform: translateY(-1px); }
.gw-brand-mark, .gw-member-initial, .gw-header-me { box-shadow: var(--shadow-sm); }
.gw-brand-word { font-size: 11px; font-weight: 600; letter-spacing: .14em; color: var(--text-1); }

.gw-nav { gap: 6px; }
.gw-nav-item, .gw-info-summary, .gw-info-link, .gw-member {
    min-height: 40px;
    border: 1px solid transparent;
    transition: transform 150ms var(--premium-ease-out), background 150ms var(--premium-ease-out), border-color 150ms var(--premium-ease-out), color 150ms var(--premium-ease-out), box-shadow 150ms var(--premium-ease-out);
}
.gw-nav-item:hover, .gw-info-summary:hover, .gw-info-link:hover, .gw-member:hover {
    border-color: rgba(45,39,105,.10);
    background: rgba(45,39,105,.045);
    transform: translateX(2px);
}
.gw-nav-item.is-active {
    border-color: transparent;
    background: var(--accent-3);
    color: var(--accent);
    box-shadow: inset 2px 0 0 var(--accent);
}

.gw-header {
    min-height: var(--header-h);
    background: var(--glass);
    border-bottom-color: var(--line);
    box-shadow: none;
}
.gw-page-title { font-size: clamp(16px, 1.1vw, 19px); font-weight: 650; letter-spacing: -.02em; }
.gw-page-sub { color: var(--text-3); font-weight: 500; }
.gw-main { padding: clamp(24px, 3vw, 48px); }
.gw-canvas { max-width: min(100%, 960px); }
.gw-canvas--wide, .q-layout { max-width: min(100%, 1240px); }

.gw-card, .gw-empty, .q-card, .q-thinking, .q-body, .contrib, .q-rail__card, .lib-drop, .lib-row, .p-card, .p-hero, .p-bio, .q-modal__card, .gw-shortcuts-card {
    background: var(--premium-surface);
    border-color: var(--premium-border);
    box-shadow: var(--shadow-lg);
}
.gw-card, .gw-empty, .q-card, .q-thinking, .q-body, .contrib, .q-rail__card, .lib-drop, .p-card, .p-hero, .p-bio { border-radius: var(--radius-xxl); }
.q-card, .lib-row, .p-card, .contrib, .q-rail__card {
    transition: transform 180ms var(--premium-ease-out), border-color 180ms var(--premium-ease-out), background 180ms var(--premium-ease-out), box-shadow 180ms var(--premium-ease-out);
}
.q-card:hover, .lib-row:hover, .p-card:hover, .contrib:hover {
    transform: none;
    border-color: var(--line-strong);
    background: var(--premium-surface);
    box-shadow: var(--shadow-md);
}

.q-title, .q-card__title, .gw-empty h2 { font-family: var(--font-system); font-weight: 650; letter-spacing: -.02em; }
.q-title { font-size: clamp(1.55rem, 2.3vw, 2.1rem); line-height: 1.14; max-width: 920px; }
.q-card__title { font-size: clamp(1.05rem, 1.3vw, 1.35rem); line-height: 1.2; }
.q-thinking__body, .q-body__content, .q-card__thinking { font-family: var(--font-system); font-size: clamp(.98rem, 1vw, 1.05rem); line-height: 1.72; color: var(--text-1); }
.q-thinking__label, .gw-section-title, .q-contribs__head h2, .auth-label, .me-label { font-weight: 600; letter-spacing: .06em; }

.gw-action, .auth-button, .gw-support-submit, .q-chip, .me-theme, .p-theme, .q-card__status, .q-card__theme, .lib-row__del, .q-modal__close, .gw-help-btn, .gw-search-trigger {
    transition: transform 150ms var(--premium-ease-out), background 150ms var(--premium-ease-out), border-color 150ms var(--premium-ease-out), color 150ms var(--premium-ease-out), box-shadow 150ms var(--premium-ease-out), opacity 150ms var(--premium-ease-out);
}
.gw-action:hover, .auth-button:hover:not(:disabled), .gw-support-submit:hover, .q-chip:hover, .me-theme:hover, .p-theme:hover, .gw-help-btn:hover, .gw-search-trigger:hover { transform: translateY(-1px); }
.gw-action:active, .auth-button:active:not(:disabled), .q-chip:active, .me-theme:active, .gw-help-btn:active, .gw-search-trigger:active { transform: scale(.975); }

.gw-action--primary, .auth-button, .gw-support-submit {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--on-accent);
    box-shadow: none;
}
.gw-action--primary:hover, .auth-button:hover:not(:disabled), .gw-support-submit:hover { background: var(--accent-2); border-color: var(--accent-2); box-shadow: none; }

input, textarea, select, .auth-input, .me-input, .me-textarea, .q-modal__input, .q-modal__textarea, .gw-support-select, .gw-support-textarea {
    min-height: 46px;
    border-radius: 16px;
    border-color: var(--line);
    background: var(--ink-1);
    box-shadow: none;
    transition: border-color 150ms var(--premium-ease-out), background 150ms var(--premium-ease-out), box-shadow 150ms var(--premium-ease-out);
}
textarea, .me-textarea, .q-modal__textarea, .gw-support-textarea { line-height: 1.55; }
input:hover, textarea:hover, select:hover, .auth-input:hover, .me-input:hover, .me-textarea:hover, .q-modal__input:hover, .q-modal__textarea:hover, .gw-support-select:hover, .gw-support-textarea:hover { border-color: rgba(174,160,218,.42); }
input:focus, textarea:focus, select:focus, .auth-input:focus, .me-input:focus, .me-textarea:focus, .q-modal__input:focus, .q-modal__textarea:focus, .gw-support-select:focus, .gw-support-textarea:focus { border-color: rgba(211,203,255,.78); box-shadow: var(--premium-ring); }

.q-filters, .me-themes, .p-card__themes { gap: 10px; }
.q-chip, .me-theme, .p-theme, .q-card__theme, .q-card__status {
    min-height: 32px;
    border-radius: var(--radius-pill);
    border-color: rgba(174,160,218,.20);
    background: rgba(255,255,255,.040);
    box-shadow: var(--premium-inset);
}
.q-chip.is-on, .me-theme.is-on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }

.q-layout { grid-template-columns: minmax(0, 1fr) minmax(286px, 320px); gap: clamp(24px, 3vw, 44px); }
.q-rail { position: sticky; top: calc(var(--header-h) + 24px); }
.q-rail__card { overflow: hidden; }
.q-rail__card + .q-rail__card { margin-top: 16px; }

.lib-drop { min-height: 168px; display: grid; place-items: center; text-align: center; }
.lib-drop__cta { font-size: clamp(1.05rem, 1.6vw, 1.35rem); font-weight: 650; letter-spacing: -.02em; }
.lib-row { border-radius: 20px; }

.p-grid { justify-content: center; }
.p-card { min-height: 220px; }
.p-card__avatar, .p-hero__avatar { box-shadow: var(--shadow-sm); }

.auth-stage { max-width: 480px; }
.auth-card { position: relative; overflow: hidden; }
.auth-card::before { content: none; }

@media (max-width: 1100px) {
    .gw-body { grid-template-columns: 1fr; grid-template-areas: "header" "main"; }
    .gw-rail { display: none; }
    .gw-header { padding-inline: max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right)); }
    .gw-header-me { display: inline-flex; }
    .q-layout { grid-template-columns: 1fr; }
    .q-rail { position: static; }
}

@media (max-width: 720px) {
    .gw-main { padding: 20px 16px calc(92px + env(safe-area-inset-bottom)); }
    .gw-header { align-items: flex-start; padding-top: 10px; padding-bottom: 10px; min-height: 64px; }
    .gw-header-right { gap: 8px; }
    .gw-search-trigger span, .gw-search-trigger kbd { display: none; }
    .gw-action { min-height: 42px; padding-inline: 14px; }
    .q-title { font-size: clamp(2rem, 11vw, 2.75rem); }
    .q-thinking, .q-body, .gw-card, .gw-empty { padding: 20px; }
    .p-grid { grid-template-columns: minmax(0, 1fr); }
}

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

/* ---- Question detail finishing ------------------------------------ */
.q-head {
    margin-bottom: clamp(24px, 3vw, 40px);
}
.q-head__meta {
    margin-bottom: 14px;
}
.q-thinking {
    position: relative;
    overflow: hidden;
}
.q-thinking::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(211,203,255,.58), transparent);
}
.q-thinking__head {
    align-items: center;
}
.q-thinking__updated,
.contrib__time {
    font-weight: 500;
    color: rgba(183,178,216,.62);
}
.q-body__content h2,
.q-body__content h3 {
    letter-spacing: -.02em;
}
.q-body__content li::marker {
    color: var(--accent-2);
}

.q-rail__title {
    font-weight: 600;
    letter-spacing: .08em;
    color: var(--text-3);
}
.q-rail__btn {
    min-height: 46px;
    border-radius: var(--radius-md);
    background: var(--accent);
    border-color: var(--accent);
    box-shadow: none;
    font-weight: 600;
    transition: transform 150ms var(--premium-ease-out), box-shadow 150ms var(--premium-ease-out), border-color 150ms var(--premium-ease-out), background 150ms var(--premium-ease-out);
}
.q-rail__btn:hover {
    transform: none;
    background: var(--accent-2);
    border-color: var(--accent-2);
    box-shadow: none;
}
.q-rail__btn:active {
    transform: scale(.98);
}
.q-rail__btn--ghost {
    background: rgba(255,255,255,.035);
    border-color: rgba(174,160,218,.22);
    color: var(--text-1);
    box-shadow: var(--premium-inset);
}
.q-rail__btn--ghost:hover {
    background: rgba(255,255,255,.060);
}
.q-modal__select {
    min-height: 46px;
    border-radius: 16px;
}

/* ---- Chat rail finishing ------------------------------------------ */
.q-rail__card--chat {
    min-height: 460px;
}
.qchat-inline {
    background: var(--ink-1);
}
.qchat-head {
    min-height: 48px;
    padding-inline: 14px;
    background: rgba(255,255,255,.025);
}
.qchat-head__title {
    font-weight: 850;
    letter-spacing: -.02em;
}
.qchat-presence {
    padding: 10px 14px;
}
.qchat-presence__pill {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,.040);
    border-color: rgba(174,160,218,.18);
    box-shadow: var(--premium-inset);
}
.qchat-stream {
    padding: 16px 14px;
    gap: 16px;
}
.qchat-msg__avatar {
    width: 30px;
    height: 30px;
    box-shadow: var(--premium-inset);
}
.qchat-msg__name {
    font-weight: 800;
}
.qchat-msg__text {
    font-size: 13.5px;
    line-height: 1.58;
}
.qchat-msg--ai .qchat-msg__text {
    background:
        linear-gradient(135deg, rgba(139,124,246,.12), rgba(152,137,192,.035));
    border-color: rgba(174,160,218,.26);
    border-radius: 16px;
    box-shadow: var(--premium-inset);
}
.qchat-compose {
    padding: 12px 14px;
    border-top-color: rgba(174,160,218,.14);
    background: rgba(255,255,255,.018);
}
.qchat-input {
    min-height: 44px;
}
.qchat-send {
    min-height: 44px;
    border-radius: 14px;
}

/* ---- Operator/admin cards ----------------------------------------- */
[data-route="admin"] .gw-canvas {
    max-width: min(100%, 1120px);
}
[data-route="admin"] .gw-card:first-child > div {
    gap: 16px !important;
}
[data-route="admin"] .gw-card:first-child > div > div {
    min-height: 116px;
    border-radius: 22px !important;
    background: var(--premium-surface) !important;
    border-color: var(--premium-border) !important;
    box-shadow: var(--shadow-sm);
}
[data-route="admin"] .gw-card:first-child > div > div > div:first-child {
    font-weight: 600;
    letter-spacing: .08em !important;
}
[data-route="admin"] .gw-card:first-child > div > div > div:last-child {
    font-family: var(--font-system) !important;
    font-weight: 650;
    letter-spacing: -.02em;
}

/* ---- Final light-theme enforcement -------------------------------- */
html,
body {
    background: var(--ink-0) !important;
    color: var(--text-1);
}
.gw-search-trigger,
.gw-help-btn,
.gw-action,
.q-chip,
.me-theme,
.p-theme,
.q-card__theme,
.q-card__status {
    background: rgba(255,255,255,.76);
    border-color: rgba(45,39,105,.13);
    color: var(--text-2);
}
.gw-search-trigger:hover,
.gw-help-btn:hover,
.gw-action:hover,
.q-chip:hover,
.me-theme:hover,
.p-theme:hover {
    background: #FFFFFF;
    border-color: rgba(126,112,172,.36);
    color: var(--brand-jacarta);
}
.gw-action--primary,
.auth-button,
.gw-support-submit,
.q-rail__btn {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--on-accent);
    box-shadow: none;
}
.gw-nav-item.is-active {
    color: var(--accent);
}
.q-card__status--active {
    color: #2D2769;
    background: rgba(152,137,192,.16);
    border-color: rgba(45,39,105,.18);
}
.q-card__status--positioned {
    color: #146C43;
    background: rgba(34,197,94,.10);
    border-color: rgba(20,108,67,.20);
}
.q-card__theme-dot,
.me-theme-dot,
.p-theme-dot {
    background: var(--text-4) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,.92), 0 0 0 4px rgba(45,39,105,.08);
}
.q-card::before,
.gw-card::before,
.p-card::before,
.q-rail__card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(152,137,192,.45), transparent);
    pointer-events: none;
}
.q-card,
.gw-card,
.p-card,
.q-rail__card {
    position: relative;
}
.qchat-inline {
    background:
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(247,244,252,.88)),
        #FFFFFF;
}
.qchat-msg--ai .qchat-msg__text {
    color: var(--text-1);
    background: linear-gradient(135deg, rgba(152,137,192,.16), rgba(45,39,105,.035));
    border-color: rgba(45,39,105,.12);
}
.qchat-presence__pill {
    background: rgba(255,255,255,.78);
    color: var(--text-2);
}
.auth-body {
    background: var(--ink-0) !important;
}

/* ---- World-class action affordances ------------------------------- */
.q-action-stack {
    display: grid;
    gap: 12px;
}
.q-action-card {
    width: 100%;
    min-height: 108px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 15px;
    text-align: left;
    text-decoration: none;
    border: 1px solid rgba(45,39,105,.12);
    border-radius: 24px;
    color: var(--text-1);
    background: var(--ink-1);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition:
        transform 180ms var(--premium-ease-out),
        box-shadow 180ms var(--premium-ease-out),
        border-color 180ms var(--premium-ease-out),
        background 180ms var(--premium-ease-out);
}
.q-action-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: var(--line);
}
.q-action-card::after { content: none; }
.q-action-card:hover {
    transform: none;
    border-color: var(--line-strong);
    box-shadow: var(--shadow-md);
}
.q-action-card:hover::after {
    transform: translateX(120%);
}
.q-action-card:focus-visible {
    outline: none;
    box-shadow: var(--premium-ring), 0 20px 48px rgba(45,39,105,.14);
}
.q-action-card:active {
    transform: translateY(0) scale(.992);
}
.q-action-card--primary {
    color: var(--on-accent);
    border-color: var(--accent);
    background: var(--accent);
    box-shadow: none;
}
.q-action-card--primary:hover {
    border-color: var(--accent-2);
    background: var(--accent-2);
    box-shadow: none;
}
.q-action-card__icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(45,39,105,.08);
    color: var(--brand-jacarta);
    font-size: 20px;
    font-weight: 850;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
}
.q-action-card--primary .q-action-card__icon {
    background: rgba(255,255,255,.17);
    color: #FFFFFF;
}
.q-action-card__body {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.q-action-card__title {
    display: block;
    font-size: 14px;
    font-weight: 850;
    letter-spacing: -.025em;
    line-height: 1.18;
}
.q-action-card__text {
    display: block;
    font-size: 12.5px;
    line-height: 1.48;
    color: var(--text-3);
}
.q-action-card--primary .q-action-card__text {
    color: rgba(255,255,255,.78);
}
.q-action-card__cue {
    align-self: start;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: var(--radius-pill);
    background: rgba(45,39,105,.075);
    color: var(--brand-jacarta);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .02em;
}
.q-action-card--primary .q-action-card__cue {
    background: rgba(255,255,255,.18);
    color: #FFFFFF;
}
.q-rail__hint {
    margin: -4px 0 12px;
    color: var(--text-3);
    font-size: 12.5px;
    line-height: 1.45;
}
@media (max-width: 720px) {
    .q-action-card {
        min-height: 104px;
        grid-template-columns: 38px minmax(0, 1fr);
    }
    .q-action-card__cue {
        grid-column: 2;
        justify-self: start;
        align-self: auto;
    }
}

/* ---- Branded tool lockups and cross-route guidance ---------------- */
.aristos-tool {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 18px;
    padding: 2px 7px 2px 3px;
    border-radius: var(--radius-pill);
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.28);
    color: inherit;
    font-weight: 850;
    white-space: nowrap;
    vertical-align: -3px;
}
.q-action-card:not(.q-action-card--primary) .aristos-tool,
.gw-card .aristos-tool,
.q-body__content .aristos-tool {
    background: rgba(45,39,105,.06);
    border-color: rgba(45,39,105,.12);
    color: var(--brand-jacarta);
}
.aristos-tool__mark {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: block;
    box-shadow: 0 1px 3px rgba(45,39,105,.18);
}
.ux-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    margin: 0 0 var(--space-5);
}
.ux-action-grid--operator {
    margin-top: var(--space-3);
}
.ux-action-grid--digest .q-action-card,
.ux-action-grid--operator .q-action-card {
    min-height: 136px;
}
.ux-action-card--full {
    grid-column: 1 / -1;
}
.ux-action-card--slim {
    min-height: 86px !important;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    padding: 18px 22px;
}
.ux-action-card--slim .q-action-card__body {
    gap: 4px;
}
.ux-action-card--slim .q-action-card__title {
    font-size: 16px;
}
.ux-action-card--slim .q-action-card__text {
    max-width: 720px;
    font-size: 13px;
}
@media (max-width: 720px) {
    .digest-canvas {
        display: flex;
        flex-direction: column;
        gap: var(--space-3);
    }
    .digest-current {
        order: 1;
    }
    .digest-tools {
        order: 2;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: var(--space-2) 0 var(--space-3);
        padding: 8px;
        border: 1px solid rgba(45,39,105,.08);
        border-radius: 26px;
        background: rgba(255,255,255,.62);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.92);
    }
    .digest-tools::before {
        content: "Digest tools";
        grid-column: 1 / -1;
        padding: 2px 6px 0;
        color: var(--text-3);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .digest-tools .q-action-card {
        min-height: 48px !important;
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 8px;
        padding: 10px 11px;
        border-radius: 18px;
        box-shadow: none;
    }
    .digest-tools .q-action-card__icon {
        width: 24px;
        height: 24px;
        border-radius: 10px;
        font-size: 15px;
    }
    .digest-tools .q-action-card__body {
        gap: 0;
        min-width: 0;
    }
    .digest-tools .q-action-card__title {
        font-size: 12.5px;
        line-height: 1.15;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .digest-tools .q-action-card__text,
    .digest-tools .q-action-card__cue {
        display: none;
    }
    .digest-tools .q-action-card--primary {
        grid-column: 1 / -1;
        min-height: 54px !important;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        background: var(--accent);
    }
    .digest-tools .q-action-card--primary .q-action-card__icon {
        width: 30px;
        height: 30px;
    }
    .digest-tools .q-action-card--primary .q-action-card__cue {
        display: inline-flex;
        min-height: 30px;
        padding: 0 12px;
        align-items: center;
        border-radius: var(--radius-pill);
        background: rgba(255,255,255,.16);
        color: inherit;
        font-weight: 850;
        font-size: 12px;
    }
    .digest-current.gw-card {
        padding: var(--space-5) !important;
        border-radius: 26px;
    }
}
.q-card__intent {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(45,39,105,.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--text-3);
    font-size: 12px;
    opacity: .86;
    transition: color 180ms var(--premium-ease-out), opacity 180ms var(--premium-ease-out);
}
.q-card__intent span:first-child {
    color: var(--brand-jacarta);
    font-weight: 850;
}
.q-card__intent span:first-child::after {
    content: " →";
    transition: transform 180ms var(--premium-ease-out);
}
.q-card:hover .q-card__intent {
    color: var(--text-2);
    opacity: 1;
}
.q-card:hover .q-card__intent span:first-child::after {
    display: inline-block;
    transform: translateX(2px);
}
.lib-drop {
    align-content: center;
    gap: 8px;
    padding: clamp(28px, 4vw, 48px);
}
.lib-drop__eyebrow {
    color: var(--accent-2);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.lib-drop__hint {
    max-width: 620px;
    margin-inline: auto;
    color: var(--text-2);
    font-size: 14px;
    line-height: 1.55;
}
.lib-drop__formats {
    color: var(--text-4);
    font-size: 12px;
}
.lib-row__name::after {
    content: "Open file";
    margin-left: 10px;
    padding: 3px 8px;
    border-radius: var(--radius-pill);
    background: rgba(45,39,105,.055);
    color: var(--brand-jacarta);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .02em;
    opacity: 0;
    transition: opacity 160ms var(--premium-ease-out);
}
.lib-row:hover .lib-row__name::after,
.lib-row__name:focus-visible::after {
    opacity: 1;
}

@media (max-width: 720px) {
    .q-card__intent {
        align-items: flex-start;
        flex-direction: column;
    }
    .ux-action-grid {
        grid-template-columns: 1fr;
    }
}

/* ---- Final right-rail polish corrections -------------------------- */
.q-rail .q-action-card {
    min-height: 104px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 14px;
    border-radius: 22px;
}
.q-rail .q-action-card__icon {
    width: 36px;
    height: 36px;
    border-radius: 14px;
    font-size: 17px;
}
.q-rail .q-action-card__title {
    font-size: 13.5px;
}
.q-rail .q-action-card__text {
    font-size: 11.5px;
    line-height: 1.42;
}
.q-rail .q-action-card__cue {
    min-height: 24px;
    padding-inline: 8px;
    font-size: 10px;
}
.aristos-tool {
    gap: 4px;
    min-height: 18px;
    padding: 1px 7px 1px 3px;
    font-size: .94em;
    line-height: 1;
}
.aristos-tool__mark {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    object-fit: cover;
}

/* ---- No hover underlines in app chrome/cards ---------------------- */
a:hover,
a:focus,
a:focus-visible,
.gw-card a:hover,
.gw-card a:focus,
.q-card:hover,
.q-card:focus,
.q-action-card:hover,
.q-action-card:focus,
.q-action-card:hover *,
.q-action-card:focus *,
.gw-action:hover,
.gw-action:focus,
.gw-nav-item:hover,
.gw-nav-item:focus,
.lib-row__name:hover,
.lib-row__name:focus {
    text-decoration: none !important;
}

.qchat-compose__horizon .aristos-tool,
.qchat-presence__pill--ai .aristos-tool {
    background: transparent;
    border-color: transparent;
    color: var(--brand-jacarta);
    padding: 0;
}
.qchat-compose__horizon {
    min-height: 34px;
    padding: 0 12px 0 6px;
    border-radius: var(--radius-pill);
    background:
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(245,242,251,.92));
    border: 1px solid rgba(45,39,105,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 8px 22px rgba(45,39,105,.08);
    color: var(--brand-jacarta);
    text-decoration: none !important;
}
.qchat-compose__horizon:hover {
    border-color: rgba(45,39,105,.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 12px 28px rgba(45,39,105,.12);
    transform: translateY(-1px);
}
.qchat-compose__horizon:hover,
.qchat-compose__horizon:focus,
.qchat-compose__horizon:hover *,
.qchat-compose__horizon:focus * {
    text-decoration: none !important;
}
.qchat-presence__pill--ai {
    padding: 4px 10px 4px 5px;
}
.qchat-compose__send {
    min-height: 68px;
    align-self: stretch;
    padding: 0 24px;
    border-radius: 24px;
    background:
        radial-gradient(circle at 78% 10%, rgba(255,255,255,.30), transparent 42%),
        linear-gradient(135deg, #9E91CE 0%, #6E61BE 54%, #4A3D98 100%);
    border: 1px solid rgba(45,39,105,.20);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.32),
        0 18px 42px -24px rgba(45,39,105,.70),
        0 0 0 1px rgba(255,255,255,.46);
    color: #FFFFFF;
    font-weight: 850;
    letter-spacing: -.02em;
    transition: transform 160ms var(--premium-ease-out), box-shadow 160ms var(--premium-ease-out), filter 160ms var(--premium-ease-out);
}
.qchat-compose__send:hover {
    transform: translateY(-1px);
    filter: saturate(1.05);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.38),
        0 24px 52px -24px rgba(45,39,105,.82),
        0 0 0 1px rgba(255,255,255,.54);
}
.qchat-compose__send:active {
    transform: scale(.985);
}
.qchat-compose__send svg {
    transition: transform 160ms var(--premium-ease-out);
}
.qchat-compose__send:hover svg {
    transform: translateX(2px);
}
.qchat-compose__field {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 16px 40px -28px rgba(45,39,105,.38);
}

/* ---- Compose field: inline send affordance ------------------------ */
.qchat-compose {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    padding: 12px 14px;
}
.qchat-compose__field {
    position: relative;
    padding-right: 46px;
    border-radius: 22px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    overflow: visible;
}
.qchat-compose__tools {
    min-height: 34px;
    padding: 7px 46px 0 9px;
}
.qchat-compose__horizon {
    min-height: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px 0 5px;
    font-size: 11px;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(45,39,105,.14);
    background: rgba(255,255,255,.70);
    color: var(--text-3);
    font-weight: 850;
    cursor: pointer;
    transition: border-color 160ms var(--premium-ease-out), background 160ms var(--premium-ease-out), color 160ms var(--premium-ease-out), transform 160ms var(--premium-ease-out), box-shadow 160ms var(--premium-ease-out);
}
.qchat-compose__horizon:hover {
    transform: translateY(-1px);
    color: var(--brand-jacarta);
    border-color: rgba(45,39,105,.24);
}
.qchat-compose__horizon.is-on {
    color: #FFFFFF;
    border-color: rgba(45,39,105,.26);
    background:
        linear-gradient(135deg, #9889C0 0%, #5F52AE 58%, #2D2769 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 8px 20px -14px rgba(45,39,105,.72);
}
.qchat-compose__a-mark {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    display: block;
}
.qchat-compose__web {
    min-height: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 9px;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(45,39,105,.14);
    background: rgba(255,255,255,.70);
    color: var(--text-3);
    font: 850 11px/1 var(--font-system);
    cursor: pointer;
    transition: border-color 160ms var(--premium-ease-out), background 160ms var(--premium-ease-out), color 160ms var(--premium-ease-out), transform 160ms var(--premium-ease-out), box-shadow 160ms var(--premium-ease-out);
}
.qchat-compose__web:hover {
    transform: translateY(-1px);
    color: var(--brand-jacarta);
    border-color: rgba(45,39,105,.24);
}
.qchat-compose__web.is-on {
    color: #FFFFFF;
    border-color: rgba(45,39,105,.26);
    background:
        linear-gradient(135deg, #9889C0 0%, #5F52AE 58%, #2D2769 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 8px 20px -14px rgba(45,39,105,.72);
}
.qchat-compose__web svg {
    width: 13px;
    height: 13px;
}
.qchat-compose__web[hidden] {
    display: none !important;
}
.qchat-compose__horizon .aristos-tool {
    min-height: 18px;
    font-size: 11px;
}
.qchat-compose__horizon .aristos-tool__mark {
    width: 16px;
    height: 16px;
}
.qchat-compose__input {
    padding: 8px 0 12px 15px;
    min-height: 42px;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
}
.qchat-compose__send {
    position: absolute;
    right: 12px;
    top: 0;
    bottom: 0;
    width: 30px;
    height: auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border-radius: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--brand-jacarta);
    transform: none !important;
    opacity: .92;
    transition: opacity 160ms var(--premium-ease-out), color 160ms var(--premium-ease-out);
}
.qchat-compose__send span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
.qchat-compose__send svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.6;
    color: var(--brand-jacarta);
    filter: drop-shadow(0 6px 10px rgba(45,39,105,.18));
}
.qchat-compose__send:hover {
    transform: none !important;
    color: #5F52AE;
    opacity: 1;
}
.qchat-compose__send:active {
    transform: none !important;
    opacity: .76;
}

@media (max-width: 900px) {
    .qchat-compose {
        grid-template-columns: 1fr;
    }
}

.qchat-compose .qchat-compose__send {
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ---- Premium toast system ----------------------------------------- */
.gw-toast-host {
    position: fixed;
    right: max(24px, env(safe-area-inset-right));
    bottom: max(24px, calc(env(safe-area-inset-bottom) + 24px));
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
    width: min(420px, calc(100vw - 32px));
}
.gw-toast {
    pointer-events: auto;
    width: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 15px;
    border-radius: 20px;
    background:
        radial-gradient(circle at 100% 0%, rgba(152,137,192,.16), transparent 48%),
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,249,253,.90));
    border: 1px solid rgba(45,39,105,.14);
    color: var(--text-1);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.88),
        0 22px 56px -34px rgba(45,39,105,.44),
        0 0 0 1px rgba(255,255,255,.52);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    font: 750 13px/1.42 var(--font-system);
    letter-spacing: -.01em;
    transform: translateY(8px);
    opacity: 0;
    transition: transform 180ms var(--premium-ease-out), opacity 180ms var(--premium-ease-out);
    position: relative;
    overflow: hidden;
}
.gw-toast::before {
    content: "";
    width: 8px;
    align-self: stretch;
    border-radius: var(--radius-pill);
    background: var(--accent-2);
    box-shadow: 0 0 18px rgba(152,137,192,.36);
    flex: 0 0 auto;
}
.gw-toast::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(152,137,192,.54), transparent);
    pointer-events: none;
}
.gw-toast__text {
    min-width: 0;
}
.gw-toast__spinner {
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: gw-spin 700ms linear infinite;
    color: var(--accent);
    flex: 0 0 auto;
}
.gw-toast--ok::before {
    background: linear-gradient(180deg, #22C55E, #16A34A);
    box-shadow: 0 0 18px rgba(34,197,94,.28);
}
.gw-toast--err::before {
    background: linear-gradient(180deg, #F87171, #DC2626);
    box-shadow: 0 0 18px rgba(220,38,38,.26);
}
.gw-toast--busy::before {
    background: linear-gradient(180deg, #9889C0, #2D2769);
}
.gw-toast--info::before {
    background: linear-gradient(180deg, #7E70AC, #9889C0);
}
.gw-toast--err {
    border-color: rgba(220,38,38,.20);
}
.gw-toast--ok {
    border-color: rgba(22,163,74,.18);
}

@media (max-width: 720px) {
    .gw-toast-host {
        right: 16px;
        left: 16px;
        bottom: max(16px, calc(env(safe-area-inset-bottom) + 16px));
        width: auto;
    }
}

/* ---- Unified premium button system -------------------------------- */
.gw-action,
.auth-button,
.gw-support-submit,
.q-rail__btn,
.qchat-send,
.lib-row__del {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(45,39,105,.12);
    background:
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,247,252,.76)),
        rgba(255,255,255,.80);
    color: rgba(45,39,105,.76);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.92),
        0 10px 24px -20px rgba(45,39,105,.38);
    font-weight: 850;
    letter-spacing: -.015em;
    text-decoration: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition:
        transform 170ms var(--premium-ease-out),
        background 170ms var(--premium-ease-out),
        border-color 170ms var(--premium-ease-out),
        color 170ms var(--premium-ease-out),
        box-shadow 170ms var(--premium-ease-out),
        opacity 170ms var(--premium-ease-out);
}
.gw-action:hover,
.auth-button:hover:not(:disabled),
.gw-support-submit:hover,
.q-rail__btn:hover,
.qchat-send:hover,
.lib-row__del:hover {
    transform: translateY(-1px);
    background:
        linear-gradient(180deg, #FFFFFF, rgba(250,249,253,.88)),
        #FFFFFF;
    border-color: rgba(45,39,105,.20);
    color: var(--brand-jacarta);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.96),
        0 16px 34px -24px rgba(45,39,105,.48);
}
.gw-action:active,
.auth-button:active:not(:disabled),
.gw-support-submit:active,
.q-rail__btn:active,
.qchat-send:active,
.lib-row__del:active {
    transform: translateY(0) scale(.975);
    box-shadow: inset 0 2px 8px rgba(45,39,105,.10);
}
.gw-action:focus-visible,
.auth-button:focus-visible,
.gw-support-submit:focus-visible,
.q-rail__btn:focus-visible,
.qchat-send:focus-visible,
.lib-row__del:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(152,137,192,.22),
        0 0 0 6px rgba(45,39,105,.08),
        inset 0 1px 0 rgba(255,255,255,.96);
}
.gw-action--primary,
.auth-button,
.gw-support-submit,
.q-rail__btn,
.qchat-send {
    border-color: rgba(45,39,105,.18);
    color: #FFFFFF;
    background:
        linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0) 42%),
        linear-gradient(135deg, #A79AD0 0%, #6E61B7 54%, #3A317E 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.34),
        0 16px 34px -22px rgba(45,39,105,.70);
}
.gw-action--primary:hover,
.auth-button:hover:not(:disabled),
.gw-support-submit:hover,
.q-rail__btn:hover,
.qchat-send:hover {
    color: #FFFFFF;
    border-color: rgba(45,39,105,.24);
    background:
        linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0) 42%),
        linear-gradient(135deg, #B2A6D8 0%, #786BC1 54%, #403687 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.38),
        0 20px 42px -24px rgba(45,39,105,.82);
}
.gw-action--danger,
.lib-row__del {
    color: #A13D3D;
    background:
        linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,246,246,.78)),
        rgba(255,255,255,.82);
    border-color: rgba(161,61,61,.16);
}
.gw-action--danger:hover,
.lib-row__del:hover {
    color: #842D2D;
    border-color: rgba(161,61,61,.26);
    background: #FFFFFF;
}
button:disabled,
.gw-action:disabled,
.auth-button:disabled,
.gw-support-submit:disabled {
    opacity: .52;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
}

/* ---- Mobile app map ------------------------------------------------ */
@media (max-width: 900px) {
    .gw-rail {
        position: fixed;
        left: max(12px, env(safe-area-inset-left));
        right: max(12px, env(safe-area-inset-right));
        bottom: max(12px, env(safe-area-inset-bottom));
        z-index: 70;
        height: 72px;
        display: flex;
        padding: 7px;
        border: 1px solid var(--line);
        border-radius: 30px;
        background: var(--glass-2);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.18),
            0 24px 56px -30px rgba(var(--brand-jacarta-rgb),.45);
        backdrop-filter: blur(24px) saturate(1.28);
        -webkit-backdrop-filter: blur(24px) saturate(1.28);
    }
    .gw-rail::before {
        content: none;
    }
    .gw-brand,
    .gw-nav-shortcut,
    .gw-rail-foot {
        display: none;
    }
    .gw-nav {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
        width: 100%;
    }
    .gw-nav-item {
        min-width: 0;
        height: 58px;
        padding: 6px 2px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 3px;
        border-radius: 24px;
        color: var(--text-3);
        font-size: 10px;
        font-weight: 650;
        letter-spacing: -.01em;
        text-align: center;
        box-shadow: none;
    }
    .gw-nav-item::before {
        content: "";
        width: 6px;
        height: 6px;
        display: block;
        margin: 0;
        border-radius: 50%;
        background: var(--text-4);
        box-shadow: none;
    }
    .gw-nav-item.is-active {
        color: var(--accent);
        background: var(--accent-3);
        box-shadow: none;
        transform: none;
    }
    .gw-nav-item.is-active::before {
        background: var(--accent);
        box-shadow: none;
    }
    .gw-header-me.is-active {
        border-color: var(--accent);
        background: var(--accent-3);
        color: var(--accent);
        box-shadow: none;
    }
    .gw-main {
        padding-bottom: calc(112px + env(safe-area-inset-bottom));
    }
}

/* ---- Theme toggle (removed — Groundwork is light-mode only) -------- */
.gw-theme-toggle-removed {
    display: none;
    place-items: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--line);
    background: var(--ink-1);
    color: var(--text-2);
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: transform 150ms var(--premium-ease-out), background 150ms var(--premium-ease-out), border-color 150ms var(--premium-ease-out), color 150ms var(--premium-ease-out);
}
.gw-theme-toggle:hover {
    transform: translateY(-1px);
    color: var(--accent);
    border-color: var(--line-strong);
}
.gw-theme-toggle:active { transform: scale(.94); }
.gw-theme-toggle svg { grid-area: 1 / 1; transition: opacity 160ms var(--premium-ease-out), transform 160ms var(--premium-ease-out); }
.gw-theme-toggle__moon { opacity: 0; transform: rotate(-40deg) scale(.6); }
.gw-theme-toggle__sun { opacity: 1; transform: rotate(0) scale(1); }
:root[data-theme="dark"] .gw-theme-toggle__sun { opacity: 0; transform: rotate(40deg) scale(.6); }
:root[data-theme="dark"] .gw-theme-toggle__moon { opacity: 1; transform: rotate(0) scale(1); }

/* =====================================================================
 * Icon system (FontAwesome 6, self-hosted) + global create FAB
 * ===================================================================== */
.gw-nav-item { gap: 10px; }
.gw-nav-ico { width: 18px; flex: 0 0 18px; text-align: center; font-size: 14px; color: var(--text-3); }
.gw-nav-label { flex: 1; }
.gw-nav-item:hover .gw-nav-ico,
.gw-nav-item.is-active .gw-nav-ico { color: var(--accent); }

.gw-info-link { display: flex; align-items: center; }
.gw-info-ico { width: 16px; flex: 0 0 16px; text-align: center; margin-right: 9px; font-size: 12px; color: var(--text-4); }
.gw-info-link.is-active .gw-info-ico { color: var(--accent); }

/* Icon chips: an icon + visually-hidden label + tooltip (title/data-tip). */
.gw-ichip { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.gw-ichip > i { font-size: 12px; line-height: 1; }
.q-chip.gw-ichip { min-width: 42px; padding: 0 13px; }
.q-card__status.gw-ichip { min-width: 30px; width: 30px; height: 24px; padding: 0; }
.q-card__theme.gw-ichip { width: 26px; height: 26px; min-height: 26px; padding: 0; }
.q-card__theme.gw-ichip > i { font-size: 11px; }

.q-filters__sep { width: 1px; align-self: stretch; background: var(--line); margin: 4px 6px; flex: 0 0 1px; }

.q-head__back { display: inline-flex; align-items: center; gap: 6px; color: var(--text-3); font-size: 13px; text-decoration: none; }
.q-head__back:hover { color: var(--accent); text-decoration: none; }

.sig-card__theme > i { font-size: 11px; color: var(--text-4); }

.gw-fab { display: none; }

@media (max-width: 900px) {
    .gw-fab {
        display: grid;
        place-items: center;
        position: absolute;
        left: 50%;
        bottom: calc(100% - 31px);
        transform: translateX(-50%);
        width: 56px; height: 56px;
        border-radius: 50%;
        border: 5px solid rgba(255,255,255,.94);
        background: var(--accent);
        color: var(--on-accent);
        font-size: 19px;
        box-shadow:
            0 0 0 1px rgba(45,39,105,.08),
            0 8px 22px -18px rgba(var(--brand-jacarta-rgb),.72),
            inset 0 1px 0 rgba(255,255,255,.30);
        cursor: pointer;
        z-index: 80;
        transition: transform 140ms var(--premium-ease-out);
    }
    .gw-fab:active { transform: translateX(-50%) scale(.93); }

    /* Real FA icons replace the old dot on the mobile bar. */
    .gw-nav-item::before { display: none !important; }
    .gw-nav-item { gap: 3px; }
    .gw-nav-ico { width: auto; flex: none; font-size: 17px; color: var(--text-3); }
    .gw-nav-item.is-active .gw-nav-ico { color: var(--accent); }
    .gw-nav-shortcut { display: none; }
}

@media (max-width: 1100px) {
    body.gw-body > .gw-rail {
        position: fixed !important;
        left: max(12px, env(safe-area-inset-left)) !important;
        right: max(12px, env(safe-area-inset-right)) !important;
        top: auto !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        z-index: 70 !important;
        display: flex !important;
        height: 72px !important;
        padding: 7px !important;
        border: 1px solid var(--line) !important;
        border-radius: 30px !important;
        background: var(--glass-2) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.18),
            0 24px 56px -30px rgba(var(--brand-jacarta-rgb),.45) !important;
        backdrop-filter: blur(24px) saturate(1.28) !important;
        -webkit-backdrop-filter: blur(24px) saturate(1.28) !important;
    }
    body.gw-body > .gw-rail .gw-brand,
    body.gw-body > .gw-rail .gw-nav-shortcut,
    body.gw-body > .gw-rail .gw-rail-foot {
        display: none !important;
    }
    body.gw-body > .gw-rail .gw-nav {
        position: relative !important;
        z-index: 1 !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
    }
    body.gw-body > .gw-main {
        padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important;
    }
}

@media (max-width: 1100px) {
    body.gw-body > .gw-main {
        padding-bottom: calc(150px + env(safe-area-inset-bottom)) !important;
    }
}
