/* ═══ NWEALESS — СЛОЙ ТЕМЫ поверх облика zaboy ═════════════════════════
   «Катсцена» (с 01.10.2026). Магазин — кадр катсцены игры эпохи PS2
   (референс заказчика: design/nwealess/ref/video2): грязный бетон и кафель,
   сталь, чёрная глянцевая кожа с ремнями и пряжками, цепи на полу, катаны,
   висячие лампы и люминесцентные трубки. Всё выцветшее, сепия-олива-серый;
   единственное холодное в кадре — СВЕТ НЕБА в окнах, сирень ровно напротив
   оливы по кругу. Он и есть цвет действия. Трубки ламп — кремовые, тёплые:
   они светят, а не зовут.
   Прошлая тема (ювелирка: золото, серебро, звезда ✦, лилия, кинжал) —
   design/nwealess/theme/_ювелирка-30.09/.

   Язык темы, у каждого знака своя работа:
   • СВЕТ НЕБА (--lamp) — действие и «твоё»: кнопка — хром в свете неба,
     кромка выбранного, цена со скидкой, полосы хода и уровня;
   • ТРУБКА — люминесцентная лампа, тёплый крем: под выбранной вкладкой,
     над взятым номиналом (моргнула — зажглась), по верхней кромке корзины;
     её свет ложится на то, что под ней;
   • ЧЁРНАЯ КОЖА — плиты, которые надо запомнить: сумма к оплате, ход
     заказа, плита выдачи, карточка уровня, стример, кнопка уровней. Лоск
     сверху, стальная полированная кромка и СТРОЧКА — шов пунктиром по
     краю, как на плаще;
   • ЗАКЛЁПКИ — стальные головки по углам тех же плит; на кнопке уровней —
     ряд заклёпок растёт, последняя горит: ступени;
   • РЕМЕНЬ С ПРЯЖКОЙ — полосы хода заказа и уровня: кожаный ремень со
     швом, по нему идёт свет, на голове — пряжка. Над суммой к оплате —
     ремень с пряжкой-застёжкой; с карточки стримера свисает ремешок;
   • КАТАНА — разделитель, один на экран: перед лестницей уровней и перед
     вопросами «О нас»;
   • ЛАМПА НА ПРОВОДЕ — как во дворе на кадрах: пустой список заказов;
   • ЦЕПЬ, ПРЯЖКА, ЗАКЛЁПКА — салют выдачи вместе с искрами крема и неба;
   • РАМКИ ПЛИТОК ИГР — узор с рамки владельца (не трогаем рисунок), сталью;
     у главной плитки — светом;
   • ФАКТУРЫ — неподвижные и тихие: зерно плёнки по всему и на арте шапок,
     пятна бетона в ночи, кафель только на стенах (заставка, бока
     монитора). Скан-линий нет: референс — чистое видео с мелким зерном.

   Цвета. Ночь — грязный бетон с оливой (--deep…--seam-2, --moss), текст —
   выцветший тёплый свет (--cream), сталь (--sand), бетонная пыль
   (--sand-dim). Свет неба (--lamp, сердце --lamp-hi, в тени --lamp-lo) —
   действие. Трубки — тёплый крем (--nw-трубка-свет: латунь в белом).
   «Получилось» — шалфей в оливе мира (--ore), «ошибка» — ржавчина (--rust),
   тихая и редкая: обе далеко от света по тону (theme/contrast.py), и ошибка
   всегда подана ещё и формой — рваной кромкой и знаком ×. Латунь (--zhar) —
   имя ступени «Золото», смеси металлов ступеней и крем трубок.

   Правила файла:
   • Всё заперто на корни витрины — .app, .регионы, .вопрос, .накрыльцо,
     #грузим, .proboy (салют), .пасхалка и html[data-телефон]. Файл сервер
     подключает и к пульту — голый селектор перекрасил бы чужой экран.
   • Цвет — только токены палитры и смеси из них. Чёрный и белый — для
     теней и бликов. В масках-рисунках «black» — не цвет, а «видно».
   • Свои переменные — с приставкой --nw-, свои кадры — nw-.
   • В кадрах и переходах — только transform / opacity. Бесконечное
     движение — только внутри видимого экрана (скрытый — display:none):
     ждём заказ, идёт выдача, текущий шаг. Фон, зерно, кромки неподвижны.
   • Слов тема не добавляет: ни одной надписи в content. */

/* ── 0. ТОНА, МАТЕРИАЛЫ, ЗАКЛЁПКИ ──────────────────────────────────────
   Не новые цвета, а смеси палитры: магазин перекрашивается из brand.json
   целиком, здесь нет ни одного цвета числом. */
:root{
  --nw-нить:color-mix(in oklab, var(--sand) 15%, transparent);
  --nw-нить-ярко:color-mix(in oklab, var(--sand) 28%, transparent);
  --nw-блик:color-mix(in oklab, var(--cream) 8%, transparent);
  --nw-свет-нить:color-mix(in oklab, var(--lamp) 60%, transparent);
  --nw-свет-тихо:color-mix(in oklab, var(--lamp) 24%, transparent);
  /* Трубка люминесцентной лампы — крем с лёгкой зеленцой, как в кадрах
     (#fefce8 по пипетке): по ней трубку и узнают. Смесью токенов такой не
     собрать — белое гасит зеленцу, — поэтому это свой токен палитры
     (--nw-tube в brand.json, латиницей: другие имена сервер не пропускает).
     Свет трубок и ламп на вещах — этот же тон вполсилы. */
  --nw-трубка-свет:var(--nw-tube);
  /* Стекло — плотное, верх светлее: лампа висит сверху. */
  --nw-стекло:linear-gradient(180deg,
    color-mix(in oklab, var(--stone-2) 94%, transparent) 0%,
    color-mix(in oklab, var(--stone) 96%, transparent) 55%,
    color-mix(in oklab, var(--stone-deep) 97%, transparent) 100%);
  /* Кожа — непрозрачная плита: сквозь полупрозрачную проступил бы
     градиент кромки. Лоск — мягкий блик неба у верхнего края, как на
     плаще под лампой: чёрная кожа, а не матовый пластик. */
  --nw-кожа:linear-gradient(180deg, var(--stone-2) 0%, var(--stone) 38%, var(--stone-deep) 100%);
  --nw-лоск:radial-gradient(110% 64% at 24% -14%, color-mix(in oklab, var(--lamp-hi) 10%, transparent), transparent 64%);
  /* Стальная кромка — полированный край в свете неба: блик слева
     сверху, провал, второй блик, тень к низу. Кладётся фоном border-box. */
  --nw-кромка:linear-gradient(158deg,
    color-mix(in oklab, var(--lamp-hi) 72%, transparent) 0%,
    color-mix(in oklab, var(--sand) 18%, transparent) 22%,
    color-mix(in oklab, var(--sand) 54%, transparent) 48%,
    color-mix(in oklab, var(--sand) 10%, transparent) 74%,
    color-mix(in oklab, var(--cream) 36%, transparent) 100%);
  /* Кромка в свете — у того, что горит: главная плитка, готово, выдано,
     верхняя ступень. */
  --nw-кромка-свет:linear-gradient(158deg,
    var(--lamp-top) 0%,
    color-mix(in oklab, var(--lamp-lo) 70%, transparent) 26%,
    var(--lamp) 52%,
    color-mix(in oklab, var(--lamp-lo) 55%, transparent) 78%,
    var(--lamp-hi) 100%);
  /* Тихая кромка — та же сталь вполсилы: у плиток, которые не главные. */
  --nw-кромка-тихо:linear-gradient(158deg,
    color-mix(in oklab, var(--lamp-hi) 46%, transparent) 0%,
    color-mix(in oklab, var(--sand) 14%, transparent) 26%,
    color-mix(in oklab, var(--sand) 30%, transparent) 50%,
    color-mix(in oklab, var(--sand) 10%, transparent) 76%,
    color-mix(in oklab, var(--cream) 26%, transparent) 100%);
  /* Фаска под кромкой: сразу под светлой линией — тёмная, под ней сверху
     еле заметный блик. Кладётся первой тенью. */
  --nw-фаска:inset 0 0 0 1px rgba(0,0,0,.6),
    inset 0 2px 0 color-mix(in oklab, var(--cream) 5%, transparent);
  /* Строчка — шов по коже: пунктир стали на 6 px внутрь от кромки.
     Кладётся outline'ом с отрицательным отступом: псевдоэлементы плит
     заняты ремнями, светом и бликом шаблона. */
  --nw-строчка:1px dashed color-mix(in oklab, var(--sand) 24%, transparent);
  /* Заклёпка: стальная головка с бликом неба и тенью, 6 × 6. */
  --nw-заклёпка:radial-gradient(circle at 42% 38%, var(--lamp-hi) 0 .55px,
    var(--sand) 1.1px, var(--sand-dim) 1.8px, rgba(0,0,0,.7) 2.3px, transparent 2.8px);
  --nw-заклёпки:var(--nw-заклёпка) 7px 7px / 6px 6px no-repeat,
    var(--nw-заклёпка) calc(100% - 7px) 7px / 6px 6px no-repeat,
    var(--nw-заклёпка) 7px calc(100% - 7px) / 6px 6px no-repeat,
    var(--nw-заклёпка) calc(100% - 7px) calc(100% - 7px) / 6px 6px no-repeat;
  /* Металлы ступеней: медь → бронза → серебро → золото → платина. Смеси
     палитры, выцветшие, как всё в кадре: медь — ржавчина с латунью, бронза
     — латунь в тени, серебро — сталь, золото — латунь, платина — сердце
     лампы с тёплым светом. Контраст на всех фонах уровней —
     theme/contrast.py. */
  --nw-медь:color-mix(in oklab, var(--rust) 55%, var(--zhar));
  --nw-бронза:color-mix(in oklab, var(--zhar) 62%, var(--zhar-lo));
  --nw-серебро:var(--sand);
  --nw-золото:var(--zhar);
  --nw-платина:color-mix(in oklab, var(--lamp-hi) 70%, var(--cream));
  /* Оттиск: буква выдавлена в коже — тень сверху внутрь, блик снизу. */
  --nw-оттиск:0 1px 0 rgba(0,0,0,.9), 0 -1px 0 rgba(255,255,255,.05);
  /* Мелкая подпись заглавными — Onest: Unbounded в мелком кегле груб. */
  --nw-ярлык:600 10px/1.2 var(--font);
  /* Объём кнопки: светлая грань сверху, тень снизу — нажимается. */
  --nw-объём:inset 0 1px 0 var(--nw-блик), inset 0 -1px 0 rgba(0,0,0,.5),
    0 10px 20px -14px rgba(0,0,0,.95);
  /* Хром в свете неба — главная кнопка: белый кант сверху, тень снизу,
     стальное кольцо и сиреневый отсвет под ней. */
  --nw-хром:inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(0,0,0,.28),
    0 0 0 1px color-mix(in oklab, var(--lamp-lo) 70%, transparent),
    0 10px 26px -14px color-mix(in oklab, var(--lamp) 46%, transparent),
    0 12px 24px -16px rgba(0,0,0,.95);
  /* Трубка на тонкой полосе (2 px): кремовая сердцевина и ореол того же
     тона тенью. */
  --nw-трубка:0 0 3px 0 color-mix(in oklab, var(--nw-трубка-свет) 85%, transparent),
    0 0 12px 1px color-mix(in oklab, var(--nw-трубка-свет) 30%, transparent);
  /* Ремень — полосы хода и уровня: кожа, по краям шов пунктиром, сверху
     лоск. Фоном полосы. */
  --nw-ремень:
    repeating-linear-gradient(90deg, color-mix(in oklab, var(--sand) 34%, transparent) 0 3px, transparent 3px 6px) 0 1px / 100% 1px no-repeat,
    repeating-linear-gradient(90deg, color-mix(in oklab, var(--sand) 34%, transparent) 0 3px, transparent 3px 6px) 0 calc(100% - 1px) / 100% 1px no-repeat,
    linear-gradient(180deg, var(--seam-2) 0%, var(--stone-2) 45%, var(--stone-deep) 100%);
  /* Кафель — швы плитки, как в прачечной: тёмный шов через 22 px и еле
     светлая грань под ним. Только на стенах: заставка и бока монитора. */
  --nw-кафель:
    linear-gradient(rgba(0,0,0,.34) 1px, transparent 1px) 0 0 / 100% 22px,
    linear-gradient(90deg, rgba(0,0,0,.34) 1px, transparent 1px) 0 0 / 22px 100%,
    linear-gradient(color-mix(in oklab, var(--cream) 3%, transparent) 1px, transparent 1px) 0 1px / 100% 22px;
}

