/* ============================================================================
   HoodFox — фабл-раунд-13 (2026-09-02): предложения заголовков по строкам, минт на
   OpenSea, полоса «Official links only» на всю ширину футера, roadmap NOW/NEXT/THEN,
   FAQ+Disclosures, роли/Guard, единое выравнивание таблиц, пицца с легендой сбоку,
   лор, Trait Arcade, FCFS-форма. Подключается ПОСЛЕ fable11.css.
   Источник: ВОЛТ-СИСТЕМА/ЗАДАНИЕ-ФАБЛ-САЙТ-13.md, РЕВЬЮ-FCFS-РЕГИСТРАЦИЯ.md
   ========================================================================== */

:root{--ui-border-width:3px}
.btn,.pathcard{border-width:var(--ui-border-width);border-radius:0;box-sizing:border-box}
/* П6: браузер балансирует визуальные строки заголовков на каждой ширине. */
h1,h2,h3,h4,h5,h6{text-wrap:balance}
/* Keep the pre-token outer geometry while the 3px border consumes its own box. */
.btn{padding:13px 19px}
.pathcard{padding:21px}

/* ---------- П1. Каждое предложение заголовка — своя строка; предложение не рвётся ----------
   Разметка: <span class="sent">…</span> на каждое предложение. fable13.js подбирает масштаб
   пиксельного шрифта (h1/h2.display) или кегль (h3, .table-title), чтобы строка влезла;
   если не влезает даже минимальный — .wrap разрешает перенос внутри предложения. */
.sent{display:block;white-space:nowrap;text-align:center}
.sent.wrap{white-space:normal}
h1.display.has-sent,h2.display.has-sent,.pxt.has-sent{display:block}
.sent .pxw:last-child{margin-right:0!important}
.sent-p{display:block}
.section-note .sent-p,.hero-sub .sent-p{margin:0}

/* ---------- П11. Лор: короткая вводная строка на каждой странице ---------- */
#lore .lore-part{text-align:center}
#lore .lore-part+.lore-part{margin-top:22px;padding-top:22px;border-top:2px dashed var(--line)}
#lore .hud{display:block;margin-bottom:10px}
#lore h3{margin-bottom:6px}

/* ---------- П4. Roadmap: NOW → NEXT → THEN → AFTER SEASON 0 ---------- */
.rm-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.rm-stage{display:block;position:relative;padding:20px 18px 18px;background:var(--dusk);border:2px solid var(--shadow);border-top:5px solid rgba(var(--stage-accent),.72);box-shadow:0 5px 0 var(--shadow);color:inherit;text-decoration:none;text-align:center;min-width:0;transition:border-color .16s ease}
.rm-stage.now{--stage-accent:121,223,174}.rm-stage.next{--stage-accent:255,139,61}.rm-stage.then{--stage-accent:242,195,119}.rm-stage.after{--stage-accent:213,167,255}
.rm-stage .hud{display:block;margin-bottom:8px}
.rm-stage b{display:block;font:15px/1.35 var(--pxf);color:var(--cream);text-transform:uppercase}
.rm-stage .rm-what{display:block;margin-top:8px;font-family:Consolas,monospace;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--sand)}
.rm-stage p{margin-top:10px;color:var(--faded)}
.rm-stage .jump{display:block;margin-top:12px;color:var(--fox);font:14px/1.3 var(--pxf);text-transform:uppercase}
.rm-stage:hover{border-color:var(--fox);border-top-color:rgb(var(--stage-accent))}
.rm-stage:not(:last-child)::after{content:"\2192";position:absolute;right:-13px;top:50%;transform:translateY(-50%);z-index:1;color:var(--fox);font:16px/1 var(--pxf);background:var(--dusk);padding:0 2px}
.rm-tagline{margin-top:18px;text-align:center;color:var(--sand);font:17px/1.5 var(--pxf);text-transform:uppercase;letter-spacing:.04em}
@media (max-width:1000px){.rm-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.rm-stage:nth-child(2)::after{display:none}}
@media (max-width:560px){.rm-stages{grid-template-columns:minmax(0,1fr)}.rm-stage::after{display:none}}

/* ---------- site-wide card and footer alignment contract ---------- */
.steps .st{white-space:nowrap}
.steps.steps-5 .st{font-size:13px;letter-spacing:.08em}
@media (min-width:1101px){.pathcard>b{white-space:nowrap}}

.rm-stage{display:flex;flex-direction:column;height:100%}
.rm-stage>b,.rm-stage .rm-what,.rm-stage .jump{white-space:nowrap}
.rm-stage>p{flex:1}
.align-feature-grid>.feature-link>b{white-space:nowrap}

#season-costs .season-grid>.season-panel>h3,
#season-costs .season-grid>.season-panel>.hud,
#tiers .rule-grid.two>.rule-card>b,
#afterSeasonCards>.rule-card>b{white-space:nowrap}

