.ui-button,
:is([data-theme="arvr-editorial-grid-v2"], [data-theme="arvr_theme"]) .button {
    display: inline-flex;
    min-height: var(--button-height);
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding-inline: var(--button-padding-x);
    border: .0625rem solid transparent;
    border-radius: var(--button-radius);
    font-weight: var(--ds-primitive-font-weight-bold);
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition:
        color var(--duration-fast) var(--easing-standard),
        border-color var(--duration-fast) var(--easing-standard),
        background-color var(--duration-fast) var(--easing-standard),
        box-shadow var(--duration-normal) var(--easing-standard),
        transform var(--duration-normal) var(--easing-standard);
}

.ui-button--primary,
:is([data-theme="arvr-editorial-grid-v2"], [data-theme="arvr_theme"]) .button--primary {
    color: var(--button-primary-fg);
    background: var(--button-primary-bg);
}

.ui-button--primary:hover,
.ui-button--primary:focus-visible,
:is([data-theme="arvr-editorial-grid-v2"], [data-theme="arvr_theme"]) .button--primary:hover,
:is([data-theme="arvr-editorial-grid-v2"], [data-theme="arvr_theme"]) .button--primary:focus-visible {
    color: var(--button-primary-fg);
    background: var(--button-primary-bg-hover);
    box-shadow: var(--shadow-action);
    transform: translateY(-.0625rem);
}

.ui-button--secondary,
:is([data-theme="arvr-editorial-grid-v2"], [data-theme="arvr_theme"]) .button--secondary {
    border-color: var(--color-border);
    color: var(--color-ink);
    background: var(--color-paper);
}

.ui-button--secondary:hover,
:is([data-theme="arvr-editorial-grid-v2"], [data-theme="arvr_theme"]) .button--secondary:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
    background: var(--color-accent-soft);
}

