:root{color-scheme:light;--ink:#202d28;--muted:#727d76;--paper:#f6f5ef;--green:#174d3e;--gold:#d9bc7c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d6a451;outline-offset:4px}header{height:96px;padding:0 5%;border-bottom:1px solid #dddfd5;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Georgia,serif;font-size:39px;font-weight:bold;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark{color:#205d46;font-size:37px}.brand-sub{font:9px 'DM Sans',sans-serif;letter-spacing:2px;width:65px;line-height:1.7;margin-left:4px}.header-right{font-size:10px;letter-spacing:1.5px;display:flex;align-items:center;gap:10px}.live-dot{width:6px;height:6px;border-radius:50%;background:#54886c}.quiet{border:0;background:none;color:var(--muted);font-size:12px;padding:10px}.header-right .quiet{margin-left:35px;letter-spacing:0;color:var(--ink)}main{max-width:1440px;margin:auto;padding:40px 5% 20px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--muted)}h1{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:43px;letter-spacing:-2px;margin:10px 0}p{font-size:14px;line-height:1.7;color:var(--muted);margin:8px 0}.session{display:grid;grid-template-columns:auto auto;column-gap:24px;align-items:center}.session>span{font-size:9px;letter-spacing:1.5px}.session strong{font:38px Manrope,sans-serif;grid-row:span 2}.session small{font-size:11px;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px}.table{position:relative;min-height:520px;border:9px solid #29483a;border-radius:22px 22px 140px 140px;background:radial-gradient(ellipse at 50% 35%,#256650 0%,#164a3b 65%,#103e32 100%);box-shadow:inset 0 0 0 2px #75987b44,inset 0 0 70px #001c1433,0 10px 25px #203b2512;overflow:hidden;color:#e8eedc;display:flex;flex-direction:column}.table:before{content:'';position:absolute;inset:22px;border:1px solid #b5c59325;border-radius:9px 9px 115px 115px;pointer-events:none}.table-top{display:flex;justify-content:space-between;padding:24px 30px;font-size:9px;letter-spacing:1.8px;color:#b7cbbc}.table-top b{padding:0 6px;color:var(--gold)}.s17{border:1px solid #b7cbbc55;border-radius:4px;padding:4px 7px;margin-top:-5px;font-size:10px}.dealer-zone{text-align:center;min-height:150px}.seat-label{font-size:9px;letter-spacing:2px;color:#c5d7c5;margin-bottom:14px;display:flex;justify-content:center;gap:12px;align-items:center}.seat-label span:not(:empty){background:#0b302a88;border:1px solid #94bba844;border-radius:20px;letter-spacing:0;padding:3px 8px;font-size:11px}.cards{display:flex;justify-content:center;gap:7px;min-height:100px}.card{flex-shrink:0;width:66px;height:94px;border-radius:6px;background:#fffdf4;box-shadow:0 4px 8px #082c2a66;color:#243e35;position:relative;text-align:left;padding:6px 8px;animation:deal .25s ease-out}.card.red{color:#b34740}.corner{font-family:Georgia,serif;font-size:19px;line-height:1}.corner small{display:block;font-size:13px;padding-left:2px}.suit{position:absolute;inset:27px 0 0;text-align:center;font-size:37px}.card.back{border:4px solid #f2ecdc;background:repeating-linear-gradient(45deg,#244e55 0 2px,#38636a 2px 5px);display:grid;place-items:center;color:#d5dccb;font-size:26px}.table-lettering{text-align:center;margin:5px 0 20px;color:#e4d6a9aa;pointer-events:none}.table-lettering strong{display:block;font:17px Georgia,serif;letter-spacing:3px}.table-lettering>span{font-size:9px;letter-spacing:2px;display:block;margin:9px 0}.table-lettering>div{font-size:17px;color:#c5d8b75c}.hands{display:flex;justify-content:center;gap:18px;flex:1;padding:0 24px 38px;align-items:flex-start}.hand{text-align:center;min-width:115px;border-radius:12px;padding:7px 9px}.hand.active{outline:1px solid #d9bc7c88;background:#ffffff08}.hand .cards{gap:0}.hand .card+.card{margin-left:-23px}.hand-result{min-height:17px;font-size:11px;color:#e1d4ae;margin-top:8px}.table-bottom{position:absolute;bottom:22px;left:14%;right:14%;display:flex;justify-content:space-between;color:#afc4b3;font-size:7px;letter-spacing:1px}.table-bottom i{margin:0 6px}.panel{border:1px solid #dedfd5;border-radius:12px;background:#fdfcf7;padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading .eyebrow{font-size:8px}.spark{font-size:25px;color:#9b8c67}h2{font:500 23px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.8px;margin:13px 0}.coach p{font-size:12px;min-height:60px}.feedback{margin-top:16px;border-top:1px solid #e6e5dc;padding-top:15px;min-height:55px;font-size:11px;line-height:1.7;color:#597260}.feedback.wrong{color:#a45c3e}.hint{width:100%;text-align:left;background:#eaf0e7;border:0;padding:13px 12px;border-radius:5px;font-size:11px;color:#29563c;margin-top:13px}.hint span{float:right}.toggle-row{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);margin-top:14px}.toggle-row input{accent-color:var(--green)}.session-panel{padding:20px 24px;margin-top:16px}.session-panel>div:not(.eyebrow){display:flex;justify-content:space-between;font-size:11px;margin-top:15px}.session-panel>div span{color:var(--muted)}.session-panel .quiet{padding:16px 0 0;font-size:10px}.chart-link{background:none;border:0;width:100%;font-size:10px;text-align:left;margin-top:18px;color:var(--ink)}.chart-link span{float:right}.controls{display:flex;align-items:center;gap:30px;margin-top:25px;padding:0 5px}.bank{border-right:1px solid #d8dcd1;min-width:120px}.bank .eyebrow{display:block;font-size:8px}.bank strong{font:26px Manrope,sans-serif;display:block;margin-top:5px}.bet-area .eyebrow{font-size:8px}.bet-area b{margin-left:8px;color:var(--ink)}.chips{display:flex;gap:9px;margin-top:8px}.chip{border:3px dashed #ffffffb0;border-radius:50%;height:38px;width:38px;color:#fff;font-size:10px;box-shadow:0 2px 3px #0002;outline:2px solid transparent;outline-offset:3px}.chip.selected{outline-color:#9aab91}.chip.blue{background:#567b8d}.chip.green{background:#48765c}.chip.red{background:#ae665b}.chip.black{background:#424b47}.actions{margin-left:auto}.primary{background:#1f523e;color:#fff;border:0;border-radius:7px;padding:17px 25px;min-width:220px;font-weight:500;font-size:14px}.primary:hover{background:#2c654d}kbd{font-family:inherit;font-size:10px;opacity:.55;margin-left:13px}#playActions{display:none;gap:7px;flex-wrap:wrap;justify-content:flex-end}#playActions button{border:1px solid #d6d9cd;border-radius:6px;background:#fdfcf7;padding:12px 14px;font-size:12px}#playActions button:first-child{background:var(--green);color:#fff}.status{font-size:12px;text-align:center;margin:22px 0;color:#4d6755;min-height:20px}footer{border-top:1px solid #dddfd5;display:flex;justify-content:space-between;padding-top:20px;font-size:9px;color:#899086}dialog{border:1px solid #dddcd1;border-radius:16px;background:var(--paper);color:var(--ink);max-width:740px;width:calc(100% - 32px);max-height:86vh;padding:35px}dialog::backdrop{background:#11271ecc;backdrop-filter:blur(5px)}dialog p,dialog li{font-size:13px;line-height:1.8}dialog li{margin:8px 0;color:#5a675c}.close{position:absolute;right:16px;top:10px;font-size:26px;border:0;background:none;color:var(--muted)}#chartContent{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:center;margin:12px 0 25px}th,td{padding:7px;border:1px solid #dfdfd3}th{background:#e7ebdf}td[data-a=H]{color:#287257;background:#e1eee3}td[data-a=S]{color:#83574f;background:#f0e2dd}td[data-a=D],td[data-a=Ds]{background:#efe4be;color:#6e5c20}td[data-a=P]{background:#dbe8ef;color:#345e77}td[data-a=R]{background:#e9e0ef;color:#6b4d7b}.chart-note{font-size:11px}a{color:#2e6653}@keyframes deal{from{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:1250px){.table{min-height:550px}.card{width:74px;height:104px}.hands{padding-top:10px}.dealer-zone{min-height:164px}.suit{top:30px}}@media(max-width:1000px){.layout{grid-template-columns:1fr 240px;gap:15px}.panel{padding:18px}.controls{gap:18px}.primary{min-width:170px}.table-lettering strong{font-size:13px}.table-bottom{font-size:6px}.hands{gap:5px;padding-left:8px;padding-right:8px}.hand{min-width:85px}.hand .card{width:58px;height:85px}.hand .card+.card{margin-left:-30px}#playActions button{padding:10px}.controls{flex-wrap:wrap}.actions{flex:1}}@media(max-width:740px){header{height:74px}.header-right{font-size:0;gap:0}.header-right .quiet{font-size:11px;margin:0}.live-dot{display:none}.brand{font-size:32px}.brand-sub{font-size:7px}main{padding:25px 4%}.intro{margin-bottom:24px}h1{font-size:32px}.eyebrow{font-size:8px}.intro p{font-size:12px}.session{display:none}.layout{grid-template-columns:1fr}.table{min-height:460px;border-width:6px;border-radius:18px 18px 65px 65px}.table:before{inset:15px;border-radius:9px 9px 50px 50px}.table-top{padding:23px;font-size:7px}.table-bottom{left:10%;right:10%;font-size:6px}.table-lettering{margin-bottom:12px}.hands{flex-wrap:wrap}.hand{padding:7px;min-width:95px}.hands:has(.hand:nth-child(3)){padding-bottom:40px}.hand .card{width:54px;height:78px}.hand .suit{font-size:29px}.hand .corner{font-size:15px}.controls{margin-top:18px;gap:20px}.bank{min-width:100px}.actions{flex:1 0 100%;margin-top:5px}.primary{width:100%}#playActions{justify-content:center}#playActions button{flex:1;padding:13px 8px}#playActions kbd{display:none}.layout aside{display:contents}.coach{grid-row:2}.session-panel,.chart-link{display:none}.coach h2{font-size:18px;margin:4px 0}.coach h2 br{display:none}.coach p{min-height:0;font-size:12px}.feedback{min-height:0;margin-top:9px;padding-top:9px}.hint{margin-top:8px}.toggle-row{margin-top:10px}.controls{position:relative}footer{font-size:8px;gap:20px;line-height:1.7}.status{line-height:1.7}.table-lettering strong{font-size:13px}.table-lettering>span{font-size:7px}.seat-label{font-size:8px}dialog{padding:27px 20px}}
@media(max-width:740px){main{display:flex;flex-direction:column}.intro{order:0}.layout{display:contents}.table{order:1}.controls{order:2}.status{order:3}.coach{order:4}.session-panel{display:block;order:5}.chart-link{display:block;order:6;margin-bottom:22px}footer{order:7;margin-top:20px}}

