/* Quiet bloom: one palette, two luminance ranges; the established flower stays intact. */
:root,[data-sz-theme=light]{color-scheme:light;--paper:#F4F7F5;--panel:#FCFDFC;--ink:#293A36;--muted:#5D6D65;--line:#D1DAD5;--table:#E6EEE9;--accent:#AF345B;--flower:#C5416B;--mint:#16765F;--gold:#B28A45;--card-face:#FFFEFA;--card-ink:#293A36;--card-red:#AF345B;--card-edge:#CBD6CF;--back:#EEF2EF;--back-edge:#C0CFC6;--soft:#E9EEEA;--selected:#FAE4EB;--primary-ink:#FFF9F6;--shadow:0 3px 8px #253E3410;--sz-paper:var(--paper);--sz-ink:var(--ink);--sz-sea:var(--ink);--sz-table:var(--table);--sz-flower:var(--flower);--sz-flower-deep:var(--accent);--sz-mint:var(--mint);--sz-gold:var(--gold);--cream:var(--paper);--green:var(--ink);--sz-logo-paper:var(--paper);--sz-logo-edge:#A7B6AD;--sz-brand-red:#C5416B;--sz-brand-gold:#C5A365;--sz-logo-petal:var(--sz-brand-red);--sz-logo-center:var(--sz-brand-gold);--face:var(--card-face);--ui-label:12px;--ui-:root body:14px;--ui-brand:22px;--control:40px}
[data-sz-theme=dark]{color-scheme:dark;--paper:#131E32;--panel:#26374E;--ink:#EAF0F8;--muted:#B3C2D5;--line:#455C77;--table:#1E2D43;--accent:#E38BA6;--flower:#E38BA6;--mint:#A4C5D5;--gold:#D5B478;--back:#2C405B;--back-edge:#5F7893;--soft:#304761;--selected:#FAE4EB;--primary-ink:#271E22;--shadow:0 3px 8px #00000020;--sz-logo-edge:#627C6C}
html,:root body{background:var(--paper);color:var(--ink)}
:root body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font-family:inherit}
button:not(.card),[data-sz-theme=dark] button:not(.card){border-radius:8px;background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none}
button.primary,[data-sz-theme=dark] button.primary,a.primary{background:var(--accent);border-color:transparent;color:var(--primary-ink)}
button:disabled{opacity:.4}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
:root body:has(.app-main){--ui-label:12px;--ui-:root body:14px;--ui-brand:22px;height:var(--app-height,100dvh)}
:root body .app-header{max-width:1160px;padding-inline:28px}
:root body .app-header .brand{gap:8px}
:root body .app-header .brand-symbol{width:32px;height:36px}
:root body .app-header .brand h1,html[lang=en] .app-header .brand h1{font-size:var(--ui-brand);font-weight:650;letter-spacing:-.035em;line-height:1.25}
:root body .app-header .header-controls{gap:8px}
:root body .app-header .header-controls button,[data-sz-theme=dark] .app-header .header-controls button{background:transparent;border:0;min-height:40px;padding:8px;font-size:14px;font-weight:500}
:root body .app-header .header-menu-icon{width:13px;opacity:.65}
:root body .app-main{max-width:1160px;height:calc(var(--app-height,100dvh) - var(--header));padding-inline:20px;padding-bottom:max(12px,env(safe-area-inset-bottom));gap:8px}
:root body .table,[data-sz-theme=dark] .table{background:var(--table);color:var(--ink);border:0;border-radius:18px;box-shadow:none;padding:12px 22px;gap:8px}
:root body .table .topline{min-height:32px;gap:12px}
:root body .table .tabs{gap:12px}
:root body .table .tabs button,[data-sz-theme=dark] .table .tabs button{background:transparent;color:var(--muted);padding:6px 0;font-size:12px;border-radius:0;min-height:32px}
:root body .table .tabs button[aria-selected=true]{color:var(--ink);font-weight:650}
:root body .table .tabs button:after{height:2px;border-radius:2px;background:var(--accent)}
:root body .table .shared-flower,[data-sz-theme=dark] .table .shared-flower{color:var(--accent);background:transparent;border:0;padding:4px 0;font-size:12px;font-weight:600}
:root body .table #match-meta{color:var(--muted);font-size:12px}
:root body .table .player-head{min-height:22px}
:root body .table .player-title{color:var(--ink);font-size:14px;font-weight:600}
:root body .table .hand-total{color:var(--muted);font-size:12px;font-weight:400}
:root body .table .damage{gap:3px;color:var(--ink);font-size:14px}
:root body .table .damage small,:root body .table .damage small span{color:var(--muted);font-size:12px}
:root body .table .wound-bract{opacity:.7;fill:var(--muted)}
:root body .table .wound-bract.filled{opacity:1;fill:var(--accent)}
:root body .table .player-zone{max-width:820px;gap:6px}
:root body .card,[data-sz-theme=dark] .card{background:var(--card-face);border-color:var(--card-edge);color:var(--card-ink);box-shadow:var(--shadow);border-radius:7px}
:root body .card.red,[data-sz-theme=dark] .card.red{color:var(--card-red)}
:root body .card .center{opacity:.09}
:root body .card.back,[data-sz-theme=dark] .card.back{background:var(--back);border-color:var(--back-edge);box-shadow:var(--shadow)}
:root body .card.back .motif svg{opacity:.72}
:root body .card:has(.wild),[data-sz-theme=dark] .card:has(.wild){border-color:#C5A365;background:#FCF7E7}
:root body .card .wild{color:#886521}
:root body .card.selected,[data-sz-theme=dark] .card.selected,:root body .card:has(.wild).selected{background:var(--selected);outline:2px solid var(--accent);outline-offset:-2px;border-color:var(--accent);box-shadow:0 4px 12px #4A243025}
:root body .card.selected:after{display:none}
:root body .table .wound-cards .card.pending{background:transparent;border:1px dashed var(--line);color:var(--muted);box-shadow:none}
:root body .table .card.pending .pending-mark{display:none}
:root body .table .card.pending .pending-label{font-size:12px;white-space:nowrap;font-family:Arial,"PingFang SC",sans-serif;letter-spacing:-.03em}
:root body .table .battle,[data-sz-theme=dark] .table .battle{border-color:var(--line);gap:6px;padding-block:12px}
:root body .table .combat-title,:root body .table .combat-title b{color:var(--muted);font-size:12px;line-height:1.4}
:root body .table .combat-title b{color:var(--ink);font-weight:600}
:root body .table .combat-cards:empty:after,[data-sz-theme=dark] .table .combat-cards:empty:after{border:0;background:var(--soft);opacity:.6;color:var(--muted);border-radius:6px}
:root body .table .pile-stack,[data-sz-theme=dark] .table .pile-stack{background:var(--back);border-color:var(--back-edge);color:var(--muted);box-shadow:none}
:root body .table .pile-stack:before,:root body .table .pile-stack:after{background:var(--back);border-color:var(--back-edge)}
:root body .table .discard-pile .pile-stack{background:transparent;border-color:var(--line)}
:root body .table .stock-pile.is-low .pile-stack,[data-sz-theme=dark] .table .stock-pile.is-low .pile-stack{background:var(--gold);border-color:var(--gold);color:#252E27}
:root body .table .pile-label{color:var(--muted);font-size:12px}
:root body .table .formula{color:var(--accent);font-size:12px}
:root body .table .actionbar,[data-sz-theme=dark] .table .actionbar{background:var(--paper);border:0;border-radius:10px;padding:8px 12px;column-gap:12px;min-height:60px}
:root body .table .actionbar h2,html[lang=en] .table .actionbar h2{font-size:14px;font-weight:600;line-height:1.4;color:var(--ink)}
:root body .table .preview-score,:root body .table .preview-score small{font-size:12px;color:var(--muted);line-height:1.45}
:root body .table .score-number{font-size:14px;color:var(--accent)}
:root body .table .action-buttons{gap:8px}
:root body .table .action-buttons button,html[lang=en] .table .action-buttons button{min-height:40px;min-width:64px;padding:8px 14px;font-size:14px;line-height:1.4;font-weight:600;border:0;border-radius:7px}
:root body .table .action-buttons .primary,[data-sz-theme=dark] .table .action-buttons .primary{color:var(--primary-ink);background:var(--accent)}
:root body .table .action-buttons button:not(.primary),[data-sz-theme=dark] .table .action-buttons button:not(.primary){color:var(--muted);background:transparent}
:root body .table .actionbar.is-hand-exchange #action-description{color:var(--muted)}
:root body .table #hr-toggle,[data-sz-theme=dark] .table #hr-toggle{color:var(--ink);border:0;background:var(--paper);font-size:12px;font-weight:500;min-height:32px;padding:6px 10px;border-radius:6px}
:root body #hr-panel,[data-sz-theme=dark] #hr-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #10251A18;color:var(--ink)}
:root body #hr-panel th,:root body #hr-panel td{border-color:var(--line)}
:root body #hr-panel .hr-note,:root body #hr-panel small,:root body #hr-toggle i{color:var(--muted)}
:root body #hr-panel tbody td{color:var(--accent)}
:root body .sz-bloom,[data-sz-theme=dark] .sz-bloom{--fc-paper:var(--paper);--fc-ink:var(--ink);--fc-muted:var(--muted);--fc-table:var(--table);--fc-red:var(--flower);--fc-gold:var(--gold);--fc-line:var(--line)}
:root body .sz-bloom .fc-vine-stem{stroke:var(--muted);opacity:.58}
:root body .sz-bloom .fc-player-flower:not(.fc-gold-flower):not(.fc-faded-flower) path[fill="#D83B74"]{fill:var(--flower)}
:root body .sz-bloom .fc-player-flower:not(.fc-gold-flower):not(.fc-faded-flower) path[fill="#DEB04A"]{fill:var(--sz-brand-gold)}
:root body .sz-bloom .fc-win-stamp.is-playing .fc-player-flower{filter:drop-shadow(0 1px 3px currentColor)}
:root body .sz-bloom .fc-win-stamp.is-playing:before{opacity:.35}
:root body .modal,[data-sz-theme=dark] .modal{background:var(--paper);color:var(--ink);border:0;border-radius:18px;box-shadow:0 24px 80px #101A1840;max-height:calc(var(--app-height,100dvh) - 32px)}
:root body .modal::backdrop{background:#111A1673;backdrop-filter:blur(5px)}
:root body .modal .modal-head{padding:18px 24px;background:var(--paper);border-bottom:1px solid var(--line)}
:root body .modal .modal-head h2{font-size:20px;line-height:1.4;letter-spacing:-.025em;font-weight:650}
:root body .modal .modal-head button{border:0;color:var(--muted);font-size:12px;padding:8px 0;min-height:36px}
:root body .settings-modal{width:min(560px,calc(100vw - 32px))}
:root body .settings-modal .modal-:root body{padding:0 24px 20px;gap:0}
:root body .settings-modal .menu-preferences{display:grid;grid-template-columns:1fr 1fr;gap:16px}
:root body .settings-modal input,[data-sz-theme=dark] .settings-modal input{font-size:16px;min-height:46px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:7px;color:var(--ink)}
:root body .settings-modal label{font-size:12px;color:var(--muted)}
:root body .settings-modal .seed-readout{padding:0 0 20px;border-top:0;border-bottom:1px solid var(--line);margin:0 0 20px;gap:16px}
:root body .settings-modal .seed-readout span{font-size:12px}
:root body .settings-modal .seed-readout output{font:500 16px/1.5 Arial,sans-serif;color:var(--ink)}
:root body .settings-modal .settings-:root body{margin-top:0;gap:16px}
:root body .settings-modal .menu-match-actions{border:0;margin-top:0;padding-top:0}
:root body .settings-modal .menu-match-actions button{min-height:46px;font-size:14px}
:root body .settings-modal #reuse-seed{font-size:12px;background:transparent;border:0;color:var(--muted);text-decoration:underline;text-underline-offset:4px;padding:6px 0;min-height:30px;justify-self:start}
:root body .settings-modal .seed-fixed-row{grid-template-columns:1fr;gap:6px}
:root body .settings-modal #version-note{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
:root body .settings-modal .version-field{margin-top:24px}
:root body .settings-modal .notice{font-size:12px;line-height:1.6;color:var(--muted)}
:root body .settings-modal details{margin:0;border-top:1px solid var(--line);padding:0}
:root body .settings-modal details summary{font-size:14px;min-height:48px;padding:14px 0;cursor:pointer}
:root body .settings-modal details p{margin:0 0 12px}
:root body .settings-modal .identity-note{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted)}
:root body .settings-modal .identity-note>span{flex-basis:100%}
:root body .settings-modal a{color:var(--muted)}
:root body .settings-modal #export-match{border:1px solid var(--line);width:100%;min-height:44px;margin:0 0 20px}
:root body .rule-page .rg-toolbar{background:var(--paper);border-color:var(--line)}
:root body .rule-page #rg-switch{background:var(--soft);border-radius:7px;padding:3px}
:root body .rule-page #rg-switch button{border:0;font-size:12px;background:transparent;color:var(--muted)}
:root body .rule-page #rg-switch button[aria-pressed=true]{background:var(--panel);color:var(--ink)}
:root body .rule-page #rg-progress button{border:0;border-radius:0;color:var(--muted);background:transparent;font-size:12px}
:root body .rule-page #rg-progress button[aria-current=step]{color:var(--accent);background:transparent;border-bottom:2px solid var(--accent)}
:root body .rule-page #rg-navigation{background:var(--paper);border-color:var(--line)}
:root body .rule-page #rg-navigation button{border:0;font-size:14px;min-height:40px}
:root body .rule-page #rg-navigation .primary{background:var(--accent);color:var(--primary-ink)}
:root body .rule-page .fg-board{border:0;border-radius:12px;background:var(--table)}
:root body .rule-page .fg-slot.is-focus{background:var(--panel);box-shadow:0 0 0 1px var(--accent)}
:root body .rule-page .fg-slot.fg-coach{box-shadow:none;border:0;background:var(--paper);padding:12px 0 0}
:root body .rule-page .fg-toolbar button{border:0;background:var(--soft)}
:root body .rule-page .fg-wild{border:0;background:transparent}
:root body .rule-page .fg-center{border-color:var(--line)}
:root body .rule-page .fg-coach>button{color:var(--primary-ink);background:var(--accent)}
:root body .rule-page .fg-coach strong{font-weight:600}
:root body #rule-page.fg-mobile{max-height:var(--app-height,100dvh);height:var(--app-height,100dvh);border-radius:0;top:var(--app-top,0px)}
:root body #rule-page.fg-mobile .rg-figure{border:0}
:root body #rule-page.fg-mobile .fg-slot.fg-coach{padding:10px 2px 12px;background:transparent}
:root body #rule-page.fg-mobile .fg-camera-nav button[aria-pressed=true]{border-color:transparent;background:var(--soft)}
:root body .result-sheet,[data-sz-theme=dark] .result-sheet{background:var(--paper);border:0;box-shadow:none}
:root body .result-content h2,:root body #result-subtitle{color:var(--ink)}
:root body .result-upgrade p,:root body .result-hint,:root body .result-head{color:var(--muted)}
:root body .result-damage>div{background:var(--table);color:var(--muted)}
:root body #result-to{background:var(--soft);color:var(--accent);border:0}
:root body #result-from{background:transparent;color:var(--muted)}
:root body .result-actions,:root body #result-modal.has-city .result-actions{background:var(--paper);border-color:var(--line)}
:root body .result-actions button,:root body .sz-share-actions a{min-height:44px;border-radius:7px;font-size:14px}
:root body .result-actions .primary,:root body #result-modal.has-city .result-actions .primary{background:var(--accent);color:var(--primary-ink);border:0}
:root body #bloom-result .fc-victory-title{font-weight:500;letter-spacing:-.04em}
:root body #bloom-result .fc-victory-title strong{font-weight:650}
:root body #bloom-result .fc-victory-actions .fc-button{border:0;background:var(--soft)}
:root body #bloom-result .fc-victory-actions .fc-main{background:var(--accent);color:var(--primary-ink)}
:root body .sz-share-dialog .sz-share-:root body{background:var(--paper)}
:root body .sz-share-actions .primary{background:var(--accent);color:var(--primary-ink);border:0}
.site-demo,.site-palette .site-swatch i{border:0}
.site-hero h1,.site-identity-lockup h1{font-weight:600}
.site-swatch i{box-shadow:inset 0 0 0 1px #182A1810}
@media(hover:hover){:root body button:not(.card):not(.primary):not(.site-language):not(:disabled):hover{background:var(--soft)}:root body .table .card.selectable:not(.selected):hover{box-shadow:0 4px 12px #253E3425}:root body .app-header .header-controls button:hover{background:var(--soft)}}
@media(min-width:761px){:root body[data-bloom=true] .app-header,:root body[data-bloom=true] .app-main{--header:88px}:root body .app-header .match-goal{max-width:460px;justify-self:center;width:100%}:root body .table .battle{padding-block:16px}:root body .table .player-zone{max-width:820px}:root body .table .actionbar{max-width:600px}:root body .table .combat-sides{max-width:540px}}
@media(min-width:1100px){:root body .app-header{padding-inline:36px}:root body .table{padding-inline:36px}:root body .table .player-head{padding-inline:0}:root body .table #hr-reference.hr-side{left:0}:root body .table #hr-reference.hr-side #hr-panel{max-height:245px}}
@media(max-width:760px){:root body .app-header{padding-inline:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}:root body .app-main{padding-inline:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom))}:root body .table{padding:10px 12px;border-radius:14px;gap:6px}:root body .table .topline{gap:8px}:root body .table .tabs{gap:10px}:root body .table .player-zone{gap:4px}:root body .table .battle{padding-block:8px;gap:6px}:root body .table .actionbar{padding:6px 8px;min-height:56px}:root body .table .action-buttons button{padding:8px 12px;min-width:56px}:root body .settings-modal{width:100%;max-height:var(--app-height,100dvh);height:var(--app-height,100dvh);margin:0;inset:var(--app-top,0px) 0 auto;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}:root body .settings-modal .modal-head{padding:14px 20px}:root body .settings-modal .modal-:root body{padding:0 20px 20px}:root body .modal .modal-head h2{font-size:18px}}
@media(max-width:380px){:root body .app-header .brand h1,html[lang=en] .app-header .brand h1{font-size:20px}:root body .app-header .brand-symbol{width:27px;height:31px}:root body .app-header .header-controls{gap:2px}:root body .app-header .header-controls button{padding:6px}:root body .table{padding-inline:10px}:root body .table .topline{gap:6px}:root body .table .tabs{gap:6px}:root body .table .topline #hr-reference:not(.hr-side) #hr-toggle{padding-inline:6px}:root body .table .actionbar{column-gap:8px}:root body .table .action-buttons{gap:4px}:root body .table .action-buttons button{padding-inline:9px;min-width:48px}:root body .table .damage{gap:2px}}
@media(max-height:720px){:root body .table{padding-block:8px;gap:4px}:root body .table .player-zone{gap:3px}:root body .table .battle{padding-block:6px;gap:4px}:root body .table .actionbar{min-height:48px;padding-block:5px}:root body .table .action-buttons button{min-height:36px;padding-block:6px}}
@media(max-height:650px){:root body .table{padding-block:6px;gap:3px}:root body .table .player-zone{gap:2px}:root body .table .topline{min-height:28px}:root body .table .battle{padding-block:5px;gap:3px}:root body .table .actionbar{min-height:44px;padding-block:4px}:root body .table .action-buttons button{min-height:32px;padding-block:4px}:root body .table .actionbar.is-hand-exchange{min-height:0}:root body[data-bloom=true] .app-header,:root body[data-bloom=true] .app-main{--header:88px}}
@media(max-height:500px) and (min-width:480px){:root body[data-bloom=true] .app-header,:root body[data-bloom=true] .app-main{--header:64px}:root body .app-header{padding-inline:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}:root body .app-header .brand h1,html[lang=en] .app-header .brand h1{font-size:18px}:root body .app-header .brand-symbol{width:25px;height:28px}:root body .app-main{padding:2px max(8px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}:root body .table{padding:6px 10px;gap:6px}:root body .table .battle{padding:4px 6px;border-color:var(--line)}:root body .table .actionbar{padding:4px 6px;min-height:0}:root body .table .action-buttons button{min-height:30px;padding:4px 8px;font-size:12px}:root body .table .actionbar h2{font-size:12px}:root body .table .player-zone{gap:2px}:root body .table .topline{gap:8px}:root body .table .player-title,:root body .table .damage{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* A single reference location on both layouts. Controls never float in the play field. */
:root body .table .topline #hr-reference{position:relative;left:auto;top:auto;transform:none;order:2}
:root body .table .topline #hr-reference #hr-toggle{font-size:12px;min-height:32px;padding:6px 10px}
:root body .table .topline #hr-reference #hr-panel{position:fixed;top:calc(var(--header) + 42px);left:50%;right:auto;transform:translateX(-50%);width:min(380px,calc(100vw - 24px));max-height:calc(var(--app-height,100dvh) - var(--header) - 64px);overflow:auto;z-index:30}
:root body .table .wound-bract path{fill:var(--muted);opacity:.22}
:root body .table .wound-bract.filled path{fill:var(--accent);opacity:1}
:root body .table .pile-back{opacity:.14}
:root body .rule-page .rg-next{background:var(--accent)!important;color:var(--primary-ink)!important}
@media(min-width:1100px) and (min-height:801px){:root body .app-main:not(.is-replay){--handw:84px;--handh:118px;--handstep:48px;--handrank:32px}:root body .table .combat-sides{max-width:600px}}
@media(max-width:760px){:root body .settings-modal{width:100%;max-width:none;height:auto;max-height:calc(var(--app-height,100dvh) - 12px);inset:auto 0 var(--app-bottom,0px);margin:0;border-radius:18px 18px 0 0}:root body .settings-modal .modal-:root body{min-height:300px}:root body #rule-page.fg-mobile{max-width:none;width:100%;margin:0}}
@media(max-height:500px){:root body .settings-modal .modal-:root body{min-height:0}:root body .settings-modal{max-height:calc(var(--app-height,100dvh) - 16px)}}
.qb-dialog-fallback{display:flex!important;flex-direction:column;align-items:stretch;position:fixed!important;inset:16px!important;margin:auto!important;width:min(560px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(var(--app-height,100dvh) - 32px)!important;overflow:hidden;z-index:999;box-sizing:border-box;box-shadow:0 0 0 100vmax #111A1673!important}
:root body .rule-page.qb-dialog-fallback{width:min(1160px,calc(100vw - 32px))!important}
dialog:not([open]){display:none}

:root body .sz-bloom .fc-spine-bloom:not(.fc-gold-flower) path[fill="#D83B74"]{fill:var(--flower)}
:root body .sz-bloom .fc-gold-flower:not(.fc-faded-flower) path[fill="#D83B74"]{fill:var(--gold)}
:root body .sz-bloom .fc-gold-flower:not(.fc-faded-flower) path[fill="#DEB04A"]{fill:var(--sz-brand-red)}
:root body #bloom-result[data-winner=rival] .fc-victory-wordmark{--fc-red:var(--gold)}
:root body #bloom-result[data-winner=rival] .fc-city-bloom-wave{fill:var(--gold)}
:root body .rule-page #rg-navigation [data-rg-next]{background:var(--accent);color:var(--primary-ink)}
:root body .app-header{padding-top:calc(8px + env(safe-area-inset-top))}
:root body[data-bloom=true] .app-header{height:calc(var(--header) + env(safe-area-inset-top))}
:root body .app-main{height:calc(var(--app-height,100dvh) - var(--header) - env(safe-area-inset-top))}
.site-demo .sc-card{background:var(--card-face);color:var(--card-ink);border-color:var(--card-edge)}
.site-demo .sc-card.red{color:var(--card-red)}

:root body .table #hr-toggle i{font-size:14px}
:root body .sz-share-preview img{max-height:calc(var(--app-height,100dvh) * .58)}
:root body #result-modal .result-damage>div{background:var(--table);color:var(--muted)}
:root body #result-modal .result-damage .result-winner{background:var(--soft);color:var(--ink)}
:root body #result-modal .result-actions{background:var(--paper);border-color:var(--line)}
/* Preserve both wound rows and player status on short portrait windows. */
@media(max-width:760px) and (min-height:651px) and (max-height:720px){:root body .app-main:not(.is-replay){--handw:48px;--handh:68px;--handstep:30px;--handrank:25px;--woundw:29px;--woundh:40px;--woundrank:14px}}
@media(max-width:480px){:root body #action-panel:has(#next-game){grid-template-areas:'title title' 'preview buttons' 'error error';row-gap:3px}:root body #action-panel:has(#next-game) .upgrade-jump{display:inline-flex;align-items:center;white-space:nowrap;font-size:18px;color:var(--gold)}:root body #action-panel:has(#next-game) .preview-score small{display:none}}
@media(max-width:380px) and (max-height:620px){:root[lang=en] body .app-main:not(.is-replay){--handw:33px;--handh:44px;--handstep:25px;--handrank:20px;--woundw:23px;--woundh:30px;--woundrank:12px}}
:root[lang=en] body .table .wound-cards .card.pending{min-width:32px}

:root body #bloom-result .fc-victory-kicker{color:var(--accent)}
:root body #bloom-result[data-winner=rival] .fc-victory-wordmark{--fc-red:#886A35}
:root body #bloom-result[data-winner=rival] .fc-victory-kicker{color:#886A35}
:root[data-sz-theme=dark] body #bloom-result[data-winner=rival] .fc-victory-wordmark{--fc-red:#D5B478}
:root[data-sz-theme=dark] body #bloom-result[data-winner=rival] .fc-victory-kicker{color:#D5B478}

/* Static surface light: a little depth without continuous animation or blur. */
:root body .table{background:radial-gradient(ellipse at 12% 0%,#FFFFFFA8,transparent 48%),radial-gradient(ellipse at 100% 95%,color-mix(in srgb,var(--mint) 9%,transparent),transparent 55%),var(--table);box-shadow:inset 0 1px 0 #FFFFFFC0,0 8px 24px #133A2B08}
:root[data-sz-theme=dark] body .table{background:radial-gradient(ellipse at 8% 0%,color-mix(in srgb,var(--mint) 15%,transparent),transparent 45%),radial-gradient(ellipse at 100% 90%,#09181944,transparent 55%),var(--table);box-shadow:inset 0 1px 0 #C2E4DD1A,0 12px 30px #030C1425}
:root body .back{background:linear-gradient(135deg,#FFFFFF0F,transparent 55%),var(--back)}
:root body .primary{background:linear-gradient(160deg,#FFFFFF0C,transparent 60%),var(--accent);box-shadow:inset 0 1px 0 #FFFFFF28,0 3px 8px #9B235514}
:root body .table .card{box-shadow:0 2px 3px #15372E14,0 6px 12px #15372E08}
:root body .table .card.selected{box-shadow:0 3px 8px #8D29562A}