/* >>> МОТИВЫ — пишет design/nwealess/theme/motif.py, руками не править */
/* свои рисунки темы: пряжка, ремешок, звено, катана, лампа, зерно, бетон */
:root{
  --nw-пряжка:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath fill-rule='evenodd' d='M12.5 0.7L13.37 0.84L14.15 1.23L14.77 1.85L15.16 2.63L15.3 3.5L15.3 8.5L15.16 9.37L14.77 10.15L14.15 10.77L13.37 11.16L12.5 11.3L3.5 11.3L2.63 11.16L1.85 10.77L1.23 10.15L0.84 9.37L0.7 8.5L0.7 3.5L0.84 2.63L1.23 1.85L1.85 1.23L2.63 0.84L3.5 0.7ZM12.2 2.5L12.6 2.56L12.96 2.75L13.25 3.04L13.44 3.4L13.5 3.8L13.5 8.2L13.44 8.6L13.25 8.96L12.96 9.25L12.6 9.44L12.2 9.5L3.8 9.5L3.4 9.44L3.04 9.25L2.75 8.96L2.56 8.6L2.5 8.2L2.5 3.8L2.56 3.4L2.75 3.04L3.04 2.75L3.4 2.56L3.8 2.5ZM7.1 2.5L8.9 2.5L8.9 9.5L7.1 9.5ZM13.6 5.25L13.79 5.28L13.95 5.36L14.09 5.5L14.17 5.66L14.2 5.85L14.2 6.15L14.17 6.34L14.09 6.5L13.95 6.64L13.79 6.72L13.6 6.75L9.5 6.75L9.31 6.72L9.15 6.64L9.01 6.5L8.93 6.34L8.9 6.15L8.9 5.85L8.93 5.66L9.01 5.5L9.15 5.36L9.31 5.28L9.5 5.25Z'/%3E%3C/svg%3E");
  --nw-пряжка-с:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath fill-rule='evenodd' d='M0.7 12.5L0.84 13.37L1.23 14.15L1.85 14.77L2.63 15.16L3.5 15.3L8.5 15.3L9.37 15.16L10.15 14.77L10.77 14.15L11.16 13.37L11.3 12.5L11.3 3.5L11.16 2.63L10.77 1.85L10.15 1.23L9.37 0.84L8.5 0.7L3.5 0.7L2.63 0.84L1.85 1.23L1.23 1.85L0.84 2.63L0.7 3.5ZM2.5 12.2L2.56 12.6L2.75 12.96L3.04 13.25L3.4 13.44L3.8 13.5L8.2 13.5L8.6 13.44L8.96 13.25L9.25 12.96L9.44 12.6L9.5 12.2L9.5 3.8L9.44 3.4L9.25 3.04L8.96 2.75L8.6 2.56L8.2 2.5L3.8 2.5L3.4 2.56L3.04 2.75L2.75 3.04L2.56 3.4L2.5 3.8ZM2.5 7.1L2.5 8.9L9.5 8.9L9.5 7.1ZM5.25 13.6L5.28 13.79L5.36 13.95L5.5 14.09L5.66 14.17L5.85 14.2L6.15 14.2L6.34 14.17L6.5 14.09L6.64 13.95L6.72 13.79L6.75 13.6L6.75 9.5L6.72 9.31L6.64 9.15L6.5 9.01L6.34 8.93L6.15 8.9L5.85 8.9L5.66 8.93L5.5 9.01L5.36 9.15L5.28 9.31L5.25 9.5Z'/%3E%3C/svg%3E");
  --nw-ремешок:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 40'%3E%3Cpath fill-rule='evenodd' d='M5 -4L6.24 -3.8L7.35 -3.24L8.24 -2.35L8.8 -1.24L9 0L9 36L8.8 37.24L8.24 38.35L7.35 39.24L6.24 39.8L5 40L5 40L3.76 39.8L2.65 39.24L1.76 38.35L1.2 37.24L1 36L1 0L1.2 -1.24L1.76 -2.35L2.65 -3.24L3.76 -3.8L5 -4ZM6.05 25.5L5.97 25.9L5.74 26.24L5.4 26.47L5 26.55L4.6 26.47L4.26 26.24L4.03 25.9L3.95 25.5L4.03 25.1L4.26 24.76L4.6 24.53L5 24.45L5.4 24.53L5.74 24.76L5.97 25.1ZM6.05 30.5L5.97 30.9L5.74 31.24L5.4 31.47L5 31.55L4.6 31.47L4.26 31.24L4.03 30.9L3.95 30.5L4.03 30.1L4.26 29.76L4.6 29.53L5 29.45L5.4 29.53L5.74 29.76L5.97 30.1ZM6.05 35.5L5.97 35.9L5.74 36.24L5.4 36.47L5 36.55L4.6 36.47L4.26 36.24L4.03 35.9L3.95 35.5L4.03 35.1L4.26 34.76L4.6 34.53L5 34.45L5.4 34.53L5.74 34.76L5.97 35.1Z'/%3E%3C/svg%3E");
  --nw-звено:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill-rule='evenodd' d='M11.6 4L11.51 4.64L11.26 5.27L10.85 5.85L10.29 6.38L9.6 6.83L8.8 7.2L7.92 7.48L6.97 7.64L6 7.7L5.03 7.64L4.08 7.48L3.2 7.2L2.4 6.83L1.71 6.38L1.15 5.85L0.74 5.27L0.49 4.64L0.4 4L0.49 3.36L0.74 2.73L1.15 2.15L1.71 1.62L2.4 1.17L3.2 0.8L4.08 0.52L5.03 0.36L6 0.3L6.97 0.36L7.92 0.52L8.8 0.8L9.6 1.17L10.29 1.62L10.85 2.15L11.26 2.73L11.51 3.36ZM9.3 4L9.25 4.27L9.1 4.53L8.86 4.78L8.53 5L8.12 5.19L7.65 5.34L7.13 5.46L6.57 5.53L6 5.55L5.43 5.53L4.87 5.46L4.35 5.34L3.88 5.19L3.47 5L3.14 4.78L2.9 4.53L2.75 4.27L2.7 4L2.75 3.73L2.9 3.47L3.14 3.22L3.47 3L3.88 2.81L4.35 2.66L4.87 2.54L5.43 2.47L6 2.45L6.57 2.47L7.13 2.54L7.65 2.66L8.12 2.81L8.53 3L8.86 3.23L9.1 3.47L9.25 3.73Z'/%3E%3C/svg%3E");
  --nw-катана:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath fill-rule='evenodd' d='M2.6 4.25L29.4 4.25L29.4 7.75L2.6 7.75ZM5.2 4.85L6.55 6L5.2 7.15L3.85 6ZM9.2 4.85L10.55 6L9.2 7.15L7.85 6ZM13.2 4.85L14.55 6L13.2 7.15L11.85 6ZM17.2 4.85L18.55 6L17.2 7.15L15.85 6ZM21.2 4.85L22.55 6L21.2 7.15L19.85 6ZM25.2 4.85L26.55 6L25.2 7.15L23.85 6Z'/%3E%3Cpath d='M1.9 3.9L2.18 3.94L2.43 4.07L2.63 4.27L2.76 4.52L2.8 4.8L2.8 7.2L2.76 7.48L2.63 7.73L2.43 7.93L2.18 8.06L1.9 8.1L1.5 8.1L1.22 8.06L0.97 7.93L0.77 7.73L0.64 7.48L0.6 7.2L0.6 4.8L0.64 4.52L0.77 4.27L0.97 4.07L1.22 3.94L1.5 3.9ZM32.45 6L32.41 7.18L32.31 8.3L32.13 9.3L31.9 10.14L31.63 10.78L31.32 11.17L31 11.3L30.68 11.17L30.37 10.78L30.1 10.14L29.87 9.3L29.69 8.3L29.59 7.18L29.55 6L29.59 4.82L29.69 3.7L29.87 2.7L30.1 1.86L30.37 1.22L30.68 0.83L31 0.7L31.32 0.83L31.63 1.22L31.9 1.86L32.13 2.7L32.31 3.7L32.41 4.82ZM32.3 4.35L35.4 4.35L35.4 7.55L32.3 7.55ZM35.2 4.55L39.7 4.51L44.24 4.46L48.84 4.41L53.48 4.34L58.15 4.26L62.85 4.18L67.58 4.08L72.32 3.98L77.08 3.87L81.84 3.75L86.59 3.62L91.35 3.49L96.09 3.35L100.81 3.2L105.51 3.05L110.18 2.89L114.81 2.72L119.4 2.55L118.28 3.17L117.18 3.72L116.08 4.21L114.97 4.64L113.86 5L112.73 5.31L111.58 5.56L110.4 5.75L106.63 5.84L102.8 5.93L98.91 6.02L94.96 6.12L90.96 6.22L86.9 6.32L82.8 6.42L78.65 6.52L74.45 6.62L70.21 6.72L65.94 6.81L61.63 6.9L57.29 6.98L52.92 7.06L48.52 7.13L44.1 7.2L39.66 7.25L35.2 7.3Z'/%3E%3C/svg%3E");
  --nw-лампа:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 44'%3E%3Cpath d='M11.55 0L12.45 0L12.45 21L11.55 21ZM13.1 20L13.32 20.03L13.51 20.13L13.67 20.29L13.77 20.48L13.8 20.7L13.8 22.5L13.77 22.72L13.67 22.91L13.51 23.07L13.32 23.17L13.1 23.2L10.9 23.2L10.68 23.17L10.49 23.07L10.33 22.91L10.23 22.72L10.2 22.5L10.2 20.7L10.23 20.48L10.33 20.29L10.49 20.13L10.68 20.03L10.9 20ZM9.8 22.6L14.2 22.6L15.33 23.48L16.43 24.36L17.5 25.25L18.53 26.14L19.51 27.04L20.44 27.93L21.29 28.81L22.08 29.69L22.78 30.55L23.4 31.4L21.16 31.83L18.9 32.17L16.61 32.41L14.31 32.55L12 32.6L9.69 32.55L7.39 32.41L5.1 32.17L2.84 31.83L0.6 31.4L1.22 30.55L1.92 29.69L2.71 28.81L3.56 27.93L4.49 27.04L5.47 26.14L6.5 25.25L7.57 24.36L8.67 23.48L9.8 22.6ZM15.3 33.3L15.19 33.9L14.86 34.45L14.33 34.93L13.65 35.29L12.85 35.52L12 35.6L11.15 35.52L10.35 35.29L9.67 34.93L9.14 34.45L8.81 33.9L8.7 33.3L8.81 32.7L9.14 32.15L9.67 31.67L10.35 31.31L11.15 31.08L12 31L12.85 31.08L13.65 31.31L14.33 31.67L14.86 32.15L15.19 32.7Z'/%3E%3C/svg%3E");
  --nw-зерно:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='z' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.9 0 0 0 -.62'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url%28%23z%29'/%3E%3C/svg%3E");
  --nw-бетон:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='b' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.011 .016' numOctaves='4' seed='23' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.4 -1.05'/%3E%3C/filter%3E%3Crect width='320' height='320' filter='url%28%23b%29'/%3E%3C/svg%3E");
}
/* <<< МОТИВЫ */

/* Углы — строгие: сталь и кожа, а не игровые пилюли. */
.app, .регионы, .вопрос, .накрыльцо, .пасхалка{--r-card:6px; --r-in:3px; --r-pill:3px}

/* Фокус с клавиатуры — у всего, что нажимается, заметным контуром света. */
.app .ore:focus-visible,
.app .gcard:focus-visible,
.app .lob:focus-visible,
.app .лоб-уровни:focus-visible,
.app .ord:focus-visible,
.app .стример-ссылка:focus-visible{outline:1px solid var(--lamp); outline-offset:3px}


/* ── 1. НОЧЬ: БЕТОН, ОЛИВА, ХОЛОДНЫЙ СВЕТ И ЗЕРНО ──────────────────────
   Два неподвижных слоя под всей витриной. Нижний — ночь катсцены: сверху
   падает тёплый свет трубок, тени отдают в оливу, по бетону — пятна
   грязи, к краям темнеет. Верхний — зерно плёнки, еле заметное. */
.app::before,
.app::after{content:""; position:fixed; inset:0; z-index:-1; pointer-events:none}
.app::before{
  background:
    radial-gradient(70% 36% at 50% -6%, color-mix(in oklab, var(--nw-трубка-свет) 7%, transparent), transparent 70%),
    radial-gradient(140% 90% at 50% 45%, transparent 52%, color-mix(in oklab, var(--deep) 85%, transparent) 100%),
    var(--nw-бетон) 0 0 / 320px 320px repeat,
    linear-gradient(180deg, color-mix(in oklab, var(--moss) 20%, var(--rock)) 0%, var(--rock) 42%, var(--deep) 76%)}
.app::after{background:var(--cream); opacity:.055;
  -webkit-mask:var(--nw-зерно) 0 0 / 160px 160px repeat;
          mask:var(--nw-зерно) 0 0 / 160px 160px repeat}

/* Пыль в свете лампы — мир шахты. Здесь её нет. */
.app .motes{display:none !important}