.ui-button[disabled],
.ui-button[aria-disabled="true"],
:is([data-theme="arvr-editorial-grid-v2"], [data-theme="arvr_theme"]) .button--disabled {
    border-color: var(--color-border);
    color: var(--color-muted);
    background: var(--color-surface-strong);
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

.ui-card {
    padding: var(--card-padding);
    border: .0625rem solid var(--card-border);
    border-radius: var(--card-radius);
    color: var(--color-ink);
    background: var(--card-bg);
}

.ui-card--interactive {
    transition:
        border-color var(--duration-fast) var(--easing-standard),
        box-shadow var(--duration-normal) var(--easing-standard),
        transform var(--duration-normal) var(--easing-standard);
}

.ui-card--interactive:hover,
.ui-card--interactive:focus-within {
    border-color: color-mix(in srgb, var(--color-accent) 35%, var(--color-border));
    box-shadow: var(--card-shadow);
    transform: translateY(-.125rem);
}

.ui-field {
    display: grid;
    gap: var(--space-sm);
}

.ui-field > label {
    font-weight: var(--ds-primitive-font-weight-bold);
}

.ui-field :is(input, select, textarea) {
    width: 100%;
    min-height: 3rem;
    padding: var(--space-sm) var(--space-md);
    border: .0625rem solid var(--field-border);
    border-radius: var(--field-radius);
    color: var(--color-ink);
    background: var(--field-bg);
}

.ui-field :is(input, select, textarea):focus {
    border-color: var(--field-focus);
    box-shadow: var(--shadow-focus);
    outline: 0;
}

.ui-field--error :is(input, select, textarea) {
    border-color: var(--color-destructive);
}

.ui-field__help,
.ui-field__error {
    color: var(--color-muted);
    font-size: var(--ds-primitive-font-size-sm);
}

.ui-field__error {
    color: var(--color-destructive);
    font-weight: var(--ds-primitive-font-weight-medium);
}

.ui-alert {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: var(--space-sm);
    padding: var(--space-md);
    border: .0625rem solid var(--color-border);
    border-inline-start-width: .25rem;
    border-radius: var(--radius-sm);
    background: var(--color-paper);
}

.ui-alert--with-icon { grid-template-columns: auto minmax(0, 1fr); }
.ui-alert__content { display: grid; min-width: 0; gap: var(--space-xs); overflow-wrap: anywhere; }
.ui-alert__title { font-weight: var(--font-weight-bold); }

.ui-alert--info { border-inline-start-color: var(--color-accent); }
.ui-alert--success { border-inline-start-color: var(--color-success); }
.ui-alert--warning { border-inline-start-color: var(--color-warning); }
.ui-alert--error { border-inline-start-color: var(--color-destructive); }

.ui-empty {
    display: grid;
    justify-items: center;
    gap: var(--space-sm);
    padding: clamp(var(--space-xl), 6vw, var(--space-3xl));
    border: .0625rem dashed var(--color-border);
    border-radius: var(--card-radius);
    color: var(--color-muted);
    background: var(--color-surface);
    text-align: center;
}

.ui-empty__icon {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    border-radius: var(--ds-primitive-radius-full);
    color: var(--button-primary-fg);
    background: var(--color-accent);
    font-size: var(--icon-size-lg);
}

.ui-empty h2,
.ui-empty h3,
.ui-empty p { margin: 0; }

.ui-skeleton {
    min-height: 1rem;
    border-radius: var(--radius-sm);
    background: linear-gradient(100deg, var(--color-surface) 20%, var(--color-surface-strong) 40%, var(--color-surface) 60%);
    background-size: 200% 100%;
    animation: ui-skeleton var(--duration-skeleton) var(--easing-standard) infinite;
}

@keyframes ui-skeleton {
    to { background-position-x: -200%; }
}

.ui-media {
    overflow: hidden;
    margin: 0;
    border-radius: var(--radius-md);
    background: var(--color-surface);
}

.ui-media :is(img, video) {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.ui-media figcaption {
    padding: var(--space-sm) var(--space-md);
    color: var(--color-muted);
    font-size: var(--ds-primitive-font-size-sm);
}

.ui-dialog {
    width: min(calc(100% - 2 * var(--space-md)), 40rem);
    max-height: calc(100dvh - 2 * var(--space-md));
    padding: 0;
    overflow: hidden;
    border: .0625rem solid var(--color-border);
    border-radius: var(--radius-lg);
    color: var(--color-ink);
    background: var(--color-paper);
    box-shadow: var(--shadow-modal);
}

.ui-dialog::backdrop {
    background: color-mix(in srgb, var(--color-dark) 62%, transparent);
}

.ui-dialog__header,
.ui-dialog__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
}

.ui-dialog__header { border-bottom: .0625rem solid var(--color-border); }
.ui-dialog__header h2 { margin: 0; font-size: var(--font-size-2xl); }
.ui-dialog__body { padding: var(--space-lg); }
.ui-dialog__actions { border-top: .0625rem solid var(--color-border); }

.ui-dialog__close {
    display: grid;
    width: var(--button-height);
    height: var(--button-height);
    place-items: center;
    padding: 0;
    border: .0625rem solid var(--color-border);
    border-radius: var(--button-radius);
    color: var(--color-ink);
    background: var(--color-paper);
}

/* Global public breadcrumb contract. Position, height and appearance live here only. */
.ui-breadcrumbs-shell {
    border-bottom: .0625rem solid var(--color-border);
    color: var(--color-muted);
    background: var(--color-paper);
}

.ui-breadcrumbs ol {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: var(--button-height);
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-ui);
}

.ui-breadcrumbs li {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-width: 0;
}

.ui-breadcrumbs li > .bi {
    flex: 0 0 auto;
    margin-inline: var(--space-sm);
    color: var(--color-border);
    font-size: var(--font-size-xs);
}

.ui-breadcrumbs a,
.ui-breadcrumbs span[aria-current="page"] {
    display: inline-flex;
    align-items: center;
    min-height: var(--button-height);
    color: inherit;
    text-decoration: none;
}

.ui-breadcrumbs a {
    transition: color var(--transition-fast);
}

.ui-breadcrumbs a:hover {
    color: var(--color-accent);
}

.ui-breadcrumbs a:focus-visible {
    border-radius: var(--radius-sm);
    outline: .125rem solid var(--color-accent);
    outline-offset: .125rem;
}

