:root {
  color-scheme: dark;
  --bg: #07100d;
  --bg-soft: #0b1713;
  --panel: #111f1a;
  --panel-2: #172a22;
  --ink: #f7f3e7;
  --muted: #adb9b2;
  --line: #2f493e;
  --line-strong: #567766;
  --gold: #f2d178;
  --gold-deep: #9d7d2e;
  --mint: #6fdda5;
  --cyan: #78d9e8;
  --red: #ff9a87;
  --violet: #b9a8ff;
  --focus: #fff2a8;
  --radius: 22px;
  --shadow: 0 24px 70px rgb(0 0 0 / .34);
  --speed: 560ms;
  --spring: cubic-bezier(.2, .85, .2, 1);
  font: 16px/1.6 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; overflow-x: hidden; color: var(--ink); background: radial-gradient(circle at 15% -8%, #1b4335 0, transparent 34rem), radial-gradient(circle at 90% 18%, rgb(117 86 25 / .12), transparent 28rem), var(--bg); }
button { min-width: 44px; min-height: 44px; padding: .62rem .9rem; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: #13231d; font: inherit; cursor: pointer; touch-action: manipulation; }
button:hover { border-color: var(--gold); }
button:disabled { cursor: not-allowed; opacity: .46; }
button:focus-visible, [tabindex="0"]:focus-visible, [tabindex="-1"]:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
input, select { width: 100%; min-height: 52px; padding: .72rem .8rem; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: #07100d; font: inherit; }
input:focus-visible, select:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-color: var(--mint); }
[hidden] { display: none !important; }
h1, h2, h3, p, dd { overflow-wrap: anywhere; }
h1 { margin: 0; font-size: clamp(2.15rem, 5vw, 5rem); line-height: 1.04; letter-spacing: -.045em; }
h1 span { color: var(--gold); }
h2 { margin: 0; font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.22; }
h3 { margin: 0; font-size: 1.08rem; }
p { margin: .65rem 0; }
ol, ul { padding: 0; }
table { border-collapse: collapse; }
caption.visually-hidden, .visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.skip-link { position: fixed; z-index: 200; top: 8px; left: 8px; padding: .7rem 1rem; color: #09100c; background: var(--focus); transform: translateY(-170%); }
.skip-link:focus { transform: translateY(0); }
.eyebrow { margin: 0 0 .38rem; color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.safe-copy { color: var(--muted); font-size: .84rem; }

.app-header { position: sticky; z-index: 70; top: 0; display: flex; align-items: center; justify-content: space-between; gap: .8rem; min-height: 64px; padding: .45rem clamp(.75rem, 3vw, 2rem); border-bottom: 1px solid rgb(255 255 255 / .09); background: rgb(6 14 11 / .94); backdrop-filter: blur(18px); }
.brand { display: grid; line-height: 1.1; }
.brand b { letter-spacing: .04em; }
.brand small { margin-top: .2rem; color: var(--gold); font-size: .61rem; letter-spacing: .13em; }
.global-nav { display: flex; gap: .3rem; margin-left: auto; }
.global-nav button { display: grid; grid-template-columns: 1.45rem auto; gap: .32rem; align-items: center; min-height: 48px; padding: .38rem .65rem; border-color: transparent; border-radius: 9px; color: var(--muted); background: transparent; }
.global-nav button span { display: grid; place-items: center; width: 1.45rem; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; color: var(--gold); font: 800 .67rem/1 Georgia, serif; }
.global-nav button b { font-size: .76rem; white-space: nowrap; }
.global-nav button:hover, .global-nav button[aria-current="page"] { border-color: #74663c; color: var(--ink); background: #14231d; }
.global-nav button[aria-current="page"] span { color: #10150f; background: var(--gold); border-color: var(--gold); }
.motion-control, .depth-control { display: flex; gap: 3px; padding: 3px; overflow-x: auto; border: 1px solid var(--line); border-radius: 999px; background: #08120e; }
.motion-control button, .depth-control button { flex: 0 0 auto; min-height: 44px; padding: .4rem .68rem; border: 0; border-radius: 999px; color: var(--muted); background: transparent; font-size: .78rem; white-space: nowrap; }
.motion-control button[aria-pressed="true"], .depth-control button[aria-pressed="true"] { color: #10140f; background: var(--gold); font-weight: 900; }

.journey-bar { position: sticky; z-index: 60; top: 64px; padding: .45rem clamp(.75rem, 3vw, 2rem) .35rem; border-bottom: 1px solid var(--line); background: rgb(9 19 15 / .96); backdrop-filter: blur(16px); }
.journey-now { display: flex; gap: .6rem; align-items: baseline; }
.journey-now span { color: var(--gold); font-size: .72rem; font-weight: 900; }
.journey-now b { font-size: .84rem; }
.journey-track { height: 3px; margin: .28rem 0 .35rem; overflow: hidden; border-radius: 99px; background: #1d3028; }
.journey-track i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--gold), var(--mint)); transform: scaleX(.071); transform-origin: left; transition: transform var(--speed) var(--spring); }
.journey-bar ol { display: flex; gap: .3rem; margin: 0; overflow-x: auto; list-style: none; scrollbar-width: thin; }
.journey-bar li { flex: 0 0 auto; padding: .14rem .42rem; border-radius: 999px; color: #75877e; font-size: .64rem; white-space: nowrap; }
.journey-bar li.is-done { color: #9fd8ba; }
.journey-bar li[aria-current="step"] { color: #0b110e; background: var(--gold); font-weight: 900; }

.prediction-memory { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: min(1500px, calc(100% - 1.6rem)); margin: .75rem auto 0; padding: .6rem .85rem; border: 1px solid #796b3c; border-radius: 16px; background: linear-gradient(100deg, #18281f, #101a16); box-shadow: 0 10px 30px rgb(0 0 0 / .22); }
.prediction-memory div { display: grid; }
.prediction-memory span { color: var(--muted); font-size: .7rem; }
.prediction-memory p { flex: 1; margin: 0; color: #e8ddbb; font-size: .86rem; text-align: center; }
.prediction-memory .memory-state { padding: .2rem .55rem; border-radius: 999px; color: #132017; background: var(--mint); font-weight: 900; white-space: nowrap; }

main { width: min(1560px, 100%); margin: 0 auto; padding: clamp(1rem, 3vw, 2.5rem); }
.stage { min-height: calc(100dvh - 190px); animation: stage-in var(--speed) var(--spring); }
.stage-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; padding: clamp(.5rem, 2vw, 1.4rem) 0 clamp(1.4rem, 3vw, 2.3rem); }
.stage-hero > div:first-child { max-width: 960px; }
.stage-hero p:not(.eyebrow) { max-width: 72ch; color: var(--muted); }
.compact-hero h1 { font-size: clamp(2rem, 4.1vw, 4rem); }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgb(18 32 26 / .98), rgb(10 20 16 / .98)); box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.25rem; }
.panel-heading > p { max-width: 62ch; margin: 0; color: var(--muted); font-size: .86rem; }
.primary { border: 0; color: #10150f; background: linear-gradient(135deg, #f6d980, #dfb94f); box-shadow: 0 14px 34px rgb(219 179 65 / .16); font-weight: 950; }
.primary:hover { background: #ffe29a; }
.forward-row { display: flex; justify-content: flex-end; padding: 1.25rem 0 0; }
.forward-row .primary { min-height: 58px; padding-inline: 1.25rem; }
.split-actions, .result-load-row { align-items: center; justify-content: space-between; gap: .75rem; }
.result-load-row p { margin: 0; color: var(--muted); }

.start-stage { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .7fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.door-stage { display: grid; place-items: start center; min-height: calc(100dvh - 64px); }
.door-shell { position: relative; isolation: isolate; width: min(680px, 100%); padding-block: clamp(1rem, 3vh, 2.6rem) clamp(2rem, 6vh, 5rem); text-align: center; }
.door-shell::before { position: absolute; z-index: -2; top: 0; left: 50%; width: min(640px, 100%); height: 440px; background: radial-gradient(circle at 50% 5%, rgb(242 209 120 / .13), transparent 58%), radial-gradient(circle at 50% 58%, rgb(54 118 84 / .18), transparent 45%); content: ""; transform: translateX(-50%); pointer-events: none; }
.door-light { display: grid; grid-template-rows: 74px 64px; justify-items: center; margin-bottom: .8rem; }
.door-light i { display: block; width: 1px; height: 100%; background: linear-gradient(180deg, transparent, #f2d178 38%, #f9e7ad); box-shadow: 0 0 20px rgb(242 209 120 / .36); }
.door-light span { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid #f2d178; border-radius: 50%; color: #f7f3e7; background: radial-gradient(circle, #1d3127, #09140f 72%); box-shadow: 0 0 0 7px rgb(242 209 120 / .035), 0 18px 42px rgb(0 0 0 / .4); font: 800 1.2rem/1 Georgia, "Yu Mincho", serif; }
.door-intro { display: grid; justify-items: center; }
.door-intro h1, .board-head h1 { font-family: Georgia, "Yu Mincho", serif; letter-spacing: -.02em; }
.door-intro .lead { margin: .8rem 0 .1rem; color: #f3e8c9; font: 700 clamp(1.05rem, 2.3vw, 1.34rem)/1.55 Georgia, "Yu Mincho", serif; }
.door-intro > p:last-child { margin: .15rem 0 0; color: #aebbb4; }
.door-panel { position: relative; display: grid; gap: .85rem; margin: 1.6rem 0 1rem; padding: clamp(1rem, 3vw, 1.65rem); border: 1px solid #786a42; background: linear-gradient(155deg, rgb(16 30 24 / .98), rgb(7 16 13 / .99)); box-shadow: 0 28px 74px rgb(0 0 0 / .34); text-align: left; }
.door-panel::before, .door-panel::after { position: absolute; top: -1px; width: 18px; height: 18px; border-top: 2px solid var(--gold); content: ""; }
.door-panel::before { left: -1px; border-left: 2px solid var(--gold); }
.door-panel::after { right: -1px; border-right: 2px solid var(--gold); }
.door-panel > span { color: var(--muted); font-size: .76rem; }
.door-panel > b { font-size: clamp(1.25rem, 3vw, 2rem); }
.door-panel > p { color: var(--muted); }
.door-step { display: flex; align-items: center; gap: .55rem; margin: .1rem 0 -.35rem; color: var(--ink) !important; font-size: .82rem; }
.door-step span { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; border: 1px solid #786a42; border-radius: 50%; color: var(--gold); font-size: .7rem; font-weight: 900; }
.door-access-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; align-items: end; }
.door-access-row > .primary { min-width: 166px; min-height: 56px; border-radius: 3px; color: #11150f; background: linear-gradient(135deg, #f5dc96, #c89f3f); box-shadow: 0 12px 34px rgb(214 174 73 / .13); }
.door-access-row > .primary:hover { background: #f8e5ad; }
.door-field { display: grid; gap: .4rem; }
.door-field > span:first-child { color: #dbe5df; font-weight: 800; }
.door-password-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.door-password-row button { min-width: 72px; border-radius: 6px; }
.door-hint, .door-validation { margin: 0; font-size: .83rem; }
.door-validation { min-height: 1.4em; color: var(--gold); }
.door-next { display: grid; gap: .75rem; margin: 1rem 0; padding: 1rem; border: 1px solid var(--line); background: rgb(10 23 18 / .72); text-align: left; }
.door-next h2 { font-family: Georgia, "Yu Mincho", serif; font-size: clamp(1.15rem, 3vw, 1.45rem); }
.door-next-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.door-member-link, .door-install-button { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; gap: .65rem; align-items: center; min-height: 70px; padding: .7rem .8rem; border: 1px solid #786a42; border-radius: 8px; color: var(--ink); background: #101f19; text-align: left; text-decoration: none; }
.door-member-link:hover, .door-install-button:hover { border-color: var(--gold); background: #172a21; }
.door-member-link > span:first-child, .door-install-button > span:first-child { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font: 800 .8rem/1 Georgia, "Yu Mincho", serif; }
.door-member-link span:nth-child(2), .door-install-button span:nth-child(2) { display: grid; min-width: 0; }
.door-member-link b, .door-install-button b { font-size: .9rem; }
.door-member-link small, .door-install-button small { color: var(--muted); font-size: .68rem; line-height: 1.4; }
.door-member-link i { color: var(--gold); font-style: normal; }
.door-install-button { width: 100%; font: inherit; }
.door-install-button[data-install-ready="true"] { color: #10150f; background: var(--gold); }
.door-install-button[data-install-ready="true"] small { color: #354036; }
.door-install-state { margin: 0; color: var(--muted); font-size: .74rem; }
.door-install-state[data-install-state="installed"] { color: var(--mint); }
.door-guide-links { display: flex; justify-content: center; gap: .6rem 1.25rem; flex-wrap: wrap; margin: 1rem 0; }
.door-guide-links a { min-height: 44px; padding: .55rem .2rem; color: #d8dfdb; text-underline-offset: .28rem; }
.door-footer { display: flex; justify-content: center; gap: 1.5rem; margin-top: .6rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.door-footer a { color: var(--muted); text-decoration-thickness: 1px; text-underline-offset: .3rem; }
.install-help-dialog { width: min(540px, calc(100% - 1.2rem)); }
.install-help-dialog h2 { font-family: Georgia, "Yu Mincho", serif; font-size: clamp(1.6rem, 6vw, 2.4rem); }
.install-help-dialog > p:not(.eyebrow) { color: var(--muted); }
.install-help-dialog ol { display: grid; gap: .55rem; margin: 1.25rem 0; counter-reset: install-step; list-style: none; }
.install-help-dialog li { position: relative; min-height: 52px; padding: .8rem .8rem .8rem 3.3rem; border: 1px solid var(--line); background: #101f19; counter-increment: install-step; }
.install-help-dialog li::before { position: absolute; top: .65rem; left: .7rem; display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); content: counter(install-step); font-weight: 900; }
body[data-current-stage="door"] .global-nav, body[data-current-stage="door"] .motion-control { display: none !important; }
.text-back { min-height: 44px; margin-bottom: .8rem; padding-inline: 0; border-color: transparent; color: var(--muted); background: transparent; }
.text-back:hover { color: var(--ink); background: transparent; }
.board-stage { max-width: 1320px; margin-inline: auto; }
.board-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .65rem .85rem; }
.board-head h1 { margin-block: .1rem .2rem; font-size: clamp(2rem, 5vw, 3.5rem); }
.board-head .text-back { margin-bottom: .25rem; }
.board-head .eyebrow { margin-bottom: .1rem; }
.board-head p { max-width: 65ch; color: var(--muted); }
.board-source-badge { display: inline-flex; padding: .25rem .55rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .72rem; }
.board-head aside { display: grid; min-width: 250px; padding: .7rem .85rem; border: 1px solid #e75e38; text-align: right; }
.board-head aside span, .board-head aside small { color: var(--muted); font-size: .72rem; }
.board-head aside b { color: #f36a40; font: 900 1.55rem/1.2 Georgia, serif; }
.board-head aside button { margin-top: .65rem; border-color: #e75e38; color: #10150f; background: #f36a40; font-weight: 900; }
.board-progress { display: grid; grid-template-columns: minmax(185px, .42fr) minmax(190px, .55fr) 1fr; gap: .65rem; align-items: center; margin-bottom: .55rem; padding: .65rem .8rem; border: 1px solid var(--line); background: #0c1813; }
.board-progress h2, .board-control-head h2 { margin: .1rem 0; font-size: 1.15rem; }
.board-progress > div:first-child p:last-child { margin: .2rem 0 0; color: var(--muted); font-size: .76rem; }
.board-progress-meter { display: grid; grid-template-columns: 1fr auto; gap: .25rem .6rem; align-items: center; padding: .45rem .6rem; border: 1px solid var(--line); background: #101f19; }
.board-progress-meter > div { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 999px; background: #22372e; }
.board-progress-meter > div span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #f36a40, var(--gold)); transition: width 160ms ease-out; }
.board-progress-meter p { margin: 0; color: var(--muted); font-size: .74rem; }
.board-progress-meter p b { color: var(--ink); font-size: 1rem; }
.board-progress-meter button { min-height: 44px; padding: .3rem .55rem; border-color: #f36a40; color: #f58a68; font-size: .74rem; font-weight: 900; }
.board-progress dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: 0; }
.board-progress dl div { padding: .45rem .65rem; border-left: 3px solid var(--line-strong); background: #101f19; }
.board-progress dt { color: var(--muted); font-size: .72rem; }
.board-progress dd { margin: 0; color: var(--gold); font: 900 1.45rem/1.2 Georgia, serif; }
.board-command-summary { display: grid; grid-template-columns: minmax(180px, .6fr) minmax(220px, .9fr) minmax(280px, 1fr); gap: .65rem; align-items: center; margin-bottom: .65rem; padding: .7rem .8rem; border: 1px solid var(--line); background: linear-gradient(110deg, #0b1712, #102119); }
.board-command-summary h2 { margin: .08rem 0; font-size: 1.12rem; }
.board-command-summary > div:first-child p:last-child { margin: .15rem 0 0; color: var(--muted); font-size: .74rem; }
.board-command-summary dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin: 0; }
.board-command-summary dl div { padding: .5rem .6rem; border: 1px solid #2f4a3d; background: #0d1a15; }
.board-command-summary dt { color: var(--muted); font-size: .68rem; }
.board-command-summary dd { margin: 0; color: var(--gold); font: 900 1.35rem/1.2 Georgia, serif; }
.board-race-lane { margin-bottom: .55rem; padding: .7rem .8rem; border: 1px solid var(--line); background: linear-gradient(100deg, #0b1712, #101c16); }
.board-race-lane > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; }
.board-race-lane h2 { margin: .08rem 0; font-size: 1.15rem; }
.board-race-lane > header > p { display: grid; max-width: 52ch; margin: 0; color: var(--muted); font-size: .75rem; }
.board-race-lane > header > p b { margin-top: .12rem; color: var(--gold); }
.board-lane-controls { display: none; }
.board-race-lane-scroll { overflow: hidden; padding: .4rem .2rem .25rem; scrollbar-width: none; }
.board-race-lane-scroll::-webkit-scrollbar { display: none; }
.board-race-lane ol { position: relative; display: grid; grid-template-columns: repeat(12, minmax(76px, 1fr)); min-width: 930px; margin: 0; list-style: none; }
.board-race-lane ol::before { position: absolute; top: 36px; right: 3.5%; left: 3.5%; height: 2px; background: #365246; content: ""; }
.board-race-lane li { position: relative; z-index: 1; }
.board-race-lane button { display: grid; justify-items: center; width: 100%; min-height: 76px; padding: .1rem .2rem; border: 0; background: transparent; }
.board-race-lane time, .board-race-lane small { color: var(--muted); font-size: .66rem; }
.board-race-lane i { display: block; width: 14px; height: 14px; margin: .2rem 0; border: 3px solid #0b1712; border-radius: 50%; outline: 2px solid #77887f; background: #77887f; }
.board-race-lane b { font-size: .72rem; white-space: nowrap; }
.board-race-lane li.is-predicted i { outline-color: #64ce89; background: #64ce89; }
.board-race-lane li.is-skipped i { outline-color: var(--gold); background: var(--gold); }
.board-race-lane li.is-next button { color: #10150f; border-radius: 8px; background: var(--gold); }
.board-race-lane li.is-next time, .board-race-lane li.is-next small { color: #263027; }
.board-race-lane li.is-next i { border-color: var(--gold); outline-color: #10150f; background: #f36a40; }
.board-lane-legend { display: flex; flex-wrap: wrap; gap: .65rem; margin: .45rem 0 0; color: var(--muted); font-size: .7rem; }
.board-lane-legend span::before, .board-lane-legend b::before { display: inline-block; width: 8px; height: 8px; margin-right: .3rem; border-radius: 50%; background: #77887f; content: ""; }
.board-lane-legend .is-predicted::before { background: #64ce89; }.board-lane-legend .is-skipped::before { background: var(--gold); }.board-lane-legend b::before { background: #f36a40; }
.board-strategy { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: .8rem; align-items: center; margin-bottom: .55rem; padding: .7rem .8rem; border: 1px solid #3a604f; background: linear-gradient(110deg, #0a1712, #10251c); }
.board-strategy header h2 { margin: .08rem 0; font-size: 1.15rem; }
.board-strategy header p:last-child { margin: .2rem 0 0; color: var(--muted); font-size: .72rem; }
.board-strategy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
.board-strategy-grid article { display: grid; gap: .18rem; min-height: 82px; padding: .6rem .7rem; border: 1px solid var(--line); background: #101f19; }
.board-strategy-grid article.is-now { border-color: #f36a40; background: linear-gradient(145deg, rgb(243 106 64 / .14), #101f19); }
.board-strategy-grid span { color: var(--muted); font-size: .68rem; font-weight: 900; }
.board-strategy-grid b { color: var(--gold); font-size: .88rem; }
.board-strategy-grid small { color: var(--muted); font-size: .66rem; line-height: 1.45; }
.board-control-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem .85rem; margin-bottom: .55rem; padding: .65rem .8rem .15rem; border: 1px solid var(--line); background: #0a1511; }
.board-control-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; }
.board-control-head, .board-result-summary { grid-column: 1 / -1; }
.board-control-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem; }
.board-control-head button { flex: 0 0 auto; }
.board-filter-body { display: contents; }
#toggleBoardFilters { display: none; }
.board-tools { display: flex; align-items: center; gap: .35rem; margin-bottom: 0; overflow-x: auto; }
.board-tools > span { flex: 0 0 auto; color: var(--muted); font-size: .74rem; font-weight: 800; }
.board-filter-options { display: contents; }
.board-tools button span { margin-left: .2rem; opacity: .72; font-variant-numeric: tabular-nums; }
.board-tools button[aria-pressed="true"] { color: #10150f; background: #f36a40; font-weight: 900; }
.board-tools button, .board-sort button { flex: 0 0 auto; white-space: nowrap; }
.board-sort { display: flex; align-items: center; gap: .35rem; margin: 0; overflow-x: auto; }
.board-sort > span { flex: 0 0 auto; color: var(--muted); font-size: .74rem; font-weight: 800; }
.board-sort button { flex: 0 0 auto; min-height: 44px; padding: .42rem .72rem; }
.board-sort button[aria-pressed="true"] { border-color: var(--gold); color: #10150f; background: var(--gold); font-weight: 900; }
.board-result-summary { margin: 0; color: var(--muted); font-size: .78rem; font-weight: 800; }
.board-panel { border: 1px solid var(--line); background: #0b1511; }
.board-list-toolbar { position: sticky; top: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: .7rem; min-height: 58px; padding: .35rem .75rem; border-bottom: 1px solid var(--line); background: #0b1511; }
.board-list-toolbar > div:first-child { display: grid; gap: .15rem; }
.board-list-toolbar > div:first-child small { color: var(--muted); font-size: .68rem; }
.board-view-switch { display: inline-flex; align-items: center; gap: .3rem; }
.board-view-switch > span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.board-view-switch button { min-height: 44px; padding: .3rem .6rem; white-space: nowrap; }
.board-view-switch button[aria-pressed="true"] { border-color: var(--gold); color: #10150f; background: var(--gold); font-weight: 900; }
.board-table-head { display: grid; grid-template-columns: 5rem minmax(14rem, 1.6fr) minmax(7rem, .75fr) minmax(7rem, .7fr) minmax(7rem, .7fr); gap: .8rem; align-items: center; }
.board-table-head { position: sticky; top: 58px; z-index: 3; padding: .65rem 1rem; color: var(--muted); border-bottom: 1px solid var(--line); background: #0b1511; font-size: .7rem; }
.day-board-rows { margin: 0; list-style: none; }
.day-board-row { border-bottom: 1px solid #1e332a; }
.day-board-row:last-child { border-bottom: 0; }
.day-board-row.is-ready { border-left: 3px solid #f36a40; }
.day-board-row.is-started { opacity: .72; }
.day-board-row-button { display: block; width: 100%; min-height: 68px; padding: 0; border: 0; border-radius: 0; text-align: left; background: transparent; }
.day-board-row-button:hover, .day-board-row-button:focus-visible { background: #15251e; }
.board-row-core { display: grid; grid-template-columns: 5rem minmax(14rem, 1.6fr) minmax(7rem, .75fr) minmax(7rem, .7fr) minmax(7rem, .7fr); gap: .8rem; align-items: center; width: 100%; min-height: 68px; padding: .55rem 1rem; }
.day-board-row time { font-weight: 900; }
.day-board-row span { min-width: 0; }
.day-board-row span b, .day-board-row span small { display: block; }
.day-board-row span small { color: var(--muted); font-size: .75rem; }
.board-state { justify-self: start; padding: .28rem .52rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: .75rem; font-weight: 900; }
.board-state.is-unpredicted { border-color: #7f8f86; }
.board-state.is-predicted { border-color: #4da870; color: #8be5a8; }
.board-state.is-skipped { border-color: #9d8150; color: var(--gold); }
/* 第8回の直し（8月27日）＝全頭データ未接続のレースを「予想済み」に見せないための独立した見た目。 */
.board-state.is-unconnected { border-color: #8a8f99; color: #c9ced8; background: rgba(201, 206, 216, .10); }
/* 第8回の直し（8月27日）＝出馬表の見出しに開催日を並べる（日・会場・R番号を1か所で確かめる）。 */
.race-context-day { flex: 0 0 auto; color: var(--muted, #9aa3ad); font-size: .72rem; font-weight: 700; white-space: nowrap; }
.board-race-main b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.board-detail-card { display: none; }
.board-panel[data-board-view="detail"] .board-table-head { display: none; }
.board-panel[data-board-view="detail"] .day-board-row-button { padding: .7rem; }
.board-panel[data-board-view="detail"] .board-row-core { min-height: 58px; padding: .15rem .3rem .65rem; border-bottom: 1px solid #21382e; }
.board-panel[data-board-view="overview"] .board-race-main small { display: none; }
.board-panel[data-board-view="detail"] .board-detail-card { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .55rem; padding-top: .7rem; }
.board-detail-position { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; }
.board-detail-position > span, .board-detail-reading, .board-detail-flow { display: grid; align-content: start; gap: .16rem; min-height: 70px; padding: .5rem .6rem; border: 1px solid var(--line); background: #101f19; }
.board-detail-position i, .board-detail-reading i, .board-detail-flow i { color: var(--muted); font-style: normal; font-size: .65rem; }
.board-detail-position b, .board-detail-reading b, .board-detail-flow b { font-size: .78rem; }
.board-detail-reading small, .board-detail-flow small { color: var(--muted); font-size: .68rem; }
.board-detail-flow { border-color: #365b4a; background: #0d2018; }
.board-signals b { color: var(--gold); }
.board-owner-marks { justify-self: start; padding: .25rem .5rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-weight: 900; }
.board-owner-marks.is-with { border-color: #9e82d4; color: var(--violet); }
.board-signals i, .board-owner-marks i { display: none; font-style: normal; }
.board-row-action { display: grid; grid-template-columns: 1fr auto; align-items: center; justify-self: stretch; min-height: 44px; padding: .3rem .45rem; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); }
.board-row-action small { grid-column: 1; grid-row: 1; }
.board-row-action b { grid-column: 1; grid-row: 2; font-size: .8rem; }
.board-row-action i { grid-column: 2; grid-row: 1 / span 2; color: var(--gold); font-style: normal; font-size: 1.25rem; }
.board-empty-state { padding: 1.4rem; text-align: center; }
.board-empty-state p { color: var(--muted); }
.board-mobile-dock { display: none; }
.day-board-race-card { display: grid; gap: 0; }
.board-race-main em { display: block; margin-top: .15rem; color: #8eb5a2; font-size: .68rem; font-style: normal; }
.board-card-actions { display: flex; justify-content: flex-end; gap: .45rem; padding: 0 1rem .7rem; }
.board-card-actions button { min-height: 44px; }
.board-card-actions > span { align-self: center; color: var(--muted); font-size: .68rem; }
.day-board-race-card > .board-detail-card { margin: 0 .8rem .8rem; padding-top: .1rem; }
.day-board-row.is-expanded { border-left-color: var(--gold); background: linear-gradient(100deg, rgb(242 209 120 / .04), transparent); }
.day-board-row.is-expanded .board-detail-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.board-scenario-flow, .board-detail-source { display: grid; align-content: start; gap: .2rem; min-height: 102px; padding: .65rem .72rem; border: 1px solid #b28f50; background: linear-gradient(145deg, rgb(242 209 120 / .09), #101f19); }
.board-scenario-flow.is-alt { border-color: #5c658c; background: #141a22; }
.board-detail-source { border-color: #416958; background: #0b1b15; }
.board-scenario-flow i, .board-detail-source i { color: var(--muted); font-style: normal; font-size: .66rem; font-weight: 900; }
.board-scenario-flow b, .board-detail-source b { color: var(--ink); font-size: .8rem; line-height: 1.55; }
.board-scenario-flow small, .board-detail-source small { color: var(--muted); font-size: .67rem; line-height: 1.45; }
.race-context-nav { display: grid; grid-template-columns: auto auto minmax(8rem, 1fr) auto auto; align-items: center; gap: .45rem; padding: .45rem 0 .65rem; border-bottom: 1px solid var(--line); }
.race-context-nav strong { justify-self: center; color: var(--gold); font-size: 1rem; }
.race-context-nav button { min-height: 44px; padding: .4rem .65rem; }
.race-workbench { position: sticky; z-index: 35; top: 0; display: grid; grid-template-columns: minmax(12rem, 1fr) repeat(3, auto); gap: .45rem; margin: .55rem 0; padding: .45rem; border: 1px solid #395848; border-radius: 12px; background: rgb(8 20 15 / .97); box-shadow: 0 12px 28px rgb(0 0 0 / .22); }
.race-view-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; }
.race-view-switch button[aria-pressed="true"], #openGokurakuMode[aria-pressed="true"] { border-color: var(--gold); color: #10150f; background: var(--gold); font-weight: 900; }
.race-unavailable { max-width: 900px; margin: clamp(2rem, 8vh, 6rem) auto; padding: clamp(1.2rem, 4vw, 2.5rem); border: 1px solid #8f5b45; background: #171512; }
.race-unavailable p { color: var(--muted); }
.race-unavailable dl { display: grid; gap: .45rem; margin: 1.2rem 0; }
.race-unavailable dl div { display: grid; grid-template-columns: 7rem 1fr; padding: .55rem 0; border-bottom: 1px solid var(--line); }
.race-unavailable dt { color: var(--muted); }
.race-unavailable dd { margin: 0; }
.runtime-state { margin: 1rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: #0d1c17; }
.runtime-state h2 { margin: .2rem 0 .45rem; }
.runtime-state p { margin: 0 0 .75rem; color: var(--muted); }
.runtime-state-warning { border-color: #8d7430; background: #211d0d; }
#journeyActionError { margin-inline: clamp(.75rem, 4vw, 3rem); }
.day-board-empty { padding: 1.25rem; color: var(--muted); border: 1px dashed var(--line); border-radius: 12px; }
#stage-racecard.is-unavailable > :not(.race-context-nav):not(.race-unavailable) { display: none; }
.hero-copy { max-width: 930px; }
.lead { max-width: 66ch; margin: 1.35rem 0 1.8rem; color: #d0d8d2; font-size: clamp(1rem, 1.4vw, 1.22rem); }
.hero-button { display: grid; justify-items: start; min-height: 68px; padding: .8rem 1.25rem; }
.hero-button small { font-size: .73rem; opacity: .72; }
.gokuraku-entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-bottom: 1rem; }
.gokuraku-entry-grid button { display: grid; justify-items: start; min-height: 74px; padding: .8rem 1rem; text-align: left; }
.gokuraku-entry-grid b { font-size: 1rem; }
.gokuraku-entry-grid small { margin-top: .2rem; color: var(--muted); font-size: .72rem; }
.gokushiki-library { margin: 1rem 0; padding: 1rem; border: 1px solid var(--gold-dim); border-radius: 16px; background: linear-gradient(145deg, rgb(242 209 120 / .08), rgb(8 17 13 / .96)); }
.gokushiki-library h2 { margin: .3rem 0 .8rem; font-size: 1.35rem; }
.gokushiki-card { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .8rem; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.gokushiki-card div { display: grid; gap: .2rem; }
.gokushiki-card span, .gokushiki-card small { color: var(--muted); font-size: .74rem; }
.gokushiki-card.is-draft { margin-top: .65rem; border-style: dashed; }
.gokushiki-create-actions { display: grid; grid-template-columns: 1fr; gap: .55rem; margin-top: .65rem; }
.gokushiki-builder-progress { display: grid; grid-template-columns: auto 1fr; gap: .65rem; align-items: center; margin: 1rem 0; }
.gokushiki-builder-progress i { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: #24342c; }
.gokushiki-builder-progress b { display: block; width: 0; height: 100%; background: var(--gold); transition: width .2s ease; }
.gokushiki-builder-question h3 { font-size: clamp(1.15rem, 2.5vw, 1.65rem); }
.gokushiki-builder-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.gokushiki-builder-options button { min-height: 64px; text-align: left; }
.gokushiki-builder-options button[aria-pressed="true"] { border-color: var(--gold); color: var(--gold); background: rgb(242 209 120 / .1); }
.gokushiki-builder-review label { display: grid; gap: .4rem; }
.gokushiki-builder-review input { min-height: 48px; padding: .75rem; border: 1px solid var(--line); border-radius: 10px; color: var(--cream); background: #08140f; font: inherit; }
.gokushiki-builder-review dl { max-height: 42dvh; overflow: auto; padding: .8rem; border: 1px solid var(--line); border-radius: 12px; }
.gokushiki-studio-dialog { width: min(1040px, calc(100% - 1rem)); }
.gokushiki-studio-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.gokushiki-studio-heading h2 { margin: .2rem 0; }
.gokushiki-studio-heading p { margin: .35rem 0 0; color: var(--muted); }
.gokushiki-studio-heading > strong { flex: 0 0 auto; padding: .45rem .7rem; border: 1px solid var(--gold-dim); border-radius: 999px; color: var(--gold); }
.gokushiki-create-actions button { display: flex; justify-content: space-between; align-items: center; min-height: 64px; text-align: left; }
.gokushiki-create-actions button small { color: var(--muted); }
#createGokushiki small { color: #34351e; opacity: .92; }
.gokushiki-selected-preview { margin: 1rem 0; padding: 1rem; border: 1px solid var(--gold-dim); border-radius: 16px; background: linear-gradient(135deg, rgb(242 209 120 / .11), rgb(8 20 15 / .92)); }
.gokushiki-selected-preview > span, .gokushiki-live-preview > span { color: var(--mint); font-size: .72rem; font-weight: 900; letter-spacing: .1em; }
.gokushiki-selected-preview h3, .gokushiki-live-preview h3 { margin: .3rem 0 .75rem; }
.gokushiki-selected-preview dl, .gokushiki-live-preview dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.gokushiki-selected-preview dl div, .gokushiki-live-preview dl div { padding: .65rem; border: 1px solid var(--line); border-radius: 10px; background: rgb(3 15 10 / .68); }
.gokushiki-selected-preview dt, .gokushiki-live-preview dt { color: var(--muted); font-size: .72rem; }
.gokushiki-selected-preview dd, .gokushiki-live-preview dd { margin-top: .2rem; color: var(--cream); font-weight: 800; }
.gokushiki-saved-section { margin-top: 1rem; }
.gokushiki-saved-section > h3 { margin-bottom: .3rem; }
.gokushiki-draft-list { display: grid; gap: .55rem; }
.gokushiki-saved-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: .8rem; border: 1px solid var(--line); border-radius: 13px; background: #09140f; }
.gokushiki-saved-card.is-selected { border-color: var(--gold); box-shadow: inset 4px 0 var(--gold); }
.gokushiki-saved-card > div:first-child { display: grid; gap: .18rem; }
.gokushiki-saved-card span, .gokushiki-saved-card small { color: var(--muted); font-size: .72rem; }
.gokushiki-saved-card b { font-size: 1rem; }
.gokushiki-saved-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.gokushiki-saved-actions button { min-height: 44px; padding: .5rem .65rem; }
.gokushiki-connected-sample { margin-top: 1rem; padding: .75rem; border: 1px dashed var(--line); border-radius: 12px; }
.gokushiki-connected-sample summary { cursor: pointer; font-weight: 800; }
.gokushiki-connected-sample .gokushiki-card { margin-top: .7rem; }
.gokushiki-builder-views { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 1rem 0 .7rem; padding: .35rem; border: 1px solid var(--line); border-radius: 16px; background: #07120d; }
.gokushiki-builder-views button { display: grid; gap: .18rem; min-height: 62px; padding: .65rem; text-align: left; border-color: transparent; }
.gokushiki-builder-views button b { font-size: .9rem; }
.gokushiki-builder-views button small { color: var(--muted); font-size: .68rem; }
.gokushiki-builder-views button[aria-pressed="true"] { border-color: var(--gold); color: var(--gold); background: linear-gradient(135deg, rgb(242 209 120 / .15), rgb(112 230 171 / .05)); box-shadow: inset 0 0 0 1px rgb(242 209 120 / .12); }
.gokushiki-quest-path { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .3rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.gokushiki-quest-path li { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: .35rem; align-items: center; min-height: 38px; color: var(--muted); font-size: .68rem; font-weight: 850; }
.gokushiki-quest-path li::after { position: absolute; right: -.22rem; width: .38rem; height: 1px; content: ""; background: var(--line); }
.gokushiki-quest-path li:last-child::after { display: none; }
.gokushiki-quest-path li b { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: #091711; }
.gokushiki-quest-path li.is-complete { color: var(--cream); }
.gokushiki-quest-path li.is-complete b { border-color: var(--mint); color: #04110b; background: var(--mint); }
.gokushiki-builder-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 1rem; align-items: start; }
.gokushiki-builder-main { min-width: 0; }
.gokushiki-builder-question > p { margin-top: -.35rem; color: var(--muted); }
.gokushiki-live-preview { position: sticky; top: 0; padding: .9rem; border: 1px solid var(--line); border-radius: 14px; background: #08140f; }
.gokushiki-live-preview > p { margin-bottom: 0; color: var(--muted); }
.gokushiki-role-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .7rem; }
.gokushiki-role-buttons button { display: grid; gap: .2rem; min-height: 68px; padding: .7rem; text-align: left; }
.gokushiki-role-buttons button b { color: var(--cream); font-size: .82rem; }
.gokushiki-role-buttons button small { color: var(--muted); font-size: .67rem; line-height: 1.35; }
.gokushiki-role-buttons button[aria-pressed="true"] { border-color: var(--gold); background: linear-gradient(135deg, rgb(242 209 120 / .14), transparent); box-shadow: inset 3px 0 var(--gold); }
.gokushiki-core-panel { margin: 1rem 0; overflow: hidden; border: 1px solid var(--gold-dim); border-radius: 16px; background: #091711; }
.gokushiki-core-panel > header { display: flex; justify-content: space-between; gap: .75rem; align-items: center; padding: .8rem; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgb(112 230 171 / .09), transparent); }
.gokushiki-core-panel > header span, .gokushiki-equipment-panel > header span { color: var(--mint); font-size: .65rem; font-weight: 900; letter-spacing: .08em; }
.gokushiki-core-panel h3, .gokushiki-equipment-panel h3 { margin: .15rem 0 0; }
.gokushiki-core-panel > header strong { color: var(--gold); }
.gokushiki-core-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.gokushiki-core-stat { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; align-items: center; min-height: 72px; padding: .65rem; overflow: hidden; background: linear-gradient(90deg, rgb(112 230 171 / .08) var(--gokushiki-core-level), #08140f var(--gokushiki-core-level)); }
.gokushiki-core-stat > div:first-child { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: .45rem; align-items: center; }
.gokushiki-core-stat > div:first-child i { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--gold-dim); border-radius: 50%; color: var(--gold); font-style: normal; font-weight: 950; }
.gokushiki-core-stat > div:first-child span, .gokushiki-core-stat > div:first-child strong { grid-column: 2; }
.gokushiki-core-stat > div:first-child span { color: var(--muted); font-size: .68rem; }
.gokushiki-core-stat > div:first-child strong { font-size: .82rem; }
.gokushiki-core-stat > div:last-child { display: flex; gap: .3rem; }
.gokushiki-core-stat button { width: 44px; min-height: 44px; padding: 0; color: var(--gold); font-size: 1.05rem; }
.gokushiki-equipment-panel { margin: 1rem 0; padding: .85rem; border: 1px solid var(--gold-dim); border-radius: 16px; background: radial-gradient(circle at 90% 0, rgb(242 209 120 / .1), transparent 16rem), #091711; }
.gokushiki-equipment-panel > header { display: flex; justify-content: space-between; gap: .8rem; align-items: end; }
.gokushiki-equipment-panel > header p { max-width: 15rem; margin: 0; color: var(--muted); font-size: .7rem; text-align: right; }
.gokushiki-equipment-slots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin-top: .75rem; }
.gokushiki-equipment-slots article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: .5rem; align-items: center; min-height: 64px; padding: .55rem; border: 1px solid var(--line); background: #07130e; }
.gokushiki-equipment-slots article > i { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--gold-dim); border-radius: 9px; color: var(--gold); font-style: normal; font-weight: 950; }
.gokushiki-equipment-slots article span, .gokushiki-equipment-slots article b { display: block; overflow-wrap: anywhere; }
.gokushiki-equipment-slots article span { color: var(--muted); font-size: .62rem; }
.gokushiki-equipment-slots article b { margin-top: .12rem; font-size: .7rem; line-height: 1.35; }
.gokushiki-rule-controls { display: grid; gap: .7rem; }
.gokushiki-rule-controls > section { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #091711; }
.gokushiki-rule-controls > section > header { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: .6rem; align-items: center; padding: .7rem; }
.gokushiki-rule-controls > section > header > i { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--gold-dim); border-radius: 50%; color: var(--gold); font-style: normal; font-weight: 950; }
.gokushiki-rule-controls h3, .gokushiki-rule-controls p { margin: 0; }
.gokushiki-rule-controls h3 { font-size: .9rem; }
.gokushiki-rule-controls p { margin-top: .12rem; color: var(--muted); font-size: .68rem; }
.gokushiki-rule-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border-top: 1px solid var(--line); background: var(--line); }
.gokushiki-rule-buttons button { min-height: 48px; padding: .55rem; border: 0; border-radius: 0; background: #07130e; text-align: left; font-size: .72rem; }
.gokushiki-rule-buttons button[aria-pressed="true"] { color: #06130d; background: var(--gold); font-weight: 950; }
.gokushiki-rule-summary { padding: .85rem; border-top: 1px solid var(--line); }
.gokushiki-rule-summary > h3 { margin: 0 0 .65rem; font-size: .95rem; }
.gokushiki-rule-summary > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.gokushiki-rule-summary article { display: grid; gap: .15rem; padding: .55rem; border: 1px solid var(--line); background: #07130e; }
.gokushiki-rule-summary span { color: var(--muted); font-size: .63rem; }
.gokushiki-rule-summary b { font-size: .72rem; }
.gokushiki-growth-state { display: grid; grid-template-columns: 1fr auto; gap: .35rem .6rem; align-items: center; margin: .75rem 0; padding: .65rem; border: 1px solid var(--line); border-radius: 12px; background: #07130e; }
.gokushiki-growth-state h4 { margin: 0; color: var(--muted); font-size: .72rem; }
.gokushiki-growth-state > strong { color: var(--gold); }
.gokushiki-growth-state > i { grid-column: 1 / -1; display: block; height: 8px; overflow: hidden; border-radius: 999px; background: #20342a; }
.gokushiki-growth-state > i b { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--mint), var(--gold)); transition: width .2s ease; }
.gokushiki-growth-state small { grid-column: 1 / -1; color: var(--muted); font-size: .64rem; }
#runGokushikiTrial { width: 100%; min-height: 48px; margin-top: .65rem; border-color: var(--cyan); color: var(--cyan); font-weight: 900; }
.gokushiki-preset-panel { margin: 1rem 0; padding: .85rem; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(110deg, rgb(242 209 120 / .08), transparent); }
.gokushiki-preset-panel h3, .gokushiki-preset-panel p { margin: 0; }
.gokushiki-preset-panel p { color: var(--muted); font-size: .78rem; }
.gokushiki-preset-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .45rem; margin-top: .65rem; }
.gokushiki-preset-buttons button { min-height: 50px; padding: .55rem; font-weight: 850; }
.gokushiki-status-board { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #091711; }
.gokushiki-status-board > header { display: flex; justify-content: space-between; gap: .75rem; align-items: center; padding: .85rem; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgb(112 230 171 / .08), transparent); }
.gokushiki-status-board > header span { color: var(--mint); font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.gokushiki-status-board > header h3 { margin: .15rem 0 0; }
.gokushiki-status-board > header strong { color: var(--gold); font-size: 1.15rem; }
.gokushiki-stat-controls { display: grid; gap: 0; }
.gokushiki-stat-group { display: grid; border-bottom: 1px solid var(--gold-dim); }
.gokushiki-stat-group > header { display: flex; justify-content: space-between; gap: .75rem; align-items: end; padding: .8rem; background: linear-gradient(90deg, rgb(242 209 120 / .12), rgb(112 230 171 / .04)); }
.gokushiki-stat-group > header h4 { margin: 0; color: var(--gold); font-size: 1rem; }
.gokushiki-stat-group > header p { margin: 0; color: var(--muted); font-size: .72rem; text-align: right; }
.gokushiki-stat-row { display: grid; grid-template-columns: minmax(165px, .8fr) minmax(230px, 1.2fr); gap: .75rem; align-items: center; min-height: 76px; padding: .65rem .8rem; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgb(112 230 171 / .055) var(--gokushiki-level), transparent var(--gokushiki-level)); }
.gokushiki-stat-row label { display: flex; gap: .65rem; align-items: center; cursor: pointer; }
.gokushiki-stat-row label i { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border: 1px solid var(--gold-dim); border-radius: 50%; color: var(--gold); background: #102219; font-style: normal; font-weight: 950; }
.gokushiki-stat-row label span { display: grid; gap: .1rem; min-width: 0; }
.gokushiki-stat-row label small { color: var(--muted); font-size: .7rem; line-height: 1.35; }
.gokushiki-stat-adjuster { display: grid; grid-template-columns: 44px minmax(90px, 1fr) minmax(92px, auto) 44px; gap: .4rem; align-items: center; }
.gokushiki-stat-adjuster button { min-height: 44px; padding: 0; border-color: var(--gold-dim); color: var(--gold); font-size: 1.2rem; }
.gokushiki-stat-adjuster output { color: var(--cream); text-align: center; font-size: .72rem; font-weight: 950; white-space: nowrap; }
.gokushiki-stat-adjuster input[type="range"] { width: 100%; min-height: 44px; margin: 0; accent-color: var(--mint); cursor: ew-resize; }
.gokushiki-advanced-panel { border-bottom: 1px solid var(--line); }
.gokushiki-advanced-panel summary { min-height: 52px; padding: .85rem; cursor: pointer; color: var(--gold); font-weight: 900; }
.gokushiki-advanced-panel summary small { color: var(--muted); }
.gokushiki-guard-panel { display: grid; gap: .8rem; padding: .85rem; }
.gokushiki-guard-panel h3 { margin: 0; }
.gokushiki-guard-panel > div { display: grid; grid-template-columns: 110px 1fr; gap: .6rem; align-items: center; }
.gokushiki-guard-panel > div > span { color: var(--muted); font-size: .78rem; font-weight: 800; }
.gokushiki-choice-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
.gokushiki-choice-buttons button { min-height: 44px; padding: .35rem; font-size: .72rem; }
.gokushiki-choice-buttons button[aria-pressed="true"] { border-color: var(--gold); color: #08140f; background: var(--gold); font-weight: 950; }
.gokushiki-scenario-lab { padding: .9rem; border-top: 1px solid var(--line); background: linear-gradient(135deg, rgb(242 209 120 / .07), transparent); }
.gokushiki-scenario-lab > header { display: flex; gap: .8rem; align-items: start; justify-content: space-between; }
.gokushiki-scenario-lab > header span, .gokushiki-trial header span { color: var(--mint); font-size: .65rem; font-weight: 950; letter-spacing: .08em; }
.gokushiki-scenario-lab h3, .gokushiki-scenario-lab p { margin: 0; }
.gokushiki-scenario-lab > header p, #gokushikiScenarioSummary { color: var(--muted); font-size: .74rem; line-height: 1.55; }
.gokushiki-scenario-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin-top: .7rem; }
.gokushiki-scenario-buttons button { display: grid; gap: .25rem; min-height: 76px; padding: .65rem; text-align: left; }
.gokushiki-scenario-buttons button b { color: var(--cream); font-size: .82rem; }
.gokushiki-scenario-buttons button small { color: var(--muted); font-size: .64rem; line-height: 1.4; }
.gokushiki-scenario-buttons button[aria-pressed="true"] { border-color: var(--gold); background: rgb(242 209 120 / .12); box-shadow: inset 0 0 0 1px rgb(242 209 120 / .25); }
#gokushikiScenarioSummary { margin-top: .65rem; padding-left: .7rem; border-left: 3px solid var(--gold); color: var(--cream); }
.gokushiki-dna { margin: .8rem 0; padding: .75rem; border: 1px solid var(--gold-dim); border-radius: 12px; background: rgb(242 209 120 / .05); }
.gokushiki-dna h4, .gokushiki-trial h4 { margin: 0; color: var(--gold); }
.gokushiki-dna > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin-top: .55rem; }
.gokushiki-dna article { min-width: 0; padding: .5rem; border: 1px solid var(--line); background: #07130e; }
.gokushiki-dna article span, .gokushiki-dna article b { display: block; }
.gokushiki-dna article span { color: var(--muted); font-size: .62rem; }
.gokushiki-dna article b { margin-top: .18rem; color: var(--cream); font-size: .7rem; line-height: 1.4; overflow-wrap: anywhere; }
.gokushiki-trial { margin-top: .8rem; padding: .75rem; border: 1px solid var(--line); border-radius: 12px; background: #07130e; }
.gokushiki-trial header { display: flex; gap: .5rem; align-items: start; justify-content: space-between; }
.gokushiki-trial header small { color: var(--muted); font-size: .6rem; text-align: right; }
.gokushiki-trial ol { display: grid; gap: .3rem; margin: .6rem 0; padding: 0; list-style: none; }
.gokushiki-trial li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: .4rem; align-items: center; min-height: 38px; padding: .35rem .45rem; border: 1px solid var(--line); }
.gokushiki-trial li > b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #07130e; background: var(--gold); }
.gokushiki-trial li > span { font-size: .72rem; font-weight: 850; }
.gokushiki-trial li > strong { color: var(--muted); font-size: .65rem; }
.gokushiki-trial li.is-changed { border-color: var(--mint); box-shadow: inset 3px 0 var(--mint); }
.gokushiki-trial li.is-changed > strong { color: var(--mint); }
#gokushikiSensitivity { margin: .55rem 0 0; padding: .55rem; border-left: 3px solid var(--cyan); color: var(--cream); background: rgb(104 188 230 / .06); font-size: .7rem; line-height: 1.55; }
.gokushiki-build-chart { display: grid; gap: .45rem; margin: .8rem 0; }
.gokushiki-build-chart > div { display: grid; grid-template-columns: 92px 1fr 22px; gap: .45rem; align-items: center; font-size: .72rem; }
.gokushiki-build-chart i { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: #20342a; }
.gokushiki-build-chart i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--mint), var(--gold)); transition: width .18s ease; }
.gokushiki-build-chart strong { color: var(--gold); text-align: right; }
.gokushiki-save-panel { display: grid; grid-template-columns: minmax(260px, .7fr) 1fr; gap: .8rem; align-items: end; margin-top: 1rem; padding: .85rem; border: 1px solid var(--gold-dim); border-radius: 14px; background: rgb(242 209 120 / .06); }
.gokushiki-save-panel label { display: grid; gap: .35rem; font-weight: 850; }
.gokushiki-save-panel input { min-height: 48px; padding: .75rem; border: 1px solid var(--line); border-radius: 10px; color: var(--cream); background: #08140f; font: inherit; }
.gokushiki-save-panel p { margin: 0; color: var(--muted); font-size: .78rem; }
.dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; margin-top: 1rem; }
.hero-ticket { position: relative; overflow: hidden; padding: clamp(1.2rem, 3vw, 2.2rem); border: 1px solid #685d37; border-radius: 30px; background: radial-gradient(circle at 80% 10%, rgb(242 209 120 / .18), transparent 13rem), linear-gradient(145deg, #1b3328, #0d1814); box-shadow: var(--shadow); }
.ticket-top { display: flex; justify-content: space-between; align-items: start; }
.ticket-top span { color: var(--gold); font-size: .75rem; font-weight: 900; letter-spacing: .18em; }
.ticket-top b { font-size: clamp(3rem, 7vw, 6rem); line-height: .85; }
.hero-ticket > p { margin: 1.7rem 0 1rem; font-size: 1.35rem; font-weight: 900; }
.hero-ticket dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin: 0; }
.hero-ticket dl div { padding: .65rem; border-top: 1px solid var(--line); }
.hero-ticket dt { color: var(--muted); font-size: .7rem; }
.hero-ticket dd { margin: .15rem 0 0; font-weight: 800; }
.ticket-pulse { display: flex; align-items: end; gap: .26rem; height: 42px; margin-top: 1rem; }
.ticket-pulse i { width: 16%; border-radius: 6px 6px 0 0; background: linear-gradient(var(--gold), var(--mint)); animation: pulse-bars 1.8s ease-in-out infinite alternate; }
.ticket-pulse i:nth-child(1) { height: 34%; }.ticket-pulse i:nth-child(2) { height: 76%; animation-delay: -.7s; }.ticket-pulse i:nth-child(3) { height: 52%; animation-delay: -.3s; }.ticket-pulse i:nth-child(4) { height: 94%; animation-delay: -.9s; }.ticket-pulse i:nth-child(5) { height: 62%; animation-delay: -.5s; }

.race-stamp, .gokushiki-seal, .paper-summary, .mini-companion { flex: 0 0 auto; display: grid; min-width: 180px; padding: .85rem 1rem; border: 1px solid #74663c; border-radius: 17px; background: #13231c; }
.race-stamp b, .gokushiki-seal b, .paper-summary b { color: var(--gold); font-size: 1.25rem; }
.race-stamp span, .race-stamp small, .gokushiki-seal span, .gokushiki-seal small, .paper-summary span, .paper-summary small { color: var(--muted); font-size: .72rem; }
.map-story { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(420px, 1fr); gap: 1.2rem; align-items: center; padding: 1.2rem; margin-bottom: 1rem; }
.map-story ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin: 0; list-style: none; }
.map-story li { padding: .75rem; border: 1px solid var(--line); border-radius: 13px; background: #09140f; }
.map-story li span, .map-story li b { display: block; }
.map-story li span { color: var(--muted); font-size: .72rem; }
.map-story li b { color: var(--cyan); font-size: 1.08rem; }
.table-panel, .expert-table-panel { overflow: hidden; }
.table-key { display: flex; gap: .45rem; padding: .65rem 1.2rem; overflow-x: auto; border-block: 1px solid var(--line); background: #0b1712; }
.table-key span { flex: 0 0 auto; color: var(--muted); font-size: .78rem; }
.table-key b { color: var(--gold); }
.table-key button { flex: 0 0 auto; min-height: 44px; margin-left: auto; padding-block: .28rem; font-size: .76rem; }
.racecard-sort { display: flex; align-items: center; gap: .35rem; padding: .55rem 1.2rem; overflow-x: auto; border-bottom: 1px solid var(--line); background: #0d1b15; }
.racecard-sort > span { flex: 0 0 auto; color: var(--muted); font-size: .72rem; font-weight: 800; }
.racecard-sort button { flex: 0 0 auto; min-height: 44px; padding: .38rem .68rem; }
.racecard-sort button[aria-pressed="true"] { border-color: var(--gold); color: #10150f; background: var(--gold); font-weight: 900; }
.racecard-columns { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; padding: .45rem 1.2rem; border-bottom: 1px solid var(--line); background: #0b1812; }
/* 折り返さない横並びだったため、スマホ幅で説明文がはみ出し、
   「馬番順に戻す」が画面の外（左433px・画面390px）へ出て押せなかった（2026-08-28 実測）。 */
.racecard-columns > span { flex: 1 1 100%; min-width: 0; color: var(--muted); font-size: .72rem; font-weight: 800; }
.racecard-columns button { flex: 0 0 auto; min-height: 44px; padding: .38rem .68rem; }
.racecard-columns button[aria-pressed="true"] { border-color: var(--gold); color: var(--gold); }
/* 【2026-08-28】一望でも指標は1つも隠さない（書き手指示＝全部 見えないとだめ）。
   一望で畳むのは「状態」と「365指標」の2列だけ＝指標そのものは常に全部 見せる。 */
body[data-racecard-columns="overview"] .horse-table th:nth-child(10), body[data-racecard-columns="overview"] .horse-table td:nth-child(10),
body[data-racecard-columns="overview"] .horse-table th:nth-child(11), body[data-racecard-columns="overview"] .horse-table td:nth-child(11) { display: none; }

/* 指標1つぶん＝数字・棒・順位の3点セット。指標ごとに色を変え、上位ほど濃くする。 */
.metric-cell { padding: .3rem .35rem; }
.metric-bar { display: grid; gap: .12rem; justify-items: center; min-width: 3.4rem; }
.metric-bar > b { font-size: 1.02rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.metric-bar > i { display: block; width: 100%; height: 4px; border-radius: 999px; background: rgba(255,255,255,.10); overflow: hidden; }
.metric-bar > i > em { display: block; height: 100%; border-radius: 999px; background: var(--metric-color, #9aa7b2); }
.metric-bar > small { font-size: .66rem; color: var(--muted); letter-spacing: .02em; }
.metric-bar.is-empty { color: var(--muted); font-size: .8rem; }
.metric-bar[data-stale="true"] > b { text-decoration: underline dotted; }
.metric-bar.is-early { --metric-hue: 355; }
.metric-bar.is-closing { --metric-hue: 145; }
.metric-bar.is-goku { --metric-hue: 275; }
.metric-bar.is-band { --metric-hue: 40; }
.metric-bar.is-volatility { --metric-hue: 205; }
.metric-bar[data-strength="1"] { --metric-color: hsl(var(--metric-hue) 92% 66%); }
.metric-bar[data-strength="2"] { --metric-color: hsl(var(--metric-hue) 78% 58%); }
.metric-bar[data-strength="3"] { --metric-color: hsl(var(--metric-hue) 55% 48%); }
.metric-bar[data-strength="4"] { --metric-color: hsl(var(--metric-hue) 30% 38%); }
.metric-bar[data-strength="1"] > b { color: hsl(var(--metric-hue) 92% 74%); }
.metric-bar[data-strength="2"] > b { color: hsl(var(--metric-hue) 70% 66%); }
body[data-racecard-columns="overview"] .horse-table { min-width: 700px; }
.table-scroll { max-width: 100%; overflow: auto; }
table { width: 100%; min-width: 940px; }
caption { padding: .65rem; color: var(--muted); text-align: left; font-size: .76rem; }
th, td { padding: .72rem .65rem; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
thead th { position: sticky; z-index: 3; top: 0; color: var(--muted); background: #111f1a; font-size: .73rem; }
th:first-child, td:first-child { position: sticky; z-index: 2; left: 0; min-width: 180px; text-align: left; background: #111f1a; box-shadow: 10px 0 18px rgb(0 0 0 / .2); }
thead th:first-child { z-index: 4; }
.horse-id { display: grid; grid-template-columns: 34px 1fr; gap: .55rem; align-items: center; }
.horse-id > span:first-child { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: #101511; background: #dfe7e2; font-weight: 950; }
.horse-id > span:last-child { min-width: 0; }
.horse-id b, .horse-id small { display: block; }
.horse-id b { overflow: hidden; color: var(--ink); text-overflow: ellipsis; }
.horse-id small { color: var(--muted); }
.map-position { display: inline-flex; align-items: center; gap: .35rem; padding: .16rem .45rem; border: 1px solid var(--line); border-radius: 999px; }
.map-position::before { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); content: ""; }
.mark { color: var(--gold); font-size: 1.15rem; font-weight: 950; }
.manual-mark { color: var(--violet); }
.missing-value { color: var(--red); font-size: .75rem; }
.stale-value { display: inline-flex; align-items: baseline; gap: .35rem; color: #ffd77a; }
.stale-value samp { font: inherit; font-weight: 800; }
.stale-value small { color: var(--muted); font-size: .65rem; white-space: nowrap; }
.row-actions { display: flex; gap: .35rem; justify-content: flex-end; }
.row-actions button { min-height: 44px; padding: .42rem .6rem; }
.row-actions button[aria-pressed="true"] { color: #0d1510; background: var(--mint); font-weight: 900; }
.horse-inspector { padding: 1rem 1.2rem 1.2rem; border-top: 2px solid var(--gold); background: #0b1712; }
.legacy-horse-inspector { display: none !important; }
.horse-detail-row > td { position: static; padding: 0; white-space: normal; background: #08140f; box-shadow: none; }
.inline-horse-detail { padding: .85rem 1rem 1rem; border-block: 2px solid var(--gold-dim); background: linear-gradient(90deg, rgb(242 209 120 / .08), transparent); }
.inline-horse-detail > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.inline-horse-detail > header span { color: var(--muted); font-size: .7rem; }
.inline-horse-detail h3 { margin: .12rem 0; color: var(--gold); }
.horse-inspector header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.inspector-grid { display: grid; grid-template-columns: repeat(6, minmax(100px, 1fr)); gap: .55rem; margin-top: .8rem; }
.inspector-grid article { padding: .7rem; border: 1px solid var(--line); border-radius: 12px; background: #0e1c17; }
.inspector-grid span, .inspector-grid b { display: block; }
.inspector-grid span { color: var(--muted); font-size: .7rem; }
.inspector-grid b { margin-top: .15rem; color: var(--cyan); }
.inspector-grid .wide { grid-column: span 3; }
.inspector-grid .wide b { color: var(--ink); font-size: .86rem; }
.compare-tray { position: sticky; z-index: 40; bottom: .6rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .75rem; padding: .65rem .85rem; border: 1px solid #7e6c37; border-radius: 16px; background: rgb(16 29 23 / .97); box-shadow: var(--shadow); }
.compare-tray h2 { font-size: 1rem; }
.compare-tray ol { display: flex; gap: .3rem; margin: .2rem 0 0; overflow-x: auto; list-style: none; }
.compare-tray li { flex: 0 0 auto; padding: .15rem .45rem; border-radius: 999px; background: #273c32; font-size: .72rem; }
.inline-gokuraku-host { margin-top: 1rem; padding-top: 1rem; border-top: 2px solid var(--gold); }
.inline-gokuraku-host > .stage { padding-inline: 0; }

.analysis-lead { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: 1.2rem; }
.analysis-lead p { color: var(--muted); }
.uncertainty { display: grid; min-width: 230px; padding: .8rem; border-left: 3px solid var(--red); background: #101a16; }
.uncertainty span { color: var(--muted); font-size: .72rem; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin: .85rem 0; }
.kpi-grid article { padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: #101e18; }
.kpi-grid span, .kpi-grid b, .kpi-grid small { display: block; }
.kpi-grid span, .kpi-grid small { color: var(--muted); font-size: .73rem; }
.kpi-grid b { color: var(--gold); font-size: 1.45rem; }
body[data-depth="easy"] .deep-only { display: none; }
.deep-only { display: grid; gap: .85rem; animation: stage-in var(--speed) var(--spring) both; }
.scenario-buttons { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; padding: 0 1.2rem; }
.scenario-buttons button { display: grid; justify-items: start; min-height: 94px; }
.scenario-buttons button b { color: var(--gold); font-size: 1.35rem; }
.scenario-buttons button small { color: var(--muted); }
.scenario-buttons button[aria-pressed="true"] { border-color: var(--gold); background: #213326; box-shadow: inset 0 0 0 1px var(--gold); }
.scenario-note { min-height: 1.5rem; margin: .8rem 1.2rem 1.2rem; color: #e8e0c7; }
.formation-rail { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin: 0; padding: 0 1.2rem 1.2rem; list-style: none; }
.formation-rail li { padding: .8rem; border: 1px solid var(--line); border-radius: 13px; background: #0b1712; }
.formation-rail span, .formation-rail b { display: block; }
.formation-rail span { color: var(--muted); font-size: .72rem; }
.expert-table-panel table { min-width: 820px; }
.analysis-foot { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.analysis-foot article { padding: 1.1rem; }
.analysis-foot p, .analysis-foot dd { color: var(--muted); }
.analysis-foot dl { display: grid; grid-template-columns: auto 1fr; gap: .25rem .7rem; }
.analysis-foot dd { margin: 0; }
.boundary { display: flex; gap: .75rem; margin-top: .9rem; padding: .8rem 1rem; border: 1px solid #794d43; border-radius: 14px; background: #2a1b18; }
.boundary b { flex: 0 0 auto; color: var(--red); }
.boundary span { color: #e3ccc6; }

.indicator-horse-state { display: inline-flex; max-width: 12rem; padding: .18rem .45rem; border: 1px solid var(--line); border-radius: 999px; color: var(--cyan); font-size: .68rem; line-height: 1.35; }
.indicator-panel { margin: .85rem 0; overflow: hidden; }
.indicator-panel[data-state="error"] { border-color: #794d43; }
.indicator-panel[data-state="ready"] { border-color: rgb(111 221 165 / .46); }
.indicator-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; padding: 0 1.2rem; }
.indicator-summary article { min-width: 0; padding: .8rem; border: 1px solid var(--line); border-radius: 13px; background: #0a1611; }
.indicator-summary span, .indicator-summary b { display: block; }
.indicator-summary span { color: var(--muted); font-size: .7rem; }
.indicator-summary b { margin-top: .16rem; color: var(--gold); overflow-wrap: anywhere; }
.indicator-center { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .75rem 1.2rem; padding: .85rem 1rem; border-left: 4px solid var(--gold); background: #18241a; }
.indicator-center div { display: grid; }
.indicator-center span { color: var(--muted); font-size: .68rem; }
.indicator-center strong { color: var(--gold); font-size: 1.28rem; }
.indicator-center p { margin: 0; color: var(--cyan); text-align: right; }
.indicator-panel > .safe-copy { margin-inline: 1.2rem; }
.indicator-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; max-height: 28rem; margin: .8rem 0 0; padding: 0 1.2rem 1.2rem; overflow: auto; list-style: none; scrollbar-width: thin; }
.indicator-items li { min-width: 0; padding: .65rem; border: 1px solid var(--line); border-radius: 11px; background: #0b1712; }
.indicator-items b, .indicator-items span, .indicator-items small { display: block; }
.indicator-items b { overflow-wrap: anywhere; }
.indicator-items span { margin-top: .16rem; color: var(--red); font-size: .7rem; font-weight: 900; }
.indicator-items small { margin-top: .28rem; color: var(--muted); line-height: 1.45; }
body[data-depth="deep"] .indicator-items { max-height: 42rem; }
.indicator-journey-state { margin-top: .8rem; padding: .8rem 1rem; border: 1px solid rgb(120 217 232 / .34); border-radius: 13px; color: #d9efec; background: #10211c; }

.question-layout { display: grid; grid-template-columns: minmax(360px, .85fr) minmax(440px, 1.15fr); gap: .9rem; align-items: start; }
.question-card, .live-rank { padding: clamp(1rem, 2.3vw, 1.5rem); }
.question-card { position: sticky; top: 150px; }
.count-buttons, .choice-buttons { display: grid; gap: .55rem; margin-top: 1rem; }
.count-buttons { grid-template-columns: repeat(2, 1fr); }
.count-buttons button, .choice-buttons button { display: grid; justify-items: start; min-height: 68px; text-align: left; }
.count-buttons button small, .choice-buttons button small { color: var(--muted); }
.count-buttons .recommended { border-color: var(--gold); background: #2a3020; }
.live-rank header { display: flex; align-items: end; justify-content: space-between; }
.live-rank header > span { color: var(--muted); font-size: .74rem; }
.question-motion-stage { position: relative; margin-top: .85rem; padding: .9rem; overflow: hidden; border: 1px solid #8d7840; border-radius: 16px; background: radial-gradient(circle at 10% 0, rgb(242 209 120 / .16), transparent 18rem), linear-gradient(135deg, #172a22, #09130f); box-shadow: 0 18px 44px rgb(0 0 0 / .28); transition: border-color 240ms ease, box-shadow 240ms ease; }
.question-motion-stage h3 { max-width: 34ch; font-size: clamp(1rem, 1.6vw, 1.25rem); }
.question-motion-stage[data-phase="lift"] { border-color: var(--gold); box-shadow: 0 22px 58px rgb(0 0 0 / .42), 0 0 0 1px rgb(242 209 120 / .18); }
.question-motion-stage[data-phase="travel"] { border-color: var(--violet); }
.question-motion-stage[data-phase="settle"] { border-color: var(--mint); }
.question-motion-stage[data-phase="reason"], .question-motion-stage[data-phase="stable"] { border-color: var(--cyan); }
.question-causal-rail { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); gap: .36rem; align-items: stretch; margin-top: .7rem; }
.question-causal-rail > div { min-width: 0; min-height: 62px; padding: .5rem; border: 1px solid var(--line); border-radius: 10px; background: rgb(5 14 11 / .76); transition: opacity 220ms ease, transform 220ms var(--spring), border-color 220ms ease; }
.question-causal-rail > div[aria-hidden="true"] { visibility: hidden; opacity: 0; transform: translateY(8px); }
.question-causal-rail > div[aria-hidden="false"] { border-color: var(--line-strong); opacity: 1; transform: translateY(0); }
.question-causal-rail > b { align-self: center; color: var(--gold); font-size: 1.2rem; }
.question-causal-rail span, .question-causal-rail strong { display: block; }
.question-causal-rail span { color: var(--muted); font-size: .64rem; }
.question-causal-rail strong { margin-top: .1rem; overflow-wrap: anywhere; font-size: .78rem; line-height: 1.35; }
.question-causal-rail > .question-uncertainty { grid-column: 1 / -1; min-height: 0; }
.question-uncertainty-code { display: block; margin-top: .25rem; color: var(--cyan); font: 800 .62rem/1.3 ui-monospace, monospace; letter-spacing: .02em; overflow-wrap: anywhere; }
.question-uncertainty-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem; margin: .4rem 0 0; }
.question-uncertainty-grid > div { min-width: 0; padding: .38rem .45rem; border-left: 2px solid var(--line-strong); background: rgb(255 255 255 / .025); }
.question-uncertainty-grid dt { color: var(--gold); font-size: .61rem; font-weight: 900; }
.question-uncertainty-grid dd { margin: .08rem 0 0; color: #e2e9e4; font-size: .69rem; line-height: 1.42; overflow-wrap: anywhere; }
.question-motion-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin: .6rem 0 0; list-style: none; }
.question-motion-mini li { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: .4rem; align-items: center; min-height: 50px; padding: .42rem; border: 1px solid var(--line-strong); border-radius: 10px; background: rgb(4 17 12 / .88); will-change: transform, opacity; transform: translateZ(0); transition: transform 360ms var(--spring), opacity 220ms ease, border-color 220ms ease, box-shadow 360ms ease; }
.question-motion-mini li.is-rising { border-color: var(--mint); }
.question-motion-mini li.is-falling { border-color: var(--red); }
.question-motion-mini li.motion-role-hero { border-color: var(--gold); background: linear-gradient(120deg, #30351e, #0a1911); }
.question-motion-mini li.motion-role-support { border-color: var(--mint); }
.question-motion-mini li.motion-role-pushed { border-color: #70463c; }
.question-motion-mini li.is-lifting.motion-role-hero { z-index: 8; border-color: #ffe894; box-shadow: 0 30px 72px rgb(0 0 0 / .58), 0 0 0 2px rgb(242 209 120 / .4), 0 0 52px rgb(242 209 120 / .28); transform: translate3d(0, -18px, 0) scale(1.1); }
.question-motion-mini li.is-supporting-lift.motion-role-support { z-index: 4; box-shadow: 0 12px 26px rgb(0 0 0 / .3), 0 0 20px rgb(89 226 168 / .1); transform: translate3d(0, -6px, 0) scale(1.025); }
.question-motion-mini li.is-pushed-shift.motion-role-pushed { z-index: 2; opacity: .75; transform: translate3d(0, 3px, 0) scale(.99); }
.question-motion-mini .number { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; color: #101510; background: var(--gold); font-weight: 950; }
.question-motion-mini b, .question-motion-mini small { display: block; }
.question-motion-mini small { color: var(--muted); font-size: .65rem; }
.question-motion-mini .motion-role-label { display: block; margin-bottom: .04rem; color: var(--cyan); font-size: .58rem; font-style: normal; font-weight: 900; letter-spacing: .04em; }
.question-motion-mini .motion-role-hero .motion-role-label { color: #ffe894; }
.question-motion-mini .motion-role-pushed .motion-role-label { color: #ffb2a5; }
.question-motion-mini strong { color: var(--gold); font-size: 1rem; transform: translateZ(0); }
.question-motion-reason { min-height: 1.3rem; margin: .55rem 0 0; color: #e9e4d5; font-size: .78rem; }
.question-motion-progress { height: 3px; margin-top: .55rem; overflow: hidden; border-radius: 99px; background: rgb(255 255 255 / .08); }
.question-motion-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--gold), var(--cyan)); opacity: .9; transform: scaleX(0); transform-origin: left; }
.question-motion-continue { width: 100%; margin-top: .75rem; }
.question-motion-stage[data-phase="pending"] .question-motion-progress i,
.question-motion-stage[data-phase="answer"] .question-motion-progress i,
.question-motion-stage[data-phase="signal"] .question-motion-progress i,
.question-motion-stage[data-phase="lift"] .question-motion-progress i,
.question-motion-stage[data-phase="settle"] .question-motion-progress i,
.question-motion-stage[data-phase="reason"] .question-motion-progress i,
.question-motion-stage[data-phase="stable"] .question-motion-progress i { animation: question-causal-progress var(--question-phase-duration, 500ms) linear both; }
.live-rank ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin: .85rem 0; list-style: none; }
.rank-preview-item { position: relative; display: grid; grid-template-columns: 28px 34px minmax(0, 1fr) auto; gap: .5rem; align-items: center; min-height: 52px; padding: .45rem; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(100deg, #102019, #09130f); will-change: transform, opacity; transform: translateZ(0); transition: transform 360ms var(--spring), opacity 240ms ease, border-color 240ms ease, box-shadow 360ms ease; }
.rank-preview-item.is-moving { border-color: var(--gold); }
.rank-preview-item.motion-role-hero { border-color: var(--gold); background: linear-gradient(100deg, #32351e, #102219); }
.rank-preview-item.motion-role-support { border-color: var(--mint); }
.rank-preview-item.motion-role-pushed { border-color: #70463c; }
.rank-preview-item.is-lifting.motion-role-hero { z-index: 9; border-color: #ffe894; box-shadow: 0 34px 82px rgb(0 0 0 / .64), 0 0 0 2px rgb(242 209 120 / .42), 0 0 62px rgb(242 209 120 / .3); transform: translate3d(0, -22px, 0) scale(1.12); }
.rank-preview-item.is-supporting-lift.motion-role-support { z-index: 4; box-shadow: 0 13px 28px rgb(0 0 0 / .3), 0 0 22px rgb(89 226 168 / .1); transform: translate3d(0, -6px, 0) scale(1.025); }
.rank-preview-item.is-pushed-shift.motion-role-pushed { z-index: 2; opacity: .72; transform: translate3d(0, 4px, 0) scale(.988); }
.rank-preview-item.is-rising { border-color: var(--mint); background: linear-gradient(100deg, #173326, #0a1711); }
.rank-preview-item.is-falling { border-color: #70463c; opacity: .78; }
.rank-preview-item .rank-delta { position: absolute; z-index: 2; top: 50%; right: 2.65rem; padding: .05rem .3rem; border-radius: 999px; color: var(--mint); background: #173b2a; font-size: .62rem; font-weight: 950; transform: translateY(-50%); }
.rank-preview-item.is-falling .rank-delta { color: #ffb2a5; background: #3a251f; }
.rank-preview-item .number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; color: #101510; background: #dfe7e2; font-weight: 900; }
.rank-preview-item small { color: var(--muted); }
.rank-preview-item .mark { min-width: 1.8rem; color: var(--gold); font-size: 1.08rem; text-align: center; }
.rank-preview-item .mark.is-locking { animation: question-mark-lock 620ms cubic-bezier(.18,.82,.18,1) both; }
.live-rank > p { color: var(--muted); font-size: .76rem; }

.decision-hero { position: relative; overflow: hidden; }
.decision-glow { flex: 0 0 auto; display: grid; place-items: center; width: clamp(88px, 11vw, 150px); height: clamp(88px, 11vw, 150px); border: 1px solid #ad9147; border-radius: 50%; color: #111710; background: radial-gradient(circle at 35% 30%, #fff0ac, var(--gold) 42%, #806320 100%); box-shadow: 0 0 70px rgb(242 209 120 / .24); font: 950 clamp(2rem, 5vw, 4.6rem)/1 serif; animation: seal-breathe 2.4s ease-in-out 2 alternate both; }
.decision-layout { display: grid; grid-template-columns: minmax(480px, 1.25fr) minmax(320px, .75fr); gap: .9rem; align-items: start; }
.decision-rank { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .48rem; margin: 0; list-style: none; }
.decision-rank li { display: grid; grid-template-columns: 30px 38px minmax(0, 1fr) 2.9rem; gap: .48rem; align-items: center; min-height: 64px; padding: .55rem; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(100deg, #102019, #0a1511); animation: rank-arrive var(--speed) var(--spring) both; animation-delay: calc(var(--rank-index) * 38ms); }
.decision-rank li:first-child { border-color: var(--gold); background: linear-gradient(100deg, #2a2b1c, #122019); box-shadow: 0 14px 34px rgb(0 0 0 / .28); }
.decision-rank .rank-number { color: var(--muted); text-align: center; }
.decision-rank .horse-number { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: #101510; background: #dfe7e2; font-weight: 950; }
.decision-rank b, .decision-rank small { display: block; }
.decision-rank small { color: var(--muted); }
.decision-rank .final-mark { color: var(--gold); font-size: 1.25rem; font-weight: 950; text-align: center; white-space: nowrap; }
/* 「無印」は2文字。列が26pxしかなく、スマホ幅で 無／印 と縦に割れていた（2026-08-28 実測・高さ60px）。 */
.reason-card { position: sticky; top: 150px; padding: 1.2rem; }
.reason-horse { display: flex; align-items: center; gap: .7rem; margin: 1rem 0; }
.reason-horse span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 13px; color: #101510; background: var(--gold); font-size: 1.4rem; font-weight: 950; }
.reason-horse b { font-size: 1.2rem; }
/* 馬名と印は別の行にする。b と small が続き文字になり、
   スマホ幅で「馬名極ラクモード印の見本…」と、くっついて折り返していた（2026-08-28 実測）。 */
.reason-horse > div { display: grid; gap: .15rem; min-width: 0; }
.reason-horse b, .reason-horse small { display: block; }
.reason-card dl { display: grid; grid-template-columns: auto 1fr; gap: .4rem .8rem; }
.reason-card dt { color: var(--muted); }
.reason-card dd { margin: 0; }
.weakness { display: grid; padding: .75rem; border-left: 3px solid var(--red); background: #211915; }
.weakness b { color: var(--red); }
.formula-safe { color: var(--muted); font-size: .76rem; }
.reason-layers { display: grid; gap: .6rem; margin: .8rem 0; }
.reason-layer { padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 12px; background: #0f1a15; }
.reason-layer h3 { display: flex; align-items: center; gap: .5rem; margin: 0 0 .4rem; font-size: .92rem; }
.reason-layer h3 span { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 999px; color: #101510; background: var(--gold); font-size: .78rem; font-weight: 900; }
.reason-layer ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .3rem; }
.reason-layer li { font-size: .9rem; line-height: 1.55; }
.reason-card .reason-conditions, .reason-conditions { display: grid; grid-template-columns: 1fr; gap: .45rem; margin: .2rem 0 0; }
/* 成立条件・崩れ条件は必ず縦に積む。`.reason-card dl`（auto 1fr）に負けて横2列へ潰れ、
   スマホ幅で本文が1文字ずつ縦に伸びる崩れが出ていた（2026-08-28 実測 390px で dd 幅 13.5px）。 */
.reason-conditions div { display: grid; grid-template-columns: 5.5rem 1fr; gap: .5rem; padding: .5rem .6rem; border-left: 3px solid var(--mint); background: #101a16; }
.reason-conditions div + div { border-left-color: var(--red); background: #211915; }
.reason-conditions dt { color: var(--muted); font-size: .8rem; }
.reason-conditions dd { margin: 0; font-size: .9rem; }
/* 380px より狭い端末では、見出し（成立条件／崩れ条件）を上へ逃がして本文の幅を確保する。 */
@media (max-width: 380px) { .reason-conditions div { grid-template-columns: 1fr; gap: .2rem; } }
body[data-depth="easy"] .reason-layer[data-reason-layer="3"], body[data-depth="easy"] .reason-layer[data-reason-layer="4"] { display: none; }
.mark-separation { margin-top: .9rem; overflow: hidden; }
.mark-separation > div { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: .45rem; padding: 0 1.2rem 1.2rem; overflow-x: auto; }
.mark-separation article { padding: .65rem; border: 1px solid var(--line); border-radius: 12px; background: #0b1712; }
.mark-separation article b, .mark-separation article span { display: block; }
.mark-separation article span { color: var(--muted); font-size: .72rem; }

.sample-badge, .sealed-pill, .corrected-badge { flex: 0 0 auto; padding: .45rem .7rem; border: 1px solid #74663c; border-radius: 999px; color: var(--gold); background: #17231c; font-weight: 900; }
.receipt-card { overflow: hidden; }
.receipt-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; border-bottom: 1px dashed #876f39; background: #17281f; }
.receipt-head div { display: grid; }
.receipt-head span { color: var(--muted); font-size: .72rem; }
.receipt-head strong { color: var(--mint); }
.receipt-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; padding: 1.2rem; }
.receipt-grid article { padding: .8rem; border: 1px solid var(--line); border-radius: 13px; background: #0a1611; }
.receipt-grid span { color: var(--muted); font-size: .72rem; }
.receipt-card > .safe-copy { padding: 0 1.2rem 1.2rem; }

.paper-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin-bottom: .75rem; }
.paper-stats article { padding: .75rem; border: 1px solid var(--line); border-radius: 13px; background: #101e18; }
.paper-stats b, .paper-stats span { display: block; }
.paper-stats b { color: var(--gold); font-size: 1.45rem; }
.paper-stats span { color: var(--muted); font-size: .72rem; }
.paper-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: 0; list-style: none; }
.paper-grid li { min-height: 150px; padding: .85rem; border: 1px solid var(--line); border-radius: 15px; background: #0f1d17; }
.paper-grid li.is-nine { border-color: var(--gold); background: linear-gradient(145deg, #29291a, #101d17); }
.paper-grid li.day-paper-race { min-height: 0; padding: 0; overflow: hidden; }
.day-race-open { display: grid; width: 100%; min-height: 160px; padding: .85rem; border: 0; border-radius: inherit; background: transparent; text-align: left; }
.day-race-open:hover, .day-race-open:focus-visible { background: rgb(74 199 154 / .08); box-shadow: inset 0 0 0 2px var(--mint); }
.day-race-open i { align-self: end; margin-top: .65rem; color: var(--mint); font-style: normal; font-size: .72rem; }
.day-paper-race.is-predicted { border-color: var(--gold); background: linear-gradient(145deg, #29291a, #101d17); }
.day-paper-race.is-missing header span { background: #ef9a86; }
.day-paper-race.is-skipped header span, .day-paper-race.is-unpredicted header span { background: #b9c4bf; }
.paper-grid li.paper-error { grid-column: 1 / -1; min-height: 0; }
.paper-grid header { display: flex; justify-content: space-between; }
.paper-grid header b { font-size: 1.25rem; }
.paper-grid header span { padding: .12rem .4rem; border-radius: 999px; color: #0d1510; background: var(--mint); font-size: .66rem; font-weight: 900; }
.paper-grid p { color: #e9dfc1; font-size: .85rem; }
.paper-grid small { color: var(--muted); }
.newspaper-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(250px, .8fr) auto; gap: 1rem; align-items: end; margin-bottom: .85rem; }
.newspaper-toolbar h2, .newspaper-toolbar p { margin-block: .2rem; }
.newspaper-toolbar label { display: grid; gap: .35rem; color: var(--muted); font-size: .78rem; }
.newspaper-toolbar input { width: 100%; min-height: 44px; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 10px; color: var(--cream); background: #09150f; font: inherit; }
.newspaper-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.newspaper-scope { display: flex; flex-wrap: wrap; gap: .45rem; }
.newspaper-scope button[aria-pressed="true"] { border-color: var(--gold); color: var(--gold); }
.newspaper-format { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.newspaper-format > span { margin-right: .25rem; color: var(--muted); font-size: .76rem; font-weight: 800; }
.newspaper-format button[aria-pressed="true"] { border-color: var(--mint); color: #0d1713; background: var(--mint); font-weight: 900; }
.newspaper-toolbar .safe-copy { grid-column: 1 / -1; margin: 0; }
.newspaper-editorial { display: grid; grid-template-columns: minmax(190px, .28fr) minmax(0, 1fr); gap: 1rem; align-items: start; margin-bottom: .85rem; padding: 1rem 1.15rem; }
.newspaper-editorial h2 { margin: .2rem 0; font: 900 clamp(1.2rem, 2.5vw, 1.75rem)/1.25 var(--serif); }
.newspaper-editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.newspaper-editorial article { min-height: 132px; padding: .75rem; border: 1px solid var(--line); background: #09150f; }
.newspaper-editorial span { color: var(--mint); font-size: .72rem; font-weight: 900; }
.newspaper-editorial b { display: block; margin: .25rem 0; color: var(--gold); }
.newspaper-editorial p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.newspaper-masthead { margin-bottom: .85rem; padding: 1rem clamp(1rem, 3vw, 2rem); border-block: 3px double var(--gold); text-align: center; background: #f2ead3; color: #10130f; }
.newspaper-masthead small { letter-spacing: .2em; font-weight: 900; }
.newspaper-masthead h2 { margin: .35rem 0; font-family: var(--serif); font-size: clamp(1.5rem, 4vw, 2.8rem); }
.newspaper-masthead p { margin: 0; color: #374239; }
.paper-stage { display: flex; flex-direction: column; }
.paper-stage > .stage-hero { order: 0; }
.paper-stage > .newspaper-masthead { order: 1; }
.paper-stage > .newspaper-editorial { order: 2; }
.paper-stage > .paper-stats { order: 3; }
.paper-stage > .paper-grid { order: 4; }
.paper-stage > .newspaper-toolbar { order: 5; margin-top: .9rem; }
.paper-stage > .privacy-preview, .paper-stage > .result-load-row, .paper-stage > .forward-row { order: 6; }
.newspaper-template { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; grid-column: 1 / -1; }
.newspaper-template > span { margin-right: .25rem; color: var(--muted); font-size: .76rem; font-weight: 800; }
.newspaper-template button[aria-pressed="true"] { border-color: var(--gold); color: #11150f; background: var(--gold); font-weight: 900; }
.newspaper-scenario-visual { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: 1rem; text-align: left; }
.newspaper-scenario-visual article { display: grid; gap: .1rem; padding: .65rem; border: 1px solid #a99c78; background: rgb(255 255 255 / .38); }
.newspaper-scenario-visual article.is-main { border: 2px solid #9c3f27; background: #fff8dc; }
.newspaper-scenario-visual span { color: #685c3d; font-size: .68rem; font-weight: 900; }
.newspaper-scenario-visual b { color: #10130f; }
.newspaper-scenario-visual small { color: #4f5b51; }
body[data-newspaper-template="letterpress"] .newspaper-masthead { color: #171511; background: #e8ddc2; filter: saturate(.75); }
body[data-newspaper-template="scenario"] .newspaper-masthead { border-color: #4d8ba3; background: #e8f2ef; }
body[data-newspaper-template="marks"] .newspaper-masthead { border-color: #a34b62; background: #f1e5e7; }
body[data-newspaper-template="day"] .newspaper-masthead { border-color: #396f56; background: #e4eee5; }
body[data-newspaper-template="review"] .newspaper-masthead { border-color: #705b8f; background: #ebe6f1; }
.paper-story-card { display: grid; align-content: start; gap: .35rem; }
.paper-story-card > strong { color: var(--gold); font-size: .88rem; }
.paper-story-card > p { margin: 0; line-height: 1.55; }
.paper-story-card > small { margin-top: auto; padding-top: .45rem; border-top: 1px solid var(--line); line-height: 1.45; }
.paper-story-card.is-skipped { border-style: dashed; opacity: .86; }
.paper-story-card.is-unpredicted { border-color: #47705c; }
.privacy-preview { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .8rem; padding: 1rem 1.2rem; }
.privacy-preview p { max-width: 80ch; color: var(--muted); }

.arrival-card { display: grid; justify-items: center; align-content: center; min-height: calc(100dvh - 220px); text-align: center; }
.arrival-card > p { max-width: 58ch; color: var(--muted); }
.arrival-orbit { display: grid; place-items: center; width: 90px; height: 90px; margin-bottom: 1.2rem; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); box-shadow: 0 0 80px rgb(242 209 120 / .22); animation: orbit-pulse 1.8s ease-in-out infinite; }
.sealed-mini { display: grid; min-width: min(500px, 100%); margin: 1.1rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: 15px; background: #101e18; }
.sealed-mini span, .sealed-mini small { color: var(--muted); }
.sealed-mini b { color: var(--gold); }
.recall-card { max-width: 900px; margin: 0 auto; padding: 1.2rem; }
.recall-card > p { font-size: 1.1rem; font-weight: 800; }
.recall-buttons { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: 1rem; }
.recall-buttons button { display: grid; justify-items: start; min-height: 88px; text-align: left; }
.recall-buttons small { color: var(--muted); }
.recall-buttons button[aria-pressed="true"] { border-color: var(--gold); background: #292719; box-shadow: 0 0 0 2px rgb(242 209 120 / .18); }
.recall-card > .primary { display: block; margin: 1rem 0 0 auto; }

.revision-line { display: grid; grid-template-columns: 1fr auto 1fr; gap: .8rem; align-items: center; }
.revision-line article { display: grid; padding: 1rem; border: 1px solid var(--line); border-radius: 15px; background: #101e18; opacity: .72; }
.revision-line .current { border-color: var(--gold); background: #252619; opacity: 1; }
.revision-line span, .revision-line small { color: var(--muted); }
.revision-line i { color: var(--gold); font-size: 1.5rem; font-style: normal; }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-top: .8rem; }
.review-grid article { padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: #101e18; }
.review-grid article > span { display: inline-block; margin-bottom: .45rem; padding: .12rem .45rem; border-radius: 999px; color: #101510; background: var(--cyan); font-size: .7rem; font-weight: 900; }
.review-grid p { color: #cbd5ce; }

.lesson-card { max-width: 980px; padding: clamp(1rem, 3vw, 2rem); }
.lesson-card > span, .lesson-card > strong { display: block; }
.lesson-card > span { color: var(--muted); }
.lesson-card > strong { margin: .5rem 0 1rem; color: var(--gold); font-size: clamp(1.3rem, 2.6vw, 2.25rem); line-height: 1.35; }
.lesson-card button[aria-pressed="true"] { color: #0e1510; background: var(--mint); font-weight: 900; }
.lesson-card p, .suppressed { color: var(--muted); }
.suppressed { padding: .65rem .8rem; border-left: 3px solid var(--violet); }

.companion-stage { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(420px, 1fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.companion-portrait { position: relative; display: grid; place-items: center; aspect-ratio: 1; max-width: 520px; border: 1px solid #725f34; border-radius: 50%; background: radial-gradient(circle, #d9bd69 0 3%, transparent 4%), radial-gradient(circle, #284f3c 0 33%, #0e1d17 34% 62%, transparent 63%); box-shadow: 0 0 100px rgb(95 207 150 / .14); }
.companion-horse-mark { z-index: 2; width: 58%; max-width: 290px; overflow: visible; filter: drop-shadow(0 18px 26px rgb(0 0 0 / .38)); }
.companion-horse-mark .horse-head { fill: #e4c66e; stroke: #fff1b9; stroke-width: 3; }
.companion-horse-mark .horse-mane { fill: #315b49; stroke: #76dbaa; stroke-width: 3; }
.companion-horse-mark .horse-face, .companion-horse-mark .horse-ear { fill: none; stroke: #153226; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.companion-horse-mark circle { fill: #10271d; }
.companion-portrait i { position: absolute; inset: 12%; border: 1px dashed rgb(242 209 120 / .55); border-radius: 50%; animation: slow-spin 18s linear infinite; }
.companion-portrait[data-outfit="journey"] { background: radial-gradient(circle at 50% 30%, #d9bd69 0 5%, transparent 6%), radial-gradient(circle, #396c53 0 33%, #0e1d17 34% 62%, transparent 63%); box-shadow: 0 0 100px rgb(95 207 150 / .25); }
.companion-portrait[data-outfit="celebration"] { background: radial-gradient(circle at 50% 28%, #f2d178 0 7%, transparent 8%), radial-gradient(circle, #6d324c 0 33%, #161523 34% 62%, transparent 63%); box-shadow: 0 0 100px rgb(190 102 149 / .22); }
.companion-copy { max-width: 780px; }
.companion-copy > h1 { max-width: 17ch; font-size: clamp(2.35rem, 5vw, 4.8rem); line-height: 1.08; }
.companion-intro { max-width: 52ch; margin: .75rem 0 0; color: var(--muted); line-height: 1.65; }
.companion-view-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: 1.15rem; padding: .45rem; border: 1px solid var(--line); border-radius: 16px; background: #07140f; }
.companion-view-tabs button { display: grid; gap: .15rem; min-height: 56px; padding: .6rem .7rem; border: 1px solid transparent; border-radius: 12px; color: var(--muted); background: transparent; text-align: left; }
.companion-view-tabs button b { color: inherit; font-size: .9rem; }
.companion-view-tabs button small { color: inherit; font-size: .68rem; }
.companion-view-tabs button[aria-selected="true"] { border-color: rgb(95 207 150 / .65); color: var(--cream); background: linear-gradient(135deg, rgb(95 207 150 / .14), rgb(242 209 120 / .05)); box-shadow: inset 0 -2px 0 var(--mint); }
.companion-view-tabs button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.companion-view-panel[hidden] { display: none; }
.companion-view-panel:not([hidden]) { animation: companion-panel-in 180ms ease-out both; }
@keyframes companion-panel-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.companion-copy blockquote { margin: 1.5rem 0; padding: 1rem 1.2rem; border-left: 3px solid var(--gold); color: #e9e0c7; background: #101e18; font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.companion-copy ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; list-style: none; }
.companion-copy li { padding: .7rem; border: 1px solid var(--line); border-radius: 13px; background: #0f1d17; }
.companion-copy li b, .companion-copy li span { display: block; }
.companion-copy li span { color: var(--mint); }
.companion-profile { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block: 1rem; }
.companion-profile h2, .companion-profile p { margin: .15rem 0; }
.companion-next { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; margin-top: 1rem; padding: 1rem 1.15rem; border-color: var(--gold); background: linear-gradient(135deg, rgb(242 209 120 / .12), #0d1c16 52%); }
.companion-next small { color: var(--mint); font-weight: 900; }
.companion-next h2 { margin: .2rem 0; font: 900 clamp(1.18rem, 2.6vw, 1.75rem)/1.35 var(--serif); }
.companion-next p { max-width: 68ch; margin: 0; color: var(--muted); }
.companion-next > span { display: grid; place-items: center; width: 52px; aspect-ratio: 1; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-size: 1.35rem; font-weight: 950; }
.companion-message { padding: 1rem 1.15rem; }
.companion-message > p { margin: 0; color: var(--mint); }
.companion-message blockquote { margin: .55rem 0; padding: .85rem 1rem; border-left: 3px solid var(--gold); background: #09150f; line-height: 1.75; }
.companion-journey { padding: 1rem 1.15rem; }
.companion-journey h2 { margin: .15rem 0 .75rem; }
.companion-journey ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; margin: 0; padding: 0; list-style: none; counter-reset: trail; }
.companion-journey li { position: relative; display: grid; gap: .2rem; min-height: 92px; padding: .7rem; border: 1px solid var(--line); background: #0a1711; }
.companion-journey li:not(:last-child)::after { content: "→"; position: absolute; right: -.72rem; top: 34%; z-index: 1; color: var(--gold); font-weight: 950; }
.companion-journey li b { color: var(--gold); }
.companion-journey li span { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.companion-actions { padding: 1rem 1.15rem; }
.companion-actions ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: 0; padding: 0; list-style: none; }
.companion-actions li { display: grid; gap: .25rem; padding: .75rem; border: 1px solid var(--line); background: #0a1711; }
.companion-actions li span { color: var(--mint); font-weight: 900; }
.companion-memories { padding: 1rem 1.15rem; }
.companion-memories ol { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.companion-memories li { display: grid; grid-template-columns: minmax(145px, .35fr) minmax(0, 1fr); gap: .7rem; padding: .7rem; border-bottom: 1px solid var(--line); }
.companion-memories li span { color: var(--muted); }
.companion-care summary { min-height: 44px; cursor: pointer; color: var(--gold); font-weight: 900; }
.companion-ring { display: grid; place-items: center; width: 118px; aspect-ratio: 1; padding: .7rem; border: 7px solid #315b49; border-top-color: var(--gold); border-radius: 50%; text-align: center; background: #0a1711; }
.companion-ring b { color: var(--gold); font-size: 1.8rem; line-height: 1; }
.companion-ring span { color: var(--muted); font-size: .65rem; }
.companion-copy meter { width: 100%; margin-top: .45rem; accent-color: var(--mint); }
.companion-why { margin-top: .7rem !important; padding: .65rem .75rem; border-left: 3px solid var(--mint); background: #07150f; color: var(--cream) !important; }
.companion-next-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.companion-equipment { margin-block: 1rem; }
.companion-equipment > div > p { color: var(--muted); }
.companion-equipment ol { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: .8rem 0 0; padding: 0; }
.companion-equipment li { display: grid; grid-template-columns: auto 1fr; column-gap: .5rem; align-items: center; min-height: 88px; opacity: .58; }
.companion-equipment li.is-earned { border-color: var(--gold); opacity: 1; background: linear-gradient(145deg, rgb(242 209 120 / .1), #0e1d17); }
.companion-equipment li > span { grid-row: 1 / 3; color: var(--gold); font-size: 1.25rem; }
.companion-equipment li small { color: var(--muted); }
.companion-care { display: grid; gap: .7rem; margin-block: 1rem; }
.companion-care label { display: grid; gap: .35rem; color: var(--muted); font-size: .76rem; }
.companion-care input { min-height: 44px; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: 10px; color: var(--cream); background: #08140f; font: inherit; }
.companion-outfits { display: flex; flex-wrap: wrap; gap: .45rem; }
.companion-outfits button[aria-pressed="true"] { border-color: var(--gold); color: var(--gold); }
.companion-memories { margin-block: 1rem; }
.companion-memories ol { grid-template-columns: 1fr; padding: 0; }
.companion-memories li { display: grid; gap: .25rem; }
.companion-memories li span { color: var(--muted); }

.mini-companion { grid-template-columns: auto 1fr; gap: .7rem; align-items: center; }
.mini-companion > span { color: var(--gold); font-size: 2rem; }
.mini-companion div { display: grid; }
.mini-companion small, .mini-companion p { margin: 0; color: var(--muted); font-size: .7rem; }
.today-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin-bottom: .8rem; }
.today-strip div { padding: .8rem; border: 1px solid var(--line); border-radius: 13px; background: #101e18; }
.today-strip span, .today-strip b { display: block; }
.today-strip span { color: var(--muted); font-size: .72rem; }
.today-strip b { color: var(--gold); }
.mypage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.memory-card { padding: 1.1rem; }
.memory-card small { display: block; color: var(--muted); }
.mypage-history-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, .75fr); gap: .8rem; margin-top: .8rem; }
.history-panel, .growth-panel { padding: 1.1rem; }
.panel-title-line { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.panel-title-line h2, .panel-title-line p { margin-bottom: 0; }
.mypage-history { display: grid; gap: .65rem; padding: 0; margin: .85rem 0 0; list-style: none; }
.mypage-history-row { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) auto; align-items: center; gap: .75rem; padding: .85rem; border: 1px solid var(--line); border-radius: 13px; background: #0e1b16; }
.mypage-history-row > div { display: grid; }
.mypage-history-row small, .mypage-history-row > span { color: var(--muted); font-size: .72rem; }
.mypage-history-row p { margin: 0; }
.mypage-history-row > p:last-child { grid-column: 1 / -1; padding-top: .55rem; border-top: 1px solid var(--line); color: var(--cream); }
.analysis-room { margin-top: 1rem; }
.analysis-prescription { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: .85rem 0; }
.analysis-prescription article { display: grid; align-content: start; gap: .28rem; min-height: 190px; padding: 1rem; border: 1px solid #355a49; background: linear-gradient(145deg, #0a1813, #11251c); }
.analysis-prescription article.is-next { border-color: var(--gold); background: linear-gradient(145deg, rgb(242 209 120 / .12), #102119); }
.analysis-prescription span { color: var(--mint); font-size: .72rem; font-weight: 900; }
.analysis-prescription b { color: var(--cream); font: 900 1.2rem/1.35 var(--serif); }
.analysis-prescription p { margin: 0; color: var(--muted); line-height: 1.65; }
.analysis-prescription button { margin-top: auto; }
.analysis-prescription small { color: var(--muted); }
.analysis-filters { margin-block: .8rem; }
.analysis-filters summary, .analysis-replay summary { min-height: 44px; cursor: pointer; color: var(--gold); font-weight: 900; }
.analysis-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; margin-top: .75rem; }
.analysis-filter-grid label { display: grid; gap: .3rem; color: var(--muted); font-size: .74rem; }
.analysis-filter-grid select { min-height: 44px; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: 9px; color: var(--cream); background: #08140f; font: inherit; }
.analysis-health { display: grid; grid-template-columns: minmax(150px, .38fr) minmax(0, 1fr); gap: 1rem; align-items: center; margin-bottom: .8rem; }
.analysis-health h3 { margin: .2rem 0; }
.analysis-health ol { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.analysis-health li { display: grid; grid-template-columns: minmax(130px, .8fr) minmax(100px, 1fr) 2.5rem; gap: .6rem; align-items: center; }
.analysis-health li span { color: var(--muted); font-size: .74rem; }
.analysis-health meter { width: 100%; accent-color: var(--mint); }
.analysis-health b { color: var(--gold); text-align: right; }
.analysis-fingerprint { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: .8rem 0; }
.analysis-fingerprint > div { display: grid; gap: .18rem; padding: .85rem; border: 1px solid #355a49; background: linear-gradient(145deg, #0b1b15, #13241c); }
.analysis-fingerprint span { color: var(--muted); font-size: .7rem; }
.analysis-fingerprint b { color: var(--gold); font: 900 1.2rem/1.3 Georgia, "Yu Mincho", serif; }
.analysis-fingerprint small { color: var(--ink); line-height: 1.55; }
.analysis-chart-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.chart-card h3 { margin-top: 0; }
.bar-chart { display: grid; gap: .62rem; }
.confidence-chart { display: grid; gap: .62rem; }
.chart-row { display: grid; grid-template-columns: minmax(54px, auto) minmax(80px, 1fr) 3.2rem; gap: .5rem; align-items: center; font-size: .76rem; }
.chart-row i { display: block; height: 9px; overflow: hidden; border-radius: 999px; background: #213129; }
.chart-row i b { display: block; min-width: 0; height: 100%; border-radius: inherit; background: var(--mint); }
.chart-row.is-gold i b { background: var(--gold); }
.chart-row strong { color: var(--cream); text-align: right; }
.trend-card { display: grid; justify-items: center; text-align: center; }
.trend-chart { --progress: 0%; display: grid; place-items: center; position: relative; width: 150px; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--gold) var(--progress), #213129 0); }
.trend-chart::before { content: ""; position: absolute; inset: 13px; border-radius: inherit; background: #0f1d17; }
.trend-chart b, .trend-chart span { z-index: 1; }
.trend-chart b { align-self: end; color: var(--gold); font-size: 1.6rem; }
.trend-chart span { align-self: start; color: var(--muted); font-size: .65rem; }
.analysis-counterevidence, .analysis-timeline { margin-top: .8rem; padding: 1rem; border: 1px solid var(--line); background: #0b1712; }
.analysis-counterevidence h3, .analysis-timeline h3 { margin: .1rem 0 .7rem; }
.analysis-counterevidence ol, .analysis-timeline ol { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.analysis-counterevidence li { display: grid; grid-template-columns: minmax(120px, .55fr) minmax(180px, .8fr) minmax(0, 1.5fr); gap: .6rem; align-items: center; padding: .7rem; border-left: 3px solid #d27858; background: #1c1512; }
.analysis-counterevidence li span { color: #efab91; font-size: .76rem; font-weight: 850; }
.analysis-counterevidence li p { margin: 0; color: var(--ink); font-size: .76rem; }
.analysis-timeline ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.analysis-timeline li { display: grid; min-height: 148px; border: 1px solid #2f4d40; background: #0e1d17; }
.analysis-timeline li > button { display: grid; gap: .25rem; width: 100%; min-height: 146px; padding: .75rem; border: 0; border-radius: 0; color: inherit; text-align: left; background: transparent; }
.analysis-timeline time { color: var(--muted); font-size: .68rem; }
.analysis-timeline li > span { color: var(--gold); font-size: .72rem; line-height: 1.5; }
.analysis-timeline li p { margin: auto 0 0; padding-top: .5rem; border-top: 1px solid var(--line); color: var(--ink); font-size: .72rem; line-height: 1.5; }
.analysis-timeline li:hover, .analysis-timeline li:has(> button:focus-visible) { border-color: var(--gold); outline: 2px solid rgb(242 209 120 / .4); outline-offset: 2px; }
.analysis-replay { margin-top: .8rem; }
.analysis-replay h3 { color: var(--gold); }
.analysis-replay ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.analysis-replay li { display: grid; gap: .25rem; min-height: 108px; padding: .75rem; border: 1px solid var(--line); background: #09150f; }
.analysis-replay li b { color: var(--mint); }
.analysis-replay li span { color: var(--muted); font-size: .76rem; line-height: 1.55; }
.growth-panel strong { display: block; margin: .65rem 0 .35rem; color: var(--gold); font-size: 1.1rem; }
.growth-panel ul { padding-left: 1.2rem; }
.growth-panel small, .growth-panel > p { color: var(--muted); }
.marks-line { color: var(--gold); font-weight: 850; }
.control-panel { display: grid; grid-template-columns: auto 1fr; gap: 1rem; margin-top: .8rem; padding: 1rem; align-items: center; }
.control-panel > div:nth-child(2) { display: flex; flex-wrap: wrap; gap: .45rem; }
.control-panel > p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .8rem; }

.community-controls { display: grid; grid-template-columns: auto 1fr auto; gap: .8rem; align-items: center; padding: 1rem; }
.cohort-buttons { display: flex; gap: .4rem; flex-wrap: wrap; }
.cohort-buttons button[aria-pressed="true"], #communityConsent[aria-pressed="true"] { color: #0e1510; background: var(--mint); font-weight: 900; }
.small-community { padding: 1.2rem; }
.community-board { overflow: hidden; }
.community-board > p { padding: 0 1.2rem; color: var(--muted); }
.community-board { overflow-x: auto; }
.community-board ol { display: grid; gap: .5rem; min-width: 520px; margin: 0; padding: 0 1.2rem 1.2rem; list-style: none; }
.community-row { display: grid; grid-template-columns: 38px minmax(130px, 1fr) repeat(4, minmax(70px, .45fr)); gap: .5rem; align-items: center; padding: .55rem; border: 1px solid var(--line); border-radius: 12px; background: #0b1712; }
.community-row.seven-bands { grid-template-columns: 38px minmax(130px, 1fr) repeat(7, minmax(70px, .45fr)); }
.community-row > span:first-child { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: #101510; background: #dfe7e2; font-weight: 900; }
.band-cell { display: grid; justify-items: center; padding: .2rem; border-radius: 8px; background: #16271f; }
.band-cell small { color: var(--muted); font-size: .62rem; }
.band-cell b { color: var(--cyan); }
.community-safety { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-top: .8rem; }
.community-safety article { padding: 1rem; border: 1px solid var(--line); border-radius: 15px; background: #101e18; }
.community-safety p { color: var(--muted); }
.journey-complete { display: grid; justify-items: center; margin-top: 1rem; padding: clamp(1.2rem, 4vw, 3rem); border: 1px solid #79693a; border-radius: 24px; background: radial-gradient(circle at 50% 0, rgb(242 209 120 / .17), transparent 24rem), #0f1d17; text-align: center; }
.journey-complete p { max-width: 70ch; color: var(--muted); }

dialog { width: min(1120px, calc(100% - 1.2rem)); max-height: 86dvh; padding: clamp(1rem, 2.5vw, 2rem); overflow: auto; border: 1px solid var(--line-strong); border-radius: 22px; color: var(--ink); background: #0d1915; box-shadow: 0 34px 110px #000; }
dialog::backdrop { background: rgb(0 0 0 / .74); backdrop-filter: blur(4px); }
.dialog-close { float: right; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; font-size: 1.35rem; }
dialog dl { display: grid; grid-template-columns: auto 1fr; gap: .45rem 1rem; }
dialog dd { margin: 0; color: #d6ded9; }
.report-buttons { display: grid; gap: .5rem; }

body[data-motion="video"] { --speed: 1100ms; }
body[data-motion="video"] .stage { animation-duration: 1100ms; }
body[data-motion="video"] .decision-rank li { animation-delay: calc(var(--rank-index) * 105ms); }
body[data-motion="video"] .question-motion-stage[data-phase="lift"] { box-shadow: 0 34px 88px rgb(0 0 0 / .58), 0 0 0 2px rgb(242 209 120 / .34), 0 0 64px rgb(242 209 120 / .2); }
body[data-motion="video"] .question-motion-mini li.is-lifting.motion-role-hero { transform: translate3d(0, -28px, 0) scale(1.16); box-shadow: 0 42px 96px rgb(0 0 0 / .7), 0 0 0 3px rgb(242 209 120 / .5), 0 0 76px rgb(242 209 120 / .38); }
body[data-motion="video"] .question-motion-mini li.is-supporting-lift.motion-role-support { transform: translate3d(0, -9px, 0) scale(1.04); }
body[data-motion="video"] .question-motion-mini li.is-pushed-shift.motion-role-pushed { transform: translate3d(0, 5px, 0) scale(.985); }
body[data-motion="video"] .rank-preview-item.is-lifting.motion-role-hero { transform: translate3d(0, -32px, 0) scale(1.18); box-shadow: 0 48px 110px rgb(0 0 0 / .72), 0 0 0 3px rgb(242 209 120 / .48), 0 0 82px rgb(242 209 120 / .4); }
body[data-motion="video"] .rank-preview-item.is-supporting-lift.motion-role-support { transform: translate3d(0, -10px, 0) scale(1.045); }
body[data-motion="video"] .rank-preview-item.is-pushed-shift.motion-role-pushed { transform: translate3d(0, 6px, 0) scale(.98); }
body[data-motion-performance="low"] .question-motion-stage[data-phase="lift"] { box-shadow: 0 12px 26px rgb(0 0 0 / .3), 0 0 0 1px rgb(242 209 120 / .18); }
body[data-motion-performance="low"] .question-motion-mini li.is-lifting.motion-role-hero { transform: translate3d(0, -8px, 0) scale(1.035); box-shadow: 0 10px 22px rgb(0 0 0 / .34), 0 0 0 1px rgb(242 209 120 / .2); }
body[data-motion-performance="low"] .question-motion-mini li.is-supporting-lift.motion-role-support { transform: translate3d(0, -3px, 0) scale(1.012); box-shadow: none; }
body[data-motion-performance="low"] .question-motion-mini li.is-pushed-shift.motion-role-pushed { transform: translate3d(0, 2px, 0) scale(.995); box-shadow: none; }
body[data-motion-performance="low"] .rank-preview-item.is-lifting.motion-role-hero { transform: translate3d(0, -7px, 0) scale(1.025); box-shadow: 0 10px 22px rgb(0 0 0 / .34), 0 0 0 1px rgb(242 209 120 / .18); }
body[data-motion-performance="low"] .rank-preview-item.is-supporting-lift.motion-role-support { transform: translate3d(0, -3px, 0) scale(1.01); box-shadow: none; }
body[data-motion-performance="low"] .rank-preview-item.is-pushed-shift.motion-role-pushed { transform: translate3d(0, 2px, 0) scale(.995); box-shadow: none; }
body[data-motion="reduced"] { --speed: 1ms; }
html[data-motion="reduced"] { scroll-behavior: auto; }
body[data-motion="reduced"] *, body[data-motion="reduced"] *::before, body[data-motion="reduced"] *::after { scroll-behavior: auto !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }

@keyframes stage-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes rank-arrive { from { opacity: 0; transform: translateY(24px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes question-causal-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes question-mark-lock { 0% { color: var(--muted); transform: scale(.7); opacity: .45; } 58% { color: #fff3b4; transform: scale(1.48); opacity: 1; text-shadow: 0 0 24px rgb(242 209 120 / .8); } 100% { color: var(--gold); transform: scale(1); opacity: 1; text-shadow: none; } }
@keyframes pulse-bars { from { opacity: .55; transform: scaleY(.68); } to { opacity: 1; transform: scaleY(1); } }
@keyframes seal-breathe { from { opacity: .86; transform: scale(.96); } to { opacity: 1; transform: scale(1.04); } }
@keyframes orbit-pulse { 0%, 100% { transform: scale(.9); opacity: .6; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes slow-spin { to { transform: rotate(360deg); } }

/* Stage 2: race benefit radar. Facts, conditional reading, and failure conditions stay distinct. */
.board-progress dl div:last-child dd { font-size: 1rem; line-height: 1.7; }
.board-race-lane-scroll { overflow: visible; padding: .2rem 0; }
.board-race-lane ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; min-width: 0; }
.board-race-lane ol::before { display: none; }
.board-race-lane li { min-width: 0; }
.board-race-lane button { display: grid; grid-template-rows: auto auto auto 1fr auto; gap: .4rem; justify-items: stretch; min-height: 214px; padding: .72rem; border: 1px solid var(--line); text-align: left; background: #0c1914; }
.board-race-lane button:hover, .board-race-lane button:focus-visible { border-color: var(--gold); background: #12251c; }
.board-race-lane button > span { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; }
.board-race-lane time { color: var(--gold); font-size: .72rem; font-weight: 900; }
.board-race-lane b { color: var(--ink); font-size: .88rem; }
.board-race-lane strong { color: #f58b6a; font-size: 1rem; line-height: 1.35; }
.board-race-lane small { color: var(--ink); font-size: .75rem; line-height: 1.6; }
.board-race-lane em { justify-self: start; padding: .18rem .45rem; border: 1px solid #3b5c4d; border-radius: 999px; color: var(--muted); font-size: .67rem; font-style: normal; }
.board-race-lane button > .board-race-benefits { display: grid !important; grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; align-content: start !important; align-items: stretch !important; justify-self: stretch; justify-content: stretch !important; width: 100%; min-width: 0; gap: .24rem !important; padding-top: .35rem; border-top: 1px solid #284338; }
.board-race-benefits span { display: block; min-width: 0; color: var(--ink); font-size: .69rem; font-weight: 800; line-height: 1.45; overflow-wrap: break-word; word-break: normal; }
.board-race-benefits .board-formation-line { color: #8fd8ba; }
.board-race-benefits .board-uncertainty-line { color: #efb49f; }
.board-race-benefits span:last-child { color: var(--gold); }
.board-race-benefits .board-skip-reason { color: #f59a7c; }
.board-race-lane li.is-skipped button { border-color: #8e7449; }
.board-race-lane li.is-skipped strong { color: var(--gold); }
.board-race-lane li.is-next button { color: inherit; border-color: #f36a40; border-radius: 4px; background: linear-gradient(145deg, rgb(243 106 64 / .11), #0c1914); }
.board-race-lane li.is-next time, .board-race-lane li.is-next small { color: inherit; }
.board-owner-marks { display: grid; gap: .08rem; }
.board-owner-marks small { color: var(--muted); font-size: .62rem; font-weight: 500; }
.board-panel[data-board-view="overview"] .board-race-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.board-panel[data-board-view="detail"] .board-detail-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.board-detail-fact, .board-detail-reading, .board-detail-risk, .board-detail-use { display: grid; align-content: start; gap: .2rem; min-height: 102px; padding: .65rem .72rem; border: 1px solid var(--line); background: #101f19; }
.board-detail-fact { border-color: #47705e; }
.board-detail-reading { border-color: #9a7745; }
.board-detail-risk { border-color: #8d594c; background: #201712; }
.board-detail-use { border-color: #666092; background: #171722; }
.board-detail-fact i, .board-detail-reading i, .board-detail-risk i, .board-detail-use i { color: var(--muted); font-style: normal; font-size: .66rem; font-weight: 900; }
.board-detail-fact b, .board-detail-reading b, .board-detail-risk b, .board-detail-use b { color: var(--ink); font-size: .8rem; line-height: 1.55; }
.board-detail-fact small, .board-detail-reading small, .board-detail-risk small, .board-detail-use small { color: var(--muted); font-size: .67rem; line-height: 1.45; }
.day-board-row .board-state.is-skipped { border-color: #b1874a; color: var(--gold); }

.production-parity-card { display: grid; gap: .8rem; color: var(--ink); }
.production-parity-race-header, .production-parity-vessel, .production-parity-horse-table, .production-parity-ledger, .production-parity-lineup, .production-parity-reading, .production-parity-seal { border: 1px solid var(--line); background: #0c1712; }
.production-parity-race-header { padding: 1rem; border-top: 2px solid var(--red); }
.production-parity-race-header > div:last-child { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; align-items: end; }
.production-parity-race-header h1 { grid-column: 1; margin: 0; font-size: clamp(1.35rem, 3vw, 2rem); }
.production-parity-race-header > div:last-child > p { margin: 0; color: var(--muted); }
.production-parity-race-header > div:last-child > p:first-child { grid-column: 1 / -1; color: var(--gold); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.production-parity-race-header > div:last-child > p:last-child { grid-column: 2; grid-row: 2; text-align: right; }
.production-parity-race-nav { display: flex; gap: .4rem; align-items: center; margin-bottom: .8rem; }
.production-parity-race-nav span { margin-right: auto; color: var(--gold); font-weight: 950; }
.production-parity-race-nav button { min-height: 44px; padding: .35rem .65rem; }
.production-parity-vessel { display: grid; grid-template-columns: minmax(240px, .58fr) 1fr; gap: .55rem 1rem; padding: 1rem; border-left: 3px solid var(--red); }
.production-parity-vessel span { color: var(--muted); font-size: .72rem; }
.production-parity-vessel h2 { margin: .15rem 0 0; font-size: 1.05rem; }
.production-parity-vessel h2 > b { color: var(--cyan); font-size: 2.4rem; line-height: 1; }
.production-parity-vessel h2 > small { color: var(--muted); font-size: .65rem; }
.production-parity-vessel > p { align-self: center; margin: 0; font-weight: 800; line-height: 1.65; }
.production-parity-vessel ul { display: flex; grid-column: 1 / -1; gap: .4rem; margin: .25rem 0 0; padding: 0; list-style: none; }
.production-parity-vessel li { padding: .32rem .5rem; border: 1px solid var(--line); color: var(--muted); font-size: .72rem; }
.production-parity-horse-table { overflow: hidden; }
.production-parity-horse-table > header { display: flex; gap: 1rem; align-items: end; justify-content: space-between; padding: 1rem; border-bottom: 1px solid var(--line); }
.production-parity-horse-table > header span { color: var(--cyan); font-size: .72rem; font-weight: 900; }
.production-parity-horse-table > header h2 { margin: .1rem 0 0; font-size: 1.2rem; }
.production-parity-view-switch { display: flex; gap: .3rem; }
.production-parity-view-switch button { display: grid; min-height: 48px; padding: .35rem .7rem; text-align: left; }
.production-parity-view-switch button small { color: var(--muted); font-size: .62rem; }
.production-parity-view-switch button[aria-pressed="true"] { border-color: var(--red); color: #fff; background: var(--red); }
.production-parity-glossary { display: flex; gap: .35rem; align-items: center; padding: .7rem 1rem .35rem; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; }
.production-parity-glossary span { color: var(--muted); font-size: .68rem; }
.production-parity-glossary b { padding: .16rem .36rem; border: 1px solid var(--line); font-size: .66rem; }
.production-parity-controls { display: grid; gap: .4rem; padding: .4rem 1rem .8rem; }
.production-parity-controls > div { display: flex; gap: .3rem; align-items: center; flex-wrap: wrap; }
.production-parity-controls span { width: 5rem; color: var(--muted); font-size: .68rem; }
.production-parity-controls button { min-height: 44px; padding: .25rem .55rem; }
.production-parity-controls button[aria-pressed="true"] { border-color: var(--red); color: #fff; background: var(--red); }
.production-parity-table-scroll { overflow-x: auto; border-top: 1px solid var(--line); scrollbar-width: thin; }
.production-parity-list-table { width: 100%; min-width: 1560px; border-collapse: collapse; }
.production-parity-list-table th, .production-parity-list-table td { padding: .6rem .45rem; border-bottom: 1px solid var(--line); text-align: center; }
.production-parity-list-table thead th { position: sticky; z-index: 2; top: 0; color: var(--muted); background: #102119; font-size: .7rem; }
.production-parity-list-table tbody > tr:not(.production-parity-detail-row):hover { background: rgb(111 221 165 / .035); }
.production-parity-list-table tbody > tr > th { width: 2.5rem; color: #07100c; background: #dde7e2; font-size: 1.1rem; }
.production-parity-list-table td:nth-child(2) { min-width: 210px; text-align: left; }
.production-parity-list-table td:nth-child(2) strong, .production-parity-list-table td:nth-child(2) small { display: block; }
.production-parity-list-table td:nth-child(2) small { margin-top: .18rem; color: var(--muted); font-size: .65rem; }
.production-parity-metric { --metric-rgb: 200 140 96; display: grid; min-width: 4rem; justify-items: center; padding: .18rem; border-radius: 6px; background: rgb(var(--metric-rgb) / var(--metric-strength, .04)); opacity: .35; transition: opacity var(--speed) ease; }
.production-parity-metric.is-highlighted { opacity: 1; }
.production-parity-metric small { color: var(--muted); font-size: .6rem; }
.production-parity-metric b { color: rgb(var(--metric-rgb)); font-size: 1rem; }
.production-parity-metric i { color: var(--muted); font-size: .58rem; font-style: normal; }
.production-parity-metric[data-metric="senko"] { --metric-rgb: 228 58 58; }
.production-parity-metric[data-metric="agari"] { --metric-rgb: 92 150 120; }
.production-parity-metric[data-metric="goku"] { --metric-rgb: 158 92 150; }
.production-parity-metric[data-metric="total"] { --metric-rgb: 200 140 96; }
.production-parity-metric[data-metric="tazuna"] { --metric-rgb: 106 160 216; }
.production-parity-observation { color: var(--cyan); white-space: nowrap; }
.production-parity-owner-mark { color: var(--violet); }
.production-parity-tags { display: flex; gap: .2rem; flex-wrap: wrap; min-width: 8rem; }
.production-parity-tags span { padding: .13rem .3rem; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font-size: .6rem; white-space: nowrap; }
.production-parity-detail-row > td { padding: 0 !important; background: #07110d; }
.production-parity-detail { padding: .9rem; text-align: left; }
.production-parity-detail > header { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.production-parity-detail > header span { color: var(--muted); font-size: .68rem; }
.production-parity-detail h3 { margin: .05rem 0; color: var(--gold); }
.production-parity-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .45rem; margin-top: .7rem; }
.production-parity-detail-grid article { min-width: 0; padding: .65rem; border: 1px solid var(--line); background: #0d1a14; }
.production-parity-detail-grid article.is-wide { grid-column: span 2; }
.production-parity-detail-grid article > span { color: var(--muted); font-size: .64rem; }
.production-parity-detail-grid article > b, .production-parity-detail-grid article > p { display: block; margin: .18rem 0 0; overflow-wrap: anywhere; }
.production-parity-detail-grid article > b { color: var(--cyan); font-size: .82rem; }
.production-parity-detail-grid article > p, .production-parity-detail-grid li { color: #c7d0cb; font-size: .72rem; line-height: 1.5; }
.production-parity-detail-grid ol { margin: .25rem 0 0; padding-left: 1rem; }
.production-parity-detail-grid textarea { width: 100%; min-height: 70px; margin-top: .3rem; resize: vertical; color: var(--ink); background: #07110d; }
.production-parity-mark-palette { display: flex; gap: .35rem; margin-top: .7rem; flex-wrap: wrap; }
.production-parity-mark-palette button { min-width: 44px; min-height: 44px; padding: .25rem .5rem; }
.production-parity-mark-palette button[aria-pressed="true"] { border-color: var(--violet); color: #fff; background: #392e52; }
.production-parity-list-table td > .production-parity-mark-palette { flex-wrap: nowrap; margin-top: 0; }
.production-parity-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; padding: .7rem; border-top: 1px solid var(--line); }
.production-parity-horse-card { min-width: 0; padding: .75rem; border: 1px solid var(--line); background: #09140f; }
.production-parity-horse-card > header { display: grid; grid-template-columns: 2.1rem 1fr auto; gap: .5rem; align-items: center; }
.production-parity-horse-card > header > span { display: grid; place-items: center; aspect-ratio: 1; color: #07100c; border-radius: 5px; background: #dde7e2; font-weight: 950; }
.production-parity-horse-card h3, .production-parity-horse-card p { margin: 0; }
.production-parity-horse-card header p { color: var(--muted); font-size: .65rem; }
.production-parity-horse-card header > b { color: var(--violet); }
.production-parity-card-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .2rem; margin: .55rem 0; }
.production-parity-card-signals { display: grid; grid-template-columns: auto auto 1fr; gap: .3rem; margin: .4rem 0; }
.production-parity-card-signals > div { min-width: 0; padding: .35rem; border: 1px solid var(--line); }
.production-parity-card-signals dt { color: var(--muted); font-size: .58rem; }
.production-parity-card-signals dd { margin: .12rem 0 0; color: var(--cyan); font-size: .72rem; }
.production-parity-card-note { min-height: 2.6rem; margin: .4rem 0; color: #c7d0cb; font-size: .7rem; }
.production-parity-horse-card > button { width: 100%; }
.production-parity-horse-card .production-parity-detail { margin-top: .7rem; padding: .7rem 0 0; border-top: 1px solid var(--line); }
.production-parity-overview { margin: 0 .7rem .7rem; border: 1px solid var(--line); }
.production-parity-overview-head, .production-parity-overview-row { display: grid; grid-template-columns: 2.2rem minmax(9rem, 1fr) repeat(6, minmax(2.8rem, .42fr)); align-items: center; min-width: 610px; }
.production-parity-overview-head { color: var(--muted); background: #102119; font-size: .65rem; }
.production-parity-overview-head > *, .production-parity-overview-row > * { min-width: 0; padding: .45rem .35rem; text-align: center; }
.production-parity-overview-row { border-top: 1px solid var(--line); }
.production-parity-overview-row > b { color: #07100c; background: #dde7e2; }
.production-parity-overview-row > strong { overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-overview-row span[data-overview-metric="senko"] { color: #ff7b62; }
.production-parity-overview-row span[data-overview-metric="agari"] { color: #8ad6ff; }
.production-parity-overview-row span[data-overview-metric="goku"] { color: #f2d178; }
.production-parity-overview-row span[data-overview-metric="total"] { color: #e8edf0; }
.production-parity-overview-row span[data-rank="1"] { background: rgb(242 209 120 / .22); font-weight: 950; }
.production-parity-legend { margin: 0; padding: .65rem 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .68rem; }
.production-parity-ledger { padding: .8rem 1rem; }
.production-parity-ledger h2 { margin: 0; font-size: .95rem; }
.production-parity-ledger p { margin: .3rem 0 0; color: var(--violet); }
.production-parity-weapons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.production-parity-weapons article { padding: .8rem; border: 1px solid var(--line); background: #0c1712; }
.production-parity-weapons span, .production-parity-weapons b { display: block; }
.production-parity-weapons span { color: var(--gold); font-size: .68rem; font-weight: 900; }
.production-parity-weapons b { margin-top: .25rem; }
.production-parity-weapons p { margin: .25rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.production-parity-lineup { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; padding: .8rem; }
.production-parity-lineup h2 { grid-column: 1 / -1; margin: 0; font-size: 1rem; }
.production-parity-lineup div { min-width: 0; padding: .65rem; border: 1px solid var(--line); }
.production-parity-lineup div b, .production-parity-lineup div span { display: block; }
.production-parity-lineup div b { color: var(--gold); }
.production-parity-lineup div span { margin-top: .2rem; color: #c7d0cb; font-size: .7rem; line-height: 1.5; overflow-wrap: anywhere; }
.production-parity-reading { display: grid; grid-template-columns: 1.4fr .6fr; gap: .6rem; padding: .8rem; }
.production-parity-reading > div, .production-parity-reading aside { padding: .65rem; border: 1px solid var(--line); }
.production-parity-reading span, .production-parity-reading aside b { color: var(--gold); font-size: .68rem; }
.production-parity-reading h2 { margin: .2rem 0; font-size: 1rem; }
.production-parity-reading p { margin: .2rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.production-parity-seal { display: grid; grid-template-columns: 1fr auto; gap: .55rem 1rem; align-items: center; padding: .8rem; }
.production-parity-seal span { color: var(--gold); font-size: .68rem; }
.production-parity-seal h2 { margin: .15rem 0 0; font-size: 1rem; }
.production-parity-seal > div:nth-child(2) { display: flex; gap: .3rem; flex-wrap: wrap; }
.production-parity-seal button { min-height: 44px; padding: .3rem .65rem; }
.production-parity-seal button[aria-pressed="true"] { border-color: var(--gold); color: #07100c; background: var(--gold); }
.production-parity-seal > p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .68rem; }

@media (max-width: 900px) {
  .production-parity-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-cards, .production-parity-weapons { grid-template-columns: 1fr; }
  .production-parity-lineup { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .production-parity-card { gap: .55rem; }
  .production-parity-race-header, .production-parity-vessel, .production-parity-ledger, .production-parity-reading, .production-parity-seal { padding: .65rem; }
  .production-parity-race-header > div:last-child { display: block; }
  .production-parity-race-header > div:last-child > p:last-child { margin-top: .25rem; text-align: left; }
  .production-parity-race-nav { overflow-x: auto; }
  .production-parity-race-nav span, .production-parity-race-nav button { flex: 0 0 auto; }
  .production-parity-vessel { grid-template-columns: 1fr; }
  .production-parity-vessel ul { grid-column: 1; flex-direction: column; }
  .production-parity-horse-table > header { align-items: stretch; flex-direction: column; padding: .65rem; }
  .production-parity-view-switch { width: 100%; }
  .production-parity-view-switch button { flex: 1; padding-inline: .45rem; }
  .production-parity-glossary { padding-inline: .65rem; }
  .production-parity-controls { padding-inline: .65rem; }
  .production-parity-controls > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .production-parity-controls span { grid-column: 1 / -1; width: auto; }
  .production-parity-controls button { min-width: 0; padding-inline: .25rem; }
  .production-parity-detail { padding: .6rem; }
  .production-parity-detail-grid { grid-template-columns: 1fr; }
  .production-parity-detail-grid article.is-wide { grid-column: 1; }
  .production-parity-card-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .production-parity-card-metrics .production-parity-metric { min-width: 0; }
  .production-parity-overview { margin: 0 .4rem .4rem; overflow-x: auto; scrollbar-width: thin; }
  .production-parity-overview-head, .production-parity-overview-row { min-width: 580px; }
  .production-parity-lineup { grid-template-columns: 1fr; }
  .production-parity-reading { grid-template-columns: 1fr; }
  .production-parity-seal { grid-template-columns: 1fr; }
  .production-parity-seal > div:nth-child(2) { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .production-parity-seal button { min-width: 0; padding-inline: .15rem; font-size: .72rem; }
}

/* Stage 3 approved-parity improvement: same data, faster judgment, no horizontal board. */
.production-parity-primary-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin-top: .85rem; }
.production-parity-primary-actions button { display: grid; min-width: 0; min-height: 58px; align-content: center; padding: .45rem .7rem; text-align: left; }
.production-parity-primary-actions button b { font-size: .9rem; }
.production-parity-primary-actions button small { margin-top: .1rem; color: var(--muted); font-size: .62rem; }
.production-parity-primary-actions button[aria-pressed="true"] { border-color: var(--red); color: #fff; background: linear-gradient(135deg, #a7331e, var(--red)); }
.production-parity-race-header .production-parity-primary-actions { grid-column: 1 / -1; }
.production-parity-race-header > .production-parity-primary-actions:last-child { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.production-parity-horse-table > header { align-items: start; }
.production-parity-horse-table > header > p { max-width: 38rem; margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.55; }
.production-parity-glossary { flex-wrap: wrap; overflow: visible; white-space: normal; }
.production-parity-overview { display: grid; gap: .45rem; margin: 0; padding: .65rem; border: 0; background: #07110d; }
.production-parity-overview-row { display: grid; min-width: 0; padding: .65rem; border: 1px solid var(--line); border-radius: 8px; background: #0b1812; }
.production-parity-overview-row > header { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr) auto; gap: .55rem; align-items: center; }
.production-parity-overview-row > header > b { display: grid; min-height: 2.35rem; place-items: center; color: #07100c; border-radius: 6px; background: #dde7e2; font-size: 1rem; }
.production-parity-overview-row > header > div { min-width: 0; }
.production-parity-overview-row > header strong, .production-parity-overview-row > header small, .production-parity-overview-row > header > span > * { display: block; }
.production-parity-overview-row > header strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-overview-row > header small { color: var(--muted); font-size: .63rem; }
.production-parity-overview-row > header > span { text-align: right; }
.production-parity-overview-row > header > span small { color: var(--cyan); }
.production-parity-overview-row > header > span b { color: var(--gold); font-size: .78rem; }
.production-parity-overview-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .2rem; margin-top: .5rem; padding: .42rem; border-radius: 7px; background: #07110d; }
.production-parity-overview-metrics .production-parity-metric { min-width: 0; }
.production-parity-overview-row > footer, .production-parity-row-actions { display: grid; grid-template-columns: minmax(7.5rem, 1fr) auto auto; gap: .35rem; align-items: end; margin-top: .55rem; }
.production-parity-overview-row > footer > *, .production-parity-row-actions > * { min-width: 0; }
.production-parity-overview-row > footer button, .production-parity-row-actions button { min-height: 44px; padding: .3rem .6rem; }
.production-parity-quick-mark { display: grid; gap: .15rem; min-width: 0; }
.production-parity-quick-mark span { color: var(--muted); font-size: .6rem; }
.production-parity-quick-mark select { width: 100%; min-height: 44px; padding: .3rem .5rem; color: var(--ink); border: 1px solid var(--line); border-radius: 5px; background: #07110d; }
.production-parity-overview-row > .production-parity-detail { margin-top: .65rem; border-top: 1px solid var(--line); }
.production-parity-card-signals { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.production-parity-cards.is-detail-view { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.production-parity-race-dna, .production-parity-uncertainty, .production-parity-scenarios, .production-parity-compare, .production-parity-gokuraku { padding: 1rem; border: 1px solid var(--line); background: #0c1712; }
.production-parity-race-dna { position: relative; overflow: hidden; border-top: 2px solid var(--gold); }
.production-parity-race-dna::before { position: absolute; inset: 0 auto 0 0; width: 4px; content: ""; background: linear-gradient(var(--gold), var(--red)); }
.production-parity-race-dna > header, .production-parity-uncertainty > header, .production-parity-scenarios > header, .production-parity-compare > header, .production-parity-gokuraku > header { display: flex; gap: .8rem; align-items: start; justify-content: space-between; }
.production-parity-race-dna > header span, .production-parity-uncertainty > header span, .production-parity-scenarios > header span, .production-parity-compare > header span, .production-parity-gokuraku > header span { color: var(--gold); font-size: .67rem; font-weight: 950; letter-spacing: .06em; }
.production-parity-race-dna h2, .production-parity-uncertainty h2, .production-parity-scenarios h2, .production-parity-compare h2, .production-parity-gokuraku h2 { margin: .18rem 0 0; font-size: 1.05rem; line-height: 1.5; }
.production-parity-race-dna > header > b { flex: 0 0 auto; padding: .4rem .6rem; color: #07100c; border-radius: 999px; background: var(--gold); font-size: .75rem; }
.production-parity-dna-grid, .production-parity-scenarios > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin-top: .75rem; }
.production-parity-dna-grid article, .production-parity-scenarios article { padding: .7rem; border: 1px solid var(--line); background: #09140f; }
.production-parity-dna-grid span, .production-parity-scenarios article > span { color: var(--muted); font-size: .63rem; }
.production-parity-dna-grid b, .production-parity-scenarios article > b { display: block; margin-top: .2rem; color: var(--cyan); font-size: .84rem; line-height: 1.45; }
.production-parity-dna-grid p, .production-parity-scenarios article > p, .production-parity-scenarios > small, .production-parity-dna-trace { margin: .3rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }
.production-parity-dna-trace { padding-top: .6rem; border-top: 1px solid var(--line); }
.production-parity-uncertainty > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; margin-top: .7rem; }
.production-parity-uncertainty article { padding: .65rem; border: 1px solid var(--line); border-radius: 6px; background: #09140f; }
.production-parity-uncertainty article span, .production-parity-uncertainty article b { display: block; }
.production-parity-uncertainty article span { color: var(--muted); font-size: .62rem; }
.production-parity-uncertainty article b { margin-top: .15rem; color: var(--gold); font-size: .78rem; }
.production-parity-uncertainty article p { margin: .2rem 0 0; color: var(--muted); font-size: .65rem; line-height: 1.45; }
.production-parity-compare > header button, .production-parity-gokuraku > header button { min-height: 44px; }
.production-parity-compare > p { margin: .7rem 0 0; color: var(--muted); font-size: .72rem; }
.production-parity-compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .7rem; }
.production-parity-compare-grid article { padding: .7rem; border: 1px solid var(--line); background: #09140f; }
.production-parity-compare-grid article header { display: flex; gap: .5rem; align-items: center; }
.production-parity-compare-grid article header b { display: grid; width: 2rem; min-height: 2rem; place-items: center; color: #07100c; border-radius: 5px; background: #dde7e2; }
.production-parity-compare-grid dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .2rem; margin: .55rem 0; }
.production-parity-compare-grid dl > div { min-width: 0; padding: .35rem .2rem; text-align: center; border: 1px solid var(--line); }
.production-parity-compare-grid dt { color: var(--muted); font-size: .58rem; }
.production-parity-compare-grid dd { margin: .15rem 0 0; color: var(--gold); font-size: .66rem; overflow-wrap: anywhere; }
.production-parity-compare-grid article > p { margin: 0; color: var(--muted); font-size: .67rem; line-height: 1.5; }

.production-parity-gokuraku { border-top: 2px solid var(--red); background: radial-gradient(circle at 92% 3%, rgb(242 209 120 / .09), transparent 23rem), #0c1712; }
.production-parity-gokuraku > p { max-width: 54rem; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.production-parity-gokuraku-questions { display: grid; gap: .55rem; margin-top: .75rem; }
.production-parity-gokuraku fieldset { min-width: 0; padding: .7rem; border: 1px solid var(--line); }
.production-parity-gokuraku legend { padding-inline: .35rem; color: var(--gold); font-weight: 900; }
.production-parity-gokuraku fieldset > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
.production-parity-gokuraku fieldset button { display: grid; min-width: 0; min-height: 58px; align-content: center; padding: .45rem; text-align: left; }
.production-parity-gokuraku fieldset button small { color: var(--muted); font-size: .62rem; }
.production-parity-gokuraku fieldset button[aria-pressed="true"] { border-color: var(--gold); color: #07100c; background: var(--gold); }
.production-parity-gokuraku fieldset button[aria-pressed="true"] small { color: #28382f; }
.production-parity-gokuraku-result { margin-top: .8rem; padding: .8rem; border: 1px solid var(--gold); background: #09140f; }
.production-parity-gokuraku-result > span { color: var(--gold); font-size: .68rem; font-weight: 950; }
.production-parity-gokuraku-result > div { display: grid; gap: .35rem; margin-top: .5rem; }
.production-parity-gokuraku-result article { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) auto; gap: .5rem; align-items: center; padding: .55rem; border: 1px solid var(--line); }
.production-parity-gokuraku-result article > b { color: var(--gold); font-size: 1.15rem; text-align: center; }
.production-parity-gokuraku-result article strong, .production-parity-gokuraku-result article small { display: block; }
.production-parity-gokuraku-result article small, .production-parity-gokuraku-result article p, .production-parity-gokuraku-result > small { color: var(--muted); font-size: .65rem; }
.production-parity-gokuraku-result article p { margin: 0; text-align: right; }
.production-parity-gokuraku-result > button { width: 100%; min-height: 48px; margin-top: .6rem; border-color: var(--red); color: #fff; background: var(--red); }
.production-parity-gokuraku-result > small { display: block; margin-top: .4rem; }

@media (max-width: 900px) {
  .production-parity-cards.is-detail-view { grid-template-columns: 1fr; }
  .production-parity-dna-grid, .production-parity-scenarios > div { grid-template-columns: 1fr; }
  .production-parity-uncertainty > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .production-parity-race-header .production-parity-primary-actions { margin-top: .65rem; }
  .production-parity-primary-actions button { min-height: 55px; padding: .35rem .45rem; }
  .production-parity-primary-actions button small { font-size: .56rem; }
  .production-parity-race-nav { overflow: visible; }
  .production-parity-horse-table > header { gap: .3rem; }
  .production-parity-overview { padding: .4rem; }
  .production-parity-overview-row { padding: .55rem; }
  .production-parity-overview-row > header { grid-template-columns: 2.1rem minmax(0, 1fr) auto; gap: .4rem; }
  .production-parity-overview-row > header > span small { max-width: 5.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .production-parity-overview-metrics { padding-inline: .15rem; }
  .production-parity-metric small, .production-parity-metric i { font-size: .52rem; }
  .production-parity-metric b { font-size: .88rem; }
  .production-parity-overview-row > footer, .production-parity-row-actions { grid-template-columns: minmax(0, 1fr) minmax(3.5rem, .55fr) minmax(3.5rem, .55fr); }
  .production-parity-overview-row > footer button, .production-parity-row-actions button { width: 100%; min-width: 0; padding-inline: .25rem; }
  .production-parity-controls > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .production-parity-race-dna, .production-parity-uncertainty, .production-parity-scenarios, .production-parity-compare, .production-parity-gokuraku { padding: .65rem; }
  .production-parity-race-dna > header { display: grid; }
  .production-parity-race-dna > header > b { justify-self: start; }
  .production-parity-uncertainty > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-compare-grid { grid-template-columns: 1fr; }
  .production-parity-compare-grid dl { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .production-parity-gokuraku > header { display: grid; }
  .production-parity-gokuraku > header button { justify-self: start; }
  .production-parity-gokuraku fieldset > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .production-parity-gokuraku-result article { grid-template-columns: 2rem minmax(0, 1fr); }
  .production-parity-gokuraku-result article p { grid-column: 1 / -1; text-align: left; }
}

/* Stage 3 mobile-first repair: compact overview, inline depth, full Gokuraku journey. */
.production-parity-race-brief { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); gap: .5rem 1rem; padding: .75rem 1rem; border: 1px solid var(--line); border-left: 4px solid var(--red); background: linear-gradient(135deg, #0c1c15, #09120e); }
.production-parity-race-brief span { color: var(--gold); font-size: .66rem; font-weight: 950; letter-spacing: .07em; }
.production-parity-race-brief h2 { margin: .15rem 0 .25rem; font-size: 1rem; }
.production-parity-race-brief h2 b { color: var(--cyan); font-size: 1.8rem; }
.production-parity-race-brief h2 small { color: var(--muted); font-size: .58rem; }
.production-parity-race-brief p { margin: .15rem 0 0; color: #c8d2cc; font-size: .72rem; line-height: 1.55; }
.production-parity-race-brief ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; align-self: center; margin: 0; padding: 0; list-style: none; }
.production-parity-race-brief li { padding: .45rem; border: 1px solid var(--line); color: var(--muted); font-size: .62rem; text-align: center; }
.production-parity-race-brief li b { display: block; margin-top: .1rem; color: var(--cyan); font-size: .72rem; }
.production-parity-race-brief > details { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.production-parity-race-brief > details > summary { min-height: 40px; padding: .45rem 0 0; color: var(--gold); cursor: pointer; font-size: .66rem; }
.production-parity-race-brief dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin: 0; }
.production-parity-race-brief dl > div { padding: .55rem; border: 1px solid var(--line); background: #07110d; }
.production-parity-race-brief dt { color: var(--muted); font-size: .6rem; }
.production-parity-race-brief dd { margin: .2rem 0 0; color: #f2ead4; font-size: .7rem; font-weight: 850; line-height: 1.4; }

.production-parity-lineup-map { padding: .8rem 1rem; border: 1px solid var(--line); background: #0c1712; }
.production-parity-lineup-map > header { display: flex; gap: .8rem; align-items: end; justify-content: space-between; }
.production-parity-lineup-map > header span { color: var(--gold); font-size: .64rem; font-weight: 950; letter-spacing: .08em; }
.production-parity-lineup-map > header h2 { margin: .12rem 0 0; font-size: 1rem; }
.production-parity-lineup-map > header p { margin: 0; color: var(--muted); font-size: .65rem; }
.production-parity-lineup-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; margin-top: .65rem; }
.production-parity-lineup-groups article { min-width: 0; padding: .55rem; border: 1px solid var(--line); border-radius: 7px; background: #07110d; }
.production-parity-lineup-groups article header { display: flex; align-items: center; justify-content: space-between; }
.production-parity-lineup-groups article header b { font-size: .72rem; }
.production-parity-lineup-groups article header span { color: var(--muted); font-size: .58rem; }
.production-parity-lineup-groups article > div { display: flex; gap: .22rem; flex-wrap: wrap; margin-top: .35rem; }
.production-parity-lineup-groups article > div span { display: grid; place-items: center; min-width: 28px; min-height: 28px; padding: .15rem; border-radius: 6px; color: #07100c; font-size: .68rem; font-weight: 950; }
.production-parity-lineup-groups .is-front { border-color: #82463c; }
.production-parity-lineup-groups .is-stalker { border-color: #8b6a2c; }
.production-parity-lineup-groups .is-middle { border-color: #5d6560; }
.production-parity-lineup-groups .is-closer { border-color: #315c80; }
.production-parity-lineup-groups .is-front > div span { background: #e2675a; }
.production-parity-lineup-groups .is-stalker > div span { background: #e0a44a; }
.production-parity-lineup-groups .is-middle > div span { background: #aab0b8; }
.production-parity-lineup-groups .is-closer > div span { background: #6aa0d8; }
.production-parity-lineup-balance { display: flex; min-height: 34px; margin-top: .6rem; overflow: hidden; border-radius: 7px; }
.production-parity-lineup-balance span { display: grid; min-width: 2.4rem; place-items: center; color: #07100c; font-size: .64rem; font-weight: 950; }
.production-parity-lineup-balance .is-front { background: #e99a43; }
.production-parity-lineup-balance .is-middle { background: #aab0b8; }
.production-parity-lineup-balance .is-back { background: #6aa0d8; }
.production-parity-lineup-chips { display: flex; gap: .35rem; flex-wrap: wrap; margin-top: .55rem; }
.production-parity-lineup-chips > * { padding: .35rem .5rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .6rem; line-height: 1.45; }
.production-parity-lineup-chips strong { border-color: #7f4038; color: #ffb0a0; font-weight: 750; }

.production-parity-glossary { display: block; padding: .4rem .7rem; overflow: visible; white-space: normal; }
.production-parity-glossary > summary { min-height: 36px; color: var(--muted); cursor: pointer; font-size: .64rem; }
.production-parity-glossary > div { display: flex; gap: .3rem; flex-wrap: wrap; padding-bottom: .25rem; }

.production-parity-commandbar { display: grid; grid-template-columns: repeat(2, minmax(8rem, 1fr)) auto; gap: .45rem; align-items: end; padding: .55rem .7rem; border-block: 1px solid var(--line); background: #08130e; }
.production-parity-commandbar label { display: grid; gap: .18rem; }
.production-parity-commandbar label span { color: var(--muted); font-size: .58rem; }
.production-parity-commandbar select, .production-parity-commandbar button { width: 100%; min-height: 44px; color: var(--ink); border: 1px solid var(--line-strong); border-radius: 6px; background: #0c1c15; }
.production-parity-commandbar button[aria-pressed="true"] { border-color: var(--gold); color: #07100c; background: var(--gold); }

.production-parity-overview { gap: .25rem; padding: .35rem; }
.production-parity-overview-row { grid-template-columns: minmax(0, 1fr); gap: .32rem; align-items: stretch; min-width: 0; padding: .45rem .5rem; border-radius: 5px; }
.production-parity-overview-row > * { min-width: 0; padding: 0; text-align: initial; }
.production-parity-overview-row > header { grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .4rem; }
.production-parity-overview-row > header > b { min-height: 2rem; font-size: .9rem; }
.production-parity-overview-row > header strong { font-size: .82rem; }
.production-parity-overview-row > header small { font-size: .56rem; }
.production-parity-overview-row > header > span b { font-size: .68rem; }
.production-parity-overview-metrics { gap: .1rem; margin-top: 0; padding: .22rem .12rem; }
.production-parity-overview-metrics .production-parity-metric { min-height: 30px; padding: .12rem; }
.production-parity-overview-row > footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .28rem; margin-top: 0; }
.production-parity-overview-row > footer:has([data-parity-compare]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.production-parity-overview-row > footer button { min-height: 44px; padding: .2rem .35rem; font-size: .68rem; }
.production-parity-compact-signals { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .25rem .55rem; align-items: start; padding: .35rem .4rem; border-left: 2px solid var(--line-strong); color: var(--muted); font-size: .62rem; line-height: 1.4; }
.production-parity-compact-signals p, .production-parity-compact-signals small { grid-column: 1 / -1; margin: 0; color: #dbe3de; }
.production-parity-official-marks { display: flex; gap: .25rem; align-items: center; min-height: 24px; }
.production-parity-official-marks span { display: grid; min-width: 24px; min-height: 24px; place-items: center; padding: .08rem .2rem; border: 1px solid var(--line-strong); border-radius: 6px; color: var(--gold); font-size: .8rem; font-weight: 950; }
.production-parity-official-marks .is-list-pick { color: #91e1ff; border-color: #3c758b; }
.production-parity-official-marks .is-goku { color: #c9a8ff; border-color: #66528c; }
.production-parity-official-marks .is-empty { color: var(--muted); }
.production-parity-compact-signals .production-parity-tags { display: flex; gap: .2rem; flex-wrap: wrap; }
.production-parity-compact-signals .production-parity-tags span { padding: .16rem .3rem; border: 1px solid var(--line); border-radius: 999px; color: #c9d4ce; font-size: .56rem; }
.production-parity-deep-reading { border: 1px solid var(--line); background: #08130e; }
.production-parity-deep-reading > summary { display: grid; min-height: 58px; align-content: center; padding: .65rem 1rem; cursor: pointer; list-style-position: inside; }
.production-parity-deep-reading > summary span { color: var(--gold); font-weight: 900; }
.production-parity-deep-reading > summary small { margin-top: .18rem; color: var(--muted); }
.production-parity-deep-reading > div { display: grid; gap: .55rem; padding: 0 .55rem .55rem; }

.production-parity-gokuraku-live { margin-top: .7rem; padding: .65rem; border: 1px solid var(--gold); border-radius: 9px; background: linear-gradient(135deg, #16261c, #07110d); }
.production-parity-gokuraku-hero { display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center !important; }
.production-parity-gokuraku-hero p { margin: .3rem 0 0; color: var(--muted); font-size: .68rem; }
.production-parity-gokuraku-hero h2 { max-width: 16ch; margin-top: .34rem; padding-block: .12rem; border-block: 3px solid #e8de9d; color: #f6f2e7; font-size: clamp(1.65rem, 4vw, 3.65rem); line-height: 1.03; letter-spacing: -.035em; text-wrap: balance; }
.production-parity-gokushiki-seal { display: grid; min-width: 9rem; padding: .65rem .8rem; border: 1px solid #74663c; border-radius: 18px; background: linear-gradient(135deg, #24301e, #102019); }
.production-parity-gokushiki-seal span, .production-parity-gokushiki-seal small { color: var(--muted) !important; font-size: .58rem !important; letter-spacing: 0 !important; }
.production-parity-gokushiki-seal b { margin-block: .08rem; color: var(--gold); font-size: 1.35rem; }
.production-parity-gokuraku-count { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; align-items: center; margin-top: .65rem; padding: .6rem; border: 1px solid var(--line); background: #07110d; }
.production-parity-gokuraku-count span { color: var(--gold); font-size: .6rem; font-weight: 950; }
.production-parity-gokuraku-count h3 { margin: .1rem 0 0; font-size: clamp(1rem, 2vw, 1.5rem); }
.production-parity-gokuraku-count p { margin: .2rem 0 0; color: var(--muted); font-size: .64rem; }
.production-parity-gokuraku-count > div:last-child { display: grid; grid-template-columns: repeat(4, minmax(44px, 1fr)); gap: .3rem; }
.production-parity-gokuraku-count button { display: grid; min-width: 68px; min-height: 58px; align-content: center; justify-items: start; padding: .42rem .55rem; }
.production-parity-gokuraku-count button b, .production-parity-gokuraku-count button small { display: block; }
.production-parity-gokuraku-count button small { margin-top: .08rem; color: var(--muted); font-size: .52rem; }
.production-parity-gokuraku-count button[aria-pressed="true"] { color: #07100c; border-color: var(--gold); background: var(--gold); }
.production-parity-gokuraku-count button[aria-pressed="true"] small { color: #314236; }
.production-parity-gokuraku-live ol { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; margin: 0; padding: 0; list-style: none; }
.production-parity-gokuraku-live li { min-width: 0; padding: .45rem; border: 1px solid var(--line); }
.production-parity-gokuraku-live span, .production-parity-gokuraku-live b { display: block; }
.production-parity-gokuraku-live span { color: var(--muted); font-size: .56rem; }
.production-parity-gokuraku-live b { margin-top: .14rem; overflow: hidden; color: var(--cyan); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-gokuraku-live p { margin: .45rem 0 0; color: var(--muted); font-size: .62rem; text-align: center; }
.production-parity-gokuraku-zero { margin: 0; padding: .7rem; border: 1px dashed var(--line-strong); color: var(--muted); font-size: .7rem; }
.production-parity-gokuraku-preview-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; margin-top: .8rem; padding: .8rem; overflow: hidden; border: 1px solid #8d7840; border-radius: 14px; background: radial-gradient(circle at 96% 35%, rgb(242 209 120 / .15), transparent 15rem), linear-gradient(135deg, #172a22, #09130f); }
.production-parity-gokuraku-preview-hero span { color: var(--gold); font-size: .62rem; font-weight: 950; letter-spacing: .08em; }
.production-parity-gokuraku-preview-hero h3 { max-width: 20ch; margin: .22rem 0 0; font-size: clamp(1.45rem, 3.4vw, 3rem); line-height: 1.08; letter-spacing: -.03em; text-wrap: balance; }
.production-parity-gokuraku-preview-hero p { margin: .35rem 0 0; color: var(--muted); font-size: .7rem; }
.production-parity-gokuraku-preview-hero .decision-glow { width: clamp(72px, 10vw, 128px); height: clamp(72px, 10vw, 128px); font-size: clamp(2rem, 4vw, 3.6rem); }
.production-parity-gokuraku-movers { margin-top: .65rem; padding: .7rem; border: 1px solid var(--line); border-radius: 10px; background: radial-gradient(circle at 10% 0, rgb(242 209 120 / .13), transparent 18rem), #07110d; }
.production-parity-gokuraku-movers header { display: flex; gap: .5rem; align-items: baseline; }
.production-parity-gokuraku-movers header span { color: var(--gold); font-size: .6rem; font-weight: 950; }
.production-parity-gokuraku-movers h3 { margin: 0; font-size: .9rem; }
.production-parity-gokuraku-movers > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .35rem; margin-top: .5rem; }
.production-parity-gokuraku-movers article { display: grid; gap: .12rem; min-width: 0; min-height: 76px; align-content: center; padding: .45rem; border: 1px solid var(--line); border-radius: 8px; }
.production-parity-gokuraku-movers article span, .production-parity-gokuraku-movers article small { color: var(--muted); font-size: .56rem; }
.production-parity-gokuraku-movers article b { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-gokuraku-movers article.is-hero { border-color: var(--gold); background: linear-gradient(120deg, #30351e, #0a1911); }
.production-parity-gokuraku-movers article.is-support { border-color: var(--mint); }
.production-parity-gokuraku-movers article.is-pushed { border-color: #70463c; opacity: .78; }
.production-parity-gokuraku-decision { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .75fr); gap: .55rem; margin-top: .75rem; }
.production-parity-gokuraku-order, .production-parity-gokuraku-reason { padding: .7rem; border: 1px solid var(--line); background: #07110d; }
.production-parity-gokuraku-order header { display: flex; gap: .5rem; align-items: baseline; justify-content: space-between; }
.production-parity-gokuraku-order header span, .production-parity-gokuraku-reason > span { color: var(--gold); font-size: .6rem; font-weight: 950; }
.production-parity-gokuraku-order h3, .production-parity-gokuraku-reason h3 { margin: .1rem 0; font-size: .95rem; }
.production-parity-gokuraku-order header small { color: var(--muted); font-size: .56rem; }
.production-parity-gokuraku-order ol { display: grid; gap: .15rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.production-parity-gokuraku-rank { display: grid; grid-template-columns: 1.6rem 2.7rem minmax(0, 1fr) 2.2rem; gap: .35rem; align-items: center; min-height: 36px; padding: .25rem .35rem; border-bottom: 1px solid rgb(255 255 255 / .05); animation: parity-rank-settle 1100ms var(--spring) both; animation-delay: calc(var(--rank-index, 0) * 28ms); }
.production-parity-gokuraku-rank.is-marked { border-color: var(--line-strong); background: rgb(242 209 120 / .055); }
.production-parity-gokuraku-rank.is-hero { border-color: var(--gold); background: linear-gradient(90deg, rgb(242 209 120 / .14), transparent); }
.production-parity-gokuraku-rank.is-support { border-color: var(--mint); }
.production-parity-gokuraku-rank.is-pushed { opacity: .78; }
.production-parity-gokuraku-rank > span, .production-parity-gokuraku-rank > b { text-align: center; }
.production-parity-gokuraku-rank > b { color: var(--gold); font-size: .72rem; white-space: nowrap; }
.production-parity-gokuraku-rank strong, .production-parity-gokuraku-rank small { display: block; }
.production-parity-gokuraku-rank strong { font-size: .72rem; }
.production-parity-gokuraku-rank small { color: var(--muted); font-size: .56rem; }
.production-parity-gokuraku-rank em { color: var(--muted); font-size: .64rem; font-style: normal; text-align: right; }
.production-parity-gokuraku-rank em.is-up { color: var(--mint); }
.production-parity-gokuraku-rank em.is-down { color: #ff9b87; }
.production-parity-gokuraku-reason ul { display: grid; gap: .25rem; margin: .65rem 0; padding: 0; list-style: none; }
.production-parity-gokuraku-reason li { display: flex; justify-content: space-between; padding: .38rem .45rem; border: 1px solid var(--line); color: var(--muted); font-size: .65rem; }
.production-parity-gokuraku-reason li b { color: var(--cyan); }
.production-parity-gokuraku-reason p { color: #d6ded9; font-size: .68rem; line-height: 1.55; }
.production-parity-gokuraku-reason > section { display: grid; gap: .2rem; margin-block: .6rem; padding: .55rem; border: 1px solid #70463c; }
.production-parity-gokuraku-reason > section span { color: #ffb2a5; font-size: .58rem; }
.production-parity-gokuraku-reason > section b { font-size: .68rem; line-height: 1.5; }
.production-parity-gokuraku-reason dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: .35rem; }
.production-parity-gokuraku-reason dl > div { padding: .45rem; border: 1px solid var(--line); }
.production-parity-gokuraku-reason dt { color: var(--muted); font-size: .58rem; }
.production-parity-gokuraku-reason dd { margin: .12rem 0 0; color: var(--gold); font-weight: 900; }
.production-parity-gokuraku-uncertainty { margin-top: .65rem; padding: .7rem; border: 1px solid var(--line); background: #07110d; }
.production-parity-gokuraku-uncertainty header { display: flex; gap: .5rem; align-items: baseline; }
.production-parity-gokuraku-uncertainty header span { color: var(--gold); font-size: .6rem; }
.production-parity-gokuraku-uncertainty h3 { margin: 0; font-size: .86rem; }
.production-parity-gokuraku-uncertainty > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin-top: .55rem; }
.production-parity-gokuraku-uncertainty article { padding: .45rem; border: 1px solid var(--line); }
.production-parity-gokuraku-uncertainty article span, .production-parity-gokuraku-uncertainty article b { display: block; }
.production-parity-gokuraku-uncertainty article span { color: var(--muted); font-size: .56rem; }
.production-parity-gokuraku-uncertainty article b { margin-top: .14rem; font-size: .64rem; line-height: 1.45; }
.production-parity-gokuraku-separation { margin-top: .65rem; padding: .7rem; border: 1px solid var(--line); background: #07110d; }
.production-parity-gokuraku-separation header { display: flex; gap: .5rem; align-items: baseline; }
.production-parity-gokuraku-separation header span { color: var(--gold); font-size: .6rem; font-weight: 950; }
.production-parity-gokuraku-separation h3 { margin: 0; font-size: .86rem; }
.production-parity-gokuraku-separation > div { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .3rem; margin-top: .5rem; }
.production-parity-gokuraku-separation article { display: grid; gap: .12rem; min-width: 0; padding: .4rem; border: 1px solid var(--line); }
.production-parity-gokuraku-separation article b { overflow: hidden; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-gokuraku-separation article span { color: var(--muted); font-size: .56rem; }
.production-parity-gokuraku-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin-top: .7rem; }
.production-parity-gokuraku-actions button { min-height: 48px; }
.production-parity-gokuraku-actions > small { grid-column: 1 / -1; color: var(--muted); font-size: .62rem; }
.production-parity-gokuraku-v2 { position: relative; padding: clamp(.75rem, 1.5vw, 1.2rem); overflow: hidden; background: radial-gradient(circle at 72% 4%, rgb(87 222 170 / .08), transparent 28rem), radial-gradient(circle at 7% 28%, rgb(242 209 120 / .07), transparent 25rem), #07110d; }
.production-parity-gokuraku-v2::before { position: absolute; inset: 0; z-index: 0; background-image: linear-gradient(rgb(255 255 255 / .018) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .018) 1px, transparent 1px); background-size: 38px 38px; content: ""; pointer-events: none; }
.production-parity-gokuraku-v2 > * { position: relative; z-index: 1; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-hero { grid-template-columns: minmax(0, 1fr) auto auto; padding: clamp(.7rem, 1.4vw, 1.1rem); border: 1px solid #315343; border-radius: 18px; background: linear-gradient(135deg, rgb(13 34 25 / .96), rgb(5 16 12 / .96)); }
.production-parity-gokuraku-v2 .production-parity-gokuraku-hero h2 { max-width: 18ch; border: 0; font-size: clamp(2rem, 4.7vw, 4.35rem); line-height: .98; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-hero h2 em { display: block; color: #7cf1bf; font-style: normal; }
.production-parity-gokuraku-hero-actions { display: grid; gap: .35rem; min-width: 12rem; }
.production-parity-gokuraku-hero-actions button { min-height: 44px; }
.production-parity-gokuraku-hero-actions [data-parity-gokuraku-reset] { color: #94efd0; border-color: #3a755e; }
.production-parity-gokuraku-cockpit { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(19rem, .75fr); gap: .75rem; align-items: start; margin-top: .75rem; }
.production-parity-gokuraku-theater, .production-parity-gokuraku-panel { min-width: 0; padding: .7rem; border: 1px solid #294a3a; border-radius: 17px; background: rgb(5 16 12 / .9); box-shadow: 0 22px 55px rgb(0 0 0 / .22); }
.production-parity-gokuraku-flow { padding: .65rem; border: 1px solid #294638; background: linear-gradient(135deg, #0d2018, #07120e); }
.production-parity-gokuraku-flow header { display: grid; grid-template-columns: minmax(0, 1fr) 2.2rem minmax(0, 1fr) 2.2rem minmax(0, 1fr); align-items: center; color: #8aa398; font-size: .58rem; font-weight: 900; letter-spacing: .04em; }
.production-parity-gokuraku-flow header i { display: block; height: 1px; background: linear-gradient(90deg, #315748, #77e6b9); }
.production-parity-gokuraku-flow > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin-top: .35rem; }
.production-parity-gokuraku-flow > div b { min-width: 0; padding: .38rem; overflow: hidden; border: 1px solid rgb(119 230 185 / .18); color: #e5eee9; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-gokuraku-formation { margin-top: .6rem; padding: .65rem; border: 1px solid #294638; }
.production-parity-gokuraku-formation header { display: flex; gap: .55rem; align-items: baseline; }
.production-parity-gokuraku-formation header span { color: #70e6b5; font-size: .58rem; font-weight: 950; letter-spacing: .06em; }
.production-parity-gokuraku-formation h3 { margin: 0; font-size: .78rem; }
.production-parity-gokuraku-formation > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin-top: .5rem; }
.production-parity-gokuraku-formation > div > div { display: flex; gap: .22rem; min-width: 0; align-items: center; flex-wrap: wrap; padding: .38rem; border: 1px solid rgb(255 255 255 / .07); }
.production-parity-gokuraku-formation > div span { flex: 1 0 100%; color: #8ea69b; font-size: .56rem; }
.production-parity-gokuraku-formation i { display: grid; width: 1.42rem; height: 1.42rem; place-items: center; border: 1px solid #477866; border-radius: 999px; color: #dce9e2; font-size: .58rem; font-style: normal; }
.production-parity-gokuraku-panel { position: sticky; top: .7rem; max-height: calc(100vh - 1.4rem); overflow: auto; border-color: #3b6956; background: linear-gradient(180deg, #0d2119, #06120d 82%); }
.production-parity-gokuraku-panel > header { display: flex; gap: .6rem; align-items: center; justify-content: space-between; }
.production-parity-gokuraku-panel > header span { color: #83eabf; font-size: .63rem; font-weight: 900; }
.production-parity-gokuraku-panel > header span i { display: inline-block; width: .45rem; height: .45rem; margin-right: .28rem; border-radius: 999px; background: #58e3a9; box-shadow: 0 0 16px #58e3a9; }
.production-parity-gokuraku-panel > header button { min-height: 44px; color: #9bc7b4; }
.production-parity-gokuraku-history { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .28rem; margin-top: .55rem; }
.production-parity-gokuraku-history span { display: grid; gap: .12rem; min-width: 0; padding: .4rem; border: 1px solid #263d33; }
.production-parity-gokuraku-history b { color: #7ae8bb; font-size: .62rem; }
.production-parity-gokuraku-history small, .production-parity-gokuraku-history em { overflow: hidden; color: #b8c7c0; font-size: .52rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-gokuraku-history em { color: #72897e; }
.production-parity-gokuraku-history .is-done { border-color: #58b991; background: rgb(88 185 145 / .08); }
.production-parity-gokuraku-history .is-unused { opacity: .44; }
.production-parity-gokuraku-question-intro { margin-top: .75rem; }
.production-parity-gokuraku-question-intro span { color: #6fdbae; font-size: .58rem; font-weight: 950; }
.production-parity-gokuraku-question-intro h3 { margin: .22rem 0 0; font-size: clamp(1.15rem, 2.2vw, 1.75rem); line-height: 1.2; }
.production-parity-gokuraku-question-intro p { margin: .35rem 0 0; color: var(--muted); font-size: .64rem; line-height: 1.5; }
.production-parity-gokuraku-panel .production-parity-gokuraku-questions { margin-top: .65rem; }
.production-parity-gokuraku-panel fieldset { padding: .55rem; border-color: #2f4f41; }
.production-parity-gokuraku-panel fieldset + fieldset { margin-top: .5rem; }
.production-parity-gokuraku-panel legend { display: grid; gap: .08rem; width: 100%; color: #eff7f2; font-size: .75rem; }
.production-parity-gokuraku-panel legend small { color: #789186; font-size: .52rem; font-weight: 500; }
.production-parity-gokuraku-panel fieldset > div { grid-template-columns: 1fr; }
.production-parity-gokuraku-panel fieldset button { grid-template-columns: minmax(0, 1fr) auto; min-height: 54px; align-items: center; }
.production-parity-gokuraku-panel fieldset button b, .production-parity-gokuraku-panel fieldset button small { grid-column: 1; }
.production-parity-gokuraku-panel fieldset button i { grid-column: 2; grid-row: 1 / span 2; color: #6fe8b7; font-style: normal; }
.production-parity-gokuraku-panel fieldset button[aria-pressed="true"] i { color: #07100c; }
.production-parity-gokuraku-panel .production-parity-gokuraku-reason { margin-top: .7rem; border-color: #315344; background: #07130e; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-preview-hero { min-height: 150px; background: radial-gradient(circle at 92% 45%, rgb(93 233 178 / .15), transparent 14rem), linear-gradient(135deg, #132a20, #07130e); }
.production-parity-gokuraku-v2 .production-parity-gokuraku-preview-hero h3 { color: #eef8f3; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-preview-hero span { color: #6fe8b7; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-order { margin-top: .65rem; border-color: #315344; background: #07130e; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-order header > div { min-width: 0; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-order header span { color: #71e5b6; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-rank { min-height: 46px; border: 1px solid rgb(255 255 255 / .055); border-radius: 7px; animation-duration: 1400ms; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-rank.is-building { opacity: .67; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-rank.is-hero { border-color: #d9c979; box-shadow: inset 3px 0 #d9c979; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-rank.is-support { border-color: #5ac99b; box-shadow: inset 3px 0 #5ac99b; }
.production-parity-gokuraku-v2 .production-parity-gokuraku-live { border-color: #35614e; background: linear-gradient(135deg, #11261c, #07110d); }
@keyframes parity-rank-settle { from { opacity: .45; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 640px) {
  .production-parity-race-brief { grid-template-columns: 1fr; padding: .55rem .65rem; }
  .production-parity-race-brief dl { grid-template-columns: 1fr; }
  .production-parity-race-brief ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .production-parity-race-brief > details { grid-column: 1; }
  .production-parity-horse-table > header > p { display: none; }
  .production-parity-horse-table > header { padding-block: .45rem; }
  .production-parity-glossary { padding-block: .2rem; }
  .production-parity-commandbar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .45rem; }
  .production-parity-commandbar > button { grid-column: 1 / -1; }
  .production-parity-lineup-map { padding: .55rem .65rem; }
  .production-parity-lineup-map > header { display: grid; }
  .production-parity-lineup-map > header p { display: none; }
  .production-parity-lineup-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-lineup-chips > * { flex: 1 1 100%; border-radius: 7px; }
  .production-parity-gokuraku-hero { grid-template-columns: minmax(0, 1fr) auto !important; }
  .production-parity-gokuraku-hero-actions { grid-column: 1 / -1; grid-template-columns: 1fr; width: 100%; }
  .production-parity-gokuraku-cockpit { grid-template-columns: 1fr; }
  .production-parity-gokuraku-panel { position: static; order: -1; max-height: none; overflow: visible; }
  .production-parity-gokuraku-flow header { grid-template-columns: minmax(0, 1fr) .7rem minmax(0, 1fr) .7rem minmax(0, 1fr); }
  .production-parity-gokuraku-flow > div { grid-template-columns: 1fr; }
  .production-parity-gokuraku-formation > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-gokuraku-hero .decision-glow { width: 64px; height: 64px; }
  .production-parity-gokuraku-count { grid-template-columns: 1fr; }
  .production-parity-gokuraku-live ol { grid-template-columns: 1fr; }
  .production-parity-gokuraku-live li { display: grid; grid-template-columns: 4.8rem minmax(0, 1fr); align-items: center; }
  .production-parity-gokuraku-live b { margin-top: 0; white-space: normal; }
  .production-parity-gokuraku-movers > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-gokuraku-decision { grid-template-columns: 1fr; }
  .production-parity-gokuraku-order header { display: grid; }
  .production-parity-gokuraku-uncertainty > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-gokuraku-separation > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-gokuraku-actions { grid-template-columns: 1fr; }
  .production-parity-gokuraku-actions > small { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .production-parity-gokuraku-rank { animation: none; }
}

@media (max-width: 900px) {
  .board-head { display: grid; grid-template-columns: 1fr; gap: .55rem; padding-block: .35rem .55rem; }
  .board-head > div { min-width: 0; }
  .board-head .eyebrow { display: none; }
  .board-head h1 { font-size: clamp(1.9rem, 8vw, 2.7rem); }
  .board-head p { margin-block: .25rem; }
  .board-head aside { grid-template-columns: minmax(0, 1fr) auto; min-width: 0; padding: .55rem .65rem; text-align: left; }
  .board-head aside span, .board-head aside b, .board-head aside small { grid-column: 1; }
  .board-head aside button { grid-column: 2; grid-row: 1 / span 3; align-self: stretch; margin: 0; }
  .board-progress { grid-template-columns: 1fr; }
  .board-progress > div:first-child { display: none; }
  .board-progress-meter { grid-template-columns: minmax(0, 1fr) auto; }
  .board-command-summary { grid-template-columns: 1fr 1fr; }
  .board-command-summary > div:first-child { grid-column: 1 / -1; }
  .board-command-summary dl { align-self: stretch; }
  .board-lane-controls { display: none; }
  .board-lane-controls button { min-width: 44px; min-height: 44px; padding: 0; border-radius: 999px; color: var(--gold); font-size: 1.35rem; }
  .board-lane-controls p { display: grid; justify-items: center; gap: .05rem; margin: 0; color: var(--ink); }
  .board-lane-controls small { color: var(--muted); font-size: .66rem; }
  .board-race-lane ol { grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
  .board-race-lane li:not(.is-page-visible) { display: none; }
  .board-strategy { grid-template-columns: 1fr; }
  .board-strategy header { display: flex; align-items: end; justify-content: space-between; gap: .7rem; }
  .board-strategy header p:last-child { max-width: 32rem; text-align: right; }
  .board-control-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; padding: .55rem; }
  .board-control-head, .board-result-summary { grid-column: 1 / -1; margin: 0; }
  .board-tools, .board-sort { align-content: start; flex-wrap: wrap; margin: 0; overflow-x: visible; }
  .board-tools > span, .board-sort > span { flex-basis: 100%; }
  .board-table-head { display: none; }
  .day-board-row-button { min-height: 92px; }
  .board-row-core { grid-template-columns: 4.25rem minmax(0, 1fr) auto; gap: .2rem .55rem; min-height: 92px; padding-block: .5rem; }
  .day-board-row time { grid-column: 1; grid-row: 1; }
  .day-board-row .board-race-main { grid-column: 2; grid-row: 1 / span 2; }
  .day-board-row .board-state { grid-column: 3; grid-row: 1; white-space: nowrap; }
  .day-board-row .board-owner-marks { display: inline-flex; grid-column: 2; grid-row: 3; justify-self: start; white-space: nowrap; }
  .day-board-row .board-signals i, .day-board-row .board-owner-marks i { display: inline; }
  .day-board-row .board-row-action { grid-column: 3; grid-row: 2 / span 2; min-height: 44px; padding: .2rem .35rem; white-space: nowrap; }
  .day-board-row .board-row-action small { display: none; }
  .day-board-row .board-row-action b, .day-board-row .board-row-action i { grid-row: 1; }
  .board-owner-marks small { display: none; }
  .question-layout, .decision-layout, .companion-stage { grid-template-columns: 1fr; }
  .question-card, .reason-card { position: static; }
  .paper-grid { grid-template-columns: repeat(3, 1fr); }
  .inspector-grid { grid-template-columns: repeat(3, 1fr); }
  .community-controls { grid-template-columns: 1fr; }
  .community-row { grid-template-columns: 38px minmax(110px, 1fr) repeat(4, minmax(58px, .45fr)); }
}

@media (min-width: 431px) and (max-width: 900px) {
  .board-control-panel { grid-template-columns: 1fr; }
  .board-tools > span, .board-sort > span { flex: 0 0 4.6rem; }
  .board-tools button, .board-sort button { padding-inline: .5rem; }
}

@media (max-width: 760px) {
  .app-header { align-items: center; }
  body:not([data-current-stage="door"]) .app-header { min-height: 64px; padding: .25rem .45rem; }
  body:not([data-current-stage="door"]) .app-header .brand { display: none; }
  .global-nav { position: static; display: grid; flex: 1; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
  .global-nav button { display: grid; grid-template-columns: 1fr; gap: .16rem; justify-items: center; min-width: 0; min-height: 56px; padding: .28rem .1rem; }
  .global-nav button b { font-size: .66rem; }
  .global-nav button span { width: 1.35rem; }
  .brand { padding-top: .55rem; }
  .motion-control { max-width: 218px; }
  .journey-bar { top: 64px; }
  .journey-bar ol { display: none; }
  .journey-track { margin-bottom: 0; }
  .prediction-memory { align-items: stretch; flex-direction: column; gap: .35rem; }
  .prediction-memory p { text-align: left; }
  .prediction-memory .memory-state { align-self: flex-start; }
  main { padding: .8rem; }
  .start-stage { grid-template-columns: 1fr; align-content: center; gap: 1.5rem; }
  .board-head { align-items: stretch; flex-direction: column; }
  .board-head aside { min-width: 0; text-align: left; }
  .board-progress { grid-template-columns: 1fr; }
  .board-progress dl { grid-template-columns: repeat(3, minmax(6.2rem, 1fr)); overflow-x: auto; }
  .race-context-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
  .race-context-nav strong { grid-column: 1 / -1; grid-row: 1; justify-self: stretch; padding: .45rem; text-align: center; border: 1px solid var(--line); }
  #backToBoard { grid-column: 1; grid-row: 2; }
  #previousRace { grid-column: 2; grid-row: 2; }
  #nextRace { grid-column: 3; grid-row: 2; }
  #nextUnpredictedRace { grid-column: 1 / -1; grid-row: 3; }
  /* 【2026-08-28】スマホで上のボタンが居座って中身が見えない、という指摘の直し。
     ①貼り付き（常に見える）をやめて、スクロールで消えるようにする
     ②「新聞・共有」は上のタブにも同じ物があるので、ここでは出さない
     ③一望／詳細 と 極ラクモード を1行にまとめて、段数を減らす */
  .race-workbench { position: static; top: auto; box-shadow: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; margin: .4rem 0; padding: .35rem; }
  .race-workbench #openRaceOutput { display: none; }
  /* 一望・詳細・極ラクモードを、横1列3つに並べる（段を増やさない） */
  .race-workbench .race-view-switch { display: contents; }
  .race-workbench button { min-height: 44px; padding: .4rem .3rem; font-size: .82rem; }
  /* レース移動の列も1段に畳む（前のR・次のR・次の未確認 を横1列に） */
  .race-context-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .28rem; padding-bottom: .45rem; }
  .race-context-nav button { padding: .35rem .2rem; font-size: .74rem; white-space: nowrap; }
  .race-context-nav .race-context-day { grid-column: 1 / -1; grid-row: 3; justify-self: center; }
  .race-view-switch { grid-column: 1 / -1; }
  .race-workbench > button { min-width: 0; padding-inline: .4rem; }
  #openRaceOutput { grid-column: 1 / -1; }
  .hero-ticket { display: none; }
  .gokuraku-entry-grid { grid-template-columns: 1fr; }
  .gokushiki-card { align-items: stretch; flex-direction: column; }
  .gokushiki-builder-options, .gokushiki-create-actions { grid-template-columns: 1fr; }
  .stage-hero, .panel-heading, .privacy-preview { align-items: stretch; flex-direction: column; }
  .race-stamp, .gokushiki-seal, .paper-summary, .mini-companion { width: 100%; }
  #stage-racecard > .compact-hero { display: none; }
  .map-story, .analysis-lead { grid-template-columns: 1fr; }
  #stage-racecard .map-story { gap: .55rem; padding: .75rem; }
  #stage-racecard .map-story h2 { margin: .2rem 0; font-size: 1.05rem; }
  .map-story ol, .kpi-grid, .paper-stats { grid-template-columns: repeat(2, 1fr); }
  .uncertainty { min-width: 0; }
  .horse-table { min-width: 700px; }
  .horse-table th:nth-child(6), .horse-table td:nth-child(6),
  .horse-table th:nth-child(7), .horse-table td:nth-child(7),
  .horse-table th:nth-child(8), .horse-table td:nth-child(8) { display: none; }
  body[data-racecard-columns="detail"] .horse-table th:nth-child(6), body[data-racecard-columns="detail"] .horse-table td:nth-child(6),
  body[data-racecard-columns="detail"] .horse-table th:nth-child(7), body[data-racecard-columns="detail"] .horse-table td:nth-child(7),
  body[data-racecard-columns="detail"] .horse-table th:nth-child(8), body[data-racecard-columns="detail"] .horse-table td:nth-child(8) { display: table-cell; }
  body[data-racecard-columns="overview"] .horse-table { min-width: 650px; }
  body[data-racecard-columns="detail"] .horse-table { min-width: 940px; }
  .horse-table th:first-child, .horse-table td:first-child { min-width: 150px; }
  .horse-table .row-actions { flex-direction: column; }
  .compare-tray { align-items: stretch; flex-direction: column; }
  .compare-tray > button { width: 100%; }
  .scenario-buttons, .formation-rail, .analysis-foot, .recall-buttons, .review-grid, .companion-copy ol, .today-strip, .mypage-grid, .mypage-history-grid, .analysis-chart-grid, .analysis-prescription, .analysis-filter-grid, .analysis-replay ol, .community-safety { grid-template-columns: 1fr; }
  .newspaper-toolbar { grid-template-columns: 1fr; }
  .newspaper-toolbar .safe-copy { grid-column: auto; }
  .newspaper-editorial { grid-template-columns: 1fr; }
  .newspaper-editorial-grid { grid-template-columns: 1fr; }
  .newspaper-editorial article { min-height: 0; }
  .newspaper-scenario-visual { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .newspaper-scenario-visual article.is-main { grid-column: 1 / -1; grid-row: 1; }
  .mypage-history-row { grid-template-columns: 1fr; }
  .question-causal-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .question-causal-rail > b { display: none; }
  .question-causal-rail > .question-uncertainty { grid-column: 1 / -1; }
  .question-uncertainty-grid { grid-template-columns: 1fr; }
  .question-motion-mini { grid-template-columns: 1fr; }
  .live-rank ol { grid-template-columns: 1fr; }
  .decision-rank { grid-template-columns: 1fr; }
  /* スマホでは横に流さず縦に積む。5枚を横スクロールにしていたため、
     画面の右で切れて「見切れ」に見えていた（2026-08-28 実測＝中身813px／画面371px）。 */
  .mark-separation > div { grid-template-columns: 1fr; overflow-x: visible; }
  .receipt-grid { grid-template-columns: 1fr; }
  .paper-grid { grid-template-columns: repeat(2, 1fr); }
  .revision-line { grid-template-columns: 1fr; }
  .revision-line > span { justify-self: center; transform: rotate(90deg); }
  .control-panel { grid-template-columns: 1fr; }
  .control-panel > p { grid-column: auto; }
  .companion-portrait { width: min(50vw, 210px); justify-self: center; }
  .companion-copy > h1 { max-width: none; margin-block: .35rem .55rem; font-size: clamp(1.85rem, 8.2vw, 2.25rem); line-height: 1.12; }
  .companion-intro { margin-top: .3rem; font-size: .84rem; }
  .companion-view-tabs { position: sticky; top: calc(4.3rem + env(safe-area-inset-top)); z-index: 5; grid-template-columns: repeat(3, minmax(0, 1fr)); background: rgb(7 20 15 / .96); backdrop-filter: blur(12px); }
  .companion-view-tabs button { min-height: 52px; padding: .5rem .45rem; text-align: center; }
  .companion-next, .companion-profile { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .companion-next > span { display: none; }
  .companion-journey ol, .companion-actions ol { grid-template-columns: 1fr; }
  .companion-equipment ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .companion-journey li { min-height: 0; }
  .companion-journey li:not(:last-child)::after { content: "↓"; right: 50%; top: auto; bottom: -.75rem; }
  .companion-memories li { grid-template-columns: 1fr; gap: .2rem; }
  .analysis-health { grid-template-columns: 1fr; }
  .community-row { grid-template-columns: 38px minmax(110px, 1fr) repeat(4, minmax(58px, .45fr)); }
  .split-actions, .result-load-row { align-items: stretch; flex-direction: column; }
  .split-actions button, .result-load-row button { width: 100%; }
  .indicator-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .indicator-items { grid-template-columns: 1fr; }
  .indicator-center { align-items: flex-start; flex-direction: column; }
  .indicator-center p { text-align: left; }
  .racecard-sort { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; padding: .5rem; }
  .racecard-sort > span { grid-column: 1 / -1; }
  .racecard-sort button { min-width: 0; padding-inline: .2rem; }
  .table-key { flex-wrap: wrap; overflow: visible; padding: .55rem; }
  .table-key button { width: 100%; margin-left: 0; }
  #stage-racecard .table-scroll { overflow: visible; }
  #stage-racecard .horse-table { display: block; min-width: 0; }
  #stage-racecard .horse-table caption, #stage-racecard .horse-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  #stage-racecard .horse-table tbody { display: grid; gap: .55rem; padding: .55rem; }
  #stage-racecard .horse-table tr[data-horse-row] { display: grid; grid-template-columns: repeat(15, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #0b1812; }
  #stage-racecard .horse-table tr[data-horse-row] > th { position: static; grid-column: 1 / -1; min-width: 0; padding: .65rem; background: #10231a; box-shadow: none; }
  #stage-racecard .horse-table tr[data-horse-row] > td { display: grid; align-content: start; gap: .14rem; min-width: 0; padding: .55rem .45rem; border-right: 1px solid var(--line); text-align: left; white-space: normal; }
  /* 【2026-08-28】スマホの1頭ぶんの並び。書き手指示＝指標は5つ全部 見えること。
     上段＝MAP・極ラクモード印・本人印 の3つ／中段＝先行・上り・極・総合・ぶれ の5つを横一列／
     下段＝状態と365指標（詳細のときだけ）／最後に操作。一望でも指標は1つも隠さない。 */
  #stage-racecard .horse-table tr[data-horse-row] > td::before { color: var(--muted); font-size: .62rem; font-weight: 800; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(2)::before { content: "MAP"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(3)::before { content: "極ラクモード印"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(4)::before { content: "本人印"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(2) { grid-column: span 5; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(3) { grid-column: span 5; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(4) { grid-column: span 5; }
  /* 指標5つ＝横に等しく並べる（12列のうち各2列+余り調整で必ず1行に収める） */
  #stage-racecard .horse-table tr[data-horse-row] > td.metric-cell { grid-column: span 3; justify-items: center; padding: .4rem .12rem; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(5)::before { content: "先行"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(6)::before { content: "上り"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(7)::before { content: "極"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(8)::before { content: "総合"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(9)::before { content: "ぶれ"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(10)::before { content: "状態"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(11)::before { content: "365指標"; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(10) { grid-column: span 7; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(11) { grid-column: span 8; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(12) { grid-column: 1 / -1; border-top: 1px solid var(--line); border-right: 0; }
  #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(12)::before { content: "操作"; }
  /* 一望で畳むのは 状態 と 365指標 だけ＝指標そのものは常に全部 見せる。 */
  body[data-racecard-columns="overview"] #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(10),
  body[data-racecard-columns="overview"] #stage-racecard .horse-table tr[data-horse-row] > td:nth-child(11) { display: none; }
  #stage-racecard .horse-table .row-actions { display: grid; grid-template-columns: 1fr; gap: .35rem; }
  #stage-racecard .horse-table .row-actions > * { width: 100%; white-space: nowrap; }
  /* 極ラクモードを開いている間は、上の長い表と読み物を畳む＝質問がすぐ触れる位置に来る。
     閉じれば元どおり出る（消したのではなく、畳んだだけ）。 */
  body[data-inline-gokuraku="true"] #stage-racecard .table-panel,
  body[data-inline-gokuraku="true"] #stage-racecard .map-story,
  body[data-inline-gokuraku="true"] #stage-racecard .indicator-panel { display: none; }
  #stage-racecard .horse-detail-row { display: block; }
  #stage-racecard .horse-detail-row > td { display: block; }
}

.next-race-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px 24px;
  align-items: center;
  margin-top: 20px;
  border-color: rgba(55, 198, 156, .34);
  background: linear-gradient(135deg, rgba(55, 198, 156, .1), rgba(16, 30, 52, .92));
}

.next-race-card h2,
.next-race-card p { margin: 4px 0; }

.next-race-card .safe-copy {
  grid-column: 1 / -1;
  margin: 0;
}

@media (max-width: 760px) {
  .next-race-card { grid-template-columns: 1fr; }
  .next-race-card button { width: 100%; }
  .door-access-row { grid-template-columns: 1fr; }
  .door-access-row > .primary { width: 100%; }
  .door-next-actions { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  :root { font-size: 15px; }
  .app-header { min-height: 64px; padding-inline: .55rem; }
  .brand small { letter-spacing: .08em; }
  .motion-control { max-width: 204px; }
  .motion-control button { padding-inline: .48rem; font-size: .72rem; }
  .journey-bar { padding-inline: .6rem; }
  .prediction-memory { width: calc(100% - 1.1rem); }
  main { padding-inline: .58rem; }
  h1 { font-size: clamp(2rem, 11vw, 3rem); }
  .compact-hero h1 { font-size: clamp(1.8rem, 9vw, 2.7rem); }
  .hero-button, .forward-row .primary { width: 100%; }
  .door-shell { padding-block: .35rem 2rem; }
  .door-light { grid-template-rows: 48px 54px; margin-bottom: .55rem; }
  .door-light span { width: 54px; height: 54px; }
  .door-intro .lead { margin-top: .55rem; }
  .door-panel { margin-block: 1rem .8rem; padding: .85rem; }
  .door-access-row > .primary { width: 100%; }
  .door-next { padding: .8rem; }
  .door-member-link, .door-install-button { min-height: 64px; }
  .door-guide-links { gap: .2rem 1rem; }
  .door-footer { justify-content: space-between; gap: .8rem; font-size: .83rem; }
  .board-head { padding-top: .25rem; }
  .board-head h1 { font-size: clamp(1.9rem, 9vw, 2.55rem); }
  .board-head aside { padding: .6rem .7rem; }
  .board-progress { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); padding: .55rem; }
  .board-progress .eyebrow, .board-control-panel .eyebrow { display: none; }
  .board-progress-meter { grid-template-columns: 1fr; align-self: stretch; }
  .board-progress-meter > div, .board-progress-meter button { grid-column: 1; }
  .board-progress-meter button { min-height: 44px; }
  .board-progress dl { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow-x: visible; }
  .board-progress dl div { padding: .4rem .35rem; }
  .board-command-summary { grid-template-columns: 1fr; padding: .6rem; }
  .board-command-summary > div:first-child { display: none; }
  .board-command-summary dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .board-command-summary dl div { padding: .42rem; text-align: center; }
  .board-control-panel { display: block; padding: .55rem .65rem .2rem; }
  .board-control-head { align-items: center; flex-direction: row; margin-bottom: .35rem; }
  .board-control-head h2 { font-size: 1rem; }
  .board-control-actions { width: auto; }
  .board-control-actions button { flex: 0 0 auto; min-height: 44px; padding: .35rem .55rem; }
  #toggleBoardFilters { display: inline-flex; }
  #refreshDayBoard:disabled { display: none; }
  #resetBoardView:disabled { display: none; }
  .board-filter-body { display: none; }
  .board-control-panel.is-filter-open .board-filter-body { display: block; }
  .board-tools, .board-sort { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem; margin-bottom: .45rem; overflow: visible; }
  .board-tools > span, .board-sort > span { grid-column: 1 / -1; }
  .board-tools button, .board-sort button { width: 100%; min-width: 0; white-space: normal; }
  .board-filter-options { display: contents; }
  .board-race-lane { padding: .55rem; }
  .board-race-lane > header { align-items: start; flex-direction: column; gap: .15rem; }
  .board-race-lane > header .eyebrow { display: none; }
  .board-race-lane > header > p { font-size: .7rem; }
  .board-race-lane ol { grid-template-columns: 1fr; min-width: 0; }
  .board-race-lane li.is-next button { position: relative; }
  .board-race-lane button { min-height: 0; padding: .65rem; }
  .board-race-lane b { font-size: .82rem; }
  .board-strategy { padding: .6rem; }
  .board-strategy header { display: block; }
  .board-strategy header p:last-child { text-align: left; }
  .board-strategy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .board-strategy-grid article.is-now { grid-column: 1 / -1; }
  .board-strategy-grid article { min-height: 68px; }
  .board-row-core { grid-template-columns: 3.25rem minmax(0, 1fr) auto; gap: .2rem .4rem; min-height: 76px; padding: .45rem .52rem; }
  .board-panel[data-board-view="overview"] .day-board-row-button { min-height: 76px; }
  .board-row-core time { grid-column: 1; grid-row: 1; }
  .board-row-core .board-race-main { grid-column: 2; grid-row: 1 / span 2; }
  .board-row-core .board-state { grid-column: 3; grid-row: 1; white-space: nowrap; }
  .board-row-core .board-owner-marks { display: inline-flex; grid-column: 2; grid-row: 3; justify-self: start; white-space: nowrap; }
  .day-board-row .board-signals i, .day-board-row .board-owner-marks i { display: inline; }
  .board-row-core .board-row-action { grid-column: 3; grid-row: 2 / span 2; min-height: 44px; padding: .18rem .3rem; }
  .board-panel[data-board-view="detail"] .day-board-row-button { padding: .5rem; }
  .board-panel[data-board-view="detail"] .board-row-core { min-height: 76px; padding: 0 0 .5rem; }
  .board-panel[data-board-view="detail"] .board-detail-card { grid-template-columns: 1fr; padding-top: .5rem; }
  .day-board-row.is-expanded .board-detail-card { grid-template-columns: 1fr; margin: 0 .5rem .6rem; }
  .board-card-actions { justify-content: stretch; padding: 0 .5rem .55rem; }
  .board-card-actions button { flex: 1; }
  .board-card-actions > span { display: none; }
  .board-scenario-flow, .board-detail-source { min-height: 0; }
  .board-detail-fact, .board-detail-reading, .board-detail-risk, .board-detail-use { min-height: 0; }
  .board-detail-position { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .board-detail-position > span, .board-detail-reading, .board-detail-flow { min-height: 56px; }
  .board-list-toolbar { top: 0; min-height: 62px; padding: .35rem .5rem; }
  .board-list-toolbar { align-items: stretch; flex-direction: column; }
  .board-view-switch { width: 100%; }
  .board-view-switch button { flex: 1; }
  .board-view-switch > span { display: none; }
  .board-view-switch button { min-height: 44px; padding-inline: .55rem; }
  .board-mobile-dock { display: none; }
  .board-mobile-dock button { display: grid; place-items: center; min-height: 52px; padding: .25rem; border: 0; border-radius: 6px; background: transparent; }
  .board-mobile-dock button:focus-visible, .board-mobile-dock button[aria-pressed="true"] { outline: 2px solid var(--gold); outline-offset: -2px; background: #17271f; }
  .board-mobile-dock b { font-size: .78rem; }
  .board-mobile-dock small { color: var(--gold); font-size: .68rem; }
  .analysis-fingerprint { grid-template-columns: 1fr; }
  .analysis-fingerprint > div { min-height: 0; padding: .72rem; }
  .analysis-chart-grid { grid-template-columns: 1fr; }
  .analysis-counterevidence li { grid-template-columns: 1fr; gap: .25rem; }
  .analysis-timeline ol { grid-template-columns: 1fr; }
  .analysis-timeline li { min-height: 0; }
  body[data-current-stage="board"] main { padding-bottom: 2rem; }
  .racecard-sort { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-key { flex-wrap: wrap; overflow: visible; padding: .55rem; }
  .table-key button { width: 100%; margin-left: 0; }
  .inline-horse-detail { padding-inline: .6rem; }
  .map-story ol, .kpi-grid, .paper-stats, .paper-grid, .count-buttons { grid-template-columns: 1fr; }
  .indicator-summary { grid-template-columns: 1fr; }
  .inspector-grid { grid-template-columns: repeat(2, 1fr); }
  .inspector-grid .wide { grid-column: span 2; }
  .decision-glow { width: 84px; height: 84px; }
  .decision-rank li { grid-template-columns: 26px 34px minmax(0, 1fr) 2.8rem; padding-inline: .4rem; }
  .sealed-mini { min-width: 0; }
  .receipt-head { align-items: flex-start; flex-direction: column; }
  dialog { width: calc(100% - .7rem); padding: .85rem; }
}

@media (min-width: 1600px) {
  :root { font-size: 17px; }
  .paper-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .decision-rank { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .community-board ol { display: grid; grid-template-columns: 1fr 1fr; }
}

.production-parity-gokuraku-latest { padding: clamp(.7rem, 2vw, 1.15rem); border-top-color: var(--gold); background: radial-gradient(circle at 88% 2%, rgb(242 209 120 / .12), transparent 25rem), #08130f; }
.production-parity-gokuraku-latest > .production-parity-gokuraku-latest-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; padding-bottom: .85rem; border-bottom: 1px solid var(--line); }
.production-parity-gokuraku-latest-header > div:first-child > span { color: var(--gold); font-size: .67rem; font-weight: 950; letter-spacing: .08em; }
.production-parity-gokuraku-latest-header h2 { max-width: none; margin: .2rem 0 0; color: #f4f0e4; font-size: clamp(1.6rem, 4vw, 3.4rem); line-height: 1.04; letter-spacing: -.035em; }
.production-parity-gokuraku-latest-header p { margin: .4rem 0 0; color: var(--muted); }
.production-parity-gokuraku-latest-header > div:last-child { display: flex; gap: .45rem; flex-wrap: wrap; justify-content: end; }
.production-parity-gokuraku-latest-count { display: flex; gap: .35rem; align-items: center; margin-top: .8rem; padding: .55rem; border: 1px solid var(--line); border-radius: 12px; background: #0b1712; }
.production-parity-gokuraku-latest-count > span { margin-right: .2rem; color: var(--muted); font-size: .68rem; font-weight: 900; }
.production-parity-gokuraku-latest-count button { min-width: 54px; min-height: 44px; padding: .35rem .55rem; }
.production-parity-gokuraku-latest-count button[aria-pressed="true"] { color: #0a120e; border-color: var(--gold); background: var(--gold); }
.production-parity-gokuraku-latest-count small { margin-left: auto; color: var(--muted); font-size: .65rem; }
.production-parity-gokuraku-motion-stage { margin-block: .85rem; }
.production-parity-gokuraku-latest-layout { margin-top: .85rem; }
.production-parity-gokuraku-latest-question { border-color: #816d37; background: radial-gradient(circle at 0 0, rgb(242 209 120 / .1), transparent 18rem), #0c1712; }
.production-parity-gokuraku-latest-question h3, .production-parity-gokuraku-latest-rank h3 { margin: .2rem 0 0; font-size: clamp(1.15rem, 2vw, 1.65rem); line-height: 1.25; }
.production-parity-gokuraku-latest-question p { color: var(--muted); line-height: 1.55; }
.production-parity-gokuraku-latest-question .choice-buttons button { grid-template-columns: minmax(0, 1fr); min-height: 72px; border-color: var(--line-strong); background: linear-gradient(100deg, #13231b, #0a1511); }
.production-parity-gokuraku-latest-question .choice-buttons button:hover, .production-parity-gokuraku-latest-question .choice-buttons button:focus-visible { border-color: var(--gold); background: linear-gradient(100deg, #2b2c1c, #102019); }
.production-parity-gokuraku-question-actions { display: flex; gap: .45rem; margin-top: .8rem; }
.production-parity-gokuraku-question-actions button { width: 100%; min-height: 48px; }
.production-parity-gokuraku-latest-rank { border-color: var(--line-strong); background: #0a1511; }
.production-parity-gokuraku-latest-rank > header { display: flex; gap: .8rem; align-items: end; justify-content: space-between; }
.production-parity-gokuraku-latest-rank > header span { color: var(--muted); font-size: .7rem; }
.production-parity-gokuraku-latest-rank ol { padding: 0; }
.production-parity-gokuraku-latest-rank .rank-preview-item .rank-number { color: var(--muted); font-size: .7rem; text-align: center; }
.production-parity-gokuraku-latest-rank .rank-preview-item > span:nth-of-type(3) b, .production-parity-gokuraku-latest-rank .rank-preview-item > span:nth-of-type(3) small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-gokuraku-final .final-marks { max-height: 31rem; overflow: auto; }
.production-parity-gokuraku-final > button { width: 100%; margin-top: .7rem; }

@media (max-width: 700px) {
  .production-parity-gokuraku-latest > .production-parity-gokuraku-latest-header { grid-template-columns: 1fr; }
  .production-parity-gokuraku-latest-header > div:last-child { justify-content: stretch; }
  .production-parity-gokuraku-latest-header > div:last-child button { flex: 1; }
  .production-parity-gokuraku-latest-count { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .production-parity-gokuraku-latest-count > span, .production-parity-gokuraku-latest-count small { grid-column: 1 / -1; margin: 0; }
  .production-parity-gokuraku-latest-count button { min-width: 0; }
  .production-parity-gokuraku-latest-layout { display: flex; flex-direction: column; }
  .production-parity-gokuraku-latest-question { order: 1; }
  .production-parity-gokuraku-latest-rank { order: 2; }
  .question-causal-rail { grid-template-columns: 1fr; }
  .question-causal-rail > b { display: none; }
  .question-motion-mini { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
}

@media print {
  @page { size: A4 portrait; margin: 9mm; }
  body { color: #111 !important; background: #fff !important; font-size: 9pt; }
  body > header, #journeyBar, #announcement, .newspaper-toolbar, .privacy-preview, .result-load-row, .forward-row, dialog { display: none !important; }
  main, #stage-paper { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  main > .stage:not(#stage-paper), #stage-paper > .stage-hero { display: none !important; }
  .newspaper-masthead { display: block !important; margin: 0 0 4mm; border-color: #111; color: #111; background: #fff; }
  .paper-stats { grid-template-columns: repeat(4, 1fr); gap: 2mm; margin-bottom: 3mm; }
  .paper-stats article { padding: 2mm; border-color: #555; background: #fff; }
  .paper-stats b { color: #111; font-size: 13pt; }
  .paper-grid { grid-template-columns: repeat(3, 1fr); gap: 2mm; }
  body[data-newspaper-scope="race"] .paper-grid > li:not(.is-print-target) { display: none !important; }
  body[data-newspaper-scope="race"] .paper-grid { grid-template-columns: 1fr; }
  body[data-newspaper-scope="race"] .paper-grid > .is-print-target { min-height: 170mm; padding: 12mm; font-size: 14pt; }
  .paper-grid li, .day-paper-race.is-predicted { min-height: 0; break-inside: avoid; border-color: #555; color: #111; background: #fff; }
  .paper-grid p, .paper-grid small, .paper-grid header b, .paper-grid header span { color: #111 !important; }
  .paper-grid header span { border: 1px solid #555; background: #fff; }
  .day-race-open { color: #111; }
}

@media (max-width: 640px) {
  .gokushiki-studio-heading, .gokushiki-saved-card { grid-template-columns: 1fr; flex-direction: column; }
  .gokushiki-studio-heading > strong { align-self: flex-start; }
  .gokushiki-builder-layout { grid-template-columns: 1fr; }
  .gokushiki-builder-views { position: sticky; top: -.85rem; z-index: 4; }
  .gokushiki-builder-views button { min-height: 58px; padding: .5rem; }
  .gokushiki-builder-views button small { font-size: .62rem; }
  .gokushiki-quest-path li { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .gokushiki-quest-path li span { font-size: .62rem; }
  .gokushiki-role-buttons, .gokushiki-core-stats { grid-template-columns: 1fr; }
  .gokushiki-role-buttons button { min-height: 62px; }
  .gokushiki-equipment-panel > header { display: grid; align-items: start; }
  .gokushiki-equipment-panel > header p { max-width: none; text-align: left; }
  .gokushiki-equipment-slots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gokushiki-rule-summary > div { grid-template-columns: 1fr; }
  .gokushiki-live-preview { position: static; }
  .gokushiki-selected-preview dl, .gokushiki-live-preview dl { grid-template-columns: 1fr; }
  .gokushiki-saved-actions { justify-content: stretch; }
  .gokushiki-saved-actions button { flex: 1 1 calc(50% - .35rem); }
  .gokushiki-studio-dialog { max-height: 94dvh; padding: .85rem; border-radius: 16px; }
  .gokushiki-preset-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gokushiki-stat-row { grid-template-columns: 1fr; gap: .45rem; min-height: 104px; }
  .gokushiki-stat-group > header { align-items: start; }
  .gokushiki-stat-group > header p { max-width: 11rem; text-align: right; }
  .gokushiki-stat-row label small { font-size: .74rem; }
  .gokushiki-stat-adjuster { grid-template-columns: 44px minmax(95px, 1fr) minmax(88px, auto) 44px; }
  .gokushiki-guard-panel > div { grid-template-columns: 1fr; }
  .gokushiki-save-panel { grid-template-columns: 1fr; }
  .gokushiki-scenario-lab > header { display: grid; }
  .gokushiki-scenario-buttons { grid-template-columns: 1fr; }
  .gokushiki-scenario-buttons button { min-height: 58px; }
  .gokushiki-dna > div { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .gokushiki-builder-views button b { font-size: .78rem; }
  .gokushiki-builder-views button small { display: none; }
  .gokushiki-quest-path li span { font-size: .58rem; }
  .gokushiki-equipment-slots, .gokushiki-rule-buttons { grid-template-columns: 1fr; }
  .gokushiki-core-stat { grid-template-columns: minmax(0, 1fr) auto; }
  .gokushiki-stat-adjuster { grid-template-columns: 44px minmax(70px, 1fr) 44px; }
  .gokushiki-stat-adjuster output { grid-column: 1 / -1; grid-row: 2; }
}

/* 極ラクモード v30「読みが刻まれる盤」 */
.gokuraku-fusion { --fusion-emerald: #70e6ab; --fusion-gold: #e7c66e; --fusion-red: #ed674b; display: grid; gap: .8rem; color: var(--ink); }
.gokuraku-fusion > * { min-width: 0; }
.fusion-hero, .fusion-toolbar, .fusion-race-evidence, .fusion-question-board, .fusion-analysis, .fusion-horse-table { border: 1px solid var(--line); background: #0a1711; }
.fusion-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1rem; overflow: hidden; border-top: 2px solid var(--fusion-gold); background: radial-gradient(circle at 88% 20%, rgb(231 198 110 / .12), transparent 19rem), #0a1711; }
.fusion-hero span, .fusion-question-board > header span, .fusion-analysis > header span, .fusion-horse-table > header span { color: var(--fusion-gold); font-size: .66rem; font-weight: 900; letter-spacing: .08em; }
.fusion-hero h2 { margin: .18rem 0; font: 900 clamp(1.35rem, 3vw, 2.35rem)/1.22 "Yu Mincho", serif; }
.fusion-hero p { max-width: 58rem; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.6; }
.fusion-hero aside { display: grid; min-width: 8.5rem; min-height: 8.5rem; place-content: center; text-align: center; border: 1px solid var(--fusion-gold); border-radius: 50%; background: radial-gradient(circle, rgb(231 198 110 / .12), transparent 68%); box-shadow: 0 0 38px rgb(231 198 110 / .1); }
.fusion-hero aside b { color: var(--fusion-gold); font: 950 2rem/1 "Yu Mincho", serif; }
.fusion-hero aside span, .fusion-hero aside small { display: block; margin-top: .25rem; color: var(--muted); font-size: .58rem; letter-spacing: normal; }
.fusion-toolbar { display: flex; gap: .75rem; justify-content: space-between; padding: .65rem; }
.fusion-toolbar > div { display: flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
.fusion-toolbar span { margin-right: .25rem; color: var(--muted); font-size: .7rem; }
.fusion-toolbar button { min-height: 44px; padding: .35rem .75rem; }
.fusion-toolbar button[aria-pressed="true"] { color: #07100b; border-color: var(--fusion-gold); background: var(--fusion-gold); }
.fusion-race-evidence { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: .8rem; padding: .85rem; border-left: 3px solid var(--fusion-red); }
.fusion-race-evidence span { color: var(--muted); font-size: .65rem; }
.fusion-race-evidence strong { display: block; margin-top: .15rem; color: var(--fusion-gold); }
.fusion-race-evidence p { margin: .3rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.fusion-lineup { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
.fusion-lineup > div { padding: .55rem; border: 1px solid var(--line); background: #07110d; }
.fusion-lineup p { display: flex; gap: .2rem; flex-wrap: wrap; }
.fusion-lineup b { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; color: #07100b; border-radius: 4px; background: #dbe5df; font-size: .68rem; }
.fusion-workspace { display: grid; grid-template-columns: minmax(390px, .94fr) minmax(420px, 1.06fr); gap: .8rem; align-items: start; }
.fusion-question-board, .fusion-analysis, .fusion-horse-table { padding: .9rem; }
.fusion-question-board > header, .fusion-analysis > header, .fusion-horse-table > header { display: flex; gap: .75rem; align-items: start; justify-content: space-between; }
.fusion-question-board h3, .fusion-analysis h3, .fusion-horse-table h3 { margin: .15rem 0 0; font-size: 1.05rem; }
.fusion-question-board > header > strong, .fusion-analysis > header > strong { flex: 0 0 auto; padding: .3rem .55rem; color: var(--fusion-emerald); border: 1px solid var(--line); border-radius: 999px; font-size: .67rem; }
.fusion-question-board > p, .fusion-horse-table > header > p { margin: .45rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }
.fusion-questions { display: grid; gap: .65rem; margin-top: .7rem; }
.fusion-question { padding-top: .7rem; border-top: 1px solid var(--line); }
.fusion-question > header { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .5rem; }
.fusion-question > header > span { color: var(--fusion-gold); font: 850 1.25rem/1 "Yu Mincho", serif; }
.fusion-question h3 { margin: 0; font-size: .9rem; }
.fusion-question header p { margin: .25rem 0 .55rem; color: var(--muted); font-size: .64rem; line-height: 1.5; }
.fusion-choice-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .3rem; }
.fusion-choice { overflow: hidden; border: 1px solid var(--line); background: #07110d; transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease; }
.fusion-choice > button { width: 100%; min-width: 0; border: 0; border-radius: 0; text-align: left; background: transparent; }
.fusion-choice > button:first-child { display: grid; min-height: 60px; align-content: center; padding: .42rem; }
.fusion-choice > button:first-child strong, .fusion-choice > button:first-child small { display: block; }
.fusion-choice > button:first-child strong { font-size: .7rem; }
.fusion-choice > button:first-child small { margin-top: .15rem; color: var(--muted); font-size: .56rem; line-height: 1.35; }
.fusion-choice > button:last-child { min-height: 44px; padding: .25rem; text-align: center; border-top: 1px solid var(--line); color: var(--fusion-gold); font-size: .57rem; }
.fusion-choice > button:last-child:disabled { color: var(--faint); }
.fusion-choice.is-primary { border-color: var(--fusion-emerald); box-shadow: inset 0 0 0 1px var(--fusion-emerald); transform: translateY(-2px); }
.fusion-choice.is-supplement { border-color: var(--fusion-gold); }
.fusion-analysis > ol { display: grid; gap: .35rem; margin: .7rem 0 0; padding: 0; list-style: none; }
.fusion-motion-status { margin: .55rem 0 0; padding: .45rem .55rem; color: var(--fusion-emerald); border-left: 2px solid var(--fusion-emerald); background: rgb(112 230 171 / .055); font-size: .64rem; line-height: 1.5; }
.fusion-analysis > ol li { display: grid; grid-template-columns: 1.7rem 2rem minmax(0, 1fr) minmax(3.2rem, auto); gap: .4rem; align-items: center; min-height: 58px; padding: .45rem; border: 1px solid var(--line); background: linear-gradient(90deg, #0c1e16, #07110d); animation: fusion-arrive .5s cubic-bezier(.2,.9,.2,1) both; animation-delay: calc(var(--rank) * 45ms); }
.fusion-analysis > ol li > span { color: var(--muted); text-align: center; }
.fusion-analysis > ol li > b { display: grid; width: 2rem; height: 2rem; place-items: center; color: #07100b; border-radius: 5px; background: #dbe5df; }
.fusion-analysis > ol li strong, .fusion-analysis > ol li small { display: block; }
.fusion-analysis > ol li small { margin-top: .12rem; color: var(--muted); font-size: .6rem; }
.fusion-analysis > ol li em { min-width: 3.1rem; padding: .35rem .25rem; text-align: center; border-radius: 5px; font-size: .75rem; font-style: normal; font-weight: 900; }
.fusion-causal { display: grid; grid-template-columns: repeat(9, auto); gap: .25rem; align-items: center; justify-content: space-between; margin-top: .6rem; padding: .55rem; border: 1px solid var(--line); background: #07110d; }
.fusion-causal span { color: var(--fusion-emerald); font-size: .61rem; font-weight: 850; }
.fusion-causal i { color: var(--faint); font-style: normal; }
.fusion-reason { margin-top: .65rem; padding: .7rem; border: 1px solid var(--fusion-gold); background: #09140f; }
.fusion-reason > header { display: flex; gap: .55rem; align-items: center; justify-content: space-between; }
.fusion-reason > header h3 { color: var(--fusion-gold); font-size: .85rem; }
.fusion-reason > header > div { display: flex; gap: .2rem; }
.fusion-reason button { min-height: 44px; padding: .25rem .45rem; font-size: .62rem; }
.fusion-reason button[aria-pressed="true"] { color: #07100b; border-color: var(--fusion-gold); background: var(--fusion-gold); }
.fusion-reason > p { margin: .6rem 0; font-size: .76rem; font-weight: 750; line-height: 1.75; }
.fusion-reason dl { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; margin: 0; }
.fusion-reason dl > div { padding: .45rem; border: 1px solid var(--line); }
.fusion-reason dt { color: var(--muted); font-size: .58rem; }
.fusion-reason dd { margin: .2rem 0 0; font-size: .65rem; line-height: 1.45; }
.fusion-horse-table > header { align-items: end; }
.fusion-horse-table > header p { max-width: 31rem; text-align: right; }
.fusion-horse-table > div { display: grid; gap: .35rem; margin-top: .7rem; }
.fusion-horse { border: 1px solid var(--line); background: #07110d; }
.fusion-horse-main { display: grid; grid-template-columns: 2.2rem minmax(160px, .58fr) minmax(150px, .44fr) minmax(380px, 1.15fr) auto; gap: .45rem; align-items: center; padding: .45rem; }
.fusion-horse-number { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; color: #07100b; border-radius: 5px; background: #dbe5df; font-weight: 950; }
.fusion-horse-name { min-width: 0; }
.fusion-horse-name strong, .fusion-horse-name small, .fusion-horse-name p { display: block; overflow: hidden; margin: 0; text-overflow: ellipsis; white-space: nowrap; }
.fusion-horse-name small { color: var(--muted); font-size: .6rem; }
.fusion-horse-name p { margin-top: .12rem; color: var(--fusion-emerald); font-size: .58rem; }
.fusion-mark-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem; }
.fusion-mark-pair > div { min-width: 0; padding: .35rem .25rem; text-align: center; border-radius: 5px; background: rgb(255 255 255 / .035); }
.fusion-mark-pair span, .fusion-mark-pair b { display: block; }
.fusion-mark-pair span { color: var(--muted); font-size: .53rem; }
.fusion-mark-pair b { margin-top: .1rem; font-size: .78rem; }
.fusion-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .22rem; }
.fusion-metric { min-width: 0; padding: .28rem; background: #0b1a13; }
.fusion-metric span, .fusion-metric strong, .fusion-metric small { display: block; text-align: center; }
.fusion-metric span, .fusion-metric small { color: var(--muted); font-size: .52rem; }
.fusion-metric strong { font-size: .76rem; }
.fusion-metric i { display: block; height: 3px; margin-top: .22rem; overflow: hidden; background: #14271e; }
.fusion-metric i b { display: block; width: calc(var(--metric-value) * 1%); height: 100%; background: linear-gradient(90deg, var(--fusion-emerald), var(--fusion-gold)); }
.fusion-metric.is-missing { opacity: .55; }
.fusion-horse-main > button { min-height: 44px; padding: .3rem .55rem; }
.fusion-horse-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; padding: .6rem; border-top: 1px solid var(--line); background: #09140f; }
.fusion-horse-detail article { padding: .5rem; border: 1px solid var(--line); }
.fusion-horse-detail span { color: var(--fusion-gold); font-size: .58rem; }
.fusion-horse-detail p { margin: .2rem 0 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.fusion-actions { display: grid; grid-template-columns: 1fr 1fr minmax(15rem, 1.2fr); gap: .45rem; }
.fusion-actions button { min-height: 52px; }
.fusion-actions button:disabled { color: var(--muted); background: #0a1711; }
.gokuraku-fusion [data-mark="◎"] { color: #ffdf6d; background: rgb(255 223 109 / .12); }
.gokuraku-fusion [data-mark="○"] { color: #7fe1b3; background: rgb(127 225 179 / .12); }
.gokuraku-fusion [data-mark="▲"] { color: #ff916e; background: rgb(255 145 110 / .12); }
.gokuraku-fusion [data-mark="注"] { color: #73c9ff; background: rgb(115 201 255 / .12); }
.gokuraku-fusion [data-mark="△"] { color: #c7a5ff; background: rgb(199 165 255 / .12); }
.gokuraku-fusion [data-mark="消"] { color: #8f9994; background: rgb(143 153 148 / .1); }
.gokuraku-fusion [data-mark="未確定"] { color: var(--muted); background: rgb(255 255 255 / .035); }
@keyframes fusion-arrive { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 980px) {
  .fusion-workspace { grid-template-columns: 1fr; }
  .fusion-horse-main { grid-template-columns: 2.2rem minmax(150px, .8fr) minmax(140px, .5fr) minmax(320px, 1fr) auto; }
}

@media (max-width: 640px) {
  .fusion-hero { grid-template-columns: 1fr; }
  .fusion-hero aside { min-width: 0; min-height: auto; padding: .7rem; border-radius: 8px; }
  .fusion-hero aside b { font-size: 1.25rem; }
  .fusion-toolbar { display: grid; }
  .fusion-toolbar > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fusion-toolbar > div span { grid-column: 1 / -1; }
  .fusion-race-evidence { grid-template-columns: 1fr; }
  .fusion-question-board, .fusion-analysis, .fusion-horse-table { padding: .65rem; }
  .fusion-choice-grid { grid-template-columns: 1fr; }
  .fusion-choice { display: grid; grid-template-columns: minmax(0, 1fr) 7.5rem; }
  .fusion-choice > button:last-child { border-top: 0; border-left: 1px solid var(--line); }
  .fusion-causal { grid-template-columns: repeat(5, 1fr); }
  .fusion-causal i { display: none; }
  .fusion-reason > header { display: grid; }
  .fusion-reason > header > div { display: grid; grid-template-columns: repeat(3, 1fr); }
  .fusion-reason dl { grid-template-columns: 1fr; }
  .fusion-horse-table > header { display: grid; }
  .fusion-horse-table > header p { text-align: left; }
  .fusion-horse-main { grid-template-columns: 2.2rem minmax(0, 1fr) auto; }
  .fusion-mark-pair { grid-column: 2 / -1; }
  .fusion-metrics { grid-column: 1 / -1; }
  .fusion-horse-main > button { grid-column: 1 / -1; width: 100%; }
  .fusion-horse-detail { grid-template-columns: 1fr; }
  .fusion-actions { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .fusion-lineup { grid-template-columns: 1fr; }
  .fusion-question > header { grid-template-columns: 1.7rem minmax(0, 1fr); }
  .fusion-choice { grid-template-columns: minmax(0, 1fr) 6.9rem; }
  .fusion-analysis > ol li { grid-template-columns: 1.45rem 1.8rem minmax(0, 1fr) 3rem; padding-inline: .32rem; }
  .fusion-analysis > ol li > b { width: 1.8rem; height: 1.8rem; }
  .fusion-analysis > ol li small { font-size: .55rem; }
  .fusion-causal span { font-size: .52rem; overflow-wrap: anywhere; }
  .fusion-metric { padding-inline: .12rem; }
  .fusion-metric span, .fusion-metric small { font-size: .48rem; }
  .fusion-mark-pair > div { padding-inline: .12rem; }
}

@media (prefers-reduced-motion: reduce) {
  .fusion-analysis > ol li { animation: none; }
  .fusion-choice { transition: none; }
}

/* 予想サポートUI 段階デモ。support_demo=1 の時だけapp.jsが描画する。 */
.production-parity-support-demo {
  --support-gold: #e7c66e;
  --support-green: #79dca9;
  --support-orange: #ee684a;
  display: grid;
  gap: .8rem;
  min-width: 0;
  margin: .8rem 0;
}
.production-parity-support-demo *, .production-parity-horse-guide * { min-width: 0; }
.production-parity-support-demo h2, .production-parity-support-demo h3, .production-parity-support-demo h4 { margin: 0; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; }
.production-parity-support-demo p, .production-parity-support-demo dd, .production-parity-horse-guide p { overflow-wrap: anywhere; }
.production-parity-support-hero,
.production-parity-support-quicklook,
.production-parity-support-layers,
.production-parity-support-scenario,
.production-parity-support-horses {
  border: 1px solid var(--line);
  background: #09150f;
}
.production-parity-support-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-top: 2px solid var(--support-gold);
  background: radial-gradient(circle at 94% 20%, rgb(231 198 110 / .12), transparent 18rem), #09150f;
}
.production-parity-support-hero > div > span,
.production-parity-support-demo section > header > span,
.production-parity-horse-guide > header > span {
  color: var(--support-gold);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.production-parity-support-hero h2 { margin-top: .25rem; font-size: clamp(1.35rem, 3.5vw, 2.25rem); line-height: 1.25; }
.production-parity-support-hero p { max-width: 58rem; margin: .5rem 0 0; color: var(--muted); font-size: .77rem; line-height: 1.7; }
.production-parity-support-hero aside { display: grid; min-width: 10rem; padding: .75rem; text-align: center; border: 1px solid var(--support-gold); background: rgb(231 198 110 / .05); }
.production-parity-support-hero aside b, .production-parity-support-hero aside small { display: block; }
.production-parity-support-hero aside b { color: var(--support-gold); font-size: .82rem; }
.production-parity-support-hero aside small { margin-top: .25rem; color: var(--muted); font-size: .6rem; }
.production-parity-support-hero aside ul { margin: .45rem 0 0; padding: 0; list-style: none; text-align: left; }
.production-parity-support-hero aside li { padding: .28rem 0 .28rem 1rem; color: var(--muted); border-top: 1px solid var(--line); font-size: .61rem; line-height: 1.4; }
.production-parity-support-hero aside li::before { margin-left: -1rem; margin-right: .35rem; color: var(--support-green); content: "✓"; }
.production-parity-support-path { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin: 0; padding: 0; list-style: none; }
.production-parity-support-path li { position: relative; padding: .65rem; border: 1px solid var(--line); background: linear-gradient(110deg, #0d2118, #08130e); }
.production-parity-support-path li:not(:last-child)::after { position: absolute; z-index: 1; top: 50%; right: -.44rem; width: .5rem; height: .5rem; border-top: 1px solid var(--support-gold); border-right: 1px solid var(--support-gold); content: ""; transform: translateY(-50%) rotate(45deg); }
.production-parity-support-path b, .production-parity-support-path span { display: block; }
.production-parity-support-path b { color: var(--support-green); font-size: .74rem; }
.production-parity-support-path span { margin-top: .2rem; color: var(--muted); font-size: .61rem; line-height: 1.45; }
.production-parity-decision-spine {
  padding: .9rem;
  border: 1px solid var(--support-gold);
  background: radial-gradient(circle at 100% 0, rgb(231 198 110 / .09), transparent 24rem), #08130e;
}
.production-parity-decision-spine > header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
}
.production-parity-decision-spine > header span,
.production-parity-decision-branch > div > span,
.production-parity-decision-action span {
  color: var(--support-green);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.production-parity-decision-spine > header h3 { margin-top: .24rem; font-size: 1.1rem; line-height: 1.35; }
.production-parity-decision-spine > header p { max-width: 46rem; margin: .35rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.6; }
.production-parity-decision-spine > header > b {
  max-width: 15rem;
  padding: .46rem .58rem;
  color: var(--support-gold);
  border: 1px solid rgb(231 198 110 / .38);
  background: rgb(231 198 110 / .04);
  font-size: .57rem;
  line-height: 1.5;
}
.production-parity-decision-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .35rem;
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
}
.production-parity-decision-steps li {
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  gap: .48rem;
  min-height: 8rem;
  padding: .65rem;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #0c1d15, #07110d);
}
.production-parity-decision-steps li > i {
  display: grid;
  width: 1.55rem;
  height: 1.55rem;
  place-items: center;
  color: #07100c;
  border-radius: 50%;
  background: var(--support-gold);
  font-size: .67rem;
  font-style: normal;
  font-weight: 950;
}
.production-parity-decision-steps span { color: var(--support-green); font-size: .58rem; font-weight: 900; }
.production-parity-decision-steps b { display: block; margin-top: .22rem; font-size: .76rem; line-height: 1.45; }
.production-parity-decision-steps p { margin: .35rem 0 0; color: var(--muted); font-size: .62rem; line-height: 1.55; }
.production-parity-decision-branch {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: .55rem;
  margin-top: .55rem;
  padding: .75rem;
  border: 1px solid var(--support-gold);
  background: #06100c;
}
.production-parity-decision-branch h4 { margin-top: .25rem; font-size: 1rem; line-height: 1.45; }
.production-parity-decision-branch > div > p { margin: .55rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.68; }
.production-parity-decision-branch > div > aside { margin-top: .55rem; padding: .62rem; border-left: 3px solid var(--support-green); background: rgb(101 214 157 / .045); }
.production-parity-decision-branch > div > aside b { color: var(--support-green); font-size: .62rem; }
.production-parity-decision-branch > div > aside p { margin: .25rem 0 0; font-size: .68rem; line-height: 1.6; }
.production-parity-decision-branch > dl { display: grid; gap: .35rem; margin: 0; }
.production-parity-decision-branch > dl > div { padding: .62rem; border: 1px solid var(--line); background: #09150f; }
.production-parity-decision-branch dt { color: var(--support-gold); font-size: .61rem; font-weight: 900; }
.production-parity-decision-branch dd { margin: .28rem 0 0; color: var(--muted); font-size: .65rem; line-height: 1.55; }
.production-parity-decision-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .5rem;
  align-items: center;
  margin-top: .55rem;
  padding-top: .65rem;
  border-top: 1px solid var(--line);
}
.production-parity-decision-action b { display: block; margin-top: .18rem; font-size: .76rem; }
.production-parity-decision-action p { margin: .24rem 0 0; color: var(--muted); font-size: .6rem; line-height: 1.5; }
.production-parity-decision-action button { min-height: 48px; white-space: nowrap; }
.production-parity-decision-action button.primary { color: #07100c; border-color: var(--support-gold); background: var(--support-gold); font-weight: 950; }
.production-parity-support-depth { border: 1px solid var(--line); background: #08130e; }
.production-parity-support-depth > summary { display: flex; min-height: 54px; padding: .65rem .75rem; align-items: center; gap: .7rem; color: var(--ink); cursor: pointer; }
.production-parity-support-depth > summary b { color: var(--support-gold); font-size: .7rem; }
.production-parity-support-depth > summary small { color: var(--muted); font-size: .57rem; }
.production-parity-support-depth > summary::after { content: "タップして開く  ＋"; margin-left: auto; padding: .3rem .48rem; color: #07100c; border-radius: 999px; background: var(--support-gold); font-size: .58rem; font-weight: 900; white-space: nowrap; }
.production-parity-support-depth[open] > summary::after { content: "タップして閉じる  −"; }
.production-parity-support-depth[open] > summary { border-bottom: 1px solid var(--line); background: rgb(231 198 110 / .04); }
.production-parity-support-quicklook,
.production-parity-support-layers,
.production-parity-support-scenario,
.production-parity-support-horses { padding: .9rem; }
.production-parity-support-demo section > header h3 { margin-top: .2rem; font-size: clamp(1.05rem, 2.5vw, 1.5rem); }
.production-parity-support-demo section > header > p { margin: .35rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.6; }
.production-parity-support-demo section > header > em,
.production-parity-horse-guide > header em { display: inline-block; margin-left: .35rem; padding: .12rem .3rem; color: #07110d; background: var(--support-gold); border-radius: 999px; font-size: .52rem; font-style: normal; letter-spacing: .03em; }
.production-parity-support-quicklook > div,
.production-parity-support-layers > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin-top: .75rem; }
.production-parity-support-quicklook article,
.production-parity-support-layers article { padding: .7rem; border: 1px solid var(--line); background: #07110d; }
.production-parity-support-quicklook article > span,
.production-parity-support-layers article > span { color: var(--support-green); font-size: .61rem; font-weight: 850; }
.production-parity-support-quicklook article > b,
.production-parity-support-layers article > b { display: block; margin-top: .25rem; font-size: .82rem; line-height: 1.45; }
.production-parity-support-quicklook article > p,
.production-parity-support-layers article > p { margin: .4rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.6; }
.production-parity-support-layers article > strong { display: block; margin-top: .48rem; color: var(--support-gold); font-size: .57rem; }
.production-parity-support-layers article > small { display: block; margin-top: .45rem; padding-top: .45rem; color: var(--faint); border-top: 1px solid var(--line); font-size: .58rem; line-height: 1.5; }
.production-parity-support-layers article.is-unavailable { border-style: dashed; background: repeating-linear-gradient(135deg, #0a1510, #0a1510 8px, #0c1812 8px, #0c1812 16px); }
.production-parity-support-layers > p { margin: .6rem 0 0; padding: .65rem; border-left: 3px solid var(--support-gold); background: rgb(231 198 110 / .045); font-size: .7rem; line-height: 1.6; }
.production-parity-support-scenario-switch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin-top: .75rem; }
.production-parity-support-scenario-switch button { min-height: 64px; padding: .5rem; text-align: left; border-color: var(--line); background: #07110d; }
.production-parity-support-scenario-switch button b, .production-parity-support-scenario-switch button small { display: block; }
.production-parity-support-scenario-switch button b { color: var(--ink); font-size: .72rem; }
.production-parity-support-scenario-switch button small { margin-top: .2rem; color: var(--muted); font-size: .57rem; line-height: 1.4; }
.production-parity-support-scenario-switch button > span { display: flex; margin-top: .4rem; align-items: center; justify-content: space-between; color: #65bfe5; font-size: .56rem; font-weight: 850; }
.production-parity-support-scenario-switch button > span i { font-size: 1rem; font-style: normal; }
.production-parity-support-scenario-switch button[aria-pressed="true"] { border-color: var(--support-gold); background: linear-gradient(110deg, rgb(231 198 110 / .12), #0b1912); box-shadow: inset 0 0 0 1px rgb(231 198 110 / .25); }
.production-parity-support-scenario-result { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: .6rem; margin-top: .55rem; padding: .75rem; border: 1px solid var(--support-gold); background: #08130e; }
.production-parity-support-scenario-result > div > span { color: var(--support-green); font-size: .62rem; font-weight: 850; }
.production-parity-support-scenario-result h4 { margin-top: .25rem; font-size: 1rem; line-height: 1.45; }
.production-parity-support-scenario-result > div > p { margin: .45rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.65; }
.production-parity-support-scenario-result > div > aside { margin-top: .6rem; padding: .55rem; border-left: 3px solid var(--support-green); background: rgb(121 220 169 / .05); }
.production-parity-support-scenario-result > div > aside b { color: var(--support-green); font-size: .6rem; }
.production-parity-support-scenario-result > div > aside p { margin: .25rem 0 0; color: var(--ink); font-size: .66rem; line-height: 1.55; }
.production-parity-support-scenario-result dl { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; margin: 0; }
.production-parity-support-scenario-result dl > div { padding: .45rem; border: 1px solid var(--line); }
.production-parity-support-scenario-result dt { color: var(--support-gold); font-size: .57rem; }
.production-parity-support-scenario-result dd { margin: .2rem 0 0; color: var(--muted); font-size: .63rem; line-height: 1.5; }
.production-parity-support-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; margin: .6rem 0; padding: 0; list-style: none; }
.production-parity-support-flow li { position: relative; display: flex; min-height: 54px; padding: .42rem; align-items: center; gap: .35rem; border: 1px solid var(--line); background: #06100c; }
.production-parity-support-flow li:not(:last-child)::after { content: "›"; position: absolute; z-index: 1; right: -.28rem; color: var(--support-gold); font-size: 1rem; }
.production-parity-support-flow i { display: grid; width: 1.25rem; height: 1.25rem; flex: 0 0 auto; place-items: center; color: #07100c; border-radius: 50%; background: var(--support-green); font-size: .58rem; font-style: normal; font-weight: 900; }
.production-parity-support-flow b { font-size: .62rem; line-height: 1.35; }
.production-parity-support-horses > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin-top: .75rem; }
.production-parity-support-spotlight-card { min-width: 0; border: 1px solid #65bfe5; background: #07110d; }
.production-parity-support-spotlight-card > button { display: grid; width: 100%; min-height: 84px; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .2rem .6rem; align-items: center; padding: .65rem; text-align: left; border: 0; border-radius: 0; background: linear-gradient(110deg, rgb(101 191 229 / .13), #07110d 68%); }
.production-parity-support-spotlight-card > button:hover { border: 0; background: linear-gradient(110deg, rgb(101 191 229 / .22), #091710 72%); }
.production-parity-support-spotlight-card > button > b { display: grid; grid-row: 1 / span 2; width: 2.25rem; height: 2.25rem; place-items: center; color: #07100b; border-radius: 6px; background: #dbe5df; font-size: .85rem; }
.production-parity-support-spotlight-card > button strong, .production-parity-support-spotlight-card > button small { display: block; }
.production-parity-support-spotlight-card > button strong { color: var(--ink); font-size: .76rem; }
.production-parity-support-spotlight-card > button small { margin-top: .18rem; color: var(--support-green); font-size: .59rem; line-height: 1.5; }
.production-parity-support-spotlight-card > button span small { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.production-parity-support-spotlight-card > button em { grid-column: 2; display: flex; align-items: center; justify-content: space-between; margin-top: .35rem; padding-top: .42rem; color: #65bfe5; border-top: 1px solid rgb(101 191 229 / .25); font-size: .6rem; font-style: normal; font-weight: 900; }
.production-parity-support-spotlight-card > button em i { font-size: .95rem; font-style: normal; }
.production-parity-support-spotlight-card > .production-parity-support-inline-detail { margin: 0; padding: .65rem; }
.production-parity-support-boundary { margin: 0; padding: .6rem .75rem; color: var(--muted); border: 1px dashed var(--line); font-size: .62rem; line-height: 1.55; }
.production-parity-horse-guide { margin: .65rem 0; padding: .65rem; border: 1px solid var(--support-gold, #e7c66e); background: #08130e; }
.production-parity-horse-guide > header { display: flex; gap: .5rem; align-items: center; justify-content: space-between; }
.production-parity-horse-guide > header b { color: var(--support-green, #79dca9); font-size: .68rem; }
.production-parity-horse-guide > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin-top: .55rem; }
.production-parity-horse-verdict { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .3rem .65rem; margin-top: .6rem; padding: .65rem; border: 1px solid var(--line); border-left: 5px solid var(--support-gold); background: linear-gradient(110deg, rgb(231 198 110 / .08), #06100c); }
.production-parity-horse-verdict[data-tone="support"] { border-left-color: #65bfe5; }
.production-parity-horse-verdict[data-tone="wait"] { border-left-color: #bd8ee4; }
.production-parity-horse-verdict[data-tone="stop"] { border-left-color: #f08b61; }
.production-parity-horse-verdict span { grid-column: 1 / -1; color: var(--muted); font-size: .56rem; }
.production-parity-horse-verdict strong { color: var(--ink); font-size: 1rem; }
.production-parity-horse-verdict p { margin: .08rem 0 0; color: var(--muted); font-size: .66rem; line-height: 1.55; }
.production-parity-horse-verdict > div { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .28rem .45rem; margin-top: .4rem; padding-top: .42rem; border-top: 1px solid var(--line); }
.production-parity-horse-verdict > div b { color: var(--support-gold); font-size: .56rem; }
.production-parity-horse-verdict > div em { color: var(--muted); font-size: .6rem; font-style: normal; line-height: 1.45; }
.production-parity-horse-identity { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin-top: .55rem; }
.production-parity-horse-identity article { min-width: 0; border-top: 3px solid var(--support-green); background: #06100c; }
.production-parity-horse-identity article:nth-child(2) { border-top-color: #f08b61; }
.production-parity-horse-identity article:nth-child(3) { border-top-color: #65bfe5; }
.production-parity-horse-story { margin-top: .55rem; padding: .7rem; border: 1px solid var(--support-green); background: linear-gradient(120deg, rgb(121 220 169 / .08), #06100c); }
.production-parity-horse-story > span { color: var(--support-green); font-size: .59rem; font-weight: 900; }
.production-parity-horse-story > p { margin: .35rem 0 0; color: var(--ink); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: .74rem; line-height: 1.85; }
.production-parity-horse-story > strong { display: block; margin-top: .5rem; padding-top: .5rem; color: var(--support-gold); border-top: 1px solid var(--line); font-size: .63rem; line-height: 1.6; }
.production-parity-horse-run-story { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin: .55rem 0 0; padding: 0; list-style: none; }
.production-parity-horse-run-story li { position: relative; min-width: 0; padding: .55rem; border: 1px solid var(--line); background: #06100c; }
.production-parity-horse-run-story li:not(:last-child)::after { content: "›"; position: absolute; z-index: 1; top: 50%; right: -.28rem; color: var(--support-gold); font-size: 1rem; }
.production-parity-horse-run-story header { display: block; }
.production-parity-horse-run-story header b, .production-parity-horse-run-story header span { display: block; }
.production-parity-horse-run-story header b { color: var(--support-gold); font-size: .57rem; }
.production-parity-horse-run-story header span { margin-top: .1rem; color: var(--muted); font-size: .54rem; }
.production-parity-horse-run-story li > div { display: flex; align-items: center; gap: .35rem; margin-top: .42rem; }
.production-parity-horse-run-story li > div span { color: var(--muted); font-size: .63rem; }
.production-parity-horse-run-story li > div i { color: #65bfe5; font-style: normal; }
.production-parity-horse-run-story li > div strong { color: var(--support-green); font-size: .78rem; }
.production-parity-horse-run-story li > p { margin: .35rem 0 0; color: var(--muted); font-size: .58rem; line-height: 1.5; }
.production-parity-horse-pattern { margin: .45rem 0 0; padding: .55rem; color: var(--ink); border-left: 4px solid var(--support-gold); background: rgb(231 198 110 / .05); font-size: .64rem; line-height: 1.6; }
.production-parity-horse-pattern b { display: block; margin-bottom: .15rem; color: var(--support-gold); font-size: .57rem; }
.production-parity-horse-match { margin-top: .55rem; padding: .6rem; border: 1px solid #36564a; background: #06100c; }
.production-parity-horse-match > header span, .production-parity-horse-match > header b { display: block; }
.production-parity-horse-match > header span { color: var(--support-green); font-size: .56rem; font-weight: 900; }
.production-parity-horse-match > header b { margin-top: .15rem; font-size: .72rem; }
.production-parity-horse-match dl { display: grid; gap: .28rem; margin: .5rem 0 0; }
.production-parity-horse-match dl > div { display: grid; grid-template-columns: minmax(6rem, .35fr) minmax(0, 1fr); gap: .45rem; align-items: start; padding: .38rem; border: 1px solid var(--line); }
.production-parity-horse-match dt { display: flex; gap: .34rem; align-items: center; font-size: .62rem; font-weight: 850; }
.production-parity-horse-match dt i { display: grid; width: 1.25rem; height: 1.25rem; flex: 0 0 auto; place-items: center; color: #07100b; border-radius: 50%; background: var(--support-green); font-size: .65rem; font-style: normal; }
.production-parity-horse-match div[data-symbol="△"] dt i { background: var(--support-gold); }
.production-parity-horse-match div[data-symbol="×"] dt i { color: #fff; background: #d56f59; }
.production-parity-horse-match div[data-symbol="?"] dt i { background: #a0aaa5; }
.production-parity-horse-match dd { margin: 0; color: var(--muted); font-size: .61rem; line-height: 1.5; }
.production-parity-horse-match > p { margin: .45rem 0 0; color: var(--ink); font-size: .63rem; font-weight: 850; }
.production-parity-horse-fit-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .32rem; margin: .55rem 0 0; padding: 0; list-style: none; }
.production-parity-horse-fit-flow li { position: relative; display: grid; grid-template-columns: 1.35rem minmax(0, 1fr); gap: .1rem .35rem; align-content: center; min-height: 68px; padding: .45rem; border: 1px solid var(--line); background: #06100c; }
.production-parity-horse-fit-flow li:not(:last-child)::after { content: "›"; position: absolute; z-index: 1; top: 50%; right: -.3rem; color: var(--support-gold); font-size: 1rem; transform: translateY(-50%); }
.production-parity-horse-fit-flow i { display: grid; grid-row: 1 / span 2; width: 1.35rem; height: 1.35rem; place-items: center; color: #06100c; border-radius: 50%; background: var(--support-green); font-size: .6rem; font-style: normal; font-weight: 900; }
.production-parity-horse-fit-flow b { font-size: .58rem; }
.production-parity-horse-fit-flow span { color: var(--muted); font-size: .6rem; line-height: 1.4; }
.production-parity-horse-signposts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin: .6rem 0 0; padding: 0; list-style: none; }
.production-parity-horse-signposts li { min-width: 0; padding: .55rem; border: 1px solid var(--line); border-left: 4px solid var(--line-strong); background: #06100c; }
.production-parity-horse-signposts li[data-tone="good"] { border-left-color: #79dca9; }
.production-parity-horse-signposts li[data-tone="rise"] { border-left-color: #65bfe5; }
.production-parity-horse-signposts li[data-tone="warn"] { border-left-color: #e7c66e; }
.production-parity-horse-signposts li[data-tone="stop"] { border-left-color: #f08b61; }
.production-parity-horse-signposts li[data-tone="missing"] { border-left-color: #a0aaa5; }
.production-parity-horse-signposts b, .production-parity-horse-signposts span { display: block; }
.production-parity-horse-signposts b { font-size: .7rem; }
.production-parity-horse-signposts b i { display: inline-grid; width: 1.35rem; height: 1.35rem; margin-right: .32rem; place-items: center; color: #07100c; border-radius: 50%; background: var(--ink); font-size: .8rem; font-style: normal; }
.production-parity-horse-signposts span { margin-top: .3rem; color: var(--muted); font-size: .66rem; line-height: 1.55; }
.production-parity-horse-guide > .production-parity-horse-reading { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.production-parity-horse-confidence { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: .45rem; align-items: center; margin-top: .55rem; padding: .5rem .6rem; border: 1px solid #36564a; background: #06100c; }
.production-parity-horse-confidence span { color: var(--muted); font-size: .57rem; }
.production-parity-horse-confidence strong { display: grid; width: 2rem; height: 2rem; place-items: center; color: #07100b; border-radius: 50%; background: var(--support-green); font-size: .75rem; }
.production-parity-horse-confidence[data-confidence="中"] strong { background: var(--support-gold); }
.production-parity-horse-confidence[data-confidence="低"] strong { color: #fff; background: #d56f59; }
.production-parity-horse-confidence p { margin: 0; color: var(--ink); font-size: .64rem; line-height: 1.5; }
.production-parity-horse-next-check { margin-top: .55rem; padding: .55rem .65rem; border: 1px solid #65bfe5; background: rgb(101 191 229 / .06); }
.production-parity-horse-next-check b { color: #65bfe5; font-size: .62rem; }
.production-parity-horse-next-check p { margin: .2rem 0 0; color: var(--ink); font-size: .68rem; line-height: 1.55; }
.production-parity-horse-guide article { padding: .45rem; border: 1px solid var(--line); }
.production-parity-horse-guide article span { color: var(--support-gold, #e7c66e); font-size: .56rem; }
.production-parity-horse-guide article p { margin: .2rem 0 0; color: var(--muted); font-size: .63rem; line-height: 1.5; }
.production-parity-horse-guide details { margin-top: .4rem; padding-top: .4rem; border-top: 1px solid var(--line); }
.production-parity-horse-guide summary { display: flex; min-height: 44px; align-items: center; gap: .5rem; color: var(--ink); cursor: pointer; font-size: .65rem; font-weight: 800; }
.production-parity-horse-guide summary::after { content: "タップして開く  ＋"; margin-left: auto; color: #65bfe5; font-size: .56rem; white-space: nowrap; }
.production-parity-horse-guide details[open] summary::after { content: "タップして閉じる  −"; }
.production-parity-horse-guide details p { margin: .35rem 0 .15rem; color: var(--muted); font-size: .61rem; line-height: 1.55; }
.production-parity-horse-guide details small { color: var(--faint); font-size: .56rem; }
.production-parity-horse-fixture-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem; margin: .55rem 0 0; }
.production-parity-horse-fixture-facts div { padding: .42rem; border: 1px solid var(--line); background: #06100c; }
.production-parity-horse-fixture-facts dt { color: var(--support-green); font-size: .55rem; font-weight: 850; }
.production-parity-horse-fixture-facts dd { margin: .2rem 0 0; color: var(--muted); font-size: .6rem; line-height: 1.45; }
.production-parity-horse-guide > .production-parity-horse-fixture-runs { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: .5rem; border-top: 1px solid var(--line); }
.production-parity-horse-fixture-runs > span { grid-column: 1 / -1; color: var(--support-gold); font-size: .57rem; font-weight: 850; }
.production-parity-horse-fixture-runs article b,
.production-parity-horse-fixture-runs article small { display: block; font-size: .55rem; line-height: 1.45; }
.production-parity-horse-fixture-runs article small { margin-top: .14rem; color: var(--support-green); }
.production-parity-horse-guide > .production-parity-horse-evidence { display: block; margin-top: .55rem; padding: .55rem; border: 1px solid var(--line); background: #06100c; }
.production-parity-horse-evidence b { color: var(--support-gold); font-size: .6rem; }
.production-parity-horse-evidence p { margin: .25rem 0; color: var(--muted); font-size: .64rem; line-height: 1.55; }
.production-parity-horse-evidence small { color: var(--faint); font-size: .56rem; }
.production-parity-support-overview { display: grid; grid-template-columns: 1fr; gap: .4rem; }
.production-parity-support-overview-card { --overview-accent: var(--line-strong); padding: .65rem; border: 1px solid var(--line); border-left: 4px solid var(--overview-accent); background: linear-gradient(120deg, rgb(255 255 255 / .018), transparent 55%), #08130e; }
.production-parity-support-overview-card.is-center { --overview-accent: var(--support-gold); }
.production-parity-support-overview-card.is-front { --overview-accent: #f08b61; }
.production-parity-support-overview-card.is-closing { --overview-accent: #65bfe5; }
.production-parity-support-overview-card.is-split { --overview-accent: #bd8ee4; }
.production-parity-support-overview-card > header { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .5rem; align-items: center; }
.production-parity-support-overview-card > header > b { display: grid; width: 2rem; height: 2rem; place-items: center; color: #07100b; border-radius: 4px; background: #e3eae6; }
.production-parity-support-overview-card > header strong,
.production-parity-support-overview-card > header small,
.production-parity-support-overview-card > header em { display: block; }
.production-parity-support-overview-card > header strong { font-size: .75rem; }
.production-parity-support-overview-card > header small { margin-top: .12rem; color: var(--muted); font-size: .55rem; }
.production-parity-support-overview-card > header > span { text-align: right; }
.production-parity-support-overview-card > header em { color: var(--overview-accent); font-size: .58rem; font-style: normal; font-weight: 900; }
.production-parity-support-overview-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .22rem; margin-top: .5rem; padding: .42rem; border: 1px solid var(--line); background: #06100c; }
.production-parity-support-overview-metrics .production-parity-metric { min-width: 0; opacity: 1; }
.production-parity-support-overview-signals { display: grid; grid-template-columns: minmax(12rem, 1fr) auto minmax(12rem, 1fr); gap: .45rem; align-items: center; margin-top: .4rem; }
.production-parity-support-overview-signals > span { color: var(--muted); font-size: .59rem; line-height: 1.4; }
.production-parity-support-overview-signals > span b { display: block; color: var(--support-green); font-size: .53rem; }
.production-parity-support-overview-signals .production-parity-official-marks,
.production-parity-support-overview-signals .production-parity-tags { display: flex; flex-wrap: wrap; gap: .2rem; }
.production-parity-support-overview-core { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem; margin-top: .55rem; padding: .5rem; border: 1px solid var(--line); background: #06100c; }
.production-parity-support-overview-core > div > span { display: block; color: var(--support-green); font-size: .54rem; }
.production-parity-support-overview-core > div > b { display: block; margin-top: .2rem; font-size: .66rem; line-height: 1.4; }
.production-parity-support-overview-core dl { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem; margin: 0; }
.production-parity-support-overview-core dl > div { min-width: 3rem; padding: .25rem; text-align: center; border-left: 1px solid var(--line); }
.production-parity-support-overview-core dt { color: var(--support-gold); font-size: .52rem; }
.production-parity-support-overview-core dd { margin: .1rem 0 0; font-size: .75rem; font-weight: 900; }
.production-parity-support-overview-core dd small { display: block; color: var(--muted); font-size: .48rem; font-weight: 500; }
.production-parity-support-overview-card > p { margin: .45rem 0 0; color: var(--muted); font-size: .61rem; line-height: 1.5; }
.production-parity-support-overview-card > p b { color: var(--ink); }
.production-parity-support-overview-card > footer { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; margin-top: .5rem; }
.production-parity-support-overview-card > footer > span { margin-right: auto; color: var(--muted); font-size: .55rem; }
.production-parity-support-overview-card > footer button { min-height: 44px; padding: .4rem .55rem; font-size: .6rem; }
.production-parity-support-overview-card > footer button[data-parity-mark-cycle] { color: var(--support-gold); border-color: var(--support-gold); background: transparent; }
.production-parity-support-overview-card > footer button[data-parity-detail-horse] { color: #06100c; border-color: #65bfe5; background: #65bfe5; font-weight: 900; }
.production-parity-support-overview-card > footer button[data-parity-detail-horse] i { margin-left: .2rem; font-style: normal; }
.production-parity-support-overview-card > footer button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.production-parity-support-inline-detail { margin: .7rem -.2rem -.2rem; padding-top: .7rem; border-top: 2px solid #65bfe5; }
.production-parity-support-inline-detail .production-parity-horse-guide { margin: 0; }
.production-parity-support-detail-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); gap: .75rem; align-items: center; margin: .8rem 0; padding: .9rem; border: 1px solid var(--support-gold); background: radial-gradient(circle at 95% 10%, rgb(231 198 110 / .1), transparent 16rem), #08130e; }
.production-parity-support-detail-intro header > span { color: var(--support-gold); font-size: .62rem; font-weight: 900; letter-spacing: .1em; }
.production-parity-support-detail-intro h2 { margin: .25rem 0 0; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(1.15rem, 2.6vw, 1.7rem); }
.production-parity-support-detail-intro header p { margin: .4rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.6; }
.production-parity-support-detail-intro > div { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; }
.production-parity-support-detail-intro article { padding: .48rem; border: 1px solid var(--line); background: #06100c; }
.production-parity-support-detail-intro article b,
.production-parity-support-detail-intro article span { display: block; }
.production-parity-support-detail-intro article b { color: var(--support-green); font-size: .58rem; }
.production-parity-support-detail-intro article span { margin-top: .16rem; color: var(--muted); font-size: .56rem; line-height: 1.4; }

@media (min-width: 761px) {
  .production-parity-support-demo p,
  .production-parity-support-demo dd,
  .production-parity-horse-guide p,
  .production-parity-horse-guide dd { font-size: .8rem; line-height: 1.65; }
  .production-parity-support-demo section > header > p,
  .production-parity-support-hero p,
  .production-parity-support-detail-intro header p { font-size: .84rem; }
  .production-parity-horse-guide > header > span,
  .production-parity-horse-guide > header b,
  .production-parity-support-depth > summary b { font-size: .78rem; }
  .production-parity-horse-signposts b { font-size: .82rem; }
  .production-parity-horse-signposts span { font-size: .76rem; }
  .production-parity-support-overview-card > header strong { font-size: .9rem; }
  .production-parity-support-overview-card > header small,
  .production-parity-support-overview-signals > span,
  .production-parity-support-overview-card > p,
  .production-parity-support-overview-card > footer > span { font-size: .72rem; }
  .production-parity-support-overview-core > div > b { font-size: .78rem; }
  .production-parity-support-overview-card > footer button { font-size: .72rem; }
}

@media (max-width: 760px) {
  .production-parity-support-hero { grid-template-columns: 1fr; }
  .production-parity-support-hero aside { min-width: 0; text-align: left; }
  .production-parity-support-path { grid-template-columns: 1fr 1fr; }
  .production-parity-support-path li::after { display: none; }
  .production-parity-decision-spine > header { display: block; }
  .production-parity-decision-spine > header > b { display: block; max-width: none; margin-top: .55rem; }
  .production-parity-decision-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-decision-branch { grid-template-columns: 1fr; }
  .production-parity-decision-action { grid-template-columns: 1fr 1fr; }
  .production-parity-decision-action > div { grid-column: 1 / -1; }
  .production-parity-support-quicklook > div, .production-parity-support-layers > div { grid-template-columns: 1fr; }
  .production-parity-support-scenario-result { grid-template-columns: 1fr; }
  .production-parity-support-horses > div { grid-template-columns: 1fr; }
  .production-parity-horse-guide > div { grid-template-columns: 1fr 1fr; }
  .production-parity-support-overview-signals { grid-template-columns: 1fr; }
  .production-parity-support-detail-intro { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .production-parity-support-demo { gap: .55rem; }
  .production-parity-support-hero, .production-parity-support-quicklook, .production-parity-support-layers, .production-parity-support-scenario, .production-parity-support-horses { padding: .65rem; }
  .production-parity-decision-spine { padding: .65rem; }
  .production-parity-decision-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-decision-steps li { grid-template-columns: 1.45rem minmax(0, 1fr); min-height: 5.4rem; padding: .52rem; }
  .production-parity-decision-steps li > i { width: 1.35rem; height: 1.35rem; }
  .production-parity-decision-steps p { display: none; }
  .production-parity-decision-action { grid-template-columns: 1fr; }
  .production-parity-decision-action > div { grid-column: auto; }
  .production-parity-decision-action button { width: 100%; white-space: normal; }
  .production-parity-support-path { grid-template-columns: 1fr 1fr; }
  .production-parity-support-path li { padding: .55rem; }
  .production-parity-support-depth > summary { align-items: flex-start; flex-direction: column; }
  .production-parity-support-depth > summary::after { margin-left: 0; }
  .production-parity-support-scenario-switch { grid-template-columns: 1fr; }
  .production-parity-support-scenario-switch button { min-height: 52px; }
  .production-parity-support-flow { grid-template-columns: 1fr; }
  .production-parity-support-flow li:not(:last-child)::after { content: "↓"; right: auto; bottom: -.72rem; left: 50%; }
  .production-parity-support-scenario-result dl { grid-template-columns: 1fr; }
  .production-parity-support-horses > div { grid-template-columns: 1fr; }
  .production-parity-support-spotlight-card > button { min-height: 92px; }
  .production-parity-horse-guide > header { display: grid; }
  .production-parity-horse-guide p,
  .production-parity-horse-guide dd,
  .production-parity-horse-verdict p,
  .production-parity-horse-verdict > div em,
  .production-parity-horse-match dd,
  .production-parity-horse-confidence p,
  .production-parity-horse-signposts span,
  .production-parity-horse-next-check p,
  .production-parity-horse-evidence p { font-size: 15px; line-height: 1.65; }
  .production-parity-horse-guide small,
  .production-parity-horse-guide dt,
  .production-parity-horse-guide > header span { font-size: 13px; }
  .production-parity-horse-verdict > div { grid-template-columns: 1fr; }
  .production-parity-horse-verdict > div b { margin-top: .15rem; font-size: .63rem; }
  .production-parity-horse-guide > div { grid-template-columns: 1fr; }
  .production-parity-horse-story > p { font-size: .78rem; line-height: 1.9; }
  .production-parity-horse-identity { grid-template-columns: 1fr; }
  .production-parity-horse-run-story { position: relative; grid-template-columns: 1fr; gap: 0; padding-left: 1rem; }
  .production-parity-horse-run-story::before { content: ""; position: absolute; top: .8rem; bottom: .8rem; left: .35rem; width: 2px; background: linear-gradient(var(--support-gold), #65bfe5); }
  .production-parity-horse-run-story li { display: grid; grid-template-columns: minmax(5.5rem, .32fr) minmax(0, 1fr); gap: .14rem .45rem; padding: .5rem; border-width: 0 0 1px; }
  .production-parity-horse-run-story li::before { content: ""; position: absolute; top: .78rem; left: -1rem; width: .65rem; height: .65rem; border: 2px solid #07100b; border-radius: 50%; background: var(--support-gold); box-shadow: 0 0 0 2px var(--support-gold); }
  .production-parity-horse-run-story li:not(:last-child)::after { display: none; }
  .production-parity-horse-run-story header { grid-row: 1 / span 2; }
  .production-parity-horse-run-story li > div { margin-top: 0; }
  .production-parity-horse-run-story li > p { grid-column: 2; margin-top: .1rem; }
  .production-parity-horse-match dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .production-parity-horse-fixture-facts { grid-template-columns: 1fr; }
  .production-parity-support-overview-card > header { grid-template-columns: 2rem minmax(0, 1fr); }
  .production-parity-support-overview-card > header > span { grid-column: 1 / -1; text-align: left; }
  .production-parity-support-overview-core { grid-template-columns: 1fr; }
  .production-parity-support-overview-core dl > div:first-child { border-left: 0; }
  .production-parity-support-overview-metrics { gap: .08rem; padding: .22rem .08rem; }
  .production-parity-support-overview-metrics .production-parity-metric { min-height: 34px; padding: .12rem; }
  .production-parity-support-overview-card > footer { display: grid; grid-template-columns: 1fr 1fr; }
  .production-parity-support-overview-card > footer > span { grid-column: 1 / -1; }
  .production-parity-support-overview-card > footer button { width: 100%; min-height: 50px; }
  .production-parity-support-detail-intro { margin: .55rem 0; padding: .65rem; }
  .production-parity-support-detail-intro > div { grid-template-columns: 1fr 1fr; }
  .production-parity-horse-fit-flow { grid-template-columns: 1fr; }
  .production-parity-horse-fit-flow li:not(:last-child)::after { content: "↓"; top: auto; right: auto; bottom: -.72rem; left: 50%; transform: none; }
  .production-parity-horse-signposts { grid-template-columns: 1fr; }
  .production-parity-horse-signposts li { padding: .48rem; }
}

@media (prefers-reduced-motion: reduce) {
  .production-parity-support-scenario-switch button { transition: none; }
}

/* Scenario replay: the same race reading, shown as four visual moments. */
.production-parity-primary-actions.has-scenario,
.production-parity-race-header > .production-parity-primary-actions.has-scenario:last-child { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.production-parity-scenario-replay {
  --scenario-gold: #e7c66e;
  --scenario-green: #75dfa8;
  --scenario-blue: #68bce6;
  display: grid;
  gap: .7rem;
  padding: clamp(.7rem, 2vw, 1.2rem);
  overflow: hidden;
  border: 1px solid #305143;
  border-top: 3px solid var(--scenario-gold);
  background: radial-gradient(circle at 90% 0, rgb(104 188 230 / .09), transparent 26rem), linear-gradient(145deg, #0c1c15, #07110d);
}
.production-parity-scenario-replay *, .production-parity-scenario-replay *::before, .production-parity-scenario-replay *::after { box-sizing: border-box; min-width: 0; }
.production-parity-scenario-replay h2, .production-parity-scenario-replay h3 { margin: 0; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; }
.production-parity-scenario-replay p, .production-parity-scenario-replay dd { overflow-wrap: anywhere; }
.production-parity-scenario-replay-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .32fr); gap: .8rem; align-items: center; }
.production-parity-scenario-replay-hero > div > span { color: var(--scenario-green); font-size: .65rem; font-weight: 900; letter-spacing: .08em; }
.production-parity-scenario-replay-hero h2 { margin-top: .2rem; font-size: clamp(1.35rem, 3vw, 2rem); }
.production-parity-scenario-replay-hero p { max-width: 54rem; margin: .35rem 0 0; color: var(--muted); font-size: .74rem; line-height: 1.7; }
.production-parity-scenario-replay-hero aside { padding: .7rem; border: 1px solid var(--scenario-gold); background: rgb(231 198 110 / .07); }
.production-parity-scenario-replay-hero aside b, .production-parity-scenario-replay-hero aside small { display: block; }
.production-parity-scenario-replay-hero aside b { color: var(--scenario-gold); font-size: .84rem; }
.production-parity-scenario-replay-hero aside small { margin-top: .25rem; color: var(--muted); font-size: .64rem; line-height: 1.5; }
.production-parity-scenario-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .3rem; }
.production-parity-scenario-steps button { display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); gap: .35rem; min-height: 48px; padding: .35rem .45rem; align-items: center; text-align: left; border-color: #345247; background: #08140f; }
.production-parity-scenario-steps button i { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; color: #07110d; border-radius: 50%; background: #82968d; font-size: .7rem; font-style: normal; font-weight: 950; }
.production-parity-scenario-steps button span { font-size: .66rem; font-weight: 850; }
.production-parity-scenario-steps button[aria-current="step"] { border-color: var(--scenario-gold); background: linear-gradient(120deg, rgb(231 198 110 / .14), #0c1d15); }
.production-parity-scenario-steps button[aria-current="step"] i { background: var(--scenario-gold); }
.production-parity-scenario-controls { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: .4rem; align-items: center; }
.production-parity-scenario-controls button { min-height: 44px; }
.production-parity-scenario-controls button:first-child { border-color: var(--scenario-green); color: #07110d; background: var(--scenario-green); font-weight: 900; }
.production-parity-scenario-controls small { color: var(--muted); font-size: .62rem; line-height: 1.5; }
.production-parity-scenario-now { padding: .75rem; border-left: 4px solid var(--scenario-blue); background: #0a1812; }
.production-parity-scenario-now > span { color: var(--scenario-blue); font-size: .64rem; font-weight: 900; }
.production-parity-scenario-now h3 { margin-top: .2rem; font-size: clamp(1rem, 2.5vw, 1.35rem); }
.production-parity-scenario-now p { margin: .35rem 0 0; color: #cad6cf; font-size: .72rem; line-height: 1.7; }
.production-parity-scenario-now strong { display: block; margin-top: .45rem; padding: .45rem; border: 1px solid #35564a; color: var(--scenario-gold); font-size: .67rem; line-height: 1.55; }
.production-parity-scenario-track { position: relative; display: grid; gap: .4rem; padding: .7rem; overflow: hidden; border: 1px solid #456357; border-radius: 12px; background: repeating-linear-gradient(90deg, transparent 0 12.3%, rgb(255 255 255 / .035) 12.5% 12.8%), linear-gradient(90deg, #0c2017, #112b1f); }
.production-parity-scenario-course { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: .45rem; align-items: center; color: var(--muted); font-size: .56rem; font-weight: 900; letter-spacing: .08em; }
.production-parity-scenario-course i { height: 1px; background: linear-gradient(90deg, var(--scenario-blue), var(--scenario-gold)); }
.production-parity-scenario-course b { color: var(--scenario-gold); }
.production-parity-scenario-course em { color: var(--scenario-green); font-style: normal; }
.production-parity-scenario-lane { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: .45rem; padding: .4rem; align-items: center; border: 1px solid rgb(255 255 255 / .08); border-radius: 9px; background: rgb(3 12 8 / .65); transition: opacity .5s ease, transform .85s cubic-bezier(.2,.7,.2,1), border-color .5s ease, background-color .5s ease; }
.production-parity-scenario-lane header b, .production-parity-scenario-lane header span { display: block; }
.production-parity-scenario-lane header b { color: var(--scenario-gold); font-size: .78rem; }
.production-parity-scenario-lane header span { margin-top: .1rem; color: var(--muted); font-size: .54rem; }
.production-parity-scenario-lane > div { display: flex; gap: .25rem; flex-wrap: wrap; }
.production-parity-scenario-horse { display: grid; grid-template-columns: 1.55rem minmax(0, 5.4rem); gap: .25rem; min-height: 30px; padding: .25rem; align-items: center; border: 1px solid #49675a; border-radius: 7px; background: #10251b; transition: opacity .5s ease, transform .85s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease; }
.production-parity-scenario-horse b { display: grid; width: 1.45rem; height: 1.45rem; place-items: center; color: #07110d; border-radius: 5px; background: #dce5e0; font-size: .65rem; }
.production-parity-scenario-horse small { overflow: hidden; color: #d5ded9; font-size: .54rem; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-scenario-lane.is-active { border-color: var(--scenario-gold); background: rgb(231 198 110 / .08); transform: translateX(1.2%); }
.production-parity-scenario-replay[data-step="1"] .production-parity-scenario-lane:not(.is-front),
.production-parity-scenario-replay[data-step="2"] .production-parity-scenario-lane:not(.is-active),
.production-parity-scenario-replay[data-step="3"] .production-parity-scenario-horse:not(.is-key) { opacity: .36; }
.production-parity-scenario-replay[data-step="1"] .production-parity-scenario-lane.is-front { transform: translateX(2.5%); }
.production-parity-scenario-replay[data-step="2"][data-scenario="front"] .production-parity-scenario-lane.is-front,
.production-parity-scenario-replay[data-step="2"][data-scenario="closing"] .production-parity-scenario-lane.is-closing,
.production-parity-scenario-replay[data-step="2"][data-scenario="standard"] .production-parity-scenario-lane.is-middle { transform: translateX(4%); }
.production-parity-scenario-horse.is-key { position: relative; z-index: 2; border-color: var(--scenario-gold); background: #26361e; box-shadow: 0 0 0 2px rgb(231 198 110 / .2), 0 0 22px rgb(231 198 110 / .28); transform: translateX(8%); }
.production-parity-scenario-branch, .production-parity-scenario-key-horse { padding: .75rem; border: 1px solid #35564a; background: #091711; }
.production-parity-scenario-branch > header > span, .production-parity-scenario-key-horse > header > span { color: var(--scenario-green); font-size: .62rem; font-weight: 900; }
.production-parity-scenario-branch > header h3 { margin-top: .2rem; font-size: 1.05rem; }
.production-parity-scenario-branch > header p { margin: .3rem 0 0; color: var(--muted); font-size: .66rem; line-height: 1.55; }
.production-parity-scenario-branch > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin-top: .6rem; }
.production-parity-scenario-branch > div button { min-height: 54px; padding: .45rem; text-align: left; }
.production-parity-scenario-branch > div b, .production-parity-scenario-branch > div small { display: block; }
.production-parity-scenario-branch > div b { font-size: .72rem; }
.production-parity-scenario-branch > div small { margin-top: .15rem; color: var(--muted); font-size: .55rem; line-height: 1.4; }
.production-parity-scenario-branch > div button[aria-pressed="true"] { border-color: var(--scenario-gold); background: rgb(231 198 110 / .12); }
.production-parity-scenario-branch dl { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; margin: .55rem 0 0; }
.production-parity-scenario-branch dl > div { padding: .5rem; border: 1px solid #2d493e; }
.production-parity-scenario-branch dt { color: var(--scenario-gold); font-size: .58rem; }
.production-parity-scenario-branch dd { margin: .2rem 0 0; color: var(--muted); font-size: .64rem; line-height: 1.5; }
.production-parity-scenario-key-horse > header { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: .4rem; align-items: center; }
.production-parity-scenario-key-horse > header > span { grid-column: 1 / -1; }
.production-parity-scenario-key-horse > header > b { display: grid; width: 2.1rem; height: 2.1rem; place-items: center; color: #07110d; border-radius: 7px; background: #dce5e0; }
.production-parity-scenario-key-horse > header h3 { font-size: 1rem; }
.production-parity-scenario-key-horse > p { margin: .45rem 0; color: #cad6cf; font-size: .68rem; line-height: 1.6; }
.production-parity-scenario-key-horse > button { width: 100%; min-height: 48px; border-color: var(--scenario-blue); color: #041019; background: var(--scenario-blue); font-weight: 900; }
.production-parity-scenario-actions { display: grid; grid-template-columns: .55fr 1fr; gap: .4rem; }
.production-parity-scenario-actions button { min-height: 48px; }
.production-parity-scenario-actions button:last-child { border-color: var(--scenario-gold); color: #07110d; background: var(--scenario-gold); font-weight: 900; }

@media (max-width: 700px) {
  .production-parity-primary-actions.has-scenario,
  .production-parity-race-header > .production-parity-primary-actions.has-scenario:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-parity-scenario-replay-hero { grid-template-columns: 1fr; }
  .production-parity-scenario-replay-hero aside { padding: .55rem; }
  .production-parity-scenario-controls { grid-template-columns: 1fr 1fr; }
  .production-parity-scenario-controls small { grid-column: 1 / -1; }
  .production-parity-scenario-lane { grid-template-columns: 3.3rem minmax(0, 1fr); }
  .production-parity-scenario-horse { grid-template-columns: 1.45rem minmax(0, 3.2rem); }
  .production-parity-scenario-branch > div { grid-template-columns: 1fr; }
  .production-parity-scenario-branch dl { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .production-parity-scenario-replay { gap: .55rem; padding: .55rem; }
  .production-parity-scenario-replay-hero h2 { font-size: 1.3rem; }
  .production-parity-scenario-replay-hero p { font-size: .7rem; }
  .production-parity-scenario-steps { gap: .2rem; }
  .production-parity-scenario-steps button { grid-template-columns: 1fr; min-height: 54px; justify-items: center; padding: .3rem .2rem; text-align: center; }
  .production-parity-scenario-steps button span { font-size: .58rem; }
  .production-parity-scenario-controls button { padding-inline: .35rem; font-size: .65rem; }
  .production-parity-scenario-now { padding: .6rem; }
  .production-parity-scenario-track { padding: .5rem; }
  .production-parity-scenario-lane { grid-template-columns: 2.7rem minmax(0, 1fr); gap: .25rem; padding: .3rem; }
  .production-parity-scenario-lane header span { font-size: .49rem; }
  .production-parity-scenario-horse { grid-template-columns: 1.35rem; min-height: 28px; padding: .18rem; }
  .production-parity-scenario-horse b { width: 1.3rem; height: 1.3rem; }
  .production-parity-scenario-horse small { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .production-parity-scenario-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .production-parity-scenario-lane, .production-parity-scenario-horse { transition: none; }
}

/* Race story v2: one continuous course, five connected scenes. */
.production-parity-scenario-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.production-parity-scenario-controls { grid-template-columns: minmax(7rem, auto) minmax(10rem, auto) minmax(7rem, auto) 1fr; }
.production-parity-scenario-controls button { border-color: #46695a; background: #0b1b14; }
.production-parity-scenario-controls button:nth-child(2) { border-color: var(--scenario-gold); color: #07110d; background: var(--scenario-gold); font-weight: 950; }
.production-parity-scenario-controls button:disabled { opacity: .42; }
.production-parity-scenario-cinema {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid #526f62;
  border-radius: 16px;
  background:
    radial-gradient(circle at 78% 50%, rgb(231 198 110 / .12), transparent 24%),
    repeating-linear-gradient(0deg, transparent 0 9.8%, rgb(255 255 255 / .035) 10% 10.3%),
    linear-gradient(90deg, #0b2118 0 74%, #10291e 74% 88%, #172c21 88% 100%);
  box-shadow: inset 0 0 42px rgb(0 0 0 / .42);
}
.production-parity-scenario-cinema > header {
  position: absolute;
  z-index: 5;
  top: .6rem;
  right: .7rem;
  left: .7rem;
  display: grid;
  grid-template-columns: .8fr 1fr 1fr 1fr .7fr;
  gap: .3rem;
  color: #94aaa0;
  font-size: .56rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-align: center;
}
.production-parity-scenario-cinema > header span { text-align: left; }
.production-parity-scenario-cinema > header em { color: var(--scenario-gold); font-style: normal; text-align: right; }
.production-parity-scenario-course-line {
  position: absolute;
  z-index: 1;
  top: 2.6rem;
  right: 4.5%;
  bottom: 1rem;
  left: 4.5%;
  border: 1px solid rgb(117 223 168 / .2);
  border-radius: 50% / 12%;
}
.production-parity-scenario-course-line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(117 223 168 / .33) 8% 88%, transparent);
}
.production-parity-scenario-course-line i { position: absolute; top: 0; bottom: 0; width: 1px; background: rgb(255 255 255 / .08); }
.production-parity-scenario-course-line i:nth-child(1) { left: 24%; }
.production-parity-scenario-course-line i:nth-child(2) { left: 47%; }
.production-parity-scenario-course-line i:nth-child(3) { left: 70%; }
.production-parity-scenario-course-line i:nth-child(4) { left: 88%; }
.production-parity-scenario-pack-label {
  position: absolute;
  z-index: 4;
  top: 2.7rem;
  left: 50%;
  max-width: min(70%, 34rem);
  padding: .42rem .7rem;
  border: 1px solid rgb(104 188 230 / .45);
  border-radius: 999px;
  background: rgb(5 17 12 / .9);
  box-shadow: 0 8px 22px rgb(0 0 0 / .24);
  transform: translateX(-50%);
  text-align: center;
}
.production-parity-scenario-pack-label span, .production-parity-scenario-pack-label small { display: block; }
.production-parity-scenario-pack-label span { overflow: hidden; color: #edf5f0; font-size: .66rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-scenario-pack-label small { margin-top: .08rem; color: var(--scenario-blue); font-size: .52rem; }
.production-parity-scenario-runner {
  position: absolute;
  z-index: 3;
  left: var(--x0);
  top: var(--y0);
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 5.6rem) 1.2rem;
  gap: .26rem;
  min-height: 32px;
  padding: .25rem;
  align-items: center;
  border: 1px solid #557468;
  border-radius: 9px;
  background: rgb(8 26 18 / .93);
  box-shadow: 0 5px 16px rgb(0 0 0 / .3);
  transform: translate(-50%, -50%);
  transition: left 1.55s cubic-bezier(.18,.78,.18,1), top 1.55s cubic-bezier(.18,.78,.18,1), opacity .65s ease, filter .65s ease, box-shadow .65s ease;
}
@keyframes production-parity-race-standard {
  0% { left: var(--x0); top: var(--y0); }
  25% { left: var(--x1); top: var(--y1); }
  50% { left: var(--x2s); top: var(--yr); }
  75% { left: var(--x3s); top: var(--yr); }
  100% { left: var(--x4s); top: var(--yr); }
}
@keyframes production-parity-race-front {
  0% { left: var(--x0); top: var(--y0); }
  25% { left: var(--x1); top: var(--y1); }
  50% { left: var(--x2f); top: var(--yr); }
  75% { left: var(--x3f); top: var(--yr); }
  100% { left: var(--x4f); top: var(--yr); }
}
@keyframes production-parity-race-closing {
  0% { left: var(--x0); top: var(--y0); }
  25% { left: var(--x1); top: var(--y1); }
  50% { left: var(--x2c); top: var(--yr); }
  75% { left: var(--x3c); top: var(--yr); }
  100% { left: var(--x4c); top: var(--yr); }
}
.production-parity-scenario-replay[data-motion="running"] .production-parity-scenario-runner,
.production-parity-scenario-replay[data-motion="paused"] .production-parity-scenario-runner { animation-duration: 32s; animation-timing-function: linear; animation-fill-mode: both; }
.production-parity-scenario-replay[data-motion="running"][data-scenario="standard"] .production-parity-scenario-runner,
.production-parity-scenario-replay[data-motion="paused"][data-scenario="standard"] .production-parity-scenario-runner { animation-name: production-parity-race-standard; }
.production-parity-scenario-replay[data-motion="running"][data-scenario="front"] .production-parity-scenario-runner,
.production-parity-scenario-replay[data-motion="paused"][data-scenario="front"] .production-parity-scenario-runner { animation-name: production-parity-race-front; }
.production-parity-scenario-replay[data-motion="running"][data-scenario="closing"] .production-parity-scenario-runner,
.production-parity-scenario-replay[data-motion="paused"][data-scenario="closing"] .production-parity-scenario-runner { animation-name: production-parity-race-closing; }
.production-parity-scenario-replay[data-motion="paused"] .production-parity-scenario-runner { animation-play-state: paused; }
.production-parity-scenario-runner b { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; color: #07110d; border-radius: 6px; background: #e8efeb; font-size: .72rem; }
.production-parity-scenario-runner small { overflow: hidden; color: #e4ede8; font-size: .55rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.production-parity-scenario-runner i { display: grid; width: 1.15rem; height: 1.15rem; place-items: center; color: var(--scenario-gold); border: 1px solid #526c60; border-radius: 50%; font-size: .5rem; font-style: normal; }
.production-parity-scenario-replay[data-step="1"] .production-parity-scenario-runner { left: var(--x1); top: var(--y1); }
.production-parity-scenario-replay[data-step="2"][data-scenario="standard"] .production-parity-scenario-runner { left: var(--x2s); top: var(--yr); }
.production-parity-scenario-replay[data-step="2"][data-scenario="front"] .production-parity-scenario-runner { left: var(--x2f); top: var(--yr); }
.production-parity-scenario-replay[data-step="2"][data-scenario="closing"] .production-parity-scenario-runner { left: var(--x2c); top: var(--yr); }
.production-parity-scenario-replay[data-step="3"][data-scenario="standard"] .production-parity-scenario-runner { left: var(--x3s); top: var(--yr); }
.production-parity-scenario-replay[data-step="3"][data-scenario="front"] .production-parity-scenario-runner { left: var(--x3f); top: var(--yr); }
.production-parity-scenario-replay[data-step="3"][data-scenario="closing"] .production-parity-scenario-runner { left: var(--x3c); top: var(--yr); }
.production-parity-scenario-replay[data-step="4"][data-scenario="standard"] .production-parity-scenario-runner { left: var(--x4s); top: var(--yr); }
.production-parity-scenario-replay[data-step="4"][data-scenario="front"] .production-parity-scenario-runner { left: var(--x4f); top: var(--yr); }
.production-parity-scenario-replay[data-step="4"][data-scenario="closing"] .production-parity-scenario-runner { left: var(--x4c); top: var(--yr); }
.production-parity-scenario-replay[data-step="3"] .production-parity-scenario-runner:not(.is-key),
.production-parity-scenario-replay[data-step="4"] .production-parity-scenario-runner:not(.is-key) { opacity: .34; filter: saturate(.55); }
.production-parity-scenario-runner.is-key { z-index: 6; border-color: var(--scenario-gold); background: #27391e; box-shadow: 0 0 0 3px rgb(231 198 110 / .19), 0 0 28px rgb(231 198 110 / .33); }
.production-parity-scenario-runner.is-key::after { content: "確認"; position: absolute; bottom: calc(100% + .18rem); left: 50%; padding: .12rem .3rem; color: #07110d; border-radius: 999px; background: var(--scenario-gold); font-size: .46rem; font-weight: 950; transform: translateX(-50%); }
.production-parity-scenario-finish { position: absolute; z-index: 2; top: 2.45rem; right: 7%; bottom: 1rem; width: 12px; background: repeating-conic-gradient(#e6ece9 0 25%, #183226 0 50%) 50% / 10px 10px; opacity: .58; }
.production-parity-scenario-roles { padding: .75rem; border: 1px solid #35564a; background: #091711; }
.production-parity-scenario-roles > header > span, .production-parity-scenario-saved-story > span { color: var(--scenario-green); font-size: .62rem; font-weight: 900; }
.production-parity-scenario-roles > header h3 { margin-top: .2rem; font-size: 1.05rem; }
.production-parity-scenario-roles > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; margin-top: .55rem; }
.production-parity-scenario-roles article { display: grid; grid-template-columns: 2rem 1fr; gap: .4rem; padding: .55rem; border: 1px solid #304e42; background: #07120e; }
.production-parity-scenario-roles article > i { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; color: #07110d; border-radius: 50%; background: var(--scenario-green); font-size: .7rem; font-style: normal; font-weight: 950; }
.production-parity-scenario-roles article span > * { display: block; }
.production-parity-scenario-roles article b { color: var(--scenario-green); font-size: .58rem; }
.production-parity-scenario-roles article strong { margin-top: .16rem; font-size: .68rem; }
.production-parity-scenario-roles article small { margin-top: .2rem; color: var(--muted); font-size: .55rem; line-height: 1.45; }
.production-parity-scenario-branch > div button { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .45rem; align-items: center; }
.production-parity-scenario-branch > div button > i { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; color: #07110d; border-radius: 50%; background: #90a39a; font-style: normal; font-weight: 950; }
.production-parity-scenario-branch > div button[aria-pressed="true"] > i { background: var(--scenario-gold); }
.production-parity-scenario-fit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin: .5rem 0; }
.production-parity-scenario-fit span { padding: .45rem; border: 1px solid #36564a; color: var(--muted); font-size: .6rem; text-align: center; }
.production-parity-scenario-fit b { display: block; margin-top: .14rem; color: var(--scenario-gold); font-size: .7rem; }
.production-parity-scenario-saved-story { padding: .8rem; border: 1px solid var(--scenario-gold); background: linear-gradient(125deg, rgb(231 198 110 / .08), #091711); }
.production-parity-scenario-saved-story h3 { margin-top: .2rem; font-size: 1.05rem; }
.production-parity-scenario-saved-story blockquote { margin: .6rem 0; padding: .7rem; border-left: 4px solid var(--scenario-green); color: #e5eee9; background: rgb(2 10 7 / .48); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: .78rem; line-height: 1.8; }
.production-parity-scenario-saved-story small { color: var(--muted); font-size: .58rem; }

@media (max-width: 700px) {
  .production-parity-scenario-controls { grid-template-columns: 1fr 1.25fr 1fr; }
  .production-parity-scenario-controls small { grid-column: 1 / -1; }
  .production-parity-scenario-roles > div { grid-template-columns: 1fr 1fr; }
  .production-parity-scenario-cinema { min-height: 330px; }
}

@media (max-width: 430px) {
  .production-parity-scenario-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .production-parity-scenario-steps button { min-height: 50px; }
  .production-parity-scenario-steps button i { width: 1.35rem; height: 1.35rem; font-size: .58rem; }
  .production-parity-scenario-steps button span { font-size: .53rem; }
  .production-parity-scenario-controls { gap: .25rem; }
  .production-parity-scenario-controls button { min-height: 48px; padding-inline: .18rem; font-size: .59rem; }
  .production-parity-scenario-controls small { font-size: .55rem; }
  .production-parity-scenario-cinema { min-height: 315px; border-radius: 12px; }
  .production-parity-scenario-cinema > header { right: .4rem; left: .4rem; font-size: .46rem; }
  .production-parity-scenario-pack-label { top: 2.35rem; max-width: 84%; padding: .34rem .52rem; }
  .production-parity-scenario-pack-label span { font-size: .56rem; }
  .production-parity-scenario-runner { grid-template-columns: 1.35rem; gap: 0; min-height: 25px; padding: .14rem; border-radius: 7px; }
  .production-parity-scenario-runner b { width: 1.3rem; height: 1.3rem; font-size: .58rem; }
  .production-parity-scenario-runner small, .production-parity-scenario-runner i { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .production-parity-scenario-runner.is-key { grid-template-columns: 1.35rem minmax(0, 5.5rem); padding-right: .32rem; }
  .production-parity-scenario-runner.is-key small { position: static; width: auto; height: auto; overflow: hidden; clip-path: none; font-size: .49rem; text-overflow: ellipsis; }
  .production-parity-scenario-runner.is-key::after { font-size: .4rem; }
  .production-parity-scenario-finish { right: 5.5%; }
  .production-parity-scenario-roles > div { grid-template-columns: 1fr; }
  .production-parity-scenario-fit { grid-template-columns: 1fr; }
  .production-parity-scenario-saved-story blockquote { font-size: .72rem; }
}

@media (prefers-reduced-motion: reduce) {
  .production-parity-scenario-runner { animation: none !important; transition: none; }
}

/* Simple board: the board finds a race; the racecard explains it. */
.board-stage { max-width: 1180px; }
.board-head-simple {
  min-height: 0;
  margin-bottom: .65rem;
  padding: .45rem .2rem .65rem;
  border-bottom: 1px solid #294137;
}
.board-head-simple > div { display: grid; grid-template-columns: auto 1fr auto; gap: .15rem .7rem; align-items: end; width: 100%; }
.board-head-simple .text-back { grid-row: 1 / span 3; align-self: center; min-height: 44px; }
.board-head-simple .eyebrow { grid-column: 2; }
.board-head-simple h1 { grid-column: 2; margin: 0; font-size: clamp(1.75rem, 4vw, 2.4rem); line-height: 1.05; }
.board-head-simple h1:focus { outline: 0; }
.board-head-simple p { grid-column: 3; grid-row: 2; margin: 0; color: #dce7e1; font-size: .88rem; font-weight: 800; }
.board-head-simple .board-source-badge { grid-column: 3; grid-row: 3; color: var(--muted); font-size: .65rem; text-align: right; }

.board-command-summary-simple {
  grid-template-columns: minmax(190px, .65fr) minmax(270px, 1fr) minmax(250px, .8fr);
  gap: .8rem;
  padding: .75rem .85rem;
  border-color: #315044;
  border-radius: 14px;
  background: linear-gradient(120deg, #0d1b15, #0a1511);
}
.board-command-summary-simple .eyebrow { color: #77d79d; }
.board-command-summary-simple dl div { padding: .45rem .55rem; border: 0; border-left: 2px solid #36584a; background: transparent; }
.board-progress-meter { display: grid; grid-template-columns: 1fr auto; gap: .35rem .55rem; align-items: center; }
.board-progress-meter > div { grid-column: 1 / -1; height: 7px; overflow: hidden; border-radius: 999px; background: #1b3027; }
.board-progress-meter > div span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4ec27e, #e2bf68); }
.board-progress-meter p { margin: 0; color: var(--muted); font-size: .75rem; }
.board-progress-meter button { min-height: 44px; padding: .35rem .65rem; border-color: #45735e; color: #9ce5ba; }

.board-control-panel-simple { display: block; padding: .7rem .8rem; border-color: #29483b; border-radius: 14px; background: #09140f; }
.board-control-panel-simple .board-control-head { margin-bottom: .55rem; }
.board-filter-body { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem .8rem; }
.board-tools, .board-sort { display: flex; flex-wrap: wrap; gap: .3rem; overflow: visible; }
.board-tools > span, .board-sort > span { flex: 0 0 100%; margin-bottom: .05rem; color: #91a99d; font-size: .67rem; letter-spacing: .08em; }
.board-tools button, .board-sort button { min-height: 44px; padding: .35rem .65rem; border-color: #304a3f; border-radius: 999px; font-size: .74rem; }
.board-tools button[aria-pressed="true"] { border-color: #67d394; color: #06110c; background: #67d394; }
.board-sort button[aria-pressed="true"] { border-color: #e1bf69; color: #111008; background: #e1bf69; }
.board-filter-options { display: grid; flex: 1 1 100%; gap: .42rem; }
.board-venue-group { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.board-venue-group > b { flex: 0 0 3.1rem; color: #a8bbb1; font-size: .68rem; letter-spacing: .08em; }

.board-panel { overflow: hidden; border-color: #315044; border-radius: 14px; background: #09140f; }
.board-list-toolbar { position: static; min-height: 52px; padding: .45rem .8rem; background: #0d1b15; }
.board-list-toolbar small { color: #8ca096; }
.board-table-head, .board-row-core { grid-template-columns: 4.65rem minmax(9rem, 1fr) minmax(6.5rem, .58fr) minmax(5.6rem, .5fr) 6.2rem 5.4rem 1.2rem; gap: .6rem; }
.board-table-head { position: static; padding: .5rem .85rem; background: #07110d; }
.day-board-row { border-bottom-color: #243d32; }
.day-board-row.is-ready { border-left: 0; }
.day-board-row-button {
  min-height: 64px;
  color: var(--ink);
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.day-board-row-button:hover { background: #12251c; }
.day-board-row-button:focus-visible { z-index: 1; outline: 3px solid #e1bf69; outline-offset: -3px; background: #13271e; }
.board-row-core { min-height: 64px; padding: .55rem .85rem; }
.day-board-row time { color: #e5ede8; font-size: .88rem; font-variant-numeric: tabular-nums; }
.board-race-main { display: grid; gap: .1rem; }
.board-race-main b { color: #f0f4f2; font-size: .9rem; }
.board-race-main small { display: block !important; overflow: hidden; color: #899d92; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.board-volatility { display: grid; grid-template-columns: minmax(3.6rem, 1fr) 1.7rem; gap: .4rem; align-items: center; color: #dce8e1; font-variant-numeric: tabular-nums; }
.board-volatility i { display: block; height: 5px; overflow: hidden; border-radius: 999px; background: #21342c; }
.board-volatility em { display: block; width: var(--board-volatility); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8fb0a1, #e4bd63, #ef6c48); }
.board-volatility b { font-size: .78rem; }
.board-volatility.is-unknown { color: #7f9188; }
.board-pace { overflow: hidden; color: #d8bd75; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.board-state, .board-owner-marks { display: inline-flex; justify-self: start; align-items: center; min-height: 30px; padding: .25rem .55rem; border-radius: 999px; font-size: .72rem; line-height: 1; }
.board-owner-marks.is-with { border-color: #9d83dc; color: #c7b5f1; }
.board-owner-marks.is-with::before { content: "●"; margin-right: .28rem; font-size: .55rem; }
.board-owner-marks.is-without { color: #8ca096; }
/* 全頭データが未接続のレースは、本人印が「ある／ない」ではなく「まだ分からない」＝別の見た目にする。 */
.board-owner-marks.is-unknown { color: #97a0ad; border-color: rgba(151, 160, 173, .45); }
.board-row-chevron { justify-self: end; color: #dfbd67; font: 400 1.65rem/1 Georgia, serif; }
.board-empty-state { min-height: 180px; place-content: center; }

@media (max-width: 640px) {
  .board-stage { padding-inline: .65rem; }
  .board-head-simple { margin-bottom: .5rem; padding-inline: 0; }
  .board-head-simple > div { grid-template-columns: auto 1fr; gap: .08rem .5rem; }
  .board-head-simple .text-back { grid-row: 1 / span 3; padding-inline: .55rem; }
  .board-head-simple .eyebrow, .board-head-simple h1 { grid-column: 2; }
  .board-head-simple h1 { font-size: 1.65rem; }
  .board-head-simple p { grid-column: 2; grid-row: 3; font-size: .76rem; }
  .board-head-simple .board-source-badge { display: none; }
  .board-command-summary-simple { grid-template-columns: 1fr; gap: .55rem; padding: .65rem; }
  .board-command-summary-simple > div:first-child { display: none; }
  .board-command-summary-simple dl { order: -1; }
  .board-command-summary-simple dl div { padding: .2rem .45rem; }
  .board-command-summary-simple dt { font-size: .62rem; }
  .board-command-summary-simple dd { font-size: 1.1rem; }
  .board-progress-meter button { min-height: 44px; }
  .board-control-panel-simple { padding: .62rem; }
  .board-control-panel-simple .board-control-head { align-items: center; }
  .board-control-panel-simple .board-control-head .eyebrow { display: none; }
  .board-control-panel-simple .board-control-head h2 { font-size: 1rem; }
  .board-control-actions button { min-height: 44px; padding: .3rem .55rem; font-size: .7rem; }
  #toggleBoardFilters { display: inline-flex; }
  .board-filter-body { display: none !important; grid-template-columns: 1fr; gap: .55rem; }
  .board-control-panel.is-filter-open .board-filter-body { display: grid !important; }
  .board-tools button, .board-sort button { min-height: 44px; padding: .4rem .7rem; }
  .board-filter-options { gap: .55rem; }
  .board-venue-group { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .35rem; }
  .board-venue-group > b { grid-column: 1 / -1; }
  .board-venue-group button { width: 100%; padding-inline: .2rem; }
  .board-list-toolbar { min-height: 48px; padding: .4rem .65rem; }
  .board-list-toolbar small { font-size: .64rem; }
  .board-table-head { display: none; }
  .board-row-core {
    grid-template-columns: 4rem minmax(0, 1fr) auto 1rem;
    grid-template-rows: auto auto auto;
    gap: .2rem .55rem;
    min-height: 94px;
    padding: .55rem .62rem;
  }
  .day-board-row time { grid-column: 1; grid-row: 1 / span 3; align-self: center; font-size: .83rem; }
  .board-row-core .board-race-main { grid-column: 2; grid-row: 1; align-self: center; }
  .board-race-main b { font-size: .85rem; }
  .board-race-main small { max-width: 25ch; font-size: .62rem; }
  .board-volatility { grid-column: 2; grid-row: 2; width: min(7.4rem, 100%); grid-template-columns: minmax(3.5rem, 1fr) 1.5rem; gap: .3rem; }
  .board-pace { grid-column: 2; grid-row: 3; font-size: .65rem; }
  .board-row-core .board-state { grid-column: 3; grid-row: 1; justify-self: end; }
  .board-row-core .board-owner-marks { grid-column: 3; grid-row: 2; justify-self: end; padding-inline: .42rem; font-size: .66rem; }
  .board-row-chevron { grid-column: 4; grid-row: 1 / span 3; align-self: center; }
  .day-board-row.is-started { opacity: .78; }
}

/* ── 第6回（2026-08-26）：質問 3/5/7×5択・印の修正履歴・友だち（共同盤）・権利・レース状態。
   色は既存の黒・深緑・生成り・オレンジ・金だけ。動きは足さない。押す場所は 44px 以上。iPhone 縦 390px を最優先。 ── */
.count-buttons-three { grid-template-columns: repeat(3, 1fr); }
.question-form { display: grid; gap: .9rem; margin-top: .6rem; }
.question-fieldset { margin: 0; padding: .85rem; border: 1px solid var(--line); border-radius: 14px; background: #0d1c17; }
.question-fieldset legend { padding: 0 .35rem; }
.question-fieldset legend h2 { margin: 0 0 .25rem; }
.question-fieldset legend p { margin: 0 0 .5rem; color: var(--muted); }
.question-fieldset legend b { display: block; font-size: .95rem; }
.question-fieldset legend small { display: block; color: var(--muted); font-size: .74rem; }
.choice-radios, .choice-checks { display: grid; gap: .5rem; }
.choice-option { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: .55rem; align-items: start; min-height: 44px; padding: .5rem .75rem .5rem .5rem; border: 1px solid var(--line); border-radius: 12px; background: #13231d; cursor: pointer; }
/* radio / checkbox 本体も 44×44（押す場所の最小）。選択は色だけでなく、内側の丸と「選択中」の文字でも分かる。 */
.choice-option input { appearance: none; -webkit-appearance: none; width: 44px; height: 44px; margin: 0; border: 2px solid #6d8f7f; border-radius: 50%; background: #081410; cursor: pointer; }
.choice-option input[type="checkbox"] { border-radius: 10px; }
.choice-option input:checked { border-color: var(--gold); background: var(--gold); box-shadow: inset 0 0 0 6px #081410; }
.choice-option input:disabled { opacity: .45; cursor: not-allowed; }
.choice-option input:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.choice-option.is-selected::after { content: "選択中"; position: absolute; top: .35rem; right: .5rem; padding: .05rem .4rem; border: 1px solid var(--gold); border-radius: 999px; color: var(--gold); font-size: .62rem; }
.choice-option.is-selected b { padding-right: 3.2rem; }
.choice-option b { display: block; font-size: .96rem; line-height: 1.35; overflow-wrap: anywhere; }
.choice-option small { display: block; color: var(--muted); font-size: .74rem; line-height: 1.35; overflow-wrap: anywhere; }
.choice-option small[data-reason] { color: #e8b48a; }
.choice-option.is-selected { border-color: var(--gold); background: #2a3020; }
.choice-option.is-unknown { border-style: dashed; }
.choice-option.is-disabled { opacity: .62; cursor: not-allowed; }
.choice-option:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 3px; }
.choice-option .choice-tag { display: inline-block; margin-left: .35rem; padding: .05rem .4rem; border: 1px solid var(--line-strong, var(--line)); border-radius: 999px; color: var(--muted); font-size: .66rem; vertical-align: middle; }
.question-form-actions { margin-top: .2rem; }
.question-aux-fieldset[data-aux-state="blocked"] { border-style: dashed; }
[data-surface][data-state="loading"] .question-card, [data-surface][data-state="loading"] .community-board { opacity: .72; }
[data-surface][data-state="locked"] .question-form button, [data-surface][data-state="locked"] .count-buttons button { opacity: .55; }
.race-state-chip { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .35rem .7rem; align-items: center; margin: .6rem 0; padding: .6rem .8rem; border: 1px solid var(--line); border-left-width: 6px; border-radius: 12px; background: #0d1c17; }
.race-state-chip b { font-size: .92rem; white-space: nowrap; }
.race-state-chip span { color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }
.race-state-chip small { grid-column: 1 / -1; color: #e8b48a; font-size: .74rem; }
.race-state-chip[data-tone="warn"] { border-left-color: #c98a3c; }
.race-state-chip[data-tone="stop"] { border-left-color: #f36a40; }
.race-state-chip[data-tone="good"] { border-left-color: var(--mint); }
.race-state-chip[data-tone="info"] { border-left-color: #6d8f7f; }
.race-state-chip[data-tone="muted"] { border-left-color: #55625c; }
.mark-revision-panel { margin-top: 1rem; }
.mark-revision-panel[data-state="locked"] .mark-revision-form { display: none; }
.mark-revision-target { margin: .2rem 0 .6rem; font-weight: 900; }
.mark-revision-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(4.2rem, 1fr)); gap: .45rem; }
.mark-revision-choices .choice-option { grid-template-columns: 44px auto; min-height: 44px; padding: .35rem .55rem .35rem .35rem; justify-content: start; align-items: center; }
.mark-revision-choices .choice-option.is-selected::after { display: none; }
.mark-revision-choices .choice-option.is-selected b { padding-right: 0; }
.mark-revision-choices .choice-option b { font-size: 1.05rem; }
.mark-revision-reason { display: block; margin-top: .75rem; font-size: .84rem; font-weight: 900; }
.mark-revision-form input[type="text"] { width: 100%; min-height: 44px; margin-top: .3rem; padding: .6rem .75rem; border: 1px solid var(--line); border-radius: 10px; color: var(--cream); background: #081410; font-size: 1rem; }
.mark-revision-form small { display: block; margin-top: .3rem; color: var(--muted); font-size: .74rem; }
.mark-revision-history { display: grid; gap: .45rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.mark-revision-history li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .25rem .75rem; align-items: baseline; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 12px; background: #0d1c17; }
.mark-revision-history li b { font-size: 1rem; white-space: nowrap; }
.mark-revision-history li span { color: var(--muted); font-size: .8rem; overflow-wrap: anywhere; }
.mark-revision-history li small { grid-column: 1 / -1; color: var(--muted); font-size: .72rem; }
.mark-revision-history li .receipt-label { display: inline-block; padding: .05rem .45rem; border: 1px solid var(--gold-dim, var(--gold)); border-radius: 999px; color: var(--gold); font-size: .7rem; white-space: nowrap; }
.mark-revision-panel .runtime-state[role="alert"] { margin: .6rem 0 0; padding: .7rem .85rem; }
.community-membership-actions, .rights-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: .6rem; }
.community-membership-actions button { min-height: 44px; padding: .45rem .5rem; font-size: .84rem; }
.community-membership-actions button[aria-pressed="true"] { border-color: var(--gold); background: #2a3020; }
.community-daily { margin-top: .85rem; padding-top: .75rem; border-top: 1px solid var(--line); }
.community-daily button { width: 100%; min-height: 44px; }
.rights-actions button { display: grid; justify-items: start; min-height: 68px; text-align: left; }
.rights-actions button small { color: var(--muted); font-size: .72rem; }
.rights-requests { display: grid; gap: .45rem; margin: .7rem 0 0; padding: 0; list-style: none; }
.rights-requests li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .35rem .6rem; align-items: center; min-height: 44px; padding: .5rem .7rem; border: 1px solid var(--line); border-radius: 12px; background: #0d1c17; }
.rights-requests li b { font-size: .92rem; white-space: nowrap; }
.rights-requests li span { color: var(--muted); font-size: .8rem; overflow-wrap: anywhere; }
.rights-requests li .status-chip { justify-self: end; }
.rights-requests li[data-status="failed"], .rights-requests li[data-status="held"] { border-color: #8d7430; }
.rights-requests li[data-status="completed"] { border-color: var(--mint); }
.rights-explain { margin-top: .8rem; }
.rights-explain summary { min-height: 44px; cursor: pointer; color: var(--gold); font-weight: 900; }
.rights-explain p { margin: .4rem 0; color: var(--muted); font-size: .84rem; }
.rights-panel[data-state="locked"] .rights-actions button { opacity: .55; }
@media (max-width: 640px) {
  .count-buttons-three { grid-template-columns: 1fr; }
  .community-membership-actions, .rights-actions { grid-template-columns: 1fr; }
  .mark-revision-choices { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rights-requests li { grid-template-columns: auto minmax(0, 1fr); }
  .rights-requests li .status-chip { grid-column: 1 / -1; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .choice-option, .mark-revision-history li, .rights-requests li { transition: none; }
}

/* 第6回：極ラクモードの答え（主回答1つ＋両立する補助回答）を、答えた後も直せる形で残す。 */
.production-parity-gokuraku-latest-count button { display: flex; flex-direction: column; gap: .1rem; align-items: center; justify-content: center; min-width: 74px; }
.production-parity-gokuraku-latest-count button small { margin: 0; color: inherit; font-size: .6rem; opacity: .82; }
.production-parity-gokuraku-question-note { margin: .6rem 0 0; color: var(--muted); font-size: .74rem; line-height: 1.7; }
.production-parity-gokuraku-answers { margin-top: 1rem; padding: .9rem; border: 1px solid var(--line); border-radius: 14px; background: #0b1712; }
.production-parity-gokuraku-answers > header { display: flex; flex-wrap: wrap; gap: .2rem .6rem; align-items: baseline; margin-bottom: .7rem; }
.production-parity-gokuraku-answers > header span { color: var(--muted); font-size: .66rem; font-weight: 900; letter-spacing: .1em; }
.production-parity-gokuraku-answers > header h3 { margin: 0; font-size: .92rem; }
.production-parity-gokuraku-answers > div { display: grid; gap: .55rem; }
.production-parity-gokuraku-answers article { padding: .6rem .7rem; border: 1px solid var(--line); border-radius: 12px; background: #0e1d17; }
.production-parity-gokuraku-answers h4 { margin: 0 0 .2rem; color: var(--muted); font-size: .72rem; font-weight: 800; }
.production-parity-gokuraku-answers article > b { display: block; margin-bottom: .45rem; font-size: .88rem; }
.production-parity-gokuraku-answers p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.production-parity-gokuraku-aux { display: flex; flex-wrap: wrap; gap: .35rem; }
.production-parity-gokuraku-aux button { min-height: 44px; padding: .3rem .6rem; font-size: .76rem; }
.production-parity-gokuraku-aux button[aria-pressed="true"] { color: #0a120e; border-color: var(--gold); background: var(--gold); }
.production-parity-gokuraku-aux button[disabled] { opacity: .42; cursor: not-allowed; }
@media (max-width: 430px) {
  .production-parity-gokuraku-latest-count { flex-wrap: wrap; }
  .production-parity-gokuraku-latest-count small { margin-left: 0; flex-basis: 100%; }
}

/* 第7回：主操作は消さずに残す。押せない状態は aria-disabled で伝え、見た目だけ弱める（焦点とキー操作は残す）。 */
button[aria-disabled="true"] { opacity: .58; }

/* ── 公開プレビューだけの見た目（2026-08-25）──
   ⛔承認済み画面の色・配置・情報階層は変えない。足すのは次の3つだけ。
     ① 上部の短い断り書き ② 隠した操作 ③ 押せない操作の理由 */
.preview-notice{
  margin:0;padding:10px 14px;font-size:12px;line-height:1.6;letter-spacing:.02em;
  color:#0d1a16;background:#cfe9dd;border-bottom:1px solid #7fb7a2;text-align:center;
}
.preview-notice b{font-weight:800}
[data-preview-hidden="1"]{display:none !important}
/* ── 独立監査E＝日本語の折り返しを直す ──
   目で見つけた3件（実測ずみ）
     ①1920 分析室 ＝「自分の読みを、次の武器に変える分／析室。」＝**言葉の途中で割れる**
     ②390 未接続 ＝「全頭デ／ータの接続待ちで／す。」＝**言葉が割れ、最後の1語だけ落ちる**
     ③1920 極ラクモード ＝ 見出しの最後の「る。」だけが次の行へ落ちる
   直し方＝文字を小さくしない。**折り返しの決まりだけ**を足す。
     word-break:auto-phrase … 日本語のまとまりを見て折る（言葉の途中で割らない）
     text-wrap:balance/pretty … 行の長さを均し、最後に1語だけ残さない
   ⛔承認済みの色・配置・大きさ・情報の並びは1つも変えない。 */
h1,h2,h3,
.stage-hero h1,.stage-hero h2,
#racecardTitle,#dayBoardTitle,#paperTitle{
  word-break:auto-phrase;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.stage-hero p,.safe-copy,.preview-notice,
p,figcaption,li,dd,.eyebrow{
  word-break:auto-phrase;
  text-wrap:pretty;
}
.preview-disabled-note{
  display:block;margin-top:6px;font-size:11px;line-height:1.5;color:#9fb3ab;
}
button[data-preview-disabled="1"]{opacity:.45;cursor:not-allowed}
.preview-state-switch{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}
.preview-state-switch a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:32px;padding:4px 10px;border:1px solid #4e8570;border-radius:999px;
  font-size:11px;line-height:1;color:#0d1a16;background:#eaf6f0;text-decoration:none;
}
.preview-state-switch a[aria-current="true"]{background:#0d1a16;color:#eaf6f0;border-color:#0d1a16;font-weight:800}
@media (max-width:430px){
  .preview-notice{font-size:11px;padding:8px 10px}
  .preview-state-switch a{min-height:30px;padding:4px 8px;font-size:10px}
}
@media (prefers-reduced-motion:reduce){ .preview-notice,.preview-state-switch a{transition:none} }