/* Полоса шапки и полоса вкладок липнут к верху и несут свой фон. */
.app .bar{background:linear-gradient(180deg,
  color-mix(in oklab, var(--rock) 97%, transparent) 72%, transparent)}
.app .tabs{background:linear-gradient(180deg, transparent 0,
  color-mix(in oklab, var(--rock) 92%, transparent) 12px,
  color-mix(in oklab, var(--rock) 92%, transparent) 60%, transparent)}


/* ── 2. ЗАГОЛОВКИ — крупно, сдержанно, заглавными ──────────────────────
   Unbounded в средней насыщенности, заглавными и с разрядом: как титры
   катсцены. Буквы выдавлены в коже (оттиск). */
.app .about-head h2,
.app .screen[data-screen="order"] .order-head h2,
.app .где b,
.app .vip-now b,
.app #digTitle,
.app .bindbox h2,
.вопрос-тело h2,
.регионы-верх b{font-family:var(--font-display); text-transform:uppercase;
  font-weight:500; letter-spacing:.07em; line-height:var(--lh-tight);
  color:var(--cream); text-shadow:var(--nw-оттиск)}
.app .about-head h2{font-size:var(--fs-lg)}
.app .screen[data-screen="order"] .order-head h2{font-size:var(--fs-xl); letter-spacing:.05em}
.app .где b{font-size:var(--fs-lg); letter-spacing:.06em}
.app .vip-now b{font-size:var(--fs-xl); letter-spacing:.05em}
.app #digTitle{font-size:var(--fs-base); letter-spacing:.12em}
.app .bindbox h2{font-size:var(--fs-md); letter-spacing:.12em}
.вопрос-тело h2{font-size:var(--fs-lg); letter-spacing:.05em; text-wrap:balance}
.регионы-верх b{font-size:var(--fs-sm); letter-spacing:.2em}
/* Подписи-ярлыки — мелко, заглавными, с большим разрядом, сталью. */
.app .vip-h,
.app .row h3{font:var(--nw-ярлык); font-size:var(--fs-cap); text-transform:uppercase;
  letter-spacing:.26em; color:var(--sand)}
.app .vip-h{margin-bottom:12px}
.app .about-head p,
.app .order-head p{color:var(--sand-dim)}


/* ── 3. ШАПКА ПОЛКИ ──────────────────────────────────────────────────────
   Знак — сталь, имя — тёплый свет. «Все игры» и «Заказы» — дорога, а не
   действие: тонкая стальная кромка, подпись заглавными. Света в шапке
   нет — он для действия. */
.app .logo{color:var(--cream); font-family:var(--font-display); font-weight:500;
  font-size:10px; letter-spacing:.1em}
.app .logo svg:not(.слово){color:var(--sand)}
.app .logo .слово{color:var(--cream)}
.app .bar .pill.big,
.app .pill.ghost{color:var(--cream); border:1px solid var(--nw-нить-ярко); border-radius:var(--r-in);
  background:color-mix(in oklab, var(--stone) 80%, transparent);
  box-shadow:inset 0 1px 0 var(--nw-блик);
  font:var(--nw-ярлык); font-size:10px; text-transform:uppercase; letter-spacing:.1em}
.app .bar .pill.big span{font:inherit}
.app .bar .pill.big .ic{width:20px; height:20px}
.app .pill.ghost{color:var(--sand)}
.app .bar .pill.big .ic,
.app .pill.ghost .ic{color:var(--sand)}
.app .bar .pill.big:active,
.app .pill.ghost:active{border-color:var(--nw-свет-нить)}
.app .back{color:var(--sand); border-color:var(--nw-нить-ярко); border-radius:var(--r-in);
  background:color-mix(in oklab, var(--stone) 70%, transparent);
  box-shadow:inset 0 1px 0 var(--nw-блик)}
.app .back .ic{color:var(--sand)}
.app .где span{font:var(--nw-ярлык); font-size:var(--fs-cap); text-transform:uppercase;
  letter-spacing:.2em; color:var(--sand-dim)}


/* ── 4. ВКЛАДКИ: выбранная — под лампой ─────────────────────────────────
   Выбранная — не заливка: чёрная кожа в кромке света неба, подпись
   тёплым светом, под ней горит короткая кремовая трубка — «это твоё».
   Трубка едет вместе с пилюлей, потому что живёт в ней. */
.app .tabs{padding-bottom:15px}
.app .tab,
.app .tab-pill{border-radius:var(--r-in)}
.app .tab{font-weight:500; letter-spacing:.02em}
.app .tab-pill{background:var(--stone-deep); overflow:visible;
  box-shadow:inset 0 0 0 1px var(--nw-свет-нить), inset 0 1px 0 var(--nw-блик),
    0 6px 16px -10px color-mix(in oklab, var(--lamp) 50%, transparent)}
.app .tab-pill::after{content:""; position:absolute; left:50%; top:calc(100% + 5px);
  width:28px; height:2px; margin-left:-14px; border-radius:1px; pointer-events:none;
  background:var(--nw-трубка-свет); box-shadow:var(--nw-трубка)}
.app .tab.on{color:var(--cream)}
.app .tab:not(.on){color:var(--sand); border-color:var(--nw-нить);
  background:transparent; box-shadow:none}
.app .tab:not(.on):active{background:color-mix(in oklab, var(--lamp) 7%, transparent)}
.app .tab .ic{color:var(--sand)}


/* ── 5. КАРТОЧКА НОМИНАЛА ────────────────────────────────────────────────
   В покое — тёмное стекло под стальной нитью; номинал — сталью, цена —
   крупно тёплым светом, выгода — светом неба. Взяли — номинал «ваш»: над
   ним включается трубка (моргнула и зажглась, как лампа в прачечной), её
   крем ложится на карточку; кромка и счётчик — в свете неба. */
.app .ore{border-color:var(--nw-нить); background:var(--nw-стекло);
  box-shadow:inset 0 1px 0 var(--nw-блик), inset 0 -1px 0 rgba(0,0,0,.5),
    0 12px 22px -16px rgba(0,0,0,.95)}
.app .ore:not(.spent):active{border-color:var(--nw-свет-тихо)}
.app .ore.incart{border-color:var(--nw-свет-нить);
  background:
    radial-gradient(90% 46% at 50% 0%, color-mix(in oklab, var(--nw-трубка-свет) 9%, transparent), transparent 72%),
    linear-gradient(180deg, color-mix(in oklab, var(--lamp) 7%, var(--stone)) 0%,
      var(--stone) 46%, var(--stone-deep) 100%);
  box-shadow:inset 0 1px 0 color-mix(in oklab, var(--lamp-hi) 14%, transparent),
    inset 0 -1px 0 rgba(0,0,0,.5), 0 12px 22px -16px rgba(0,0,0,.95)}
/* Трубка под верхней кромкой взятой карточки: включается один раз.
   Внутри, а не на кромке: карточка шаблона режет всё за краем. */
.app .ore.incart::after{content:""; position:absolute; left:16px; right:16px; top:4px; height:2px;
  border-radius:1px; pointer-events:none; background:var(--nw-трубка-свет); box-shadow:var(--nw-трубка);
  animation:nw-зажглась 900ms linear both}
/* Лампа зажигается: два коротких моргания и ровный свет. Меньше трёх
   вспышек в секунду, полоса в 2 px — не «мигалка». */
@keyframes nw-зажглась{0%{opacity:0} 9%{opacity:.8} 15%{opacity:.12} 28%{opacity:.62}
  34%{opacity:.22} 56%,100%{opacity:1}}
.app .ore.spent{border-color:color-mix(in oklab, var(--seam) 60%, transparent);
  background:color-mix(in oklab, var(--deep) 70%, transparent); box-shadow:none}
.app .ore.spent .line1 span{color:var(--sand-dim)}
.app .ore.spent .line1 b{color:var(--sand-dim)}

/* Номинал — сталь, мелко; цена — тёплый свет, Unbounded, крупнее. */
.app .line1 b{color:var(--sand); font-weight:600; letter-spacing:.02em}
.app .grid .ore .line1 b{white-space:normal; text-wrap:balance}
.app .line1 span{margin-top:3px; font-family:var(--font-display); font-weight:500;
  font-size:var(--fs-base); letter-spacing:.01em; color:var(--cream)}
.app .ore .выгода s{color:var(--sand-dim)}
.app .ore .выгода b{color:var(--lamp); font-weight:600}
.app .ore .сложение,
.app .ore .впервые{text-align:center}

/* «Выбрать» — тонкая стальная кромка, подпись заглавными: зовёт нажать, но
   не спорит с ценой. */
.app .ore .take{border:1px solid var(--nw-нить-ярко); border-radius:var(--r-in);
  background:transparent; color:var(--sand); box-shadow:none;
  font:var(--nw-ярлык); font-size:10.5px; text-transform:uppercase; letter-spacing:.16em}
.app .ore:not(.spent):active .take{background:color-mix(in oklab, var(--lamp) 10%, transparent);
  border-color:var(--nw-свет-нить); color:var(--cream)}
/* Счётчик на взятой: чёрная кожа в кромке неба, число — тёплый свет. */
.app .ore.incart .take{border-color:var(--nw-свет-нить); color:var(--cream);
  background:var(--stone-deep); box-shadow:inset 0 1px 0 var(--nw-блик);
  font-family:var(--font); letter-spacing:0}
.app .take.picked i{color:var(--lamp); background:color-mix(in oklab, var(--cream) 5%, transparent)}
.app .take.picked i:active{background:color-mix(in oklab, var(--lamp) 16%, transparent)}
.app .take.picked b{font-family:var(--font-display); font-weight:500; color:var(--cream)}
.app .ore.spent .take{background:transparent; border-color:color-mix(in oklab, var(--seam) 60%, transparent);
  box-shadow:none}

/* Плашка номинала (ХИТ, ВЫГОДА) — жетон: чёрная кожа, кромка и буквы
   светом неба, заглавными с разрядом. */
.app .ore .mark{z-index:2; font-family:var(--font-display); font-weight:600; letter-spacing:.18em;
  color:var(--lamp); background:var(--stone-deep);
  box-shadow:inset 0 0 0 1px var(--nw-свет-нить), 0 4px 10px -4px rgba(0,0,0,.9)}
.app .ore .gone{background:var(--stone-deep); color:var(--sand-dim);
  box-shadow:inset 0 0 0 1px var(--nw-нить)}

/* Своя сумма и раздел за входом через бота — то же стекло. */
.app .своя{border-color:var(--nw-нить); background:var(--nw-стекло);
  box-shadow:inset 0 1px 0 var(--nw-блик)}
.app .своя .take{border:1px solid var(--nw-свет-нить); color:var(--lamp);
  background:transparent; font-weight:600}
.app .своя .take:disabled{opacity:.5}
.app .замок{border-color:var(--nw-нить); background:var(--nw-стекло);
  box-shadow:inset 0 1px 0 var(--nw-блик);
  backdrop-filter:none; -webkit-backdrop-filter:none}
.app .замок .ic{color:var(--sand)}
.app .замок b{font-family:var(--font-display); font-weight:500; text-transform:uppercase;
  letter-spacing:.08em; font-size:var(--fs-base)}

/* Кому уходит покупка — стальная нить, галочка шалфеем. */
.app .who-chip{border-color:var(--nw-нить-ярко); background:var(--stone-deep)}
.app .who-chip > svg{color:var(--ore)}
.app .who-edit{color:var(--lamp)}


/* ── 6. ОБЕЩАНИЯ — СВЕДЕНИЯ, А НЕ КНОПКИ ─────────────────────────────────
   Плоско, прямо на ночи: стальной значок и две строки, без рамки и тени.
   На таком тихом фоне видно, что нажимается: плитки и кнопка уровней. */
.app .promises > div,
.app .vows > div{border-color:transparent; background:none; box-shadow:none}
.app .promises > div{padding:8px 4px 4px}
.app .promises .ic,
.app .vows .ic{color:var(--sand)}
.app .vows > div{display:grid; grid-template-columns:auto minmax(0, 1fr); column-gap:11px;
  align-items:center; text-align:left; padding:6px 2px}
.app .vows > div .ic{grid-row:1 / span 2; width:20px; height:20px; margin:0}
.app .vows > div b,
.app .vows > div span{grid-column:2}
.app .vows > div b{color:var(--cream); font-weight:600}
.app .vows > div span{color:var(--sand-dim)}
.app .row .more{color:var(--sand); background:transparent;
  border:1px solid var(--nw-нить-ярко); border-radius:var(--r-in);
  font-family:var(--font); font-weight:600; letter-spacing:0; text-transform:none}
.app .row .more:active{border-color:var(--nw-свет-нить)}
.app .row h3 .ic{color:var(--sand)}


/* ── 7. ГЛАВНАЯ МАГАЗИНА ─────────────────────────────────────────────── */
.app .home-mark{color:var(--sand);
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.8))}
/* Имя текстом (пока нет вордмарка художника) — крупно, тёплым светом, с
   разрядом. Вордмарк встанет — шаблон спрячет эту строку сам. */
