/* ============================================================================
   HoodFox — фабл-раунд-3 (2026-09-01): единый дизайн-слой поверх страниц Season 0.
   Подключается ПОСЛЕ инлайн-стилей каждой страницы и потому выигрывает каскад.
   Содержит: тему день/ночь (html[data-theme]), фиксированную небесную полосу со
   светилом, полосу дюн над футером, новый футер, единую типографику, пиццу
   токеномики, симулятор ролла и форму пре-регистрации.
   ========================================================================== */

/* ---------- 1. Тема: небо ---------- */
/* День: голубое пустынное небо c песочным горизонтом. Ночь: глубокая ночь. */
html[data-theme="day"] body .skygrad{
  background:linear-gradient(180deg,#294a73 0%,#5b7897 55%,#f2a65e 100%)!important}
html[data-theme="night"] body .skygrad{
  background:linear-gradient(180deg,#0d0716 0%,#170d20 55%,#241530 100%)!important}
html[data-theme="day"] .skystars{opacity:0!important}
html[data-theme="night"] .skystars{opacity:.9!important}
html[data-theme="day"] .stars-bg{opacity:0!important;animation:none!important}
html[data-theme="night"] .stars-bg{opacity:.85!important}
html[data-theme="night"] .sky-cloud{opacity:.16;filter:brightness(.5) saturate(.6)}
/* Старые разъезжающие светила в .skyfield погашены: светило живёт в небесной полосе */
.skyfield .sky-orb{display:none!important;visibility:hidden!important}
.daycycle{display:none!important}
/* День на страницах с тёмным хиро (пре-регистрация): панели читаются на светлом небе */
html[data-theme="day"] .hero-shell{background:transparent}

/* ---------- 2. Небесная полоса: одно место светила на всех страницах ---------- */
/* Полоса — часть потока страницы, текста внутри нет, поэтому светило
   геометрически не может оказаться за текстом. Одна и та же точка на каждой
   странице: правый край сетки 1200. */
.sky-band{position:relative;max-width:1200px;height:clamp(112px,12vw,156px);
  margin:0 auto;pointer-events:none}
.sky-band img{position:absolute;image-rendering:pixelated}
.sky-band .band-sun{right:clamp(28px,7vw,96px);top:22px;width:clamp(88px,8vw,116px);height:auto;
  filter:drop-shadow(0 0 22px rgba(255,174,47,.6))}
.sky-band .band-moon{right:clamp(28px,7vw,96px);top:16px;width:clamp(96px,8.6vw,124px);height:auto;
  filter:drop-shadow(0 0 18px rgba(213,226,255,.4))}
html[data-theme="day"] .band-moon{display:none}
html[data-theme="night"] .band-sun{display:none}
@media (prefers-reduced-motion:no-preference){
  .sky-band img{animation:orb-bob 5.4s steps(3) infinite}
  @keyframes orb-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
}
/* На страницах с собственным верхним отступом полоса заменяет его */
.sky-band + .subpage-top{display:none}

/* ---------- 3. Переключатель темы ---------- */
.theme-toggle{cursor:pointer;flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;
  margin-left:8px;background:var(--dusk);border:2px solid var(--shadow);box-shadow:0 3px 0 var(--shadow);
  padding:0;transition:transform .08s ease,box-shadow .08s ease}
.theme-toggle:hover{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}
.theme-toggle img{width:24px;height:24px;image-rendering:pixelated;display:block}
/* в кнопке показывается ТА тема, которую включит клик */
html[data-theme="day"] .theme-toggle .tt-sun{display:none}
html[data-theme="night"] .theme-toggle .tt-moon{display:none}

/* ---------- 4. Полоса дюн над футером ----------
   QA4/HIGH-4: тема задаётся до отрисовки (инлайн-сниппет в head), поэтому фон
   выбирается сразу и браузер качает РОВНО ОДИН файл дюн — арт своей темы.
   Прежняя схема (hero-dunes в CSS + JS-пробы обоих файлов) тянула до 4.9МБ на
   каждую страницу и давала «полу-применённые» состояния. Пока арт не доехал,
   полоса — ровный песочный/ночной цвет: аккуратный стабильный фолбэк. */
.dune-band{position:relative;height:clamp(150px,17vw,224px);margin-top:clamp(28px,4vw,52px);
  background:#d98f57 url(generated/dunes-day.png) center 76%/cover no-repeat;
  image-rendering:pixelated;border-bottom:3px solid var(--shadow)}
.dune-band::before{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(36,21,48,0) 55%,rgba(23,13,32,.55) 100%)}
html[data-theme="night"] .dune-band{
  background:#191026 url(generated/dunes-night.png) center 76%/cover no-repeat}
html[data-theme="night"] .dune-band::before{background:none}
.dune-band + footer{border-top:none}

/* ---------- 5. Футер ---------- */
footer{background:var(--shadow);border-top:2px solid var(--shadow);
  padding-top:clamp(34px,4vw,56px);padding-bottom:26px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  gap:clamp(20px,3vw,44px);align-items:start}
.foot-brand .logo{margin-bottom:14px}
.foot-brand p{color:var(--faded);font-size:15px;line-height:1.6;max-width:44ch;margin-top:0}
.foot-brand p.fine{font-size:13px;margin-top:12px;color:#8f7a72}
.foot-col{display:grid;gap:2px;align-content:start}
.foot-col .hud{display:block;margin-bottom:10px;color:var(--sand)}
.foot-col a{display:block;color:var(--faded);text-decoration:none;font-size:15px;
  padding:5px 0;border-bottom:1px solid transparent;width:fit-content}
.foot-col a:hover,.foot-col a:focus-visible{color:var(--cream);border-bottom-color:var(--fox)}
.foot-base{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:clamp(24px,3vw,40px);padding-top:16px;border-top:2px solid #241530}
.foot-base .hud{color:#8f7a72}
@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.foot-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- 6. Единая типографика (П10) ---------- */
body{font-size:18px;line-height:1.65}
.section-note{font-size:18px;line-height:1.7}
.hero-sub{font-size:18px}
/* один вид панельного заголовка на весь сайт */
.season-panel h3,.season-lead h3,.mechanic h3,.presale-hero h3,.tested h3,
.token-lead .cap{font:clamp(22px,2.6vw,30px)/1.25 var(--pxf);color:var(--cream)}
.season-lead h3,.token-lead .cap{color:var(--sand)}
/* один размер основного текста карточек */
.card p,.rule-card p,.presale-card p,.guide-card p,.season-panel>p,
.heist-card ul,.heist-card p,.roadmap-card p,.pathcard .pd,.steps .sd,
.week span,.season-lock span,.hero-metric span,.cost-card span,
.character p,.stage-row .who,.mock-note,.wl-note,.close-note{font-size:16px;line-height:1.6}
table.season-table td,table.token-table td,table.tt td{font-size:16px}
.formula,.small-note,.disclaimer,.safety,.card .foot-note,.fine,.foot .fine,
.plate figcaption,.hunt-stage p{font-size:14px;line-height:1.6}
.rule-card b,.presale-card b,.heist-card h4,.season-lock b,.guide-card b,
.feature-link b,.week b{font-size:15px;line-height:1.45}
.card b{font-size:18px}
.stat .num{font-size:clamp(26px,2.8vw,38px)}
.stat .lbl{font-size:15px}
.hud{font-size:13px}
.btn{font-size:16px}
.pathcard b{font-size:17px}
h2.display{font-size:clamp(30px,4vw,50px)}
h1.display{font-size:clamp(34px,5.6vw,68px)}

/* Днём вводные абзацы секций лежат прямо на светлом небе — тёмный чип-фон,
   тот же приём, что у бейджа в хиро */
html[data-theme="day"] .sec-head .section-note{
  background:rgba(23,13,32,.62);padding:12px 18px;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
html[data-theme="day"] .sec-head .eyebrow{
  background:rgba(23,13,32,.62);padding:6px 10px;display:inline-block}
html[data-theme="day"] .hero-shell .hero-sub{
  background:rgba(23,13,32,.62);padding:12px 18px;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}

/* ---------- 7. Пицца токеномики ---------- */
.pizza-plate{margin-top:26px;padding:clamp(22px,3vw,36px)}
.pizza-plate>.hud{display:block;text-align:center;margin-bottom:6px}
.pizza-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(20px,3.5vw,48px);align-items:center;margin-top:10px}
.pizza-box{position:relative;justify-self:center;width:min(100%,560px)}
.pizza-box canvas{display:block;width:100%;height:auto;image-rendering:pixelated}
.pizza-tag{position:absolute;transform:translate(-50%,-50%);padding:5px 8px;
  background:var(--night);border:2px solid var(--shadow);box-shadow:0 3px 0 var(--shadow);
  font:11px/1.3 var(--pxf);color:var(--cream);white-space:nowrap;text-transform:uppercase}
.pizza-tag b{display:block;font:13px/1.2 var(--pxf);color:var(--sand)}
.pizza-legend{list-style:none;display:grid;gap:10px;margin:0}
.pizza-legend li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:12px;
  align-items:baseline;border-top:2px solid var(--line);padding-top:10px}
.pizza-legend li:first-child{border-top:none;padding-top:0}
.pizza-legend i{width:12px;height:12px;border:2px solid var(--shadow);align-self:center}
.pizza-legend .pk{font-size:16px;color:var(--cream)}
.pizza-legend .pk small{display:block;font-size:13px;color:var(--faded);margin-top:2px}
.pizza-legend .pv{font:14px/1.4 var(--pxf);color:var(--sand);white-space:nowrap}
@media (max-width:900px){.pizza-wrap{grid-template-columns:minmax(0,1fr)}}

/* ---------- 8. Симулятор ролла ---------- */
.simulator{margin-top:30px;padding:clamp(22px,3vw,38px);border-color:var(--fox)}
.sim-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(22px,3.5vw,46px);
  align-items:center;margin-top:14px}
.sim-window{position:relative;width:min(316px,80vw);justify-self:center}
.sim-frame{position:relative;background:var(--night);border:3px solid var(--shadow);
  box-shadow:0 8px 0 var(--shadow),0 0 0 3px var(--line);padding:14px;overflow:hidden}
.sim-frame::before,.sim-frame::after{content:'';position:absolute;left:0;right:0;height:26px;z-index:3;pointer-events:none}
.sim-frame::before{top:0;background:linear-gradient(180deg,var(--shadow),transparent)}
.sim-frame::after{bottom:0;background:linear-gradient(0deg,var(--shadow),transparent)}
.sim-slot{position:relative;width:256px;height:256px;margin:0 auto;background:var(--dusk);
  border:2px solid var(--line)}
.sim-slot img{position:absolute;inset:0;width:256px;height:256px;image-rendering:pixelated;display:none}
.sim-slot img.on{display:block}
.sim-slot .sim-idle{position:absolute;inset:0;display:grid;place-items:center;
  color:var(--faded);font:14px/1.6 var(--pxf);text-align:center;padding:20px;text-transform:uppercase}
.sim-window.spinning .sim-frame{box-shadow:0 8px 0 var(--shadow),0 0 0 3px var(--fox),0 0 34px rgba(255,139,61,.4)}
.sim-window.landed .sim-frame{box-shadow:0 8px 0 var(--shadow),0 0 0 3px var(--sand),0 0 30px rgba(242,195,119,.5)}
@media (prefers-reduced-motion:no-preference){
  .sim-window.landed .sim-slot img.on{animation:sim-pop .32s steps(3)}
  @keyframes sim-pop{0%{transform:scale(.82)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
}
.sim-plate{margin-top:12px;min-height:58px;padding:10px 12px;background:var(--shadow);
  border:2px solid var(--shadow);border-top:3px solid var(--sand);text-align:center}
.sim-plate .sim-name{display:block;font:14px/1.35 var(--pxf);color:var(--cream);text-transform:uppercase}
.sim-plate .sim-slot-name{display:block;margin-top:5px;font:11px/1 var(--pxf);
  letter-spacing:.08em;color:var(--sand);text-transform:uppercase}
.sim-side .hud{display:block;margin-bottom:10px}
.sim-side h3{text-align:left;margin:0 0 12px}
.sim-side p{color:var(--faded);font-size:16px;max-width:52ch}
.sim-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}
.sim-actions .btn{min-width:220px;text-align:center}
.sim-count{font:12px/1.5 var(--pxf);color:var(--sand);letter-spacing:.06em;text-transform:uppercase}
.sim-count em{font-style:normal;color:var(--mint)}
.sim-honest{margin-top:18px;padding:12px 14px;border:2px dashed var(--line);
  color:var(--faded);font-size:14px}
.sim-honest b{color:var(--sand)}
@media (max-width:900px){.sim-grid{grid-template-columns:minmax(0,1fr)}.sim-side h3{text-align:center}
  .sim-side{text-align:center}.sim-side p{margin:0 auto}.sim-actions{justify-content:center}}

/* ---------- 9. Пре-регистрация: форма и задания ---------- */
.wl-shell{margin-top:6px}
.wl-label{display:block;font:12px/1.4 var(--pxf);letter-spacing:.1em;text-transform:uppercase;
  color:var(--sand);margin-bottom:10px}
.wl-row{display:flex;gap:0}
.wl-input{flex:1 1 auto;min-width:0;padding:16px 18px;font:17px/1.4 Consolas,"Courier New",monospace;
  letter-spacing:.02em;color:var(--cream);background:var(--night);border:3px solid var(--shadow);
  border-right:none;box-shadow:inset 0 3px 0 rgba(13,7,22,.6)}
.wl-input::placeholder{color:#6d5668}
.wl-input:focus-visible{outline:none;border-color:var(--fox)}
.wl-status{margin-top:14px;padding:14px 16px;border:2px solid var(--line);background:var(--night);
  color:var(--faded);font-size:16px;display:flex;gap:12px;align-items:baseline}
.wl-status[hidden]{display:none}
.wl-status .st-ic{flex:0 0 auto;font:14px/1 var(--pxf)}
.wl-status.checking{border-color:var(--sand)}
.wl-status.checking .st-ic{color:var(--sand);animation:st-blink 1s steps(2) infinite}
@keyframes st-blink{50%{opacity:.25}}
.wl-status.eligible{border-color:var(--mint);color:var(--cream)}
.wl-status.eligible .st-ic{color:var(--mint)}
.wl-status.bad{border-color:#ff9a7a;color:#ffb59d}
.wl-status.bad .st-ic{color:#ff9a7a}
.wl-status.unknown{border-color:var(--sand)}
.wl-status.unknown .st-ic{color:var(--sand)}
/* соц-задания после eligible */
.tasks{margin-top:18px}
.tasks[hidden]{display:none}
.tasks>.hud{display:block;color:var(--mint);margin-bottom:12px}
.task{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:12px;align-items:center;
  height:auto;min-height:125px;box-sizing:border-box;padding:12px 0;border-top:1px solid var(--line)}
.task:first-of-type{border-top:none}
.task .t-no{display:grid;place-items:center;width:30px;height:30px;background:var(--dusk);
  border:2px solid var(--shadow);font:12px/1 var(--pxf);color:var(--sand)}
.task b{display:block;font-size:16px;color:var(--cream)}
.task .t-sub{display:block;font-size:13px;color:var(--faded);margin-top:3px}
.task .t-open{font:12px/1 var(--pxf);text-transform:uppercase;letter-spacing:.06em;
  color:var(--night);background:var(--sand);border:2px solid var(--shadow);
  box-shadow:0 3px 0 var(--shadow);padding:9px 12px;text-decoration:none;white-space:nowrap}
.task .t-open:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--shadow)}
.task .t-done{cursor:pointer;width:34px;height:34px;display:grid;place-items:center;
  background:var(--dusk);color:var(--faded);border:2px solid var(--line);font:15px/1 var(--pxf)}
.task.done .t-no{background:var(--mint);color:var(--night)}
.task.done .t-done{background:var(--mint);color:var(--night);border-color:var(--shadow)}
.task-progress{margin-top:12px;font:12px/1.5 var(--pxf);letter-spacing:.06em;color:var(--sand);
  text-transform:uppercase;text-align:center}
@media (max-width:640px){
  .wl-row{flex-wrap:wrap;gap:10px}
  .wl-input{border-right:3px solid var(--shadow);flex-basis:100%}
  .task{grid-template-columns:30px minmax(0,1fr);height:auto;min-height:287px}
  .task .t-open,.task .t-done{grid-column:2}
}
/* фрактал-подключение */
.fractal-connect{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
.fractal-connect .btn{padding:14px 22px}
.fractal-chip{display:none;padding:10px 14px;background:var(--night);border:2px solid var(--mint);
  color:var(--mint);font:13px/1.4 Consolas,monospace;letter-spacing:.03em;overflow-wrap:anywhere}
.fractal-chip.on{display:block}
/* превью фенеков: один размер, одна строка, кнопка ПОД строкой */
.more{display:block;text-align:center}
.more p{margin-left:auto;margin-right:auto}
.gallery{display:flex;flex-wrap:nowrap;justify-content:center;gap:12px;margin-top:22px;
  overflow-x:auto;padding-bottom:6px}
.gallery img{flex:0 0 auto;width:128px;height:128px}
.gallery-cta{display:block;margin-top:22px;text-align:center}
@media (max-width:900px){.gallery img{width:96px;height:96px}}

/* ---------- 10. Роадмап: списки под пунктами ---------- */
.rm-list{list-style:none;margin:10px 0 0;display:grid;gap:6px;text-align:left}
.rm-list li{position:relative;padding-left:16px;color:var(--faded);font-size:14px;line-height:1.5}
.rm-list li::before{content:'';position:absolute;left:0;top:.52em;width:7px;height:7px;
  background:var(--fox);box-shadow:1px 1px 0 var(--shadow)}
.roadmap-visual.labeled .roadmap-marker{display:none}

/* ---------- 10б. Токеномика: рулетка и тиры одна ПОД другой, просторно ---------- */
.season-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-top:26px}
.season-stack .season-panel{padding:clamp(26px,3.4vw,44px)}
.season-stack .season-panel h3{margin-top:10px}
.season-stack .season-panel>p{max-width:70ch}
.season-stack .price-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
.season-stack .tier-line{gap:14px;margin-top:22px}
.season-stack .tier-step{padding:22px 12px}
.season-stack .tier-step b{font:clamp(22px,2.4vw,34px)/1.1 var(--pxf)}
.season-stack .tier-step small{font-size:13px;margin-top:8px}
.season-stack .payback{font-size:13px;padding:14px;margin-top:16px}
@media (max-width:900px){.season-stack .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- 11. Мелкая полировка ---------- */
.multi-divider{display:none} /* разделитель заменён полосой дюн */
html[data-theme="day"] .token-art{background:linear-gradient(180deg,#3b2a52 0,#2a1a3c 68%,#1d1130 100%)}
.tbl-note{margin-top:10px;font-size:13px;color:var(--faded)}

/* ============================================================================
   12. ПРАВКИ ПО QA3 (Сол-QA-САЙТ3, 2026-09-01)
   ========================================================================== */

/* HIGH-2: ничего мельче 13px на всём сайте. Каждый селектор ниже перебивает
   постраничное inline-правило той же или большей специфичности — фикс лежит
   в fable3.css, который в каждой странице подключён ПОСЛЕДНИМ, поэтому при
   равной специфичности выигрывает по порядку каскада. */
.pathcard .hud{font-size:13px}
.wl-label{font-size:13px}
.roadmap-card .jump,.feature-link .jump{font-size:13px}
.roadmap-state{font-size:13px}
.prelim{font-size:13px}
table.season-table th,table.token-table th,table.tt th{font-size:13px}
.sim-plate .sim-slot-name{font-size:13px}
.sim-count{font-size:13px}
.pizza-tag{font-size:13px}
.nameplate .hud{font-size:13px}
.safety b{font-size:13px}
/* редакторские заголовки слотов (BACKGROUND, BODY MATERIAL…) — те же 13px,
   что и остальные HUD-подписи сайта; визуально это battlemap-лейбл, а не
   витринный h3, поэтому он остаётся в «малой» части шкалы h3 (см. ниже) */
.slot-head h3{font-size:13px}

/* h3 приведён к ДВУМ значениям на весь сайт: панельный (крупный, clamp
   22–30px) и caption (мелкий, 14px для коротких подписей вроде шагов
   Stake/Reveal/Complete a set/Bounty). Симулятор ролла добавлен в панельный
   тир — раньше у него не было явного font-size и он падал на UA-дефолт
   браузера (~21px), отсюда «третье» значение в аудите. */
.sim-side h3{font:clamp(22px,2.6vw,30px)/1.25 var(--pxf);color:var(--cream)}
.hunt-stage h3{font-size:14px}

/* HIGH-3: «WHAT WE NEVER ASK FOR» тонуло на дневном небе — фон вместо
   прозрачного дашед-бокса, читается в обеих темах одинаково */
.safety{background:rgba(23,13,32,.7)}

/* Найдено собственной программной проверкой при этом же раунде (та же планка
   «ничего мельче 13px», расширенная на весь сайт, а не только на список Сола) */
.task .t-no,.task .t-open{font-size:13px}
.task-progress{font-size:13px}
.chip .tag{font-size:13px}
/* сундук-подписи в token-art: узкие клетки сжимали шрифт вплоть до 7-8px —
   теперь минимум 13px, перенос строки (overflow-wrap уже стоит) держит
   вёрстку на самой узкой колонке (Trait Hunt Prizes, 148px) */
.token-label b{font:clamp(13px,.9vw,15px)/1.3 var(--pxf)}
.token-label strong{font:clamp(13px,1vw,15px)/1.25 var(--pxf)}
.pager .idx{font-size:13px}
.pay-split span{font-size:13px}