.ui-breadcrumbs__home {
    justify-content: center;
    min-width: var(--button-height);
    font-size: var(--font-size-sm);
}

.ui-breadcrumbs__current {
    flex: 1 1 auto !important;
    overflow: hidden;
    color: var(--color-ink);
}

.ui-breadcrumbs__current span {
    display: flex !important;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 47.99rem) {
    .ui-breadcrumbs li > .bi { margin-inline: var(--space-xs); }
}

@media (prefers-reduced-motion: reduce) {
    .ui-breadcrumbs a { transition: none; }
}

.section-tabs {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.section-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    min-height: 2.75rem;
    padding: var(--space-sm) var(--space-md);
    color: var(--color-ink);
    background: var(--color-paper);
    border: 1px solid var(--arvr-rule);
    margin-left: -1px;
    font-family: var(--arvr-mono);
    font-size: var(--arvr-nav-size);
    font-weight: var(--font-weight-medium);
    letter-spacing: var(--arvr-tracking);
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
    position: relative;
    transition: background var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard);
}

.section-tabs a:first-child {
    margin-left: 0;
}

.section-tabs a i {
    display: inline-flex;
    align-items: center;
    font-size: var(--font-size-sm);
    line-height: 1;
}

.section-tabs a:hover {
    background: var(--color-surface-strong);
    color: var(--color-ink);
    z-index: 1;
}

.section-tabs a:is(.is-active, [aria-current="page"]) {
    background: var(--color-ink);
    color: var(--color-on-dark);
    border-color: var(--color-ink);
    z-index: 2;
}

.section-tabs-dock {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: -1px;
    position: relative;
    z-index: 2;
}

.section-tabs-dock .section-tabs a {
    border-radius: 0;
}

.site-beta-badge {
    display: inline-flex;
    align-items: center;
    flex: none;
    padding: var(--space-xs) var(--space-sm);
    border: 1px solid currentColor;
    color: var(--color-ink);
    font-family: var(--arvr-mono);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
    white-space: nowrap;
}

.arvr-footer .site-beta-badge,
.site-footer .site-beta-badge {
    color: var(--color-on-dark);
}

.site-info { min-width: 0; }
.site-info__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr); align-items: start; gap: var(--space-lg); }
.site-info__main, .site-info__aside { display: grid; gap: var(--space-lg); min-width: 0; }
.site-info__section { min-width: 0; padding: var(--space-lg); border: 1px solid var(--color-border); background: var(--color-paper); }
.site-info__section h2 { margin-bottom: var(--space-md); }
.site-info__section p { max-width: 72ch; line-height: var(--line-height-body); }
.site-info__section p:last-child { margin-bottom: 0; }
.site-info__form { display: grid; gap: var(--space-md); margin-top: var(--space-lg); }
.site-info__form .button { justify-self: start; }
.site-info__note { color: var(--color-muted); font-size: var(--font-size-sm); }
.site-info__aside dl { margin: 0; overflow-wrap: anywhere; }
.site-info__aside dt { margin-top: var(--space-md); color: var(--color-muted); font-size: var(--font-size-sm); }
.site-info__aside dt:first-child { margin-top: 0; }
.site-info__aside dd { margin: var(--space-xs) 0 0; }
.site-info__links { display: grid; gap: var(--space-sm); }
.site-info__document { max-width: 88ch; margin-inline: auto; }
.site-info__document h2 { margin-top: var(--space-xl); }
.site-info__document h2:first-child { margin-top: 0; }
.site-info__document h3 { margin-top: var(--space-lg); }
@media (max-width: 767.98px) {
    .site-info__grid { grid-template-columns: minmax(0, 1fr); }
    .site-info__section { padding: var(--space-md); }
    .site-info__form .button { width: 100%; }
}