.app .home-brand{font-family:var(--font-display); font-weight:500; font-size:var(--fs-xl);
  letter-spacing:.24em; margin-right:-.24em; color:var(--cream); text-shadow:var(--nw-оттиск)}
/* «ВСЕ ИГРЫ» под именем — вторая тяжёлая строка подряд. Под именем — ничего. */
.app .home-head h2{display:none}
.app .home-о{color:var(--sand)}
/* Между шапкой и плитками — пустая ночь, а не ещё одна линия. */
.app .home-head + .gcards{margin-top:26px}

/* Уровни — КНОПКА, и видно это с первого взгляда: плита чёрной кожи под
   стальной кромкой, шов по краю, объём, шеврон справа. Справа от слов —
   ремешок поднимается слева направо, на нём заклёпки растут от мелкой
   стальной к крупной в свете неба: ступени. Рядом по одной линии они
   читались точками листалки — подъём ремешка даёт им опору и смысл. */
.app .лоб-уровни{padding-right:44px; border:1px solid transparent;
  background:var(--nw-лоск) padding-box, var(--nw-кожа) padding-box, var(--nw-кромка) border-box;
  outline:var(--nw-строчка); outline-offset:-6px;
  box-shadow:inset 0 1px 0 var(--nw-блик), inset 0 -2px 0 rgba(0,0,0,.45),
    0 14px 26px -18px rgba(0,0,0,.95);
  transition:scale var(--t-press) var(--ease-out)}
.app .лоб-уровни:active{scale:.97}
.app .лоб-уровни b{color:var(--cream); font-weight:600}
.app .лоб-уровни span{color:var(--sand-dim)}
.app .лоб-уровни .лоб-шеврон{right:16px; border-color:var(--sand)}
.app .home-vows .лоб-уровни .ic{width:26px; height:26px; margin-bottom:6px; color:var(--sand);
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.8));
  transition:transform var(--t-press) var(--ease-out)}
.app .home-vows .лоб-уровни:active .ic{transform:scale(1.12)}
.app .лоб-уровни::after{content:""; position:absolute; right:40px; bottom:12px;
  width:104px; height:32px; pointer-events:none;
  background:
    radial-gradient(circle closest-side, color-mix(in oklab, var(--lamp) 34%, transparent), transparent) 87px 0 / 18px 18px no-repeat,
    radial-gradient(circle closest-side, var(--lamp-top) 0 16%, var(--lamp) 44%, var(--lamp-lo) 74%, rgba(0,0,0,.7) 92%, transparent) 89px 1px / 14px 14px no-repeat,
    radial-gradient(circle closest-side, var(--lamp-hi) 0 12%, var(--sand) 42%, var(--sand-dim) 72%, rgba(0,0,0,.7) 92%, transparent) 68px 7.25px / 11px 11px no-repeat,
    radial-gradient(circle closest-side, var(--lamp-hi) 0 12%, var(--sand) 42%, var(--sand-dim) 72%, rgba(0,0,0,.7) 92%, transparent) 46.25px 12.75px / 9.5px 9.5px no-repeat,
    radial-gradient(circle closest-side, var(--lamp-hi) 0 12%, var(--sand) 42%, var(--sand-dim) 72%, rgba(0,0,0,.7) 92%, transparent) 24.5px 18.25px / 8px 8px no-repeat,
    radial-gradient(circle closest-side, var(--lamp-hi) 0 12%, var(--sand) 42%, var(--sand-dim) 72%, rgba(0,0,0,.7) 92%, transparent) 3px 24px / 6px 6px no-repeat,
    linear-gradient(to bottom right, transparent calc(50% - 1.1px),
      color-mix(in oklab, var(--sand) 50%, var(--stone)) calc(50% - 1.1px) calc(50% + 1.1px),
      transparent calc(50% + 1.1px)) 6px 8px / 90px 19px no-repeat}
.app .лоб-уровни .menu-tag{color:var(--lamp); background:var(--stone-deep); font-weight:600;
  box-shadow:inset 0 0 0 1px var(--nw-свет-нить)}

/* ПЛИТКИ ИГР — украшена РАМКА, а не тело. Владелец 30.09: «акцент на
   рамки разделов, а не на центр… в края». В середине плитки только
   предмет и свет лампы над ним. Своего цвета у плиток нет: цвет несут сами
   предметы.
   • Кромка у всех — фаска: светлая линия полированной стали (блик слева
     сверху) и сразу под ней тёмная. Под плитой — непрозрачная кожа.
   • Узор по краям — РАМКА ВЛАДЕЛЬЦА (30.09): угол-аканф во всех углах и
     завиток посередине верха, с его картинки design/nwealess/ref/
     ramka-vladelca.jpg (theme/ramka/ramka.py). ПЕРЕДЕЛКА 01.10 рамки
     оставила — рисунок тот же, цвет сведён к новому миру: сталь в свете
     неба у всех, у главной (его игра) — сам свет неба. Над предметом —
     тёплый свет лампы.
   • Нажатие: кромка и узор загораются светом неба, по верхней и нижней
     кромке пробегает блик. Движется только блик, и только transform/opacity. */
.app .gcard{--nw-угол:22px; --nw-завиток:42px;
  --nw-узор:linear-gradient(135deg, var(--lamp-hi), var(--sand) 52%, color-mix(in oklab, var(--lamp-hi) 64%, var(--sand)));
  border:1px solid transparent;
  background:
    radial-gradient(70% 58% at 50% 22%, color-mix(in oklab, var(--nw-трубка-свет) 6%, transparent), transparent 72%) padding-box,
    var(--nw-кожа) padding-box,
    var(--nw-кромка-тихо) border-box;
  box-shadow:var(--nw-фаска), 0 12px 24px -16px rgba(0,0,0,.95)}
.app .gcard.big{background:
    radial-gradient(52% 90% at 82% 42%, color-mix(in oklab, var(--nw-трубка-свет) 7%, transparent), transparent 72%) padding-box,
    var(--nw-кожа) padding-box,
    var(--nw-кромка-тихо) border-box}
/* Раздел, из которого пришли, — кромка чуть ярче, без свечения. */
.app .gcard.now{border-color:var(--nw-нить-ярко)}
/* Названия разделов и подпись под ними — ТОЛЩЕ (владелец 01.10.2026: «сейчас
   теряется»). Было 400/500 у названия и 600 10px приглушённым песком у
   подписи — на тёмной коже плитки с телефона они таяли. */
.app .gcard-txt b{font-family:var(--font-display); font-weight:700; letter-spacing:.01em}
.app .gcard:not(.big) .gcard-txt b{font-weight:650; font-size:var(--fs-md); letter-spacing:.01em}
.app .gcard.big .gcard-txt b{font-size:min(var(--fs-lg), 4.8vw); letter-spacing:.02em}
.app .gcard-txt u{font:var(--nw-ярлык); font-weight:800; font-size:10.5px; text-transform:uppercase;
  letter-spacing:.06em; color:var(--sand); white-space:nowrap}
.app .gcard.big .gcard-txt u{font-size:var(--fs-cap); letter-spacing:.18em}

/* Узор рамки — маски с картинки владельца. Угол 1:1, завиток 5.6:1. */
:root{
  --nw-рамка-lv:url("data:image/webp;base64,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");
  --nw-рамка-pv:url("data:image/webp;base64,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");
  --nw-рамка-ln:url("data:image/webp;base64,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");
  --nw-рамка-pn:url("data:image/webp;base64,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");
  --nw-рамка-verh:url("data:image/webp;base64,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");
}
/* Слой узора — под предметом и подписью; углы на 4 px от кромки, как на
   его картинке. У мелких завиток только сверху: внизу подпись. */
.app .gcard::before{content:""; position:absolute; inset:4px; pointer-events:none;
  background:var(--nw-узор);
  -webkit-mask:
    var(--nw-рамка-lv) 0 0 / var(--nw-угол) var(--nw-угол) no-repeat,
    var(--nw-рамка-pv) 100% 0 / var(--nw-угол) var(--nw-угол) no-repeat,
    var(--nw-рамка-ln) 0 100% / var(--nw-угол) var(--nw-угол) no-repeat,
    var(--nw-рамка-pn) 100% 100% / var(--nw-угол) var(--nw-угол) no-repeat,
    var(--nw-рамка-verh) 50% 0 / var(--nw-завиток) auto no-repeat;
          mask:
    var(--nw-рамка-lv) 0 0 / var(--nw-угол) var(--nw-угол) no-repeat,
    var(--nw-рамка-pv) 100% 0 / var(--nw-угол) var(--nw-угол) no-repeat,
    var(--nw-рамка-ln) 0 100% / var(--nw-угол) var(--nw-угол) no-repeat,
    var(--nw-рамка-pn) 100% 100% / var(--nw-угол) var(--nw-угол) no-repeat,
    var(--nw-рамка-verh) 50% 0 / var(--nw-завиток) auto no-repeat}
/* Крупные — узор крупнее. Завитка внизу нет: там подпись и предмет. */
.app .gcard.big{--nw-угол:30px; --nw-завиток:70px}
/* Подпись — правее и выше узора угла: иначе завиток ложится под первую
   букву («ƷВЁЗДЫ»). */
.app .gcard-txt{padding:0 0 2px 6px}
.app .gcard.big .gcard-txt{padding-left:10px}

/* ГЛАВНАЯ ПЛИТКА — его игра: стоит под лампой. Кромка и узор — светом
   неба, сверху падает тёплый конус лампы. */
.app .gcard.big:first-child{--nw-узор:linear-gradient(135deg, var(--lamp-top), var(--lamp) 55%, var(--lamp-hi));
  background:
    radial-gradient(56% 80% at 76% 0%, color-mix(in oklab, var(--nw-трубка-свет) 10%, transparent), transparent 74%) padding-box,
    var(--nw-лоск) padding-box,
    var(--nw-кожа) padding-box,
    var(--nw-кромка-свет) border-box;
  box-shadow:var(--nw-фаска), 0 0 30px -18px var(--lamp), 0 16px 30px -18px rgba(0,0,0,.95)}

/* Нажатие. Кромка загорается светом неба (цвет рамки ведёт шаблон, за
   180 мс), узор — тоже, по верхней и нижней кромке пробегает блик слева
   направо, один раз. Отпустил — блик гаснет на месте и тихо возвращается. */
.app .gcard:not(.soon):active,
.app .gcard.жмём{border-color:var(--nw-свет-нить);
  --nw-узор:linear-gradient(135deg, var(--lamp-top), var(--lamp) 60%, var(--lamp-hi))}
.app .gcard::after{content:""; position:absolute; top:0; bottom:0; left:0; width:44%;
  pointer-events:none; opacity:0; transform:translateX(-105%);
  background:
    linear-gradient(90deg, transparent, color-mix(in oklab, var(--lamp-hi) 90%, transparent) 50%, transparent) 0 0 / 100% 1px no-repeat,
    linear-gradient(90deg, transparent, color-mix(in oklab, var(--lamp-hi) 55%, transparent) 50%, transparent) 0 100% / 100% 1px no-repeat;
  transition:opacity 320ms var(--ease-out), transform 0s linear 320ms}
.app .gcard:not(.soon):active::after,
.app .gcard.жмём::after{opacity:1; transform:translateX(235%);
  transition:opacity 70ms linear, transform 560ms var(--ease-out)}

/* ЛОББИ — две КНОПКИ: стекло под стальной нитью, объём, значок слева,
   шеврон справа. */
.app .lobby{grid-template-columns:1fr 1fr}
.app .lob{grid-template-columns:auto minmax(0, 1fr) auto; justify-items:start; align-items:center;
  column-gap:10px; text-align:left; padding:13px 30px 13px 13px;
  border-color:var(--nw-нить-ярко); background:var(--nw-стекло); box-shadow:var(--nw-объём)}
.app .lob .ic{color:var(--sand); margin:0}
.app .lob b{color:var(--cream); font-weight:600}
.app .lob:active{scale:.97; border-color:var(--nw-свет-нить)}
.app .lob::after{content:""; position:absolute; right:14px; top:50%; width:7px; height:7px;
  margin-top:-4px; pointer-events:none; border:solid var(--sand); border-width:0 1.5px 1.5px 0;
  transform:rotate(-45deg)}
.app .lob .menu-tag{color:var(--lamp); background:var(--stone-deep);
  box-shadow:inset 0 0 0 1px var(--nw-свет-нить)}


/* ── 8. КОРЗИНА-ДОК ──────────────────────────────────────────────────────
   Полоса — первый шаг к деньгам: по верхней кромке горит кремовая трубка,
   её свет ложится на полосу. Сумма — тёплый свет, кнопка — хром в свете
   неба. Появляясь, кнопка ловит один блик. */
.app .dock{background:linear-gradient(180deg, var(--rock) 0%, var(--deep) 70%);
  border-top-color:var(--nw-нить)}
