/* 5droid app.css — generated by frontend/build.mjs from frontend/src/css (DEC-050). Do not edit. */
@layer reset, tokens, base, layout, components, utilities;
@layer tokens {
  :root {
    --neutral-0:   #FFFFFF;
    --neutral-25:  #FAFBFA;
    --neutral-50:  #F3F4F2;
    --neutral-75:  #ECEEED;
    --neutral-100: #E3E6E5;
    --neutral-200: #CFD4D2;
    --neutral-400: #9AA0A4;
    --neutral-450: #868C91;
    --neutral-550: #646A6F;
    --neutral-600: #6B7176;
    --neutral-700: #454B50;
    --neutral-900: #15181B;
    --neutral-950: #000000;
    --neutral-overlay: #0E1113;
    --green-25:  #F0F7F2;
    --green-50:  #E8F5EE;
    --green-100: #CDEBDA;
    --green-500: #18A864;
    --green-600: #138650;
    --green-700: #117445;
    --green-800: #0E623A;
    --red-50:  #FCEAE7;
    --red-700: #B02B27;
    --amber-400: #F5B400;
    --amber-800: #9A6700;
    --color-accent-brand:        var(--green-500);
    --color-accent-solid:        var(--green-700);
    --color-accent-solid-hover:  var(--green-800);
    --color-accent-solid-active: var(--green-800);
    --color-accent-subtle:       var(--green-50);
    --color-border-accent:       var(--green-600);
    --color-border-accent-soft:  var(--green-100);
    --color-divider-on-accent:   rgb(255 255 255 / .3);
    --color-bg-accent:           var(--green-600);
    --color-bg-accent-hover:     var(--green-700);
    --color-bg-accent-active:    var(--green-800);
    --color-text-on-accent:      var(--neutral-0);
    --color-logo-telegram: #26A5E4;
    --color-logo-vk:       #0077FF;
    --color-logo-whatsapp: #25D366;
    --color-bg-page:     var(--neutral-0);
    --color-bg-surface:  var(--neutral-0);
    --color-bg-subtle:   var(--neutral-25);
    --color-bg-band:     var(--green-25);
    --color-bg-hover:    var(--neutral-50);
    --color-bg-inverse:  var(--neutral-900);
    --color-bg-inverse-hover: var(--neutral-950);
    --color-bg-overlay:  var(--neutral-overlay);
    --color-bg-translucent: rgb(255 255 255 / .55);
    --color-bg-sticky: rgb(255 255 255 / .97);
    --color-text-primary:   var(--neutral-900);
    --color-text-secondary: var(--neutral-700);
    --color-text-tertiary:  var(--neutral-550);
    --color-text-disabled:  var(--neutral-400);
    --color-text-inverse:   var(--neutral-0);
    --color-text-inverse-muted: rgb(255 255 255 / .75);
    --color-text-link:      var(--color-accent-solid);
    --color-text-link-hover: var(--color-accent-solid-hover);
    --color-text-danger:    var(--red-700);
    --color-separator:      var(--neutral-100);
    --color-separator-soft: var(--neutral-75);
    --color-border:         var(--neutral-200);
    --color-border-subtle:  var(--neutral-100);
    --color-border-input:   var(--neutral-450);
    --color-border-strong:  var(--neutral-600);
    --color-border-danger:  var(--red-700);
    --color-focus-ring:     var(--color-accent-solid);
    --color-focus-halo:     var(--color-accent-subtle);
    --color-icon:          var(--neutral-700);
    --color-icon-muted:    var(--neutral-600);
    --color-icon-subtle:   var(--neutral-400);
    --color-star-on:       var(--amber-400);
    --color-star-edge:     var(--amber-800);
    --color-star-off:      var(--neutral-450);
    --color-star-off-static: var(--neutral-200);
    --color-bg-danger-subtle: var(--red-50);
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", system-ui, "Helvetica Neue", Arial, sans-serif;
    --font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Consolas, "Roboto Mono", "Noto Sans Mono", monospace;
    --font-weight-regular: 400;
    --font-weight-strong: 600;
    --font-weight-bold: 700;
    --text-badge:    0.6875rem;
    --text-caption:  0.8125rem;
    --text-meta:     0.875rem;
    --text-ui:       0.9375rem;
    --text-body:     1rem;
    --text-lead:     1.0625rem;
    --text-title-sm: 1.125rem;
    --text-title:    1.25rem;
    --text-title-lg: 1.375rem;
    --text-h1:       1.6875rem;
    --text-display:  2.125rem;
    --text-code:     4rem;
    --leading-tight:  1.12;
    --leading-title:  1.25;
    --leading-snug:   1.3;
    --leading-ui:     1.45;
    --leading-body:   1.55;
    --leading-prose:  1.65;
    --tracking-h1:    -.025em;
    --tracking-title: -.016em;
    --tracking-badge: .04em;
    --measure-prose: 42rem;
    --measure-text:  68ch;
    --measure-field: 720px;
    --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px; --space-5: 20px;
    --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-14: 56px;
    --space-gutter: 16px;
    --space-module: 40px;
    --space-inline-tight: 6px;
    --space-inset: 14px;
    --size-target: 44px;
    --size-control: 48px;
    --size-cta: 56px;
    --size-header: 56px;
    --size-sticky-bar: 72px;
    --size-card-icon: 52px;
    --container-content: 1204px;
    --radius-badge: 6px;
    --radius-s: 8px;
    --radius-m: 12px;
    --radius-l: 20px;
    --radius-icon: 23%;
    --radius-round: 50%;
    --shadow-card: 0 1px 0 rgb(21 24 27 / .03), 0 18px 40px -28px rgb(21 24 27 / .30);
    --shadow-icon: 0 0 0 1px rgb(21 24 27 / .08), 0 6px 18px -10px rgb(21 24 27 / .35);
    --shadow-raised: 0 1px 2px rgb(21 24 27 / .05), 0 4px 14px -6px rgb(21 24 27 / .12);
    --shadow-raised-hover: 0 2px 4px rgb(21 24 27 / .05), 0 16px 30px -14px rgb(17 116 69 / .38);
    --shadow-field: 0 1px 2px rgb(21 24 27 / .05), 0 8px 24px -12px rgb(21 24 27 / .24);
    --shadow-header: 0 1px 0 rgb(21 24 27 / .06), 0 8px 24px -18px rgb(21 24 27 / .30);
    --shadow-cta: 0 10px 22px -12px rgb(24 168 100 / .75);
    --outline-image: 0 0 0 1px rgb(0 0 0 / .1);
    --ease-out: cubic-bezier(.23, 1, .32, 1);
    --ease-hover: ease;
    --duration-fast: 150ms;
    --duration-press: 110ms;
    --duration-base: 200ms;
    --duration-slow: 250ms;
    --duration-caret: var(--duration-base);
    --duration-sticky: var(--duration-slow);
    --press-scale: .98;
  }
  @media (min-width: 768px) {
    :root { --text-h1: 2rem ; --text-code: 5rem ; --size-card-icon: 56px; }
  }
  @media (min-width: 1024px) {
    :root { --space-gutter: 32px; }
  }
  @media (prefers-reduced-motion: reduce) {
    :root { --duration-caret: 0ms; --duration-sticky: 0ms; }
  }
}
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { margin: 0; }
  h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
  :where(ul, ol)[class] { padding: 0; list-style: none; }
  button, input, textarea, select { font: inherit; color: inherit; }
  fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
  legend { padding: 0; }
  img, video { max-width: 100%; height: auto; }
}
@layer base {
  :root { --z-dropdown: 20; --z-sticky: 30; --z-skip-link: 40; }
  html { scroll-behavior: auto; }
  body {
    background: var(--color-bg-page);
    color: var(--color-text-primary);
    font: var(--font-weight-regular) var(--text-body)/var(--leading-body) var(--font-sans);
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  a {
    color: var(--color-text-link);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    text-decoration-skip-ink: auto;
  }
  @media (hover: hover) and (pointer: fine) {
    a:hover { color: var(--color-text-link-hover); }
  }
  :focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  code, kbd, samp, pre { font-family: var(--font-mono); }
  pre { overflow-x: auto; font-size: var(--text-meta); line-height: var(--leading-body); }
  :where(button, select, input:not([type="checkbox"], [type="radio"], [type="hidden"], [type="range"])) { min-height: var(--size-target); }
  ::placeholder { color: var(--color-text-tertiary); opacity: 1; }
  :disabled { cursor: not-allowed; }
  :where(input[type="checkbox"], input[type="radio"]) { accent-color: var(--color-accent-solid); }
  textarea { resize: vertical; }
  summary { cursor: pointer; min-height: var(--size-target); padding-block: calc((var(--size-target) - 1lh) / 2); }
  .num { font-variant-numeric: tabular-nums; }
  .mono { font-family: var(--font-mono); font-size: var(--text-caption); }
  .mono--hash { word-break: break-all; }
  .skip-link {
    position: absolute;
    top: var(--space-2);
    left: var(--space-gutter);
    z-index: var(--z-skip-link);
    display: inline-flex;
    align-items: center;
    min-height: var(--size-target);
    padding-inline: var(--space-4);
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-m);
    background: var(--color-bg-surface);
    font: var(--font-weight-strong) var(--text-ui)/var(--leading-snug) var(--font-sans);
  }
  .skip-link:not(:focus) {
    width: 1px; height: 1px; min-height: 0; padding: 0; margin: -1px; border: 0;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
}
@layer utilities {
  [hidden]:not([hidden="until-found"]) { display: none; }
  .is-pending { visibility: hidden; }
  .visually-hidden {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
  }
  .scroll-x { overflow-x: auto; }
}
@layer layout {
  .container { max-width: calc(var(--container-content) + 2 * var(--space-gutter)); margin: 0 auto; padding-inline: var(--space-gutter); }
  .band { background: var(--color-bg-band); }
}
@layer components {
  .page-title { font: var(--font-weight-bold) var(--text-h1)/var(--leading-tight) var(--font-sans); letter-spacing: var(--tracking-h1); text-wrap: balance; overflow-wrap: anywhere; min-width: 0; }
  .page-title__page { font-weight: var(--font-weight-regular); font-size: .7em; letter-spacing: -.01em; color: var(--color-text-tertiary); white-space: nowrap; }
  .page-title--app { font-size: var(--text-title-lg); line-height: 1.2; letter-spacing: -.018em; }
  .heading-lg { font: var(--font-weight-bold) var(--text-title-lg)/var(--leading-title) var(--font-sans); letter-spacing: var(--tracking-title); text-wrap: balance; overflow-wrap: anywhere; }
  .heading { font: var(--font-weight-bold) var(--text-title)/var(--leading-snug) var(--font-sans); letter-spacing: -.015em; text-wrap: balance; }
  .heading-sm { font: var(--font-weight-bold) var(--text-lead)/var(--leading-snug) var(--font-sans); letter-spacing: -.01em; text-wrap: balance; }
  .heading-label { font: var(--font-weight-strong) var(--text-ui)/var(--leading-snug) var(--font-sans); }
  .lead { max-width: var(--measure-prose); font-size: var(--text-body); line-height: var(--leading-body); color: var(--color-text-secondary); text-wrap: pretty; }
  @media (min-width: 768px) { .lead { font-size: var(--text-lead); } }
  .intro-text { max-width: var(--measure-text); font-size: var(--text-ui); line-height: var(--leading-body); color: var(--color-text-secondary); }
}
@layer base {
  .icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .icon--s { width: 16px; height: 16px; stroke-width: 1.8; }
  .icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
}
@layer components {
  .icon-badge { display: inline-grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: var(--radius-m); background: var(--color-accent-subtle); color: var(--color-accent-solid); }
  .icon-badge--m { width: 44px; height: 44px; }
  .icon-badge--m .icon { width: 24px; height: 24px; }
  .icon-badge--l { width: var(--space-14); height: var(--space-14); border-radius: var(--radius-round); }
  .icon-badge--l .icon { width: 28px; height: 28px; }
  .icon-badge--section { width: var(--space-8); height: var(--space-8); }
  .page-head .icon-badge { background: var(--color-bg-surface); box-shadow: var(--shadow-raised); }
}
@layer components {
  .icon-button {
    width: var(--size-target); height: var(--size-target); display: grid; place-items: center; flex: none;
    border: 0; background: none; border-radius: var(--radius-m); color: var(--color-icon); cursor: pointer; text-decoration: none;
    transition: background-color var(--duration-fast) var(--ease-hover), color var(--duration-fast) var(--ease-hover);
  }
  @media (hover: hover) and (pointer: fine) {
    .icon-button:hover { background: var(--color-bg-hover); color: var(--color-text-primary); }
  }
}
@layer components {
  .choice { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--size-target); cursor: pointer; }
  .choice__control { flex: none; margin: 0; }
}
@layer components {
  .search-field { display: flex; height: var(--size-control); background: var(--color-bg-surface); border: 1px solid var(--color-border-input); border-radius: var(--radius-m); overflow: hidden; }
  .search-field:focus-within { border-color: var(--color-focus-ring); box-shadow: 0 0 0 3px var(--color-focus-halo); outline: 2px solid transparent; outline-offset: 2px; }
  .search-field__input {
    flex: 1; min-width: 0; min-height: 0; border: 0; padding: 0 4px 0 14px; background: none; color: var(--color-text-primary);
    font: var(--font-weight-regular) var(--text-body)/1 var(--font-sans); outline: none; appearance: none;
    text-overflow: ellipsis;
  }
  .search-field__input::placeholder { color: var(--color-text-tertiary); }
  .search-field__input::-webkit-search-cancel-button { display: none; }
  .search-field__submit { flex: none; width: var(--size-control); min-height: 0; border: 0; background: none; color: var(--color-icon); display: grid; place-items: center; cursor: pointer; transition: color var(--duration-fast) var(--ease-hover); }
  @media (hover: hover) and (pointer: fine) {
    .search-field__submit:hover { color: var(--color-accent-solid); }
  }
  .search-field__submit:focus-visible { outline-offset: -3px; }
  .search-field--page { width: 100%; max-width: var(--measure-field); box-shadow: var(--shadow-field); }
  .search-field--page:focus-within { box-shadow: 0 0 0 3px var(--color-focus-halo), var(--shadow-field); }
}
@layer components {
  .site-header { position: relative; background: var(--color-bg-page); border-bottom: 1px solid var(--color-separator); box-shadow: var(--shadow-header); }
  .site-header__inner {
    display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-rows: var(--size-header);
    align-items: center; column-gap: var(--space-2);
  }
  .site-header__logo {
    grid-area: 1 / 1; justify-self: start;
    display: inline-flex; align-items: center; min-height: var(--size-target);
    font: var(--font-weight-bold) var(--text-title)/1 var(--font-sans); letter-spacing: -.02em;
    color: var(--color-text-primary); text-decoration: none;
  }
  .site-header__logo--image { min-width: 0; max-width: 100%; }
  .site-header__logo-image { display: block; width: auto; height: 28px; max-width: 100%; object-fit: contain; object-position: left center; }
  .site-header__logo-accent { color: var(--color-accent-brand); font-weight: var(--font-weight-bold); }
  @media (hover: hover) and (pointer: fine) {
    .site-header__logo:hover { color: var(--color-text-primary); }
  }
  .site-header__search-link { grid-area: 1 / 2; }
  .site-header__menu, .site-header__menu-fallback { grid-area: 1 / 3; }
  .site-header__menu[aria-expanded="true"] { background: var(--color-bg-hover); color: var(--color-text-primary); }
  .site-header__menu .site-header__menu-close, .site-header__menu[aria-expanded="true"] .site-header__menu-open { display: none; }
  .site-header__menu[aria-expanded="true"] .site-header__menu-close { display: block; }
  .site-header__nav {
    grid-area: 2 / 1 / 3 / -1; display: none;
    margin-inline: calc(var(--space-gutter) * -1); padding: var(--space-2) var(--space-gutter) var(--space-3);
    border-top: 1px solid var(--color-separator);
  }
  .site-header.is-menu-open .site-header__nav, .site-header__nav:target { display: block; }
  .site-header__nav-link {
    display: flex; align-items: center; min-height: var(--size-control);
    padding-inline: var(--space-3); margin-inline: calc(var(--space-3) * -1);
    border-radius: var(--radius-s); color: var(--color-text-secondary);
    font-size: var(--text-body); font-weight: var(--font-weight-strong); text-decoration: none;
    transition: color var(--duration-fast) var(--ease-hover), background-color var(--duration-fast) var(--ease-hover);
  }
  @media (hover: hover) and (pointer: fine) {
    .site-header__nav-link:hover { color: var(--color-text-primary); background: var(--color-bg-hover); }
  }
  .site-header__nav-link[aria-current] { color: var(--color-text-primary); box-shadow: inset 2px 0 0 var(--color-border-accent); border-radius: 0 var(--radius-s) var(--radius-s) 0; }
  .site-header__nav-item--parent { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .site-header__nav-item--parent > .site-header__nav-link { margin-inline-end: 0; }
  .site-header__submenu-toggle {
    display: inline-flex; align-items: center; justify-content: center; width: var(--size-target); min-height: var(--size-target);
    padding: 0; border: 0; border-radius: var(--radius-s); background: none; color: var(--color-icon-muted); cursor: pointer;
  }
  .site-header__submenu-toggle .icon { transition: transform var(--duration-caret) var(--ease-out); }
  .site-header__submenu-toggle[aria-expanded="true"] { color: var(--color-text-primary); }
  .site-header__submenu-toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
  @media (hover: hover) and (pointer: fine) {
    .site-header__submenu-toggle:hover { color: var(--color-text-primary); background: var(--color-bg-hover); }
  }
  .site-header__submenu { grid-column: 1 / -1; padding: 0 0 var(--space-1) var(--space-4); }
  .site-header.has-submenu-js .site-header__submenu { display: none; }
  .site-header.has-submenu-js .site-header__nav-item.is-open > .site-header__submenu { display: block; }
  .site-header__submenu-link {
    display: flex; align-items: center; min-height: var(--size-target);
    padding-inline: var(--space-3); margin-inline: calc(var(--space-3) * -1);
    border-radius: var(--radius-s); color: var(--color-text-secondary);
    font-size: var(--text-ui); text-decoration: none;
    transition: color var(--duration-fast) var(--ease-hover), background-color var(--duration-fast) var(--ease-hover);
  }
  @media (hover: hover) and (pointer: fine) {
    .site-header__submenu-link:hover { color: var(--color-text-primary); background: var(--color-bg-hover); }
  }
  .site-header__search { display: none; }
  .site-header.is-search-open .site-header__search, .site-header__search:target { grid-area: 1 / 1 / 2 / -1; display: flex; min-width: 0; align-items: center; gap: var(--space-2); }
  .site-header__search-field { flex: 1; height: 46px; }
  .site-header:is(.is-search-open, :has(.site-header__search:target)) :is(.site-header__logo, .site-header__nav, .site-header__search-link, .site-header__menu, .site-header__menu-fallback) { display: none; }
  .site-header:not(.is-search-open) .site-header__search:target .site-header__search-close { display: none; }
  @media (forced-colors: active) {
    .site-header__nav-link[aria-current] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
  }
  @media (min-width: 1024px) {
    .site-header__inner { display: flex; height: var(--size-header); gap: var(--space-2); }
    .site-header__nav, .site-header.is-menu-open .site-header__nav { display: block; margin: 0 auto 0 var(--space-6); padding: 0; border-top: 0; }
    .site-header__nav-list { display: flex; gap: var(--space-1); }
    .site-header__nav-link { display: inline-flex; min-height: var(--size-target); padding-inline: 10px; margin-inline: 0; font-size: var(--text-ui); }
    .site-header__nav-link[aria-current] { box-shadow: inset 0 -2px 0 var(--color-border-accent); border-radius: var(--radius-s) var(--radius-s) 0 0; }
    .site-header__nav-item--parent { position: relative; display: flex; }
    .site-header__nav-item--parent > .site-header__nav-link { padding-inline-end: var(--space-2); }
    .site-header__submenu-toggle { margin-inline-start: var(--space-1); }
    .site-header__submenu {
      display: none; position: absolute; top: calc(100% + var(--space-1)); left: 0; z-index: var(--z-dropdown);
      min-width: 12rem; padding: var(--space-1); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-m);
      background: var(--color-bg-surface); box-shadow: var(--shadow-card);
    }
    .site-header__submenu-link { margin-inline: 0; }
    .site-header__menu, .site-header__menu-fallback { display: none; }
    .site-header:is(.is-search-open, :has(.site-header__search:target)) .site-header__logo { display: inline-flex; margin-inline-end: var(--space-6); }
    .site-header.is-search-open .site-header__search, .site-header__search:target { flex: 1; max-width: 640px; margin-inline-start: auto; }
  }
}
@layer components {
  .breadcrumbs__list { display: flex; align-items: center; overflow-x: auto; scrollbar-width: none; white-space: nowrap; margin: 0 calc(var(--space-gutter) * -1); padding: 0 var(--space-gutter); }
  .breadcrumbs__list::-webkit-scrollbar { display: none; }
  .breadcrumbs__item { display: flex; align-items: center; flex: none; font-size: var(--text-meta); }
  .breadcrumbs__item + .breadcrumbs__item::before { content: ""; width: 5px; height: 5px; border-top: 1.4px solid var(--color-icon-subtle); border-right: 1.4px solid var(--color-icon-subtle); transform: rotate(45deg); margin: 0 10px 0 6px; }
  .breadcrumbs__link, .breadcrumbs__current, .breadcrumbs__text { display: inline-flex; align-items: center; justify-content: center; min-height: var(--size-target); min-width: var(--size-target); padding: 0 2px; }
  .breadcrumbs__link, .breadcrumbs__text { color: var(--color-text-tertiary); text-decoration: none; }
  @media (hover: hover) and (pointer: fine) {
    .breadcrumbs__link:hover { color: var(--color-text-primary); text-decoration: underline; }
  }
  .breadcrumbs__link:focus-visible { outline-offset: -2px; }
  .breadcrumbs__current { color: var(--color-text-primary); font-weight: var(--font-weight-strong); }
  @media (min-width: 1024px) {
    .breadcrumbs { padding-top: var(--space-3); }
    .breadcrumbs__list { margin: 0; padding: 0; }
  }
}
@layer components {
  .site-footer { border-top: 1px solid var(--color-separator); color: var(--color-text-tertiary); font-size: var(--text-caption); }
  .site-footer__inner { padding-top: var(--space-6); padding-bottom: var(--space-10); }
  .site-footer__top { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-8); row-gap: var(--space-2); padding-bottom: var(--space-4); margin-bottom: var(--space-4); border-bottom: 1px solid var(--color-separator); }
  .site-footer__brand { display: inline-flex; align-items: center; min-height: var(--size-target); color: var(--color-text-primary); font-weight: var(--font-weight-bold); text-decoration: none; }
  .site-footer__brand-image { display: block; width: auto; max-width: 100%; height: 24px; object-fit: contain; }
  .site-footer__brand-accent { color: var(--color-accent-solid); }
  .site-footer__links { display: flex; flex-wrap: wrap; column-gap: var(--space-5); }
  .site-footer__nav--main .site-footer__link { color: var(--color-text-primary); font-weight: var(--font-weight-strong); }
  .site-footer__copy { margin-bottom: var(--space-2); }
  .site-footer__link { display: inline-flex; align-items: center; min-height: var(--size-target); color: var(--color-text-secondary); text-decoration: none; }
  @media (hover: hover) and (pointer: fine) {
    .site-footer__link:hover { color: var(--color-text-primary); text-decoration: underline; }
  }
}
@layer components {
  .page-head { background: var(--color-bg-band); padding-bottom: var(--space-4); display: flow-root; }
  .page-head__title { padding-top: var(--space-1); }
  .page-head__title:has(> .icon-badge) { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); }
  .page-head__title > .icon-badge + .page-title { overflow-wrap: break-word; }
  .page-head__context { max-width: var(--measure-text); margin-top: var(--space-1); font-size: var(--text-meta); line-height: 1.25rem; color: var(--color-text-secondary); }
  .page-head__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: var(--space-1); font-size: var(--text-meta); line-height: 1.25rem; color: var(--color-text-tertiary); font-variant-numeric: tabular-nums; }
  .page-head--open { padding-bottom: 0; }
  @media (min-width: 1024px) {
    .page-head { padding-bottom: var(--space-5); }
    .page-head--open { padding-bottom: 0; }
  }
}
@layer components {
  .button {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
    min-height: var(--size-control); padding: 0 var(--space-4);
    border-radius: var(--radius-m); border: 1px solid var(--color-border); background: var(--color-bg-surface);
    font: var(--font-weight-strong) var(--text-ui)/var(--leading-snug) var(--font-sans); color: var(--color-text-primary);
    text-align: center; text-decoration: none; cursor: pointer;
    transition: border-color var(--duration-fast) var(--ease-hover), background-color var(--duration-fast) var(--ease-hover), transform var(--duration-press) var(--ease-out);
  }
  @media (hover: hover) and (pointer: fine) {
    .button:hover { border-color: var(--color-border-accent); color: var(--color-accent-solid); }
  }
  .button:active { transform: scale(var(--press-scale)); }
  .button__size { font-weight: var(--font-weight-regular); color: var(--color-text-tertiary); font-variant-numeric: tabular-nums; }
  .button--wide { width: 100%; }
  .button--compact { min-height: var(--size-target); padding: 0 14px; background: transparent; font-size: var(--text-meta); line-height: 1; white-space: nowrap; }
  .button--compact .button__size { color: var(--color-text-secondary); }
  .button--primary { justify-content: flex-start; width: 100%; min-height: var(--size-cta); padding: 0 6px 0 18px; border-color: transparent; background: var(--color-bg-accent); color: var(--color-text-on-accent); font-size: var(--text-lead); line-height: 1; text-align: start; box-shadow: var(--shadow-cta); transition: background-color var(--duration-fast) var(--ease-hover), box-shadow var(--duration-fast) var(--ease-hover), transform var(--duration-press) var(--ease-out); }
  @media (hover: hover) and (pointer: fine) {
    .button--primary:hover { background: var(--color-bg-accent-hover); border-color: transparent; color: var(--color-text-on-accent); }
  }
  .button--primary .button__label { flex: 1; display: flex; align-items: center; gap: 10px; min-width: 0; padding-block: 10px; line-height: 1.2; overflow-wrap: anywhere; hyphens: auto; }
  .button--primary .button__size { height: var(--size-target); display: flex; align-items: center; padding: 0 12px; border-left: 1px solid var(--color-divider-on-accent); color: var(--color-text-on-accent); font-size: var(--text-ui); }
  .button--primary:active { background: var(--color-bg-accent-active); }
  .button:disabled, .button[aria-disabled="true"] { cursor: not-allowed; border-color: var(--color-border-subtle); background: var(--color-bg-surface); color: var(--color-text-disabled); transform: none; }
  .button--primary:disabled, .button--primary[aria-disabled="true"] { background: var(--color-bg-band); color: var(--color-text-disabled); box-shadow: none; }
  .link-action { display: inline-flex; align-items: center; gap: var(--space-inline-tight); min-height: var(--size-target); font-size: var(--text-ui); font-weight: var(--font-weight-strong); color: var(--color-text-link); text-decoration: none; }
  @media (hover: hover) and (pointer: fine) {
    .link-action:hover { text-decoration: underline; }
  }
  .link-inline { display: inline-flex; align-items: center; gap: var(--space-1); min-height: var(--size-target); font-size: var(--text-meta); color: var(--color-text-link); text-decoration: underline; text-underline-offset: 4px; border: 0; background: none; padding: 0; cursor: pointer; }
}
@layer components {
  .badge {
    display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border-radius: var(--radius-badge);
    font: var(--font-weight-strong) var(--text-badge)/1 var(--font-sans); letter-spacing: var(--tracking-badge);
    color: var(--color-text-secondary); border: 1px solid var(--color-border); background: var(--color-bg-translucent); white-space: nowrap;
  }
  .badge--mod { font-family: var(--font-mono); letter-spacing: .06em; color: var(--color-accent-solid-hover); border-color: var(--color-border-accent-soft); background: var(--color-accent-subtle); }
}
@layer components {
  .chip-nav { margin-top: var(--space-2); }
  .chip-list { display: flex; gap: var(--space-2); overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--space-gutter) * -1); padding: 0 var(--space-gutter); }
  .chip-list::-webkit-scrollbar { display: none; }
  .chip-list--wrap { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; row-gap: 0; }
  .chip { display: inline-flex; align-items: center; flex: none; min-height: var(--size-target); color: var(--color-text-secondary); text-decoration: none; }
  .chip__label {
    display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: var(--radius-s);
    background: var(--color-bg-translucent); border: 1px solid var(--color-border-subtle); font-size: var(--text-meta); white-space: nowrap;
    transition: border-color var(--duration-fast) var(--ease-hover), background-color var(--duration-fast) var(--ease-hover), color var(--duration-fast) var(--ease-hover);
  }
  @media (hover: hover) and (pointer: fine) {
    .chip:hover .chip__label { border-color: var(--color-border); background: var(--color-bg-surface); color: var(--color-text-primary); }
  }
  .chip-list--wrap > li, .chip-list--wrap .chip { max-width: 100%; }
  .chip-list--wrap .chip__label { min-width: 0; height: auto; min-height: 32px; padding-block: 4px; white-space: normal; overflow-wrap: anywhere; }
  .chip[aria-current="page"] .chip__label, .chip[aria-current="true"] .chip__label { background: var(--color-accent-subtle); border-color: var(--color-accent-solid); color: var(--color-accent-solid-hover); font-weight: var(--font-weight-strong); }
  .sort-nav { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-2); margin-bottom: var(--space-1); }
  .sort-nav__label { font-size: var(--text-meta); color: var(--color-text-secondary); }
  .chip:focus-visible { outline: none; }
  .chip:focus-visible .chip__label { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  .chip-toggle { display: inline-flex; align-items: center; min-height: var(--size-target); padding: 0; border: 0; background: none; cursor: pointer; color: var(--color-text-link); }
  .chip-toggle__label {
    display: inline-flex; align-items: center; gap: var(--space-1); height: 32px; padding: 0 8px 0 10px; border-radius: var(--radius-s);
    font-size: var(--text-meta); font-weight: var(--font-weight-strong); white-space: nowrap;
    transition: background-color var(--duration-fast) var(--ease-hover);
  }
  @media (hover: hover) and (pointer: fine) {
    .chip-toggle:hover .chip-toggle__label { background: var(--color-bg-translucent); }
  }
  .chip-toggle .icon { transition: transform var(--duration-caret) var(--ease-out); }
  .chip-toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
  .chip-toggle:focus-visible { outline: none; }
  .chip-toggle:focus-visible .chip-toggle__label { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  @media (max-width: 767.98px) and (scripting: enabled) {
    .chip-list--collapsible:not(.is-laid-out) { max-height: calc(2 * var(--size-target)); overflow: hidden; animation: chip-list-unclamp 0s 4s forwards; }
  }
  @keyframes chip-list-unclamp { to { max-height: none; overflow: visible; } }
  @media (min-width: 768px) {
    .chip-list__more { display: none; }
  }
  @media (min-width: 1024px) {
    .chip-list { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; row-gap: 0; }
  }
}
@layer components {
  .app-icon { display: block; position: relative; flex: none; border-radius: var(--radius-icon); overflow: hidden; box-shadow: var(--shadow-icon); object-fit: cover; }
  .app-icon--s { width: 36px; height: 36px; border-radius: var(--radius-s); }
  .app-icon--s .app-icon__glyph { font-size: var(--text-caption); }
  .app-icon--none { background: var(--color-accent-subtle); box-shadow: var(--shadow-icon); }
  .app-icon__glyph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--color-text-inverse); font: var(--font-weight-bold) 19px/1 var(--font-sans); letter-spacing: -.03em; }
  .app-icon--none .app-icon__glyph { color: var(--color-accent-solid-hover); font-size: var(--text-body); }
  .card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .app-card { display: flex; }
  .app-card__link {
    flex: 1; min-width: 0;
    display: grid; grid-template-columns: var(--size-card-icon) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; column-gap: var(--space-inset);
    align-items: center; min-height: 80px; padding: var(--space-inset);
    border-radius: var(--radius-m); background: var(--color-bg-surface); color: var(--color-text-primary); text-decoration: none;
    box-shadow: inset 0 0 0 1px var(--color-border-subtle), var(--shadow-raised);
    transition: box-shadow var(--duration-fast) var(--ease-hover);
    outline: 1px solid transparent; outline-offset: -1px;
  }
  .app-card .app-icon { width: var(--size-card-icon); height: var(--size-card-icon); }
  .app-card__link > .app-icon { grid-area: 1 / 1 / 3 / 2; }
  .app-card__body { grid-area: 1 / 2; align-self: center; display: block; min-width: 0; }
  .app-card__title {
    font: var(--font-weight-strong) var(--text-body)/var(--leading-snug) var(--font-sans);
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; text-wrap: balance;
  }
  @media (hover: hover) and (pointer: fine) {
    .app-card__link:hover { box-shadow: inset 0 0 0 1px var(--color-border-accent-soft), var(--shadow-raised-hover); }
    .app-card__link:hover .app-card__title { text-decoration: underline; text-decoration-color: var(--color-border); }
    .app-card__link:hover .app-card__cta { background: var(--color-bg-accent-hover); }
  }
  .app-card__link:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  .app-card__status { display: flex; align-items: center; gap: var(--space-inline-tight); margin-top: var(--space-1); min-width: 0; font-size: var(--text-meta); line-height: 1.25rem; color: var(--color-text-secondary); white-space: nowrap; overflow: hidden; }
  .app-card__status > .badge { flex: none; }
  .app-card__summary { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .app-card__status--unavailable { display: block; color: var(--color-text-tertiary); font-size: var(--text-caption); white-space: normal; }
  .app-card__context { display: block; margin-top: 2px; font-size: var(--text-caption); line-height: 1.25rem; color: var(--color-text-tertiary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .app-card__context--mod { display: flex; align-items: center; gap: var(--space-inline-tight); }
  .app-card__context--mod > .badge { flex: none; }
  .app-card__context-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .app-card__foot {
    grid-area: 2 / 2; align-self: end; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: var(--space-2) var(--space-3); margin-top: var(--space-2); min-width: 0;
  }
  .app-card__meta { flex: 0 1 auto; min-width: 0; font-size: var(--text-caption); line-height: 1.125rem; color: var(--color-text-tertiary); font-variant-numeric: tabular-nums; }
  .app-card__version { overflow-wrap: anywhere; }
  .app-card__meta > time { white-space: nowrap; }
  .app-card__rating { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; color: var(--color-text-secondary); }
  .app-card__star { flex: none; width: 1.1em; height: 1.1em;    fill: var(--color-star-on); stroke: var(--color-star-edge); stroke-width: 1.5px; stroke-linejoin: round; }
  .app-card__rating--none .app-card__star { fill: none; stroke: var(--color-star-off); }
  @media (forced-colors: active) {
    .app-card__star { fill: CanvasText; stroke: none; }
    .app-card__rating--none .app-card__star { fill: none; stroke: CanvasText; }
  }
  .app-card__cta {
    flex: none; margin-left: auto; display: inline-flex; align-items: center; min-height: 32px; padding: 0 var(--space-3);
    border-radius: var(--radius-s); background: var(--color-bg-accent); color: var(--color-text-on-accent);
    transition: background-color var(--duration-fast) var(--ease-hover);
    font: var(--font-weight-strong) var(--text-meta)/1.25rem var(--font-sans); white-space: nowrap;
    outline: 1px solid transparent; outline-offset: -1px;
  }
  @media (min-width: 768px) {
    .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
    .app-card__title { display: block; white-space: nowrap; text-overflow: ellipsis; }
  }
  @media (min-width: 1280px) {
    .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
}
@layer components {
  .tile-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin-top: var(--space-2); }
  .tile-list__item:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .tile {
    display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); min-height: 52px; height: 100%;
    padding: 7px 10px 7px var(--space-inset); border-radius: var(--radius-m); background: var(--color-bg-surface); border: 1px solid var(--color-border-subtle);
    color: var(--color-text-primary); font: var(--font-weight-regular) var(--text-ui)/var(--leading-snug) var(--font-sans); text-decoration: none;
    transition: border-color var(--duration-fast) var(--ease-hover);
  }
  .tile__label { min-width: 0; overflow-wrap: break-word; hyphens: auto; }
  .tile__label b { display: block; font-weight: var(--font-weight-strong); }
  .tile .icon { color: var(--color-icon-subtle); transition: color var(--duration-fast) var(--ease-hover); }
  @media (hover: hover) and (pointer: fine) {
    .tile:hover { border-color: var(--color-border); color: var(--color-text-primary); }
    .tile:hover .icon { color: var(--color-icon); }
  }
  @media (min-width: 768px) {
    .tile-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tile-list__item:last-child:nth-child(odd) { grid-column: auto; }
  }
}
@layer components {
  .shelf { padding-top: var(--space-3); }
  .shelf__list { display: flex; gap: var(--space-2); overflow-x: auto; scrollbar-width: none; scroll-padding-inline: var(--space-gutter); margin: var(--space-2) calc(var(--space-gutter) * -1) 0; padding: 0 var(--space-gutter) var(--space-1); }
  .shelf__list::-webkit-scrollbar { display: none; }
  .shelf__item { flex: 0 0 5.5rem; }
  .shelf__link { display: grid; justify-items: center; align-content: start; gap: var(--space-2); min-height: var(--size-target); padding: var(--space-2) var(--space-1); border-radius: var(--radius-s); color: var(--color-text-primary); text-decoration: none; }
  .shelf__link > .app-icon { width: 64px; height: 64px; }
  .shelf__name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; max-width: 100%; font-size: var(--text-meta); line-height: 1.25rem; text-align: center; overflow-wrap: anywhere; }
  @media (hover: hover) and (pointer: fine) {
    .shelf__link:hover .shelf__name { color: var(--color-text-link); text-decoration: underline; }
  }
  .shelf__link:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: -2px; }
  @media (min-width: 768px) {
    .shelf__list { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); overflow: visible; margin: var(--space-2) 0 0; padding: 0; }
  }
}
@layer components {
  .pagination { margin: var(--space-6) 0 var(--space-10); }
  .pagination__list { display: flex; justify-content: center; align-items: center; gap: var(--space-1); }
  .pagination__link {
    display: grid; place-items: center; min-width: var(--size-target); height: var(--size-target); padding: 0 6px; border-radius: var(--radius-m);
    font-size: var(--text-ui); font-variant-numeric: tabular-nums; text-decoration: none; color: var(--color-text-primary);
    transition: background-color var(--duration-fast) var(--ease-hover);
  }
  @media (hover: hover) and (pointer: fine) {
    .pagination__link:hover { background: var(--color-bg-hover); color: var(--color-text-primary); }
  }
  .pagination__link[aria-current="page"] { background: var(--color-bg-accent); color: var(--color-text-on-accent); font-weight: var(--font-weight-strong); }
  .pagination__link--step { border: 1px solid var(--color-border); }
  .pagination__link--disabled { border: 1px solid var(--color-border-subtle); color: var(--color-text-disabled); }
  .pagination__gap { min-width: 20px; text-align: center; color: var(--color-text-tertiary); }
  .pagination__text { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  @media (max-width: 359.98px) { .pagination__item--wide { display: none; } }
  @media (min-width: 360px) { .pagination__item--narrow { display: none; } }
  @media (min-width: 360px) and (max-width: 419.98px) {
    .pagination--long .pagination__item--wide { display: none; }
    .pagination--long .pagination__item--narrow { display: block; }
  }
  @media (forced-colors: active) {
    .pagination__link[aria-current="page"] { border: 2px solid CanvasText; }
    .pagination__link--disabled { border-color: GrayText; color: GrayText; }
  }
  .pagination__summary { margin-top: var(--space-2); text-align: center; font-size: var(--text-caption); color: var(--color-text-tertiary); }
  @media (min-width: 768px) {
    .pagination__link--step, .pagination__link--disabled { display: inline-flex; gap: var(--space-inline-tight); padding: 0 14px 0 10px; }
    .pagination__link--next { padding: 0 10px 0 14px; }
    .pagination__text { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; }
  }
}
@layer components {
  .category-groups { border-top: 1px solid var(--color-separator); }
  .category-groups--band { border-top: 0; background: var(--color-bg-band); margin-top: var(--space-8); }
  .category-groups__inner { padding-top: var(--space-5); padding-bottom: var(--space-6); }
  .category-groups__intro { margin-bottom: var(--space-3); font-size: var(--text-meta); line-height: 1.25rem; color: var(--color-text-tertiary); }
  .category-groups__group + .category-groups__group { margin-top: var(--space-5); }
  .category-groups__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; column-gap: var(--space-3); }
}
@layer components {
  .app-hero { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--space-4); align-items: center; padding: var(--space-1) 0 var(--space-5); }
  .app-hero .app-icon { width: 64px; height: 64px; }
  .app-hero .app-icon__glyph { font-size: 26px; }
  .app-hero > .app-icon { grid-area: 1 / 1; }
  .app-hero__text { grid-area: 1 / 2; min-width: 0; padding-top: 1px; }
  .app-hero__badges[data-build-badge] { display: none; }
  .detail-page:has(.build-switch__radio[value="mod"]:checked) .app-hero__badges[data-build-badge] { display: flex; }
  .app-hero__badges { display: flex; flex-wrap: wrap; gap: var(--space-inline-tight); margin-top: var(--space-2); }
  .app-hero__lead { grid-area: 2 / 1 / 3 / 3; margin-top: var(--space-3); }
  @media (min-width: 768px) { .app-hero__lead { font-size: var(--text-body); } }
  @media (min-width: 1024px) { .app-hero { column-gap: var(--space-6); } .app-hero .app-icon { width: 88px; height: 88px; } }
  .nowrap { white-space: nowrap; }
}
@layer components {
  .download-card { background: var(--color-bg-surface); border: 1px solid var(--color-separator); border-radius: var(--radius-l); overflow: hidden; box-shadow: var(--shadow-card); }
  .download-card__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--color-bg-surface); border-bottom: 1px solid var(--color-separator); }
  .download-card__fact { background: var(--color-bg-surface); padding: 12px var(--space-4) 13px; min-width: 0; box-shadow: 0 0 0 1px var(--color-separator); }
  .download-card__fact:nth-child(odd of :not([hidden])):nth-last-child(1 of :not([hidden])) { box-shadow: 0 -1px 0 0 var(--color-separator), -1px 0 0 0 var(--color-separator), 0 1px 0 0 var(--color-separator); }
  .download-card__fact dt { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-1); overflow-wrap: break-word; font-size: var(--text-caption); line-height: var(--leading-snug); color: var(--color-text-tertiary); }
  .download-card__fact-icon { width: 14px; height: 14px; stroke-width: 2; color: var(--color-accent-solid); }
  .download-card__fact dd { margin-top: 3px; font: var(--font-weight-strong) var(--text-body)/var(--leading-snug) var(--font-sans); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
  .download-card__meta { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-inset); row-gap: var(--space-3); margin: 0; padding: 10px var(--space-4); border-bottom: 1px solid var(--color-separator); background: var(--color-bg-subtle); font-size: var(--text-meta); line-height: var(--leading-ui); }
  .download-card__meta > div { display: flex; align-items: center; gap: var(--space-1); min-width: 0; }
  .download-card__meta dt { color: var(--color-text-tertiary); }
  .download-card__meta dd { margin: 0; min-width: 0; font-weight: var(--font-weight-strong); color: var(--color-text-secondary); overflow-wrap: anywhere; }
  .download-card__meta dd a { display: inline-flex; align-items: center; min-height: var(--size-target); margin-block: -12px; font-weight: var(--font-weight-regular); color: var(--color-text-link); }
  .download-card__meta:has(+ .download-card__meta-note) { border-bottom: 0; padding-bottom: 2px; }
  .download-card__meta-note { padding: 0 var(--space-4) 10px; border-bottom: 1px solid var(--color-separator); background: var(--color-bg-subtle); font-size: var(--text-caption); line-height: var(--leading-ui); color: var(--color-text-tertiary); overflow-wrap: anywhere; }
  .download-card__meta-note .link-inline { font-size: inherit; margin-block: -12px; }
  .promo-code { display: inline-flex; align-items: center; gap: 2px; min-width: 0; }
  .promo-code__value { font-weight: var(--font-weight-strong); color: var(--color-text-secondary); overflow-wrap: anywhere; user-select: all; }
  .promo-code.is-copyable .promo-code__value { user-select: text; cursor: copy; text-decoration: underline dotted transparent; text-underline-offset: 3px; transition: text-decoration-color var(--duration-fast) var(--ease-hover); }
  @media (hover: hover) and (pointer: fine) { .promo-code.is-copyable:hover .promo-code__value { text-decoration-color: currentColor; } }
  .promo-code .copy-button { position: relative; margin-block: -11px; background: none; color: var(--color-icon-muted); }
  .promo-code .copy-button::before { content: ""; position: absolute; inset: 10px; border-radius: var(--radius-s); transition: background-color var(--duration-fast) var(--ease-hover); }
  .promo-code .copy-button > .icon { position: relative; }
  @media (hover: hover) and (pointer: fine) {
    .promo-code .copy-button:hover, .promo-code.is-copyable:hover .copy-button { background: none; color: var(--color-icon); }
  }
  .promo-code .copy-button.is-done { color: var(--color-accent-solid); }
  .promo-code .copy-button:focus-visible { outline: none; }
  .promo-code .copy-button:focus-visible::before { outline: 2px solid var(--color-focus-ring); outline-offset: 0; }
  .build-switch { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 var(--space-3); padding: 3px; border: 0; border-radius: var(--radius-m); background: var(--color-bg-band); }
  .build-switch__option { position: relative; }
  .build-switch__radio { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
  .build-switch__label { display: flex; align-items: center; justify-content: center; min-height: var(--size-target); border-radius: 9px; font-size: var(--text-ui); font-weight: var(--font-weight-strong); color: var(--color-text-secondary); transition: background-color var(--duration-fast) var(--ease-hover), box-shadow var(--duration-fast) var(--ease-hover); }
  .build-switch__radio:checked + .build-switch__label { background: var(--color-bg-surface); color: var(--color-text-primary); box-shadow: 0 0 0 1px var(--color-border-input); }
  .build-switch__radio:focus-visible + .build-switch__label { outline: 2px solid var(--color-focus-ring); outline-offset: 0; }
  .download-card__pane[data-build-pane="mod"] { display: grid; gap: 10px; }
  .download-card.is-switchable [data-build-pane="mod"], .download-card.is-switchable .build-value--mod, .download-card.is-switchable .download-card__fact--mod-only { display: none; }
  .download-card.is-switchable:has(.build-switch__radio[value="mod"]:checked) [data-build-pane="original"],
  .download-card.is-switchable:has(.build-switch__radio[value="mod"]:checked) .build-value--original,
  .download-card.is-switchable:has(.build-switch__radio[value="mod"]:checked) .download-card__fact--original-only { display: none; }
  .download-card.is-switchable:has(.build-switch__radio[value="mod"]:checked) [data-build-pane="mod"] { display: grid; }
  .download-card.is-switchable:has(.build-switch__radio[value="mod"]:checked) .build-value--mod,
  .download-card.is-switchable:has(.build-switch__radio[value="mod"]:checked) .download-card__fact--mod-only { display: block; }
  .download-card__pane > .download-card__warning { margin: 0; padding: 0; border-top: 0; }
  .download-card.is-switchable .download-card__pane + .download-card__pane { margin: 0; padding: 0; border-top: 0; }
  .download-card.is-switchable .download-card__alt-facts { display: none; }
  .download-card__status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-2); margin-top: var(--space-2); font-size: var(--text-meta); line-height: var(--leading-ui); color: var(--color-text-secondary); }
  .download-card__status-text { min-width: 0; }
  .download-card__status .link-inline { white-space: nowrap; margin-block: -12px; }
  .status-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; max-width: 100%; padding: 2px 10px 2px 8px; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-round); background: var(--color-bg-surface); font-size: var(--text-caption); font-weight: var(--font-weight-strong); line-height: 1.25; color: var(--color-text-primary); overflow-wrap: anywhere; }
  .status-pill .icon { flex: none; color: var(--color-icon-muted); }
  .status-pill--info .icon, .status-pill--update .icon { color: var(--color-accent-solid); }
  .download-card__status--warn { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-2); margin: 0 0 var(--space-3); padding: 10px 12px; border-radius: var(--radius-m); background: var(--color-bg-subtle); }
  .download-card__status--warn > .icon { margin-top: 2px; color: var(--color-icon); }
  .download-card__pane > .download-card__status--warn, .download-card__alt > .download-card__status--warn { margin: 0; }
  .download-card__status-title { font-weight: var(--font-weight-strong); color: var(--color-text-primary); }
  .status-why { margin-top: 2px; }
  .status-why__summary { display: inline-flex; align-items: center; min-height: var(--size-target); margin-block: -6px -10px; list-style: none; color: var(--color-text-link); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  .status-why__summary::-webkit-details-marker { display: none; }
  .status-why__summary:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; border-radius: var(--radius-s); }
  .status-why__body { margin-top: var(--space-1); color: var(--color-text-secondary); }
  .download-card__extra { display: grid; gap: var(--space-2); margin-top: var(--space-3); }
  .download-card__extra .button { padding-block: var(--space-2); }
  .download-card__cta { margin-top: var(--space-2); }
  .download-card__facts-line { padding: 12px var(--space-4); border-bottom: 1px solid var(--color-separator); font-size: var(--text-meta); color: var(--color-text-secondary); font-variant-numeric: tabular-nums; }
  .download-card__facts-line b { font-weight: var(--font-weight-strong); color: var(--color-text-primary); }
  .download-card__body { padding: 14px var(--space-4) 10px; }
  .download-card__summary { font: var(--font-weight-bold) var(--text-title-sm)/var(--leading-snug) var(--font-sans); letter-spacing: -.012em; text-wrap: balance; margin: 2px 0 14px; }
  .download-card__warning { display: flex; gap: 10px; padding: 12px var(--space-4) 0; margin: 0 calc(var(--space-4) * -1); border-top: 1px solid var(--color-separator); font-size: var(--text-meta); line-height: var(--leading-ui); color: var(--color-text-secondary); }
  .download-card__warning .icon { margin-top: 1px; color: var(--color-icon-muted); }
  .download-card__warning--lead { border-top: 0; padding-top: 0; margin-bottom: 14px; }
  .download-card__origin { margin-top: 10px; display: flex; align-items: flex-start; gap: 6px; font-size: var(--text-meta); line-height: 1.4; color: var(--color-text-secondary); }
  .download-card__origin .icon { flex: none; margin-top: 1px; stroke-width: 2; color: var(--color-accent-solid); }
  .download-card__file { margin-top: 6px; display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-4); font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .download-card__file > span:first-child { flex: 1 1 180px; min-width: 0; padding: 6px 0; line-height: 1.4; }
  .file-links { display: flex; flex-wrap: wrap; column-gap: var(--space-4); }
  .download-card__alt { display: grid; gap: 10px; margin: var(--space-1) calc(var(--space-4) * -1) 0; padding: 12px var(--space-4) 0; border-top: 1px solid var(--color-separator); }
  .download-card__alt > .download-card__warning { margin: 0; padding: 0; border-top: 0; }
  .download-card__alt-facts { font-size: var(--text-meta); color: var(--color-text-tertiary); font-variant-numeric: tabular-nums; }
  .download-card__changes { font-size: var(--text-ui); line-height: var(--leading-ui); }
  .download-card__changes b { font-weight: var(--font-weight-strong); }
  .download-card__changes a { white-space: nowrap; display: inline-flex; align-items: center; min-height: var(--size-target); margin-block: -12px; }
  .download-card__changes--after { margin-top: var(--space-3); }
  .download-state__head { display: flex; gap: 10px; align-items: flex-start; }
  .download-state__dot { width: 28px; height: 28px; border-radius: var(--radius-round); display: grid; place-items: center; flex: none; background: var(--color-accent-subtle); color: var(--color-accent-solid); }
  .download-state__dot--neutral { background: var(--color-bg-band); color: var(--color-icon); }
  .download-state__title { font: var(--font-weight-strong) var(--text-lead)/var(--leading-snug) var(--font-sans); padding-top: 3px; }
  .download-state__meta { margin-top: 2px; font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .download-state__body { margin-top: 10px; font-size: var(--text-ui); line-height: 1.5; color: var(--color-text-secondary); }
  .download-state__body > p + p { margin-top: var(--space-2); }
  .download-state__actions { margin-top: var(--space-3); display: grid; gap: var(--space-2); }
  .download-state__actions > .button { min-width: 0; }
  .download-state__context { font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .download-state__actions > a.button--wide { justify-content: space-between; }
  .download-state__actions > a.button--wide .button__label { display: inline-flex; align-items: center; gap: var(--space-2); min-width: 0; }
  .download-state__actions > .report-open { justify-content: center; }
  .download-card__report { margin-top: var(--space-3); }
  .report-open .icon { margin-inline-end: 6px; }
  .state-links { display: flex; flex-wrap: wrap; column-gap: 18px; }
  .steps { margin-top: var(--space-3); counter-reset: step; border-top: 1px solid var(--color-separator); }
  .steps__item { counter-increment: step; display: grid; grid-template-columns: 26px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--color-separator); font-size: var(--text-ui); line-height: var(--leading-ui); }
  .steps__item::before { content: counter(step); width: 22px; height: 22px; border-radius: var(--radius-round); border: 1px solid var(--color-border); display: grid; place-items: center; font: var(--font-weight-strong) 12px/1 var(--font-sans); color: var(--color-text-secondary); }
  .steps__hint { display: block; margin-top: 3px; font-size: var(--text-caption); color: var(--color-text-tertiary); }
  .state-more { margin-top: 10px; border-top: 1px solid var(--color-separator); }
  .state-more__summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: var(--size-control); font-size: var(--text-ui); font-weight: var(--font-weight-strong); }
  .state-more__summary::-webkit-details-marker { display: none; }
  .state-more__chevron { color: var(--color-icon-muted); transition: transform var(--duration-caret) var(--ease-out); }
  .state-more[open] .state-more__chevron { transform: rotate(180deg); }
  .state-more__body { padding-bottom: 6px; font-size: var(--text-meta); line-height: 1.5; color: var(--color-text-secondary); }
  .state-more__list { list-style: decimal; padding-inline-start: 20px; margin-top: 6px; }
  .loss-note { margin-top: 10px; padding: 10px 12px; border-radius: var(--radius-s); background: var(--color-bg-band); color: var(--color-text-primary); }
  .sticky-download { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--z-sticky); background: var(--color-bg-sticky); border-top: 1px solid var(--color-separator); transform: translateY(110%); visibility: hidden; transition: transform var(--duration-sticky) var(--ease-out), visibility 0s linear var(--duration-sticky); }
  .sticky-download.is-visible { transform: none; visibility: visible; transition: transform var(--duration-sticky) var(--ease-out), visibility 0s; }
  .sticky-download__inner { display: flex; align-items: center; gap: var(--space-3); padding-top: 10px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  .sticky-download__inner > .app-icon { order: -1; }
  .sticky-download__text { flex: 1; min-width: 4.5rem; }
  .sticky-download__name { display: block; font: var(--font-weight-strong) var(--text-meta)/1.25 var(--font-sans); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sticky-download__meta { display: block; font-size: var(--text-caption); color: var(--color-text-tertiary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sticky-download .button--primary { width: auto; min-height: var(--size-control); padding: 0 14px; font-size: var(--text-ui); flex: 0 1 auto; min-width: 0; max-width: 62%; }
  .sticky-download .button--primary .button__label { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .sticky-download .button--primary .button__label .icon { display: inline-block; vertical-align: -3px; margin-inline-end: 6px; }
  .sticky-download .button--primary .button__size { height: auto; border: 0; padding: 0 0 0 var(--space-2); font-size: var(--text-meta); flex: none; }
  @media (min-width: 1024px) {
    .sticky-download { top: 0; bottom: auto; border-top: 0; border-bottom: 1px solid var(--color-separator); transform: translateY(-110%); }
    .sticky-download__inner.detail-page__column { max-width: var(--container-content); padding-top: 8px; padding-bottom: 8px; }
    .sticky-download .button--primary { min-height: var(--size-target); }
  }
  .download-card__variants .row-list > .row-list__item:last-child { border-bottom: 0; }
  .download-card__idle > .download-card__variants:last-child { border-bottom: 0; }
  .download-card__more { margin-top: var(--space-2); }
  .version-row > .download-card__variants { grid-column: 1 / -1; border-bottom: 0; }
  .download-card__update { color: var(--color-text-secondary); text-decoration-color: var(--color-border); }
  @media (hover: hover) and (pointer: fine) {
    .download-card__update:hover { color: var(--color-text-primary); text-decoration-color: currentColor; }
  }
  .download-card__update:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; border-radius: var(--radius-s); }
}
@layer components {
  .section-stack { display: flex; flex-direction: column; gap: var(--space-module); }
  .section { min-width: 0; }
  .section__head { display: flex; align-items: baseline; gap: var(--space-3); margin-bottom: var(--space-4); }
  .section__head > .heading-lg { min-width: 0; }
  .section__aux { font-size: var(--text-meta); color: var(--color-text-tertiary); white-space: nowrap; font-variant-numeric: tabular-nums; }
  .section--panel .section__body { background: var(--color-bg-band); border-radius: var(--radius-l); padding: var(--space-4); }
  .section--bleed .section__body { margin-inline: calc(var(--space-gutter) * -1); }
  @media (min-width: 1024px) { .section--bleed .section__body { margin-inline: 0; } }
  .section-note { margin-bottom: var(--space-3); font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .disclosure { border-top: 1px solid var(--color-separator); }
  .disclosure:last-of-type { border-bottom: 1px solid var(--color-separator); }
  .disclosure__summary { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: var(--space-3); min-height: 60px; padding: 10px 0; cursor: pointer; }
  .disclosure__summary::-webkit-details-marker { display: none; }
  .disclosure__summary:not(:has(.disclosure__preview)) { align-content: center; }
  .disclosure__title { font-weight: var(--font-weight-strong); font-size: var(--text-body); line-height: var(--leading-snug); }
  .disclosure__preview { grid-column: 1; font-size: var(--text-meta); color: var(--color-text-tertiary); overflow-wrap: anywhere; line-height: 1.4; }
  .disclosure__chevron { grid-row: 1 / 3; grid-column: 2; color: var(--color-icon-muted); transition: transform var(--duration-caret) var(--ease-out); }
  .disclosure[open] .disclosure__chevron { transform: rotate(180deg); }
  .disclosure__body { padding: 0 0 var(--space-3); font-size: var(--text-ui); color: var(--color-text-secondary); }
  .faq__answer { padding-bottom: var(--space-4); }
  .faq .disclosure__summary { min-height: var(--size-control); padding: var(--space-2) 0; }
  @media (min-width: 1280px) {
    .faq--columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); }
    .faq--columns .disclosure { border-top: 0; border-bottom: 1px solid var(--color-separator); }
    .faq--columns .disclosure:nth-child(-n + 2) { border-top: 1px solid var(--color-separator); }
  }
  .video-embed { aspect-ratio: 16 / 9; border-radius: var(--radius-l); overflow: hidden; background: var(--color-bg-band); }
  .video-embed + .video-embed { margin-top: var(--space-4); }
  .video-embed iframe { display: block; width: 100%; height: 100%; border: 0; }
  .dash-list__item { position: relative; padding: 6px 0 6px 18px; border-top: 1px solid var(--color-separator); font-size: var(--text-body); color: var(--color-text-secondary); }
  .dash-list__item:first-child { border-top: 0; }
  .dash-list__item::before { content: ""; position: absolute; left: 2px; top: 17px; width: 7px; height: 1.5px; background: var(--color-icon-muted); }
  .meta-chips { display: flex; flex-wrap: wrap; gap: var(--space-inline-tight); margin-bottom: var(--space-3); }
  .meta-chip { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--radius-s); background: var(--color-bg-surface); border: 1px solid var(--color-border-subtle); font-size: var(--text-caption); color: var(--color-text-secondary); font-variant-numeric: tabular-nums; }
  .meta-chip b { font-weight: var(--font-weight-strong); color: var(--color-text-primary); margin-inline-start: var(--space-1); }
  .change-list__item { display: grid; grid-template-columns: 18px 1fr; gap: 6px; padding: 9px 0; border-top: 1px solid var(--color-border); font-size: var(--text-body); line-height: 1.5; }
  .change-list__item::before { content: ""; width: 7px; height: 1.5px; background: var(--color-icon-muted); margin: 12px 0 0 2px; }
  .change-list__note { margin-top: var(--space-2); font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .mod-note { margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px dashed var(--color-border); font-size: var(--text-ui); }
  .apk-info__body { color: var(--color-text-primary); }
  .kv-list__note { display: block; font-size: var(--text-caption); color: var(--color-text-tertiary); }
  .kv-list__group { padding: 12px 0 4px; font-size: var(--text-caption); font-weight: var(--font-weight-strong); color: var(--color-text-secondary); }
  .kv-list__row { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--space-3); padding: 10px 0; border-top: 1px solid var(--color-separator); font-size: var(--text-ui); line-height: var(--leading-ui); }
  .kv-list__row dt { color: var(--color-text-tertiary); }
  .kv-list__row dd { min-width: 0; overflow-wrap: anywhere; }
  .kv-list__row .link-inline { margin-block: -12px; }
  .hash { display: flex; align-items: flex-start; gap: var(--space-1); min-width: 0; }
  .hash__value { flex: 1; min-width: 0; font: var(--font-weight-regular) var(--text-caption)/var(--leading-body) var(--font-mono); color: var(--color-text-secondary); word-break: break-all; }
  .hash .copy-button { position: relative; margin: -11px 0; }
  .copy-button { color: var(--color-icon-muted); }
  .copy-button__done { display: none; color: var(--color-accent-solid); }
  .copy-button.is-done .copy-button__idle { display: none; }
  .copy-button.is-done .copy-button__done { display: block; }
  .row-list { border-top: 1px solid var(--color-separator); }
  .row-list__item { border-bottom: 1px solid var(--color-separator); }
  .version-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px var(--space-3); padding: 10px 0; min-height: 64px; }
  .version-row__version { font: var(--font-weight-strong) var(--text-body)/var(--leading-snug) var(--font-sans); font-variant-numeric: tabular-nums; }
  .version-row__meta { grid-column: 1; font-size: var(--text-meta); color: var(--color-text-tertiary); font-variant-numeric: tabular-nums; }
  .version-row .button { grid-row: 1 / 3; grid-column: 2; }
  .build-row { display: grid; grid-template-columns: minmax(6.5rem, 1fr) auto; gap: var(--space-1) var(--space-3); align-items: center; padding: 12px 0 14px; }
  .build-row__abi { font: var(--font-weight-strong) var(--text-ui)/var(--leading-snug) var(--font-mono); overflow-wrap: anywhere; }
  .build-row .button--compact { white-space: normal; line-height: 1.25; padding-block: 6px; text-align: start; }
  .build-row .button__label { overflow-wrap: break-word; }
  @media (max-width: 767.98px) {
    .download-card .build-row { grid-template-columns: minmax(0, 1fr); }
    .download-card .build-row .button { grid-row: auto; grid-column: 1; justify-self: start; max-width: 100%; }
  }
  .build-row .button__size { white-space: nowrap; }
  .build-row__for { grid-column: 1; font-size: var(--text-meta); color: var(--color-text-secondary); }
  .build-row .button { grid-row: 1 / 3; grid-column: 2; }
  .build-row .hash { grid-column: 1 / -1; margin-top: 6px; }
  .related-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--space-2); }
  .related-list__item { position: relative; display: flex; align-items: center; gap: 10px; min-height: 60px; padding: var(--space-2) 10px; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-m); transition: border-color var(--duration-fast) var(--ease-hover), background-color var(--duration-fast) var(--ease-hover); }
  @media (hover: hover) and (pointer: fine) { .related-list__item:hover { border-color: var(--color-border); background: var(--color-bg-subtle); } }
  .related-list .app-icon { width: 40px; height: 40px; border-radius: var(--radius-m); }
  .related-list .app-icon__glyph { font-size: var(--text-ui); }
  .related-list__item > .app-icon { order: -1; }
  .related-list__text { min-width: 0; }
  .related-list__link { display: block; font-weight: var(--font-weight-strong); font-size: var(--text-ui); line-height: 1.25; overflow-wrap: anywhere; color: var(--color-text-primary); text-decoration: none; }
  .related-list__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
  @media (hover: hover) and (pointer: fine) { .related-list__item:hover .related-list__link { text-decoration: underline; text-decoration-color: var(--color-border); } }
  .related-list__link:focus-visible { outline: none; }
  .related-list__item:has(.related-list__link:focus-visible) { outline: 2px solid var(--color-focus-ring); outline-offset: -1px; }
  .related-list__badges { display: flex; flex-wrap: wrap; gap: var(--space-inline-tight); margin-top: var(--space-1); }
  .install-help__lead { display: flex; gap: var(--space-2); align-items: flex-start; font-size: var(--text-ui); line-height: var(--leading-ui); color: var(--color-text-secondary); }
  .install-help__lead > .icon { margin-top: 2px; color: var(--color-icon-muted); }
  .install-help__lead b { color: var(--color-text-primary); font-weight: var(--font-weight-strong); }
  .install-help .steps { margin-top: var(--space-2); }
  .install-help__more { margin-top: var(--space-2); }
  .apk-info { border: 1px solid var(--color-separator); border-radius: var(--radius-l); }
  .apk-info > .kv-list > .kv-list__row { grid-template-columns: minmax(min(7.5rem, 40%), 34%) minmax(0, 1fr); padding-inline: var(--space-4); }
  .apk-info > .kv-list > .kv-list__row:first-child { border-top: 0; }
  .apk-info__tech { padding: 0 var(--space-4); border-top: 1px solid var(--color-separator); }
  .apk-info__tech > .disclosure { border-top: 0; }
  .apk-info__tech > .disclosure:last-of-type { border-bottom: 0; }
  .apk-info__tech .disclosure__summary { min-height: var(--size-control); }
  .apk-info__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-1) var(--space-3); padding: var(--space-1) var(--space-4); border-top: 1px solid var(--color-separator); font-size: var(--text-meta); }
  .apk-info__foot:not(:has(a, button:not(.is-pending))) { display: none; }
  .apk-info__foot .link-inline { display: inline-flex; align-items: center; min-height: var(--size-target); }
  .apk-info__report, .apk-info__share { display: inline-flex; align-items: center; gap: 6px; min-height: var(--size-target); padding: 0 2px; border: 0; background: none; color: var(--color-text-secondary); font-size: var(--text-meta); cursor: pointer; text-decoration: underline; text-decoration-color: var(--color-border); text-underline-offset: 4px; }
  .apk-info__report .icon, .apk-info__share .icon { margin: 0; color: var(--color-icon-muted); }
  @media (hover: hover) and (pointer: fine) { .apk-info__report:hover, .apk-info__share:hover { color: var(--color-text-primary); text-decoration-color: currentColor; } }
  .apk-info__report:focus-visible, .apk-info__share:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; border-radius: var(--radius-s); }
  .hash .copy-button.is-done::after { content: "Скопировано" / ""; position: absolute; right: 0; bottom: 100%; padding: 2px 6px; border-radius: var(--radius-s); background: var(--color-bg-inverse); color: var(--color-text-inverse); font-size: var(--text-caption); white-space: nowrap; pointer-events: none; }
  .apk-info__links { display: inline-flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-4); }
  .apk-info__actions { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; column-gap: var(--space-4); margin-inline-start: auto; }
  @media (max-width: 767.98px) {
    .apk-info__foot { flex-direction: column; align-items: flex-start; row-gap: 0; }
    .apk-info__actions { justify-content: flex-start; margin-inline-start: -2px; }
  }
  .share-menu { position: relative; display: grid; gap: var(--space-2); margin: 0 var(--space-4) var(--space-4); padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-m); background: var(--color-bg-surface); }
  .share-menu__targets { display: flex; flex-wrap: wrap; gap: var(--space-3); }
  .share-target {
    display: flex; flex-direction: column; align-items: center; gap: var(--space-1); min-width: var(--space-14); padding: 0;
    border: 0; border-radius: var(--radius-m); background: none; color: var(--color-text-secondary);
    font: var(--font-weight-regular) var(--text-caption)/var(--leading-snug) var(--font-sans); text-decoration: none; cursor: pointer;
  }
  .share-target__tile {
    display: grid; place-items: center; width: var(--size-control); height: var(--size-control); border-radius: var(--radius-m);
    background: var(--color-bg-surface); box-shadow: inset 0 0 0 1px var(--color-border-subtle), var(--shadow-raised); color: var(--color-accent-solid);
    transition: box-shadow var(--duration-fast) var(--ease-hover);
  }
  .share-target__logo { width: 28px; height: 28px; fill: currentColor; }
  .share-target--telegram .share-target__tile { color: var(--color-logo-telegram); }
  .share-target--vk .share-target__tile { color: var(--color-logo-vk); }
  .share-target--whatsapp .share-target__tile { color: var(--color-logo-whatsapp); }
  @media (hover: hover) and (pointer: fine) {
    .share-target:hover { color: var(--color-text-primary); }
    .share-target:hover .share-target__tile { box-shadow: inset 0 0 0 1px var(--color-border-accent-soft), var(--shadow-raised-hover); }
  }
  .share-target:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  @media (forced-colors: active) { .share-target__tile { border: 1px solid CanvasText; } }
  .share-menu__status { font-size: var(--text-caption); color: var(--color-text-secondary); }
  .share-menu__status:empty { position: absolute; }
  .signing-key { display: block; }
  .kv-list .status-why { font-size: var(--text-meta); }
  .section__head:has(> .icon-badge) { align-items: center; }
  .signature-status { display: block; }
  .signature-status--developer { display: flex; align-items: flex-start; gap: var(--space-inline-tight); }
  .signature-status--developer .icon { flex: none; margin-top: 2px; stroke-width: 2; color: var(--color-accent-solid); }
}
@layer components {
  .screenshot-strip { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 var(--space-gutter) 2px; scroll-padding: 0 var(--space-gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
  .screenshot-strip::-webkit-scrollbar { display: none; }
  .screenshot-strip__item { display: block; flex: none; scroll-snap-align: start; border-radius: var(--radius-m); cursor: zoom-in; }
  .screenshot-strip__item:focus-visible { outline-offset: -2px; }
  .screenshot-strip__image { display: block; height: 340px; width: auto; max-width: none; border-radius: var(--radius-m); box-shadow: var(--outline-image); background: var(--color-bg-band); }
  .screenshot-strip__image--landscape { height: auto; width: min(86vw, 560px); }
  .scroll-position { display: flex; gap: var(--space-1); max-width: 200px; margin: 14px var(--space-gutter) 0; }
  .scroll-position__dot { flex: 1; height: 3px; border-radius: 2px; background: var(--color-separator); }
  .scroll-position__dot.is-active { background: var(--color-bg-accent); }
  @media (min-width: 1024px) {
    .screenshot-strip { padding: 0; scroll-padding: 0; }
    .screenshot-strip__image { height: 400px; }
    .screenshot-strip__image--landscape { height: auto; width: min(620px, 70vw); }
    .scroll-position { margin-inline: 0; }
  }
  .viewer { inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; overflow: hidden; overscroll-behavior: contain; background: var(--color-bg-overlay); color: var(--color-text-inverse); }
  .viewer[open] { display: flex; flex-direction: column; }
  .viewer::backdrop { background: var(--color-bg-overlay); }
  .viewer__top { display: flex; align-items: center; justify-content: space-between; height: var(--size-header); padding: 0 var(--space-2) 0 18px; }
  .viewer__count { font-size: var(--text-ui); color: var(--color-text-inverse-muted); font-variant-numeric: tabular-nums; }
  .viewer__stage { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; padding: var(--space-2) var(--space-4) var(--space-4); }
  .viewer__image { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; border-radius: var(--radius-m); }
  .viewer__nav { display: flex; justify-content: center; gap: var(--space-4); padding: var(--space-3) 0 calc(var(--space-4) + env(safe-area-inset-bottom)); border-top: 1px solid rgb(255 255 255 / .1); }
  .viewer__button { width: var(--size-control); height: var(--size-control); display: grid; place-items: center; border: 0; border-radius: var(--radius-round); background: rgb(255 255 255 / .08); color: var(--color-text-inverse); cursor: pointer; }
  .viewer__button:disabled { opacity: .3; cursor: default; }
  .viewer__button:focus-visible { outline-color: var(--color-text-inverse); }
}
@layer components {
  .field { display: grid; gap: var(--space-1); }
  .field__label { font-size: var(--text-caption); color: var(--color-text-tertiary); }
  .field__input { width: 100%; min-height: var(--size-control); padding: 12px 14px; border: 1px solid var(--color-border-input); border-radius: var(--radius-m); background: var(--color-bg-surface); color: var(--color-text-primary); font-size: var(--text-body); }
  @media (hover: hover) and (pointer: fine) { .field__input:hover { border-color: var(--color-border-strong); } }
  .field__input:focus-visible { outline: 2px solid transparent; border-color: var(--color-focus-ring); box-shadow: 0 0 0 3px var(--color-focus-halo); }
  textarea.field__input { min-height: 104px; resize: vertical; line-height: var(--leading-body); }
  .field__hint { font-size: var(--text-caption); color: var(--color-text-tertiary); }
  .field__error { display: flex; gap: var(--space-inline-tight); align-items: flex-start; font-size: var(--text-caption); color: var(--color-text-danger); }
  .field__error .icon { margin-top: 1px; }
  .field--invalid .field__input { border-color: var(--color-border-danger); }
  .field--invalid .field__input:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  .field__input:disabled { cursor: not-allowed; background: var(--color-bg-band); color: var(--color-text-disabled); border-color: var(--color-border-subtle); }
  .comment__replies { grid-column: 2 / -1; display: grid; gap: var(--space-4); margin: var(--space-3) 0 0; padding: 0 0 0 var(--space-3); list-style: none; border-left: 2px solid var(--color-separator); }
  .comment__context { grid-column: 2 / -1; font-size: var(--text-caption); color: var(--color-text-tertiary); }
  .comment--reply .comment__text { font-size: var(--text-meta); }
  .comment--editorial .comment__avatar { background: var(--color-accent-subtle); color: var(--color-accent-solid); }
  .rating-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-4) var(--space-6); padding: var(--space-5); border-radius: var(--radius-l); background: var(--color-bg-surface); box-shadow: inset 0 0 0 1px var(--color-border-subtle), var(--shadow-raised); }
  .reviews-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-6); }
  .reviews-head > .rating-summary { flex: 1 1 100%; }
  .reviews-head > .rating-summary--single, .reviews-head > .rating-summary--empty { flex: 0 1 auto; }
  .rating-summary--single { grid-template-columns: auto; }
  .rating-summary--empty { display: block; padding: var(--space-4) var(--space-5); font-size: var(--text-ui); color: var(--color-text-secondary); }
  .rating-summary__score { display: grid; justify-items: start; gap: var(--space-1); }
  .rating-summary__pending { max-width: 20ch; font-size: var(--text-ui); line-height: var(--leading-ui); color: var(--color-text-secondary); }
  .rating-summary__value { font: var(--font-weight-bold) var(--text-display)/1 var(--font-sans); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
  .rating-summary__score .stars svg { width: 20px; height: 20px; }
  .rating-summary__count { font-size: var(--text-meta); color: var(--color-text-tertiary); line-height: var(--leading-ui); }
  .rating-summary__dist { min-width: 0; padding-inline-start: var(--space-6); border-inline-start: 1px solid var(--color-separator); }
  .rating-summary__note { margin-top: var(--space-2); font-size: var(--text-caption); color: var(--color-text-tertiary); }
  @media (max-width: 479.98px) {
    .rating-summary { grid-template-columns: minmax(0, 1fr); }
    .rating-summary__dist { padding-inline-start: 0; padding-top: var(--space-4); border-inline-start: 0; border-top: 1px solid var(--color-separator); }
  }
  .rating-bars { display: grid; gap: 6px; }
  .rating-bars__row { display: grid; grid-template-columns: 1ch minmax(0, 1fr) minmax(3ch, auto); align-items: center; gap: var(--space-2); font-size: var(--text-caption); line-height: 1; color: var(--color-text-secondary); font-variant-numeric: tabular-nums; }
  .rating-bars__track { display: block; width: 100%; height: 8px; overflow: visible; }
  .rating-bars__bg { fill: var(--color-bg-hover); }
  .rating-bars__fill { fill: var(--color-accent-brand); }
  .rating-bars__n { text-align: end; color: var(--color-text-tertiary); }
  .rate-prompt { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-3); }
  .rate-prompt__label { font: var(--font-weight-strong) var(--text-ui)/var(--leading-snug) var(--font-sans); }
  .rate-prompt__stars { display: flex; margin-inline-start: -6px; }
  .rate-prompt__star { display: grid; place-items: center; width: var(--size-control); height: var(--size-control); padding: 0; border: 0; border-radius: var(--radius-m); background: none; color: var(--color-star-off); cursor: pointer; }
  .rate-prompt__star svg { width: 32px; height: 32px; fill: currentColor; }
  @media (hover: hover) and (pointer: fine) {
    .rate-prompt__stars:hover .rate-prompt__star { color: var(--color-star-on); }
    .rate-prompt__star:hover ~ .rate-prompt__star { color: var(--color-star-off); }
  }
  .rate-prompt__star:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  .rate-prompt__stars:has(.rate-prompt__star:focus-visible) .rate-prompt__star { color: var(--color-star-on); }
  .rate-prompt__star:focus-visible ~ .rate-prompt__star { color: var(--color-star-off); }
  .reviews-head + .comment-list, .reviews-head + .empty-note { margin-top: var(--space-5); }
  .reviews-head:has(.rating-summary--empty) + .empty-note { display: none; }
  .comment__rating { display: inline-flex; align-items: center; }
  .comment__rating .stars svg { width: 14px; height: 14px; }
  .star-half { position: relative; display: inline-flex; }
  .star-half > svg + svg { position: absolute; inset: 0; clip-path: inset(0 50% 0 0); }
  .comment__rating-value { margin-inline-start: var(--space-1); font-size: var(--text-caption); color: var(--color-text-secondary); font-variant-numeric: tabular-nums; }
  @media (forced-colors: active) {
    .rating-summary { border: 1px solid CanvasText; }
    .rating-bars__bg { fill: Canvas; stroke: CanvasText; }
    .rating-bars__fill { fill: CanvasText; }
    .stars svg { fill: CanvasText; }
    .stars .is-off { fill: GrayText; }
  }
  .stars { display: flex; gap: 2px; color: var(--color-star-on); }
  .stars svg { width: 15px; height: 15px; fill: currentColor; }
  .stars .is-off { fill: var(--color-star-off-static); }
  .rating-input__legend { font-size: var(--text-caption); color: var(--color-text-tertiary); }
  .rating-input__stars { display: flex; gap: var(--space-1); margin-inline-start: -6px; }
  .rating-input__radio { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
  .rating-input__star { width: var(--size-control); height: var(--size-control); display: grid; place-items: center; border-radius: var(--radius-m); color: var(--color-star-off); cursor: pointer; transition: color var(--duration-fast) var(--ease-hover), background-color var(--duration-fast) var(--ease-hover); }
  .rating-input__star svg { width: 30px; height: 30px; fill: currentColor; }
  @media (hover: hover) and (pointer: fine) { .rating-input__star:hover { background: var(--color-bg-hover); } }
  .rating-input__star.is-on, .rating-input__radio:checked + .rating-input__star { color: var(--color-star-on); }
  .rating-input__star.is-on svg, .rating-input__radio:checked + .rating-input__star svg, .stars svg:not(.is-off) { stroke: var(--color-star-edge); stroke-width: 1.5px; stroke-linejoin: round; }
  .rating-input__radio:focus-visible + .rating-input__star { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  @media (forced-colors: active) { .rating-input__star.is-on, .rating-input__radio:checked + .rating-input__star { color: Highlight; } }
  .rating-input__value { font-size: var(--text-meta); color: var(--color-text-secondary); min-height: 20px; }
  .comment-list { display: grid; gap: var(--space-4); }
  .comment { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: var(--space-3); }
  .comment__avatar { width: 36px; height: 36px; border-radius: var(--radius-round); display: grid; place-items: center; background: var(--color-bg-band); color: var(--color-text-secondary); font: var(--font-weight-strong) var(--text-meta)/1 var(--font-sans); }
  .comment__meta { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--space-2); min-height: 36px; align-content: center; }
  .comment__author { font-weight: var(--font-weight-strong); font-size: var(--text-ui); }
  .comment__date { font-size: var(--text-caption); color: var(--color-text-tertiary); }
  .comment__text { grid-column: 2; margin-top: 2px; font-size: var(--text-ui); line-height: 1.5; color: var(--color-text-secondary); overflow-wrap: anywhere; }
  .comments__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
  .comments__actions:not(:has(> :not([hidden]))) { display: none; }
  .empty-note { font-size: var(--text-ui); color: var(--color-text-tertiary); }
  .empty-note + .comments__actions { margin-top: var(--space-6); }
  .comment-form { display: grid; gap: var(--space-2); margin-top: var(--space-3); padding-bottom: var(--space-2); }
  .comment-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
  .comment-notice { margin-top: var(--space-3); }
  .comment-form__error { margin-bottom: var(--space-1); }
  .comments__pages { display: flex; flex-wrap: wrap; column-gap: var(--space-5); margin-top: var(--space-3); }
  .notice { display: flex; gap: var(--space-2); align-items: flex-start; padding: var(--space-3) var(--space-4); border-radius: var(--radius-m); background: var(--color-bg-band); font-size: var(--text-meta); line-height: var(--leading-ui); color: var(--color-text-secondary); }
  .notice .icon { margin-top: 1px; color: var(--color-icon); }
  .notice--success .icon { color: var(--color-accent-solid); }
}
@layer components {
  .prose { max-width: var(--measure-prose); font-size: var(--text-body); line-height: var(--leading-prose); color: var(--color-text-secondary); }
  .prose > * + * { margin-top: var(--space-4); }
  .prose > :first-child { margin-top: 0; }
  .prose :is(h2, h3, h4) { color: var(--color-text-primary); text-wrap: balance; overflow-wrap: anywhere; scroll-margin-top: var(--space-4); }
  .prose h2 { font: var(--font-weight-bold) var(--text-title-lg)/var(--leading-snug) var(--font-sans); letter-spacing: -.012em; }
  .prose > h2 { margin-top: var(--space-10); }
  .prose h3 { font: var(--font-weight-strong) var(--text-title-sm)/1.35 var(--font-sans); }
  .prose > h3 { margin-top: var(--space-8); }
  .prose h4, .prose .prose__h4 { font: var(--font-weight-strong) var(--text-body)/var(--leading-snug) var(--font-sans); }
  .prose > h4, .prose > .prose__h4:not(:first-child) { margin-top: var(--space-6); }
  .prose > :is(h2, h3, h4) + * { margin-top: var(--space-2); }
  .prose :is(strong, b) { color: var(--color-text-primary); font-weight: var(--font-weight-strong); }
  .prose a { overflow-wrap: anywhere; }
  @media (hover: hover) and (pointer: fine) { .prose a:hover { text-decoration-thickness: 2px; } }
  .prose :is(ul, ol) { padding-inline-start: 1.45em; }
  .prose ul { list-style: disc; }
  .prose ol { list-style: decimal; }
  .prose li { padding-inline-start: .2em; }
  .prose li + li { margin-top: 6px; }
  .prose li::marker { color: var(--color-text-tertiary); }
  .prose ol > li::marker { font-weight: var(--font-weight-strong); color: var(--color-text-primary); }
  .prose :is(ul, ol) ul { list-style: circle; }
  .prose :is(ul, ol) ol { list-style: lower-alpha; }
  .prose li > :is(ul, ol) { margin-top: 6px; }
  .prose blockquote { margin-top: var(--space-6); padding: 2px 0 2px var(--space-4); border-left: 3px solid var(--color-border); }
  .prose blockquote > * + * { margin-top: var(--space-2); }
  .prose blockquote cite { display: block; font-style: normal; font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .prose__table { margin-top: var(--space-6); overflow-x: auto; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-m); }
  .prose table { width: 100%; border-collapse: collapse; font-size: var(--text-ui); line-height: var(--leading-ui); }
  .prose :is(th, td) { min-width: 8rem; padding: 10px 14px; text-align: start; vertical-align: top; border-top: 1px solid var(--color-separator); }
  .prose thead th { border-top: 0; background: var(--color-bg-band); color: var(--color-text-primary); font-weight: var(--font-weight-strong); font-size: var(--text-meta); }
  .prose :is(th, td):first-child { min-width: 7.5rem; }
  .prose__table figcaption { padding: 8px 14px; border-top: 1px solid var(--color-separator); font-size: var(--text-meta); line-height: var(--leading-ui); color: var(--color-text-tertiary); }
  .prose hr { margin: var(--space-8) 0; border: 0; border-top: 1px solid var(--color-separator); }
  .prose > figure { margin-top: var(--space-6); }
  .prose img { display: block; max-width: 100%; height: auto; border-radius: var(--radius-m); box-shadow: var(--outline-image); }
  .prose figcaption { font-size: var(--text-meta); line-height: var(--leading-ui); color: var(--color-text-tertiary); }
  .prose img + figcaption { margin-top: var(--space-2); }
  .prose pre { margin-top: var(--space-5); padding: 12px 14px; overflow-x: auto; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-s); background: var(--color-bg-band); font: var(--font-weight-regular) var(--text-meta)/var(--leading-body) var(--font-mono); color: var(--color-text-primary); }
  .prose pre code { padding: 0; background: none; font: inherit; overflow-wrap: normal; }
  .prose pre:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  .prose__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-5); }
  .prose code { font: var(--font-weight-regular) var(--text-meta)/1.4 var(--font-mono); padding: 1px 5px; border-radius: 5px; background: var(--color-bg-band); color: var(--color-text-primary); overflow-wrap: anywhere; }
  .prose > .note { margin-top: var(--space-6); }
  @media (min-width: 768px) { .prose { font-size: var(--text-lead); } }
  .toc { max-width: var(--measure-prose); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-m); }
  .toc__summary { display: flex; align-items: center; justify-content: space-between; min-height: var(--size-target); font: var(--font-weight-strong) var(--text-ui)/var(--leading-snug) var(--font-sans); cursor: pointer; list-style: none; }
  .toc__summary::-webkit-details-marker { display: none; }
  .toc__summary .icon { transition: transform var(--duration-caret) var(--ease-out); }
  .toc[open] .toc__summary .icon { transform: rotate(180deg); }
  .toc__list { margin: var(--space-1) 0 var(--space-2); padding-inline-start: 1.4em; list-style: decimal; color: var(--color-text-tertiary); font-size: var(--text-ui); line-height: var(--leading-ui); }
  .toc__link { display: flex; align-items: center; min-height: var(--size-target); color: var(--color-text-link); }
  .note { padding: var(--space-3) var(--space-4); border-left: 3px solid var(--color-accent-brand); border-radius: 0 var(--radius-s) var(--radius-s) 0; background: var(--color-bg-band); }
  .note > * + * { margin-top: var(--space-2); }
  .gambling-note { display: flex; align-items: baseline; gap: var(--space-2); max-width: var(--measure-prose); font-size: var(--text-caption); line-height: var(--leading-ui); color: var(--color-text-secondary); }
  .gambling-note > .badge { flex: none; }
}
@layer components {
  .prose--compact > .prose__rest { display: none; }
  .prose-fold__toggle { display: inline-flex; align-items: center; gap: var(--space-1); margin-top: var(--space-2); }
  .prose-fold__chevron { transition: transform var(--duration-caret) var(--ease-out); }
  .prose-fold__toggle[aria-expanded="true"] .prose-fold__chevron { transform: rotate(180deg); }
}
@layer components {
  .sheet { width: min(440px, calc(100vw - var(--space-gutter) * 2)); max-height: min(640px, 90vh); margin: auto; padding: 0; border: 0; border-radius: var(--radius-l); background: var(--color-bg-surface); color: var(--color-text-primary); box-shadow: var(--shadow-card); overflow: auto; overscroll-behavior: contain; }
  .sheet::backdrop { background: color-mix(in srgb, var(--color-bg-inverse) 45%, transparent); }
  .sheet[open] { animation: sheet-in var(--duration-slow) var(--ease-out); }
  @keyframes sheet-in { from { opacity: 0; transform: translateY(8px); } }
  .sheet__grab { display: none; }
  .sheet__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); padding: var(--space-4) var(--space-2) var(--space-1) var(--space-5); }
  .sheet__heading { min-width: 0; padding-top: var(--space-2); }
  .sheet__title { font: var(--font-weight-bold) var(--text-title)/var(--leading-snug) var(--font-sans); }
  .sheet__context { margin-top: var(--space-1); font-size: var(--text-meta); color: var(--color-text-tertiary); overflow-wrap: anywhere; }
  .sheet__body { padding: var(--space-2) var(--space-5) var(--space-5); }
  .sheet__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-5); }
  .sheet__actions .button--primary { width: auto; min-height: var(--size-control); padding: 0 var(--space-5); font-size: var(--text-ui); justify-content: center; }
  @media (max-width: 639.98px) {
    .sheet { width: 100%; max-width: none; max-height: 92vh; margin: auto 0 0; border-radius: var(--radius-l) var(--radius-l) 0 0; }
    .sheet[open] { animation-name: sheet-up; }
    .sheet__grab { display: block; width: 36px; height: 4px; margin: var(--space-2) auto 0; border-radius: var(--radius-round); background: var(--color-border); }
    .sheet__body { padding-bottom: calc(var(--space-5) + env(safe-area-inset-bottom)); }
  }
  @keyframes sheet-up { from { opacity: .4; transform: translateY(40%); } }
  @media (prefers-reduced-motion: reduce) { .sheet[open] { animation: none; } }
  .report-form__reasons { display: grid; gap: var(--space-2); margin: 0; padding: 0; border: 0; min-width: 0; }
  .report-form__legend { margin-bottom: var(--space-2); padding: 0; font-size: var(--text-ui); font-weight: var(--font-weight-strong); }
  .report-form__reason { display: flex; align-items: center; gap: var(--space-3); min-height: var(--size-target); padding: 0 var(--space-4); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-m); font-size: var(--text-ui); cursor: pointer; }
  .report-form__radio { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--color-bg-inverse); }
  .report-form__reason:has(.report-form__radio:checked) { border-color: var(--color-text-primary); background: var(--color-bg-subtle); }
  .report-form__radio:focus-visible { outline: none; }
  .report-form__reason:has(.report-form__radio:focus-visible) { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  .report-form__reason:has(.report-form__radio[aria-invalid="true"]) { border-color: var(--color-border-danger); }
  .report-form > .field__error { margin-top: var(--space-2); }
  .report-form__field { margin-top: var(--space-4); }
  .report-form__field textarea.field__input { min-height: 84px; }
  .report-form__error { margin-top: var(--space-3); }
  .report-done:not([hidden]) { display: grid; justify-items: start; gap: var(--space-2); padding: var(--space-2) 0 var(--space-1); }
  .report-done:focus { outline: none; }
  .report-done__text { font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .report-done__title { font: var(--font-weight-strong) var(--text-lead)/var(--leading-snug) var(--font-sans); }
}
@layer components {
  .telegram-cta {
    --telegram-blue: #229ED9; --telegram-tint: #EEF7FD; --telegram-edge: #CFE8F7; --telegram-ink: #0B6EA6; --telegram-line: #1C93CC;
    display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-4);
    padding: var(--space-4); border: 1px solid var(--telegram-edge); border-radius: var(--radius-l); background: var(--telegram-tint);
  }
  .telegram-cta__mark { flex: none; width: 40px; height: 40px; }
  .telegram-cta__mark circle { fill: var(--telegram-blue); }
  .telegram-cta__mark path { fill: var(--color-bg-surface); }
  .telegram-cta__text { flex: 1 1 160px; min-width: 0; font-size: var(--text-ui); font-weight: var(--font-weight-strong); line-height: var(--leading-snug); color: var(--color-text-primary); }
  .telegram-cta__action { flex: none; border-color: var(--telegram-line); color: var(--telegram-ink); }
  @media (hover: hover) and (pointer: fine) {
    .telegram-cta__action:hover { border-color: var(--telegram-ink); color: var(--telegram-ink); }
  }
}
@layer components {
  .key-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr)); gap: var(--space-3); }
  .key-facts__item { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-m); background: var(--color-bg-subtle); }
  .key-facts__label { font-size: var(--text-caption); line-height: var(--leading-ui); color: var(--color-text-tertiary); overflow-wrap: anywhere; }
  .key-facts__value { margin: 0; font-size: var(--text-ui); font-weight: var(--font-weight-strong); line-height: var(--leading-snug); color: var(--color-text-primary); overflow-wrap: anywhere; }
}
@layer layout {
  .catalog-page { display: flex; flex-direction: column; }
  .catalog-page > .catalog-page__top { order: 1; }
  .catalog-page > .catalog-page__nav { order: 2; }
  .catalog-page > .catalog-page__list { order: 3; }
  .catalog-page > .category-groups { order: 5; }
  .catalog-page > .catalog-page__intro { order: 4; }
  .catalog-page > .container { width: 100%; }
  .catalog-intro__inner { border-top: 1px solid var(--color-separator-soft); padding: var(--space-5) 0 var(--space-10); }
  .catalog-intro__inner > p + p { margin-top: var(--space-2); }
  .listing { padding-top: var(--space-2); }
  @media (min-width: 1024px) { .listing { padding-top: var(--space-3); } }
  .listing--no-pager { padding-bottom: var(--space-6); }
  @supports selector(body:has(> .site-footer)) {
    body:not(:has(> .site-footer)) .catalog-page__intro,
    body:not(:has(> .site-footer)) .catalog-page > .category-groups { display: none; }
  }
}
@layer layout {
  .hub-picks { margin-top: var(--space-3); }
  .hub-listing__heading { padding-top: var(--space-3); margin-bottom: var(--space-1); }
}
@layer components {
  @media (min-width: 768px) {
    .hub-picks__list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hub-picks__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hub-picks__list--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  }
  @media (min-width: 1280px) {
    .hub-picks__list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 248px); }
  }
}
@layer components {
  .page-head--home { padding-top: var(--space-5); padding-bottom: var(--space-5); }
  .page-head--home .intro-text { margin-top: var(--space-2); text-wrap: pretty; }
  .home-entry .tile-list { margin-top: 0; }
  @media (min-width: 768px) {
    .page-head--home .intro-text { max-width: none; }
    .home-entry .tile-list { grid-template-columns: repeat(2, minmax(0, 240px)); }
  }
  @media (min-width: 1024px) {
    .page-head--home { padding-top: var(--space-6); padding-bottom: var(--space-6); }
  }
}
@layer layout {
  .home-go { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
  .home-section { padding-top: var(--space-6); }
  .home-section__head { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 10px; }
  .home-section__head:has(> .icon-badge) { align-items: center; gap: var(--space-1) var(--space-3); }
  .home-section__hint { font-size: var(--text-meta); line-height: 1.25rem; color: var(--color-text-tertiary); }
  .home-section .card-grid { margin-top: var(--space-1); }
  .home-section .link-action { margin-top: var(--space-1); }
  .home-about__inner { padding-top: var(--space-8); padding-bottom: var(--space-10); }
  .home-about .intro-text { margin-top: var(--space-2); }
  @media (min-width: 768px) {
    .home-section { padding-top: var(--space-8); }
  }
  @media (min-width: 1024px) {
    .home-entry { display: none; }
  }
}
@layer layout {
  .detail-page__column { max-width: 720px; margin-inline: auto; padding-inline: var(--space-gutter); }
  .detail-page__band { padding-bottom: var(--space-6); }
  .detail-page__band-bg { display: none; }
  .detail-page .section-stack { padding: var(--space-8) 0 var(--space-14); }
  @media (min-width: 1024px) {
    .detail-page {
      --detail-c2: 340px; --detail-gap: var(--space-10);
      display: grid;
      grid-template-columns: [full-start] minmax(var(--space-gutter), 1fr) [c1-start] minmax(0, 760px) [c1-end] var(--detail-gap) [c2-start] var(--detail-c2) [c2-end] minmax(var(--space-gutter), 1fr) [full-end];
      grid-template-rows: auto auto 1fr;
    }
    .detail-page__band, .detail-page__band > .detail-page__column, .detail-page__body { display: contents; }
    .detail-page__band-bg { display: block; grid-column: full-start / full-end; grid-row: 1 / 3; background: var(--color-bg-band); }
    .detail-page .breadcrumbs { grid-column: c1-start / c2-end; grid-row: 1; }
    .detail-page .section-stack { grid-column: c1-start / c1-end; grid-row: 3; padding-top: var(--space-10); }
  }
  @media (min-width: 1280px) { .detail-page { --detail-c2: 380px; --detail-gap: 64px; } }
  @media (max-width: 1023.98px) {
    .has-sticky-download { scroll-padding-bottom: calc(var(--size-sticky-bar) + env(safe-area-inset-bottom)); }
    .has-sticky-download body { padding-bottom: calc(var(--size-sticky-bar) + env(safe-area-inset-bottom)); }
  }
  :where(html:has(.detail-page)) { scroll-padding-top: var(--space-4); }
  @media (min-width: 1024px) { .has-sticky-bar { scroll-padding-top: calc(var(--size-header) + var(--space-4)); } }
  html:has(:is(.viewer, .sheet)[open]) { overflow: hidden; }
}
@layer components {
  @media (min-width: 1024px) {
    .detail-page .app-hero { grid-column: c1-start / c1-end; grid-row: 2; align-self: start; padding: var(--space-3) 0 var(--space-10); }
    .detail-page .download-card { grid-column: c2-start / c2-end; grid-row: 2 / 4; align-self: start; margin: var(--space-3) 0 var(--space-10); }
  }
}
@layer components {
  .detail-page .prose { max-width: var(--measure-prose); font-size: var(--text-body); }
  .detail-page .prose > * + * { margin-top: var(--space-3); }
  .detail-page .prose > h3 { margin-top: var(--space-6); }
  .detail-page .prose > h4, .detail-page .prose > .prose__h4 { margin-top: var(--space-5); }
  .detail-page .prose > :is(h2, h3, h4) + * { margin-top: var(--space-2); }
  .detail-page .prose li + li { margin-top: var(--space-1); }
}
@layer layout {
  .search-page__head > .container { padding-top: var(--space-5); }
  @media (min-width: 1024px) { .search-page__head > .container { padding-top: var(--space-6); } }
  .search-page__list { padding-bottom: var(--space-2); }
  .search-page__list > .container > .card-grid:first-child { margin-top: var(--space-4); }
  .search-page__list > .container > .card-grid:last-child { margin-bottom: var(--space-8); }
  .search-page__links { display: flex; flex-wrap: wrap; column-gap: var(--space-5); margin-top: var(--space-2); }
  .search-page__suggest { margin-top: var(--space-3); font-size: var(--text-ui); line-height: 1.5; color: var(--color-text-secondary); overflow-wrap: anywhere; }
  .search-404 > .container { padding-top: var(--space-5); padding-bottom: var(--space-10); }
  .search-404 .search-state__text + .search-page__links { margin-top: var(--space-1); }
}
@layer components {
  .search-message { margin-top: var(--space-1); font-size: var(--text-meta); line-height: 1.25rem; color: var(--color-text-secondary); overflow-wrap: anywhere; }
  .search-message b { font-weight: var(--font-weight-strong); color: var(--color-text-primary); }
  .search-message__link { display: inline-block; padding: 12px 0; margin: -12px 0; font-weight: var(--font-weight-strong); }
  .search-state { margin-top: var(--space-4); font: var(--font-weight-strong) var(--text-lead)/1.35 var(--font-sans); color: var(--color-text-primary); }
  .search-state__badge { display: grid; margin-top: var(--space-5); }
  .search-state__badge + .search-state { margin-top: var(--space-3); }
  .search-state__text { margin-top: var(--space-1); font-size: var(--text-ui); line-height: 1.5; color: var(--color-text-secondary); overflow-wrap: anywhere; }
  .search-tips { margin-top: var(--space-3); font-size: var(--text-ui); line-height: 1.5; color: var(--color-text-secondary); }
  .search-tips__item { position: relative; padding-inline-start: 16px; }
  .search-tips__item + .search-tips__item { margin-top: var(--space-1); }
  .search-tips__item::before { content: ""; position: absolute; left: 3px; top: .68em; width: 5px; height: 5px; border-radius: 50%; background: var(--color-icon-subtle); }
  .search-page__head .search-field--page { margin-top: var(--space-3); }
  .search-page__head .page-head__meta { margin-top: var(--space-2); }
  .search-404 .search-field--page { margin-top: var(--space-4); }
  .search-404 .search-state__text { margin-top: var(--space-4); }
  .search-page__suggest-link { display: inline-block; padding: 11px 0; margin: -11px 0; font-weight: var(--font-weight-strong); }
}
@layer layout {
  .error-page__inner { padding-top: var(--space-8); padding-bottom: var(--space-2); }
  @media (min-width: 1024px) { .error-page__inner { padding-top: var(--space-10); } }
  .error-page__links { display: flex; flex-wrap: wrap; column-gap: var(--space-5); margin-top: var(--space-2); }
}
@layer components {
  .error-page__code { font: var(--font-weight-bold) var(--text-code)/1 var(--font-sans); letter-spacing: -.04em; color: var(--color-accent-brand); font-variant-numeric: tabular-nums; }
  .error-page__title { margin-top: var(--space-3); }
  .error-page__lead { margin-top: var(--space-2); }
  .error-page__find { margin-top: var(--space-5); }
}
@layer layout {
  .content-page__body { padding-top: var(--space-6); padding-bottom: var(--space-10); }
  @media (min-width: 768px) { .content-page__body { padding-top: var(--space-8); } }
}
@layer components {
  .content-page__lead { margin-top: var(--space-2); }
  .content-page__meta { margin-top: var(--space-2); font-size: var(--text-caption); line-height: var(--leading-ui); color: var(--color-text-secondary); }
  .content-page__toc { margin-bottom: var(--space-6); }
  .content-page__body .section { max-width: var(--measure-prose); margin-top: var(--space-8); }
  .content-page__tail { margin-top: var(--space-10); }
  .help-sections { max-width: var(--measure-prose); margin-top: var(--space-8); }
  .help-sections--more { padding-top: var(--space-6); border-top: 1px solid var(--color-separator); }
  .help-sections--more > .heading-lg { margin-bottom: var(--space-4); }
  .help-group + .help-group { margin-top: var(--space-6); }
  .help-group__title { margin-bottom: var(--space-2); }
  .help-list { display: grid; gap: var(--space-2); }
  .help-list__item { padding: var(--space-3) var(--space-inset); border-radius: var(--radius-m); background: var(--color-bg-surface); border: 1px solid var(--color-border-subtle); }
  .help-list__link { display: inline-flex; align-items: center; min-height: var(--size-target); color: var(--color-text-link); font-weight: var(--font-weight-strong); text-decoration: none; overflow-wrap: anywhere; }
  .help-list__desc { margin-top: var(--space-1); color: var(--color-text-secondary); font-size: var(--text-meta); line-height: 1.25rem; }
  @media (hover: hover) and (pointer: fine) {
    .help-list__link:hover { text-decoration: underline; }
  }
  @media (min-width: 768px) {
    .help-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  .helper-check { max-width: var(--measure-prose); margin-bottom: var(--space-6); padding: var(--space-4) var(--space-inset); border-radius: var(--radius-m); background: var(--color-bg-band); border: 1px solid var(--color-border-subtle); }
  .helper-check > * + * { margin-top: var(--space-2); }
  .helper-check__rules { color: var(--color-text-secondary); }
  .helper-check__rules .mono { white-space: nowrap; }
  .helper-check__field { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
  .helper-check__select { min-height: var(--size-target); padding: 0 var(--space-3); border-radius: var(--radius-m); border: 1px solid var(--color-border); background: var(--color-bg-surface); color: var(--color-text-primary); font: inherit; }
  .helper-check__result { font-weight: var(--font-weight-strong); color: var(--color-text-primary); }
  .helper-check__result:empty { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .helper-check__links { display: flex; flex-wrap: wrap; column-gap: var(--space-4); }
  .helper-cases { max-width: var(--measure-prose); margin-bottom: var(--space-8); }
  .help-helper-link { max-width: var(--measure-prose); margin-top: var(--space-8); }
  .content-page__body .prose h2:target { color: var(--color-text-link); }
  .file-stats { display: grid; gap: var(--space-4); max-width: var(--measure-prose); margin-block: var(--space-4); }
  @media (min-width: 768px) { .file-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); } }
  .prose .file-stats__title { margin: 0 0 var(--space-1); font: var(--font-weight-strong) var(--text-ui)/var(--leading-ui) var(--font-sans); }
  .file-stats .kv-list__row { grid-template-columns: minmax(0, 1fr) auto; }
  .file-stats .kv-list__row dd { font-weight: var(--font-weight-strong); font-variant-numeric: tabular-nums; text-align: end; }
  .file-stats__date { grid-column: 1 / -1; font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .order-desk { max-width: var(--measure-prose); margin-block: var(--space-4) var(--space-8); padding: var(--space-4); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-l); background: var(--color-bg-surface); box-shadow: var(--shadow-raised); }
  @media (min-width: 768px) { .order-desk { padding: var(--space-6); } }
  .order-form__kinds { margin-top: var(--space-4); }
  @media (min-width: 480px) { .order-form__kinds { grid-template-columns: repeat(2, minmax(0, 1fr)); } .order-form__kinds > legend { grid-column: 1 / -1; } }
  .order-form__note { margin-top: var(--space-4); font-size: var(--text-meta); color: var(--color-text-tertiary); }
  .order-form__actions { margin-top: var(--space-4); }
  .order-done .link-inline { margin-top: var(--space-2); }
  .prose .order-list { list-style: none; padding: 0; max-width: var(--measure-prose); }
  .prose .order-list__item { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; column-gap: var(--space-4); margin: 0; padding: 10px 0; border-top: 1px solid var(--color-separator); }
  .prose .order-list__item:last-child { border-bottom: 1px solid var(--color-separator); }
  .order-list__name { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; overflow-wrap: anywhere; }
  .order-list__count { font-size: var(--text-meta); color: var(--color-text-tertiary); white-space: nowrap; font-variant-numeric: tabular-nums; }
  .request-link { margin-top: var(--space-4); }
}
@layer layout {
  .collection-empty { padding-bottom: var(--space-6); }
  .collection-body { border-top: 1px solid var(--color-separator-soft); padding: var(--space-8) 0 var(--space-6); }
  .collection-related { padding-bottom: var(--space-10); }
  .collection-faq { padding-bottom: var(--space-8); }
  .collection-faq .section { max-width: var(--measure-prose); }
}
@layer components {
  .coll-groups { margin-top: var(--space-8); }
  .coll-groups__list { display: grid; gap: var(--space-2) var(--space-4); margin-top: var(--space-3); }
  .coll-group { display: grid; gap: var(--space-2); padding: var(--space-2) var(--space-1); border-radius: var(--radius-m); color: var(--color-text-primary); text-decoration: none; }
  .coll-group__name { font-size: var(--text-body); font-weight: var(--font-weight-strong); overflow-wrap: anywhere; }
  .coll-group__icons { display: flex; flex-wrap: wrap; gap: var(--space-2); }
  .coll-group__icons > .app-icon { width: 40px; height: 40px; border-radius: var(--radius-s); }
  .coll-group__more { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--radius-s); background: var(--color-accent-subtle); color: var(--color-accent-brand); font-size: var(--text-meta); letter-spacing: 1px; }
  .coll-group:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; }
  @media (hover: hover) and (pointer: fine) {
    .coll-group:hover .coll-group__name { color: var(--color-text-link); text-decoration: underline; }
  }
  @media (min-width: 600px) { .coll-groups__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 1024px) { .coll-groups__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  .collection-page__head .lead { margin-top: var(--space-2); }
}