/* Shared text preview: the fade belongs to the clipped viewport, not its action. */
.ui-expandable-prose { scroll-margin-top: calc(var(--arvr-header-height, var(--arvr-anchor-offset)) + var(--space-md)); }
.ui-expandable-prose__viewport { position: relative; display: flow-root; isolation: isolate; }
.ui-expandable-prose [data-prose-body] { display: flow-root; position: relative; z-index: 0; }
.ui-expandable-prose.is-collapsible .ui-expandable-prose__viewport { height: var(--prose-preview-height); overflow: clip; }
.ui-expandable-prose.is-expanded .ui-expandable-prose__viewport { height: auto; }
.ui-expandable-prose__fade { display: none; position: absolute; inset: auto 0 0; height: var(--prose-fade-height); z-index: var(--ds-primitive-z-content); background: linear-gradient(to bottom, transparent, var(--color-surface)); pointer-events: none; }
.ui-expandable-prose.is-collapsible .ui-expandable-prose__fade { display: block; }
.ui-expandable-prose.is-expanded .ui-expandable-prose__fade { opacity: 0; }
.ui-expandable-prose__actions { display: none; margin-top: var(--space-md); text-align: center; }
.ui-expandable-prose.is-collapsible .ui-expandable-prose__actions { display: block; }
.ui-expandable-prose__toggle { gap: var(--space-sm); }
/* Advertising shares the public tokens; admin uses native Unfold independently. */
.article-ad-container.arvr-ad-slot { display:grid; min-block-size: var(--button-height); }
.arvr-ad-slot > [data-ad-content], .arvr-ad-slot__geometry { grid-area:1 / 1; min-inline-size:0; }
.arvr-ad-slot > [data-ad-content] { position:relative; }
.arvr-ad-network { position:absolute; inset:0; overflow:hidden; }
.arvr-ad-slot[data-ad-network-state="loading"] [data-ad-house], .arvr-ad-slot[data-ad-network-state="filled"] [data-ad-house] { visibility:hidden; }
.arvr-ad-slot__geometry { display:block; inline-size:100%; block-size:auto; align-self:start; max-block-size:var(--ad-banner-max-height); margin-block:calc(var(--ad-banner-chrome) / 2); pointer-events:none; }
.arvr-ad-slot--rail .arvr-ad-slot__geometry { max-block-size:var(--ad-rail-max-height); }
.arvr-ad-slot--card { min-block-size:var(--ad-card-height); }
.arvr-ad-slot--card > [data-ad-content] { display:grid; }
.arvr-ad-slot--card [data-ad-house] { margin:0; min-block-size:var(--ad-card-height); }
.article-ad-placeholder[data-ad-house] { max-block-size:none; }
.article-ad-placeholder[data-ad-house] .article-ad-placeholder__note { color:var(--color-muted); }
.arvr-header-banner--own [data-ad-house] { margin:0; min-block-size:var(--arvr-banner-height); }
.arvr-header-banner--own [data-ad-house] :is(.article-ad-placeholder__title,.article-ad-placeholder__note) { display:none; }
.arvr-ad-slot[data-ad-empty="true"] { visibility: hidden; }
.arvr-ad-creative { display: grid; gap: var(--space-md); padding: var(--space-md); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-ink); overflow-wrap: anywhere; min-width: 0; }
.arvr-ad-creative__disclosure.arvr-ad-creative__details { min-inline-size:0; font-size:var(--ad-metadata-font-size); line-height:var(--line-height-ui); color:var(--color-placeholder); }
/* Metadata follows the creative; legal information expands only on request. */
.arvr-ad-creative__disclosure .arvr-ad-creative__metadata { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--space-xs); align-items:baseline; list-style:none; font-size:inherit; line-height:inherit; text-decoration:none; }
.arvr-ad-creative__metadata::-webkit-details-marker { display:none; }
.arvr-ad-creative__label { font-weight:var(--font-weight-regular); }
.arvr-ad-creative__erid { grid-column:2; grid-row:1; min-inline-size:0; overflow-wrap:anywhere; }
.arvr-ad-creative__code { font-family:var(--arvr-mono); }
.arvr-ad-creative__more { grid-column:3; grid-row:1; justify-self:end; display:inline-flex; align-items:center; }
.arvr-ad-creative__legal { padding-block-start:var(--space-sm); overflow-wrap:anywhere; color:var(--color-ink); }
.arvr-ad-creative__legal p { margin:0; }
.arvr-ad-creative__legal p + p { margin-block-start:var(--space-xs); }
.arvr-ad-creative__disclosure:focus-within { outline:var(--interaction-focus-width) solid var(--color-ink); outline-offset:var(--interaction-focus-offset); }

