/*
 * Interface 2026 — warm high-contrast system.
 * Loaded after the generated Tailwind bundle so one visual language wins.
 */

:root {
    --q-ink: #24171d;
    --q-ink-2: #3a2029;
    --q-plum: #562337;
    --q-paprika: #c84b31;
    --q-coral: #ef7550;
    --q-apricot: #ffad73;
    --q-saffron: #f2c14e;
    --q-cream: #f5e7d2;
    --q-paper: #fffaf2;
    --q-white: #ffffff;
    --q-olive: #727a35;
    --q-success: #166b52;
    --q-danger: #a52f35;
    --q-muted: #74636a;
    --q-line: rgba(36, 23, 29, .16);
    --q-line-strong: rgba(36, 23, 29, .32);
    --q-shadow-sm: 0 8px 22px rgba(58, 32, 41, .10);
    --q-shadow: 0 22px 60px rgba(58, 32, 41, .16);
    --q-shadow-high: 0 34px 90px rgba(36, 23, 29, .24);
    --q-ease: cubic-bezier(.22, .8, .22, 1);
    --app-bg: var(--q-cream);
    --app-surface: var(--q-paper);
    --app-surface-muted: #ead7be;
    --app-ink: var(--q-ink);
    --app-muted: var(--q-muted);
    --app-line: var(--q-line);
    --app-primary: var(--q-paprika);
    --app-primary-dark: #a93627;
    --app-accent: var(--q-saffron);
    --color-ink: var(--q-ink);
    --color-coral: var(--q-paprika);
    --color-sun: var(--q-saffron);
    --color-mint: #ead7be;
    --color-cream: var(--q-cream);
}

html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background: var(--q-ink);
    scrollbar-color: var(--q-paprika) var(--q-ink);
}

body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    min-height: 100dvh;
    color: var(--q-ink);
    background:
        radial-gradient(circle at 0 0, rgba(242, 193, 78, .14), transparent 25rem),
        linear-gradient(180deg, var(--q-paper), var(--q-cream));
    font-family: Inter, "Avenir Next", Avenir, "Segoe UI Variable", "Segoe UI", sans-serif;
    font-variation-settings: "opsz" 16;
    text-rendering: geometricPrecision;
}

body::before {
    position: fixed;
    z-index: 9999;
    inset: 0;
    pointer-events: none;
    content: "";
    opacity: .025;
    background-image:
        repeating-linear-gradient(0deg, #24171d 0, #24171d 1px, transparent 1px, transparent 3px);
    mix-blend-mode: multiply;
}

::selection {
    color: var(--q-ink);
    background: var(--q-saffron);
}

h1,
h2,
h3,
h4,
.font-display,
.brand-name {
    color: inherit;
    font-family: "Avenir Next Condensed", "Arial Narrow", "Segoe UI Variable Display", "Segoe UI", sans-serif;
    font-stretch: condensed;
    font-weight: 800;
    letter-spacing: -.045em;
}

a,
button,
summary,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--q-saffron);
    outline-offset: 3px;
}

.app-skip-link {
    position: fixed;
    z-index: 1000;
    top: .5rem;
    left: .5rem;
    translate: 0 -150%;
    background: var(--q-saffron);
    padding: .7rem 1rem;
    color: var(--q-ink);
    font-weight: 850;
    transition: translate .2s var(--q-ease);
}

.app-skip-link:focus {
    translate: 0;
}

.app-main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 55dvh;
    overflow: clip;
}

.app-container,
.container,
.container-fluid {
    width: 100%;
    max-width: 86rem;
    margin-inline: auto;
    padding-inline: clamp(.85rem, 3vw, 2rem);
}

/* Controls */

.btn,
.app-action,
.run-button,
.newsletter-submit,
.account-admin-button,
.app-header-create,
.app-header-install {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 2px !important;
    font-weight: 820;
    letter-spacing: -.01em;
    transition:
        translate .18s var(--q-ease),
        box-shadow .18s var(--q-ease),
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease;
}

.btn:hover,
.app-action:hover,
.run-button:hover,
.newsletter-submit:hover,
.account-admin-button:hover,
.app-header-create:hover,
.app-header-install:hover {
    translate: 0 -2px;
}

.btn:active,
.app-action:active,
.run-button:active,
.newsletter-submit:active,
.account-admin-button:active,
.app-header-create:active,
.app-header-install:active {
    translate: 0 1px;
}

.btn-primary,
.app-action-primary,
.newsletter-submit,
.run-button,
.app-header-create {
    border-color: var(--q-paprika) !important;
    color: #fff !important;
    background: var(--q-paprika) !important;
    box-shadow: 5px 5px 0 var(--q-ink);
}

.btn-primary::after,
.app-action-primary::after,
.newsletter-submit::after,
.run-button::after,
.app-header-create::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: linear-gradient(105deg, transparent 25%, rgba(255, 255, 255, .22) 45%, transparent 65%);
    translate: -130% 0;
    transition: translate .55s var(--q-ease);
}

.btn-primary:hover::after,
.app-action-primary:hover::after,
.newsletter-submit:hover::after,
.run-button:hover::after,
.app-header-create:hover::after {
    translate: 130% 0;
}

.btn-outline,
.btn-ghost,
.app-action:not(.app-action-primary) {
    border: 1px solid var(--q-line-strong);
    color: var(--q-ink);
    background: transparent;
    box-shadow: none;
}

.btn-outline:hover,
.btn-ghost:hover,
.app-action:not(.app-action-primary):hover {
    color: var(--q-paper);
    background: var(--q-ink);
}

.interface-press {
    position: absolute;
    z-index: 5;
    pointer-events: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .32);
    scale: 0;
    animation: q-press .5s ease-out forwards;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea {
    min-height: 3.2rem;
    border: 1px solid var(--q-line-strong) !important;
    border-radius: 2px !important;
    color: var(--q-ink) !important;
    background: rgba(255, 250, 242, .92) !important;
    box-shadow: inset 0 0 0 1px transparent;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--q-paprika) !important;
    background: #fff !important;
    box-shadow: 4px 4px 0 rgba(200, 75, 49, .18) !important;
}

label {
    color: var(--q-ink);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .025em;
}

.alert {
    border: 1px solid currentColor;
    border-radius: 2px !important;
    box-shadow: 4px 4px 0 rgba(36, 23, 29, .12);
}

/* Header and navigation */

.app-header {
    position: sticky;
    z-index: 80;
    top: 0;
    border-bottom: 1px solid rgba(255, 250, 242, .12);
    background: rgba(36, 23, 29, .96);
    color: var(--q-paper);
    backdrop-filter: blur(20px) saturate(140%);
    transform: translate3d(0, 0, 0);
    transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .2s ease, background .2s ease;
    will-change: transform;
}

.app-header.is-scrolled {
    background: rgba(36, 23, 29, .985);
    box-shadow: 0 12px 40px rgba(36, 23, 29, .2);
}

.app-header.is-hidden {
    pointer-events: none;
    transform: translate3d(0, calc(-100% - 2px), 0);
}

.app-header:focus-within {
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .app-header {
        transition: none;
    }
}

/* Admin clarity pass: one navigation hierarchy and one task hierarchy. */

.admin-app-shell {
    min-height: 100dvh;
}

.admin-app-sidebar {
    padding: 1rem;
}

.admin-sidebar-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 3.5rem;
    border-bottom: 1px solid rgba(255, 250, 242, .14);
    padding-bottom: 1rem;
}

.admin-sidebar-brand > a {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .7rem;
    padding: 0 !important;
    color: #fff !important;
}

.admin-sidebar-brand .brand-symbol {
    width: 2.4rem;
    height: 2.4rem;
    flex: none;
}

.admin-sidebar-brand strong,
.admin-sidebar-brand small {
    display: block;
}

.admin-sidebar-brand strong {
    font-size: .82rem;
}

.admin-sidebar-brand small {
    margin-top: .12rem;
    color: rgba(255, 250, 242, .48);
    font-size: .62rem;
}

.admin-main-nav {
    display: grid;
    gap: 1.2rem;
    margin-top: 1rem;
}

.admin-nav-group {
    display: grid;
    gap: 2px;
}

.admin-nav-group > p {
    margin: 0 0 .32rem;
    padding: 0 .65rem;
    color: rgba(255, 250, 242, .36);
    font-size: .57rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.admin-main-nav .admin-nav-group > a,
.admin-nav-tools > div > a {
    display: grid;
    min-height: 3.25rem;
    grid-template-columns: 1.3rem minmax(0, 1fr);
    align-items: center;
    gap: .58rem;
    border: 0;
    border-left: 2px solid transparent;
    padding: .55rem .62rem !important;
}

.admin-main-nav a > i {
    color: rgba(255, 250, 242, .48);
    font-size: .85rem;
}

.admin-main-nav a strong,
.admin-main-nav a small {
    display: block;
}

.admin-main-nav a strong {
    color: rgba(255, 250, 242, .88);
    font-size: .72rem;
}

.admin-main-nav a small {
    margin-top: .08rem;
    color: rgba(255, 250, 242, .4);
    font-size: .58rem;
    font-weight: 650;
}

.admin-main-nav a:hover,
.admin-main-nav a.is-active {
    border-left-color: var(--q-saffron);
    background: rgba(255, 250, 242, .08);
}

.admin-main-nav a.is-active > i,
.admin-main-nav a.is-active strong {
    color: #fff;
}

.admin-nav-tools {
    border-top: 1px solid rgba(255, 250, 242, .12);
    border-bottom: 1px solid rgba(255, 250, 242, .12);
}

.admin-nav-tools > summary {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    cursor: pointer;
    color: rgba(255, 250, 242, .68);
    padding: .6rem .65rem;
    font-size: .68rem;
    font-weight: 850;
    list-style: none;
}

.admin-nav-tools > summary::-webkit-details-marker {
    display: none;
}

.admin-nav-tools > summary span {
    display: flex;
    align-items: center;
    gap: .52rem;
}

.admin-nav-tools > summary > i {
    font-size: .65rem;
    transition: transform .16s ease;
}

.admin-nav-tools[open] > summary > i {
    transform: rotate(180deg);
}

.admin-nav-tools > div {
    display: grid;
    gap: 2px;
    padding-bottom: .45rem;
}

.admin-nav-tools > div > a {
    min-height: 2.65rem;
}

.admin-sidebar-footer {
    display: grid;
    gap: 1px;
    border-top: 1px solid rgba(255, 250, 242, .12);
    padding-top: .8rem;
}

.admin-sidebar-footer > span {
    overflow: hidden;
    padding: 0 .65rem .35rem;
    color: rgba(255, 250, 242, .4);
    font-size: .58rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-sidebar-footer > a {
    justify-content: flex-start !important;
    gap: .5rem;
    min-height: 2.45rem;
    padding: .5rem .65rem !important;
    font-size: .65rem !important;
}

.admin-main {
    min-width: 0;
    padding: clamp(1rem, 2.4vw, 2.2rem);
}

.admin-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.2rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--q-line);
    padding-bottom: 1rem;
}

.admin-page-header > div:first-child {
    min-width: 0;
}

.admin-page-header .admin-breadcrumb {
    margin: 0 0 .25rem;
    color: var(--q-paprika);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.admin-page-header h1 {
    margin: 0;
    font-size: clamp(1.8rem, 3.7vw, 3.4rem);
    line-height: .95;
}

.admin-page-header > div:first-child > p:last-child {
    max-width: 49rem;
    margin: .45rem 0 0;
    color: var(--q-muted);
    font-size: .76rem;
}

.admin-page-actions:empty {
    display: none;
}

.admin-main .btn,
.admin-main .btn-admin {
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border: 1px solid var(--q-line-strong);
    border-radius: 1px !important;
    color: var(--q-ink);
    background: #fff;
    padding: .48rem .68rem;
    font-size: .68rem;
    font-weight: 850;
    line-height: 1.15;
}

.admin-main .btn:hover {
    border-color: var(--q-ink);
    color: #fff;
    background: var(--q-plum);
}

.admin-main .btn-admin,
.admin-main .btn-primary,
.admin-main .btn-success {
    border-color: var(--q-paprika);
    color: #fff;
    background: var(--q-paprika);
}

.admin-main .btn-danger,
.admin-main .btn-outline-danger {
    border-color: var(--q-danger);
    color: var(--q-danger);
}

.admin-main .btn-danger {
    color: #fff;
    background: var(--q-danger);
}

.admin-main .btn-warning {
    border-color: var(--q-saffron);
    color: var(--q-ink);
    background: var(--q-saffron);
}

.admin-main .btn-sm {
    min-height: 2rem;
    padding: .38rem .52rem;
    font-size: .62rem;
}

.admin-main .form-control,
.admin-main .form-select,
.admin-main input,
.admin-main select,
.admin-main textarea {
    border-radius: 1px !important;
}

.admin-main .table-responsive {
    max-width: 100%;
    overflow-x: auto;
}

.admin-focus-panel {
    border: 1px solid var(--q-ink);
    background: var(--q-paper);
    box-shadow: 6px 6px 0 var(--q-ink);
}

.admin-focus-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    color: #fff;
    background: var(--q-ink);
    padding: 1rem 1.15rem;
}

.admin-focus-heading span {
    color: var(--q-apricot);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.admin-focus-heading h2 {
    margin-top: .22rem;
    font-size: clamp(1.25rem, 2.6vw, 2rem);
}

.admin-focus-heading p {
    color: rgba(255, 250, 242, .54);
    font-size: .62rem;
}

.admin-focus-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--q-line);
}

.admin-focus-grid > a {
    display: grid;
    min-width: 0;
    min-height: 8.4rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-content: center;
    gap: .35rem .7rem;
    background: #fff;
    padding: 1rem;
}

.admin-focus-grid > a > i {
    grid-row: 1 / 3;
    color: var(--q-paprika);
    font-size: 1.25rem;
}

.admin-focus-grid > a span {
    display: flex;
    align-items: baseline;
    gap: .48rem;
}

.admin-focus-grid > a strong {
    color: var(--q-paprika);
    font-size: 1.9rem;
    line-height: 1;
}

.admin-focus-grid > a b {
    font-size: .76rem;
}

.admin-focus-grid > a small {
    grid-column: 2;
    color: var(--q-muted);
    font-size: .62rem;
}

.admin-focus-grid > a:hover,
.admin-focus-grid > a.is-primary {
    color: #fff;
    background: var(--q-plum);
}

.admin-focus-grid > a:hover strong,
.admin-focus-grid > a:hover > i,
.admin-focus-grid > a.is-primary strong,
.admin-focus-grid > a.is-primary > i {
    color: var(--q-saffron);
}

.admin-focus-grid > a:hover small,
.admin-focus-grid > a.is-primary small {
    color: rgba(255, 250, 242, .64);
}

.admin-simple-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .65fr);
    gap: 1rem;
}

.admin-catalogue-summary {
    display: grid;
    align-content: start;
}

.admin-catalogue-summary > a {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    border-top: 1px solid var(--q-line);
    padding: .85rem 0;
}

.admin-catalogue-summary > a strong {
    color: var(--q-paprika);
    font-size: 1.7rem;
}

.admin-catalogue-summary > a span {
    color: var(--q-muted);
    font-size: .68rem;
    font-weight: 750;
}

.admin-summary-strip {
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 1px;
    margin-bottom: 1rem;
    border: 1px solid var(--q-line);
    background: var(--q-line);
}

.admin-summary-strip > * {
    display: flex;
    min-height: 5rem;
    align-items: baseline;
    gap: .55rem;
    background: #fff;
    padding: .8rem 1rem;
}

.admin-summary-strip strong {
    color: var(--q-paprika);
    font-size: 1.8rem;
    line-height: 1;
}

.admin-summary-strip span {
    color: var(--q-muted);
    font-size: .64rem;
    font-weight: 800;
}

.admin-summary-strip > a:hover,
.admin-summary-strip > a.is-active {
    color: #fff;
    background: var(--q-plum);
}

.admin-summary-strip > a:hover span,
.admin-summary-strip > a.is-active span {
    color: rgba(255, 250, 242, .65);
}

.admin-summary-strip > a:hover strong,
.admin-summary-strip > a.is-active strong {
    color: var(--q-saffron);
}

.admin-summary-strip > .is-alert strong {
    color: var(--q-danger);
}

.admin-automation-panel {
    border: 1px solid var(--q-line);
    background: var(--q-paper);
}

.admin-automation-panel > summary {
    display: flex;
    min-height: 4.6rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    padding: .85rem 1rem;
    list-style: none;
}

.admin-automation-panel > summary::-webkit-details-marker {
    display: none;
}

.admin-automation-panel > summary > span {
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    align-items: center;
}

.admin-automation-panel > summary > span > i {
    grid-row: 1 / 3;
    color: var(--q-paprika);
}

.admin-automation-panel > summary strong,
.admin-automation-panel > summary small {
    display: block;
}

.admin-automation-panel > summary strong {
    font-size: .78rem;
}

.admin-automation-panel > summary small {
    color: var(--q-muted);
    font-size: .62rem;
}

.admin-automation-panel > summary > i {
    transition: transform .16s ease;
}

.admin-automation-panel[open] > summary {
    border-bottom: 1px solid var(--q-line);
}

.admin-automation-panel[open] > summary > i {
    transform: rotate(180deg);
}

.admin-automation-panel > .admin-task-list {
    padding: 1rem;
}

.admin-workflow-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 1rem;
    border: 1px solid var(--q-line);
    background: var(--q-line);
}

.admin-workflow-tabs > a {
    display: grid;
    min-width: 0;
    min-height: 5.5rem;
    grid-template-columns: 1.5rem minmax(0, 1fr);
    align-items: center;
    gap: .55rem;
    background: #fff;
    padding: .7rem;
}

.admin-workflow-tabs > a > i {
    color: var(--q-paprika);
}

.admin-workflow-tabs span,
.admin-workflow-tabs strong,
.admin-workflow-tabs b,
.admin-workflow-tabs small {
    display: block;
}

.admin-workflow-tabs strong {
    float: right;
    margin-left: .35rem;
    color: var(--q-paprika);
    font-size: 1.25rem;
    line-height: 1;
}

.admin-workflow-tabs b {
    font-size: .7rem;
}

