/* Shared visual language, derived from the Index editorial design.
   Legacy CSS retains feature layouts; this layer owns shared presentation. */
:root {
    color-scheme: dark;
    --ui-bg: #090f15;
    --ui-surface: #101b23;
    --ui-raised: #15232c;
    --ui-text: #edf3f5;
    --ui-muted: #a5b3bd;
    --ui-accent: #77e0c4;
    --ui-line: #293b43;
    --ui-radius: 12px;
    --bg: var(--ui-bg);
    --bg-2: #0c141b;
    --panel: var(--ui-surface);
    --panel-strong: var(--ui-raised);
    --text: var(--ui-text);
    --muted: var(--ui-muted);
    --subtle: #91a2ac;
    --cyan: var(--ui-accent);
    --teal: var(--ui-accent);
    --blue: #8abdd5;
    --violet: #aabccf;
    --magenta: #b1c8c2;
    --line: var(--ui-line);
    --line-hot: #50766b;
    --shadow: 0 16px 40px #0002;
    --site-width: min(1180px, calc(100% - 64px));
}
.editorial-site { background: var(--ui-bg); color: var(--ui-text); font-family: Inter, "Segoe UI", Arial, sans-serif; line-height: 1.7; }
.editorial-site :is(h1,h2,h3,h4) { color: var(--ui-text); letter-spacing: -.03em; line-height: 1.25; text-wrap: balance; }
.editorial-site :is(p,li,dd,a,strong) { overflow-wrap: break-word; }
.editorial-site :is(button,input,select,textarea) { font: inherit; }
.editorial-site :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--ui-accent); outline-offset: 4px; }
.editorial-site :is(button,a) { -webkit-tap-highlight-color: transparent; }
.editorial-site button:not(:disabled),.editorial-site summary { cursor: pointer; }
.editorial-site :is(button,input,select,textarea):disabled { cursor: not-allowed; opacity: .55; }
.editorial-site [hidden] { display: none !important; }
#page-content { min-height: 50vh; }
#page-content:focus { outline: none; }
.skip-link { position: fixed; top: 12px; left: 20px; z-index: 10001; transform: translateY(-180%); padding: 10px 18px; border-radius: 8px; background: var(--ui-accent); color: #081e18; font-weight: 700; }
.skip-link:focus { transform: none; }
.editorial-site .site-header { width: var(--site-width); margin-top: 20px; padding: 12px 16px; min-height: 72px; background: #0c141df5; border: 1px solid var(--ui-line); border-radius: var(--ui-radius); box-shadow: none; backdrop-filter: blur(16px); }
.editorial-site .site-header .brand-tagline { display: none; }
.editorial-site .site-header .brand-mark-image { width: 36px; height: 36px; }
.editorial-site .site-header .brand-name { font-size: 20px; letter-spacing: -.035em; }
.editorial-site .site-header .nav-links { gap: 3px; }
.editorial-site .site-header .nav-links a,.editorial-site .nav-more>summary { font-size: 13px; font-weight: 600; line-height: 1.4; padding: 11px 12px; border: 1px solid transparent; border-radius: 7px; color: #b6c5cd; text-decoration: none; }
.editorial-site .site-header .nav-links a:hover,.editorial-site .nav-more>summary:hover { color: var(--ui-text); background: var(--ui-raised); }
.editorial-site .site-header .nav-links a[aria-current=page] { color: var(--ui-accent); background: #16332b; }
.editorial-site .site-header .nav-links .nav-account-link { background: var(--ui-raised); border: 1px solid var(--ui-line); box-shadow: none; color: var(--ui-text); }
.editorial-site .site-menu-button { background: var(--ui-raised); border-color: var(--ui-line); box-shadow: none; min-height: 44px; }
.site-menu-toggle:focus-visible+.site-menu-button { outline: 3px solid var(--ui-accent); outline-offset: 3px; }
.nav-more { position: relative; }
.nav-more>summary { list-style: none; display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.nav-more>summary::-webkit-details-marker { display: none; }
.nav-more>summary:after { content: ''; width: 5px; height: 5px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); margin-top: -3px; }
.nav-more[open]>summary { color: var(--ui-accent); }
.nav-more-links { position: absolute; top: calc(100% + 12px); right: 0; width: 230px; padding: 8px; border: 1px solid var(--ui-line); border-radius: 10px; background: #101b23; box-shadow: 0 16px 40px #0006; }
.editorial-site .site-header .nav-more-links a { display: flex; width: 100%; padding: 12px; }
.editorial-site .nav-account-dropdown { background: #101b23; border-color: var(--ui-line); box-shadow: 0 16px 40px #0005; }
.editorial-site .nav-account-menu:not(.is-open) .nav-account-dropdown { opacity: 0; visibility: hidden; pointer-events: none; }
.editorial-site .nav-account-menu.is-open .nav-account-dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.editorial-site .nav-account-dropdown::before { border-bottom-color: var(--ui-line); }
.editorial-site .section-kicker { margin: 0 0 16px; color: var(--ui-accent); font-size: .72rem; line-height: 1.5; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
#page-content :is(.button,.download-secondary-button,.download-main-button,.checkout-pay-button,.preset-claim-button,.store-filter-form button) { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 20px; border-radius: 9px; font-weight: 650; font-size: .9rem; line-height: 1.5; text-decoration: none; box-shadow: none; transition: background .15s, border-color .15s; }
#page-content :is(.button.primary,.download-main-button,.checkout-pay-button,.preset-claim-button,.store-filter-form button) { color: #081e18; background: var(--ui-accent); border: 1px solid var(--ui-accent); text-shadow: none; }
#page-content :is(.button.primary,.download-main-button,.checkout-pay-button,.preset-claim-button,.store-filter-form button):hover:not(:disabled) { background: #a1edda; border-color: #a1edda; transform: none; }
#page-content :is(.button.ghost,.download-secondary-button) { color: var(--ui-text); border: 1px solid #354b55; background: var(--ui-surface); }
#page-content :is(.button.ghost,.download-secondary-button):hover { border-color: var(--ui-accent); background: var(--ui-raised); }
#page-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea) { color: var(--ui-text); background: #0b141b; border: 1px solid #3b4e59; border-radius: 8px; min-height: 48px; padding: 11px 13px; font-size: .93rem; line-height: 1.5; box-shadow: none; max-width: 100%; }
#page-content :is(input,textarea)::placeholder { color: #8d9fab; opacity: 1; }
#page-content :is(input[type=checkbox],input[type=radio]) { accent-color: var(--ui-accent); width: 18px; height: 18px; min-height: 0; flex-shrink: 0; }
#page-content select { color-scheme: dark; }
#page-content label { line-height: 1.6; }
#page-content input[type=file] { background: #0b141b; border-color: #3b4e59; border-radius: 8px; }
#page-content input[type=file]::file-selector-button { background: var(--ui-raised); color: var(--ui-text); border-color: var(--ui-line); }
.editorial-site :is(.form-error,.form-success,.download-alert,.store-notice,.checkout-alert) { border-radius: 9px; line-height: 1.7; font-size: .92rem; }
.editorial-site .form-error { color: #ffb6bd; }
.editorial-site .form-success { color: #a5ecd7; }
.editorial-site .site-footer { margin-top: 0; background: #0c141b; border-color: var(--ui-line); color: var(--ui-text); }
.editorial-site .site-footer-grid { display: none; }
.editorial-site .site-footer-inner { width: var(--site-width); }
.editorial-site .site-footer-corporate-card { background: var(--ui-surface); border-color: var(--ui-line); border-radius: var(--ui-radius); box-shadow: none; backdrop-filter: none; }
.editorial-site .site-footer-columns { border-color: var(--ui-line); gap: 32px; }
.editorial-site .site-footer-columns h2,.editorial-site .corporate-badge { color: #dce8e9; }
.editorial-site .site-footer-columns a { line-height: 1.65; padding-block: 4px; }
.editorial-site .site-footer-preferences .language-switch.active { color: #c7f5e7; background: #18342e; border-color: #42695c; }
.editorial-site .cookie-consent__panel { background: #101b23f5; border-color: #3d5c60; border-radius: 12px; box-shadow: 0 18px 50px #0006; }
.editorial-site .cookie-consent__copy a { color: var(--ui-accent); }
.editorial-site .cookie-consent__button { font-weight: 650; }
.editorial-site .cookie-consent__button--primary { color: #081e18; background: var(--ui-accent); box-shadow: none; }
.editorial-site .cookie-consent__button--ghost { background: var(--ui-raised); border-color: #49606b; }
@media (max-width: 980px) {
    :root { --site-width: calc(100% - 40px); }
    .editorial-site .site-header .nav-links { right: 0; width: min(340px, calc(100vw - 40px)); padding: 12px; max-height: calc(100dvh - 120px); overflow-y: auto; background: #101b23; border: 1px solid #354b55; border-radius: 12px; box-shadow: 0 18px 50px #0006; }
    .editorial-site .site-header .nav-links a,.editorial-site .nav-more>summary { min-height: 44px; font-size: .9rem; }
    .nav-more-links { position: static; width: 100%; margin: 4px 0; box-shadow: none; border: 0; border-left: 2px solid #385a50; border-radius: 0; background: #0c161d; }
    .editorial-site .site-header .nav-account-dropdown { position: static; }
}
@media (max-width: 600px) {
    :root { --site-width: calc(100% - 32px); }
    .editorial-site .site-header { margin-top: 12px; padding: 10px 12px; min-height: 64px; }
    .editorial-site .site-header .brand-name { font-size: 18px; }
    .editorial-site .site-header .brand-mark-image { width: 30px; height: 30px; }
    .editorial-site .site-footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
    .editorial-site .site-footer-columns nav { min-width: 0; }
    .editorial-site .site-footer-columns a { overflow-wrap: anywhere; }
    .editorial-site .site-footer-inner { padding-top: 38px; }
    #page-content :is(.button,.download-main-button,.download-secondary-button) { padding: 12px 16px; font-size: .86rem; }
    #page-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .editorial-site *, .editorial-site *::before, .editorial-site *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