.app .dock::before{content:""; position:absolute; left:0; right:0; top:-7px; height:14px;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 6%, var(--nw-трубка-свет) 22%, var(--nw-трубка-свет) 78%, transparent 94%) 50% 50% / 100% 1.5px no-repeat,
    radial-gradient(46% 50% at 50% 50%, color-mix(in oklab, var(--nw-трубка-свет) 24%, transparent), transparent) 50% 50% / 100% 100% no-repeat}
.app .dock-in{border-color:var(--nw-нить); background:var(--nw-стекло);
  box-shadow:inset 0 1px 0 var(--nw-блик), 0 14px 34px -20px #000}
.app .dock-in > .ic{color:var(--sand)}
.app .dock-sum b{color:var(--cream); font-family:var(--font-display); font-weight:500; letter-spacing:.01em}
.app .dock-sum b span{color:inherit}
.app .dock-sum > span{color:var(--sand-dim)}
.app .dock .act::after{content:""; position:absolute; top:0; bottom:0; left:-60%; width:45%;
  pointer-events:none;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform:translateX(0); opacity:0}
.app .dock:not(.away) .act::after{animation:nw-блик 1000ms var(--ease-out) 260ms both}
@keyframes nw-блик{0%{transform:translateX(0); opacity:0} 14%{opacity:1}
  100%{transform:translateX(420%); opacity:0}}


/* ── 9. КНОПКИ — ХРОМ В СВЕТЕ НЕБА ───────────────────────────────────────
   Главная кнопка — единственная светлая заливка на экране: хромированная
   пластина в свете неба (весь в --metal) — светлый верх, сирень к низу,
   сиреневый отсвет под ней. Буквы — тёмные, заглавными Unbounded с
   разрядом: не ниже 6.4 и на самом тёмном низу хрома. */
.app .act,
.app .plita-copy,
.вопрос-да{background:var(--metal); color:var(--on-lamp); border-radius:var(--r-in);
  font-family:var(--font-display); font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; font-size:var(--fs-sm); box-shadow:var(--nw-хром)}
/* «Код у вас» — шалфей, чернила тёмные. */
.app .plita-copy.ok{background:linear-gradient(176deg, var(--ore-hi), var(--ore)); color:var(--on-ore);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 0 0 1px color-mix(in oklab, var(--ore) 50%, transparent)}


/* ── 10. ЭКРАН ЗАКАЗА — СУММА ПОД ПРЯЖКОЙ ───────────────────────────────
   Позиции — плоские строки через стальную нить. Сумма к оплате — плита
   чёрной кожи со швом и заклёпками по углам; по верхней кромке её
   перетягивает ремень, застёгнутый стальной пряжкой. То, что надо
   запомнить, — на одной плите. */
.app .screen[data-screen="order"]::before{
  background:linear-gradient(180deg,
    color-mix(in oklab, var(--rock) 90%, transparent) 0%,
    color-mix(in oklab, var(--deep) 94%, transparent) 100%)}
.app .screen[data-screen="order"] .back{background:var(--stone); border-color:var(--nw-нить-ярко)}
.app .screen[data-screen="order"] .cart-lines{gap:0}
.app .screen[data-screen="order"] .cart-line{border:0; border-radius:0; padding-left:2px; padding-right:2px;
  background:none; box-shadow:none}
.app .screen[data-screen="order"] .cart-line + .cart-line{border-top:1px solid var(--nw-нить)}
.app .screen[data-screen="order"] .panel{position:relative; overflow:visible; margin-top:28px;
  border:1px solid transparent;
  background:var(--nw-заклёпки), var(--nw-лоск) padding-box,
    var(--nw-кожа) padding-box,
    var(--nw-кромка) border-box;
  outline:var(--nw-строчка); outline-offset:-6px;
  box-shadow:0 18px 34px -22px #000}
/* Ремень поперёк кромки: кожа со швом по краям. */
.app .screen[data-screen="order"] .panel::before{content:""; position:absolute; left:50%; top:-5px;
  width:92px; height:10px; margin-left:-46px; border-radius:2px; pointer-events:none;
  background:var(--nw-ремень);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55), 0 3px 6px -2px rgba(0,0,0,.8)}
/* Пряжка на ремне — сталь в свете неба. */
.app .screen[data-screen="order"] .panel::after{content:""; position:absolute; left:50%; top:-9px;
  width:24px; height:18px; margin-left:-12px; pointer-events:none;
  background:linear-gradient(180deg, var(--lamp-top) 0%, var(--sand) 48%, var(--sand-dim) 100%);
  -webkit-mask:var(--nw-пряжка) center / contain no-repeat;
          mask:var(--nw-пряжка) center / contain no-repeat;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.85))}
/* Скидки нет — её строка спрятана, а черта над «К оплате» осталась бы. */
.app .screen[data-screen="order"] .line.hidden + .line{background:none}
.app .screen[data-screen="order"] .line.pay dt{font:var(--nw-ярлык); font-size:var(--fs-cap);
  text-transform:uppercase; letter-spacing:.24em; color:var(--sand)}
.app .screen[data-screen="order"] .line.pay dd{font-family:var(--font-display); font-weight:500;
  color:var(--cream); letter-spacing:.01em}
.app .line.cut dt,
.app .line.cut dd{color:var(--lamp)}
.app .screen[data-screen="order"] .game-name{font:var(--nw-ярлык); font-size:var(--fs-cap);
  text-transform:uppercase; letter-spacing:.2em; color:var(--sand)}
.app .field label{color:var(--sand-dim)}
.app .field label .чья{color:var(--sand)}
.app .field input{border-color:var(--nw-нить-ярко); background:var(--stone-deep)}
.app .field input:focus{border-color:var(--nw-свет-нить); box-shadow:0 0 0 3px var(--nw-свет-тихо)}
/* Оговорка по игре — не ошибка и не действие: стальная нить и полоса стали
   слева. */
.app .game-warn,
.app .screen[data-screen="order"] .game-warn{background:var(--stone-deep);
  border-color:var(--nw-нить-ярко); box-shadow:inset 2px 0 0 var(--sand)}
.app .game-warn::before{color:var(--sand)}
.app #gameWarn b{color:var(--cream)}
.app .say.кому.нет{color:var(--rust)}
.app .обещание .кому{color:var(--lamp)}
.app .обещание .когда .ic{color:var(--sand)}


/* ── 11. ХОД ЗАКАЗА — РЕМЕНЬ И ПРЯЖКА ──────────────────────────────────
   Лица хода — рисунок художника (i-mark-wait / -ok / -fail), живут целиком:
   внутрь символа стили не дотягиваются, цвет — сталь. Ждём — лицо дышит
   ровно; полоса — ремень со швом, по нему идёт свет неба, на голове —
   пряжка, у неё тихо дышит свет. Готово — за лицом зажигается лампа
   (моргнула — зажглась, тёплый крем), разлетаются искры. Не вышло — ремень
   порван: лицо вздрагивает и замирает, полоса — рваная ржавчина. Панель —
   свой слой (z-index:0): свет лежит под лицом и подписями, но над фоном. */
.app .digger{position:relative; z-index:0; border:1px solid transparent;
  background:var(--nw-лоск) padding-box, var(--nw-кожа) padding-box, var(--nw-кромка) border-box;
  outline:var(--nw-строчка); outline-offset:-6px;
  box-shadow:inset 0 1px 0 var(--nw-блик), 0 18px 34px -22px #000}
.app .лз{color:var(--sand); filter:drop-shadow(0 6px 14px rgba(0,0,0,.7))}
.app #digNote{color:var(--sand-dim)}
/* Полоса хода — ремень. Длину света ставит шаблон; пряжка стоит на его
   голове, свет у неё дышит только transform/opacity и только пока заказ в
   работе. */
.app .digger-bar{position:relative; height:9px; overflow:visible; border-radius:2px;
  background:var(--nw-ремень);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55), 0 1px 0 var(--nw-блик)}
.app .digger-bar i{position:relative; height:2px; margin-top:3.5px; border-radius:1px;
  background:linear-gradient(90deg, var(--lamp-lo), var(--lamp) 60%, var(--lamp-hi));
  box-shadow:0 0 6px color-mix(in oklab, var(--lamp) 55%, transparent)}
.app .digger:not(.done):not(.bad) .digger-bar i::after{content:""; position:absolute; right:-9px; top:50%;
  width:18px; height:14px; margin-top:-7px; pointer-events:none;
  background:linear-gradient(180deg, var(--lamp-top) 0%, var(--sand) 50%, var(--sand-dim) 100%);
  -webkit-mask:var(--nw-пряжка) center / contain no-repeat;
          mask:var(--nw-пряжка) center / contain no-repeat;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}
.app .digger:not(.done):not(.bad) .digger-bar i::before{content:""; position:absolute; right:-16px; top:50%;
  width:32px; height:32px; margin-top:-16px; border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side, color-mix(in oklab, var(--lamp) 40%, transparent), transparent);
  animation:nw-дыхание 2.4s var(--ease-in-out) infinite}
@keyframes nw-дыхание{0%,100%{transform:scale(.72); opacity:.45} 50%{transform:scale(1.04); opacity:1}}
.app .digger.done .digger-bar i{background:linear-gradient(90deg,
    color-mix(in oklab, var(--ore) 50%, var(--deep)), var(--ore) 60%, var(--ore-hi));
  box-shadow:0 0 6px color-mix(in oklab, var(--ore) 45%, transparent)}
.app .digger.bad .digger-bar i{height:2px; box-shadow:none;
  background:repeating-linear-gradient(90deg, var(--rust) 0 9px, transparent 9px 12px,
    var(--rust) 12px 14px, transparent 14px 20px)}

/* ждём: лицо ровно дышит */
.app .лз.ждём{animation:nw-дышит 2.6s var(--ease-in-out) infinite}
@keyframes nw-дышит{0%,100%{transform:scale(1); opacity:.86} 50%{transform:scale(1.04); opacity:1}}

