  .selection-story { overflow: hidden; margin: 1.35rem 0 .9rem; border: 1px solid color-mix(in srgb, var(--dt-emission) 38%, var(--line)); border-radius: 22px; background: color-mix(in srgb, var(--surface) 97%, var(--dt-emission-wash)); box-shadow: var(--shadow); font-family: var(--sans); }
  .selection-story-toolbar { display: grid; grid-template-columns: minmax(13rem, 1fr) minmax(19rem, auto); align-items: center; gap: 1rem; border-bottom: 1px solid var(--line); padding: 1rem; background: linear-gradient(105deg, color-mix(in srgb, var(--triad-lavender) 46%, var(--surface)), var(--surface) 48%, var(--dt-emission-wash)); }
  .selection-story-title { display: grid; min-width: 0; gap: .22rem; }
  .selection-story-title h3 { margin: 0; max-width: 30rem; color: var(--muted); font: 600 clamp(.95rem, 1.85vw, 1.12rem)/1.32 var(--sans); letter-spacing: -.012em; text-wrap: balance; }
  .selection-story-title .story-title-lede { display: block; margin-bottom: .16rem; color: var(--ink); font-size: clamp(1.2rem, 2.6vw, 1.55rem); font-weight: 800; line-height: 1.12; letter-spacing: -.032em; }
  .selection-story-title .story-title-brand { color: var(--dt-emission-ink); font-weight: 800; }
  .selection-axis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .48rem; }
  .selection-axis { min-width: 0; margin: 0; border: 0; padding: 0; }
  .selection-axis legend { margin: 0 0 .25rem .28rem; padding: 0; color: var(--muted); font-family: var(--mono); font-size: .56rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  .selection-mode-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; border: 1px solid var(--line); border-radius: 13px; background: color-mix(in srgb, var(--surface) 84%, transparent); padding: .25rem; }
  .selection-mode-toggle button { min-height: 44px; border: 1px solid transparent; border-radius: 9px; background: transparent; padding: .32rem .45rem; color: var(--muted); font-family: var(--sans); cursor: pointer; transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease; }
  .selection-mode-toggle button b, .selection-mode-toggle button small { display: block; }
  .selection-mode-toggle button b { font-size: .73rem; line-height: 1.1; }
  .selection-mode-toggle button small { margin-top: .12rem; color: inherit; font-size: .58rem; line-height: 1.15; }
  .selection-mode-toggle button:hover { border-color: rgba(var(--dt-emission-rgb), .34); color: var(--ink); }
  .selection-mode-toggle button:focus-visible, .selection-presets button:focus-visible, .selection-rung:focus-visible, .manual-route-head button:focus-visible, .manual-route-chip:focus-visible, .manual-action:focus-visible, .manual-field input:focus-visible, .selection-budget input:focus-visible { outline: 3px solid rgba(var(--dt-emission-rgb), .24); outline-offset: 2px; }
  .selection-mode-toggle button.is-active { border-color: var(--dt-emission); background: var(--dt-emission-wash); color: var(--dt-emission-ink); box-shadow: 0 0 0 1px rgba(var(--dt-emission-rgb), .08); }
  .selection-body { padding: .9rem 1rem .8rem; }
  .selection-case-strip { display: grid; grid-template-columns: minmax(9rem, 1fr) auto; align-items: center; gap: .7rem; margin-bottom: .72rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); padding: .64rem .72rem; }
  .appeal-timing-config { margin-bottom: .72rem; border: 1px solid color-mix(in srgb, var(--dt-emission) 34%, var(--line)); border-radius: 14px; background: var(--surface); padding: .72rem; }
  .appeal-timing-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; margin-bottom: .58rem; }
  .appeal-timing-head h4 { margin: 0; color: var(--ink); font-size: .78rem; }
  .appeal-timing-head p { margin: .14rem 0 0; color: var(--muted); font-size: .64rem; line-height: 1.35; }
  .appeal-timing-head > span { flex: 0 0 auto; border-radius: 999px; background: var(--dt-emission-wash); padding: .22rem .45rem; color: var(--dt-emission-ink); font-family: var(--mono); font-size: .58rem; font-weight: 800; text-transform: uppercase; }
  .appeal-timing-fields { display: grid; grid-template-columns: minmax(12rem, 1.25fr) minmax(9rem, .75fr) minmax(12rem, 1fr); gap: .5rem; }
  .appeal-timing-field { display: grid; gap: .24rem; min-width: 0; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); padding: .48rem .52rem; color: var(--muted); font-size: .62rem; font-weight: 700; }
  .appeal-timing-inputs { display: grid; grid-template-columns: minmax(4.5rem, 1fr) minmax(3rem, auto); gap: .35rem; align-items: center; }
  .appeal-timing-field input[type="number"], .appeal-timing-field select { min-width: 0; width: 100%; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); padding: .42rem .46rem; color: var(--ink); font: 700 .72rem/1 var(--sans); }
  .appeal-timing-field input:focus-visible, .appeal-timing-field select:focus-visible { outline: 3px solid color-mix(in srgb, var(--dt-emission) 24%, transparent); outline-offset: 1px; border-color: var(--dt-emission); }
  .appeal-timing-floor { display: flex; align-items: center; gap: .45rem; cursor: pointer; }
  .appeal-timing-floor input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--dt-emission); }
  .appeal-timing-fixed-head { display: flex; align-items: center; justify-content: space-between; gap: .45rem; }
  .appeal-timing-fixed-flag { flex: 0 0 auto; border-radius: 999px; background: var(--dt-emission-wash); padding: .2rem .42rem; color: var(--dt-emission-ink); font-family: var(--mono); font-size: .55rem; font-weight: 800; text-transform: uppercase; }
  .appeal-timing-fixed-value { display: flex; flex-wrap: wrap; align-items: baseline; gap: .18rem .42rem; padding: .26rem 0 .08rem; }
  .appeal-timing-fixed-value b { color: var(--ink); font-size: .84rem; line-height: 1; }
  .appeal-timing-fixed-value small { color: var(--muted); font-size: .6rem; font-weight: 600; line-height: 1.35; }
  .appeal-timing-preview { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .8rem; align-items: center; margin-top: .55rem; border-top: 1px solid var(--line); padding-top: .5rem; }
  .appeal-timing-preview b { min-width: 0; color: var(--ink); font-size: .65rem; line-height: 1.45; overflow-wrap: anywhere; }
  .appeal-timing-preview span { color: var(--muted); font-size: .61rem; white-space: nowrap; }
  .appeal-timing-config.is-compact { margin: .55rem 0 0; }
  .control-card .appeal-timing-config .appeal-timing-fields { grid-template-columns: 1fr; }
  .control-card .appeal-timing-config .appeal-timing-head { display: grid; }
  .selection-case-value { display: flex; flex-wrap: wrap; align-items: baseline; gap: .22rem .6rem; min-width: 0; }
  .selection-case-value span { color: var(--muted); font-family: var(--mono); font-size: .58rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  .selection-case-value strong { color: var(--ink); font-size: 1.15rem; line-height: 1; }
  .selection-case-value small { width: 100%; color: var(--faint); font-family: var(--sans); font-size: .61rem; line-height: 1.35; }
  .selection-presets { display: inline-grid; grid-template-columns: repeat(3, minmax(4.1rem, 1fr)); gap: .28rem; }
  .selection-presets button { min-height: 44px; border: 1px solid transparent; border-radius: 9px; background: var(--bg); padding: .3rem .45rem; color: var(--muted); font-family: var(--sans); cursor: pointer; transition: background .12s ease, color .12s ease, border-color .12s ease, transform .1s ease; }
  .selection-presets button:hover { border-color: rgba(var(--dt-emission-rgb), .28); background: color-mix(in srgb, var(--surface) 70%, var(--bg)); color: var(--ink); }
  .selection-presets button:active { transform: translateY(1px); background: var(--surface); }
  .selection-presets button b, .selection-presets button small { display: block; }
  .selection-presets button b { font-size: .76rem; line-height: 1.1; }
  .selection-presets button small { margin-top: .1rem; font-size: .58rem; }
  .selection-presets button.is-active { border-color: var(--dt-emission); background: var(--dt-emission-wash); color: var(--dt-emission-ink); }
  .selection-no-escrow-preset { display: none; }
  .selection-story[data-result-mode="ruling"] .selection-presets { grid-template-columns: repeat(4, minmax(4.1rem, 1fr)); }
  .selection-story[data-result-mode="ruling"] .selection-no-escrow-preset { display: block; }
  .selection-workspace { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr); align-items: stretch; gap: .72rem; }
  .selection-config, .selection-result { min-width: 0; border: 1px solid var(--line-strong); border-radius: 16px; background: var(--surface); padding: .82rem; }
  .selection-config[hidden] { display: none; }
  .selection-config-heading { display: flex; align-items: end; justify-content: space-between; gap: .7rem; margin-bottom: .62rem; }
  .selection-config-heading strong { color: var(--ink); font-size: .84rem; }
  .selection-config-heading small { color: var(--muted); font-size: .63rem; text-align: right; }
  .selection-input-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin-bottom: .65rem; }
  .selection-input-facts span { border-radius: 10px; background: var(--bg); padding: .5rem; }
  .selection-input-facts b, .selection-input-facts small { display: block; }
  .selection-input-facts b { color: var(--ink); font-size: .8rem; }
  .selection-input-facts small { margin-top: .08rem; color: var(--muted); font-size: .6rem; line-height: 1.25; }
  .selection-ladder { display: grid; grid-auto-columns: minmax(5.25rem, 1fr); grid-auto-flow: column; gap: .4rem; overflow-x: auto; margin: 0; padding: .08rem .06rem .34rem; list-style: none; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .selection-rung { position: relative; min-height: 72px; appearance: none; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); padding: .48rem .38rem; color: inherit; font: inherit; text-align: center; cursor: default; scroll-snap-align: center; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, opacity .16s ease, transform .16s ease; }
  .selection-rung b, .selection-rung span, .selection-rung small { display: block; }
  .selection-rung b { color: var(--ink); font-size: .78rem; line-height: 1.15; }
  .selection-rung span { margin-top: .16rem; color: var(--muted); font-family: var(--mono); font-size: .59rem; font-weight: 750; }
  .selection-rung small { margin-top: .08rem; color: var(--muted); font-size: .57rem; line-height: 1.2; }
  .selection-rung.is-selected { border-color: var(--dt-emission); background: var(--dt-emission-wash); box-shadow: 0 0 0 2px rgba(var(--dt-emission-rgb), .09); transform: translateY(-1px); }
  .selection-rung.is-selected b, .selection-rung.is-selected span { color: var(--dt-emission-ink); }
  .selection-rung.is-selected small::after { content: " \00b7 selected"; color: var(--dt-emission-ink); font-weight: 800; }
  .selection-rung.is-pass { border-style: dashed; background: color-mix(in srgb, var(--triad-mint) 22%, var(--surface)); }
  .selection-rung.is-below { opacity: .58; }
  .selection-route-readonly { margin-top: .62rem; border-top: 1px solid var(--line); padding-top: .58rem; }
  .selection-route-label { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .38rem; color: var(--muted); font-size: .62rem; }
  .selection-route-label b { color: var(--ink); font-size: .7rem; }
  .selection-route-rail, .manual-route-rail { display: flex; align-items: center; gap: .32rem; overflow-x: auto; padding: .08rem .05rem .28rem; scrollbar-width: thin; }
  .selection-route-step { display: inline-flex; min-height: 34px; flex: 0 0 auto; align-items: center; gap: .32rem; border: 1px solid color-mix(in srgb, var(--dt-emission) 28%, var(--line)); border-radius: 999px; background: var(--dt-emission-wash); padding: .25rem .5rem; color: var(--dt-emission-ink); font-size: .62rem; font-weight: 800; white-space: nowrap; }
  .selection-route-step:not(:last-child)::after { content: "\2192"; margin-left: .2rem; color: var(--faint); }
  .selection-result { border: 2px solid color-mix(in srgb, var(--dt-emission) 54%, var(--line)); background: linear-gradient(145deg, var(--dt-emission-wash), color-mix(in srgb, var(--surface) 94%, var(--dt-emission-wash))); }
  .selection-result[data-state="unavailable"] { border-color: color-mix(in srgb, var(--bad) 54%, var(--line)); background: color-mix(in srgb, var(--bad) 5%, var(--surface)); }
  .selection-result-label { color: var(--muted); font-family: var(--mono); font-size: .59rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  .selection-choice { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin: .42rem 0 .55rem; }
  .selection-choice strong { color: var(--dt-emission-ink); font-size: clamp(1.45rem, 3.5vw, 1.95rem); line-height: 1; letter-spacing: -.035em; }
  .selection-choice span { border-radius: 999px; background: var(--dt-emission); padding: .27rem .48rem; color: #fff; font-family: var(--mono); font-size: .54rem; font-weight: 800; letter-spacing: .02em; text-align: center; text-transform: uppercase; }
  .selection-output-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(var(--dt-emission-rgb), .18); }
  .selection-output-metric { min-width: 0; padding: .48rem .4rem .12rem 0; }
  .selection-output-metric:nth-child(even) { border-left: 1px solid rgba(var(--dt-emission-rgb), .16); padding-left: .5rem; }
  .selection-output-metric b, .selection-output-metric small { display: block; }
  .selection-output-metric b { color: var(--ink); font-size: .8rem; line-height: 1.2; }
  .selection-output-metric small { margin-top: .1rem; color: var(--muted); font-size: .61rem; line-height: 1.25; }
  .selection-result-route { margin-top: .58rem; border-top: 1px solid rgba(var(--dt-emission-rgb), .18); padding-top: .5rem; }
  .selection-result-route b, .selection-result-route span { display: block; }
  .selection-result-route b { color: var(--ink); font-size: .68rem; line-height: 1.35; }
  .selection-result-route span { margin-top: .14rem; color: var(--muted); font-size: .61rem; line-height: 1.35; }
  .selection-warning { margin-top: .52rem; border: 1px solid color-mix(in srgb, var(--bad) 32%, var(--line)); border-radius: 10px; background: color-mix(in srgb, var(--bad) 6%, var(--surface)); padding: .48rem .55rem; color: var(--ink); font-size: .63rem; line-height: 1.4; }
  .selection-warning[data-tone="notice"] { border-color: color-mix(in srgb, var(--accent) 32%, var(--line)); background: color-mix(in srgb, var(--accent-soft) 62%, var(--surface)); }
  .selection-warning[hidden] { display: none; }
  .selection-explanation { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .62rem; margin-top: .72rem; border: 1px solid rgba(var(--dt-emission-rgb), .22); border-radius: 12px; background: rgba(var(--dt-emission-rgb), .055); padding: .62rem .72rem; }
  .selection-explanation > span { border-radius: 999px; background: var(--dt-emission); padding: .25rem .43rem; color: #fff; font-family: var(--mono); font-size: .54rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
  .selection-explanation p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.42; }
  .selection-explanation strong { color: var(--ink); }
  .manual-route-head { display: flex; align-items: center; justify-content: space-between; gap: .55rem; margin-bottom: .42rem; }
  .manual-route-head strong { color: var(--ink); font-size: .76rem; }
  .manual-route-head button { min-height: 44px; border: 1px solid color-mix(in srgb, var(--dt-emission) 32%, var(--line)); border-radius: 9px; background: var(--dt-emission-wash); padding: .35rem .5rem; color: var(--dt-emission-ink); font-family: var(--sans); font-size: .61rem; font-weight: 750; cursor: pointer; }
  .manual-route-chip { min-height: 44px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); padding: .35rem .55rem; color: var(--muted); font-family: var(--sans); font-size: .62rem; font-weight: 750; cursor: pointer; }
  .manual-route-chip.is-active { border-color: var(--dt-emission); background: var(--dt-emission-wash); color: var(--dt-emission-ink); }
  .manual-route-chip:not(:last-child)::after { content: "\2192"; display: inline-block; margin-left: .5rem; color: var(--faint); }
  .manual-explainer { display: grid; grid-template-columns: minmax(0, 1fr) 1.2rem minmax(0, 1fr); align-items: center; gap: .35rem; margin: .58rem 0; border: 1px solid rgba(var(--dt-emission-rgb), .24); border-radius: 12px; background: rgba(var(--dt-emission-rgb), .05); padding: .56rem .62rem; }
  .manual-explainer div { min-width: 0; }
  .manual-explainer small, .manual-explainer b { display: block; }
  .manual-explainer small { color: var(--dt-emission-ink); font-family: var(--mono); font-size: .52rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .manual-explainer b { margin-top: .15rem; color: var(--ink); font-size: .68rem; line-height: 1.35; }
  .manual-explainer > span { color: var(--dt-emission-ink); text-align: center; }
  .manual-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
  .manual-field { display: grid; gap: .22rem; color: var(--muted); font-size: .61rem; line-height: 1.25; }
  .manual-field b { color: var(--ink); font-size: .66rem; }
  .manual-field input { width: 100%; min-height: 44px; box-sizing: border-box; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--bg); padding: .45rem .55rem; color: var(--ink); font: 750 .78rem/1 var(--sans); }
  .manual-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .35rem; margin-top: .55rem; }
  .manual-action { min-height: 44px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); padding: .35rem .3rem; color: var(--muted); font-family: var(--sans); font-size: .58rem; font-weight: 750; cursor: pointer; }
  .manual-action:hover:not(:disabled) { border-color: var(--dt-emission); color: var(--dt-emission-ink); }
  .manual-action:disabled { cursor: default; opacity: .4; }
  .selection-rules { border-top: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 42%, var(--surface)); }
  .selection-rules summary { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .72rem 1rem; color: var(--ink); font-size: .72rem; font-weight: 750; cursor: pointer; list-style: none; transition: background .12s ease; }
  .selection-rules summary:hover { background: color-mix(in srgb, var(--surface) 70%, transparent); }
  .selection-rules summary:hover::after { border-color: rgba(var(--dt-emission-rgb), .5); }
  .selection-rules summary:active { background: color-mix(in srgb, var(--surface) 95%, transparent); }
  .selection-rules summary::-webkit-details-marker { display: none; }
  .selection-rules summary::after { content: "+"; display: grid; width: 1.4rem; height: 1.4rem; flex: 0 0 auto; place-items: center; border: 1px solid rgba(var(--dt-emission-rgb), .28); border-radius: 999px; background: var(--surface); color: var(--dt-emission-ink); font-family: var(--mono); font-size: .78rem; }
  .selection-rules[open] summary::after { content: "\2212"; }
  .selection-rules summary small { color: var(--muted); font-size: .61rem; font-weight: 500; text-align: right; }
  .selection-rules[open] summary { border-bottom: 1px solid var(--line); }
  .selection-details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .72rem; padding: .72rem 1rem .9rem; }
  .selection-details-card { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); padding: .68rem .72rem; }
  .selection-details-card h4 { margin: 0 0 .4rem; color: var(--ink); font-size: .72rem; }
  .selection-details-card p, .selection-details-card li { color: var(--muted); font-size: .64rem; line-height: 1.45; }
  .selection-details-card p { margin: .32rem 0 0; }
  .selection-details-card ul { margin: .35rem 0 0; padding-left: 1rem; }
  .selection-story[data-result-mode="ruling"] #selectionAffordabilityCard { display: none; }
  .selection-budget { display: grid; grid-template-columns: minmax(0, 1fr) 7.5rem; align-items: center; gap: .55rem; margin-top: .5rem; }
  .selection-budget label { color: var(--muted); font-size: .62rem; line-height: 1.3; }
  .selection-budget input { min-height: 44px; width: 100%; box-sizing: border-box; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--bg); padding: .42rem .5rem; color: var(--ink); font: 750 .72rem/1 var(--sans); }
  .selection-fee-table { width: 100%; margin-top: .42rem; border-collapse: collapse; font-size: .61rem; }
  .selection-fee-table th, .selection-fee-table td { border-top: 1px solid var(--line); padding: .32rem .2rem; color: var(--muted); text-align: left; vertical-align: top; }
  .selection-fee-table th { color: var(--ink); font-weight: 750; }
  .selection-stress-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .85rem 0 1.4rem; border: 1px solid var(--accent); border-radius: 15px; background: linear-gradient(100deg, var(--accent-soft), color-mix(in srgb, var(--surface) 92%, var(--accent-soft))); padding: .82rem .95rem; color: var(--ink); box-shadow: var(--shadow); text-decoration: none; font-family: var(--sans); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .selection-stress-cta:hover { border-color: var(--accent-ink); box-shadow: 0 12px 26px color-mix(in srgb, var(--accent) 18%, transparent); transform: translateY(-2px); }
  .selection-stress-cta:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 38%, transparent); outline-offset: 3px; }
  .selection-stress-cta small { display: block; margin-bottom: .16rem; color: var(--faint); font-family: var(--mono); font-size: .61rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
  .selection-stress-cta strong { display: block; color: var(--ink); font-size: .88rem; line-height: 1.35; }
  .selection-stress-cta b { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; min-height: 3rem; flex: 0 0 auto; align-items: center; gap: .72rem; border: 1px solid rgba(var(--dt-emission-rgb), .78); border-radius: 14px; background: linear-gradient(135deg, color-mix(in srgb, var(--dt-emission-ink) 88%, var(--dt-ink)), color-mix(in srgb, var(--dt-emission-ink) 70%, var(--dt-ink))); padding: .55rem .55rem .55rem .9rem; color: #fff; box-shadow: 0 0 0 1px rgba(var(--dt-emission-rgb), .1), 0 11px 25px rgba(0, 111, 123, .18), inset 0 1px 0 rgba(255, 255, 255, .14); font-size: .78rem; font-weight: 780; letter-spacing: .005em; line-height: 1.25; white-space: nowrap; transition: border-color .18s ease, box-shadow .18s ease, filter .18s ease, transform .18s ease; }
  .selection-stress-cta b::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(110deg, transparent 0 32%, rgba(255, 255, 255, .14) 47%, transparent 62%); content: ""; transform: translateX(-120%); transition: transform .48s ease; }
  .selection-stress-cta b > span { display: grid; width: 1.8rem; height: 1.8rem; flex: 0 0 1.8rem; place-items: center; border: 1px solid rgba(var(--dt-emission-rgb), .58); border-radius: 999px; background: rgba(var(--dt-emission-rgb), .12); color: var(--dt-emission); font-family: var(--mono); font-size: .9rem; line-height: 1; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease; }
  .selection-stress-cta:hover b { border-color: var(--dt-emission); box-shadow: 0 0 0 1px rgba(var(--dt-emission-rgb), .38), 0 14px 30px rgba(0, 111, 123, .24), 0 0 18px rgba(var(--dt-emission-rgb), .16), inset 0 1px 0 rgba(255, 255, 255, .17); filter: saturate(1.08); transform: translateY(-1px); }
  .selection-stress-cta:hover b::before { transform: translateX(120%); }
  .selection-stress-cta:hover b > span { border-color: var(--dt-emission); background: var(--dt-emission); color: var(--dt-ink); box-shadow: 0 0 12px rgba(var(--dt-emission-rgb), .42); transform: translateX(2px); }
  .selection-stress-cta:active b { transform: translateY(0) scale(.985); }
@media (max-width: 880px) {
  .selection-story-toolbar, .selection-workspace { grid-template-columns: 1fr; }
}
@media (min-width: 881px) {
  .selection-axis legend, .selection-case-value span { font-size: .63rem; }
  .selection-mode-toggle button b { font-size: .78rem; }
  .selection-mode-toggle button small, .selection-presets button small { font-size: .64rem; }
  .selection-config-heading strong { font-size: .9rem; }
  .selection-config-heading small { font-size: .68rem; }
  .selection-input-facts b, .selection-rung b { font-size: .84rem; }
  .selection-input-facts small, .selection-rung span, .selection-rung small { font-size: .64rem; }
  .selection-route-label, .selection-result-label { font-size: .66rem; }
  .selection-route-label b { font-size: .76rem; }
  .selection-route-step { font-size: .68rem; }
  .selection-choice span { font-size: .6rem; }
  .selection-output-metric b { font-size: .86rem; }
  .selection-output-metric small, .selection-result-route span { font-size: .68rem; }
  .selection-result-route b { font-size: .74rem; }
  .selection-explanation p { font-size: .72rem; }
  .selection-rules summary { font-size: .76rem; }
  .selection-rules summary small { font-size: .67rem; }
  .selection-details-card p, .selection-details-card li { font-size: .69rem; }
  .selection-fee-table { font-size: .67rem; }
}
@media (max-width: 640px) {
  .selection-story { border-radius: 17px; }
  .selection-story-toolbar, .selection-body { padding: .78rem; }
  .selection-axis-grid, .selection-case-strip, .manual-fields, .selection-details-grid, .appeal-timing-fields { grid-template-columns: 1fr; }
  .appeal-timing-preview { grid-template-columns: 1fr; }
  .appeal-timing-preview span { white-space: normal; }
  .selection-presets { width: 100%; box-sizing: border-box; }
  .selection-case-value { justify-content: space-between; }
  .selection-config-heading { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .selection-config-heading small { text-align: left; }
  .selection-ladder { grid-auto-columns: 5.2rem; }
  .manual-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .selection-budget { grid-template-columns: 1fr; }
  .selection-rules summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .15rem .7rem; }
  .selection-rules summary > span, .selection-rules summary small { grid-column: 1; text-align: left; }
  .selection-rules summary::after { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .selection-stress-cta { align-items: stretch; flex-direction: column; }
  .selection-stress-cta b { align-self: flex-start; justify-content: space-between; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .selection-mode-toggle button, .selection-rung, .selection-stress-cta, .selection-stress-cta b, .selection-stress-cta b::before, .selection-stress-cta b > span { transition: none; }
}

.court-route-map { overflow: hidden; margin: 1.35rem 0 0; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); border-radius: 20px; background: linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 28%, var(--surface)), var(--surface) 54%, color-mix(in srgb, var(--triad-lavender) 50%, var(--surface))); box-shadow: var(--shadow); padding: 1rem; font-family: var(--sans); }
.court-route-map figcaption { margin-bottom: .8rem; color: var(--accent-ink); font-family: var(--mono); font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.court-route-node { position: relative; border: 1px solid var(--line-strong); border-radius: 13px; background: var(--surface); padding: .72rem .8rem; text-align: center; }
.court-route-node b, .court-route-node span { display: block; }
.court-route-node b { color: var(--ink); font-size: .86rem; line-height: 1.3; }
.court-route-node span { margin-top: .16rem; color: var(--muted); font-size: .7rem; line-height: 1.35; }
.court-route-start, .court-route-finish { width: min(100%, 25rem); box-sizing: border-box; margin-inline: auto; }
.court-route-start, .court-route-paths { margin-bottom: 2.85rem; }
.court-route-start::after, .court-route-paths::after { content: "\2193"; position: absolute; top: calc(100% + .5rem); left: 50%; display: grid; width: 1.75rem; height: 1.75rem; place-items: center; margin: 0; transform: translateX(-50%); border: 1px solid rgba(var(--dt-emission-rgb), .28); border-radius: 999px; background: var(--dt-emission-wash); color: var(--dt-emission-ink); font-weight: 850; }
.court-route-paths { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .62rem; }
.court-route-path { border-color: color-mix(in srgb, var(--accent) 24%, var(--line)); text-align: left; }
.court-route-path:first-child { background: color-mix(in srgb, var(--triad-mint) 42%, var(--surface)); }
.court-route-path:last-child { background: color-mix(in srgb, var(--triad-lavender) 58%, var(--surface)); }
.court-route-fresh { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; margin-top: .45rem; border-radius: 999px; background: color-mix(in srgb, var(--dt-emission-wash) 76%, var(--surface)); padding: .28rem .5rem; color: var(--dt-emission-ink); font-size: .64rem; font-style: normal; font-weight: 750; }
.court-route-finish {
  border-color: color-mix(in srgb, var(--dt-emission) 46%, var(--line));
  background:
    linear-gradient(180deg, rgba(var(--dt-emission-rgb), .13), transparent 52%),
    var(--surface);
}
.deep-note { border: 2px solid color-mix(in srgb, var(--accent) 54%, var(--line)); border-radius: 12px; background: var(--surface); padding: .85rem 1rem; color: var(--muted); font-family: var(--sans); }

.seg { display: inline-flex; gap: .3rem; flex-wrap: wrap; }
.seg button { border: 1px solid var(--line-strong); border-radius: 8px; background: var(--bg); padding: .35rem .75rem; color: var(--muted); font-family: var(--sans); font-size: .85rem; font-weight: 600; cursor: pointer; transition: background .12s ease, color .12s ease, border-color .12s ease, transform .1s ease; }
.seg button:hover { border-color: color-mix(in srgb, var(--accent) 30%, var(--line-strong)); background: color-mix(in srgb, var(--accent-soft) 45%, var(--bg)); color: var(--ink); }
.seg button:active { transform: translateY(1px); background: color-mix(in srgb, var(--accent-soft) 70%, var(--bg)); }
.seg button.active { border-color: color-mix(in srgb, var(--accent) 35%, transparent); background: var(--accent-soft); color: var(--accent-ink); }
.seg button.active:hover { filter: brightness(.97); color: var(--accent-ink); }
.verdict { border-radius: 999px; padding: .2rem .6rem; font-family: var(--sans); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.v-good { background: var(--good); color: #fff; }
.v-high { background: var(--bad); color: #fff; }
.grindgrid { display: grid; grid-template-columns: repeat(var(--grid-cols, 12), minmax(0, 1fr)); gap: var(--grid-gap, 5px); margin-bottom: 1rem; }
.gd { min-width: 0; aspect-ratio: 1; border-radius: 50%; background: var(--line-strong); transition: transform .12s ease, background .12s ease, box-shadow .12s ease; }
.gd.col { background: color-mix(in srgb, var(--bad) 78%, var(--surface)); }
.gd.draw { position: relative; z-index: 1; transform: scale(1.08); }
.gd.draw.panel-safe { box-shadow: 0 0 0 1.5px var(--surface), 0 0 0 3.5px var(--good), 0 0 9px rgba(var(--dt-emission-rgb), .55); }
.gd.draw.panel-captured { box-shadow: 0 0 0 1.5px var(--surface), 0 0 0 3.5px var(--bad), 0 0 9px rgba(var(--dt-emission-rgb), .55); }
.grind-actions { display: flex; gap: .6rem; flex-wrap: wrap; margin-bottom: 1rem; }
#g3one.btn {
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--dt-emission) 10%, var(--surface)));
  color: var(--dt-emission-ink);
  border: 1px solid color-mix(in srgb, var(--dt-emission) 46%, var(--line));
  font-weight: 700;
  box-shadow: 0 2px 0 color-mix(in srgb, var(--dt-emission) 40%, var(--line)), 0 0 10px rgba(var(--dt-emission-rgb), .18);
}
#g3one.btn:hover { transform: translateY(-1px); filter: none; box-shadow: 0 3px 0 color-mix(in srgb, var(--dt-emission) 40%, var(--line)), 0 0 16px rgba(var(--dt-emission-rgb), .3); }
#g3one.btn:active { transform: translateY(1px); box-shadow: 0 1px 0 color-mix(in srgb, var(--dt-emission) 40%, var(--line)), 0 0 6px rgba(var(--dt-emission-rgb), .15); }
#g3grindBtn.btn {
  background: linear-gradient(180deg, color-mix(in srgb, var(--bad) 86%, #fff), var(--bad));
  color: #fff;
  border: 1px dashed color-mix(in srgb, var(--bad) 55%, #000);
  box-shadow: 0 2px 0 color-mix(in srgb, var(--bad) 58%, #000);
}
#g3grindBtn.btn:hover { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 3px 0 color-mix(in srgb, var(--bad) 58%, #000); }
#g3grindBtn.btn:active { transform: translateY(1px); box-shadow: 0 1px 0 color-mix(in srgb, var(--bad) 58%, #000); }
.g3-control-value { display: inline-flex; align-items: baseline; gap: .4rem; }
.g3-share { color: var(--faint); font-family: var(--mono); font-size: .66rem; font-weight: 700; }
.g3config button { white-space: nowrap; }
.g3config button[data-needs-pool="true"] { border-style: dashed; color: var(--faint); }
.g3-result-detail { display: block; margin-top: .35rem; color: var(--faint); font-family: var(--sans); font-size: .7rem; font-weight: 600; line-height: 1.35; }
.grind-readout > .stat:nth-child(1) { border-color: var(--triad-mint-border); background: var(--triad-mint); }
.grind-readout > .stat:nth-child(2) { border-color: color-mix(in srgb, var(--bad) 34%, var(--line)); background: color-mix(in srgb, var(--bad) 8%, var(--surface)); }
.grind-readout > .stat:nth-child(3) { border-color: var(--triad-lavender-border); background: var(--triad-lavender); }
.grind-readout > .stat:nth-child(4) { border-color: var(--triad-amber-border); background: var(--triad-amber); }
.g3-chance { color: var(--bad); }

.clocks { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.clock { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 1.1rem 1.2rem; box-shadow: var(--shadow); font-family: var(--sans); }
.clock.money {
  border-color: color-mix(in srgb, var(--good) 30%, var(--line));
  background: linear-gradient(180deg, color-mix(in srgb, var(--good) 13%, var(--surface)) 0, var(--surface) 48%);
}
.clock.justice {
  border-color: color-mix(in srgb, var(--accent) 30%, var(--line));
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 13%, var(--surface)) 0, var(--surface) 48%);
}
.clock h4 { margin: 0 0 .6rem; font-size: .95rem; }
.clock .step { position: relative; padding: .28rem 0 .28rem 1.4rem; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.clock .step::before { content: "\2193"; position: absolute; left: .2rem; color: var(--faint); }
.clock .step:first-of-type::before { content: ""; }
.clock .ends { margin-top: .55rem; font-size: .86rem; font-weight: 700; }
.clock.money .ends { color: var(--good); }
.clock.justice .ends { color: var(--accent-ink); }
.floors { display: flex; flex-direction: column; gap: .6rem; margin: .3rem 0 1rem; font-family: var(--sans); }
.floors .flk { display: flex; justify-content: space-between; gap: .6rem; margin-bottom: .25rem; color: var(--muted); font-size: .82rem; }
.floors .flt { overflow: hidden; height: 26px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--line); }
.floors .flt > span { display: block; width: 0; height: 100%; border-radius: 0 7px 7px 0; transition: width .25s ease; }
.floors .flt > span.panel { background: linear-gradient(90deg, var(--good), #0a6157); }
.floors .flt > span.cap { background: linear-gradient(90deg, var(--accent), var(--accent-ink)); }
.bondnote { min-height: 2.8rem; margin-bottom: 1rem; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--bg); padding: .75rem .95rem; color: var(--ink-soft); font-family: var(--sans); font-size: .9rem; }

@media (max-width: 640px) {
  .court-route-map { border-radius: 17px; padding: .78rem; }
  .court-route-paths, .clocks { grid-template-columns: 1fr; }
}