.stats>.stat>.num,.hero-metric>b{white-space:nowrap}
@media (max-width:560px){.stats>.stat>.compact-num{font-size:20px;position:relative;top:1.13px}}

.align-public-roadmap .roadmap-card{display:flex;flex-direction:column;height:100%}
.roadmap-cards{align-items:stretch}
.roadmap-cards .roadmap-card{height:100%;box-sizing:border-box}
.align-public-roadmap .roadmap-card>p{flex:1}
.align-public-roadmap .roadmap-card>b,
.align-public-roadmap .roadmap-card>.roadmap-state,
.align-public-roadmap .roadmap-card>.jump{white-space:nowrap}

@media (min-width:901px) and (max-width:1100px){
  .foot-col a{font-size:15px;white-space:nowrap}
}

/* Preserve every row's accepted outer box while its internal lines are aligned. */
@media (min-width:1101px){
  .align-game-steps>li{min-height:257.5px}
  .align-paths>.pathcard{min-height:273.5px}
  .align-play-lanes>.season-panel{padding-bottom:87px}
  .align-hunt-stats>.stat{min-height:131.69px}
  .align-presale-steps>li{min-height:207.88px}
  .rm-stages>.rm-stage{min-height:316.09px}
  .align-public-roadmap>.roadmap-stop{min-height:303.07px}
  .align-season-roadmap>.roadmap-stop{min-height:258.6px}
}
@media (min-width:561px) and (max-width:1100px){
  .align-game-steps>li{min-height:308.5px}
  .align-mint-steps>li{min-height:334px}
  .branch>.steps>li{min-height:120.5px}
  .branch[data-branch="fractal"]>.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .align-play-lanes>.season-panel{padding-bottom:103.79px}
  #tiers .rule-grid.two>.rule-card:nth-child(-n+2){min-height:140.5px}
  .align-hunt-stats>.stat{min-height:133.69px}
  .align-presale-steps>li{min-height:233.38px}
  .rm-stages>.rm-stage{min-height:362.69px}
  .align-public-lanes>.season-panel{padding-bottom:57.29px}
  .align-public-roadmap>.roadmap-stop{min-height:212.29px}
  .vesting>.card{min-height:212px}
  .disclosure-grid>.card{min-height:310.5px}
  .align-season-roadmap>.roadmap-stop{min-height:335.1px}
}
@media (max-width:560px){
  .align-mint-steps>li:nth-child(4){min-height:226px}
  .align-play-lanes>.season-panel:nth-child(1){padding-bottom:120.5px}
  .align-play-lanes>.season-panel:nth-child(2){padding-bottom:124px}
  #tiers .rule-grid.two>.rule-card:nth-child(1),
  #tiers .rule-grid.two>.rule-card:nth-child(2){min-height:161.5px}
  #tiers .rule-grid.two>.rule-card:nth-child(3){min-height:213.25px}
  #tiers .rule-grid.two>.rule-card:nth-child(4){min-height:377.5px}
  #afterSeasonCards>.rule-card:nth-child(3){min-height:281.5px}
  .stats>.stat{min-height:155.38px}
  .align-hunt-stats>.stat{min-height:178.08px}
  .align-feature-grid>.feature-link:nth-child(2){min-height:240.06px}
  .align-public-lanes>.season-panel:nth-child(2){padding-bottom:72.5px}
  .align-public-roadmap>.roadmap-stop{min-height:207.79px}
  .disclosure-grid>.card:nth-child(2){min-height:276px}
  .align-season-roadmap>.roadmap-stop:nth-child(1),
  .align-season-roadmap>.roadmap-stop:nth-child(2),
  .align-season-roadmap>.roadmap-stop:nth-child(4){min-height:184px}
  .align-season-roadmap>.roadmap-stop:nth-child(3){min-height:225.6px}
  .align-season-roadmap>.roadmap-stop:nth-child(5){min-height:201.6px}
}
.where-fits{margin-top:22px;padding:18px 20px;background:var(--night);border:2px solid var(--shadow);border-left:6px solid var(--fox);text-align:center}
.where-fits .hud{display:block;margin-bottom:8px}
.where-fits b{display:block;font:15px/1.4 var(--pxf);color:var(--cream);text-transform:uppercase}
.where-fits p{margin-top:8px;color:var(--faded)}
.where-fits a{color:var(--fox)}