.arvr-ad-creative__image { display: block; min-width: 0; }
.arvr-ad-creative__image img { display: block; inline-size: 100%; block-size: auto; max-block-size: var(--ad-banner-max-height); object-fit: contain; }
.arvr-ad-slot--rail .arvr-ad-creative__image img { max-block-size: var(--ad-rail-max-height); }
.arvr-ad-creative__body { display: grid; gap: var(--space-sm); justify-items: start; }
.arvr-ad-creative__details { font-size: var(--font-size-sm); }
.arvr-ad-creative__details summary { cursor: pointer; text-decoration: underline; }
.arvr-ad-creative--banner { padding: var(--space-xs); gap: var(--space-xs); }
.arvr-ad-creative--banner .arvr-ad-creative__image { position:relative; }
.arvr-ad-image-geometry { display:block; inline-size:100%; block-size:auto; max-block-size:var(--ad-banner-max-height); }
.arvr-ad-creative--banner .arvr-ad-creative__image img { position:absolute; inset:0; block-size:100%; }
.arvr-ad-slot--rail .arvr-ad-image-geometry { max-block-size:var(--ad-rail-max-height); }
.arvr-ad-creative:is(.arvr-ad-creative--native,.arvr-ad-creative--promo,.arvr-ad-creative--sponsored) { min-block-size:var(--ad-card-height); grid-template-columns:var(--ad-card-image-width) minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; }
.arvr-ad-creative:not(.arvr-ad-creative--banner) > :is(.arvr-ad-creative__disclosure,.arvr-ad-creative__details) { grid-column:1 / -1; grid-row:2; }
.arvr-ad-creative:not(.arvr-ad-creative--banner) .arvr-ad-creative__image { grid-column:1; grid-row:1; align-self:center; }
.arvr-ad-creative:not(.arvr-ad-creative--banner) .arvr-ad-creative__body { grid-column:2; grid-row:1; min-inline-size:0; align-content:center; }
.arvr-ad-creative:not(.arvr-ad-creative--banner) .arvr-ad-creative__body :is(h3,p) { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:var(--ad-text-lines); overflow:hidden; }
.arvr-ad-creative:not(.arvr-ad-creative--banner) .arvr-ad-creative__body h3 { -webkit-line-clamp:var(--ad-title-lines); }
.arvr-ad-creative__body .button { max-inline-size:100%; white-space:normal; }
.arvr-ad-creative__banner-caption { font-size: var(--font-size-sm); }
.arvr-ad-creative__banner-caption a { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:var(--ad-title-lines); overflow:hidden; }
@media (min-width:768px) {
  .arvr-ad-slot,.arvr-ad-creative { --ad-card-height:var(--ad-card-desktop-height); --ad-card-image-width:var(--ad-card-desktop-image-width); --ad-banner-chrome:var(--ad-banner-desktop-chrome); }
}
@media (min-width: 768px) { .arvr-ad-creative__banner-caption { display: none; } }
.arvr-ads-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: center; }
.arvr-ads-actions form { margin: 0; }
.arvr-ads-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ad-metric-min-width)), 1fr)); gap: var(--space-md); }
.arvr-ads-metrics dd { margin: 0; font-weight: var(--font-weight-bold); }
.arvr-ads-report-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ad-metric-min-width)), 1fr)); gap: var(--space-md); }
.arvr-ads-report-filters > *, .arvr-ads-report-row { min-inline-size: 0; overflow-wrap: anywhere; }
.arvr-ads-report-rows { display: grid; gap: var(--space-md); }
.arvr-ads-print { padding: var(--space-lg); }
@media print {
    .arvr-ads-report-controls { display: none !important; }
    .arvr-ads-print { padding: 0; }
    .arvr-ads-print .arvr-ads-report-row { break-inside: avoid; }
}
