:root{color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--page:#0b1119;--surface:#121c28;--surface-raised:#192635;--felt:#154b43;--felt-deep:#103a35;--border:#2b3a48;--text:#e7edf1;--muted:#b1bec8;--subtle:#91a0ac;--accent:#d6b56d;--danger:#e1827b;--success:#85c89b;--ink:var(--text);--paper:var(--surface);--gold:var(--accent);--line:var(--border);--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--shadow-soft:0 12px 32px #0005;--font-small:12px;--font-body:16px;--font-heading:clamp(24px, 4vw, 40px);font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:radial-gradient(at 50% 0,#f7f5ec,#e7e6dc 70%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.page-shell{width:min(100% - 40px,1180px);margin:0 auto;padding:18px 0 30px}.topbar{border-bottom:1px solid #d6d9ce;align-items:center;gap:12px;min-height:40px;padding-bottom:7px;display:flex}.brand{color:#183c2b;letter-spacing:.11em;font-size:14px;font-weight:850;text-decoration:none}.player-name-control{color:#718075;align-items:center;gap:7px;margin-left:auto;font-size:12px;display:flex}.player-name-input{color:#264532;background:#fffefa;border:1px solid #cbd4ca;border-radius:7px;width:110px;min-height:31px;padding:5px 8px;font-size:12px}.practice-tag{color:#47664e;white-space:nowrap;background:#f5f6ef;border:1px solid #c6d0c5;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.intro{padding:28px 0 18px}.eyebrow,.panel-label,.lesson-kicker{color:#778672;letter-spacing:.15em;text-transform:uppercase;font-size:12px;font-weight:750}.intro h1{color:#21392a;letter-spacing:-.04em;margin:7px 0;font-size:clamp(25px,4vw,36px)}.intro-copy{max-width:690px;color:var(--muted);margin:0;font-size:12px;line-height:1.65}.play-mode-bar{background:#f4f4ed;border:1px solid #d7ddd2;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:38px;margin:0 0 9px;padding:5px 10px;display:flex}.play-mode-copy{color:#56685a;font-size:12px;font-weight:700}.online-entry-button{color:#285b3b;background:#fffef9;border:1px solid #aabda9;border-radius:6px;min-height:29px;padding:5px 10px;font-size:12px;font-weight:750}.online-entry-button:hover{background:#edf4e9}.beginner-guide{background:#f8f8f1;border:1px solid #d7ddd2;border-radius:9px;margin-bottom:12px}.beginner-guide summary{color:#405c47;cursor:pointer;padding:11px 14px;font-size:12px;font-weight:700}.guide-body{gap:6px;padding:0 14px 12px;display:grid}.guide-body p{color:#68776a;margin:0;font-size:12px;line-height:1.65}.practice-settings{align-items:center;gap:10px;min-height:32px;margin:0 0 8px;display:flex}.opponent-count-control{color:#4e6252;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.opponent-count-select{color:#284733;background:#fffefa;border:1px solid #cbd5c9;border-radius:6px;min-height:29px;padding:3px 8px;font-size:12px}.settings-hint{color:#788478;font-size:12px}.play-shell{width:min(100% - 32px,1500px);min-height:100svh;padding:8px 0 14px}.play-shell>.intro,.play-shell>.beginner-guide{display:none}.play-shell>.topbar{flex:none;min-height:39px}.play-shell>.play-mode-bar{flex:none;min-height:32px;margin:0 0 6px;padding:3px 9px}.play-shell>.practice-settings{flex:none;min-height:28px;margin:0 0 6px}.play-layout{flex-direction:column;gap:8px;height:calc(100svh - 130px);min-height:430px;display:flex}.online-play-shell .play-layout{height:calc(100svh - 102px)}.game-panel{background:#123d2b;border:5px solid #60482b;border-radius:21px;flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 8px #3d3426,0 14px 30px #29322525}.panel-header{z-index:1;background:linear-gradient(90deg,#174832,#103a29);border-bottom:1px solid #ffffff1e;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:43px;padding:7px 14px;display:flex}.hand-meta{gap:3px;display:grid}.panel-label{color:#f0d98d;letter-spacing:.06em;font-size:12px}.blind-level{color:#bdcfbd;letter-spacing:.04em;font-size:12px}.turn-indicator{color:#c8d5c8;text-overflow:ellipsis;white-space:nowrap;max-width:48%;font-size:12px;overflow:hidden}.turn-indicator:before{content:"";background:#9a9;border-radius:50%;width:6px;height:6px;margin:0 6px 1px 0;display:inline-block}.turn-indicator.your-turn{color:#f1d983;font-weight:800}.turn-indicator.your-turn:before{background:#a8df9e;box-shadow:0 0 0 3px #a8df9e32}.felt{isolation:isolate;background:radial-gradient(at 50% 44%,#1b754b 0,#12613f 57%,#0b4b33 100%);flex:auto;grid-template-rows:minmax(0,1fr) auto auto;grid-template-columns:1fr;align-content:stretch;justify-items:stretch;gap:clamp(4px,1vh,10px);min-height:0;padding:14px clamp(12px,3vw,34px);display:grid;position:relative;overflow:hidden}.felt:before{z-index:-1;content:"";pointer-events:none;border:8px solid #4b3824;border-radius:50%;outline:2px solid #d0b76c;position:absolute;inset:18px 7%;box-shadow:inset 0 0 0 2px #e8d18b55,inset 0 0 30px #06351f88,0 4px #092d1d}.felt:after{z-index:-1;content:"";pointer-events:none;background:repeating-radial-gradient(#ffffff07 0 1px,#0000 1px 5px);border:1px solid #ffffff12;border-radius:50%;position:absolute;inset:29px 9%}.opponent-seats{grid-area:1/1/auto/-1;grid-template-columns:repeat(auto-fit,minmax(min(175px,100%),1fr));align-content:center;justify-items:center;gap:8px;width:min(100%,1150px);margin:auto;display:grid}.player-seat{color:#fff9e9;background:linear-gradient(145deg,#153e2c,#0d3022);border:1px solid #bda86a99;border-radius:9px;align-items:center;gap:8px;width:100%;min-width:0;max-width:205px;min-height:61px;padding:6px 8px;display:flex;position:relative;box-shadow:0 4px 12px #06251744,inset 0 1px #ffffff12}.folded-seat{opacity:.55}.avatar{color:#f1d784;background:#244c36;border:1px solid #d1b968;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.human-seat .avatar{color:#24432e;background:#efd682}.seat-details{gap:2px;min-width:0;display:grid}.seat-details strong{color:#fff9e9;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.seat-stack,.seat-bet{color:#c4d3c3;font-size:12px}.seat-bet{color:#f2d782}.stack-meter{background:#ffffff30;border-radius:999px;width:min(100%,75px);height:3px;display:block;overflow:hidden}.stack-meter-fill{border-radius:inherit;background:linear-gradient(90deg,#b89b4a,#f2d47a);height:100%;transition:width .2s;display:block}.hole-cards{margin-left:auto}.card-row{justify-content:center;gap:5px;min-height:44px;display:flex}.playing-card{color:#24312a;background:linear-gradient(145deg,#fffefa,#e8e1d0);border:1px solid #e6dfce;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;width:37px;height:51px;display:flex;box-shadow:0 3px 7px #00170d55,inset 0 0 0 1px #ffffffa8}.card-rank{font-size:12px;font-weight:800;line-height:1}.card-suit{margin-top:1px;font-size:15px;line-height:1}.red-suit{color:#bd3c37!important}.card-back{color:#efd889;background:repeating-linear-gradient(45deg,#1e6844 0 4px,#125438 4px 8px);border:2px solid #ead28a;font-size:14px;box-shadow:0 3px 7px #00170d55,inset 0 0 0 2px #17452f}.table-center{z-index:0;grid-area:2/1/auto/-1;justify-items:center;gap:3px;padding:0;display:grid}.pot-label{color:#e9d793;letter-spacing:.2em;font-size:12px;font-weight:800}.pot-value{color:#fff0b8;text-shadow:0 2px 7px #00261699;font-size:22px;font-weight:800;position:relative}.pot-value:before{background:repeating-conic-gradient(#a83932 0 10deg, #e9c967 10deg 22deg);content:"";border:2px dashed #f4e2a1;border-radius:50%;width:20px;height:20px;position:absolute;top:50%;left:-30px;transform:translateY(-50%);box-shadow:0 2px 4px #00170d88}.pot-value small{color:#cbdac8;letter-spacing:.08em;font-size:12px}.community-cards{gap:clamp(4px,1vw,9px);min-height:52px;margin-top:3px}.community-cards .playing-card{border-radius:6px;width:clamp(37px,4vw,50px);height:clamp(52px,5.2vw,68px)}.felt>.player-seat:last-child{grid-area:3/1/auto/-1;justify-self:center}.seat-turn-label,.folded-label{color:#28402d;background:#f0d781;border-radius:999px;padding:3px 7px;font-size:12px;font-weight:800;position:absolute;top:-8px;right:9px}.folded-label{color:#fff;background:#879589;top:auto;bottom:-8px}.dealer-button{color:#56451f;background:#fff9e7;border:1px solid #c7a957;border-radius:50%;place-items:center;width:18px;height:18px;font-size:12px;font-weight:900;display:grid;position:absolute;top:-8px;left:8px;box-shadow:0 1px 4px #00170d55}.notice-bar{color:#d0dbca;background:#103a29;border-top:1px solid #ffffff1e;flex:none;align-items:center;gap:7px;min-height:29px;padding:4px 11px;font-size:12px;line-height:1.4;display:flex}.notice-dot{background:#e4c468;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.notice-error{color:#ffd1bd}.notice-error .notice-dot{background:#e88167}.action-panel{background:#f8f6ed;border:1px solid #d7d6c8;border-radius:12px;flex:none;grid-template-columns:minmax(110px,.65fr) minmax(0,2fr);align-content:start;align-items:start;gap:7px 14px;min-width:0;max-height:210px;padding:10px 14px;display:grid;overflow-y:auto;box-shadow:0 4px 12px #34403112}.action-heading{flex-direction:column;justify-content:center;gap:2px;min-height:38px;display:flex}.action-heading h2{color:#334b38;margin:0;font-size:12px}.stack-summary{color:#6c796c;font-size:12px}.action-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:6px;display:grid}.action-button{border:1px solid #0000;border-radius:7px;min-height:38px;padding:7px 10px;font-size:12px;font-weight:800;transition:filter .12s,transform .12s}.action-button:not(:disabled):hover{filter:brightness(1.07)}.action-button:not(:disabled):active{transform:translateY(1px)}.action-button:focus-visible,.online-entry-button:focus-visible,.wager-range:focus-visible,.wager-preset:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #d3b45f}.primary-action{color:#fffdf1;background:#236d43}.secondary-action{color:#31573b;background:#e8eee3;border-color:#c4d0c1}.fold-action{color:#8b4238;background:#f2e4df;border-color:#dfc8c0}.allin-action{color:#654c1c;background:#f4e6bd;border-color:#dabd78}.wager-control{grid-column:1/-1;grid-template-columns:auto minmax(60px,1fr);align-items:center;gap:5px 10px;min-width:0;display:grid}.wager-amount{color:#3c5f42;font-size:12px;font-weight:800}.wager-range{accent-color:#267448;width:100%}.wager-presets{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.wager-preset{color:#4b624b;background:#f0f2e9;border:1px solid #d7dece;border-radius:6px;min-height:29px;font-size:12px}.wager-control>.action-button{grid-column:1/-1}.action-hint,.action-guidance,.pot-odds{color:#69766a;margin:0;font-size:12px;line-height:1.45}.action-hint{grid-column:1/-1}.pot-odds{color:#355a3d;font-weight:800}.action-waiting{color:#69766a;grid-column:2;margin:0;font-size:12px}.coach-box{grid-column:1/-1;align-items:start;gap:8px;display:flex}.coach-toggle{color:#31573b;background:#e8eee3;border:1px solid #c4d0c1;border-radius:6px;flex:none;min-height:30px;padding:5px 9px;font-size:12px;font-weight:800}.coach-copy,.coach-caveat{color:#536853;margin:0;font-size:12px;line-height:1.5}.coach-caveat{color:#7a8477}.result-copy,.pot-result{color:#4c604c;margin:3px 0;font-size:12px;line-height:1.45}.revealed-hands{flex-wrap:wrap;gap:6px;display:flex}.revealed-hand{background:#fffef9;border:1px solid #dce0d3;border-radius:6px;gap:3px;padding:5px;display:grid}.revealed-hand strong{color:#415a42;font-size:12px}.result-cards{justify-content:flex-start;min-height:34px}.result-cards .playing-card{width:24px;height:34px}.result-cards .card-rank,.result-cards .card-suit{font-size:12px}.secondary-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.hand-history,.recent-hands,.glossary{border-top:1px solid #d1d6cb}.hand-history summary,.recent-hands>summary,.glossary summary{color:#496149;cursor:pointer;width:-moz-fit-content;width:fit-content;padding:12px 2px;font-size:12px;font-weight:750}.history-list{color:#637065;gap:5px;margin:0;padding:0 14px 10px 30px;font-size:12px;line-height:1.5;display:grid}.history-list li::marker{color:#a48a4d}.history-empty{margin-left:-16px;list-style:none}.lesson-card{background:#f7f7ef;border:1px solid #d9ded2;border-radius:8px;gap:9px;margin-top:8px;padding:11px;display:flex}.lesson-icon{color:#3f6745;background:#e4eadc;border-radius:6px;flex:0 0 25px;place-items:center;width:25px;height:25px;display:grid}.lesson-text{min-width:0}.lesson-kicker{font-size:12px;display:block}.lesson-title{color:#35533b;margin-top:3px;font-size:14px;display:block}.lesson-copy{color:#657267;margin:3px 0 7px;font-size:12px;line-height:1.5}.made-with{gap:4px;display:flex}.mini-card{color:#35443a;background:#fffefa;border:1px solid #dfded4;border-radius:4px;place-items:center;width:25px;height:32px;font-size:12px;display:grid}.lesson-placeholder{color:#758176;border:1px dashed #cbd4c8;border-radius:7px;margin-top:8px;padding:10px;font-size:12px;line-height:1.5}.glossary{margin-top:14px}.glossary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-bottom:10px;display:grid}.glossary-entry{background:#e6e9df;border-radius:6px;padding:9px}.glossary-entry strong{color:#38543d;font-size:12px}.glossary-entry p{color:#657166;margin:4px 0 0;font-size:12px;line-height:1.5}.recent-hands{margin-top:14px}.practice-stats{background:#e7ebe1;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 9px;margin:0 8px 8px;padding:9px;display:grid}.practice-stats h2{color:#39563f;grid-column:1/-1;margin:0;font-size:12px}.practice-stats p{color:#657166;margin:2px 0;font-size:12px}.archive-list{gap:5px;display:grid}.archive-entry{background:#f8f8f1;border:1px solid #d7ddd2;border-radius:6px}.archive-entry summary{color:#4d614e;cursor:pointer;padding:8px 10px;font-size:12px;line-height:1.45}.archive-board,.archive-actions{color:#6c786d;margin:0;padding:0 10px 8px 25px;font-size:12px;line-height:1.5}.archive-board{padding-left:10px}.archive-empty{color:#778276;font-size:12px}.clear-archive{color:#85584c;cursor:pointer;background:0 0;border:0;margin-top:7px;padding:5px 0;font-size:12px}.footer-note{color:#899187;text-align:center;padding-top:12px;font-size:12px}.lobby-shell{max-width:720px}.lobby-intro{padding-top:30px}.lobby-panel{background:#f9f8f2;border:1px solid #d6dbd0;border-radius:12px;gap:13px;padding:clamp(16px,4vw,28px);display:grid;box-shadow:0 8px 24px #26362510}.lobby-name-field{color:#687568;gap:5px;font-size:12px;font-weight:700;display:grid}.lobby-name-field .player-name-input{width:min(100%,240px);min-height:37px;font-size:12px}.lobby-create{width:100%;min-height:45px}.lobby-retry{width:100%}.lobby-divider{color:#879084;align-items:center;gap:10px;font-size:12px;display:flex}.lobby-divider:before,.lobby-divider:after{content:"";background:#dce0d6;flex:1;height:1px}.lobby-join-row,.lobby-invite-row{gap:7px;display:flex}.room-link-input{color:#354b3a;background:#fffefa;border:1px solid #ccd5ca;border-radius:7px;width:100%;min-width:0;min-height:40px;padding:8px 10px;font-size:12px}.room-link-input:focus{border-color:#68936c;outline:3px solid #28734525}.lobby-join-row .action-button,.lobby-invite-row .action-button{flex:none}.lobby-section-title{color:#35523b;margin:0;font-size:14px}.lobby-status,.lobby-waiting{color:#68766a;margin:0;font-size:12px;line-height:1.55}.lobby-roster{gap:6px;margin:0;padding:0;list-style:none;display:grid}.lobby-player{background:#fffefa;border:1px solid #dce1d7;border-radius:7px;align-items:center;gap:8px;min-height:42px;padding:7px 9px;display:flex}.lobby-presence{background:#4eaa6b;border-radius:50%;flex:0 0 7px;width:7px;height:7px;box-shadow:0 0 0 3px #4eaa6b1c}.lobby-presence.is-disconnected{background:#9a8175;box-shadow:0 0 0 3px #9a81751c}.lobby-player strong{color:#3c5140;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.lobby-connection{color:#7b867b;margin-left:auto;font-size:12px}.lobby-empty{color:#778276;padding:9px 0;font-size:12px;list-style:none}.lobby-error{color:#a4473f;margin:0;font-size:12px;line-height:1.5}.lobby-back{color:#68766a;background:0 0;border:0;justify-self:center;padding:6px 9px;font-size:12px}.lobby-back:hover{color:#285b3b;text-decoration:underline}@media (min-width:761px){.play-shell{padding-top:7px}.play-layout{height:calc(100svh - 130px);min-height:0}.online-play-shell .play-layout{height:calc(100svh - 102px)}.felt{padding-block:clamp(10px,1.7vh,22px)}.opponent-seats{grid-template-columns:repeat(auto-fit,minmax(min(175px,100%),1fr))}.action-panel{grid-template-columns:minmax(140px,.55fr) minmax(0,2fr)}}@media (max-width:760px){.page-shell{width:min(100% - 24px,680px);padding-top:14px}.play-shell{width:min(100% - 16px,680px);padding:5px 0 10px}.play-shell>.topbar{min-height:32px;padding-bottom:4px}.play-shell .player-name-control{gap:4px;font-size:12px}.play-shell .player-name-input{width:74px;min-height:26px;padding:3px 5px;font-size:12px}.play-shell>.play-mode-bar{min-height:29px;margin-bottom:4px;padding:2px 7px}.play-shell>.play-mode-bar .online-entry-button{min-height:25px;padding:3px 7px;font-size:12px}.play-shell>.practice-settings{gap:5px;min-height:25px;margin-bottom:4px}.play-shell .opponent-count-control{gap:5px;font-size:12px}.play-shell .opponent-count-select{min-height:25px;padding:2px 6px;font-size:12px}.play-shell .settings-hint{font-size:12px}.play-layout{gap:5px;height:calc(100svh - 100px);min-height:0}.online-play-shell .play-layout{height:calc(100svh - 72px)}.panel-header{min-height:35px;padding:5px 9px}.panel-label,.blind-level,.turn-indicator{font-size:12px}.felt{grid-template-rows:minmax(0,1fr) auto auto;gap:3px;padding:6px 7px}.felt:before{border-width:5px;inset:15px 2%}.felt:after{inset:23px 4%}.opponent-seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%}.opponent-seats .avatar{display:none}.opponent-seats .player-seat{gap:4px;min-height:43px;padding:4px 5px}.opponent-seats .seat-details{gap:1px}.opponent-seats .seat-details strong,.opponent-seats .seat-stack,.opponent-seats .seat-bet{font-size:12px}.opponent-seats .stack-meter{width:45px}.opponent-seats .hole-cards{gap:2px}.opponent-seats .playing-card{border-radius:3px;width:20px;height:28px}.opponent-seats .card-rank,.opponent-seats .card-suit{font-size:12px}.felt>.player-seat:last-child{gap:5px;min-height:43px;padding:4px 6px}.felt>.player-seat:last-child .avatar{flex-basis:23px;width:23px;height:23px}.felt>.player-seat:last-child .seat-details strong,.felt>.player-seat:last-child .seat-stack{font-size:12px}.felt>.player-seat:last-child .playing-card{width:25px;height:35px}.table-center{gap:1px}.pot-label{font-size:12px}.pot-value{font-size:17px}.pot-value:before{width:16px;height:16px;left:-24px}.community-cards{gap:3px;min-height:40px;margin-top:1px}.community-cards .playing-card{width:clamp(29px,8vw,39px);height:clamp(41px,11vw,53px)}.community-cards .card-rank{font-size:12px}.community-cards .card-suit{font-size:13px}.notice-bar{min-height:25px;padding:3px 7px;font-size:12px}.action-panel{grid-template-columns:minmax(0,1fr);gap:4px;max-height:40%;padding:7px}.action-heading{flex-direction:row;justify-content:space-between;align-items:center;min-height:20px}.action-heading h2,.stack-summary{font-size:12px}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.action-button{min-height:33px;padding:5px 6px;font-size:12px}.wager-control{gap:3px 7px}.wager-presets{gap:3px}.wager-preset{min-height:26px;font-size:12px}.action-panel .action-hint,.action-panel .action-guidance,.action-panel .pot-odds,.action-panel .coach-box,.action-panel .revealed-hands,.action-panel .pot-result{display:none}.action-panel .result-copy{margin:2px 0;font-size:12px}.action-waiting{grid-column:1;font-size:12px}.secondary-info{grid-template-columns:1fr}.lobby-shell{padding-top:12px}.lobby-intro{padding:22px 0 14px}}@media (min-width:381px) and (max-width:760px){.opponent-seats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:380px){.play-shell .player-name-control{display:none}}@media (max-height:700px) and (min-width:761px){.play-layout{height:calc(100svh - 130px)}.online-play-shell .play-layout{height:calc(100svh - 102px)}.felt{padding-block:7px}.player-seat{min-height:52px}.action-panel{max-height:190px;padding-block:7px}.action-guidance{display:none}}@media (max-height:700px) and (max-width:760px){.play-layout{height:calc(100svh - 100px)}.online-play-shell .play-layout{height:calc(100svh - 72px)}.action-panel{max-height:42%}.player-seat,.felt>.player-seat:last-child{min-height:39px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-topbar{justify-content:space-between}.site-topbar .brand{flex:none}.page-nav{align-items:center;gap:4px;display:flex}.page-nav-link{color:#536456;white-space:nowrap;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:700;text-decoration:none}.page-nav-link:hover,.page-nav-link.active-page-link{color:#285b39;background:#e6eadd}.content-shell{max-width:1050px}.landing-shell{max-width:1160px}.landing-hero{grid-template-columns:1fr .9fr;align-items:center;gap:clamp(24px,5vw,74px);min-height:350px;padding:32px 0 42px;display:grid}.landing-copy{max-width:510px}.landing-copy .eyebrow{color:#7c704f}.landing-copy h1{color:#1f3929;letter-spacing:-.065em;white-space:pre-line;margin:13px 0 12px;font-size:clamp(38px,6vw,64px);line-height:1.08}.landing-lead{color:#637166;max-width:430px;margin:0;font-size:14px;line-height:1.8}.landing-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.landing-cta{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;min-height:45px;padding:9px 15px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.landing-cta-primary{color:#fffdf3;background:#216843}.landing-cta-secondary{color:#315b3c;background:#f8f8f0;border-color:#b9c7b5}.landing-note{color:#8a9285;margin:13px 0 0;font-size:12px}.landing-stage{background:radial-gradient(at 48% 43%,#247a4f,#105238 70%);border:9px solid #60482b;border-radius:50%;place-items:center;min-height:255px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 2px #d0b76c,0 10px #403323,0 22px 30px #32402a25}.landing-stage:before{content:"";border:1px solid #e4d18d55;border-radius:50%;position:absolute;inset:15px}.landing-stage-label{color:#e2cf91;letter-spacing:.2em;font-size:12px;font-weight:800;position:absolute;top:18%}.landing-cards{z-index:1;justify-content:center;align-items:center;margin-top:10px;display:flex}.landing-cards .playing-card{border-radius:7px;width:58px;height:80px;margin-left:-10px;box-shadow:0 8px 16px #00170d55}.landing-cards .playing-card:first-child{transform:rotate(-12deg)translateY(4px)}.landing-cards .playing-card:nth-child(2){z-index:1;transform:rotate(1deg)translateY(-6px)}.landing-cards .playing-card:last-child{transform:rotate(12deg)translateY(4px)}.landing-cards .card-rank{font-size:20px}.landing-cards .card-suit{font-size:21px}.landing-chip-stack{flex-direction:column-reverse;display:flex;position:absolute;bottom:22%;right:24%}.landing-chip-stack i{background:#b74335;border:2px dashed #f4e4b2;border-radius:50%;width:25px;height:7px;margin-top:-2px;box-shadow:0 2px #752e28}.landing-chip-stack i:nth-child(2){background:#e4c35e}.landing-chip-stack i:nth-child(3){background:#e9e2ce}.landing-stage-pot{color:#f2e5b8;letter-spacing:.1em;font-size:12px;font-weight:800;position:absolute;bottom:16%;left:23%}.landing-paths{border-top:1px solid #d3d8ce;padding:20px 0 26px}.landing-paths h2,.landing-learning h2{color:#334a37;margin:0 0 12px;font-size:16px}.landing-path-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.path-card{background:#f8f8f2;border:1px solid #d4dbd0;border-radius:9px;gap:6px;min-height:140px;padding:16px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid}.path-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #293b2814}.path-number{color:#9b8650;letter-spacing:.1em;font-size:12px;font-weight:800}.path-card strong{color:#2c4c35;font-size:15px}.path-copy{color:#6b786b;font-size:12px;line-height:1.5}.path-link{color:#3c7046;align-self:end;font-size:12px;font-weight:800}.landing-learning{border-top:1px solid #d3d8ce;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.landing-learning .eyebrow{margin-bottom:5px;display:block}.landing-learning h2{margin-bottom:0;font-size:13px}.learning-links{flex-wrap:wrap;gap:8px 16px;display:flex}.learning-links a,.game-reference-links a{color:#3b6944;font-size:12px;font-weight:750;text-decoration:none}.learning-links a:hover,.game-reference-links a:hover{text-decoration:underline}.content-intro{padding:28px 0 18px}.content-intro .eyebrow{color:#8b7a4c}.content-intro h1{color:#263e2d;letter-spacing:-.045em;margin:7px 0;font-size:clamp(28px,4vw,38px)}.content-intro p{color:#68766a;max-width:700px;margin:0;font-size:12px;line-height:1.7}.term-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.term-card{background:#f8f8f2;border:1px solid #d8ddd3;border-radius:8px;min-height:118px;padding:14px 15px 12px 43px;position:relative}.term-index{color:#a18a50;letter-spacing:.08em;font-size:12px;font-weight:850;position:absolute;top:15px;left:14px}.term-card h2{color:#31553a;margin:0 0 5px;font-size:13px}.term-card p{color:#687569;margin:0;font-size:12px;line-height:1.55}.term-card .term-example{color:#8a7550;margin-top:5px}.hand-rank-list{gap:7px;display:grid}.hand-rank-card{background:#f8f8f2;border:1px solid #d8ddd3;border-radius:8px;grid-template-columns:minmax(130px,.65fr) minmax(0,1.3fr) auto;align-items:center;gap:12px;min-height:82px;padding:8px 12px;display:grid}.hand-rank-heading{align-items:center;gap:10px;display:flex}.hand-rank-number{color:#8b7544;background:#e9e4d2;border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:12px;font-weight:850;display:grid}.hand-rank-heading h2{color:#31533a;margin:0;font-size:12px}.hand-rank-description{color:#687569;margin:0;font-size:12px;line-height:1.5}.rank-example-cards{justify-content:flex-end;gap:3px}.rank-example-cards .playing-card{border-radius:4px;width:29px;height:40px}.rank-example-cards .card-rank,.rank-example-cards .card-suit{font-size:12px}.hand-rules-note{background:#f2f0e6;border-left:3px solid #b99b51;margin-top:12px;padding:12px 14px}.hand-rules-note p{color:#69766b;margin:4px 0 0;font-size:12px;line-height:1.6}.content-bottom-nav{border-top:1px solid #d3d8ce;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:13px;display:flex}.content-bottom-nav .page-nav-link{background:#f8f8f2;border:1px solid #d3dacf}.game-reference-links{justify-content:center;gap:16px;margin-top:12px;display:flex}@media (max-width:760px){.site-topbar{flex-direction:column;align-items:flex-start;gap:5px}.site-topbar .page-nav{justify-content:space-between;width:100%;overflow-x:auto}.page-nav-link{padding:6px;font-size:12px}.landing-hero{grid-template-columns:1fr;gap:22px;min-height:auto;padding:25px 0 28px}.landing-copy h1{font-size:clamp(36px,10vw,54px)}.landing-lead{font-size:12px}.landing-stage{min-height:205px}.landing-path-grid{gap:7px}.path-card{min-height:132px;padding:12px}.landing-learning{flex-direction:column;align-items:flex-start;gap:9px}.term-list{grid-template-columns:1fr}.term-card{min-height:0}.hand-rank-card{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.hand-rank-heading{grid-column:1}.hand-rank-description{grid-area:2/1/auto/-1}.rank-example-cards{grid-area:1/2}.rank-example-cards .playing-card{width:25px;height:35px}}@media (max-width:390px){.landing-path-grid{grid-template-columns:1fr}.path-card{min-height:110px}.rank-example-cards{gap:2px}.rank-example-cards .playing-card{width:22px;height:32px}.hand-rank-heading h2{font-size:12px}}html{background:var(--page);min-height:100%}body{background:radial-gradient(ellipse at 50% -20%, #1b2c3b 0, var(--page) 68%);min-height:100dvh;color:var(--text);font-size:var(--font-body)}body :not(i){font-size:max(var(--font-small), 1em)}button,input,select{border-radius:var(--radius-sm);min-height:44px;font-size:16px}input,select,.player-name-input,.opponent-count-select,.room-link-input,.lobby-name-field .player-name-input{font-size:16px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.page-shell{width:min(100% - 32px,1180px);padding-block:20px 40px}.topbar{border-color:var(--border)}.brand,.intro h1,.landing-copy h1,.content-intro h1{color:var(--text)}.player-name-control,.intro-copy,.settings-hint,.content-intro p{color:var(--muted)}.player-name-input,.opponent-count-select,.room-link-input{border-color:var(--border);background:var(--surface-raised);color:var(--text)}.practice-tag,.play-mode-bar,.beginner-guide,.landing-path-grid .path-card,.term-card,.hand-rank-card,.lobby-panel,.player-seat,.action-panel,.panel-card,.secondary-info>*,.lesson-placeholder,.archive-entry{border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.eyebrow,.panel-label,.lesson-kicker{color:var(--accent);font-size:12px}.play-mode-copy,.beginner-guide summary,.opponent-count-control,.seat-details strong,.seat-stack,.seat-bet,.blind-level,.turn-indicator,.term-card h2,.term-card p,.hand-rank-heading h2,.hand-rank-description,.lobby-section-title,.lobby-status,.lobby-waiting{color:var(--muted)}.online-entry-button,.lobby-create,.action-button,.wager-preset,.landing-cta,.page-nav-link,.content-bottom-nav .page-nav-link{border-radius:var(--radius-sm);min-height:44px;font-size:16px}.online-entry-button,.page-nav-link,.content-bottom-nav .page-nav-link{border-color:var(--border);background:var(--surface-raised);color:var(--text)}.online-entry-button:hover,.page-nav-link:hover,.page-nav-link.active-page-link{color:var(--text);background:#243447}.intro-copy,.landing-lead,.content-intro p,.term-card p,.hand-rank-description,.hand-rules-note p,.lobby-status,.lobby-waiting,.guide-body p{font-size:16px;line-height:1.65}.play-shell{min-height:100dvh;padding-block:12px 24px}.play-layout,.online-play-shell .play-layout{flex:none;gap:16px;height:auto;min-height:0}.game-panel{border-radius:var(--radius-lg);background:var(--felt-deep);min-height:clamp(480px,68dvh,760px);box-shadow:var(--shadow-soft);border:1px solid #49635f;overflow:visible}.panel-header{background:#102d2b;border-color:#ffffff20;padding:12px 16px}.panel-label,.blind-level,.turn-indicator{font-size:14px}.felt{background:radial-gradient(at 50% 45%,#1c5a50 0,#154b43 62%,#103a35 100%);min-height:410px;padding:24px clamp(16px,4vw,48px);overflow:visible}.felt:before{border:2px solid #52736b;outline:1px solid #789488;inset:20px 7%;box-shadow:inset 0 0 28px #071c1b66}.felt:after{display:none}.opponent-seats{gap:12px}.player-seat{border-radius:12px;max-width:250px;min-height:72px;padding:9px 12px}.active-seat{border-color:var(--accent);box-shadow:0 0 0 2px #d6b56d55}.avatar{flex-basis:34px;width:34px;height:34px;font-size:12px}.seat-details{gap:4px}.seat-details strong{font-size:14px}.seat-stack,.seat-bet{font-size:12px}.stack-meter{height:4px}.playing-card{border-radius:8px;width:46px;height:64px}.card-rank{font-size:18px}.card-suit{font-size:21px}.community-cards{min-height:70px}.community-cards .playing-card{width:clamp(44px,5vw,60px);height:clamp(62px,7vw,82px)}.community-cards .card-rank{font-size:20px}.community-cards .card-suit{font-size:23px}.pot-label,.pot-value small{font-size:12px}.pot-value{font-size:28px}.seat-turn-label,.folded-label,.dealer-button{font-size:12px}.notice-bar{min-height:40px;font-size:14px}.action-panel{border-radius:var(--radius-md);max-height:none;padding:16px;overflow:visible}.action-heading h2{color:var(--text);font-size:18px}.action-grid{gap:10px}.action-hint,.action-guidance,.pot-odds,.coach-box,.action-panel .revealed-hands,.action-panel .pot-result{display:block}.wager-control{gap:8px}.wager-range{min-height:32px;accent-color:var(--accent)}.wager-preset{padding:8px 12px}.secondary-info{gap:16px}.secondary-info>*{border-radius:var(--radius-md);padding:16px}.lesson-placeholder,.coach-box,.action-guidance,.pot-odds{color:var(--muted);font-size:14px}.lobby-panel{border-radius:var(--radius-lg)}.lobby-name-field,.room-link-input,.lobby-error,.lobby-player strong,.lobby-connection,.lobby-empty,.lobby-back{font-size:14px}.lobby-player{border-color:var(--border);background:var(--surface-raised)}.lobby-player strong{color:var(--text)}.lobby-error{color:var(--danger)}.lobby-presence{background:var(--success)}.site-topbar,.page-nav{flex-wrap:wrap}.landing-copy h1{font-size:var(--font-heading)}.landing-stage{box-shadow:var(--shadow-soft);background:radial-gradient(at 48% 43%,#1c5a50,#103a35 75%);border:1px solid #52736b;border-radius:48%}.landing-stage-label,.landing-stage-pot{font-size:12px}.landing-paths,.landing-learning,.content-bottom-nav{border-color:var(--border)}.landing-path-grid .path-card{border-radius:var(--radius-md);min-height:150px;text-decoration:none}.landing-path-grid>.path-card{white-space:normal;overflow-wrap:anywhere;min-width:0}.landing-path-grid>.path-card>*{white-space:normal}.path-number,.path-copy,.path-link,.landing-note,.learning-links a,.game-reference-links a{font-size:14px}.term-list{gap:12px}.term-card{border-radius:var(--radius-md);padding:16px 16px 16px 48px}.term-index{font-size:12px}.term-card h2{font-size:18px}.hand-rank-card{border-radius:var(--radius-md);min-height:100px;padding:12px 16px}.hand-rank-number{flex-basis:32px;width:32px;height:32px;font-size:12px}.hand-rank-heading h2{color:var(--text);font-size:16px}.rank-example-cards .playing-card{width:36px;height:50px}.rank-example-cards .card-rank{font-size:14px}.rank-example-cards .card-suit{font-size:16px}.hand-rules-note{border-left-color:var(--accent);background:var(--surface-raised)}.hand-rules-note strong{color:var(--text);font-size:16px}.footer-note{color:var(--subtle);font-size:12px}@media (max-width:760px){.page-shell{width:min(100% - 24px,680px)}.play-shell{width:min(100% - 16px,680px);padding-bottom:calc(16px + env(safe-area-inset-bottom))}.play-shell .player-name-control{font-size:12px;display:flex}.play-shell .player-name-input{width:100px;min-height:44px;padding:8px;font-size:16px}.play-shell>.play-mode-bar,.play-shell>.practice-settings{min-height:44px}.game-panel{min-height:480px}.felt{min-height:380px;padding:18px 10px}.felt:before{inset-inline:3%}.opponent-seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-seat{min-height:66px;padding:7px}.hole-cards{gap:2px}.hole-cards .playing-card{width:34px;height:48px}.community-cards{gap:4px}.community-cards .playing-card{width:clamp(36px,10vw,46px);height:clamp(52px,14vw,62px)}.table-center{z-index:1;position:relative}.action-panel{z-index:5;margin-bottom:env(safe-area-inset-bottom);position:sticky;bottom:0}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wager-control{grid-column:1/-1}.secondary-info{grid-template-columns:1fr}.landing-hero{grid-template-columns:1fr;gap:20px}.landing-stage{min-height:220px}.site-topbar{flex-flow:wrap;align-items:center}.site-topbar .page-nav{justify-content:flex-start;width:100%;overflow:visible}.page-nav-link{padding:8px}.hand-rank-card{grid-template-columns:minmax(0,1fr) auto}.hand-rank-description{grid-area:2/1/auto/-1}.rank-example-cards{grid-area:1/2}}@media (max-width:390px){.landing-path-grid{grid-template-columns:1fr}.opponent-seats{grid-template-columns:repeat(2,minmax(0,1fr))}.player-seat{gap:5px}.seat-details strong{font-size:12px}.hole-cards .playing-card{width:30px;height:42px}}@media (min-width:1000px){.play-layout{gap:18px}.action-panel{position:relative}.felt{min-height:480px}}.landing-paths h2,.landing-learning h2,.path-card strong,.path-copy,.path-link,.learning-links a,.content-intro p,.term-card h2,.term-card p,.hand-rank-heading h2,.hand-rank-description,.hand-rules-note strong,.hand-rules-note p,.action-hint,.action-guidance,.pot-odds,.coach-box,.archive-entry summary,.practice-stats h2,.practice-stats p,.lesson-placeholder,.lobby-player strong,.lobby-connection,.lobby-back,.landing-note{color:var(--muted)}.path-card strong,.term-card h2,.hand-rank-heading h2,.hand-rules-note strong,.action-heading h2,.lobby-section-title,.landing-paths h2,.landing-learning h2{color:var(--text)}.lobby-error,.error-message{color:var(--danger)}.success-message,.connected-label{color:var(--success)}.play-shell>.topbar{flex-wrap:wrap}.play-shell .player-name-control{white-space:nowrap;flex:none}.play-shell .player-name-input{flex:none}@media (max-width:760px){.game-panel{min-height:540px}.felt{grid-template-rows:auto auto auto;min-height:440px;padding-bottom:120px}.felt>.player-seat:last-child{margin-top:12px}.action-panel{margin-top:12px;position:static;bottom:auto}.play-shell>.topbar{gap:8px}.play-shell .brand{font-size:12px}.play-shell .player-name-input{width:76px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