/* Owner 6: keep the explanatory raid header on one line at tablet width too. */
#raidChanceTable th:nth-child(2){font-size:11px;white-space:nowrap}
@media (max-width:760px){.sol-mobile-fixes #raidChanceTable td:nth-child(2)::before{font-size:10px;letter-spacing:0;white-space:nowrap}}

/* ---------- П5. FAQ + Disclosures — один раздел, FAQ в самом низу ---------- */
#faq .disclosure-grid{margin-top:22px}
#faq .faq{margin-top:28px}
#faq .faq-title{margin:30px 0 0;text-align:center;color:var(--sand);font:16px/1.4 var(--pxf);text-transform:uppercase;letter-spacing:.04em}
.regcta.regcta-mid{margin-top:34px}

/* ---------- П8. Роли: четыре карточки «что делает фокс сегодня» ---------- */
.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.role-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;padding:18px 16px;background:var(--night);border:2px solid var(--shadow);text-align:center;min-width:0}
.role-card b{display:block;font:15px/1.35 var(--pxf);color:var(--sand);text-transform:uppercase}
.role-card .role-tag{display:block;margin-top:6px;font-family:Consolas,monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--cream)}
.role-card p{margin-top:10px;color:var(--faded)}
.role-card .role-meta{display:block;margin-top:10px;padding-top:10px;border-top:2px dashed var(--line);color:var(--faded);font-size:var(--body);line-height:1.5}
.role-card .role-meta b{display:inline;font:inherit;font-weight:700;color:var(--cream);text-transform:none}
.role-card.locked{border-style:dashed}
@media (max-width:1000px){.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.role-grid{grid-template-columns:minmax(0,1fr)}}
.safety-window{margin-top:16px;padding:18px 20px;background:var(--night);border:2px solid var(--shadow);border-left:6px solid #79dfae;text-align:center}
.safety-window .hud{display:block;margin-bottom:8px}
.safety-window b{display:block;font:15px/1.4 var(--pxf);color:var(--cream);text-transform:uppercase}
.safety-window p{margin-top:8px;color:var(--faded)}
.safety-window .countdown{display:inline-block;margin-top:10px;padding:8px 12px;border:2px dashed var(--line);font-family:Consolas,monospace;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--sand)}

/* ---------- П9. Таблицы: числовые колонки по центру, текст слева, заголовок как колонка ----------
   .num ставит fable13.js на колонки, где все ячейки тела начинаются с числа (кроме первой колонки-метки);
   .value — явная разметка числовых колонок (play/hunt/public). */
main table th,main table td{text-align:left}
main table td.num,main table th.num,table.season-table td.value,table.season-table th.value,.season-table .value,table.token-table td.num,table.token-table th.num{text-align:center}
.season-table td.rarity-word{white-space:nowrap}
table.season-table.bands-even td.value{white-space:nowrap}

.case-teaser .ct-text{font-size:var(--body)}

/* ---------- П2/П12. Минт на OpenSea, FCFS-форма ---------- */
[data-opensea-link][hidden]{display:none}
.opensea-cta{margin-top:14px;text-align:center}
.fcfs-form .wl-label{margin-top:12px}
.fcfs-form .eligibility-label{font-size:13px;letter-spacing:.07em}
.fcfs-form .wl-row.solo .wl-input{flex:1 1 100%}
.wl-row.solo .wl-input{border-width:3px;box-sizing:border-box}
#wlAddressFcfs{border-right:3px solid var(--shadow)}
.wl-row.solo .wl-input:focus-visible{border-right-color:var(--fox)}
.fractal-requirement{margin:0 0 12px;color:var(--sand);text-align:center}
.registration-actions{margin-top:16px}
.registration-actions .btn[hidden]{display:none}
.registration-actions .btn{display:block;width:100%;max-width:460px;margin:0 auto;padding:18px 20px;font-size:17px;animation:none}
.registration-actions .btn:disabled{cursor:not-allowed;opacity:.48;transform:none}
.safety{margin:14px auto 0;padding:0;border:0;background:transparent;max-width:72ch}
html[data-theme="day"] .safety{background:transparent}
.fcfs-note{margin-top:12px;color:var(--faded);font-size:var(--body);line-height:1.55}
#fcfsStatus.handoff .st-tx{font-size:19px;line-height:1.45}

/* ---------- ЛУНА: читаемость прозы и подписей (2026-09-04) ----------
   VT323 has a short x-height: the declared size alone overstates the visible
   letter height. Keep headings unchanged, but make prose measurably larger. */
:root{--body:22px}
@media (max-width:640px){:root{--body:21px}}
.hero-sub,.section-note{font-size:25px;line-height:1.5}
.foot p,.foot-brand p,body.public-shell .foot p{font-size:20px;line-height:1.5}
.fine,.foot .fine{font-size:19px;line-height:1.5}
.steps .st{font-size:17px}
.pathcard b,.presale-card b,.card b{font-size:20px;line-height:1.35}
@media (max-width:640px){
  .hero-head .hud,.sec-head .hud{display:block;max-width:100%;width:100%;box-sizing:border-box;white-space:normal;line-height:1.35}
}

/* Link labels and their arrows are one indivisible unit site-wide. */
.jump,.arrow-link{white-space:nowrap}
@media (min-width:1101px){.feature-grid .feature-link{padding-left:18px;padding-right:18px}}
