@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;700;800&display=swap');
:root{color-scheme:dark;--bg:#101310;--panel:#181c18;--line:#2c332c;--muted:#99a298;--text:#eff2e9;--accent:#d4ef88;--orange:#efb379}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px 'DM Sans',sans-serif}button,select,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:inherit;background:transparent;border-radius:9px;transition:background .15s}button:hover:not(:disabled){background:#2b3429}button:disabled{cursor:default;opacity:.4}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit}.header{height:76px;max-width:1040px;margin:auto;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;text-decoration:none;gap:8px;font:800 27px Manrope,sans-serif;letter-spacing:-1.5px}.brand>span{color:var(--accent);font-size:30px}.mode-switch{display:flex;gap:2px;padding:4px;border-radius:10px;background:#191e18}.mode-switch button{border:0;padding:8px 20px;color:var(--muted);font-size:14px;white-space:nowrap}.mode-switch button.selected{background:#30382c;color:var(--accent)}.icon-button{height:32px;width:32px;flex-shrink:0;border-radius:50%;color:var(--muted);display:grid;place-items:center}main{max-width:1000px;margin:auto;padding:14px 24px 32px}.play-area{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#141814}.toolbar{display:flex;gap:28px;padding:15px 24px;align-items:center;border-bottom:1px solid var(--line)}.toolbar label{min-width:0}select{border:0;background:transparent;color:var(--text);padding:5px 18px 5px 0;max-width:190px;font-size:14px;cursor:pointer}option{background:#20271f}.toolbar>.icon-button{margin-left:auto;font-size:21px;border:0}.text-button{font-size:14px;color:var(--muted);border:0;padding:7px 4px;white-space:nowrap}.table-stage{height:420px;position:relative;background:radial-gradient(ellipse at 50% 48%,#202b2088,transparent 72%)}.table-meta{display:flex;align-items:center;justify-content:space-between;color:#a0aa99;font-size:12px;position:absolute;top:13px;left:24px;right:24px}.table-meta .text-button{font-size:12px;padding:0}.poker-table{position:absolute;left:13%;right:13%;top:74px;bottom:77px;border:1px solid #43584280;border-radius:180px;background:radial-gradient(ellipse at 50% 0%,#284438,#1b3026 74%);box-shadow:0 0 0 9px #20291f,0 0 0 10px #394236,0 18px 36px #0004}.poker-table:before{content:'';position:absolute;inset:12px;border:1px solid #5b715530;border-radius:inherit}.board-area{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;white-space:nowrap}.pot-label{font-size:12px;color:#a9beaa}.pot-label b{font-size:16px;font-weight:500;color:#e4efda;margin-left:6px}.board{display:flex;justify-content:center;gap:7px;margin-top:15px}.board:empty{display:none}.card{width:49px;height:69px;background:#f0f0e8;color:#282d2a;border-radius:5px;display:flex;flex-direction:column;align-items:flex-start;padding:5px 7px;font:700 24px 'DM Sans';line-height:1;box-shadow:0 2px 2px #0003}.card span{font-size:22px;align-self:flex-end;margin-top:auto}.card.red{color:#c45154}.card.blue{color:#367ba8}.card.green{color:#32845f}.seat{position:absolute;text-align:center;width:100px;transform:translateX(-50%);z-index:2}.seat.hero{left:50%;bottom:17px}.seat.villain{left:50%;top:43px}.seat-position{display:inline-flex;align-items:center;gap:6px;color:#b9c5b6;font-size:12px;background:#151b16;padding:4px 8px;border-radius:5px;margin-bottom:6px}.seat-position i{font-style:normal;background:#e5e6d9;color:#30382d;width:15px;height:15px;line-height:15px;border-radius:50%;font-size:10px}.hole-cards{display:flex;justify-content:center;gap:5px;margin-bottom:7px}.hole-cards .card{width:45px;height:60px;font-size:22px}.seat-info{border:1px solid #485442;background:#232d22;border-radius:7px;padding:8px;color:#b9c4af;font-size:14px}.hero .seat-info{border-color:#afcb70;background:#cce689;color:#27331e;padding:7px}.seat small{color:var(--accent);display:block;font-size:12px;margin-top:4px}.seat.third{left:13%;top:44%;width:86px}.folded-seat{position:absolute;transform:translate(-50%,-50%);color:#728168;font-size:12px}.folded-seat>span{border:1px solid #36432e;border-radius:15px;padding:5px 11px}.folded-seat.waiting{color:#b0bba7}.hand-history{padding:5px 18px 17px;text-align:center;color:#98a58e;font-size:14px;line-height:1.5}.action-area{padding:20px 24px;border-top:1px solid var(--line)}.action-buttons{display:flex;gap:9px}.action-buttons>button{flex:1;padding:13px 7px;font-weight:500;font-size:14px;background:#242b22;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.action-buttons small{font-size:12px;color:#a5b78d;font-weight:400}.action-buttons .aggressive{border-color:#49583a;background:#303e25}.action-buttons .aggressive:hover{background:#425132}.primary{background:var(--accent);color:#22301a;border-color:var(--accent)}.primary:hover:not(:disabled){background:#e0faa6}.custom-sizing{margin-top:13px;color:var(--muted);font-size:14px}.custom-sizing summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:2px}.custom-sizing summary::-webkit-details-marker{display:none}.custom-sizing[open] summary{margin-bottom:14px}.custom-controls{display:flex;gap:12px;align-items:center}.custom-controls input[type=range]{flex:1;min-width:40px;accent-color:var(--accent)}.size-number{display:flex;gap:5px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:7px;color:var(--muted);font-size:12px}.size-number input{width:54px;background:none;color:var(--text);border:0;font-size:14px}.custom-controls button{padding:10px 12px;white-space:nowrap;font-size:14px;background:#283420;color:var(--accent)}#size-error{font-size:14px;color:var(--orange);margin:5px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.result-area{display:flex;gap:24px;align-items:center;justify-content:space-between}.feedback{min-width:0}.feedback-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.feedback-line strong{font-size:16px;font-weight:500}.target-action{font-size:14px;color:#b5c3a7}.feedback p{font-size:14px;line-height:1.6;margin:9px 0 0;color:#a8b69d}.feedback-line .text-button{padding:0;font-size:12px}.result-icon{background:#344427;color:var(--accent);height:22px;width:22px;border-radius:50%;display:grid;place-items:center;font-size:14px}.result-icon.warning{background:#483b26;color:var(--orange)}#next-button{padding:14px 23px;white-space:nowrap;font-weight:500;font-size:14px}#next-button span{margin-left:14px}.session-bottom{display:flex;justify-content:space-between;gap:15px;padding:7px 3px 0}.session-bottom .text-button{font-size:12px}.empty-state{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.empty-state h2{font-weight:500;font-size:18px}.empty-state button{padding:12px 20px;margin-top:10px}dialog{background:#1b221b;color:var(--text);border:1px solid #495143;border-radius:15px;width:min(520px,calc(100% - 32px));padding:28px;max-height:85vh}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog p{font-size:14px;line-height:1.7;color:#b4beb0}dialog h2{font:500 22px Manrope;margin:0 0 24px}dialog h3{font-size:14px;font-weight:500}.dialog-close{float:right;margin:-7px -7px 8px 10px;font-size:20px}.spot-line{display:flex;justify-content:space-between;font-size:14px;margin:0 0 14px;color:var(--muted);gap:10px}.spot-line b{font-weight:500;color:#d4dccf;text-align:right}.range-combos{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:20px}.range-combos>span{background:#2b3526;padding:8px;border-radius:4px;text-align:center;font:13px monospace}.ev-table{font-size:14px;margin:0 0 14px}.ev-head,.ev-row{display:grid;grid-template-columns:1fr 50px 65px;gap:8px;padding:11px 8px}.ev-head{color:#87967e;font-size:12px}.ev-row{border-top:1px solid var(--line)}.ev-row.chosen{background:#293421}.ev-row>b{font-weight:500}.ev-head>*:not(:first-child),.ev-row>*:not(:first-child){text-align:right}
@media(max-width:700px){.header{padding:0 22px;height:70px}main{padding:8px 16px 25px}.toolbar{gap:18px;padding:12px 17px}.poker-table{left:10%;right:10%}.table-stage{height:390px}.poker-table{top:76px;bottom:83px}.action-area{padding:17px}.hand-history{font-size:13px}.result-area{gap:16px}.feedback-line{gap:7px}.folded-seat>span{padding:4px 8px}}@media(max-width:480px){.header{padding:0 15px;gap:8px}.brand{font-size:24px;gap:5px}.brand>span{font-size:27px}.mode-switch{padding:3px}.mode-switch button{padding:8px 12px;font-size:13px}.header .icon-button{width:26px;height:26px}main{padding:4px 10px 20px}.toolbar{display:grid;grid-template-columns:1fr 1.1fr 1.2fr 26px;gap:8px;padding:11px 13px}.toolbar select{max-width:none;width:100%;font-size:12px;padding-right:0}.toolbar>.icon-button{height:26px;width:26px}.toolbar:has(#game){grid-template-columns:1.4fr 1fr 26px}.table-stage{height:345px}.table-meta{left:16px;right:16px;top:12px}.poker-table{left:8%;right:8%;top:73px;bottom:81px}.seat{width:90px}.seat.villain{top:36px}.seat.hero{bottom:12px}.seat-position{font-size:11px;margin-bottom:4px}.seat-info{font-size:12px;padding:7px}.hole-cards .card{width:39px;height:54px;font-size:21px}.board{gap:5px;margin-top:12px}.board .card{width:35px;height:50px;font-size:19px;padding:5px}.board .card span{font-size:18px}.hole-cards .card span{font-size:20px}.pot-label b{font-size:14px}.folded-seat{font-size:10px}.folded-seat>span{padding:4px 6px}.seat.third{left:11%;width:60px;top:45%}.seat.third .seat-info{font-size:11px;padding:5px 2px}.hand-history{padding:5px 12px 13px;font-size:12px}.action-area{padding:15px 12px}.action-buttons{gap:6px}.action-buttons>button{padding:12px 5px;font-size:12px}.action-buttons small{font-size:11px}.result-area{align-items:flex-start;gap:10px}.feedback-line strong{font-size:14px}.target-action{font-size:12px}.feedback p{font-size:13px}.result-icon{height:19px;width:19px;font-size:12px}#next-button{padding:12px;font-size:13px}#next-button span{margin-left:7px}.custom-sizing{font-size:12px}.custom-controls{gap:7px}.custom-controls button{padding:10px 7px;font-size:12px}.custom-controls input[type=range]{width:40px}.range-combos{grid-template-columns:repeat(3,1fr)}}@media(max-width:350px){.mode-switch button{padding:8px 9px;font-size:12px}.header{padding:0 12px;gap:6px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.move-entry{display:flex;align-items:center;gap:12px;padding:7px;background:#1e261c;border:1px solid #46533c;border-radius:10px}.move-entry:focus-within{border-color:var(--accent)}.move-entry input{min-width:0;flex:1;padding:9px 6px;background:transparent;border:0;color:var(--text);font-size:16px;outline:none}.move-entry input::placeholder{color:#91a086}.move-unit{font-size:12px;color:#7f9073}.move-entry button{height:40px;width:46px;font-size:21px;flex-shrink:0}.move-entry input[aria-invalid=true]{color:var(--orange)}#move-error{margin:9px 2px 0;font-size:13px;line-height:1.5;color:var(--orange)}#move-error:empty{display:none}
.full-play .toolbar{justify-content:space-between}.full-table{height:460px}.full-table .poker-table{top:90px;bottom:90px;left:14%;right:14%}.hand-seat{position:absolute;z-index:2;transform:translateX(-50%);width:90px;text-align:center}.hand-seat .seat-position{margin-bottom:3px}.hand-stack{font-size:14px;padding:6px 9px;border:1px solid #3a4836;border-radius:7px;background:#1b231b;white-space:nowrap}.hand-stack span{color:#9da996;font-size:11px}.hand-seat small{display:block;min-height:16px;margin-top:5px;color:#bdc9b2;font-size:11px;white-space:nowrap}.hand-seat.is-acting .hand-stack{border-color:var(--accent);box-shadow:0 0 0 3px #d4ef8810}.hand-hero .hand-stack{background:var(--accent);color:#24301d;border-color:var(--accent)}.hand-hero .hand-stack span{color:#4b5d38}.hand-seat.is-folded{opacity:.3}.hand-seat.is-winner small{color:var(--accent)}.hand-seat:not(.hand-hero) .hole-cards{gap:3px;margin-bottom:4px}.hand-seat:not(.hand-hero) .card{width:29px;height:40px;font-size:17px;padding:3px 4px}.hand-seat:not(.hand-hero) .card span{font-size:15px}.full-table.showdown{height:500px}.full-table.showdown .hand-seat:not(.hand-hero){margin-top:-16px}.street-dots{display:flex;gap:5px}.street-dots i{height:5px;width:5px;border-radius:50%;background:#384134}.street-dots .lit{background:var(--accent)}.hand-trail{text-align:center;color:#88997f;min-height:25px;font-size:12px;padding:0 16px;line-height:1.6}.turn-status{text-align:center;padding:7px 15px 15px;font-size:13px;color:#c6d6b9}.full-play .action-area{padding-top:15px}.full-result{align-items:center}.full-result .feedback-line strong{font-size:21px}.full-result .feedback-line .text-button{font-size:13px;margin-left:8px}.full-result #full-next{padding:13px 20px;white-space:nowrap}.profit{color:var(--accent)}.loss{color:var(--orange)}.full-result .feedback p{max-width:570px;margin-top:7px;line-height:1.5}.session-count{font-size:12px;color:var(--muted);padding-top:5px}#full-error{font-size:13px;color:var(--orange);margin:9px 2px 0}#full-error:empty{display:none}.review-net{font-size:17px;float:right;color:var(--accent);margin-right:18px}.review-net.loss{color:var(--orange)}.review-board{display:flex;align-items:center;gap:4px}.review-board .card{width:32px;height:44px;font-size:18px;padding:4px}.review-board .card span{font-size:16px}.review-board>span{padding:0 6px;color:var(--muted)}.decision-review{border-top:1px solid var(--line);padding:15px 0}.decision-review>div{display:flex;align-items:center;gap:12px;font-size:13px}.decision-review>div>span:first-child{width:52px;color:var(--muted)}.decision-review>div>span:last-child{margin-left:auto;color:var(--accent)}.decision-review b{font-weight:500}.decision-review small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.decision-review p{margin:8px 0 0;font-size:13px!important}.review-disclaimer{font-size:12px!important;color:var(--muted)}.full-history{margin-top:20px;font-size:13px}.full-history summary{cursor:pointer;color:var(--muted)}.history-row{display:flex;justify-content:space-between;padding:5px 0;gap:15px;color:#b8c4ad}
@media(max-width:700px){.full-table{height:440px}.hand-seat{width:76px}.full-table .poker-table{left:12%;right:12%}.full-play .toolbar{display:flex;gap:15px}.full-play .toolbar label{flex:1}.full-play .toolbar select{width:100%}.full-table.showdown{height:480px}.full-result #full-next{padding:12px}.full-result .feedback p{font-size:12px}.header .mode-switch button{padding:8px 12px}}
@media(max-width:480px){.header .mode-switch button{padding:8px 9px;font-size:12px}.header .brand{font-size:22px}.full-table{height:420px}.full-table .poker-table{top:100px;bottom:99px;left:10%;right:10%}.hand-seat{width:61px}.hand-stack{font-size:12px;padding:5px 3px}.hand-stack span{font-size:9px}.hand-seat small{font-size:9px;margin-top:3px}.hand-seat .seat-position{font-size:10px;padding:3px 6px}.hand-hero{width:90px}.hand-hero .hole-cards .card{width:38px;height:53px}.hand-trail{font-size:10px;min-height:22px}.full-play .action-area{padding:12px}.full-result{gap:12px}.full-result .feedback-line{gap:5px}.full-result .feedback-line strong{font-size:18px}.full-result .feedback-line .text-button{font-size:12px}.full-result #full-next{font-size:12px;padding:12px 10px}.full-result .feedback p{font-size:12px}.full-table.showdown{height:465px}.nine-handed.showdown .hand-seat:not(.hand-hero) .card{width:24px;height:34px;font-size:14px}.nine-handed.showdown .hand-seat:not(.hand-hero) .card span{font-size:12px}.review-board{gap:3px}.review-board .card{width:29px;height:41px;font-size:16px}.review-board>span{padding:0 3px}}
