:root{color:#1d2433;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}#root{min-height:100vh}button,input{font:inherit}.app-shell{grid-template-rows:auto minmax(0,1fr);gap:.75rem;max-width:1440px;height:100dvh;min-height:0;margin:0 auto;padding:.85rem;display:grid}.hero{color:#172033;background:radial-gradient(circle at 0 0,#3867d629,#0000 34%),linear-gradient(135deg,#fffffffa,#f8fafce0);border:1px solid #cbd5e1d9;border-radius:22px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.82rem 1rem;display:grid;box-shadow:0 16px 40px #1d243314}.hero h1,.hero p{margin:0}.hero-brand{align-items:center;gap:.85rem;min-width:0;display:flex}.hero-mark{color:#fff;letter-spacing:.08em;background:linear-gradient(135deg,#3867d6,#20a881);border-radius:16px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:.72rem;font-weight:900;display:inline-flex;box-shadow:0 10px 22px #3867d63d}.hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,1.8vw,1.8rem);line-height:1.05}.hero-copy{color:#4f5d73;justify-self:center;max-width:36ch;font-size:.83rem}.hero-meta{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.hero-meta span{color:#364259;white-space:nowrap;background:#f5f7fb;border:1px solid #dfe6f0;border-radius:999px;padding:.32rem .55rem;font-size:.68rem;font-weight:800}.eyebrow{color:#3867d6;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:.64rem;font-weight:800}.panel{background:#ffffffe6;border:1px solid #dfe6f0;border-radius:16px;padding:.7rem;box-shadow:0 10px 24px #1d24330f}.panel h2,.panel h3{margin:0;line-height:1.12}.panel h2{font-size:1.05rem}.hint{color:#647084;margin:.18rem 0 0;font-size:.74rem}.game-layout{grid-template-rows:minmax(0,1fr) 100px;grid-template-columns:118px minmax(0,1fr);align-items:stretch;gap:.75rem;min-width:0;min-height:0;display:grid}.row-slider-rail,.column-slider-rail,.content-panel{background:#ffffffe6;border:1px solid #dfe6f0;border-radius:18px;min-width:0;min-height:0;padding:.75rem;box-shadow:0 12px 30px #1d243312}.row-slider-rail{grid-area:1/1;place-items:stretch center;display:grid}.column-slider-rail{grid-area:2/1/auto/3;place-items:center stretch;min-width:0;display:grid}.content-panel{grid-area:1/2;grid-template-rows:auto minmax(0,1fr);gap:.65rem;display:grid;overflow:hidden}.content-grid{grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:.65rem;min-width:0;min-height:0;display:grid}.content-left{grid-template-rows:minmax(0,1fr) auto;gap:.65rem;min-width:0;min-height:0;display:grid}.matrix-panel{gap:.5rem;display:grid;overflow-x:auto}.payoff-table{border-collapse:collapse;text-align:center;width:100%;min-width:420px}.payoff-table th{color:#364259;padding:.18rem;font-size:.82rem;font-weight:800}.payoff-table td{border:2px solid #30394d;padding:.22rem}.payoff-cell{justify-content:center;align-items:center;gap:.25rem;display:flex}.payoff-cell input{color:#172033;text-align:center;background:#f7f9fc;border:1px solid #cbd5e1;border-radius:8px;width:2.65rem;padding:.12rem;font-size:.78rem}.payoff-cell input:focus{border-color:#3867d6;outline:none;box-shadow:0 0 0 3px #3867d629}.utility-panel{gap:.38rem;display:grid}.utility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.32rem;display:grid}.utility-grid article{background:#f5f7fb;border:1px solid #dfe6f0;border-radius:10px;padding:.4rem}.utility-grid span{color:#647084;font-size:.68rem;display:block}.utility-grid strong{margin-top:.2rem;font-size:.95rem;line-height:1.1;display:block}.chart-panel{gap:.3rem;min-height:0;display:grid;position:relative}.chart-legend{background:#ffffffd1;border:1px solid #dfe6f0;border-radius:999px;flex-wrap:wrap;gap:.5rem;padding:.2rem .42rem;display:flex;position:absolute;top:.7rem;right:.7rem}.chart-legend span{color:#4f5d73;align-items:center;gap:.28rem;font-size:.72rem;font-weight:800;display:inline-flex}.chart-legend span:before{content:"";border-radius:999px;width:.55rem;height:.55rem;display:inline-block}.chart-legend .row-series:before{background:#3867d6}.chart-legend .column-series:before{background:#20a881}.chart-wrap{min-width:0;overflow:hidden}.utility-chart{width:100%;min-width:0;max-height:230px;display:block}.chart-plot{fill:#f8fafc;stroke:#d7e0ec}.chart-gridline{stroke:#dce4ef;stroke-width:1px}.chart-zero-line{stroke:#8b97aa;stroke-dasharray:5 5;stroke-width:1.5px}.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.row-line{stroke:#3867d6}.column-line{stroke:#20a881}.chart-current-line{stroke:#f39c12;stroke-dasharray:6 5;stroke-width:2px}.chart-current-point{stroke:#172033;stroke-width:2px}.row-current-point{fill:#3867d6}.column-current-point{fill:#20a881}.chart-label{fill:#647084;font-size:10px}.x-label{text-anchor:middle}.y-label{dominant-baseline:middle;text-anchor:end}.chart-current-value{color:#4f5d73;background:#f5f7fb;border:1px solid #dfe6f0;border-radius:10px;margin:0;padding:.3rem .45rem;font-size:.72rem}.strategy-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.strategy-grid{grid-template-columns:minmax(120px,.65fr) minmax(200px,1.35fr);align-items:end;gap:.55rem;min-width:0;margin-top:.42rem;display:grid}.row-slider-rail .strategy-card{grid-template-rows:auto minmax(0,1fr) auto;height:100%}.row-slider-rail .strategy-bar.vertical{width:78px;height:100%}.column-slider-rail .strategy-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;width:100%;display:grid}.column-slider-rail .strategy-card h3{min-width:108px}.column-slider-rail .strategy-bar.horizontal{width:100%;height:50px}.column-slider-rail .probability-list{min-width:112px}.strategy-card{place-items:center;gap:.3rem;display:grid}.strategy-card h3{color:#364259;font-size:.74rem}.strategy-bar{touch-action:none;-webkit-user-select:none;user-select:none;background:#eef2f7;border:1px solid #cbd5e1;border-radius:14px;position:relative;overflow:hidden}.strategy-bar.vertical{flex-direction:column;width:78px;height:165px;display:flex}.strategy-bar.horizontal{width:min(100%,360px);height:48px;display:flex}.content-panel .strategy-bar.vertical{width:58px;height:76px}.content-panel .strategy-bar.horizontal{width:100%;height:36px}.response-strategy-grid{grid-template-columns:minmax(76px,.55fr) minmax(0,1.45fr)}.best-response-panel{grid-template-rows:auto minmax(0,1fr);gap:.6rem;min-width:0;min-height:0;display:grid}.best-response-board{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(110px,.36fr) minmax(0,1fr);gap:.65rem;min-width:0;min-height:0;display:grid}.best-response-row-response{grid-area:1/1/3;min-height:0;display:grid}.best-response-row-response .strategy-card{grid-template-rows:auto minmax(0,1fr) auto;height:100%}.best-response-row-response .strategy-bar.vertical{width:88px;height:100%;min-height:190px}.best-response-column-response{grid-area:2/2;min-width:0}.best-response-column-response .strategy-card{justify-items:stretch;width:100%}.best-response-column-response .strategy-card h3{justify-self:center}.best-response-column-response .strategy-bar.horizontal{width:100%;height:48px}.strategy-bar.read-only{opacity:.92}.strategy-segment{color:#fff;text-shadow:0 1px 6px #0003;justify-content:center;align-items:center;min-width:0;min-height:0;font-weight:800;transition:height .12s,width .12s;display:flex}.strategy-segment span{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.strategy-segment.compact span{opacity:0}.segment-0{background:#3867d6}.segment-1{background:#20a881}.segment-2{background:#f39c12}.strategy-handle{cursor:grab;z-index:2;background:#fff;border:3px solid #172033;border-radius:999px;padding:0;position:absolute;box-shadow:0 4px 14px #1d243340}.strategy-handle:active{cursor:grabbing}.strategy-handle:focus-visible{outline-offset:2px;outline:3px solid #3867d659}.vertical-handle{width:58px;height:12px;left:50%;transform:translate(-50%,-50%)}.horizontal-handle{width:12px;height:38px;top:50%;transform:translate(-50%,-50%)}.probability-list{flex-wrap:wrap;justify-content:center;gap:.25rem;margin:0;display:flex}.probability-list div{text-align:center;background:#f5f7fb;border:1px solid #dfe6f0;border-radius:10px;min-width:48px;padding:.16rem .3rem}.probability-list dt{color:#647084;font-size:.62rem;font-weight:700}.probability-list dd{margin:0;font-size:.74rem;font-weight:800}.best-response-details{grid-column:2;grid-template-columns:1fr;gap:.32rem;min-width:0;margin:0;display:grid}.best-response-details article{background:#f5f7fb;border:1px solid #dfe6f0;border-radius:12px;padding:.38rem}.best-response-details h3{margin-bottom:.2rem;font-size:.78rem}.best-response-details p{color:#4f5d73;overflow-wrap:anywhere;margin:.16rem 0;font-size:.68rem}@media (width<=1040px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh}.hero{grid-template-columns:minmax(0,1fr) auto}.hero-copy{grid-column:1/-1;justify-self:start;max-width:none}.game-layout{grid-template-rows:auto;grid-template-columns:1fr}.row-slider-rail,.content-panel,.column-slider-rail{grid-area:auto/1}.content-grid{grid-template-columns:1fr}.row-slider-rail .strategy-card{height:auto;min-height:220px}.row-slider-rail .strategy-bar.vertical{height:150px}.best-response-panel{overflow:visible}}@media (width<=720px){.app-shell{padding:1rem}.strategy-grid,.best-response-details{grid-template-columns:1fr}.best-response-board{grid-template-rows:auto;grid-template-columns:1fr}.best-response-row-response,.best-response-details,.best-response-column-response{grid-area:auto/1}.best-response-row-response .strategy-card{height:auto}.best-response-row-response .strategy-bar.vertical{height:180px}.utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr;align-items:flex-start;gap:.65rem}.hero-meta{justify-content:flex-start}.column-slider-rail .strategy-card{grid-template-columns:1fr;justify-items:stretch}.column-slider-rail .strategy-card h3,.column-slider-rail .probability-list{min-width:0}.column-slider-rail .strategy-bar.horizontal{height:46px}.payoff-table{min-width:360px}.payoff-cell input{width:2.4rem}}@media (width<=480px){.app-shell{gap:.6rem;padding:.65rem}.panel,.row-slider-rail,.column-slider-rail,.content-panel{padding:.6rem}.utility-grid{grid-template-columns:1fr}.eyebrow{white-space:normal}}