/* готово: лицо встаёт на место, за ним зажигается лампа. */
.app .digger.done{background:var(--nw-лоск) padding-box, var(--nw-кожа) padding-box,
    var(--nw-кромка-свет) border-box;
  box-shadow:inset 0 1px 0 color-mix(in oklab, var(--lamp-hi) 16%, transparent),
    0 0 44px -24px var(--lamp), 0 18px 34px -22px #000}
.app .digger.done #digTitle{color:var(--lamp-hi)}
.app .digger.done .лз.готово{color:var(--cream);
  animation:nw-встал 820ms var(--ease-out) both}
@keyframes nw-встал{
  0%  {transform:translateY(12px) scale(.86); opacity:0}
  45% {transform:translateY(-3px) scale(1.05); opacity:1}
  70% {transform:translateY(1px) scale(.99)}
  100%{transform:none; opacity:1}}
/* за лицом зажигается лампа: моргнула, зажглась и осталась ровным светом */
.app .digger.done .digger-face::after{content:""; position:absolute; left:50%; top:50%;
  width:156px; height:156px; margin:-78px 0 0 -78px; z-index:-1; border-radius:50%;
  pointer-events:none;
  background:radial-gradient(closest-side, color-mix(in oklab, var(--nw-трубка-свет) 34%, transparent),
    color-mix(in oklab, var(--nw-трубка-свет) 10%, transparent) 52%, transparent);
  animation:nw-лампа 1300ms var(--ease-out) 100ms both}
@keyframes nw-лампа{0%{transform:scale(.6); opacity:0} 10%{opacity:.7} 16%{opacity:.1}
  30%{transform:scale(.95); opacity:.9} 38%{opacity:.35} 58%{transform:scale(1.1); opacity:1}
  100%{transform:scale(1.12); opacity:.4}}
/* искры: крем лампы, свет неба и сталь разлетаются от лица один раз */
.app .digger.done .лицо-заказа::before{content:""; position:absolute; left:50%; top:50%;
  width:200px; height:136px; margin:-68px 0 0 -100px; z-index:-1; pointer-events:none;
  background:
    radial-gradient(circle at 12% 28%, var(--nw-трубка-свет) 0 1.6px, transparent 2.6px),
    radial-gradient(circle at 88% 20%, var(--cream) 0 1.3px, transparent 2.3px),
    radial-gradient(circle at 20% 80%, var(--lamp) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 82% 76%, var(--lamp-hi) 0 1.3px, transparent 2.3px),
    radial-gradient(circle at 50% 4%, var(--nw-трубка-свет) 0 1.7px, transparent 2.7px),
    radial-gradient(circle at 3% 55%, var(--sand) 0 1.1px, transparent 2.1px),
    radial-gradient(circle at 97% 48%, var(--lamp) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 34% 10%, var(--sand) 0 1.1px, transparent 2.1px),
    radial-gradient(circle at 68% 8%, var(--cream) 0 1.2px, transparent 2.2px);
  animation:nw-искры 1250ms var(--ease-out) 240ms both}
@keyframes nw-искры{0%{transform:scale(.35); opacity:0} 20%{opacity:1}
  100%{transform:scale(1.3); opacity:0}}

/* не вышло: ремень порван. Лицо вздрагивает и замирает; кромка —
   рваная, ржавчиной. */
.app .digger.bad{border:1px dashed color-mix(in oklab, var(--rust) 55%, transparent);
  background:linear-gradient(180deg, color-mix(in oklab, var(--rust) 5%, var(--stone)), var(--stone-deep));
  outline:0;
  box-shadow:inset 0 1px 0 var(--nw-блик), 0 18px 34px -22px #000}
.app .digger.bad .лз.беда{color:var(--sand); animation:nw-сбился 760ms var(--ease-out) both}
@keyframes nw-сбился{
  0%  {transform:translateX(0); opacity:0}
  18% {transform:translateX(-5px); opacity:1}
  34% {transform:translateX(4px)}
  50% {transform:translateX(-3px)}
  66% {transform:translateX(2px)}
  100%{transform:none; opacity:1}}

/* Шаги — стальная нить сверху вниз. Номер — кружок стальной нити. Идёт —
   кольцо света неба, вокруг дышит ореол. Пройден — шалфей. Сорвался
   — ржавчина. Строка шага — свой слой (z-index:0), чтобы свет лёг под
   кружок. */
.app .trail{border-color:var(--nw-нить); box-shadow:inset 0 1px 0 var(--nw-блик)}
.app .trail li{position:relative; z-index:0}
.app .trail li:not(:last-child)::before{content:""; position:absolute; left:10px; top:32px; bottom:-8px;
  pointer-events:none; border-left:1px solid var(--nw-нить-ярко)}
.app .trail li.was:not(:last-child)::before{border-left-color:color-mix(in oklab, var(--ore) 70%, transparent)}
.app .trail .pip{width:21px; height:21px; border-radius:50%; font-family:var(--font-display); font-weight:500;
  font-style:normal;
  border:1px solid var(--nw-нить-ярко); background:var(--stone-deep); color:var(--sand-dim)}
.app .trail li.now .pip{position:relative; border-color:var(--lamp); background:var(--stone-deep); color:var(--lamp)}
.app .trail li.now .pip::after{content:""; position:absolute; inset:-9px; z-index:-1; border-radius:50%;
  pointer-events:none;
  background:radial-gradient(closest-side, color-mix(in oklab, var(--lamp) 32%, transparent), transparent);
  animation:nw-ореол 2.4s var(--ease-in-out) infinite}
@keyframes nw-ореол{0%,100%{transform:scale(.86); opacity:.35} 50%{transform:scale(1.06); opacity:1}}
.app .trail li.was .pip{border-color:var(--ore); background:var(--ore); color:var(--on-ore)}
.app .trail li.lost .pip{border-color:var(--rust); background:var(--rust); color:var(--on-rust)}

/* Плита выдачи — чёрная кожа в кромке света неба, со швом и заклёпками,
   сверху на неё падает тёплый свет лампы. «Выдано» — свет неба с
   разрядом, номинал — тёплый свет в сталь, код — в стальной рамке
   пунктиром. Блик по плите шаблон пускает один раз. */
.app .plita{border:1px solid transparent;
  background:var(--nw-заклёпки),
    radial-gradient(80% 60% at 50% 0%, color-mix(in oklab, var(--nw-трубка-свет) 8%, transparent), transparent 70%) padding-box,
    linear-gradient(180deg, color-mix(in oklab, var(--lamp) 6%, var(--stone-deep)) 0%, var(--stone-deep) 60%, var(--deep) 100%) padding-box,
    var(--nw-кромка-свет) border-box;
  outline:var(--nw-строчка); outline-offset:-6px;
  box-shadow:0 0 44px -24px var(--lamp), 0 20px 40px -26px #000}
.app .plita::after{background:linear-gradient(100deg, transparent,
  color-mix(in oklab, var(--lamp-hi) 22%, transparent), transparent)}
.app .plita-top{font-family:var(--font-display); font-weight:500; letter-spacing:.32em; color:var(--lamp)}
.app .plita-uc{font-family:var(--font-display); font-weight:500;
  background:linear-gradient(180deg, var(--cream) 0%, var(--sand) 58%, var(--sand-dim) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent}
.app .plita-id{color:var(--sand)}
.app .plita code{border:1px dashed var(--nw-нить-ярко); background:rgba(0,0,0,.5); color:var(--cream)}
/* Сбой выдачи — плита «ошибки»: ржавчина в черни, рваная кромка, полоса
   слева и знак × в кольце. Ошибку видно не одним цветом, и хромовой
   кнопке «Повторить» под ней она не родня. */
.app .note.bad{position:relative; margin-top:12px; padding:13px 14px 13px 42px;
  border-radius:var(--r-card); font-size:var(--fs-md); line-height:var(--lh-text); color:var(--cream);
  border:1px dashed color-mix(in oklab, var(--rust) 55%, transparent);
  background:linear-gradient(180deg, color-mix(in oklab, var(--rust) 9%, var(--stone-deep)), var(--deep));
  box-shadow:inset 2px 0 0 var(--rust)}
.app .note.bad::before{content:""; position:absolute; left:13px; top:14px; width:18px; height:18px;
  border-radius:50%; pointer-events:none; box-shadow:inset 0 0 0 1px var(--rust);
  background:
    linear-gradient(45deg, transparent calc(50% - .7px), var(--rust) calc(50% - .7px) calc(50% + .7px),
      transparent calc(50% + .7px)) 50% 50% / 8px 8px no-repeat,
    linear-gradient(-45deg, transparent calc(50% - .7px), var(--rust) calc(50% - .7px) calc(50% + .7px),
      transparent calc(50% + .7px)) 50% 50% / 8px 8px no-repeat}


/* ── 12. УРОВНИ — ОТ МЕДИ К ПЛАТИНЕ ─────────────────────────────────────
   Карточка уровня — плита чёрной кожи под стальной кромкой, со швом и
   заклёпками; у верхней ступени (платина) кромка горит светом неба —
   это вершина лестницы. Скидка — жетон в кромке света. Полоса до
   следующей ступени — ремень, на голове пряжка. Момент — только при
   переходе на новую ступень (признак .новая-ступень, skin.js): знак
   встаёт снизу на место, за ним зажигается свет. Обычное открытие —
   спокойно. */
.app .vip-now{position:relative; z-index:0; border:1px solid transparent;
  background:var(--nw-заклёпки), var(--nw-лоск) padding-box, var(--nw-кожа) padding-box, var(--nw-кромка) border-box;
  outline:var(--nw-строчка); outline-offset:-6px;
  box-shadow:0 18px 34px -22px #000}
.app .vip-now.lvl4{background:var(--nw-заклёпки),
    radial-gradient(80% 60% at 50% 0%, color-mix(in oklab, var(--nw-трубка-свет) 8%, transparent), transparent 70%) padding-box,
    linear-gradient(180deg, color-mix(in oklab, var(--lamp) 8%, var(--stone-2)), var(--stone) 40%, var(--stone-deep)) padding-box,
    var(--nw-кромка-свет) border-box;
  box-shadow:0 0 40px -24px var(--lamp), 0 18px 34px -22px #000}
.app .vip-now.empty-id{background:var(--nw-стекло) padding-box, linear-gradient(var(--nw-нить), var(--nw-нить)) border-box;
  outline:0}
.app .vip-now .ic{width:46px; height:46px; margin-top:4px; color:var(--sand);
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.8))}
/* Новая ступень: знак встаёт снизу на место… */
.app .vip-now.новая-ступень .ic{animation:nw-ступень 900ms var(--ease-out) 160ms both}
@keyframes nw-ступень{
  0%  {transform:translateY(16px) scale(.88); opacity:0}
  50% {transform:translateY(-3px) scale(1.04); opacity:1}
  76% {transform:translateY(1px) scale(.995)}
  100%{transform:none; opacity:1}}
/* …и за ним зажигается лампа, один раз. */
.app .vip-now.новая-ступень::before{content:""; position:absolute; left:-30px; top:-24px;
  width:150px; height:150px; z-index:-1; border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side, color-mix(in oklab, var(--nw-трубка-свет) 32%, transparent),
    color-mix(in oklab, var(--nw-трубка-свет) 9%, transparent) 55%, transparent);
  animation:nw-лампа 1300ms var(--ease-out) 180ms both}
.app .vip-now > span,
.app .vip-left{color:var(--sand-dim)}
.app .vip-now em{color:var(--lamp); background:var(--stone-deep); border-radius:var(--r-in);
  font-family:var(--font-display); font-weight:500; letter-spacing:.06em;
  box-shadow:inset 0 0 0 1px var(--nw-свет-нить)}
/* Полоса до следующей — ремень, по нему свет, на голове пряжка. */
.app .vip-bar{height:9px; border-radius:2px; overflow:visible;
  background:var(--nw-ремень);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55), 0 1px 0 var(--nw-блик)}
.app .vip-bar i{position:relative; height:2px; margin-top:3.5px; border-radius:1px;
  background:linear-gradient(90deg, var(--lamp-lo), var(--lamp) 60%, var(--lamp-hi));
  box-shadow:0 0 6px color-mix(in oklab, var(--lamp) 55%, transparent)}
.app .vip-bar i::after{content:""; position:absolute; right:-9px; top:50%; width:18px; height:14px;
  margin-top:-7px; pointer-events:none;
  background:linear-gradient(180deg, var(--lamp-top) 0%, var(--sand) 50%, var(--sand-dim) 100%);
  -webkit-mask:var(--nw-пряжка) center / contain no-repeat;
          mask:var(--nw-пряжка) center / contain no-repeat;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}
.app .vip-sheet,
.app .bindbox{border-color:var(--nw-нить); background:var(--nw-стекло);
  box-shadow:inset 0 1px 0 var(--nw-блик)}
/* Перед лестницей — катана поперёк: разделитель, один на экран. */
.app .vip-now + .vip-sheet{position:relative; margin-top:36px}
.app .vip-now + .vip-sheet::before{content:""; position:absolute; left:50%; top:-26px;
  width:200px; height:20px; margin-left:-100px; pointer-events:none;
  background:linear-gradient(180deg, var(--lamp-hi) 0%, var(--sand) 46%, var(--sand-dim) 100%);
  -webkit-mask:var(--nw-катана) center / contain no-repeat;
          mask:var(--nw-катана) center / contain no-repeat;
  opacity:.8}
.app .vip-p{color:var(--sand)}
.app .vip-p b{color:var(--cream)}
/* Ступени не нажимаются: плоские строки через стальную нить. */
.app .vip-table{gap:0}
.app .vip-row{position:relative; overflow:hidden; border:0; border-radius:0; background:none; box-shadow:none}
.app .vip-row + .vip-row{border-top:1px solid var(--nw-нить)}
.app .vip-row b{color:var(--cream); font-weight:600}
.app .vip-row u{white-space:nowrap; color:var(--sand-dim)}
.app .vip-row span{color:var(--sand); font-family:var(--font-display); font-weight:500}
.app .vip-row em{color:var(--sand-dim)}
/* Своя ступень — полоса света слева и тихий отсвет: «вы здесь». */
.app .vip-row.on{border-radius:var(--r-in); padding-left:18px;
  background:color-mix(in oklab, var(--lamp) 8%, var(--rock));
  box-shadow:inset 2px 0 0 var(--lamp), inset 0 0 0 1px var(--nw-свет-тихо)}
.app .vip-row.on + .vip-row{border-top-color:transparent}
.app .vip-row.on span{color:var(--lamp)}
.app .vip-row.on b::after{color:var(--lamp); font-weight:500}
/* Знаки ступеней — рисунок художника; на 16 px их рост не читался. Размер и
   цвет заданы в разметке строкой стиля — перебиваем её. */
.app .vip-row b > svg.ic{width:22px !important; height:22px !important; color:var(--sand) !important;
  vertical-align:-6px !important; margin-right:10px !important}

/* СТУПЕНИ — МЕТАЛЛЫ (владелец 30.09): Медь → Бронза → Серебро → Золото →
   Платина, ступени 0…4. Имя ступени — выцветшим цветом своего металла, и в
   лестнице, и на карточке уровня; знак ступени — тем же цветом, если
   рисунок его берёт. Крючки шаблона: у карточки класс lvlN, строки лестницы
   идут от нулевой ступени — N-я по счёту. Сами металлы — в :root, смесями
   палитры. «Вы здесь» и скидка своей ступени — светом неба, цветом действия.
   Нулевая ступень — медь по умолчанию: класс lvl0 шаблон собирает на лету,
   и проверка мёртвых классов селфтеста его буквально не находит. */
.app .vip-now, .app .vip-table .vip-row:nth-child(1){--nw-металл:var(--nw-медь)}
.app .vip-now.lvl1, .app .vip-table .vip-row:nth-child(2){--nw-металл:var(--nw-бронза)}
.app .vip-now.lvl2, .app .vip-table .vip-row:nth-child(3){--nw-металл:var(--nw-серебро)}
.app .vip-now.lvl3, .app .vip-table .vip-row:nth-child(4){--nw-металл:var(--nw-золото)}
.app .vip-now.lvl4, .app .vip-table .vip-row:nth-child(5){--nw-металл:var(--nw-платина)}
.app .vip-now[class*="lvl"] b,
.app .vip-now[class*="lvl"] .ic,
.app .vip-table .vip-row b{color:var(--nw-металл, var(--cream))}
.app .vip-table .vip-row b > svg.ic{color:var(--nw-металл, var(--sand)) !important}


/* ── 13. О НАС ───────────────────────────────────────────────────────────
   Шаги — сведения: плоско, номер в кольце стальной нити, цифра Unbounded.
   Перед вопросами — катана поперёк. Вопрос раскрыт — полоса света слева. */
.app .steps li{border-color:transparent; background:none; box-shadow:none;
  display:grid; grid-template-columns:auto minmax(0, 1fr); column-gap:14px;
  align-items:start; padding:10px 2px}
.app .steps li > .step-n{grid-row:1 / span 2; margin:1px 0 0}
.app .steps li > b,
.app .steps li > p{grid-column:2}
.app .steps li > b{margin-bottom:4px; color:var(--cream)}
.app .steps li > p{color:var(--sand-dim)}
.app .step-n,
.шаги-список li span{border:1px solid var(--nw-нить-ярко); border-radius:50%; color:var(--cream);
  background:var(--stone-deep); font-family:var(--font-display); font-weight:500;
  box-shadow:inset 0 1px 0 var(--nw-блик)}
.app .step-n{width:30px; height:30px; font-size:var(--fs-sm)}
.app .steps + .about-head{position:relative; margin-top:36px}
.app .steps + .about-head::before{content:""; position:absolute; left:50%; top:-28px;
  width:200px; height:20px; margin-left:-100px; pointer-events:none;
  background:linear-gradient(180deg, var(--lamp-hi) 0%, var(--sand) 46%, var(--sand-dim) 100%);
  -webkit-mask:var(--nw-катана) center / contain no-repeat;
          mask:var(--nw-катана) center / contain no-repeat;
  opacity:.8}
.app .asks details{border-color:var(--nw-нить); background:var(--nw-стекло);
  box-shadow:inset 0 1px 0 var(--nw-блик)}
.app .asks details[open]{border-color:var(--nw-нить-ярко);
  box-shadow:inset 2px 0 0 var(--lamp), inset 0 1px 0 var(--nw-блик)}
.app .asks details[open] summary{color:var(--cream)}
.app .asks details summary::after{border-color:var(--sand)}
.app .asks details[open] summary::after{border-color:var(--lamp)}
.app .asks details p{color:var(--sand)}


/* ── 14. МОИ ЗАКАЗЫ ──────────────────────────────────────────────────────
   Строка открывает заказ — значит это кнопка: объём и шеврон справа.
   Полоса слева — исход: шалфей — выдан, ржавчина — сбой или отмена, свет
   неба — в работе. */
.app .ord{position:relative; padding-right:32px; border-color:var(--nw-нить-ярко);
  background:var(--nw-стекло); box-shadow:inset 2px 0 0 var(--nw-нить-ярко), var(--nw-объём)}
.app .ord::after{content:""; position:absolute; right:14px; top:50%; width:7px; height:7px;
  margin-top:-4px; pointer-events:none; border:solid var(--sand); border-width:0 1.5px 1.5px 0;
  transform:rotate(-45deg)}
.app .ord:has(.s-done){box-shadow:inset 2px 0 0 var(--ore), var(--nw-объём)}
.app .ord:has(.s-failed),
.app .ord:has(.s-canceled){box-shadow:inset 2px 0 0 var(--rust), var(--nw-объём)}
.app .ord:has(.s-issuing),
.app .ord:has(.s-paid){box-shadow:inset 2px 0 0 var(--lamp), var(--nw-объём)}
.app .ord:active{scale:.98; border-color:var(--nw-свет-нить)}
.app .ord-n{color:var(--sand-dim)}
.app .ord-sum{font-family:var(--font-display); font-weight:500; color:var(--cream)}
.app .ord-st{border-radius:var(--r-in); font-weight:600; letter-spacing:.02em}
.app .ord-st.s-issuing,
.app .ord-st.s-paid{color:var(--lamp); background:color-mix(in oklab, var(--lamp) 12%, transparent)}
/* Пусто — над словами висит лампа на проводе, как во дворе на кадрах, и
   бросает на плиту тёплый конус света. */
.app .пусто-плита{position:relative; overflow:hidden; border-color:var(--nw-нить); background:var(--nw-стекло);
  box-shadow:inset 0 1px 0 var(--nw-блик)}
/* Часы шаблона уступают место лампе — на том же месте. */
.app .пусто-плита .ic{visibility:hidden}
.app .пусто-плита b{font-family:var(--font-display); font-weight:500; text-transform:uppercase;
  letter-spacing:.1em; font-size:var(--fs-base)}
.app .пусто-плита::after{content:""; position:absolute; left:50%; top:0; width:24px; height:44px;
  margin-left:-12px; pointer-events:none;
  background:linear-gradient(180deg, var(--sand-dim) 0%, var(--sand-dim) 46%, var(--sand) 64%, var(--nw-трубка-свет) 76%, var(--nw-трубка-свет) 100%);
  -webkit-mask:var(--nw-лампа) center / contain no-repeat;
          mask:var(--nw-лампа) center / contain no-repeat}
.app .пусто-плита::before{content:""; position:absolute; left:50%; top:34px; width:220px; height:120px;
  margin-left:-110px; pointer-events:none;
  background:radial-gradient(50% 70% at 50% 0%, color-mix(in oklab, var(--nw-трубка-свет) 13%, transparent), transparent 100%)}


/* ── 15. ВЫБОР РЕГИОНА И ВОПРОСЫ ─────────────────────────────────────────
   Экраны поверх всего — та же ночь. Выбранный регион — полоса света слева
   и кромка света, как своя ступень. */
.регионы{background:
  radial-gradient(90% 34% at 50% -6%, color-mix(in oklab, var(--nw-трубка-свет) 6%, transparent), transparent 72%),
  var(--deep)}
.регионы-верх{border-bottom-color:var(--nw-нить)}
.регион{position:relative; overflow:hidden; border-color:var(--nw-нить); background:var(--nw-стекло);
  color:var(--sand)}
.регион b{color:var(--cream)}
.регион.on{color:var(--cream); border-color:transparent; padding-left:18px;
  background:color-mix(in oklab, var(--lamp) 8%, var(--rock));
  box-shadow:inset 2px 0 0 var(--lamp), inset 0 0 0 1px var(--nw-свет-нить)}
.регион.on u{color:var(--lamp)}
/* Значок-символ шаблон запекает в картинку цветом чернил — под заливку
   хромом. У нас выбранный ряд тёмный: высветляем ТОЛЬКО вклеенные символы,
   флаги стран — снимки. */
.регион.on img[src^="data:image/svg"]{filter:brightness(0) invert(1)}
.регион:not(.on):active{background:color-mix(in oklab, var(--lamp) 8%, transparent)}
.регионы .назад{color:var(--sand); border-color:var(--nw-нить-ярко);
  background:color-mix(in oklab, var(--stone) 70%, transparent)}
.регионы-поиск input{border-color:var(--nw-нить-ярко); background:var(--stone-deep); color:var(--cream)}
.регионы-поиск input:focus{outline:none; border-color:var(--nw-свет-нить); box-shadow:0 0 0 3px var(--nw-свет-тихо)}

.вопрос{background:
  radial-gradient(90% 34% at 50% -6%, color-mix(in oklab, var(--nw-трубка-свет) 6%, transparent), transparent 72%),
  var(--deep)}
/* Шар за вопросом — стальной глобус: тонкая кромка и параллели стальной
   нитью, внутри — свет неба. Метка — стальная. */
.вопрос-глубь .шар{background:
    radial-gradient(circle at 50% 62%, transparent 57.6%, color-mix(in oklab, var(--sand) 22%, transparent) 58.2%, transparent 58.9%),
    repeating-linear-gradient(180deg, transparent 0 30px, color-mix(in oklab, var(--sand) 8%, transparent) 30px 31px),
    radial-gradient(circle at 50% 62%, color-mix(in oklab, var(--lamp) 10%, transparent), transparent 58%);
  -webkit-mask:radial-gradient(circle at 50% 62%, #000 59%, transparent 59.4%);
          mask:radial-gradient(circle at 50% 62%, #000 59%, transparent 59.4%)}
.вопрос-глубь .метка{opacity:1;
  background:linear-gradient(135deg, var(--lamp-hi), var(--sand) 48%, var(--sand-dim));
  box-shadow:0 6px 14px -4px #000}
.вопрос-нет{background:transparent; border-color:var(--nw-нить-ярко); color:var(--sand);
  box-shadow:inset 0 1px 0 var(--nw-блик)}
.шаги-список li span{width:28px; flex-basis:28px}
.шаги-список input{border-color:var(--nw-нить-ярко); background:var(--stone-deep)}


/* ── 16. ЗАГРУЗКА И «НА РАБОЧИЙ СТОЛ» ────────────────────────────────── */
/* Заставка — стена в темноте: сверху тёплый свет лампы, по стене швы
   кафеля, по всему — зерно. Знак — сталь, полоса загрузки — свет неба
   (её цвет шаблон берёт из --lamp). */
#грузим::before{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(80% 46% at 50% 38%, color-mix(in oklab, var(--nw-трубка-свет) 7%, transparent), transparent 72%),
    radial-gradient(120% 80% at 50% 45%, transparent 40%, color-mix(in oklab, var(--deep) 90%, transparent) 100%),
    var(--nw-кафель)}
#грузим::after{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:var(--cream); opacity:.05;
  -webkit-mask:var(--nw-зерно) 0 0 / 160px 160px repeat;
          mask:var(--nw-зерно) 0 0 / 160px 160px repeat}
#грузим > div > svg:first-child{color:var(--sand); filter:drop-shadow(0 8px 18px rgba(0,0,0,.9))}
#грузим .грузим-слово{color:var(--cream)}
#грузим b{color:var(--cream); font-family:var(--font-display); font-weight:500; letter-spacing:.3em}
/* Ушедшая заставка прозрачна, но не снята: её дыхание и полоса крутились
   бы до конца сеанса. !important — движение задано прямо в атрибуте style. */
#грузим.ушёл *{animation:none !important}
.накрыльцо{border-color:var(--nw-нить-ярко); background:var(--stone-2);
  box-shadow:inset 0 1px 0 var(--nw-блик), var(--sh-lift)}
.накрыльцо-знак{color:var(--sand)}
.накрыльцо-да{background:var(--metal); color:var(--on-lamp); box-shadow:var(--nw-хром)}


/* ── 17. ФИРМЕННЫЕ МЕСТА: арт, вордмарк, салют, стример, пасхалка ────────
   Места строит шаблон, рисунки — художник; здесь — как они живут в ночи. */

/* Арт — кадр катсцены: растворяется в ночи, а не обрывается краем (низ
   уходит в прозрачность маской), поверх — мелкое зерно плёнки, как в самом
   видео. Ни скан-линий, ни виньетки: у референса их нет — верх кадра
   (небо, трубки) и пол там светлее середины. Подпись на арте держит маска
   низа и тень вордмарка. Слой зерна не ловит пальцы: пасхалка на арте жива. */
.app .hero-art{height:min(80vw, 344px);
  -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 60%, transparent 100%);
          mask-image:linear-gradient(180deg, #000 0%, #000 60%, transparent 100%)}
.app .banner-art{
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 14%, #000 70%, transparent 100%);
          mask-image:linear-gradient(180deg, transparent 0%, #000 14%, #000 70%, transparent 100%)}
.app .hero-art::before,
.app .banner-art::before{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:var(--cream); opacity:.06;
  -webkit-mask:var(--nw-зерно) 0 0 / 160px 160px repeat;
          mask:var(--nw-зерно) 0 0 / 160px 160px repeat}
/* Вордмарк — тёплый свет, тёмная тень держит буквы на светлом месте арта.
   Крупнее шаблонного: имя здесь главная надпись экрана. */
.app .home-слово{height:40px; max-width:min(330px, 86vw); color:var(--cream);
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.8))}
/* NOVA STORE в две строки (символ i-mark-word2, владелец 01.10.2026): при 61
   css «NOVA» того же роста, что буквы однострочного при 40. */
.app .home-слово.две-строки{height:61px}
.app .hero-kicker{color:var(--sand); letter-spacing:.34em}
.app .hero-note{color:var(--sand-dim)}

/* Салют: пряжка сталью в свете неба, звено цепи сталью, заклёпка —
   стальная головка с бликом, искра — светом неба. Знаки идут по кругу
   (▭ ◆ ○ •), первым в слое стоит зарево — номер ребёнка сдвинут на один.
   Рисунки — свои маски, а не буквы шрифта: знак буквой на телефоне встал
   бы чужим начертанием. */
.proboy .zerno.глиф{text-shadow:none}
.proboy .zerno.глиф:nth-child(4n+2),
.proboy .zerno.глиф:nth-child(4n+3),
.proboy .zerno.глиф:nth-child(4n){font-size:0; color:transparent}
.proboy .zerno.глиф:nth-child(4n+2){width:22px; height:17px; margin:-8px 0 0 -11px;
  background:linear-gradient(180deg, var(--lamp-top), var(--sand) 55%, var(--sand-dim));
  -webkit-mask:var(--nw-пряжка) center / contain no-repeat;
          mask:var(--nw-пряжка) center / contain no-repeat}
.proboy .zerno.глиф:nth-child(4n+3){width:18px; height:12px; margin:-6px 0 0 -9px;
  background:linear-gradient(180deg, var(--lamp-hi), var(--sand) 55%, var(--sand-dim));
  -webkit-mask:var(--nw-звено) center / contain no-repeat;
          mask:var(--nw-звено) center / contain no-repeat}
.proboy .zerno.глиф:nth-child(4n){width:10px; height:10px; margin:-5px 0 0 -5px; border-radius:50%;
  background:radial-gradient(circle at 38% 34%, var(--lamp-top) 0 12%, var(--sand) 40%, var(--sand-dim) 70%, var(--seam-2) 100%)}
.proboy .zerno.глиф:nth-child(4n+1){color:var(--lamp-hi); font-size:14px}
.proboy .zarevo{background:radial-gradient(circle,
  color-mix(in oklab, var(--nw-трубка-свет) 80%, transparent),
  color-mix(in oklab, var(--lamp) 42%, transparent) 30%,
  color-mix(in oklab, var(--lamp) 12%, transparent) 55%, transparent 72%)}

/* Карточка стримера — это он: плита чёрной кожи под стальной кромкой, со
   швом и заклёпками; у правого верхнего угла через кромку перекинут
   ремешок с пряжкой. Аватар — в кольце полированной стали. Каналы —
   кнопки: нить и объём. */
.app .стример{position:relative; border:1px solid transparent; padding:16px 16px 15px;
  background:var(--nw-заклёпки), var(--nw-лоск) padding-box, var(--nw-кожа) padding-box, var(--nw-кромка) border-box;
  outline:var(--nw-строчка); outline-offset:-6px;
  box-shadow:0 16px 30px -20px #000}
/* Ремешок перекинут через кромку: загиб над кромкой темнее, края кожи
   лоснятся, по краям шов, внизу пробиты дырки. Пряжка — сталь в свете
   неба. На чёрной плите чёрная кожа тонула — держат её края и шов. */
.app .стример::before{content:""; position:absolute; right:25px; top:-6px; width:12px; height:48px;
  pointer-events:none;
  background:
    repeating-linear-gradient(180deg, color-mix(in oklab, var(--sand) 42%, transparent) 0 2px, transparent 2px 4px) 2.5px 9px / 1px 26px no-repeat,
    repeating-linear-gradient(180deg, color-mix(in oklab, var(--sand) 42%, transparent) 0 2px, transparent 2px 4px) 8.5px 9px / 1px 26px no-repeat,
    linear-gradient(180deg, rgba(0,0,0,.5) 0 6px, transparent 6px),
    linear-gradient(90deg, var(--sand-dim) 0%, var(--seam-2) 16%, var(--stone-2) 50%, var(--seam-2) 84%,
      color-mix(in oklab, var(--sand-dim) 70%, var(--seam-2)) 100%);
  -webkit-mask:var(--nw-ремешок) center / 100% 100% no-repeat;
          mask:var(--nw-ремешок) center / 100% 100% no-repeat;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.85))}
.app .стример::after{content:""; position:absolute; right:23.5px; top:8px; width:15px; height:20px;
  pointer-events:none;
  background:linear-gradient(135deg, var(--lamp-top) 0%, var(--sand) 50%, var(--sand-dim) 100%);
  -webkit-mask:var(--nw-пряжка-с) center / contain no-repeat;
          mask:var(--nw-пряжка-с) center / contain no-repeat;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}
.app .стример-лицо{border:0; padding:2px;
  background:linear-gradient(158deg, var(--lamp-hi), var(--sand-dim) 40%, var(--sand) 62%, var(--seam-2)) border-box;
  box-shadow:0 0 0 3px var(--stone-deep), 0 6px 14px -6px #000}
.app svg.стример-лицо{color:var(--sand); background:var(--stone-deep);
  box-shadow:inset 0 0 0 1px var(--nw-нить-ярко), 0 6px 14px -6px #000}
.app .стример-имя b{font-family:var(--font-display); font-weight:500; text-transform:uppercase;
  font-size:var(--fs-base); letter-spacing:.16em; color:var(--cream)}
.app .стример-имя span{font:var(--nw-ярлык); text-transform:uppercase; letter-spacing:.16em;
  color:var(--sand-dim)}
.app .стример-ссылка{color:var(--cream); border-color:var(--nw-нить-ярко);
  border-radius:var(--r-in); background:var(--nw-стекло); box-shadow:var(--nw-объём)}
.app .стример-ссылка:active{border-color:var(--nw-свет-нить)}
.app .стример-ссылка .ic{color:var(--sand)}

/* Пасхалка — строкой на коже в стальной кромке. */
.пасхалка{border:1px solid transparent;
  background:var(--nw-лоск) padding-box, var(--nw-кожа) padding-box, var(--nw-кромка) border-box;
  box-shadow:0 14px 30px -16px #000}


/* ── 18. ТИХИЙ РЕЖИМ ─────────────────────────────────────────────────────
   Кто просил меньше движения — тот же смысл без движения: лицо стоит как
   нарисовано, лампа за лицом и за знаком ступени уже горит ровно, искр
   нет, трубка над взятой карточкой уже горит, свет у пряжки не дышит. У
   плитки по нажатию остаётся свет кромки и узора, блик не бежит. */
@media (prefers-reduced-motion:reduce){
  .app .gcard::after{display:none}
  .app .ore.incart::after,
  .app .dock:not(.away) .act::after,
  .app .лз.ждём,
  .app .digger.done .лз.готово,
  .app .digger.bad .лз.беда,
  .app .digger.done .digger-face::after,
  .app .digger.done .лицо-заказа::before,
  .app .digger:not(.done):not(.bad) .digger-bar i::before,
  .app .trail li.now .pip::after,
  .app .vip-now.новая-ступень .ic,
  .app .vip-now.новая-ступень::before{animation:none}
  .app .лоб-уровни,
  .app .home-vows .лоб-уровни .ic{transition:none}
  .app .digger.done .digger-face::after,
  .app .vip-now.новая-ступень::before{opacity:.4}
  .app .digger:not(.done):not(.bad) .digger-bar i::before{opacity:.7}
  .app .trail li.now .pip::after{opacity:.7}
  .app .digger.done .лицо-заказа::before{opacity:0}
}


/* ── 19. ТЕЛЕФОННАЯ КОЛОНКА НА МОНИТОРЕ ──────────────────────────────────
   Ночь и зерно прибиты к окну и на мониторе встали бы во всю ширину, мимо
   колонки. В колонке они живут в её краях. По бокам — стена катсцены:
   бетон, швы кафеля, сверху тёплый свет, по обе стороны колонки на
   стене висят кремовые люминесцентные трубки. Всё неподвижно.
   Бока — это фон <html> и его слои; видно их потому, что в колонке шаблон
   делает <body> прозрачным (skin.css, «Телефонная колонка»). */
@media (min-width:600px){
  html[data-телефон] .app::before,
  html[data-телефон] .app::after{left:var(--телефон-поле); right:var(--телефон-поле)}
}
@media (min-width:900px){
  html[data-телефон]{background:
    radial-gradient(60% 50% at 50% -10%, color-mix(in oklab, var(--nw-трубка-свет) 8%, transparent), transparent 70%),
    radial-gradient(160% 110% at 50% 40%, transparent 40%, color-mix(in oklab, var(--deep) 88%, transparent) 100%),
    var(--nw-кафель),
    var(--nw-бетон) 0 0 / 320px 320px repeat,
    linear-gradient(180deg, color-mix(in oklab, var(--moss) 22%, var(--rock)), var(--deep) 70%);
    background-attachment:fixed}
  /* Две трубки на стене по бокам колонки: кремовая сердцевина в 2 px и
     тёплый свет, растёкшийся по кафелю. Стоят на ±270 px от середины. */
  html[data-телефон]::before{content:""; position:fixed; top:14%; bottom:14%; left:0; right:0;
    z-index:-1; pointer-events:none;
    background:
      linear-gradient(var(--nw-трубка-свет), var(--nw-трубка-свет)) calc(50% - 270px) 0 / 2px 100% no-repeat,
      linear-gradient(var(--nw-трубка-свет), var(--nw-трубка-свет)) calc(50% + 270px) 0 / 2px 100% no-repeat,
      radial-gradient(50% 50% at 50% 50%, color-mix(in oklab, var(--nw-трубка-свет) 20%, transparent), transparent) calc(50% - 270px) 50% / 90px 116% no-repeat,
      radial-gradient(50% 50% at 50% 50%, color-mix(in oklab, var(--nw-трубка-свет) 20%, transparent), transparent) calc(50% + 270px) 50% / 90px 116% no-repeat;
    opacity:.7}
  html[data-телефон]::after{content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
    background:var(--cream); opacity:.045;
    -webkit-mask:var(--nw-зерно) 0 0 / 160px 160px repeat;
            mask:var(--nw-зерно) 0 0 / 160px 160px repeat}
}


/* ── 20. МЕСТО ПОД ВРЕМЕННЫЙ БЛОК ДЕМО ───────────────────────────────────
   Ниже ведущий держит временный блок показа (строка о кассе, документы) —
   он должен стоять последним, чтобы перебить всё выше. */


/* ╔═══════════════════════════════════════════════════════════════════╗
   ║  ВРЕМЕННО — СНЯТЬ ПЕРЕД ЗАПУСКОМ. Тот же блок, что у ANTI-HERO,   ║
   ║  MAGISTOR, TROUBLEMAKER, HIBAKO и POKAMOLODOY: владелец просил    ║
   ║  убирать это на время показа макета блогеру. Вернуть потом.       ║
   ╚═══════════════════════════════════════════════════════════════════╝
   Строка о поддельной кассе (#tail в мини-аппе, #sig span на сайте) —
   ВЕРНУТЬ вместе с настоящей кассой. Документы без реквизитов продавца —
   ВЕРНУТЬ обязательно до первой настоящей продажи. */
/* Строка о кассе и документы ВОЗВРАЩЕНЫ 01.10.2026 (владелец: «не оставляй,
   мы её скоро подключим, сейчас доступа ни у кого в магазин нет»). Строка
   сама скажет «оплата картой или СБП», как только касса станет настоящей.
   Документы: соглашение и политика NOVA STORE лежат в
   brands/nwealess/legal/ (без реквизитов и возвратов — слово владельца).
   Ссылки — внизу, мелко и полупрозрачно («замаскированно»). */

/* App Store не крутится (владелец 01.10.2026: «анимации кручения у эпл
   убери»). Остаётся только парение — плитка живая, но стоит лицом. */
.gcard[data-game="appstore"] .art3d{animation:парение 4.6s ease-in-out infinite alternate;
  animation-delay:calc(var(--i, 0) * 0.26s)}
.gcard[data-game="appstore"] .изнанка{display:none}
/* Карточка App Store широкая (как у tati) — в квадратном окошке 66 px она
   выходила втрое мельче соседей. Окошко ей шире и чуть выше. */
.gcard[data-game="appstore"]:not(.big) .gcard-art{width:112px; height:78px; top:4px}

/* BETA — программа «Уровни и скидка» в тестовом режиме (владелец 01.10.2026:
   «добавь в уголок жёлтую надпись BETA, чтобы мы тестили спокойно и имели
   право менять»). То же записано в соглашении, раздел 7. Жёлтый — свой токен
   --nw-beta (brand.json): в палитре катсцены жёлтого нет, и метка обязана
   выделяться, а не сливаться. */
.app .лоб-уровни{position:relative}
/* ::before, а не ::after: на ::after карточки нарисована лесенка уровней
   (бусины справа) — метка однажды затёрла её. */
.app .лоб-уровни::before,
.app #vipBox .vip-now::before{content:"BETA"; position:absolute; top:8px; right:10px; z-index:2;
  width:auto; height:auto; inset:8px 10px auto auto;
  padding:3px 6px 2px; border-radius:3px; background:var(--nw-beta); color:var(--deep);
  font:800 9px/1 var(--font); letter-spacing:.14em; pointer-events:none}
.app #vipBox .vip-now{position:relative}
