:root{color-scheme:dark;--bg:#0b0b0c;--panel:#19191b;--line:#303034;--text:#fdfdfd;--muted:#99999f;--accent:#a9daff;--card-w:44px;--card-h:64px;--rank:35px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 Inter,Arial,"Yu Gothic UI",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;border:1px solid var(--line);border-radius:7px;background:#242426;color:#fdfdfd;padding:9px 14px;cursor:pointer}button:hover{border-color:#77777f;background:#2a2a2a}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.38;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#121212;font-weight:750;padding:12px 25px}button.primary:hover:not(:disabled){background:#ffec7c}header{max-width:1500px;margin:auto;padding:23px 4vw;display:flex;align-items:center;gap:16px;border-bottom:1px solid #29292c}.brand{display:flex;align-items:center;gap:10px;color:white;font-size:23px;font-weight:750;line-height:1.05;text-decoration:none;letter-spacing:-.6px}.brand b,.brand-mark{color:var(--accent)}.brand-mark{font-size:33px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.9px;margin-top:8px;font-weight:500}.experiment{font-size:10px;color:#aaa;border:1px solid #444;border-radius:4px;padding:2px 6px}nav{display:flex;gap:7px;margin-left:auto}nav button{border-color:transparent;background:transparent;font-weight:650;color:#aaa}nav button.active{color:var(--accent);border-bottom:2px solid var(--accent);border-radius:0}main{max-width:1500px;margin:auto;padding:30px 4vw 40px}h1{font-size:29px;letter-spacing:-.5px;line-height:1.4;margin:7px 0 8px}h2{font-size:17px;font-weight:700;margin:0}h3{font-size:17px;margin:10px 0}p{margin:8px 0}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--accent);font-weight:700}.intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.problem-nav{display:flex;gap:6px;white-space:nowrap}.workspace-grid{display:grid;grid-template-columns:minmax(365px,.85fr) minmax(490px,1.3fr);gap:20px;align-items:start}.panel{background:var(--panel);border:1px solid #2b2b2e;border-radius:12px;padding:23px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px;gap:10px}.panel-heading .muted{font-size:11px}.board-row{position:relative;display:flex;align-items:center;gap:7px;margin:10px 0;padding:7px;border:1px solid transparent;border-radius:8px;min-height:80px;transition:background .1s}.board-row.can-place{cursor:pointer;border-color:#4b4728;background:#23221a}.board-row.drag-over,.discard-zone.drag-over,.hand-zone.drag-over{background:#343020;border-color:var(--accent)}.row-label{width:32px;flex:0 0 32px;font-size:11px;color:#a7a7ae}.row-label small{display:block;font-size:9px;color:#74747d}.row-cards{display:flex;gap:6px;align-items:center}.slot{width:var(--card-w);height:var(--card-h);border:1px dashed #414145;border-radius:5px;background:#161616;color:#53535b;display:flex;justify-content:center;align-items:center;font-size:21px;flex-shrink:0;padding:0}.can-place .slot:hover{border-color:var(--accent);color:var(--accent)}.playing-card{display:inline-flex;align-items:center;justify-content:center;width:var(--card-w);height:var(--card-h);flex-shrink:0;border:1px solid transparent;border-radius:5px;color:#fdfdfd;font-family:Inter,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;font-weight:750;padding:0;line-height:1;box-shadow:none;position:relative;user-select:none;-webkit-user-select:none}.playing-card--s{--card-bg:#505055;background:var(--card-bg)}.playing-card--h{--card-bg:#bd160e;background:var(--card-bg)}.playing-card--d{--card-bg:#283acb;background:var(--card-bg)}.playing-card--c{--card-bg:#08ac26;background:var(--card-bg)}.playing-card--joker{--card-bg:#6334a4;background:var(--card-bg)}.playing-card .card-rank{font-size:var(--rank);line-height:1;letter-spacing:-.035em}.playing-card .card-rank--ten{font-size:calc(var(--rank)*.83);letter-spacing:-.09em}.joker-mark{width:86%;height:74%}.playing-card.interactive{cursor:grab;touch-action:manipulation}.playing-card.interactive:hover{background:var(--card-bg);filter:brightness(1.15);transform:translateY(-2px)}.playing-card.interactive.selected{outline:2px solid var(--accent);outline-offset:3px;transform:translateY(-5px)}.playing-card.locked{opacity:.65}.playing-card.locked:after{content:'·';position:absolute;bottom:1px;right:4px;font-size:13px;color:#dcdcdc}.hand-heading{border-top:1px solid var(--line);margin-top:17px;padding-top:18px;display:flex;align-items:center;justify-content:space-between}.hand-heading .muted{font-size:11px}.hand-zone{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:91px;margin-top:10px;padding:9px 3px;border:1px solid transparent;border-radius:7px}.zone-placeholder{font-size:12px;color:#676671;padding:14px 8px}.discard-zone{display:flex;align-items:center;gap:9px;border:1px dashed #48484d;border-radius:7px;min-height:58px;padding:9px;margin-top:4px}.discard-zone .row-label{width:44px;flex-basis:44px}.discard-zone .playing-card{--card-w:30px;--card-h:43px;--rank:25px}.placement-tools{display:flex;align-items:center;gap:8px;margin:16px 0;flex-wrap:wrap}.placement-tools button{font-size:11px;padding:7px 10px}.placement-tools .muted{font-size:11px}.evaluate-bar{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px}.evaluate-bar .muted{font-size:11px}.error{color:#ffaaa1;font-size:12px;white-space:pre-wrap}.opponent-details{border-top:1px solid var(--line);padding-top:15px;margin-top:19px}details{font-size:12px;color:var(--muted)}summary{cursor:pointer}details p{line-height:1.8}.static-board .board-row{min-height:45px;padding:0}.static-board .playing-card{--card-w:27px;--card-h:39px;--rank:23px}.past-cards{display:flex;align-items:center;gap:5px;margin-top:10px}.past-cards .playing-card{--card-w:23px;--card-h:33px;--rank:20px}.empty-result{text-align:center;min-height:340px;padding:65px 12px;color:var(--muted)}.empty-result h3{color:#d7d7db;font-weight:500}.empty-result p{font-size:12px;line-height:1.9}.empty-icon{font-size:35px;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;width:59px;height:59px;border:1px solid #595337;border-radius:14px}.result-summary{border:1px solid #51482c;background:#252219;border-radius:8px;padding:14px 16px;margin-bottom:18px}.summary-line{display:flex;align-items:center;gap:12px}.summary-line strong{color:#fdfdfd;font-size:19px}.result-summary p{font-size:11px;color:#b7b4a8;margin:6px 0 0}.ranking-scroll{overflow-x:auto;max-width:100%}.ranking-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.ranking-table th{font-size:10px;color:#919197;font-weight:500;text-align:left;padding:0 6px 10px;white-space:nowrap}.ranking-table th.numeric{text-align:right}.ranking-table td{padding:12px 6px;border-top:1px solid #303034;white-space:nowrap}.ranking-table tr.chosen{background:#2c281b}.ranking-table tr.chosen td:first-child{box-shadow:inset 3px 0 var(--accent)}.rank-num{font-size:11px;color:#999;width:25px}.move-cards{display:flex;gap:6px;align-items:center}.move-group{display:flex;gap:3px;min-width:8px}.move-divider{color:#777;font-weight:400;margin:0 1px}.move-cards .playing-card{--card-w:23px;--card-h:34px;--rank:21px;border-radius:3px}.empty-group{font-size:12px;color:#666}.ev-difference{color:#fdfdfd;text-align:right;font-weight:650;font-size:13px}.ev-value{color:var(--accent);text-align:right;font-size:16px;font-weight:750}.you-label{display:inline-block;font-size:9px;color:var(--accent);margin-top:4px}.move-details{margin-top:5px;font-size:10px;color:#96969e}.move-details .playing-card{--card-w:16px;--card-h:22px;--rank:14px;border-radius:2px;vertical-align:middle;margin-left:3px}.move-details summary{font-size:10px}.move-details p{margin:3px 0}.analysis-panel{min-width:0}.analysis-panel>details{padding-top:15px;border-top:1px solid var(--line);margin-top:18px}.white{color:white}.accent{color:var(--accent)}.json-panel{margin-top:22px}.json-panel summary{color:#bcbcc3}textarea{display:block;width:100%;height:310px;resize:vertical;margin:15px 0;border:1px solid #3a3a40;border-radius:8px;padding:14px;background:#101012;color:#dedee3;font:12px/1.6 Consolas,monospace}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar button{font-size:12px}.history-item{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #343434;gap:12px}.history-item p{font-size:12px;margin:3px 0;color:#aaa}.history-item button{font-size:12px}footer{color:#676671;font-size:11px;margin-top:30px;border-top:1px solid #2a2a2d;padding-top:20px}.brand-footer{font-size:10px;letter-spacing:1px;color:#aaa;margin-right:20px}footer p{font-size:10px}.hidden{display:none!important}@media(max-width:1150px){.workspace-grid{grid-template-columns:minmax(340px,.85fr) minmax(430px,1.1fr);gap:14px}.panel{padding:18px}main,header{padding-left:25px;padding-right:25px}.move-cards{gap:4px}.move-cards .playing-card{--card-w:21px;--card-h:31px;--rank:19px}.ranking-table td{padding:11px 4px}}@media(max-width:900px){.workspace-grid{grid-template-columns:1fr}.placement-panel{max-width:none}.analysis-panel{min-height:260px}.empty-result{min-height:190px;padding:25px 10px}.row-cards{gap:8px}.board-row{gap:12px}.move-cards .playing-card{--card-w:25px;--card-h:36px;--rank:23px}.ranking-table{min-width:390px}}@media(max-width:480px){main{padding:22px 13px}header{padding:17px 15px;gap:9px}.brand{font-size:18px}.brand-mark{font-size:27px}.experiment{display:none}nav{gap:1px}nav button{padding:8px;font-size:11px}h1{font-size:24px}.intro{align-items:flex-start;flex-wrap:wrap;gap:12px}.intro p{font-size:12px}.problem-nav{margin-left:auto}.panel{padding:16px}.row-label{width:25px;flex-basis:25px}.row-cards{gap:5px}.board-row{gap:5px;padding:5px 0}.playing-card,.slot{--card-w:42px;--card-h:61px;--rank:33px}.hand-zone{gap:7px}.evaluate-bar{flex-wrap:wrap}.evaluate-bar .primary{flex:1}.ranking-table{min-width:365px}.move-cards .playing-card{--card-w:21px;--card-h:31px;--rank:19px}.ranking-table th,.ranking-table td{padding-left:4px;padding-right:4px}.ev-value{font-size:14px}.ev-difference{font-size:12px}.move-cards{gap:3px}.move-group{gap:2px}.history-item{align-items:flex-start}.brand-footer{display:block;margin-bottom:6px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}


/* Keep cards, rank, difference and absolute EV on the same result line. */
.ranking-table td{vertical-align:top}.ranking-table td.ev-difference,.ranking-table td.ev-value{padding-top:17px}.ranking-table td.rank-num{padding-top:20px}

/* chaipo review workspace: board-first analysis, familiar review colors. */
:root{--bg:#302e2b;--panel:#242116;--line:#45433f;--muted:#b3b1ab;--accent:#a9daff;--green:#91bd54;--card-w:49px;--card-h:70px;--rank:38px}
body{background:var(--bg);font-family:Inter,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;color:#f0efec}
header{max-width:none;padding:16px 30px;background:#242116;border-bottom:1px solid #1e1d1b;gap:12px}.brand{font-size:29px;letter-spacing:-1.2px}.brand-mark{color:var(--green);font-size:36px}.experiment{color:#c2c0b9;border-color:#56544d;font-size:9px}.header-note{margin-left:auto;letter-spacing:1.5px;font-size:9px;color:#8d8b84}nav{margin-left:32px;gap:5px}nav button{font-size:13px;border-radius:6px;color:#b7b5ae;padding:9px 17px}nav button.active{color:#fdfdfd;background:#3c3a36;border:1px solid transparent;border-radius:6px}
main{max-width:1410px;padding:25px 30px 30px}.intro{margin-bottom:19px}.intro h1{font-size:26px;margin:5px 0;letter-spacing:-.6px}.intro p{font-size:12px;margin-top:4px}.eyebrow{color:#b4cd95;font-size:9px;letter-spacing:1.7px}.problem-nav button{background:#403e39;border-color:transparent;padding:8px 13px;font-size:12px}.workspace-grid{grid-template-columns:minmax(395px,1.05fr) minmax(440px,1fr);gap:20px}.panel{border:1px solid #24231f;border-radius:9px;padding:23px;box-shadow:0 3px 0 #24231f55}.placement-panel{background:#383631}.panel-heading{margin-bottom:18px}.panel-heading h2{font-size:17px}.panel-heading .eyebrow{display:block;margin-bottom:4px}.panel-heading .muted{font-size:11px}
.board-stage{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:stretch;background:#2e3028;border:1px solid #4c5040;border-radius:8px;padding:15px 12px 15px 8px}.board-row{background:#414535;border-color:#535943;min-height:91px;padding:9px 8px;margin:8px 0;gap:7px;border-radius:5px}.board-row:nth-child(2){background:#393e30}.board-row:first-child{margin-top:0}.board-row:last-child{margin-bottom:0}.row-label{width:30px;flex-basis:30px;color:#d6d9cb;font-size:10px}.row-label small{color:#a1a990}.row-cards{gap:6px}.slot{background:#2b3025;border:1px solid #5b624a;color:#657153;border-radius:4px}.playing-card{border-radius:4px;box-shadow:0 2px 0 #0004}.board-row.can-place{background:#4c563b;border-color:#91bd54}.board-row.drag-over,.discard-zone.drag-over,.hand-zone.drag-over{background:#525e3b;border-color:var(--green)}.playing-card.interactive.selected{outline-color:var(--accent)}.changed-card{outline:2px solid #bedb8f;outline-offset:2px}.previewing .slot{opacity:.65}.static-board .board-row{background:transparent;border:none}
.ev-meter{position:relative;display:flex;align-items:center;flex-direction:column;min-height:288px;font-variant-numeric:tabular-nums}.meter-track{position:relative;flex:1;width:15px;background:#171914;border:1px solid #181a13;border-radius:4px;margin:6px 0;min-height:212px}.meter-fill{position:absolute;bottom:0;width:100%;height:50%;background:#dce4ca;border-radius:0 0 3px 3px;transition:height .25s}.meter-zero{position:absolute;bottom:50%;width:23px;left:-5px;border-top:1px solid #91a676}.meter-marker{position:absolute;bottom:50%;left:50%;transform:translate(-50%,50%);z-index:1}.meter-marker span{display:block;border-radius:4px;background:#1f2119;padding:3px 5px;border:1px solid #6e8051;color:var(--accent);font-size:10px;font-weight:750;white-space:nowrap}.meter-end{color:#a6af96;font-size:9px}.meter-unit{color:#9da78d;font-size:8px;white-space:nowrap}.is-empty .meter-fill{opacity:.28}.is-empty .meter-marker{display:none}.preview-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#4a563b;padding:9px 11px;border-radius:6px;margin-bottom:12px;font-size:11px;color:#e0ebd4}.preview-banner button{padding:5px 8px;background:#343d29;border-color:#748653;font-size:10px}
.hand-heading{border-color:#504d46;margin-top:20px;padding-top:16px}.hand-zone{min-height:89px;margin-top:8px;gap:9px}.hand-zone .zone-placeholder{color:#b1aea5}.placement-tools{margin:13px 0}.placement-tools button{background:transparent;border-color:#56534b;color:#ccc9c0}.evaluate-bar{border-top-color:#394c5c;align-items:center;flex-wrap:wrap}.primary,button.primary{background:var(--green);color:#18220e;border-color:transparent;box-shadow:0 3px 0 #58732d;border-radius:6px;font-weight:800;font-size:15px;flex:1;white-space:nowrap}button.primary:hover:not(:disabled){background:#a4cf67}.evaluate-bar .muted{font-size:10px}.opponent-details{border-color:#394c5c}.discard-zone{border-color:#686153;background:#302e28}
.analysis-panel{padding:0;overflow:hidden;background:#242116}.review-heading{padding:19px 21px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #3c3a35}.review-heading h2{font-size:18px;line-height:1.4}.review-heading .small{font-size:10px}.review-icon{width:34px;height:34px;background:#414536;color:#c6d5af;display:grid;place-items:center;font-size:27px;border-radius:50%}.review-tag{margin-left:auto;font-size:10px;background:#3c3a34;padding:3px 7px;color:#c3c0b7;border-radius:4px}.empty-result{padding:62px 15px;min-height:438px}.empty-icon{border:0;background:#3a4030;color:#a4c478;border-radius:50%;font-size:35px}.empty-result h3{color:#e8e6df;font-weight:650;font-size:19px}.empty-steps{display:flex;justify-content:center;gap:21px;margin-top:29px;font-size:11px;color:#918e85}
.result-summary{margin:0;border:0;border-bottom:1px solid #3d3b34;border-radius:0;background:#2d2d26;padding:19px 22px}.review-verdict{display:flex;align-items:center;justify-content:space-between;gap:10px}.grade-badge{display:inline-flex;align-items:center;gap:5px;font-weight:750;white-space:nowrap;background:var(--grade,#899587);color:#fdfdfd;border-radius:4px;font-size:11px;padding:3px 7px}.tone-best{--grade:#80a749}.tone-excellent{--grade:#77985a}.tone-good{--grade:#718761}.tone-inaccuracy{--grade:#b79828}.tone-mistake{--grade:#c87a36}.tone-blunder{--grade:#bc5046}.tone-uncertain{--grade:#778693}.tone-limited{--grade:#778693}.result-summary h3{font-size:18px;margin:11px 0}.review-metrics{display:flex;gap:28px;align-items:start;margin:8px 0 13px}.review-metrics>div{display:flex;flex-direction:column;gap:2px}.review-metrics strong{font-size:27px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.review-metrics .small{font-size:10px}.result-summary .coach-note{font-size:12px;line-height:1.8;color:#d3d1c7;max-width:46em}.review-rates{display:flex;gap:16px;font-size:10px;color:#a6a79a;margin-top:11px}.review-controls{display:flex;gap:7px;padding:13px 20px;border-bottom:1px solid #3f3c35}.review-controls button{flex:1;padding:8px;font-size:11px;background:#35332e;border-color:#514e43}.review-controls button.active{border-color:#819b5b;background:#424b33;color:#d4e5bb}.analysis-panel>.panel-heading{padding:14px 19px 0;margin-bottom:12px}.analysis-panel>.panel-heading h2{font-size:13px}.analysis-panel .panel-heading .muted{font-size:10px}.ranking-scroll{max-height:430px;overflow:auto;padding:0 13px;scrollbar-width:thin;scrollbar-color:#67644f #292821}.ranking-table{min-width:0}.ranking-table th{font-size:9px;padding-bottom:9px;background:#242116;position:sticky;top:0;z-index:2}.ranking-table td{border-color:#423f37;padding:11px 4px;vertical-align:top}.ranking-table tr.chosen{background:#414532}.ranking-table tr.chosen td:first-child{box-shadow:inset 3px 0 #91bd54}.ranking-table tr.preview-row{background:#3d4434}.ranking-table tr:hover{background:#36372e}.rank-num{font-size:10px;min-width:29px}.rank-num .grade-badge{display:flex;width:20px;height:20px;justify-content:center;font-size:10px;padding:0;margin-top:5px}.move-cards{padding:0;border:0;background:transparent;border-radius:2px;gap:4px;min-height:34px}.move-cards:hover{background:transparent;border:0}.move-cards .playing-card{--card-w:23px;--card-h:34px;--rank:21px}.move-group{gap:3px}.move-divider{color:#a09b8b}.ranking-table td.ev-difference,.ranking-table td.ev-value{padding-top:15px}.ranking-table td.rank-num{padding-top:14px}.ev-difference{font-size:12px}.ev-value{font-size:15px}.you-label{color:#c4d8a1;font-size:9px}.move-details{font-size:10px;color:#a5a195}.ranking-more{margin:12px 0;width:100%;font-size:11px;background:#37352e}.analysis-panel>#resultNote{padding:4px 20px 0;font-size:10px}.analysis-panel>details{padding:13px 20px;margin:14px 0 0;border-color:#2e3e4b}.analysis-panel>details p{font-size:11px}.json-panel{background:transparent;padding:14px 20px;border-color:#4f4b41;box-shadow:none;margin-top:19px}.json-panel summary{color:#bfbcb1;font-size:12px}textarea{background:#24231f;border-color:#625c4d}.toolbar button{background:#454136;border-color:#5c5545}footer{border-color:#49453b;color:#9f998b;margin-top:24px;padding-top:17px;font-size:10px}.brand-footer{color:#c3bdae;letter-spacing:1px}.history-item{border-color:#2e3e4b}.history-item button{background:#454b37;border-color:#79885d}
@media(min-width:1450px){.board-stage{padding:18px 16px 18px 10px;gap:18px}.board-row{min-height:108px;padding:14px 12px}.board-row .playing-card,.board-row .slot{--card-w:57px;--card-h:82px;--rank:45px}}
@media(max-width:1050px){main{padding:23px 20px}.workspace-grid{grid-template-columns:1fr;max-width:760px;margin:auto}.placement-panel{padding:23px}.board-stage{gap:22px;grid-template-columns:50px minmax(0,1fr)}.row-cards{gap:9px}.board-row{justify-content:flex-start;gap:15px}.board-row .playing-card,.board-row .slot{--card-w:55px;--card-h:77px;--rank:42px}.ranking-scroll{max-height:480px}.empty-result{min-height:240px;padding:27px 15px}.header-note{display:none}.analysis-panel{padding:0}.ranking-table .move-cards .playing-card{--card-w:27px;--card-h:38px;--rank:23px}}
@media(max-width:550px){header{padding:12px 14px;gap:8px}.brand{font-size:25px}.brand-mark{font-size:30px}.experiment{display:none}nav{margin-left:auto;gap:0}nav button{font-size:11px;padding:8px 10px}main{padding:19px 12px}.intro h1{font-size:23px}.intro{gap:8px;flex-wrap:wrap}.intro p{font-size:11px}.problem-nav{margin-left:auto}.panel.placement-panel{padding:16px 11px}.panel-heading{padding:0 5px}.board-stage{grid-template-columns:31px minmax(0,1fr);gap:5px;padding:10px 5px}.ev-meter{min-height:235px}.meter-track{width:12px;min-height:188px}.meter-marker span{font-size:8px;padding:3px}.board-row{min-height:72px;padding:7px 4px;gap:3px;margin:7px 0}.row-label{width:22px;flex-basis:22px;font-size:9px}.row-label small{font-size:8px}.row-cards{gap:4px}.board-row .playing-card,.board-row .slot{--card-w:37px;--card-h:54px;--rank:30px}.hand-zone .playing-card{--card-w:43px;--card-h:61px;--rank:34px}.hand-zone{gap:7px;padding-left:4px;min-height:76px}.hand-heading,.placement-tools,.evaluate-bar,.opponent-details{margin-left:5px;margin-right:5px}.evaluate-bar{gap:8px}.evaluate-bar .muted{width:100%;text-align:center}.review-heading{padding:17px}.result-summary{padding:17px}.review-metrics strong{font-size:26px}.review-controls{padding:12px 15px}.ranking-scroll{padding:0 8px}.ranking-table{min-width:320px}.ranking-table .move-cards .playing-card{--card-w:20px;--card-h:29px;--rank:18px}.move-cards{gap:3px}.move-group{gap:2px}.rank-num{min-width:22px}.ev-difference{font-size:11px}.ev-value{font-size:13px}.preview-banner{padding:7px;font-size:10px}.preview-banner button{font-size:9px}.analysis-panel>details{padding:12px 16px}.json-panel{padding:13px}.review-rates{gap:13px}}
@media(max-width:365px){.board-row .playing-card,.board-row .slot{--card-w:32px;--card-h:48px;--rank:27px}.row-cards{gap:3px}.board-stage{gap:3px}.intro h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){.meter-fill{transition:none}}
/* Keep the decision and its review close together on laptop screens. */
@media(min-width:1051px) and (max-height:850px){main{padding-top:17px}.intro{margin-bottom:14px}.intro h1{font-size:23px}.intro p{margin:3px 0}.placement-panel{padding:18px}.panel-heading{margin-bottom:12px}.board-stage{padding:11px 9px}.board-row{min-height:72px;padding:6px;margin:6px 0}.board-row .playing-card,.board-row .slot{--card-w:43px;--card-h:59px;--rank:32px}.ev-meter{min-height:232px}.meter-track{min-height:188px}.hand-heading{margin-top:12px;padding-top:11px}.hand-zone{min-height:66px;margin-top:6px;padding-top:5px;padding-bottom:5px}.hand-zone .playing-card{--card-w:39px;--card-h:55px;--rank:31px}.placement-tools{margin:9px 0}.evaluate-bar{padding-top:11px}.opponent-details{margin-top:13px;padding-top:11px}.empty-result{min-height:359px}.review-heading{padding:16px 20px}}
/* FL has thirteen placed cards: keep EV visible by using three compact rows. */
.ranking-table.is-fantasy .move-cards{display:grid;gap:5px;justify-items:start}.ranking-table.is-fantasy .move-divider{display:none}.ranking-table.is-fantasy .move-group{align-items:center}.ranking-table.is-fantasy .move-group::before{content:attr(aria-label);color:#aaa795;font-size:9px;width:24px;font-weight:400;text-align:left}.ranking-table.is-fantasy th:nth-child(3){white-space:normal;min-width:64px;max-width:88px}.ranking-table.is-fantasy td.ev-difference{font-size:11px}.ranking-table.is-fantasy .move-cards .playing-card{--card-w:23px;--card-h:33px;--rank:20px}
@media(max-width:550px){.ranking-table.is-fantasy .move-cards .playing-card{--card-w:19px;--card-h:27px;--rank:17px}.ranking-table.is-fantasy .move-group::before{width:21px;font-size:8px}.ranking-table.is-fantasy .ev-difference{font-size:10px}.ranking-table.is-fantasy th{font-size:8px}.ranking-table.is-fantasy{min-width:310px}}
.ranking-status{margin:16px 20px;padding:12px 14px;background:#34392e;border:1px solid #61704c;border-radius:6px}.ranking-status strong{font-size:13px}.ranking-status p{margin:6px 0 0;line-height:1.6;color:#d4d0c3}.ranking-status.is-uncertain{background:#393425;border-color:#8b7849}.ranking-table th:nth-child(3){white-space:normal;max-width:94px}.ranking-table .ev-difference{font-size:13px}