.admin-workflow-tabs small {
    overflow: hidden;
    margin-top: .12rem;
    color: var(--q-muted);
    font-size: .57rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-workflow-tabs > a:hover,
.admin-workflow-tabs > a.is-active {
    color: #fff;
    background: var(--q-plum);
}

.admin-workflow-tabs > a:hover i,
.admin-workflow-tabs > a:hover strong,
.admin-workflow-tabs > a.is-active i,
.admin-workflow-tabs > a.is-active strong {
    color: var(--q-saffron);
}

.admin-workflow-tabs > a:hover small,
.admin-workflow-tabs > a.is-active small {
    color: rgba(255, 250, 242, .58);
}

.admin-event-search {
    display: grid;
    gap: .75rem;
    padding: .85rem;
}

.admin-event-search-main {
    display: grid;
    grid-template-columns: minmax(14rem, 1.6fr) minmax(12rem, .8fr) auto auto;
    align-items: end;
    gap: .65rem;
}

.admin-event-search label,
.admin-advanced-filters label {
    display: grid;
    min-width: 0;
    gap: .28rem;
}

.admin-event-search label > span,
.admin-advanced-filters label > span {
    color: var(--q-muted);
    font-size: .59rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.admin-event-search input,
.admin-event-search select {
    width: 100%;
    min-height: 2.8rem;
    border: 1px solid var(--q-line-strong);
    background: #fff;
    padding: .55rem .62rem;
    font-size: .72rem;
}

.admin-advanced-filters {
    border-top: 1px solid var(--q-line);
}

.admin-advanced-filters > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    padding: .65rem 0 0;
    color: var(--q-ink);
    font-size: .68rem;
    font-weight: 850;
    list-style: none;
}

.admin-advanced-filters > summary::-webkit-details-marker,
.admin-list-tools > summary::-webkit-details-marker,
.admin-row-menu > summary::-webkit-details-marker,
.admin-title-review > summary::-webkit-details-marker {
    display: none;
}

.admin-advanced-filters > summary small {
    color: var(--q-muted);
    font-size: .59rem;
    font-weight: 650;
}

.admin-advanced-filters > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    padding-top: .7rem;
}

.admin-source-context {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 1rem 0;
    border-left: 4px solid var(--q-saffron);
    background: #fff;
    padding: .75rem .85rem;
    font-size: .68rem;
}

.admin-source-context > span {
    color: var(--q-muted);
}

.admin-source-context > a {
    margin-left: auto;
    color: var(--q-paprika);
    font-weight: 850;
}

.admin-event-results {
    margin-top: 1rem;
    border: 1px solid var(--q-line);
    background: var(--q-paper);
    box-shadow: 6px 6px 0 rgba(36, 23, 29, .09);
}

.admin-event-results-header {
    display: flex;
    min-height: 4.8rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
}

.admin-event-results-header span {
    color: var(--q-paprika);
    font-size: .59rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-event-results-header h2 {
    margin-top: .15rem;
    font-size: 1.35rem;
}

.admin-list-tools,
.admin-row-menu {
    position: relative;
}

.admin-list-tools > summary,
.admin-row-menu > summary,
.admin-card-view {
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    cursor: pointer;
    border: 1px solid var(--q-line-strong);
    background: #fff;
    padding: .45rem .6rem;
    font-size: .64rem;
    font-weight: 850;
    list-style: none;
}

.admin-list-tools > div,
.admin-row-menu > div {
    position: absolute;
    z-index: 12;
    top: calc(100% + .35rem);
    right: 0;
    display: grid;
    width: 15.5rem;
    border: 1px solid var(--q-ink);
    background: #fff;
    box-shadow: 5px 5px 0 rgba(36, 23, 29, .18);
    padding: .35rem;
}

.admin-list-tools a,
.admin-list-tools button,
.admin-row-menu a,
.admin-row-menu button {
    display: flex;
    width: 100%;
    min-height: 2.35rem;
    align-items: center;
    gap: .45rem;
    border: 0;
    color: var(--q-ink);
    background: transparent;
    padding: .5rem .55rem;
    text-align: left;
    font-size: .64rem;
    font-weight: 750;
}

.admin-list-tools a:hover,
.admin-list-tools button:hover,
.admin-row-menu a:hover,
.admin-row-menu button:hover {
    color: #fff;
    background: var(--q-plum);
}

.admin-row-menu button.is-danger {
    color: var(--q-danger);
}

.admin-row-menu button.is-danger:hover {
    color: #fff;
    background: var(--q-danger);
}

.admin-event-results > .admin-batch-bar {
    border-right: 0;
    border-left: 0;
}

.admin-event-list {
    display: grid;
    gap: 1px;
    background: var(--q-line);
}

.admin-event-card {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: 2.8rem 8.7rem minmax(16rem, 1fr) minmax(8.5rem, auto) 8rem;
    align-items: stretch;
    background: #fff;
    cursor: pointer;
}

.admin-event-card:hover,
.admin-event-card:focus-within {
    z-index: 2;
    outline: 2px solid var(--q-paprika);
    outline-offset: -2px;
}

.admin-event-card-select {
    display: grid;
    place-items: center;
    border-right: 1px solid var(--q-line);
}

.admin-event-card-select .admin-event-selector {
    width: 100%;
    height: 100%;
    border: 0;
}

.admin-event-card-visual {
    position: relative;
    display: block;
    min-height: 9rem;
    overflow: hidden;
    border-right: 1px solid var(--q-line);
    background: #e4c7aa;
}

.admin-event-card-visual img,
.admin-event-card-visual > span {
    width: 100%;
    height: 100%;
}

.admin-event-card-visual img {
    display: block;
    object-fit: cover;
}

.admin-event-card-visual > span {
    display: grid;
    place-items: center;
    align-content: center;
    gap: .2rem;
    color: var(--q-plum);
}

.admin-event-card-visual > span i {
    font-size: 1.7rem;
}

.admin-event-card-visual > span small {
    font-size: .56rem;
    font-weight: 800;
}

.admin-event-card-visual > b {
    position: absolute;
    right: .35rem;
    bottom: .35rem;
    color: #fff;
    background: rgba(36, 23, 29, .85);
    padding: .25rem .35rem;
    font-size: .52rem;
}

.admin-event-card-copy {
    min-width: 0;
    padding: .8rem .9rem;
}

.admin-event-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .28rem .55rem;
}

.admin-event-card-meta a,
.admin-event-card-meta span {
    color: var(--q-paprika);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.admin-event-card-copy h3 {
    max-width: 46rem;
    margin-top: .35rem;
    font-size: clamp(1rem, 1.8vw, 1.4rem);
    line-height: 1.05;
}

.admin-event-card-copy h3 a:hover,
.admin-event-card-copy small a {
    color: var(--q-paprika);
}

.admin-event-card-copy > p {
    margin-top: .4rem;
    color: var(--q-muted);
    font-size: .7rem;
}

.admin-event-card-copy > small {
    display: block;
    margin-top: .3rem;
    color: var(--q-muted);
    font-size: .59rem;
}

.admin-title-review {
    margin-top: .6rem;
    border-left: 3px solid var(--q-saffron);
    background: var(--q-cream);
    padding: .5rem .6rem;
}

.admin-title-review > summary {
    cursor: pointer;
    color: var(--q-plum);
    font-size: .61rem;
    font-weight: 850;
    list-style: none;
}

.admin-title-review form {
    display: grid;
    gap: .35rem;
    margin-top: .45rem;
}

.admin-title-review form > small {
    color: var(--q-muted);
    font-size: .56rem;
}

.admin-title-review form > div {
    display: flex;
    gap: .35rem;
}

.admin-title-review input {
    min-width: 0;
    min-height: 2.25rem;
    flex: 1;
    border: 1px solid var(--q-line-strong);
    background: #fff;
    padding: .4rem .5rem;
    font-size: .65rem;
}

.admin-title-review button {
    border: 0;
    color: #fff;
    background: var(--q-plum);
    padding: .45rem .55rem;
    font-size: .59rem;
    font-weight: 850;
}

.admin-event-card-health {
    display: flex;
    min-width: 0;
    align-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: .3rem;
    border-left: 1px solid var(--q-line);
    padding: .7rem;
}

.admin-event-card-health > span {
    border: 1px solid var(--q-line);
    color: var(--q-muted);
    padding: .28rem .38rem;
    font-size: .55rem;
    font-weight: 800;
}

.admin-event-card-health .is-ok {
    border-color: rgba(22, 107, 82, .25);
    color: var(--q-success);
}

.admin-event-card-health .is-warning {
    border-color: rgba(239, 164, 61, .5);
    color: #8a5812;
}

.admin-event-card-health .is-danger {
    border-color: rgba(165, 47, 53, .3);
    color: var(--q-danger);
}

.admin-event-card-health .is-status {
    color: #fff;
    background: var(--q-ink);
    text-transform: uppercase;
}

.admin-event-card-actions {
    display: grid;
    align-content: center;
    gap: .4rem;
    border-left: 1px solid var(--q-line);
    padding: .65rem;
}

.admin-event-card-actions > form,
.admin-event-card-actions > form > button,
.admin-event-card-actions > a,
.admin-event-card-actions > details,
.admin-event-card-actions > details > summary {
    width: 100%;
}

.admin-card-view:hover {
    color: #fff;
    background: var(--q-plum);
}

.admin-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: .7rem;
    border-top: 1px solid var(--q-line);
    padding: .8rem 1rem;
    font-size: .65rem;
}

.admin-pagination a {
    color: var(--q-paprika);
    font-weight: 850;
}

.admin-pagination a:last-child {
    text-align: right;
}

.admin-pagination strong {
    color: var(--q-muted);
    font-size: .59rem;
}

.admin-collection-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 1rem;
    border: 1px solid var(--q-line);
    background: var(--q-line);
}

.admin-collection-flow > article {
    position: relative;
    min-width: 0;
    min-height: 14rem;
    background: #fff;
    padding: 1.15rem;
}

.admin-collection-flow > article > span {
    position: absolute;
    top: .7rem;
    right: .7rem;
    color: var(--q-line-strong);
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1;
}

.admin-collection-flow > article > i {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    color: #fff;
    background: var(--q-ink);
}

.admin-collection-flow > article > strong {
    display: block;
    margin-top: 1.5rem;
    color: var(--q-paprika);
    font-size: 2.5rem;
    line-height: 1;
}

.admin-collection-flow h2 {
    margin-top: .35rem;
    font-size: .82rem;
}

.admin-collection-flow p {
    margin-top: .45rem;
    color: var(--q-muted);
    font-size: .64rem;
}

.admin-collection-actions {
    display: grid;
    grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr);
    gap: 1.2rem;
}

.admin-collection-actions > div:first-child h2 {
    max-width: 20ch;
    font-size: 1.35rem;
}

.admin-collection-actions > div:last-child {
    display: grid;
    gap: 1px;
    background: var(--q-line);
}

.admin-collection-actions a {
    display: grid;
    min-height: 4.4rem;
    grid-template-columns: 1.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    background: #fff;
    padding: .72rem .85rem;
}

.admin-collection-actions a > i:first-child {
    color: var(--q-paprika);
}

.admin-collection-actions a strong,
.admin-collection-actions a small {
    display: block;
}

.admin-collection-actions a strong {
    font-size: .72rem;
}

.admin-collection-actions a small {
    margin-top: .12rem;
    color: var(--q-muted);
    font-size: .59rem;
}

.admin-collection-actions a:hover {
    color: #fff;
    background: var(--q-plum);
}

.admin-collection-actions a:hover small {
    color: rgba(255, 250, 242, .62);
}

@media (min-width: 1024px) {
    .admin-app-shell {
        grid-template-columns: 15.5rem minmax(0, 1fr);
    }

    .admin-app-sidebar {
        position: sticky;
        top: 0;
        height: 100dvh;
        overflow-y: auto;
    }
}

@media (max-width: 1100px) {
    .admin-focus-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-event-card {
        grid-template-columns: 2.8rem 7.5rem minmax(15rem, 1fr) 8rem;
    }

    .admin-event-card-health {
        grid-column: 3;
        border-top: 1px solid var(--q-line);
        border-left: 0;
    }

    .admin-event-card-actions {
        grid-row: 1 / 3;
        grid-column: 4;
    }

    .admin-collection-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1023px) {
    .admin-app-sidebar {
        padding: .7rem;
    }

    .admin-sidebar-brand {
        min-height: 3rem;
        border: 0;
        padding: 0;
    }

    .admin-main-nav {
        display: none;
        max-height: calc(100dvh - 4.6rem);
        overflow-y: auto;
        padding-top: .8rem;
    }

    .admin-app-shell.is-admin-menu-open .admin-main-nav {
        display: grid;
    }

    .admin-menu-toggle {
        display: grid;
    }

    .admin-main {
        padding: 1rem .75rem;
    }

    .admin-page-header {
        align-items: flex-start;
    }
}

@media (max-width: 720px) {
    .admin-page-header {
        display: grid;
    }

    .admin-page-actions,
    .admin-page-actions > * {
        width: 100%;
    }

    .admin-focus-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-simple-grid {
        grid-template-columns: 1fr;
    }

    .admin-summary-strip {
        grid-auto-flow: row;
        grid-template-columns: 1fr 1fr;
    }

    .admin-summary-strip > * {
        min-height: 4rem;
    }

    .admin-workflow-tabs {
        grid-template-columns: 1fr 1fr;
    }

    .admin-workflow-tabs > a:first-child {
        grid-column: 1 / -1;
    }

    .admin-event-search-main {
        grid-template-columns: 1fr 1fr;
    }

    .admin-event-search-main > .admin-primary-action,
    .admin-event-search-main > .admin-secondary-action {
        width: 100%;
    }

    .admin-advanced-filters > div {
        grid-template-columns: 1fr 1fr;
    }

    .admin-event-card {
        grid-template-columns: 2.8rem 6.5rem minmax(0, 1fr);
    }

    .admin-event-card-copy {
        grid-column: 3;
    }

    .admin-event-card-health {
        grid-column: 2 / 4;
        border-left: 0;
    }

    .admin-event-card-actions {
        display: flex;
        grid-row: auto;
        grid-column: 1 / -1;
        align-items: center;
        justify-content: flex-end;
        border-top: 1px solid var(--q-line);
        border-left: 0;
    }

    .admin-event-card-actions > form,
    .admin-event-card-actions > a,
    .admin-event-card-actions > details {
        width: auto;
        min-width: 8rem;
    }

    .admin-collection-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .admin-focus-grid {
        grid-template-columns: 1fr;
    }

    .admin-focus-grid > a {
        min-height: 6.4rem;
    }

    .admin-event-search-main,
    .admin-advanced-filters > div {
        grid-template-columns: 1fr;
    }

    .admin-advanced-filters > summary small {
        display: none;
    }

    .admin-event-results-header,
    .admin-batch-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-batch-bar > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .admin-event-card {
        grid-template-columns: 2.5rem 5.5rem minmax(0, 1fr);
    }

    .admin-event-card-visual {
        min-height: 7rem;
    }

    .admin-event-card-health {
        grid-column: 1 / -1;
    }

    .admin-event-card-actions {
        justify-content: stretch;
    }

    .admin-event-card-actions > form,
    .admin-event-card-actions > a,
    .admin-event-card-actions > details {
        min-width: 0;
        flex: 1;
    }

    .admin-row-menu > div {
        right: 0;
        width: min(15.5rem, calc(100vw - 2rem));
    }

    .admin-collection-flow {
        grid-template-columns: 1fr;
    }

    .admin-collection-flow > article {
        min-height: 10.5rem;
    }
}

.app-header-inner {
    display: grid;
    min-height: 4.4rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(.7rem, 2vw, 1.5rem);
}

.app-brand {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .65rem;
}

.brand-symbol {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    flex: none;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255, 250, 242, .18);
    border-radius: 2px !important;
    background: #17151a;
    box-shadow: none;
}

.brand-symbol > img,
.brand-symbol > .qdlc-mark {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand-lockup {
    display: block;
    min-width: 0;
}

.brand-name {
    color: var(--q-paper);
    font-size: 1.02rem;
    font-weight: 900;
    line-height: .85;
    letter-spacing: -.06em;
}

.brand-name span {
    color: var(--q-apricot);
}

.brand-lockup > small {
    display: block;
    margin-top: .3rem;
    color: rgba(255, 250, 242, .48);
    font-size: .52rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.desktop-nav {
    justify-self: center;
}

.desktop-nav a {
    position: relative;
    border-radius: 0 !important;
    color: rgba(255, 250, 242, .72);
    padding: .8rem .85rem .7rem;
    font-size: .78rem;
    font-weight: 780;
}

.desktop-nav a::after {
    position: absolute;
    right: .85rem;
    bottom: .32rem;
    left: .85rem;
    height: 2px;
    content: "";
    background: var(--q-saffron);
    scale: 0 1;
    transform-origin: left;
    transition: scale .2s var(--q-ease);
}

.desktop-nav a:hover,
.desktop-nav a.is-active {
    color: #fff;
    background: rgba(255, 250, 242, .07);
}

.desktop-nav a:hover::after,
.desktop-nav a.is-active::after {
    scale: 1 1;
}

.app-header-actions {
    display: flex;
    align-items: stretch;
    gap: .45rem;
}

.app-header-install,
.app-header-create {
    display: inline-flex;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    border: 1px solid rgba(255, 250, 242, .24);
    padding: .62rem .78rem;
    font-size: .7rem;
}

.app-header-install {
    color: var(--q-paper);
    background: rgba(255, 250, 242, .06);
}

.app-header-install:hover {
    border-color: var(--q-saffron);
    color: var(--q-saffron);
    background: rgba(255, 250, 242, .1);
}

.mobile-bottom-nav,
.account-bottom-nav {
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100%;
    box-sizing: border-box;
    max-width: none !important;
    border: 0;
    border-top: 1px solid rgba(255, 250, 242, .14);
    border-radius: 0 !important;
    background: rgba(36, 23, 29, .985);
    padding: .25rem max(.25rem, env(safe-area-inset-right)) max(.25rem, env(safe-area-inset-bottom)) max(.25rem, env(safe-area-inset-left));
    color: rgba(255, 250, 242, .62);
    box-shadow: 0 -12px 40px rgba(36, 23, 29, .24);
    backdrop-filter: blur(18px);
}

.mobile-bottom-nav {
    right: auto !important;
    width: 100vw !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    overflow: hidden;
}

.mobile-bottom-nav > a {
    width: auto !important;
    max-width: none !important;
}

.mobile-bottom-nav a,
.account-bottom-nav > a,
.account-bottom-menu > summary {
    position: relative;
    min-width: 0;
    min-height: 3.65rem;
    border-radius: 0 !important;
    color: inherit;
}

.mobile-bottom-nav a::before,
.account-bottom-nav > a::before,
.account-bottom-menu > summary::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.8rem;
    height: 2px;
    content: "";
    background: var(--q-saffron);
    translate: -50% 0;
    scale: 0 1;
    transition: scale .2s var(--q-ease);
}

.mobile-bottom-nav a.is-active,
.account-bottom-nav > a.is-active {
    color: #fff;
    background: rgba(255, 250, 242, .08);
}

.mobile-bottom-nav a.is-active::before,
.account-bottom-nav > a.is-active::before {
    scale: 1 1;
}

.mobile-bottom-nav a.is-primary {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.mobile-bottom-nav a.is-primary::before {
    background: var(--q-paprika);
}

.mobile-bottom-nav > a {
    --mobile-nav-accent: var(--q-saffron);
    --mobile-nav-tint: rgba(242, 193, 78, .12);
    --mobile-nav-on-accent: #17151a;
    border-top: 3px solid var(--mobile-nav-accent);
    color: var(--mobile-nav-accent);
    background:
        linear-gradient(180deg, var(--mobile-nav-tint), rgba(36, 23, 29, 0) 72%);
    transition:
        color .18s ease,
        background-color .18s ease,
        translate .18s var(--q-ease);
}

.mobile-bottom-nav > a::before {
    display: none;
}

.mobile-bottom-nav > a span {
    color: rgba(255, 250, 242, .78);
    transition: color .18s ease;
}

.mobile-bottom-nav > a i {
    color: var(--mobile-nav-accent);
    transition: color .18s ease, scale .18s var(--q-ease);
}

.mobile-bottom-nav > a.is-active {
    color: var(--mobile-nav-on-accent);
    background: var(--mobile-nav-accent);
}

.mobile-bottom-nav > a.is-active span,
.mobile-bottom-nav > a.is-active i {
    color: inherit;
}

.mobile-bottom-nav > a.is-active i {
    scale: 1.08;
}

.mobile-bottom-nav > .mobile-nav-home {
    --mobile-nav-accent: #ff3b30;
    --mobile-nav-tint: rgba(255, 59, 48, .14);
}

.mobile-bottom-nav > .mobile-nav-explore {
    --mobile-nav-accent: #146cff;
    --mobile-nav-tint: rgba(20, 108, 255, .16);
    --mobile-nav-on-accent: #ffffff;
}

.mobile-bottom-nav > .mobile-nav-alerts {
    --mobile-nav-accent: #00a86b;
    --mobile-nav-tint: rgba(0, 168, 107, .15);
}

.mobile-bottom-nav > .mobile-nav-account {
    --mobile-nav-accent: #ffd43b;
    --mobile-nav-tint: rgba(255, 212, 59, .14);
}

/* Hero and home */

.hero-app {
    min-height: min(48rem, calc(100dvh - 4.4rem));
    border: 0;
    border-radius: 0 !important;
    color: var(--q-paper);
    background:
        linear-gradient(108deg, rgba(36, 23, 29, .98) 0 49%, rgba(86, 35, 55, .96) 49% 100%);
}

.hero-app::before {
    width: clamp(16rem, 36vw, 34rem);
    height: clamp(16rem, 36vw, 34rem);
    border: clamp(2.5rem, 7vw, 6rem) solid var(--q-paprika);
    border-radius: 50%;
    background: transparent;
    opacity: .92;
    top: -18%;
    right: -9%;
    animation: q-orbit 16s linear infinite;
}

.hero-app::after {
    width: 10rem;
    height: 10rem;
    border: 2.2rem solid var(--q-saffron);
    border-radius: 50%;
    opacity: 1;
    bottom: -5rem;
    left: 33%;
    animation: q-float 7s ease-in-out infinite alternate;
}

.hero-app .app-container {
    width: 100%;
    max-width: 100%;
    min-height: inherit;
}

.hero-app .app-container > *,
.hero-app .app-container > * > * {
    min-width: 0;
    max-width: 100%;
}

.hero-app h1 {
    max-width: 10ch;
    font-size: clamp(3.7rem, 8.5vw, 8.8rem);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: .78;
    text-wrap: balance;
}

.hero-app h1 span {
    color: var(--q-saffron) !important;
}

.hero-signal {
    display: flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    gap: .8rem;
    border: 1px solid rgba(255, 250, 242, .2);
    padding: .55rem .7rem;
    color: rgba(255, 250, 242, .72);
    background: rgba(255, 250, 242, .05);
    font-size: .62rem;
    font-weight: 820;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero-signal span,
.hero-signal strong {
    display: flex;
    min-width: 0;
    align-items: center;
}

.hero-signal span {
    gap: .45rem;
}

.hero-signal span i {
    width: .5rem;
    height: .5rem;
    flex: none;
    border-radius: 50%;
    background: var(--q-saffron);
    box-shadow: 0 0 0 .25rem rgba(242, 193, 78, .13);
    animation: q-signal 1.8s ease-in-out infinite;
}

.hero-signal strong {
    border-left: 1px solid rgba(255, 250, 242, .2);
    padding-left: .8rem;
    color: var(--q-apricot);
}

.hero-app p {
    color: rgba(255, 250, 242, .72);
}

.hero-app [class*="rounded-full"] {
    border-radius: 2px !important;
}

.glass-search {
    border: 1px solid rgba(255, 250, 242, .24);
    border-radius: 2px !important;
    background: rgba(255, 250, 242, .08);
    padding: clamp(1rem, 3vw, 1.7rem);
    box-shadow: 10px 10px 0 var(--q-paprika);
    backdrop-filter: blur(22px);
}

.glass-search label {
    color: var(--q-paper);
}

.glass-search input,
.glass-search select {
    border-color: rgba(255, 250, 242, .32) !important;
    background: var(--q-paper) !important;
}

.quick-scroll {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    scroll-snap-type: x proximity;
}

.quick-chip {
    scroll-snap-align: start;
    border: 1px solid rgba(255, 250, 242, .26);
    border-radius: 2px !important;
    color: var(--q-paper);
    background: rgba(255, 250, 242, .07);
    box-shadow: none;
    transition: translate .18s var(--q-ease), background .18s ease;
}

.quick-chip:hover {
    translate: 0 -2px;
    color: var(--q-ink);
    background: var(--q-saffron);
}

.quick-chip.is-hot {
    border-color: var(--q-paprika);
    background: var(--q-paprika);
}

.section-app {
    position: relative;
    padding-block: clamp(2.2rem, 6vw, 5.5rem);
}

.section-app:nth-of-type(odd) {
    background: rgba(255, 250, 242, .48);
}

.section-title {
    max-width: 18ch;
    font-size: clamp(2.1rem, 5.4vw, 4.8rem);
    font-weight: 850;
    line-height: .88;
    letter-spacing: -.06em;
}

.eyebrow,
.section-kicker,
.account-kicker,
.category-directory-kicker,
.newsletter-kicker,
.explore-kicker {
    border: 0;
    border-left: 4px solid var(--q-paprika);
    border-radius: 0 !important;
    color: var(--q-plum);
    background: transparent;
    padding: .25rem 0 .25rem .65rem;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.event-grid-app {
    gap: 1px;
    border: 1px solid var(--q-line);
    background: var(--q-line);
}

.event-card-app {
    border: 0;
    border-radius: 0 !important;
    background: var(--q-paper);
    box-shadow: none;
    transition: translate .28s var(--q-ease), box-shadow .28s var(--q-ease);
}

.event-card-app:hover {
    z-index: 2;
    translate: 0 -5px;
    box-shadow: var(--q-shadow);
}

.event-card-series-media {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: inherit;
    align-content: end;
    gap: .45rem;
    padding: clamp(1rem, 4vw, 1.6rem);
    color: #fff;
    background:
        linear-gradient(135deg, rgba(20, 108, 255, .92) 0 34%, transparent 34%),
        linear-gradient(225deg, rgba(255, 212, 59, .94) 0 31%, transparent 31%),
        linear-gradient(45deg, rgba(0, 168, 107, .9) 0 30%, transparent 30%),
        #ff3b30;
}

.event-card-series-media span,
.event-card-series-media small {
    width: fit-content;
    max-width: 100%;
    background: #17151a;
    padding: .3rem .45rem;
}

.event-card-series-media span {
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.event-card-series-media strong {
    max-width: 18ch;
    font-size: clamp(1.45rem, 4vw, 2.4rem);
    line-height: .9;
}

.event-card-series-media small {
    overflow: hidden;
    font-size: .7rem;
    font-weight: 780;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-card-series-label {
    display: block;
    overflow: hidden;
    margin-bottom: .28rem;
    color: var(--q-paprika);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.event-card-media {
    background: #dcc1aa !important;
}

.event-card-media img {
    filter: saturate(.9) contrast(1.04);
    transition: scale .6s var(--q-ease), filter .3s ease;
}

.event-card-app:hover .event-card-media img {
    scale: 1.035;
    filter: saturate(1.06) contrast(1.05);
}

.event-card-app .badge {
    border: 1px solid var(--q-ink) !important;
    border-radius: 1px !important;
    color: var(--q-paper) !important;
    background: var(--q-ink) !important;
    box-shadow: 3px 3px 0 var(--q-saffron) !important;
    font-size: .62rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.event-card-body-app {
    color: var(--q-ink);
}

.event-card-body-app h3 {
    font-size: 1.24rem;
    font-weight: 820;
    letter-spacing: -.035em;
}

.event-card-body-app .event-card-title,
.event-card-body-app .event-card-title > a {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-card-body-app p {
    color: var(--q-muted) !important;
}

.event-card-body-app p i,
.event-card-body-app > div:last-child > span:last-child {
    color: var(--q-paprika) !important;
}

.date-tile {
    border: 1px solid var(--q-ink);
    border-radius: 1px !important;
    color: var(--q-ink);
    background: var(--q-saffron);
    box-shadow: 3px 3px 0 var(--q-paprika);
}

.favorite-button,
.app-icon-button {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    border: 1px solid var(--q-ink);
    border-radius: 1px !important;
    color: var(--q-ink);
    background: var(--q-paper);
    box-shadow: 3px 3px 0 rgba(36, 23, 29, .42);
}

.event-card-favorite {
    position: absolute;
    z-index: 8;
    top: .75rem;
    right: .75rem;
    bottom: auto;
    left: auto;
    display: block;
    width: 2.7rem;
    min-width: 2.7rem;
    max-width: 2.7rem;
    height: 2.7rem;
    min-height: 2.7rem;
    max-height: 2.7rem;
    margin: 0;
    padding: 0;
    align-self: flex-start;
    line-height: 1;
}

form.event-card-favorite > .favorite-button {
    display: inline-grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    margin: 0;
    padding: 0;
    vertical-align: top;
}

a.event-card-favorite.favorite-button {
    display: inline-grid;
    padding: 0;
}

.event-sheet-favorite-form {
    width: auto;
    height: auto;
    min-height: 0;
    align-self: flex-start;
    flex: 0 0 auto;
    margin: 0;
}

.event-favorite-form {
    height: auto;
    min-height: 0;
    align-self: flex-start;
    flex: 0 0 auto;
    margin: 0;
}

.event-sheet-favorite-form > .favorite-button {
    min-width: 2.7rem;
    max-width: 2.7rem;
    min-height: 2.7rem;
    max-height: 2.7rem;
    padding: 0;
}

.explore-list .event-card-favorite {
    top: .5rem;
    right: .5rem;
    width: 2.35rem;
    min-width: 2.35rem;
    max-width: 2.35rem;
    height: 2.35rem;
    min-height: 2.35rem;
    max-height: 2.35rem;
}

.favorite-button:hover,
.app-icon-button:hover {
    color: #fff;
    background: var(--q-paprika);
}

.favorite-button.is-favorite {
    border-color: var(--q-paprika);
    color: #fff;
    background: var(--q-paprika);
}

.subscription-card {
    border: 1px solid var(--q-ink);
    border-radius: 2px !important;
    color: var(--q-paper);
    background:
        linear-gradient(135deg, var(--q-plum), var(--q-paprika));
    box-shadow: 8px 8px 0 var(--q-saffron);
}

.subscription-card .btn {
    border-color: var(--q-paper) !important;
    color: var(--q-ink) !important;
    background: var(--q-paper) !important;
    box-shadow: 4px 4px 0 var(--q-ink);
}

.home-finder-section {
    padding-block: .75rem 1.25rem;
    background: var(--q-cream);
}

.home-finder-shell {
    display: grid;
    grid-template-columns: 14rem minmax(0, 1fr);
    border: 1px solid var(--q-ink);
    color: var(--q-paper);
    background: var(--q-ink);
    box-shadow: 6px 6px 0 var(--q-paprika);
}

.home-finder-intro {
    display: grid;
    align-content: center;
    gap: .3rem;
    border-right: 1px solid rgba(255, 250, 242, .18);
    padding: .75rem .9rem;
}

.home-finder-intro span {
    color: var(--q-apricot);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-finder-intro strong {
    max-width: 18ch;
    color: #fff;
    font-size: .98rem;
    line-height: 1.12;
}

.home-finder-form {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(14rem, 1.35fr) minmax(8.5rem, .72fr) minmax(10rem, .85fr) auto;
    align-items: stretch;
    background: var(--q-line);
    gap: 1px;
}

.home-finder-field {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: .2rem;
    border: 0;
    padding: .45rem .65rem;
    color: var(--q-ink);
    background: var(--q-paper);
}

.home-finder-field > span,
.home-finder-field > label {
    color: var(--q-paprika);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-finder-field input[type="search"],
.home-finder-field select {
    width: 100%;
    min-width: 0;
    min-height: 1.8rem;
    border: 0;
    border-radius: 0 !important;
    outline: 0;
    color: var(--q-ink);
    background: transparent;
    padding: 0;
    font-size: .88rem;
    font-weight: 720;
}

.home-finder-place > div {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
}

.home-finder-place small {
    overflow: hidden;
    color: var(--q-muted);
    font-size: .64rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-finder-locate {
    display: flex;
    min-height: 1.85rem;
    align-items: center;
    gap: .3rem;
    border-left: 1px solid var(--q-line);
    padding-left: .55rem;
    color: var(--q-plum);
    cursor: pointer;
    font-size: .7rem;
    font-weight: 850;
    white-space: nowrap;
}

.home-finder-locate input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.home-finder-locate:has(input:checked) {
    color: var(--q-paprika);
}

.home-finder-submit {
    display: flex;
    min-width: 7.5rem;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 0;
    border-radius: 0 !important;
    color: var(--q-ink);
    background: var(--q-saffron);
    padding: .75rem 1rem;
    font-weight: 900;
    transition: color .16s ease, background-color .16s ease;
}

.home-finder-submit:hover,
.home-finder-submit:focus-visible {
    color: #fff;
    background: var(--q-paprika);
}

.home-finder-links {
    display: flex;
    grid-column: 1 / -1;
    min-width: 0;
    justify-content: flex-end;
    border-top: 1px solid rgba(255, 250, 242, .14);
    overflow-x: auto;
    scrollbar-width: none;
}

.home-finder-links::-webkit-scrollbar {
    display: none;
}

.home-finder-links a {
    display: inline-flex;
    min-height: 2.35rem;
    flex: 0 0 auto;
    align-items: center;
    gap: .4rem;
    border-left: 1px solid rgba(255, 250, 242, .14);
    padding: .45rem .75rem;
    color: rgba(255, 250, 242, .72);
    font-size: .72rem;
    font-weight: 800;
}

.home-finder-links a:hover {
    color: var(--q-ink);
    background: var(--q-apricot);
}

@media (max-width: 1023px) {
    .home-finder-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-finder-intro {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 250, 242, .18);
        padding-block: .6rem;
    }

    .home-finder-intro strong {
        max-width: none;
        text-align: right;
    }
}

@media (max-width: 680px) {
    .home-finder-section {
        padding: 1px 0;
    }

    .home-finder-section .app-container {
        padding-inline: 0;
    }

    .home-finder-shell {
        border-right: 0;
        border-left: 0;
        box-shadow: none;
    }

    .home-finder-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-finder-place,
    .home-finder-submit {
        grid-column: 1 / -1;
    }

    .home-finder-intro {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-finder-intro strong {
        text-align: left;
    }

    .home-finder-links {
        justify-content: flex-start;
    }

    .home-finder-links a {
        border-right: 1px solid rgba(255, 250, 242, .14);
        border-left: 0;
    }
}

/* Explorer: list/map slider */

.explore-app {
    --explore-bar-height: 0px;
    background: var(--q-cream);
}

.explore-topbar {
    border-bottom: 1px solid var(--q-line);
    color: var(--q-paper);
    background:
        linear-gradient(108deg, var(--q-ink) 0 65%, var(--q-plum) 65%);
}

.explore-title-row {
    padding-block: 1.2rem .8rem;
}

.explore-title-row h1 {
    max-width: min(100%, 22ch);
    color: #fff;
    font-size: clamp(2.15rem, 5.5vw, 4rem);
    font-weight: 850;
    line-height: .94;
    text-wrap: balance;
    overflow-wrap: normal;
}

.explore-title-row p {
    color: rgba(255, 250, 242, .56);
}

.explore-kicker {
    color: var(--q-apricot);
}

.explore-admin-validation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: stretch;
    margin: 0 0 .85rem;
    border: 1px solid rgba(255, 250, 242, .22);
    background: rgba(255, 250, 242, .07);
}

.explore-admin-validation.is-active {
    border-color: var(--q-saffron);
    background: rgba(241, 184, 50, .1);
}

.explore-admin-validation-status {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .7rem;
    padding: .65rem .8rem;
}

.explore-admin-validation-status > i {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    place-items: center;
    color: var(--q-ink);
    background: var(--q-saffron);
}

.explore-admin-validation-status span {
    display: grid;
    min-width: 0;
}

.explore-admin-validation-status small {
    color: var(--q-apricot);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.explore-admin-validation-status strong {
    overflow: hidden;
    color: #fff;
    font-size: .92rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.explore-admin-validation-toggle {
    display: grid;
    grid-template-columns: auto 2.6rem 2rem;
    align-items: center;
    gap: .55rem;
    border-left: 1px solid rgba(255, 250, 242, .22);
    padding: .55rem .75rem;
    color: rgba(255, 250, 242, .78);
    text-decoration: none;
    transition: color .16s ease, background-color .16s ease;
}

.explore-admin-validation-toggle:hover,
.explore-admin-validation-toggle:focus-visible,
.explore-admin-validation-toggle.is-on {
    color: #fff;
    background: rgba(255, 250, 242, .08);
}

.explore-admin-validation-toggle > span:first-child {
    font-size: .78rem;
    font-weight: 750;
}

.explore-admin-validation-toggle > strong {
    color: var(--q-apricot);
    font-size: .72rem;
    letter-spacing: .06em;
}

.explore-admin-validation-toggle.is-on > strong {
    color: var(--q-saffron);
}

.explore-admin-validation-start {
    border: 0;
    border-left: 1px solid rgba(255, 250, 242, .22);
    padding: .6rem .85rem;
    color: var(--q-ink);
    background: var(--q-saffron);
    font-size: .72rem;
    font-weight: 900;
}

.explore-admin-validation-start:hover,
.explore-admin-validation-start:focus-visible {
    color: #fff;
    background: var(--q-paprika);
}

.explore-admin-toggle-track {
    position: relative;
    width: 2.6rem;
    height: 1.25rem;
    border: 1px solid rgba(255, 250, 242, .42);
    background: rgba(0, 0, 0, .22);
}

.explore-admin-toggle-track i {
    position: absolute;
    top: 2px;
    left: 2px;
    width: .95rem;
    height: calc(100% - 4px);
    background: var(--q-paper);
    transition: transform .18s ease, background-color .18s ease;
}

.explore-admin-validation-toggle.is-on .explore-admin-toggle-track {
    border-color: var(--q-saffron);
    background: var(--q-saffron);
}

.explore-admin-validation-toggle.is-on .explore-admin-toggle-track i {
    transform: translateX(1.35rem);
    background: var(--q-ink);
}

@media (max-width: 640px) {
    .explore-admin-validation {
        grid-template-columns: minmax(0, 1fr);
    }

    .explore-admin-validation-toggle {
        grid-template-columns: minmax(0, 1fr) 2.6rem 2rem;
        border-top: 1px solid rgba(255, 250, 242, .22);
        border-left: 0;
        padding-block: .5rem;
    }

    .explore-admin-validation-start {
        min-height: 2.8rem;
        border-top: 1px solid rgba(255, 250, 242, .22);
        border-left: 0;
    }

    .explore-admin-validation-status {
        padding-block: .55rem;
    }
}

.explore-date-rail {
    gap: 0;
    padding-bottom: 0;
    scroll-snap-type: x proximity;
}

.explore-date-link {
    min-height: 2.85rem;
    scroll-snap-align: start;
    border: 1px solid rgba(255, 250, 242, .15);
    border-bottom: 0;
    color: rgba(255, 250, 242, .7);
    background: rgba(255, 250, 242, .04);
    padding: .75rem 1rem;
}

.explore-date-link::after {
    display: none;
}

.explore-date-link.is-active {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.explore-modebar {
    border-bottom: 1px solid var(--q-line);
    background: rgba(255, 250, 242, .96);
    box-shadow: var(--q-shadow-sm);
}

.explore-mode-switch {
    gap: 1px;
    border: 1px solid var(--q-line-strong);
    border-radius: 1px !important;
    background: var(--q-line);
    padding: 0;
}

.explore-mode-switch button {
    min-height: 2.75rem;
    border-radius: 0 !important;
    color: var(--q-muted);
    background: var(--q-paper);
}

.explore-mode-switch button.is-active {
    color: #fff;
    background: var(--q-ink);
}

.explore-swipe-hint {
    color: var(--q-paprika);
    font-weight: 800;
}

.explore-viewport {
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
}

.explore-screen {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.explore-list {
    gap: 1px;
    padding-top: 1px;
    padding-bottom: 1px;
    background: var(--q-line);
}

.explore-map-shell {
    background: var(--q-ink);
}

.explore-map-toolbar,
.explore-map-bottom {
    border-radius: 1px !important;
    color: var(--q-paper);
    background: rgba(36, 23, 29, .94);
    box-shadow: 5px 5px 0 var(--q-paprika);
}

.explore-map-filters .local-map-filter {
    border-radius: 1px !important;
    border-color: var(--q-line-strong);
    color: var(--q-ink);
    background: var(--q-paper);
}

.explore-map-filters .local-map-filter.is-active {
    color: #fff;
    background: var(--q-paprika);
}

.explore-map-results {
    border-top: 1px solid var(--q-line);
    background: var(--q-paper);
}

.explore-map-results .local-map-item {
    border-radius: 1px !important;
}

.explore-map-shell {
    display: grid;
    height: clamp(38rem, calc(100dvh - 7.25rem), 68rem);
    min-height: 38rem;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem);
}

.explore-map-shell.is-list-hidden {
    grid-template-columns: minmax(0, 1fr);
}

.explore-map-stage {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #d7ddd4;
}

.explore-map-stage .explore-map-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
}

.explore-map-event-preview {
    position: absolute;
    z-index: 580;
    right: 10.15rem;
    bottom: 1.6rem;
    left: .7rem;
    display: grid;
    width: min(26rem, calc(100% - 11.55rem));
    min-width: 0;
    grid-template-columns: 2.85rem minmax(0, 1fr) 1.5rem;
    align-items: center;
    gap: .65rem;
    border: 1px solid var(--q-line-strong);
    padding: .65rem;
    color: var(--q-ink);
    background: rgba(255, 250, 242, .98);
    box-shadow: 6px 6px 0 rgba(36, 23, 29, .28);
    opacity: 0;
    transform: translateY(.55rem);
    transition: opacity .16s ease, transform .16s ease;
    backdrop-filter: blur(14px);
}

.explore-map-event-preview[hidden] {
    display: none !important;
}

.explore-map-event-preview.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.explore-map-event-preview-icon {
    display: grid;
    width: 2.85rem;
    height: 2.85rem;
    place-items: center;
    color: #fff;
    background: var(--event-color, var(--q-paprika));
    font-size: 1.05rem;
}

.explore-map-event-preview-copy,
.explore-map-event-preview-copy small,
.explore-map-event-preview-copy strong,
.explore-map-event-preview-copy > span {
    display: block;
    min-width: 0;
}

.explore-map-event-preview-copy small {
    color: var(--q-paprika);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.explore-map-event-preview-copy strong {
    margin-top: .12rem;
    overflow: hidden;
    font-family: var(--q-font-display);
    font-size: .92rem;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.explore-map-event-preview-copy > span {
    margin-top: .18rem;
    overflow: hidden;
    color: var(--q-muted);
    font-size: .65rem;
    font-weight: 720;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.explore-map-event-preview-arrow {
    color: var(--q-paprika);
    font-size: 1rem;
    text-align: center;
}

.explore-map-event-preview:hover,
.explore-map-event-preview:focus-visible {
    color: var(--q-ink);
    background: #fff;
    box-shadow: 6px 6px 0 var(--q-paprika);
}

.explore-map-summary {
    position: absolute;
    z-index: 510;
    top: .7rem;
    left: .7rem;
    display: grid;
    min-width: 8.5rem;
    border: 1px solid rgba(36, 23, 29, .28);
    padding: .55rem .7rem;
    color: var(--q-paper);
    background: rgba(36, 23, 29, .92);
    box-shadow: 4px 4px 0 var(--q-paprika);
    backdrop-filter: blur(12px);
}

.explore-map-summary strong {
    font-family: var(--q-font-display);
    font-size: 1rem;
    line-height: 1;
}

.explore-map-summary span {
    margin-top: .25rem;
    color: rgba(255, 250, 242, .72);
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.explore-map-dock {
    position: absolute;
    z-index: 520;
    top: .7rem;
    right: .7rem;
    display: grid;
    width: 8.7rem;
    gap: 1px;
    border: 1px solid rgba(36, 23, 29, .24);
    background: rgba(36, 23, 29, .24);
    box-shadow: 4px 4px 0 rgba(36, 23, 29, .22);
}

.explore-map-dock button {
    display: grid;
    min-height: 2.55rem;
    grid-template-columns: 1.35rem minmax(0, 1fr);
    align-items: center;
    gap: .4rem;
    border: 0;
    border-radius: 0 !important;
    padding: .45rem .55rem;
    color: var(--q-ink);
    background: rgba(255, 250, 242, .95);
    font-size: .67rem;
    font-weight: 850;
    line-height: 1.1;
    text-align: left;
    backdrop-filter: blur(12px);
}

.explore-map-dock button:hover,
.explore-map-dock button:focus-visible,
.explore-map-dock button.is-active {
    color: var(--q-paper);
    background: var(--q-paprika);
}

.explore-map-dock button i {
    font-size: .95rem;
    text-align: center;
}

.explore-map-panel {
    position: absolute;
    z-index: 610;
    top: .7rem;
    right: 10.15rem;
    width: min(23rem, calc(100% - 11.6rem));
    max-height: calc(100% - 1.4rem);
    overflow-y: auto;
    border: 1px solid var(--q-line-strong);
    padding: .75rem;
    color: var(--q-ink);
    background: rgba(255, 250, 242, .97);
    box-shadow: 7px 7px 0 rgba(36, 23, 29, .24);
    backdrop-filter: blur(16px);
    animation: map-panel-in .2s ease-out both;
}

.explore-map-panel[hidden] {
    display: none !important;
}

.explore-map-panel > header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--q-line);
    padding-bottom: .65rem;
}

.explore-map-panel > header span,
.explore-map-panel > header strong {
    display: block;
}

.explore-map-panel > header span {
    color: var(--q-paprika);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.explore-map-panel > header strong {
    margin-top: .15rem;
    font-family: var(--q-font-display);
    font-size: 1.1rem;
}

.explore-map-panel > header button {
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    border: 1px solid var(--q-line-strong);
    border-radius: 0 !important;
    color: var(--q-ink);
    background: transparent;
}

.explore-map-panel .explore-map-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: visible;
    border: 1px solid var(--q-line);
    margin-top: .75rem;
    padding: 1px;
    background: var(--q-line);
}

.explore-map-panel .explore-map-filters .local-map-filter {
    display: grid;
    min-width: 0;
    min-height: 2.8rem;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    align-items: center;
    gap: .4rem;
    border: 0;
    padding: .5rem;
    text-align: left;
}

.explore-map-panel .explore-map-filters .local-map-filter span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.explore-map-radius-panel label {
    display: block;
    margin-top: .8rem;
    color: var(--q-muted);
    font-size: .72rem;
    font-weight: 850;
}

.explore-map-radius-panel select {
    width: 100%;
    min-height: 3rem;
    margin-top: .35rem;
    border-radius: 0 !important;
    font-weight: 850;
}

.explore-map-radius-panel p,
.explore-map-info-panel > p {
    margin: .7rem 0 0;
    color: var(--q-muted);
    font-size: .75rem;
}

.explore-map-info-panel ul {
    display: grid;
    gap: 1px;
    margin: .75rem 0 0;
    padding: 1px;
    list-style: none;
    background: var(--q-line);
}

.explore-map-info-panel li {
    display: grid;
    grid-template-columns: 1.4rem minmax(0, 1fr);
    gap: .45rem;
    padding: .6rem;
    background: var(--q-paper);
    font-size: .72rem;
}

.explore-map-results-panel {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border-left: 1px solid var(--q-line-strong);
    background: var(--q-paper);
}

.explore-map-results-panel[hidden] {
    display: none !important;
}

.explore-map-results-panel > header {
    display: flex;
    min-height: 4.15rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-bottom: 1px solid var(--q-line-strong);
    padding: .65rem .75rem;
    background: var(--q-ink);
}

.explore-map-results-panel > header span,
.explore-map-results-panel > header strong {
    display: block;
}

.explore-map-results-panel > header span {
    color: var(--q-saffron);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.explore-map-results-panel > header strong {
    margin-top: .15rem;
    color: var(--q-paper);
    font-family: var(--q-font-display);
    font-size: 1rem;
}

.explore-map-results-panel > header button {
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid rgba(255, 250, 242, .4);
    border-radius: 0 !important;
    color: var(--q-paper);
    background: transparent;
}

.explore-map-results-panel .explore-map-results {
    display: grid;
    align-content: start;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.explore-map-results .local-map-item {
    position: relative;
    border-left: 4px solid transparent;
    padding: .75rem;
    transition: background-color .15s ease, border-color .15s ease, padding-left .15s ease;
}

.explore-map-results .local-map-item strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.explore-map-results .local-map-item:hover,
.explore-map-results .local-map-item:focus-visible,
.explore-map-results .local-map-item.is-active {
    border-left-color: var(--q-paprika);
    padding-left: .95rem;
    background: #fff0dc;
}

.explore-map-results-empty {
    display: grid;
    min-height: 12rem;
    place-content: center;
    gap: .35rem;
    padding: 1.25rem;
    color: var(--q-muted);
    text-align: center;
}

.explore-map-results-empty i {
    color: var(--q-paprika);
    font-size: 1.5rem;
}

.explore-map-results-empty strong {
    color: var(--q-ink);
    font-family: var(--q-font-display);
}

.event-map-marker {
    transition: filter .15s ease, transform .15s ease;
}

.event-map-marker.is-active {
    z-index: 700 !important;
    filter: drop-shadow(0 7px 6px rgba(36, 23, 29, .34));
    transform: translateY(-4px) scale(1.16);
}

.leaflet-tooltip.event-map-tooltip-shell {
    max-width: min(19rem, calc(100vw - 2rem));
    border: 1px solid var(--q-line-strong);
    border-radius: 1px;
    padding: .6rem .7rem;
    color: var(--q-ink);
    background: rgba(255, 250, 242, .98);
    box-shadow: 5px 5px 0 rgba(36, 23, 29, .26);
    font-family: inherit;
    white-space: normal;
}

.event-map-tooltip-shell .event-map-popup {
    display: grid;
    min-width: 12rem;
    max-width: 17rem;
    gap: .12rem;
    overflow-wrap: anywhere;
}

.event-map-tooltip-shell .event-map-popup strong {
    font-family: var(--q-font-display);
    font-size: .86rem;
    line-height: 1.15;
}

.event-map-tooltip-shell .event-map-popup div {
    color: var(--q-muted);
    font-size: .67rem;
}

.event-map-tooltip-shell .event-map-popup > span {
    margin-top: .2rem;
    color: var(--q-paprika);
    font-size: .6rem;
    font-weight: 850;
    text-transform: uppercase;
}

@keyframes map-panel-in {
    from {
        opacity: 0;
        transform: translateX(1rem);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.user-map-marker {
    overflow: visible !important;
    border: 0;
    background: transparent;
}

.user-map-marker > span {
    position: relative;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 3px solid #fffaf2;
    border-radius: 50% 50% 50% 0;
    color: #fffaf2;
    background: var(--q-paprika);
    box-shadow:
        0 0 0 5px rgba(201, 62, 40, .2),
        0 12px 24px rgba(36, 23, 29, .35);
    transform: rotate(-45deg);
}

.user-map-marker > span::after {
    position: absolute;
    z-index: -1;
    inset: -9px;
    border: 2px solid rgba(201, 62, 40, .42);
    border-radius: 50%;
    content: "";
    animation: user-map-pulse 1.9s ease-out infinite;
}

.user-map-marker .bi {
    font-size: 1.05rem;
    line-height: 1;
    transform: rotate(45deg);
}

.user-map-marker-search > span {
    background: var(--q-plum);
}

.user-map-marker-search > span::after {
    border-color: rgba(104, 47, 76, .4);
}

.leaflet-tooltip.user-map-label {
    padding: .48rem .68rem;
    border: 1px solid var(--q-ink);
    border-radius: 1px;
    color: var(--q-paper);
    background: var(--q-ink);
    box-shadow: 4px 4px 0 var(--q-saffron);
    font-family: inherit;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .02em;
}

.leaflet-tooltip-right.user-map-label::before {
    border-right-color: var(--q-ink);
}

.user-map-popup {
    display: grid;
    gap: .15rem;
    color: var(--q-ink);
    font-family: inherit;
}

.user-map-popup strong {
    font-size: .9rem;
}

.user-map-popup span {
    color: var(--q-muted);
    font-size: .78rem;
}

@keyframes user-map-pulse {
    0% {
        opacity: .85;
        transform: scale(.72);
    }

    75%,
    100% {
        opacity: 0;
        transform: scale(1.35);
    }
}

/* Sheets and event preview */

.app-sheet {
    z-index: 1300;
    isolation: isolate;
    overflow: hidden;
}

.app-sheet-backdrop {
    z-index: 0;
    background: rgba(36, 23, 29, .78);
    backdrop-filter: blur(7px);
}

.app-sheet-panel {
    z-index: 1;
    width: min(92vw, 31rem);
    max-width: 100%;
    overflow-x: hidden;
    border: 1px solid rgba(255, 250, 242, .18);
    border-radius: 0 !important;
    color: var(--q-ink);
    background: var(--q-paper);
    box-shadow: var(--q-shadow-high);
    transition: transform .32s var(--q-ease);
}

.app-event-sheet .app-sheet-panel > div,
.event-sheet-card,
.event-sheet-media,
.event-sheet-body,
.event-sheet-heading,
.event-sheet-heading > div {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.event-sheet-heading h2,
.event-sheet-description,
.event-sheet-place {
    overflow-wrap: anywhere;
}

.app-sheet-panel::before {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, var(--q-paprika) 0 38%, var(--q-saffron) 38% 68%, var(--q-plum) 68%);
}

.app-sheet-header {
    border-bottom-color: var(--q-line);
}

.app-sheet-header span,
.event-sheet-date {
    color: var(--q-paprika);
}

.event-sheet-media {
    background: #d9bda4;
}

.event-sheet-category {
    border-radius: 1px !important;
    color: var(--q-paper);
    background: var(--q-ink);
}

.event-sheet-place {
    border-left: 3px solid var(--q-saffron);
    border-radius: 0 !important;
    background: var(--q-cream);
}

.app-event-sheet .app-sheet-panel.is-review-mode {
    width: min(96vw, 45rem);
}

html:has(body.app-sheet-open) {
    overflow: hidden;
}

.app-event-sheet .app-sheet-panel.is-review-mode .app-sheet-close {
    z-index: 8;
    top: .55rem;
    right: .55rem;
    border-color: rgba(255, 250, 242, .3);
    color: var(--q-paper);
    background: rgba(36, 23, 29, .92);
}

.event-review-queue {
    position: sticky;
    z-index: 6;
    top: 0;
    display: grid;
    min-height: 4rem;
    grid-template-columns: 3rem minmax(0, 1fr) 3rem;
    align-items: stretch;
    border-bottom: 1px solid rgba(255, 250, 242, .18);
    padding-right: 3.65rem;
    color: var(--q-paper);
    background: rgba(36, 23, 29, .97);
    box-shadow: 0 8px 24px rgba(36, 23, 29, .18);
    backdrop-filter: blur(16px);
}

.event-review-queue[hidden] {
    display: none !important;
}

.event-review-queue button {
    border: 0;
    border-right: 1px solid rgba(255, 250, 242, .16);
    color: var(--q-paper);
    background: transparent;
    font-size: 1rem;
}

.event-review-queue button:last-child {
    border-right: 0;
    border-left: 1px solid rgba(255, 250, 242, .16);
}

.event-review-queue button:hover,
.event-review-queue button:focus-visible {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.event-review-queue button:disabled {
    opacity: .32;
}

.event-review-queue > span {
    display: grid;
    place-content: center;
    padding: .45rem .7rem;
    text-align: center;
}

.event-review-queue small,
.event-review-queue strong {
    display: block;
}

.event-review-queue small {
    color: var(--q-saffron);
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.event-review-queue strong {
    margin-top: .1rem;
    font-family: var(--q-font-display);
    font-size: .9rem;
}

.event-review-console {
    border-bottom: 1px solid var(--q-line-strong);
    color: var(--q-ink);
    background: #f6f1e9;
}

.event-review-console > header {
    display: grid;
    gap: .12rem;
    padding: .8rem .9rem;
    color: var(--q-paper);
    background: var(--q-ink);
}

.event-review-console > header span {
    color: var(--q-saffron);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.event-review-console > header strong {
    font-family: var(--q-font-display);
    font-size: 1rem;
}

.event-review-console > header small {
    color: rgba(255, 250, 242, .62);
    font-size: .6rem;
    font-weight: 750;
}

.event-review-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--q-line-strong);
}

.event-review-actions button,
.event-review-editor footer button,
.event-review-complete button {
    min-height: 3.15rem;
    border: 0;
    color: var(--q-ink);
    background: #fff;
    padding: .65rem .7rem;
    font-size: .67rem;
    font-weight: 900;
}

.event-review-actions button.is-approve,
.event-review-editor footer button.is-approve {
    color: #fff;
    background: var(--q-success);
}

.event-review-actions button.is-reject {
    color: #fff;
    background: var(--q-danger);
}

.event-review-delete {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid rgba(255, 250, 242, .12);
    background: var(--q-ink);
    padding: .35rem .55rem;
}

.event-review-delete button {
    min-height: 2.15rem;
    border: 1px solid rgba(255, 250, 242, .22);
    color: #ffd9d9;
    background: transparent;
    padding: .4rem .65rem;
    font-size: .62rem;
    font-weight: 850;
}

.event-review-delete button:hover,
.event-review-delete button:focus-visible {
    border-color: var(--q-danger);
    color: #fff;
    background: var(--q-danger);
}

.event-review-actions button:hover,
.event-review-actions button:focus-visible,
.event-review-editor footer button:hover,
.event-review-editor footer button:focus-visible {
    filter: brightness(.94);
}

.event-review-editor {
    border-top: 1px solid var(--q-line);
    background: #fff;
}

.event-review-editor summary {
    cursor: pointer;
    min-height: 3.15rem;
    padding: .8rem .9rem;
    color: var(--q-ink);
    font-size: .7rem;
    font-weight: 900;
    list-style: none;
}

.event-review-editor summary::-webkit-details-marker {
    display: none;
}

.event-review-editor summary i {
    margin-right: .4rem;
    color: var(--q-paprika);
}

.event-review-editor > form {
    display: grid;
    gap: .65rem;
    border-top: 1px solid var(--q-line);
    padding: .85rem;
}

.event-review-editor label,
.event-review-editor label > span {
    display: block;
    min-width: 0;
}

.event-review-editor label {
    margin: 0;
}

.event-review-editor label > span {
    margin-bottom: .28rem;
    color: var(--q-muted);
    font-size: .62rem;
    font-weight: 850;
}

.event-review-editor input,
.event-review-editor select,
.event-review-editor textarea {
    border-radius: 0 !important;
    padding: .65rem .7rem;
    font-size: .72rem;
}

.event-review-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.event-review-editor .event-review-checkbox {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: fit-content;
}

.event-review-editor .event-review-checkbox input {
    width: 1.1rem;
    height: 1.1rem;
    flex: none;
}

.event-review-editor .event-review-checkbox span {
    margin: 0;
}

.event-review-editor footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
    gap: 1px;
    margin: .15rem -.85rem -.85rem;
    background: var(--q-line-strong);
}

.event-review-feedback {
    margin: 0;
    border-top: 1px solid var(--q-line);
    padding: .65rem .85rem;
    color: var(--q-success);
    background: #fff;
    font-size: .68rem;
    font-weight: 850;
}

.event-review-feedback.is-error {
    color: var(--q-danger);
}

.event-review-toast {
    position: fixed;
    z-index: 12;
    right: 1rem;
    bottom: 1rem;
    max-width: min(25rem, calc(100vw - 2rem));
    padding: .75rem .9rem;
    color: #fff;
    background: var(--q-success);
    box-shadow: 5px 5px 0 var(--q-ink);
    opacity: 0;
    translate: 0 .8rem;
    pointer-events: none;
    transition: opacity .16s ease, translate .16s ease;
}

.event-review-toast.is-visible {
    opacity: 1;
    translate: 0;
}

.event-review-complete {
    display: grid;
    min-height: 70dvh;
    place-content: center;
    gap: .55rem;
    padding: 2rem;
    text-align: center;
}

.event-review-complete i {
    color: var(--q-success);
    font-size: 2.5rem;
}

.event-review-complete strong {
    font-family: var(--q-font-display);
    font-size: 1.4rem;
}

.event-review-complete span {
    color: var(--q-muted);
    font-size: .75rem;
}

.is-review-busy {
    cursor: progress;
}

.is-review-busy .event-sheet-card {
    opacity: .72;
    pointer-events: none;
}

@media (max-width: 639px) {
    .app-event-sheet .app-sheet-panel.is-review-mode {
        width: 100vw;
        max-width: 100vw;
    }

    .event-review-queue {
        padding-right: 3.35rem;
    }

    .event-review-actions,
    .event-review-editor footer {
        grid-template-columns: 1fr;
    }

    .event-review-form-grid {
        grid-template-columns: 1fr;
    }

    .event-review-toast {
        right: .65rem;
        bottom: calc(.65rem + env(safe-area-inset-bottom));
        left: .65rem;
        max-width: none;
    }
}

.pwa-install-backdrop {
    background: rgba(36, 23, 29, .8);
    backdrop-filter: blur(7px);
}

.pwa-install-panel {
    border: 1px solid rgba(255, 250, 242, .18);
    border-radius: 0 !important;
    color: var(--q-paper);
    background: var(--q-ink);
    box-shadow: var(--q-shadow-high);
}

.pwa-install-panel::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, var(--q-paprika), var(--q-saffron), var(--q-plum));
}

.pwa-install-heading {
    border-bottom-color: rgba(255, 250, 242, .14);
}

.pwa-install-icon {
    border-radius: 1px !important;
    box-shadow: 4px 4px 0 var(--q-paprika);
}

.pwa-install-heading h2 {
    color: #fff;
}

.pwa-install-panel > p,
.pwa-install-panel ol {
    color: rgba(255, 250, 242, .7);
}

.pwa-install-panel li::before {
    border-radius: 1px !important;
    color: var(--q-ink);
    background: var(--q-saffron);
}

.favorite-toast {
    right: max(.75rem, env(safe-area-inset-right));
    bottom: calc(4.8rem + env(safe-area-inset-bottom));
    left: max(.75rem, env(safe-area-inset-left));
    width: auto;
    border: 1px solid rgba(255, 250, 242, .2);
    border-radius: 1px !important;
    color: var(--q-paper);
    background: var(--q-ink);
    box-shadow: 5px 5px 0 var(--q-paprika);
}

/* Categories */

.category-directory {
    background: var(--q-cream);
}

.category-directory-header {
    border: 0;
    color: var(--q-paper);
    background:
        linear-gradient(110deg, var(--q-ink) 0 58%, var(--q-plum) 58%);
}

.category-directory-header .app-container {
    padding-block: clamp(2.4rem, 7vw, 6rem);
}

.category-directory-kicker {
    color: var(--q-apricot);
}

.category-directory-title h1 {
    max-width: 12ch;
    color: #fff;
    font-size: clamp(3rem, 8vw, 7rem);
    line-height: .78;
}

.category-directory-title p {
    max-width: 38rem;
    color: rgba(255, 250, 242, .66);
}

.category-directory-count {
    border: 1px solid rgba(255, 250, 242, .28);
    border-radius: 1px !important;
    color: var(--q-saffron);
    background: rgba(255, 250, 242, .06);
}

.category-directory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--q-line);
    background: var(--q-line);
    padding-block: clamp(1rem, 4vw, 3rem);
}

.category-directory-card {
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 7rem;
    border: 0;
    border-radius: 0 !important;
    color: var(--q-ink);
    background: var(--q-paper);
    box-shadow: none;
}

.category-directory-card:hover {
    z-index: 1;
    color: #fff;
    background: var(--q-plum);
    translate: 0 -3px;
    box-shadow: var(--q-shadow);
}

.category-directory-icon {
    border: 1px solid var(--q-line-strong);
    border-radius: 1px !important;
    color: var(--q-paprika);
    background: var(--q-cream);
}

.category-directory-card:hover .category-directory-icon {
    border-color: var(--q-saffron);
    color: var(--q-ink);
    background: var(--q-saffron);
}

.category-directory-copy {
    min-width: 0;
}

.category-directory-copy strong {
    color: inherit;
    font-size: 1rem;
}

.category-directory-copy small {
    max-width: 48ch;
    color: var(--q-muted);
}

.category-directory-card:hover .category-directory-copy small {
    color: rgba(255, 250, 242, .7);
}

.category-directory-arrow {
    color: var(--q-paprika);
}

.category-directory-card:hover .category-directory-arrow {
    color: var(--q-saffron);
}

/* Newsletter */

.newsletter-page {
    background: var(--q-cream);
}

.newsletter-hero {
    color: var(--q-paper);
    background:
        linear-gradient(105deg, var(--q-ink) 0 57%, var(--q-paprika) 57%);
}

.newsletter-hero .app-container {
    padding-block: clamp(2.5rem, 7vw, 6rem);
}

.newsletter-kicker {
    color: var(--q-apricot);
}

.newsletter-hero h1 {
    max-width: 11ch;
    color: #fff;
    font-size: clamp(3rem, 7.5vw, 6.8rem);
    line-height: .8;
}

.newsletter-hero p {
    color: rgba(255, 250, 242, .72);
}

.newsletter-benefits {
    gap: 1px;
    border: 1px solid rgba(255, 250, 242, .2);
    background: rgba(255, 250, 242, .2);
}

.newsletter-benefits > span {
    border: 0;
    border-radius: 0 !important;
    color: var(--q-paper);
    background: rgba(36, 23, 29, .42);
}

.newsletter-benefits i {
    color: var(--q-saffron);
}

.newsletter-form-shell {
    max-width: 74rem;
}

.newsletter-form {
    gap: 1px;
    border: 1px solid var(--q-line);
    background: var(--q-line);
    box-shadow: var(--q-shadow);
}

.newsletter-step {
    border: 0;
    border-radius: 0 !important;
    background: var(--q-paper);
}

.newsletter-step-heading > span {
    border-radius: 1px !important;
    color: var(--q-paper);
    background: var(--q-paprika);
    box-shadow: 3px 3px 0 var(--q-saffron);
}

.newsletter-account-email {
    display: grid;
    align-content: center;
    gap: .2rem;
    min-height: 4.7rem;
    border: 1px solid var(--q-line);
    background: var(--q-cream);
    padding: .7rem .8rem;
}

.newsletter-account-email > span {
    color: var(--q-paprika);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.newsletter-account-email strong {
    overflow: hidden;
    color: var(--q-ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.newsletter-account-email small {
    color: var(--q-muted);
    font-size: .7rem;
}

.newsletter-location-action button {
    border-radius: 1px !important;
    color: var(--q-paper);
    background: var(--q-ink);
}

.newsletter-location-action button:hover {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.newsletter-category-grid {
    gap: 1px;
    border: 1px solid var(--q-line);
    background: var(--q-line);
}

.newsletter-category-option {
    min-width: 0;
    border: 0;
    border-radius: 0 !important;
    background: var(--q-paper);
}

.newsletter-category-option > label {
    border-radius: 0 !important;
    overflow: hidden;
}

.newsletter-category-option:has(input:checked),
.newsletter-category-option:has(input:checked) > label {
    color: #fff;
    background: var(--q-plum);
}

.newsletter-category-option:has(input:checked) .newsletter-category-icon {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.newsletter-category-icon,
.newsletter-toggle-icon {
    border-radius: 1px !important;
}

.newsletter-toggle {
    border-radius: 1px !important;
    background: var(--q-cream);
}

.newsletter-switch {
    border-radius: 1px !important;
    background: #c6b3a2;
}

.newsletter-switch::after {
    border-radius: 0 !important;
}

.newsletter-toggle:has(input:checked) {
    border-color: var(--q-plum);
    background: rgba(86, 35, 55, .08);
}

.newsletter-toggle:has(input:checked) .newsletter-switch {
    background: var(--q-paprika);
}

/* Event detail and legacy public surfaces */

.section-band {
    min-height: 60dvh;
    background: var(--q-cream);
    padding-block: clamp(1rem, 4vw, 3rem);
}

.event-detail-container > nav a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border-bottom: 2px solid var(--q-paprika);
    color: var(--q-ink);
    font-weight: 820;
}

.event-detail-container > nav a::before {
    content: "←";
}

.event-detail-media,
.event-detail-visual {
    border: 1px solid var(--q-ink);
    border-radius: 1px !important;
    box-shadow: 8px 8px 0 var(--q-paprika);
}

.event-detail-container article > .badge {
    border-radius: 1px !important;
    color: var(--q-paper) !important;
    background: var(--q-plum) !important;
}

.event-detail-container article > h1 {
    max-width: 18ch;
    font-size: clamp(2.6rem, 7vw, 6.4rem) !important;
    line-height: .82;
    letter-spacing: -.065em;
}

.event-detail-actions {
    gap: .45rem;
}

.event-detail-actions .btn,
.event-share-link,
.event-share-label {
    border-radius: 1px !important;
}

.event-detail-place {
    border: 1px solid var(--q-line);
    border-left: 5px solid var(--q-saffron);
    border-radius: 0 !important;
    background: var(--q-paper);
    box-shadow: var(--q-shadow-sm);
}

.event-detail-container .bg-white,
.event-detail-aside > div,
.local-map-shell,
.content-panel,
.card {
    border-color: var(--q-line) !important;
    border-radius: 1px !important;
    background: var(--q-paper) !important;
    box-shadow: none !important;
}

.event-detail-container article > .bg-white,
.event-detail-aside > div {
    box-shadow: 5px 5px 0 rgba(36, 23, 29, .1) !important;
}

.event-detail-map,
.event-location-map,
.local-map-map {
    border-radius: 0 !important;
}

.front-admin-console {
    position: relative;
    z-index: 6;
    margin-bottom: 1rem;
    border: 1px solid var(--q-ink);
    color: var(--q-paper);
    background: var(--q-ink);
    box-shadow: 6px 6px 0 var(--q-paprika);
}

.front-admin-console-heading {
    display: flex;
    min-height: 3.4rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgba(255, 250, 242, .14);
    padding: .65rem .8rem;
}

.front-admin-console-heading > div {
    min-width: 0;
}

.front-admin-console-heading span,
.front-admin-console-heading strong {
    display: block;
}

.front-admin-console-heading span {
    color: var(--q-apricot);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.front-admin-console-heading strong {
    margin-top: .18rem;
    color: #fff;
    font-size: .78rem;
}

.front-admin-console-heading > a {
    flex: none;
    color: var(--q-saffron);
    font-size: .68rem;
    font-weight: 850;
}

.front-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    background: rgba(255, 250, 242, .14);
}

.front-admin-actions form {
    display: flex;
}

.front-admin-actions button,
.front-admin-actions > a {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border: 0;
    border-radius: 0 !important;
    color: var(--q-paper);
    background: var(--q-ink-2);
    padding: .6rem .75rem;
    font-size: .67rem;
    font-weight: 850;
}

.front-admin-actions button:hover,
.front-admin-actions > a:hover,
.front-admin-actions button.is-active {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.front-admin-actions .is-approve {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.front-admin-actions .is-approve:hover {
    color: #fff;
    background: var(--q-success);
}

.front-admin-actions .is-warning {
    color: var(--q-apricot);
}

.front-admin-actions .is-warning:hover {
    color: #fff;
    background: var(--q-paprika);
}

.front-admin-actions .is-refresh {
    border-color: #146cff;
    color: #fff;
    background: #146cff;
}

.front-admin-actions .is-refresh:hover {
    border-color: var(--q-saffron);
    color: var(--q-ink);
    background: var(--q-saffron);
}

.front-admin-actions .is-delete {
    color: #fff;
    background: var(--q-danger);
}

.front-admin-actions .is-delete:hover {
    background: #741a25;
}

.front-admin-editor[hidden] {
    display: none;
}

.front-admin-editor {
    border-top: 4px solid var(--q-saffron);
    color: var(--q-ink);
    background: var(--q-paper);
    padding: clamp(.8rem, 2vw, 1.2rem);
}

.front-admin-editor-heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.front-admin-editor-heading span {
    color: var(--q-paprika);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.front-admin-editor-heading h2 {
    margin-top: .2rem;
    font-size: 1.5rem;
}

.front-admin-editor-heading button {
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--q-line);
    border-radius: 0 !important;
    background: transparent;
}

.front-admin-editor form {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: .75rem;
}

.front-admin-field {
    min-width: 0;
}

.front-admin-field.is-title,
.front-admin-editor-source,
.front-admin-editor-submit {
    grid-column: 1 / -1;
}

.front-admin-field label {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .3rem;
    color: var(--q-muted);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.front-admin-field input,
.front-admin-field textarea {
    width: 100%;
    border: 1px solid var(--q-line-strong);
    border-radius: 0 !important;
    color: var(--q-ink);
    background: #fff;
    padding: .65rem;
    font: inherit;
}

.front-admin-field input {
    min-height: 3rem;
    font-size: 1rem;
    font-weight: 850;
}

.front-admin-field textarea {
    resize: vertical;
    font-size: .78rem;
    line-height: 1.55;
}

.front-admin-editor-source {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid var(--q-line);
    border-left: 4px solid var(--q-saffron);
    background: #fff;
    padding: .75rem;
}

.front-admin-editor-source > div {
    min-width: 0;
}

.front-admin-editor-source span,
.front-admin-editor-source strong,
.front-admin-editor-source small {
    display: block;
}

.front-admin-editor-source span {
    color: var(--q-paprika);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.front-admin-editor-source strong {
    margin-top: .18rem;
    font-size: .78rem;
}

.front-admin-editor-source small {
    margin-top: .2rem;
    color: var(--q-muted);
    font-size: .64rem;
}

.front-admin-editor-source > a {
    display: inline-flex;
    flex: none;
    min-height: 2.7rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border: 1px solid var(--q-ink);
    color: #fff;
    background: var(--q-ink);
    padding: .6rem .75rem;
    font-size: .66rem;
    font-weight: 900;
}

.front-admin-editor-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    border-top: 1px solid var(--q-line);
    padding-top: .75rem;
}

.front-admin-editor-submit span {
    color: var(--q-muted);
    font-size: .65rem;
}

.front-admin-editor-submit span b {
    display: block;
    margin-top: .2rem;
    color: var(--q-ink);
}

.front-admin-editor-submit > div {
    display: flex;
    flex: none;
    gap: 1px;
    background: var(--q-line);
}

.front-admin-editor-submit button {
    min-height: 2.8rem;
    border: 1px solid var(--q-ink);
    border-radius: 0 !important;
    color: #fff;
    background: var(--q-paprika);
    padding: .6rem .8rem;
    font-size: .7rem;
    font-weight: 900;
    box-shadow: 4px 4px 0 var(--q-ink);
}

.front-admin-editor-submit button.is-save {
    color: var(--q-ink);
    background: #fff;
    box-shadow: none;
}

.front-admin-editor-submit button.is-validate {
    border-color: var(--q-success);
    background: var(--q-success);
}

.admin-inline-control,
.admin-inline-control-label,
.admin-inline-pencil,
.front-inline-editor-toolbar[hidden] {
    display: none;
}

.admin-inline-zone {
    position: relative;
    min-width: 0;
}

.admin-inline-zone.is-empty {
    display: none;
}

.admin-inline-category {
    display: inline-block;
    min-width: 10rem;
}

.is-admin-inline-editing .admin-inline-zone {
    outline: 1px dashed rgba(213, 74, 52, .58);
    outline-offset: 4px;
}

.is-admin-inline-editing .admin-inline-zone.is-empty {
    display: block;
}

.is-admin-inline-editing .admin-inline-display {
    display: none !important;
}

.is-admin-inline-editing .admin-inline-jump .admin-inline-display {
    display: block !important;
}

.is-admin-inline-editing .admin-inline-jump > i.admin-inline-display {
    display: inline-block !important;
}

.is-admin-inline-editing .admin-inline-control,
.is-admin-inline-editing .admin-inline-control-label,
.is-admin-inline-editing .admin-inline-pencil {
    display: block;
}

.is-admin-inline-editing .admin-inline-pencil {
    position: absolute;
    z-index: 8;
    top: -.7rem;
    right: -.45rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--q-ink);
    border-radius: 0 !important;
    color: #fff;
    background: var(--q-paprika);
    box-shadow: 3px 3px 0 var(--q-ink);
    font-size: .72rem;
}

.is-admin-inline-editing .admin-inline-pencil:hover,
.is-admin-inline-editing .admin-inline-pencil:focus-visible {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.admin-inline-control-label {
    margin-bottom: .3rem;
    color: var(--q-paprika);
    font-size: .6rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-inline-control-label small {
    margin-left: .45rem;
    color: var(--q-muted);
}

.is-admin-inline-editing .admin-inline-control,
.is-admin-inline-editing .admin-inline-subfield input,
.is-admin-inline-editing .admin-inline-subfield select {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--q-line-strong);
    border-radius: 0 !important;
    color: var(--q-ink);
    background: #fff;
    padding: .62rem;
    font: inherit;
}

.is-admin-inline-editing textarea.admin-inline-control {
    resize: vertical;
    line-height: 1.4;
}

.is-admin-inline-editing .admin-inline-category {
    display: block;
    width: min(28rem, 100%);
    padding: .45rem;
    background: rgba(255, 250, 242, .75);
}

.is-admin-inline-editing .admin-inline-category select {
    min-height: 2.8rem;
    font-size: .8rem;
    font-weight: 900;
}

.is-admin-inline-editing .admin-inline-title {
    max-width: none;
    padding: .35rem 0;
}

.is-admin-inline-editing .admin-inline-title textarea {
    min-height: 2.1em;
    overflow: hidden;
    font-family: var(--q-font-display);
    font-size: clamp(2rem, 5vw, 4.8rem);
    font-weight: 950;
    line-height: .92;
    letter-spacing: -.045em;
}

.is-admin-inline-editing .admin-inline-summary {
    margin-block: 1rem;
    padding: .55rem;
    background: rgba(255, 250, 242, .7);
}

.is-admin-inline-editing .admin-inline-description {
    min-height: 12rem;
    padding: .55rem;
    background: rgba(255, 250, 242, .7);
}

.is-admin-inline-editing .admin-inline-description textarea {
    min-height: 16rem;
    font-size: .9rem;
}

.is-admin-inline-editing .admin-inline-meta {
    min-height: 7.5rem;
    padding: .5rem;
    background: rgba(255, 250, 242, .7);
}

.admin-inline-field-grid,
.admin-inline-location-editor,
.admin-inline-price-editor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.is-admin-inline-editing .admin-inline-field-grid,
.is-admin-inline-editing .admin-inline-location-editor,
.is-admin-inline-editing .admin-inline-price-editor {
    display: grid;
}

.admin-inline-subfield {
    display: grid;
    min-width: 0;
    gap: .25rem;
}

.admin-inline-subfield.is-wide {
    grid-column: 1 / -1;
}

.admin-inline-subfield > span {
    color: var(--q-muted);
    font-size: .57rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.admin-inline-subfield.is-disabled {
    opacity: .38;
}

.admin-inline-time-editor {
    gap: .55rem;
}

.is-admin-inline-editing .admin-inline-time-editor {
    display: grid;
}

.admin-inline-check {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .7rem;
    font-weight: 900;
}

.admin-inline-check input {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--q-paprika);
}

.is-admin-inline-editing .admin-inline-recurrence {
    min-height: 0;
}

.inline-recurrence-editor {
    padding: 0 !important;
    background: var(--q-line) !important;
}

.inline-recurrence-enabled {
    min-height: 3rem;
    background: #fff;
    padding: .65rem .75rem;
}

.inline-recurrence-options {
    display: grid;
    gap: 1px;
    background: var(--q-line);
}

.inline-recurrence-options > .admin-inline-field-grid,
.inline-recurrence-weekdays,
.inline-recurrence-monthly,
.inline-recurrence-end {
    margin: 0;
    border: 0;
    background: #fff;
    padding: .75rem;
}

.inline-recurrence-weekdays {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.inline-recurrence-weekdays legend {
    width: 100%;
    color: var(--q-muted);
    font-size: .57rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.inline-recurrence-weekdays label {
    display: flex;
    cursor: pointer;
    align-items: center;
    gap: .3rem;
    border: 1px solid var(--q-line);
    padding: .4rem .5rem;
    font-size: .64rem;
    font-weight: 800;
}

.inline-recurrence-weekdays input {
    width: 1rem;
    height: 1rem;
    accent-color: var(--q-paprika);
}

.inline-recurrence-monthly,
.inline-recurrence-end {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.inline-recurrence-monthly > label:first-child,
.inline-recurrence-end > label:first-child {
    grid-column: 1 / -1;
}

.inline-recurrence-summary {
    margin: 0;
    color: #fff;
    background: var(--q-ink);
    padding: .65rem .75rem;
    font-size: .66rem;
    font-weight: 800;
}

.front-inline-editor-toolbar {
    position: fixed;
    z-index: 190;
    right: 1rem;
    bottom: 1rem;
    left: max(1rem, var(--admin-sidebar-width, 0px));
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1px;
    border: 1px solid var(--q-ink);
    color: #fff;
    background: var(--q-ink);
    box-shadow: 7px 7px 0 var(--q-paprika);
    padding: .55rem;
}

.front-inline-editor-toolbar > div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .65rem;
    margin-right: auto;
    padding-inline: .35rem .8rem;
}

.front-inline-editor-toolbar > div > i {
    color: var(--q-saffron);
    font-size: 1.25rem;
}

.front-inline-editor-toolbar span,
.front-inline-editor-toolbar strong,
.front-inline-editor-toolbar small {
    display: block;
}

.front-inline-editor-toolbar strong {
    font-size: .75rem;
}

.front-inline-editor-toolbar small {
    margin-top: .12rem;
    color: rgba(255, 255, 255, .68);
    font-size: .58rem;
}

.front-inline-editor-toolbar > a,
.front-inline-editor-toolbar > button {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border: 0;
    border-radius: 0 !important;
    padding: .6rem .75rem;
    font-size: .66rem;
    font-weight: 950;
}

.front-inline-editor-toolbar > a,
.front-inline-editor-toolbar .is-cancel {
    color: var(--q-ink);
    background: #fff;
}

.front-inline-editor-toolbar .is-save {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.front-inline-editor-toolbar .is-validate {
    color: #fff;
    background: var(--q-success);
}

.is-admin-inline-editing {
    padding-bottom: 5rem;
}

@media (max-width: 760px) {
    .admin-inline-field-grid,
    .admin-inline-location-editor,
    .admin-inline-price-editor {
        grid-template-columns: 1fr;
    }

    .inline-recurrence-monthly,
    .inline-recurrence-end {
        grid-template-columns: 1fr;
    }

    .inline-recurrence-monthly > label:first-child,
    .inline-recurrence-end > label:first-child {
        grid-column: auto;
    }

    .admin-inline-subfield.is-wide {
        grid-column: auto;
    }

    .front-inline-editor-toolbar {
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: .4rem;
        box-shadow: 0 -4px 0 var(--q-paprika);
    }

    .front-inline-editor-toolbar > div {
        grid-column: 1 / -1;
    }

    .front-inline-editor-toolbar > a {
        display: none;
    }

    .front-inline-editor-toolbar > button {
        width: 100%;
    }

    .front-inline-editor-toolbar .is-validate {
        grid-column: 1 / -1;
    }

    .is-admin-inline-editing {
        padding-bottom: 10rem;
    }
}

.event-detail-layout,
.event-detail-layout > * {
    min-width: 0;
}

.event-detail-aside {
    min-width: 0;
}

.event-detail-map-shell {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.event-detail-map-shell .local-map-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .65rem;
}

.event-detail-map-shell .local-map-header > div:first-child {
    min-width: 0;
}

.event-detail-map-shell .local-map-header h2 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
}

.event-detail-map-shell .local-map-actions {
    width: 100%;
    justify-self: stretch;
}

.event-detail-map-shell .local-map-actions .form-select {
    width: 100%;
    min-width: 0;
    max-width: none;
}

@media (min-width: 1280px) {
    .event-detail-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 26rem);
        gap: clamp(1rem, 2vw, 1.5rem);
        margin: 0 !important;
    }

    .event-detail-layout > article,
    .event-detail-layout > aside {
        width: auto !important;
        padding: 0 !important;
    }
}

/* Authentication */

.auth-form {
    min-width: 0;
}

.auth-form .btn,
.auth-form button[type="submit"] {
    min-height: 3.3rem;
}

.auth-form-shell {
    display: grid;
    min-height: calc(100dvh - 4.4rem);
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
}

.auth-visual {
    display: grid;
    align-content: end;
    min-width: 0;
    color: var(--q-paper);
    background:
        radial-gradient(circle at 85% 12%, var(--q-saffron) 0 4rem, transparent 4.05rem),
        linear-gradient(145deg, var(--q-ink), var(--q-plum));
    padding: clamp(2rem, 6vw, 6rem);
}

.auth-visual h1 {
    max-width: 9ch;
    color: #fff;
    font-size: clamp(3.5rem, 8vw, 7rem);
    line-height: .78;
}

.auth-visual p {
    max-width: 34rem;
    color: rgba(255, 250, 242, .7);
}

.auth-panel {
    display: grid;
    min-width: 0;
    align-content: center;
    background: var(--q-paper);
    padding: clamp(1.2rem, 6vw, 6rem);
}

.auth-panel-inner {
    width: 100%;
    max-width: 38rem;
    margin-inline: auto;
}

.auth-panel h2,
.auth-panel h1 {
    font-size: clamp(2.4rem, 5vw, 4.6rem);
    line-height: .86;
}

/* Account */

.account-app {
    color: var(--q-ink);
    background: var(--q-cream);
}

.account-sidebar,
.account-mobile-menu-panel,
.account-bottom-menu-panel {
    color: var(--q-paper);
    background:
        linear-gradient(180deg, var(--q-ink), #321b25);
}

.account-user-card {
    border-bottom-color: rgba(255, 250, 242, .15);
}

.account-avatar {
    border: 1px solid var(--q-saffron);
    color: var(--q-ink);
    background: var(--q-saffron);
    box-shadow: 4px 4px 0 var(--q-paprika);
}

.account-nav a {
    border-left-color: transparent;
    border-radius: 0 !important;
}

.account-nav a:hover,
.account-nav a.is-active {
    border-left-color: var(--q-saffron);
    color: #fff;
    background: rgba(255, 250, 242, .09);
}

.account-nav .account-nav-create {
    border-color: rgba(242, 193, 78, .35);
    border-left-color: var(--q-saffron);
    background: rgba(242, 193, 78, .1);
}

.account-nav .account-nav-admin {
    border-color: rgba(239, 117, 80, .45);
    border-left-color: var(--q-coral);
    background: rgba(200, 75, 49, .14);
}

.account-workspace {
    background:
        linear-gradient(90deg, rgba(36, 23, 29, .035) 1px, transparent 1px),
        linear-gradient(rgba(36, 23, 29, .035) 1px, transparent 1px),
        var(--q-cream);
    background-size: 2.5rem 2.5rem;
}

.account-page-heading h1 {
    max-width: 16ch;
    font-size: clamp(2.8rem, 6vw, 6rem);
    line-height: .8;
}

.account-admin-button {
    border-color: var(--q-ink);
    background: var(--q-ink);
    box-shadow: 5px 5px 0 var(--q-paprika);
}

.account-stat-grid {
    border-color: var(--q-line);
    background: var(--q-line);
}

.account-stat-grid a {
    background: var(--q-paper);
    transition: background .2s ease, color .2s ease;
}

.account-stat-grid a:hover {
    color: #fff;
    background: var(--q-plum);
}

.account-stat-grid strong {
    color: var(--q-paprika);
}

.account-stat-grid a:hover strong {
    color: var(--q-saffron);
}

.account-panel,
.account-quick-panel,
.account-empty-panel,
.account-preview,
.account-success-panel,
.account-event-row,
.account-presence-card {
    border-color: var(--q-line);
    border-radius: 1px !important;
    background: var(--q-paper);
    box-shadow: 6px 6px 0 rgba(36, 23, 29, .08);
}

.account-panel-heading {
    border-bottom-color: var(--q-line);
}

.account-privacy-note {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(23, 121, 95, .32);
    padding: .75rem;
    background: rgba(23, 121, 95, .07);
}

.account-privacy-note > i {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    color: #fff;
    background: var(--q-success);
    font-size: 1.05rem;
}

.account-privacy-note strong,
.account-privacy-note span {
    display: block;
}

.account-privacy-note strong {
    color: var(--q-ink);
    font-size: .78rem;
}

.account-privacy-note span {
    margin-top: .2rem;
    color: var(--q-muted);
    font-size: .68rem;
    line-height: 1.45;
}

.account-profile-form .form-text,
.account-profile-form .help-text {
    margin-top: .28rem;
    color: var(--q-muted);
    font-size: .63rem;
}

.account-quick-links a {
    border-bottom-color: var(--q-line);
}

.account-quick-links a:hover {
    padding-left: .55rem;
    color: var(--q-paprika);
}

.account-event-list,
.account-favorite-grid,
.account-presence-list {
    border-color: var(--q-line);
    background: var(--q-line);
}

/* Administration */

.admin-app-shell {
    min-height: 100dvh;
    color: var(--q-ink);
    background: var(--q-cream);
}

.admin-app-sidebar {
    color: var(--q-paper);
    background:
        linear-gradient(180deg, var(--q-ink), #351b26);
}

.admin-app-sidebar a {
    border-radius: 0 !important;
    color: rgba(255, 250, 242, .7);
}

.admin-app-sidebar nav a {
    border-left: 2px solid transparent;
}

.admin-app-sidebar nav a:hover,
.admin-app-sidebar nav a.is-active {
    border-left-color: var(--q-saffron);
    color: #fff;
    background: rgba(255, 250, 242, .09);
}

.admin-menu-toggle {
    display: none;
    width: 2.7rem;
    min-width: 2.7rem;
    height: 2.7rem;
    min-height: 2.7rem;
    flex: none;
    place-items: center;
    border: 1px solid rgba(255, 250, 242, .3);
    color: var(--q-paper);
    background: rgba(255, 250, 242, .08);
    padding: 0;
    font-size: 1.1rem;
    line-height: 1;
}

.admin-menu-toggle:focus-visible {
    outline: 2px solid var(--q-saffron);
    outline-offset: 2px;
}

.admin-app-shell > main {
    background:
        linear-gradient(90deg, rgba(36, 23, 29, .03) 1px, transparent 1px),
        linear-gradient(rgba(36, 23, 29, .03) 1px, transparent 1px),
        var(--q-cream);
    background-size: 2.5rem 2.5rem;
}

.admin-panel,
.content-panel {
    border-color: var(--q-line) !important;
    border-radius: 1px !important;
    background: var(--q-paper) !important;
    box-shadow: 6px 6px 0 rgba(36, 23, 29, .09) !important;
}

.admin-panel:hover,
.content-panel:hover {
    border-color: var(--q-line-strong) !important;
}

.admin-app-shell table {
    border-color: var(--q-line);
}

.admin-app-shell thead {
    color: var(--q-paper);
    background: var(--q-ink);
}

.admin-app-shell tbody tr:hover {
    background: rgba(242, 193, 78, .12);
}

.status-pill,
.admin-badge,
.badge {
    border-radius: 1px !important;
}

.status-running {
    color: var(--q-paprika) !important;
}

.status-finished,
.status-scheduled {
    color: var(--q-success) !important;
}

.task-progress {
    border-radius: 0 !important;
    background: rgba(36, 23, 29, .1) !important;
}

.task-progress span {
    border-radius: 0 !important;
    background: linear-gradient(90deg, var(--q-paprika), var(--q-saffron)) !important;
}

.admin-event-filter-panel {
    box-shadow: 5px 5px 0 rgba(36, 23, 29, .08) !important;
}

/* Admin command center */

.admin-app-shell > main {
    width: 100%;
    max-width: 100%;
}

.admin-page-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
}

.admin-primary-action,
.admin-secondary-action {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 1px solid var(--q-ink);
    border-radius: 1px !important;
    padding: .65rem .85rem;
    font-size: .76rem;
    font-weight: 850;
}

.admin-primary-action {
    color: #fff;
    background: var(--q-paprika);
    box-shadow: 4px 4px 0 var(--q-ink);
}

.admin-secondary-action {
    color: var(--q-ink);
    background: var(--q-paper);
}

.admin-primary-action:hover,
.admin-secondary-action:hover {
    color: #fff;
    background: var(--q-plum);
}

.admin-cockpit {
    display: grid;
    min-width: 0;
    gap: 1rem;
}

.admin-section-kicker {
    display: block;
    margin-bottom: .45rem;
    color: var(--q-apricot);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.admin-work-panel {
    min-width: 0;
    border: 1px solid var(--q-line);
    background: var(--q-paper);
    box-shadow: 6px 6px 0 rgba(36, 23, 29, .08);
    padding: clamp(.85rem, 2vw, 1.25rem);
}

.admin-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-section-heading h2 {
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    line-height: .92;
}

.admin-section-heading p {
    max-width: 38rem;
    margin-top: .35rem;
    color: var(--q-muted);
    font-size: .78rem;
}

.admin-section-heading > a {
    flex: none;
    border-bottom: 2px solid var(--q-paprika);
    padding: .35rem 0;
    color: var(--q-paprika);
    font-size: .72rem;
    font-weight: 850;
}

.admin-section-kicker {
    color: var(--q-paprika);
}

.admin-batch-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    border: 1px solid var(--q-line-strong);
    color: var(--q-paper);
    background: var(--q-ink);
    padding: .65rem .75rem;
}

.admin-batch-bar > span {
    font-size: .72rem;
    font-weight: 800;
}

.admin-batch-bar > div {
    display: flex;
    flex: none;
    gap: .4rem;
}

.admin-batch-bar button,
.admin-approve-button,
.admin-reject-button {
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border: 1px solid transparent;
    border-radius: 1px !important;
    padding: .48rem .65rem;
    font-size: .68rem;
    font-weight: 900;
}

.admin-batch-bar button,
.admin-approve-button {
    color: var(--q-ink);
    background: var(--q-saffron);
}

.admin-batch-bar button:hover,
.admin-approve-button:hover {
    color: #fff;
    background: var(--q-success);
}

.admin-batch-bar button.is-danger,
.admin-reject-button {
    border-color: rgba(255, 250, 242, .24);
    color: var(--q-paper);
    background: transparent;
}

.admin-batch-bar button.is-danger:hover,
.admin-reject-button:hover {
    border-color: var(--q-danger);
    color: #fff;
    background: var(--q-danger);
}

.admin-moderation-list {
    display: grid;
    gap: 1px;
    margin-top: 1px;
    background: var(--q-line);
}

.admin-moderation-card {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: auto 8.5rem minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 0;
    background: var(--q-paper);
    cursor: pointer;
    transition: background .16s ease;
}

.admin-moderation-card:hover,
.admin-moderation-card:focus-within {
    z-index: 1;
    outline: 2px solid var(--q-paprika);
    outline-offset: -2px;
    background: #fff;
}

.admin-event-selector {
    display: grid;
    width: 2.9rem;
    place-items: center;
    border-right: 1px solid var(--q-line);
    cursor: pointer;
}

.admin-event-selector input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.admin-event-selector span {
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border: 1px solid var(--q-line-strong);
    background: var(--q-paper);
}

.admin-event-selector input:checked + span {
    border-color: var(--q-paprika);
    color: #fff;
    background: var(--q-paprika);
}

.admin-event-selector input:checked + span::after {
    content: "✓";
    font-size: .8rem;
    font-weight: 950;
}

.admin-moderation-visual {
    display: block;
    min-height: 8.5rem;
    overflow: hidden;
    border-right: 1px solid var(--q-line);
    background: #e4c7aa;
}

.admin-moderation-visual img,
.admin-moderation-visual > span {
    width: 100%;
    height: 100%;
}

.admin-moderation-visual img {
    object-fit: cover;
}

.admin-moderation-visual > span {
    display: grid;
    place-items: center;
    color: var(--q-plum);
    font-size: 1.8rem;
}

.admin-moderation-copy {
    min-width: 0;
    padding: .8rem 1rem;
}

.admin-moderation-meta,
.admin-health-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.admin-moderation-meta span {
    color: var(--q-paprika);
    font-size: .59rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.admin-moderation-copy h3 {
    max-width: 44rem;
    margin-top: .35rem;
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    line-height: 1;
}

.admin-moderation-copy h3 a:hover {
    color: var(--q-paprika);
}

.admin-moderation-copy > p {
    margin-top: .45rem;
    color: var(--q-muted);
    font-size: .76rem;
}

.admin-health-tags {
    margin-top: .7rem;
}

.admin-health-tags span {
    border: 1px solid var(--q-line);
    padding: .3rem .42rem;
    color: var(--q-muted);
    font-size: .61rem;
    font-weight: 800;
}

.admin-health-tags .is-ok {
    border-color: rgba(22, 107, 82, .25);
    color: var(--q-success);
}

.admin-health-tags .is-warning {
    border-color: rgba(165, 47, 53, .25);
    color: var(--q-danger);
}

.admin-moderation-actions {
    display: grid;
    width: 8.3rem;
    align-content: center;
    gap: .35rem;
    border-left: 1px solid var(--q-line);
    padding: .65rem;
}

.admin-moderation-actions > a {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    border: 1px solid var(--q-line);
    font-size: .65rem;
    font-weight: 850;
}

.admin-moderation-actions > a:hover {
    color: #fff;
    background: var(--q-plum);
}

.admin-moderation-actions form,
.admin-moderation-actions button {
    width: 100%;
}

.admin-empty-state {
    display: grid;
    min-height: 14rem;
    place-items: center;
    align-content: center;
    gap: .45rem;
    border: 1px dashed var(--q-line-strong);
    color: var(--q-success);
}

.admin-empty-state i {
    font-size: 2.6rem;
}

.admin-empty-state strong {
    font-size: 1.2rem;
}

.admin-empty-state span {
    color: var(--q-muted);
    font-size: .76rem;
}

.admin-task-list {
    display: grid;
    gap: .65rem;
}

.admin-task-card {
    position: relative;
    border: 1px solid var(--q-line);
    background: #fff;
    padding: .8rem;
}

.admin-task-card.is-featured {
    border-color: var(--q-paprika);
    background:
        linear-gradient(110deg, rgba(200, 75, 49, .11), rgba(239, 164, 61, .08)),
        #fff;
    box-shadow: inset 4px 0 0 var(--q-paprika);
}

.admin-task-card.is-featured > form button {
    width: 100%;
    min-height: 3rem;
    background: linear-gradient(100deg, var(--q-paprika), #a52f35);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.admin-task-review-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .55rem;
    color: var(--q-success);
    font-size: .68rem;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: .18rem;
}

.admin-task-heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: .8rem;
}

.admin-task-heading h3 {
    font-size: 1rem;
}

.admin-task-heading p,
.admin-task-card > small {
    color: var(--q-muted);
    font-size: .68rem;
}

.admin-state {
    display: inline-flex;
    width: fit-content;
    border: 1px solid var(--q-line);
    padding: .28rem .4rem;
    color: var(--q-muted);
    font-size: .59rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-state-published,
.admin-state-finished,
.admin-state-scheduled {
    border-color: rgba(22, 107, 82, .28);
    color: var(--q-success);
}

.admin-state-pending,
.admin-state-running {
    border-color: rgba(200, 75, 49, .28);
    color: var(--q-paprika);
}

.admin-state-rejected,
.admin-state-failed,
.admin-state-stale {
    border-color: rgba(165, 47, 53, .28);
    color: var(--q-danger);
}

.admin-task-live-summary {
    margin-top: .7rem;
    border: 1px solid rgba(36, 23, 29, .11);
    background:
        linear-gradient(120deg, rgba(200, 75, 49, .06), transparent 48%),
        #fbfaf7;
    padding: .65rem;
}

.admin-task-phase {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.admin-task-phase > span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .42rem;
    color: var(--q-ink);
    font-size: .69rem;
}

.admin-task-phase > span i {
    color: var(--q-paprika);
}

.admin-task-phase > span strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-task-phase > b {
    color: var(--q-paprika);
    font-family: var(--font-display);
    font-size: 1.05rem;
}

.admin-task-progress {
    height: .48rem;
    margin-block: .55rem;
    overflow: hidden;
    background: rgba(36, 23, 29, .09);
}

.admin-task-progress span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--q-paprika), var(--q-saffron));
    transition: width .45s ease;
}

.admin-task-card[data-task-running="true"] .admin-task-progress span {
    position: relative;
    overflow: hidden;
}

.admin-task-card[data-task-running="true"] .admin-task-progress span::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent);
    transform: translateX(-100%);
    animation: admin-task-progress-sweep 1.5s ease-in-out infinite;
}

.admin-task-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .8rem;
    color: var(--q-muted);
    font-size: .59rem;
}

.admin-task-meta span {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.admin-task-meta b {
    color: var(--q-ink);
}

.admin-task-meta em {
    margin-left: auto;
    color: var(--q-success);
    font-style: normal;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.admin-task-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 1px;
    background: rgba(36, 23, 29, .12);
    border: 1px solid rgba(36, 23, 29, .12);
}

.admin-task-stat {
    min-width: 0;
    background: #fff;
    padding: .55rem .6rem;
}

.admin-task-stat strong,
.admin-task-stat span {
    display: block;
}

.admin-task-stat strong {
    color: var(--q-ink);
    font-family: var(--font-display);
    font-size: 1.05rem;
    line-height: 1;
}

.admin-task-stat span {
    margin-top: .22rem;
    overflow: hidden;
    color: var(--q-muted);
    font-size: .55rem;
    font-weight: 780;
    line-height: 1.18;
    text-overflow: ellipsis;
}

.admin-task-stat.is-success {
    box-shadow: inset 0 3px 0 var(--q-success);
}

.admin-task-stat.is-warning {
    box-shadow: inset 0 3px 0 var(--q-saffron);
}

.admin-task-stat.is-danger {
    box-shadow: inset 0 3px 0 var(--q-danger);
}

.admin-task-report {
    display: grid;
    gap: .22rem;
    margin-bottom: .55rem;
    border-left: 3px solid var(--q-success);
    background: rgba(22, 107, 82, .06);
    padding: .55rem;
    color: var(--q-success);
    font-size: .67rem;
    font-weight: 750;
}

@keyframes admin-task-progress-sweep {
    to {
        transform: translateX(100%);
    }
}

@media (max-width: 640px) {
    .admin-task-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-task-meta em {
        width: 100%;
        margin-left: 0;
    }
}

.admin-task-card details {
    margin-top: .55rem;
    font-size: .67rem;
}

.admin-task-console {
    border: 1px solid #392c32;
    color: #f8eadb;
    background: #181316;
}

.admin-task-console summary {
    display: flex;
    min-height: 2.55rem;
    cursor: pointer;
    list-style: none;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    border-bottom: 1px solid transparent;
    padding: .55rem .7rem;
    font-weight: 850;
}

.admin-task-console summary::-webkit-details-marker {
    display: none;
}

.admin-task-console[open] summary {
    border-bottom-color: #392c32;
}

.admin-task-console summary span {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
}

.admin-task-console summary .bi {
    color: var(--q-saffron);
}

.admin-task-console summary em {
    color: #b9dba6;
    font-size: .58rem;
    font-style: normal;
    font-weight: 750;
}

.admin-task-card[data-task-running="true"] .admin-task-console[open] summary em::before {
    display: inline-block;
    width: .42rem;
    height: .42rem;
    margin-right: .35rem;
    border-radius: 50%;
    content: "";
    background: #77d39a;
    box-shadow: 0 0 0 4px rgba(119, 211, 154, .12);
    animation: admin-console-live 1.4s ease-in-out infinite;
}

.admin-task-console-command {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .5rem;
    border-bottom: 1px solid #392c32;
    padding: .6rem .7rem;
    color: #e4c8aa;
    background: #211a1e;
}

.admin-task-console-command span {
    color: #77d39a;
    font-weight: 950;
}

.admin-task-console-command code {
    min-width: 0;
    overflow-wrap: anywhere;
    color: inherit;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: .64rem;
}

.admin-task-card pre {
    max-height: 18rem;
    margin: 0;
    overflow: auto;
    color: #d8e8d3;
    background: #100d0f;
    padding: .75rem;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: .64rem;
    line-height: 1.55;
    white-space: pre-wrap;
}

@keyframes admin-console-live {
    50% {
        opacity: .35;
        transform: scale(.78);
    }
}

.admin-task-card > form {
    margin-top: .65rem;
}

.admin-task-card > form button {
    min-height: 2.45rem;
    border: 1px solid var(--q-paprika);
    border-radius: 1px !important;
    color: #fff;
    background: var(--q-paprika);
    padding: .5rem .8rem;
    font-size: .7rem;
    font-weight: 900;
}

.admin-task-card > form button:disabled {
    opacity: .5;
}

.admin-quality-links {
    display: grid;
    gap: 1px;
    background: var(--q-line);
}

.admin-quality-links a {
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    background: #fff;
    padding: .65rem .75rem;
}

.admin-quality-links a:hover {
    color: #fff;
    background: var(--q-plum);
}

.admin-quality-links span {
    font-size: .72rem;
    font-weight: 800;
}

.admin-quality-links strong {
    color: var(--q-paprika);
    font-size: 1.4rem;
}

.admin-quality-links a:hover strong {
    color: var(--q-saffron);
}

.admin-task-toast {
    position: fixed;
    z-index: 160;
    right: 1rem;
    bottom: 1rem;
    max-width: min(28rem, calc(100vw - 2rem));
    border: 1px solid var(--q-line);
    color: #fff;
    background: var(--q-success);
    padding: .8rem 1rem;
    font-size: .75rem;
    font-weight: 850;
    box-shadow: 5px 5px 0 var(--q-ink);
    opacity: 0;
    translate: 0 1rem;
    pointer-events: none;
    transition: opacity .18s ease, translate .18s ease;
}

.admin-task-toast.is-visible {
    opacity: 1;
    translate: 0;
}

.admin-task-toast.is-error {
    background: var(--q-danger);
}

.admin-clickable-row {
    cursor: pointer;
}

.admin-clickable-row:focus {
    outline: 3px solid var(--q-saffron);
    outline-offset: -3px;
}

.admin-select-column {
    width: 2.8rem;
}

.admin-event-actions .admin-approve-button,
.admin-event-actions .admin-reject-button {
    width: 100%;
}

.admin-event-actions form + form {
    margin-top: .35rem;
}

/* Footer */

.app-footer {
    margin-top: 0;
    border-top: 5px solid var(--q-paprika);
    color: var(--q-paper);
    background:
        linear-gradient(110deg, var(--q-ink) 0 70%, var(--q-plum) 70%);
}

.app-footer a,
.app-footer button {
    color: rgba(255, 250, 242, .72);
    transition: color .18s ease, translate .18s ease;
}

.app-footer a:hover,
.app-footer button:hover {
    color: var(--q-saffron);
    translate: 3px 0;
}

/* Motion */

.interface-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity .6s var(--q-ease) var(--reveal-delay, 0ms),
        transform .6s var(--q-ease) var(--reveal-delay, 0ms);
}

.interface-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@keyframes q-press {
    70% {
        opacity: .4;
        scale: 1;
    }
    100% {
        opacity: 0;
        scale: 1;
    }
}

@keyframes q-orbit {
    to { rotate: 360deg; }
}

@keyframes q-float {
    to { translate: 2rem -1.2rem; rotate: 14deg; }
}

@keyframes q-signal {
    50% {
        opacity: .45;
        scale: .72;
    }
}

@media (min-width: 1024px) {
    .event-grid-app {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .explore-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 1px clamp(1rem, 3vw, 2rem);
    }

    .category-directory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-app-shell {
        grid-template-columns: 17rem minmax(0, 1fr);
    }
}

@media (max-width: 1023px) {
    body {
        padding-bottom: calc(4.15rem + env(safe-area-inset-bottom));
    }

    body.admin-body {
        padding-bottom: 0;
    }

    .app-header-inner {
        min-height: 3.9rem;
    }

    .brand-symbol {
        width: 2.35rem;
        height: 2.35rem;
        box-shadow: none;
    }

    .brand-lockup > small {
        display: none;
    }

    .app-header-install span {
        display: none;
    }

    .app-header-install {
        width: 2.55rem;
        padding: 0;
    }

    .app-header-create {
        min-width: 2.55rem;
        padding-inline: .65rem;
        box-shadow: 3px 3px 0 var(--q-saffron);
    }

    .explore-viewport {
        height: calc(100dvh - 3.9rem - 9.7rem - env(safe-area-inset-bottom));
        min-height: 30rem;
    }

    .explore-screen,
    .explore-map-shell {
        height: 100%;
    }

    .app-sheet-panel {
        max-height: calc(100dvh - env(safe-area-inset-top));
    }

    .auth-form-shell {
        min-height: auto;
        grid-template-columns: 1fr;
    }

    .auth-visual {
        min-height: 18rem;
        padding: 2rem 1rem;
    }

    .auth-visual h1 {
        font-size: clamp(3rem, 14vw, 5rem);
    }

    .admin-app-shell {
        display: block !important;
        width: 100%;
    }

    .admin-app-sidebar {
        position: sticky;
        z-index: 85;
        top: 0;
        width: 100%;
        max-width: none;
        height: auto;
        overflow: hidden;
        padding: .55rem !important;
    }

    .admin-app-sidebar > div:first-child {
        min-height: 2.7rem;
    }

    .admin-app-sidebar > div:first-child > a {
        min-width: 0;
    }

    .admin-app-sidebar > div:first-child small {
        display: none;
    }

    .admin-menu-toggle {
        display: inline-grid;
    }

    .admin-app-sidebar nav {
        display: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .35rem;
        margin-top: .55rem !important;
        max-height: min(68dvh, 34rem);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: .35rem 0 .15rem;
        scrollbar-width: none;
    }

    .admin-app-shell.is-admin-menu-open .admin-app-sidebar nav {
        display: grid;
    }

    .admin-app-sidebar nav::-webkit-scrollbar {
        display: none;
    }

    .admin-app-sidebar nav p {
        display: none;
    }

    .admin-app-sidebar nav a {
        min-height: 2.65rem;
        border: 1px solid rgba(255, 250, 242, .14);
        border-left: 2px solid transparent;
        padding: .58rem .72rem;
        font-size: .72rem;
    }
}

@media (max-width: 639px) {
    .admin-app-sidebar nav {
        grid-template-columns: 1fr;
    }

    .app-container,
    .container,
    .container-fluid {
        padding-inline: max(.72rem, env(safe-area-inset-left));
    }

    .app-header .app-container {
        padding-right: max(.55rem, env(safe-area-inset-right));
        padding-left: max(.55rem, env(safe-area-inset-left));
    }

    .brand-name {
        font-size: .82rem;
    }

    .app-header-create span {
        display: none;
    }

    .hero-app {
        min-height: auto;
    }

    .hero-app .app-container {
        width: 100%;
        padding: 2rem .75rem 2.6rem;
    }

    .hero-app .app-container > div {
        width: 100%;
    }

    .hero-app h1 {
        font-size: clamp(3.25rem, 15vw, 5rem);
    }

    .hero-app h1 span {
        white-space: normal;
    }

    .glass-search {
        width: calc(100% + 1.5rem);
        max-width: calc(100% + 1.5rem);
        margin-inline: -.75rem;
        border-right: 0;
        border-left: 0;
        padding: 1rem .75rem;
        box-shadow: 0 6px 0 var(--q-paprika);
    }

    .section-app {
        padding-block: 2.4rem;
    }

    .section-app > .app-container {
        padding-inline: .72rem;
    }

    .section-title {
        font-size: clamp(2.2rem, 12vw, 3.35rem);
    }

    .event-grid-app {
        margin-inline: -.72rem;
        border-right: 0;
        border-left: 0;
    }

    .event-rail-app {
        display: flex;
        gap: .65rem;
        margin-right: -.72rem;
        margin-left: -.72rem;
        overflow-x: auto;
        border: 0;
        background: transparent;
        padding: .2rem .72rem 1.2rem;
        scroll-padding-inline: .72rem;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .event-rail-app::-webkit-scrollbar {
        display: none;
    }

    .event-rail-app .event-card-app {
        display: block;
        width: min(84vw, 22rem);
        min-width: min(84vw, 22rem);
        scroll-snap-align: start;
        border: 1px solid var(--q-line);
        box-shadow: 5px 5px 0 rgba(36, 23, 29, .1);
    }

    .event-rail-app .event-card-media,
    .event-rail-app .event-card-media > a,
    .event-rail-app .event-card-media img,
    .event-rail-app .event-card-fallback {
        height: 13.5rem;
        min-height: 13.5rem;
    }

    .event-rail-app .date-tile {
        display: grid;
    }

    .event-rail-app .event-card-mobile-date {
        display: none;
    }

    .event-rail-app .event-card-body-app {
        padding: 1rem;
    }

    .event-rail-app .event-card-body-app h3 {
        font-size: 1.2rem;
    }

    .event-card-app {
        display: grid;
        grid-template-columns: minmax(7.2rem, 38%) minmax(0, 1fr);
        min-height: 9.6rem;
    }

    .event-card-app .event-card-media,
    .event-card-app .event-card-media > a,
    .event-card-app .event-card-media img,
    .event-card-app .event-card-fallback {
        height: 100%;
        min-height: 9.6rem;
    }

    .event-card-app .event-card-body-app {
        padding: .75rem;
    }

    .event-card-app .date-tile {
        display: none;
    }

    .event-card-app .event-card-mobile-date {
        display: block;
        color: var(--q-paprika);
    }

    .event-card-app .event-card-body-app h3 {
        font-size: 1rem;
    }

    .event-card-app .event-card-body-app > div:last-child {
        margin-top: .7rem;
        padding-top: .55rem;
    }

    .event-card-app .badge {
        right: auto;
        max-width: calc(100% - .75rem);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .event-grid-app.event-rail-app .event-card-app {
        display: block;
        grid-template-columns: none;
        width: min(84vw, 22rem);
        min-width: min(84vw, 22rem);
    }

    .event-grid-app.event-rail-app .event-card-media,
    .event-grid-app.event-rail-app .event-card-media > a,
    .event-grid-app.event-rail-app .event-card-media img,
    .event-grid-app.event-rail-app .event-card-fallback {
        height: 13.5rem;
        min-height: 13.5rem;
    }

    .event-grid-app.event-rail-app .date-tile {
        display: grid;
    }

    .event-grid-app.event-rail-app .event-card-mobile-date {
        display: none;
    }

    .event-grid-app.event-rail-app .event-card-body-app {
        padding: 1rem;
    }

    .event-grid-app.event-rail-app .event-card-body-app h3 {
        font-size: 1.2rem;
    }

    .subscription-card,
    .section-app [class*="rounded-"] {
        border-radius: 1px !important;
    }

    .explore-topbar .app-container,
    .explore-modebar .app-container {
        padding-inline: .7rem;
    }

    .explore-title-row h1 {
        font-size: clamp(2.25rem, 11vw, 3.4rem);
    }

    .explore-list {
        padding-inline: 0;
    }

    .category-directory-header .app-container,
    .newsletter-hero .app-container {
        padding: 2.5rem .75rem;
    }

    .category-directory-title,
    .newsletter-hero-layout {
        display: grid;
    }

    .category-directory-title h1,
    .newsletter-hero h1 {
        max-width: 100%;
        font-size: clamp(3.2rem, 16vw, 5.2rem);
    }

    .category-directory-count {
        width: fit-content;
    }

    .category-directory-grid {
        grid-template-columns: 1fr;
        padding: 0;
        border-right: 0;
        border-left: 0;
    }

    .category-directory-card {
        grid-template-columns: 2.7rem minmax(0, 1fr) auto;
        min-height: 5.8rem;
        padding: .75rem;
    }

    .category-directory-copy small {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .newsletter-form-shell {
        padding-inline: 0;
    }

    .newsletter-form {
        border-right: 0;
        border-left: 0;
        box-shadow: none;
    }

    .newsletter-step {
        padding: 1rem .72rem;
    }

    .newsletter-field-grid,
    .newsletter-category-grid {
        grid-template-columns: 1fr;
    }

    .newsletter-category-grid {
        border-right: 0;
        border-left: 0;
    }

    .event-detail-container {
        padding-inline: .72rem;
    }

    .event-detail-media,
    .event-detail-visual {
        margin-inline: -.72rem;
        border-right: 0;
        border-left: 0;
        box-shadow: 0 6px 0 var(--q-paprika);
    }

    .event-detail-container article > h1 {
        font-size: clamp(3rem, 15vw, 5rem) !important;
    }

    .auth-panel {
        padding: 2rem .75rem;
    }

    .account-workspace {
        padding-top: 1.2rem;
    }

    .account-page-heading {
        padding-inline: .72rem;
    }

    .account-page-heading h1 {
        font-size: clamp(2.8rem, 14vw, 4.6rem);
    }

    .account-panel,
    .account-quick-panel,
    .account-empty-panel,
    .account-preview,
    .account-success-panel {
        box-shadow: none;
    }

    .admin-app-shell > main {
        padding: .75rem .55rem calc(5rem + env(safe-area-inset-bottom)) !important;
    }

    .admin-panel,
    .content-panel {
        box-shadow: 3px 3px 0 rgba(36, 23, 29, .08) !important;
    }
}

@media (max-width: 370px) {
    .brand-lockup {
        display: none;
    }

    .app-header-inner {
        grid-template-columns: auto 1fr auto;
    }

    .app-header-actions {
        grid-column: 3;
    }

    .mobile-bottom-nav span,
    .account-bottom-nav span {
        font-size: .58rem;
    }
}

@media (max-width: 1023px) {
    body.admin-body {
        padding-bottom: 0;
    }

    .admin-moderation-card {
        grid-template-columns: auto 7rem minmax(0, 1fr);
    }

    .admin-moderation-actions {
        width: auto;
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        border-top: 1px solid var(--q-line);
        border-left: 0;
    }
}

@media (max-width: 639px) {
    .admin-body .admin-app-shell > main {
        padding-bottom: 1rem !important;
    }

    .admin-page-actions {
        width: 100%;
        justify-content: stretch;
    }

    .admin-event-filter-panel {
        margin-inline: -.55rem;
        border-right: 0 !important;
        border-left: 0 !important;
        box-shadow: none !important;
    }

    .front-admin-console {
        margin-right: -.72rem;
        margin-left: -.72rem;
        box-shadow: 0 5px 0 var(--q-paprika);
    }

    .front-admin-console-heading {
        align-items: start;
    }

    .front-admin-console-heading > a {
        max-width: 7rem;
        text-align: right;
    }

    .front-admin-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .front-admin-actions form,
    .front-admin-actions button,
    .front-admin-actions > a {
        width: 100%;
    }

    .front-admin-editor {
        padding: .75rem;
    }

    .front-admin-editor form {
        grid-template-columns: 1fr;
    }

    .front-admin-field,
    .front-admin-field.is-title,
    .front-admin-editor-source,
    .front-admin-editor-submit {
        grid-column: 1;
    }

    .front-admin-editor-source {
        display: grid;
    }

    .front-admin-editor-source > a {
        width: 100%;
    }

    .front-admin-editor-submit {
        display: grid;
    }

    .front-admin-editor-submit > div {
        display: grid;
    }

    .front-admin-editor-submit button {
        width: 100%;
    }

    .admin-primary-action,
    .admin-secondary-action {
        flex: 1 1 9rem;
    }

    .admin-cockpit {
        gap: .7rem;
    }

    .admin-work-panel {
        margin-inline: -.55rem;
        border-right: 0;
        border-left: 0;
        padding: .8rem .55rem;
        box-shadow: none;
    }

    .admin-section-heading {
        align-items: start;
    }

    .admin-section-heading > a {
        max-width: 8.5rem;
        text-align: right;
    }

    .admin-batch-bar {
        display: grid;
    }

    .admin-batch-bar > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .admin-moderation-card {
        grid-template-columns: 2.5rem 5.5rem minmax(0, 1fr);
    }

    .admin-event-selector {
        width: 2.5rem;
    }

    .admin-moderation-visual {
        min-height: 7rem;
    }

    .admin-moderation-copy {
        padding: .65rem;
    }

    .admin-moderation-copy h3 {
        font-size: 1rem;
    }

    .admin-moderation-copy > p {
        font-size: .66rem;
    }

    .admin-health-tags {
        display: none;
    }

    .admin-moderation-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: .5rem;
    }

    .admin-task-toast {
        right: .65rem;
        bottom: .65rem;
        left: .65rem;
        max-width: none;
    }

    .admin-event-row {
        min-width: 70rem !important;
    }
}

@media (min-width: 1024px) {
    .explore-modebar {
        display: block;
    }

    .explore-viewport {
        display: flex;
        overflow-x: hidden;
        overflow-y: visible;
        scroll-snap-type: x mandatory;
    }

    .explore-screen {
        width: 100%;
        min-width: 100%;
        flex: 0 0 100%;
    }

    .explore-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding-right: 1px;
    }

    .explore-map-screen {
        padding: 0;
    }

    .explore-map-shell {
        position: relative;
        top: auto;
        height: calc(100dvh - 7.2rem);
        min-height: 38rem;
    }

    .explore-app.is-map-view .explore-topbar {
        display: none;
    }
}

/*
 * Immersive map mode.
 * On phones and tablets the page itself stops scrolling: the map owns exactly
 * the space between the sticky application header and the bottom navigation.
 */
@media (max-width: 1023px) {
    .explore-viewport {
        height: auto;
        min-height: 0;
        align-items: flex-start;
    }

    .explore-screen,
    .explore-map-shell {
        height: auto;
    }

    html.explore-map-active,
    body.explore-map-active {
        height: 100%;
        min-height: 100%;
        overflow: hidden !important;
        overscroll-behavior: none;
    }

    body.explore-map-active {
        padding-bottom: 0;
    }

    body.explore-map-active .app-main {
        height: calc(100dvh - 3.9rem - 4.15rem - env(safe-area-inset-bottom));
        min-height: 0;
        overflow: hidden;
    }

    .explore-app.is-map-view {
        display: grid;
        height: 100%;
        min-height: 0;
        grid-template-rows: auto minmax(0, 1fr);
        overflow: hidden;
    }

    .explore-app.is-map-view .explore-topbar {
        display: none;
    }

    .explore-app.is-map-view .explore-modebar {
        position: relative;
        top: auto;
    }

    .explore-app.is-map-view .explore-viewport {
        height: auto;
        min-height: 0;
        overflow-y: hidden;
        overscroll-behavior: none;
        touch-action: pan-x;
    }

    .explore-app.is-map-view .explore-screen {
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .explore-app.is-map-view .explore-map-screen {
        min-height: 0;
    }

    .explore-app.is-map-view .explore-map-shell {
        display: grid;
        height: 100%;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) auto;
        overflow: hidden;
    }

    .explore-app.is-map-view .explore-map-stage,
    .explore-app.is-map-view .explore-map-canvas {
        height: 100%;
        min-height: 0;
    }

    .explore-app.is-map-view .explore-map-results-panel {
        display: grid;
        height: 7rem;
        min-height: 7rem;
        grid-template-rows: minmax(0, 1fr);
        border-top: 1px solid var(--q-line-strong);
        border-left: 0;
    }

    .explore-app.is-map-view .explore-map-results-panel > header {
        display: none;
    }

    .explore-app.is-map-view .explore-map-results {
        display: flex;
        max-height: none;
        min-height: 0;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .explore-app.is-map-view .explore-map-results::-webkit-scrollbar {
        display: none;
    }

    .explore-app.is-map-view .explore-map-results .local-map-item {
        width: min(78vw, 20rem);
        min-width: min(78vw, 20rem);
        flex: 0 0 min(78vw, 20rem);
        scroll-snap-align: start;
        border-top: 0;
        border-left: 4px solid transparent;
        border-right: 1px solid var(--q-line);
    }

    .explore-app.is-map-view .explore-map-results .local-map-item.is-active {
        border-left-color: var(--q-paprika);
    }

    .explore-map-summary {
        top: .55rem;
        left: .55rem;
        min-width: 7.5rem;
        padding: .48rem .6rem;
    }

    .explore-map-summary span {
        display: none;
    }

    .explore-map-dock {
        top: .55rem;
        right: .55rem;
        width: 2.75rem;
    }

    .explore-map-dock button {
        width: 2.75rem;
        min-height: 2.65rem;
        grid-template-columns: 1fr;
        justify-items: center;
        padding: .4rem;
    }

    .explore-map-dock button span {
        display: none;
    }

    .explore-map-event-preview {
        right: 4rem;
        bottom: .7rem;
        left: .55rem;
        width: auto;
        grid-template-columns: 2.55rem minmax(0, 1fr) 1.25rem;
        gap: .5rem;
        padding: .55rem;
        box-shadow: 4px 4px 0 rgba(36, 23, 29, .28);
    }

    .explore-map-event-preview-icon {
        width: 2.55rem;
        height: 2.55rem;
    }

    .explore-map-panel {
        top: .55rem;
        right: 3.85rem;
        width: min(22rem, calc(100% - 5rem));
        max-height: calc(100% - 1.1rem);
    }

    .explore-map-panel .explore-map-filters {
        grid-template-columns: 1fr;
    }
}

.privacy-consent {
    right: 1rem;
    bottom: 1rem;
    left: auto;
    width: min(42rem, calc(100vw - 2rem));
    max-width: none;
}

.privacy-consent[hidden] {
    display: none !important;
}

.privacy-consent-card {
    display: block;
    overflow: hidden;
    border: 1px solid var(--q-line-strong);
    border-radius: 0 !important;
    padding: 0;
    color: var(--q-ink);
    background: rgba(255, 250, 242, .98);
    box-shadow: 8px 8px 0 rgba(36, 23, 29, .28);
}

.privacy-consent-heading {
    display: flex;
    align-items: center;
    gap: .75rem;
    border-bottom: 1px solid var(--q-line);
    padding: .8rem;
    background: var(--q-ink);
}

.privacy-consent-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 0 !important;
    color: var(--q-ink);
    background: var(--q-saffron);
    box-shadow: 3px 3px 0 var(--q-paprika);
}

.privacy-consent-kicker {
    margin: 0;
    color: var(--q-saffron);
    font-size: .6rem;
    letter-spacing: .13em;
}

.privacy-consent h2 {
    max-width: none;
    margin: .12rem 0 0;
    color: var(--q-paper);
    font-family: var(--q-font-display);
    font-size: 1.2rem;
}

.privacy-consent-card > p {
    margin: 0;
    padding: .75rem .8rem 0;
    color: var(--q-muted);
    font-size: .76rem;
    line-height: 1.45;
}

.privacy-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: .75rem .8rem 0;
    border: 1px solid var(--q-line);
    padding: 1px;
    background: var(--q-line);
}

.privacy-choice-grid fieldset {
    border: 0;
    border-radius: 0 !important;
    padding: .65rem;
    background: #fff;
}

.privacy-choice-grid legend {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .45rem;
    font-size: .72rem;
}

.privacy-choice {
    margin: 1px 0;
}

.privacy-choice span {
    min-height: 2.45rem;
    border-radius: 0 !important;
    padding: .48rem .55rem;
    font-size: .7rem;
}

.privacy-choice input:checked + span {
    border-color: var(--q-paprika);
    color: var(--q-ink);
    background: #fff0dc;
    box-shadow: inset 4px 0 0 var(--q-paprika);
}

.privacy-consent-card > .privacy-consent-status {
    min-height: 2rem;
    padding: .55rem .8rem;
    color: var(--q-success);
    font-size: .68rem;
    font-weight: 850;
}

.privacy-consent-actions {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 1px;
    border-top: 1px solid var(--q-line);
    padding: 1px;
    background: var(--q-line);
}

.privacy-consent-actions button {
    min-height: 2.9rem;
    border: 0;
    border-radius: 0 !important;
    padding: .6rem .75rem;
    font-size: .7rem;
    font-weight: 900;
}

.privacy-consent-accept {
    color: #fff;
    background: var(--q-paprika);
}

.privacy-consent-save {
    color: var(--q-paper);
    background: var(--q-ink);
}

.privacy-consent-decline {
    color: var(--q-muted);
    background: #fff;
}

@media (max-width: 639px) {
    .privacy-consent {
        right: 0;
        bottom: calc(4.15rem + env(safe-area-inset-bottom));
        left: 0;
        width: 100%;
    }

    .privacy-consent-card {
        border-right: 0;
        border-left: 0;
        box-shadow: 0 -6px 0 var(--q-paprika);
    }

    .privacy-choice-grid {
        grid-template-columns: 1fr;
        max-height: 42dvh;
        overflow-y: auto;
        margin-right: .65rem;
        margin-left: .65rem;
    }

    .privacy-consent-actions {
        grid-template-columns: 1fr 1fr;
    }

    .privacy-consent-decline {
        grid-column: 1 / -1;
        min-height: 2.5rem !important;
    }
}

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

    .interface-reveal {
        opacity: 1;
        transform: none;
    }
}
