@import "https://fonts.googleapis.com/css2?family=Lilita+One&family=Nunito+Sans:wght@400;600;700;800;900;1000&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cream:#fbf5df;--muted:#b6cdb6;--gold:#ffca0b;--green:#003d2a;--wood:linear-gradient(180deg,#915127,#6b3617)}*{box-sizing:border-box}body{color:var(--cream);background:radial-gradient(at 52% 52%,#105738 0,#02432d 55%,#003722 100%);min-height:100dvh;margin:0;font-family:Nunito Sans,sans-serif;font-size:18px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible){outline:3px solid var(--gold);outline-offset:4px}a,button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.game-shell{flex-direction:column;max-width:2200px;min-height:100dvh;margin:auto;padding:0 24px 28px;display:flex}header{flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;min-height:86px;display:flex}.brand{letter-spacing:-1px;font-family:Lilita One,sans-serif;font-size:40px;line-height:1;text-decoration:none}header nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.pot{color:var(--muted);white-space:nowrap;margin:0 12px;font-size:18px}.connection{color:#a7c2ad;font-size:12px}.connection.offline{color:#f0c281}.quiet{color:var(--cream);background:#00331f80;border:none;border-radius:30px;padding:11px 20px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s}.quiet:hover:not(:disabled){background:#002719}.primary,.secondary{color:var(--cream);border:0;border-radius:12px;padding:19px 30px;font-family:Lilita One,sans-serif;font-size:24px;line-height:1.2;text-decoration:none}.primary{background:var(--wood);box-shadow:0 5px #62341b}.primary:hover:not(:disabled){filter:brightness(1.1)}.secondary{background:0 0;border:3px solid #eee9d6;padding:16px 30px}.secondary:hover:not(:disabled){background:#ffffff0a}.table{box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;min-height:360px;display:flex;position:relative}.at-home{justify-content:center;position:relative}.at-home header{justify-content:flex-end;position:absolute;top:0;left:24px;right:24px}.at-home header .brand,.at-home .opponents,.at-home .table-foot,.at-home .rack-area{display:none}.at-home .table{flex:0;min-height:0}.welcome{text-align:center;max-width:1000px;margin:65px auto 45px}.welcome h1{letter-spacing:-4px;margin:44px 0 28px;font-family:Lilita One,sans-serif;font-size:clamp(85px,9vw,154px);font-weight:400;line-height:1}.welcome p{color:#c6d4b9;margin:0 0 54px;font-size:23px;line-height:1.6}.intro-tiles{justify-content:center;gap:12px;margin:0 auto;display:flex}.intro-tiles .tile{width:65px;height:94px}.start-actions{justify-content:center;gap:18px;display:flex}.start-actions button{min-width:248px}.training-entry{border-top:1px solid #ccd4ab28;flex-direction:column;align-items:center;gap:8px;max-width:620px;margin:42px auto 0;padding-top:24px;text-decoration:none;display:flex}.training-entry strong{font-size:20px}.training-entry>span:last-child{color:var(--muted);font-size:14px}.training-entry:hover strong{text-underline-offset:5px;-webkit-text-decoration:underline #dcb461;text-decoration:underline #dcb461}.premium-tag{letter-spacing:2px;color:#efd18e;border:1px solid #c9a55588;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:900;display:inline-block}.eyebrow{letter-spacing:2px;color:#b7cbb6;font-size:12px;font-weight:800}.tile{color:#101519;-webkit-user-select:none;user-select:none;outline-offset:1px;background:linear-gradient(165deg,#fff9e8 10%,#fbf4df 72%,#e6dbc0);border:0;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:65px;height:94px;padding:0;transition:transform .16s,outline .12s;display:flex;position:relative;box-shadow:0 5px #beb69d,0 9px 12px #001e1855}.tile span{letter-spacing:-2px;font-size:38px;font-weight:1000;line-height:1.05}.tile small{color:#d7cba8;margin-top:6px;font-size:13px;line-height:1}.tile.red{color:#d9212a}.tile.blue{color:#005eba}.tile.orange{color:#ed8500}.tile.black{color:#101519}.tile.selected{outline:4px solid var(--gold);transform:translateY(-14px);box-shadow:0 5px #beb69d,0 14px 20px #001e1888}.tile.hinted{outline:3px dashed #fbd140;box-shadow:0 5px #beb69d,0 0 24px #f7c53940}.tile.selected.hinted{outline-style:solid}.tile:hover{filter:brightness(1.025)}.opponents{flex-shrink:0;gap:16px;margin-bottom:12px;display:flex}.opponent{flex:1;grid-template-columns:1fr;gap:8px;min-width:0;display:grid}.avatar{display:none}.opponent>div:nth-child(2){color:var(--muted);align-items:center;gap:5px;font-size:16px;display:flex}.opponent strong{font-weight:700}.opponent small{font-size:16px}.opponent small:before{content:" · "}.hidden-rack{background:var(--wood);border-radius:13px;flex-wrap:wrap;align-items:flex-start;gap:5px;min-height:89px;padding:10px 12px 15px;display:flex;box-shadow:0 12px 22px #00251950}.hidden-rack i,.back-tile{background:linear-gradient(150deg,#e8dab7,#d8c8a1);border:0;border-radius:7px;flex-shrink:0;width:46px;height:65px;position:relative;box-shadow:0 4px #b7ad91,0 6px 8px #001e1830}.hidden-rack i:after,.back-tile i{content:"";border:3px solid #bba476;border-radius:50%;display:block;position:absolute;inset:18% 24% 23%}.back-tile{cursor:pointer;padding:0;transition:transform .2s}.back-tile:not(:disabled):hover{filter:brightness(1.08);translate:0 -7px}.back-tile:disabled{opacity:1}.turn-active .hidden-rack{box-shadow:0 0 0 2px #efc66c88,0 12px 22px #00251950}.turn-banner{display:none}.deal-zone{text-align:center;flex:1;margin:2px 0 20px}.deal-zone h2,.deal-zone>p{display:none}.pool-grid{flex-wrap:wrap;justify-content:center;gap:8px;max-width:none;margin:12px 10px 25px;display:flex}.pool-grid .back-tile{width:46px;height:65px}.deal-bottom{display:none}.deal-zone>.secondary{border-width:1px;margin-top:15px;padding:10px 20px;font-size:18px}.play-zone{flex:1;min-height:300px;padding:12px 85px 40px 0;position:relative}.board-groups{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:16px 20px;min-height:100px;display:flex}.meld{border:2px solid #0000;border-radius:12px;align-items:center;gap:7px;min-width:55px;max-width:100%;min-height:113px;padding:9px 9px 13px;display:flex;overflow-x:auto}.meld.invalid{border:3px dashed var(--gold);padding:8px 8px 12px}.add-here{width:40px;height:90px;color:var(--cream);background:0 0;border:2px dashed #e9c17f88;border-radius:9px;flex-shrink:0;font-size:26px}.new-meld{min-height:108px;color:var(--cream);background:0 0;border:3px dashed #d8be7055;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:20px 24px;font-size:21px;font-weight:800;display:flex}.new-meld span{font-size:26px}.new-meld.ready{border-color:var(--gold);background:#ffc80008}.empty-board{color:var(--muted);margin:40px;font-size:17px}.pool-stack{color:var(--muted);flex-direction:column;align-items:center;gap:15px;font-size:16px;display:flex;position:absolute;top:12px;right:7px}.pool-stack .back-tile{width:46px;height:66px}.table-foot{color:#a3bea4;min-height:20px;padding:4px 0 10px;font-size:13px}.action-bar{flex-shrink:0;justify-content:space-between;align-items:center;gap:18px;margin:12px 0 24px;display:flex}.turn-info{max-width:650px}.turn-info strong{font-size:22px;font-weight:800;line-height:1.4}.turn-info small{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.5;display:block}.action-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.action-buttons .primary{padding:20px 28px;font-size:23px}.action-buttons .quiet{padding:11px 18px;font-size:16px}.action-buttons .draw-button{border-width:1px;padding:10px 18px;font-size:18px}.emergency-button{border:1px solid #aebc9566}.emergency-button.enabled{color:#f3d68d;background:#78572535;border-color:#f4bf48}.hint-button{border:1px solid #b8c39555}.rack-area{flex-shrink:0;width:100%;margin:0}.rack-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin:0 0 9px;font-size:16px;display:flex}.rack-heading small{font-size:13px}.rack{background:var(--wood);border:0;border-radius:13px;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:9px;min-height:130px;padding:17px 17px 23px;display:flex;box-shadow:0 13px 26px #00251c60}.rack .tile{animation:.3s ease-out tile-arrive}.tile.landing{animation:.65s ease-out tile-arrive}.flying-tile{z-index:40;pointer-events:none;position:fixed}.game-log{color:#abc0a8;margin:20px 0 0;font-size:13px}.game-log summary{cursor:pointer}.game-log ol{padding-left:22px;line-height:1.8}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#001a13ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#064531;border:1px solid #7a956a88;border-radius:18px;width:100%;max-width:550px;max-height:90dvh;padding:34px;position:relative;overflow:auto;box-shadow:0 20px 80px #001a13aa}.modal-close,.icon-button{color:#c4d4b5;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px 10px;font-size:25px}.modal-close{position:absolute;top:12px;right:12px}.modal h2{margin:13px 0 18px;font-family:Lilita One,sans-serif;font-size:33px;font-weight:400}.modal p{color:#c5d3b8;font-size:16px;line-height:1.7}.modal small{color:var(--muted);font-size:13px}.field{margin:24px 0;font-size:15px;font-weight:700;display:block}.field input,.field select{width:100%;min-height:49px;color:var(--cream);background:#002a1d;border:1px solid #71906a;border-radius:8px;margin-top:9px;padding:12px 14px;font-size:16px;display:block}.field input::placeholder{color:#94af96}.rules{color:#c5d3b8;padding-left:20px;font-size:15px;line-height:1.7}.rules li{margin:14px 0}.rules strong{color:var(--cream)}.rule-source{font-size:12px!important}.letter-switch{align-items:center;gap:10px;font-size:14px;line-height:1.5;display:flex}.letter-switch input{accent-color:#f0bb55}.error-message{color:#ffe0bf;background:#923b2455;border:1px solid #ffc59488;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin:8px 0 18px;padding:12px 18px;font-size:15px;line-height:1.6;display:flex}.error-message button{color:inherit;background:0 0;border:0;font-size:24px}.toast{background:var(--cream);color:#17432d;z-index:50;border-radius:10px;max-width:min(650px,92vw);padding:15px 24px;font-size:15px;line-height:1.5;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 15px 40px #001b13aa}.form-error{color:#ffd6b1!important}.result{text-align:center;max-width:480px;margin:20px auto 35px}.result h2{margin:15px 0;font-family:Lilita One,sans-serif;font-size:50px;font-weight:400}.result p{color:var(--muted);line-height:1.6}.scores{background:#002c1b88;border-radius:12px;margin:22px 0;padding:15px 25px}.scores>div{justify-content:space-between;gap:20px;padding:8px 0;font-size:16px;display:flex}.scores span{color:var(--muted)}.hint-panel{color:#24422b;background:#f7efd7;border:1px solid #d8c890;border-radius:15px;max-width:530px;margin:15px 0 20px;padding:20px 22px;box-shadow:0 12px 30px #001e1644}.panel-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.hint-panel .eyebrow{color:#707943}.hint-panel .icon-button{color:#66764d}.hint-panel h3{margin:8px 0 12px;font-family:Lilita One,sans-serif;font-size:27px;font-weight:400}.hint-panel p{margin:10px 0;font-size:14px;line-height:1.6}.hint-step{align-items:center;gap:10px;display:flex}.step-number{color:#f7efd7;background:#155b35;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid}.hint-preview{gap:6px;padding:10px 5px 16px;display:flex;overflow:auto}.hint-preview .tile{border-radius:6px;width:42px;height:60px}.hint-preview .tile span{font-size:26px}.hint-preview .tile small{margin-top:4px;font-size:9px}.hint-controls{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.hint-controls .quiet{color:#f7efd7;background:#164f2e;padding:9px 14px;font-size:13px}.hint-controls .primary{box-shadow:none;padding:9px 14px;font-size:16px}.hint-panel>small{color:#566540;font-size:12px}.training-shell header{justify-content:flex-start}.training-shell header nav{margin-left:auto}.coach-rank{color:var(--muted);font-size:15px}.training-intro{text-align:center;max-width:880px;margin:auto;padding:60px 20px}.training-intro .intro-tiles{margin-bottom:40px}.training-intro h1{letter-spacing:-1px;margin:20px 0;font-family:Lilita One,sans-serif;font-size:clamp(40px,5vw,72px);font-weight:400;line-height:1.1}.training-intro>p{color:var(--muted);max-width:680px;margin:25px auto;font-size:20px;line-height:1.6}.training-benefits{text-align:left;grid-template-columns:repeat(3,1fr);gap:25px;margin:38px 0;display:grid}.training-benefits strong{margin-bottom:10px;font-size:18px;display:block}.training-benefits span{color:var(--muted);font-size:15px;line-height:1.7}.training-intro>small{color:var(--muted);margin-top:25px;font-size:13px;display:block}.training-task{border-top:1px solid #bbca9c33;justify-content:space-between;align-items:center;gap:25px;margin-top:8px;padding:20px 0 24px;display:flex}.training-task h1{max-width:1050px;margin:12px 0 0;font-size:27px;font-weight:800;line-height:1.4}.task-meta{text-align:right;min-width:210px;color:var(--muted);font-size:14px}.task-meta strong{color:var(--cream);margin-bottom:8px;display:block}.training-workspace{flex:1;grid-template-columns:minmax(0,1fr) 320px;gap:28px;min-height:300px;display:grid}.training-table{min-height:300px;padding:15px 0}.coach-panel{background:#002d1d65;border:1px solid #bbca9c55;border-radius:15px;align-self:start;padding:23px}.coach-panel h2{margin:12px 0 18px;font-family:Lilita One,sans-serif;font-size:29px;font-weight:400;line-height:1.2}.coach-panel p{color:#c4d4b8;font-size:15px;line-height:1.7}.coach-panel small{color:#b6cbb1;font-size:13px;line-height:1.7;display:block}.coach-note{border-top:1px solid #b9c49b44;border-bottom:1px solid #b9c49b44;margin:18px 0;padding:16px 0}.coach-note strong{color:#f0cf8b;font-size:14px}.coach-note p{margin:8px 0 0}.coach-panel.success{border-color:#e9c672}.feedback-score{color:#f5cf75;font-family:Lilita One,sans-serif;font-size:54px}.feedback-score span{color:#acbf9f;margin-left:8px;font-family:Nunito Sans,sans-serif;font-size:18px}.feedback-details{color:#ebd598;border-top:1px solid #ccd09b33;border-bottom:1px solid #ccd09b33;flex-direction:column;gap:8px;padding:15px 0;font-size:13px;display:flex}.coach-panel .primary{width:100%;margin-top:10px;font-size:20px}.progress-panel{background:#06462d;border:1px solid #849c68;border-radius:17px;margin:10px 0 25px;padding:27px}.progress-panel h2{margin:9px 0;font-family:Lilita One,sans-serif;font-size:35px;font-weight:400}.progress-panel>p{color:var(--muted);font-size:15px;line-height:1.6}.stats{gap:50px;margin:23px 0;display:flex}.stats strong{font-size:35px;display:block}.stats span{color:var(--muted);font-size:13px}.course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:25px;display:grid}.course{text-align:left;background:#002f1e;border:1px solid #76925766;border-radius:12px;flex-direction:column;gap:9px;padding:18px;display:flex}.course-number{letter-spacing:2px;color:#dbbf79;font-size:12px}.course strong{font-size:18px}.course small{color:var(--muted);font-size:12px}.course.locked{opacity:.5}.mastery-bar{background:#153e26;border-radius:4px;height:5px;margin-top:8px;overflow:hidden}.mastery-bar i{background:#ebc168;height:100%;display:block}.mastery-label{color:#c6d0ac;font-size:12px}.recent-practice{color:var(--muted);flex-wrap:wrap;gap:14px 24px;margin-top:24px;font-size:13px;display:flex}.recent-practice strong{color:var(--cream)}@keyframes tile-arrive{0%{opacity:.2;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1500px){.game-shell.in-game{padding-top:8px}.in-game>.table{min-height:590px}.welcome{margin:65px auto 40px}.at-home .welcome{padding-bottom:10px}}@media (max-width:1250px){.action-bar{flex-direction:column;align-items:flex-start;gap:15px}.action-buttons{justify-content:flex-start}.action-buttons .quiet{padding:10px 15px;font-size:14px}.action-buttons .primary{padding:15px 25px;font-size:20px}.connection{display:none}.turn-info strong{font-size:20px}.training-workspace{grid-template-columns:minmax(0,1fr) 285px}.tile{width:56px;height:80px}.tile span{font-size:33px}.rack{min-height:118px}.meld{min-height:99px}.new-meld{min-height:96px;font-size:18px}.add-here{height:76px}.welcome h1{font-size:128px}.welcome p{font-size:20px}}@media (max-width:760px){body{font-size:16px}.game-shell{padding:0 12px 22px}header{align-items:center;gap:10px;min-height:78px}.brand{font-size:33px}header nav{gap:6px}header nav .quiet{padding:7px 10px;font-size:12px}.pot{text-align:right;flex-basis:100%;order:3;margin:0;font-size:13px}.home-button{display:none}.at-home header{left:12px;right:12px}.welcome{margin:100px auto 50px;padding:0 10px}.welcome h1{letter-spacing:-2px;margin:32px 0 23px;font-size:clamp(74px,21vw,115px)}.welcome p{margin-bottom:32px;font-size:16px;line-height:1.8}.intro-tiles{gap:9px}.intro-tiles .tile{width:50px;height:73px}.start-actions{gap:13px}.start-actions button{flex:1;min-width:0;padding:17px 14px;font-size:20px}.secondary{border-width:2px}.training-entry{gap:9px;margin-top:34px}.training-entry strong{font-size:18px}.training-entry>span:last-child{font-size:13px;line-height:1.6}.opponents{flex-direction:column;gap:10px;margin-bottom:10px}.opponent>div:nth-child(2),.opponent small{font-size:13px}.hidden-rack{border-radius:10px;gap:4px;min-height:68px;padding:9px 10px 14px}.hidden-rack i{border-radius:5px;width:30px;height:43px}.hidden-rack i:after{border-width:2px}.pool-grid{gap:7px;margin:10px 0 20px}.pool-grid .back-tile{border-radius:5px;width:29px;height:41px}.back-tile i{border-width:2px}.table{min-height:300px}.play-zone{min-height:190px;padding:8px 45px 20px 0}.board-groups{gap:10px 9px;min-height:95px}.tile{border-radius:7px;width:43px;height:63px}.tile span{letter-spacing:-1px;font-size:27px}.tile small{margin-top:5px;font-size:10px}.tile.selected{outline-width:3px;transform:translateY(-9px)}.meld{border-radius:9px;gap:4px;min-height:81px;padding:7px 5px 11px}.meld.invalid{border-width:2px;padding:6px 4px 10px}.new-meld{border-width:2px;gap:4px;min-height:80px;padding:12px 13px;font-size:15px}.new-meld span{font-size:21px}.add-here{width:27px;height:60px;font-size:22px}.pool-stack{gap:10px;font-size:12px;top:12px;right:0}.pool-stack .back-tile{width:30px;height:44px}.table-foot{margin-top:5px;padding-bottom:5px;font-size:11px}.action-bar{gap:12px;margin:12px 0 18px}.turn-info strong{font-size:18px}.action-buttons{gap:6px;width:100%}.action-buttons .quiet{padding:9px 12px;font-size:12px}.action-buttons .primary{margin-left:auto;padding:13px 23px;font-size:18px}.action-buttons .draw-button{padding:9px 13px;font-size:14px}.rack-heading{gap:12px;font-size:13px;line-height:1.5}.rack-heading small{text-align:right;max-width:100px;font-size:11px}.rack{border-radius:10px;gap:7px;min-height:100px;padding:13px 12px 20px}.in-game .rack{min-height:100px}.modal{padding:30px 24px}.modal h2{font-size:29px}.modal p,.rules{font-size:14px}.modal .primary{padding:16px 23px;font-size:20px}.hint-panel{max-width:none;padding:17px 19px}.hint-panel h3{font-size:24px}.hint-controls .quiet{padding:8px 10px;font-size:12px}.hint-panel p{font-size:13px}.training-shell header{flex-wrap:wrap;gap:10px;padding:15px 0}.training-shell header .premium-tag{letter-spacing:1px;font-size:9px}.training-shell header nav{flex-basis:100%;justify-content:space-between;gap:10px}.coach-rank{font-size:13px}.training-intro{padding:40px 5px}.training-intro .intro-tiles{margin-bottom:35px}.training-intro h1{font-size:46px}.training-intro>p{font-size:17px}.training-benefits{grid-template-columns:1fr;gap:23px;margin:30px 0}.training-benefits strong{margin-bottom:5px;font-size:17px}.training-benefits span{font-size:14px}.training-task{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 0}.training-task h1{font-size:22px}.task-meta{text-align:left;flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.task-meta strong{margin:0}.training-workspace{grid-template-columns:1fr;gap:12px;min-height:0}.training-table{min-height:170px;padding:5px 0}.coach-panel{padding:18px}.coach-panel h2{margin:8px 0 12px;font-size:25px}.coach-panel p{font-size:14px}.coach-panel small{font-size:12px}.coach-note{margin:12px 0;padding:12px 0}.feedback-score{font-size:43px}.feedback-details{font-size:12px}.coach-panel .primary{padding:15px 24px;font-size:18px}.progress-panel{padding:20px 17px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.course{gap:7px;padding:13px}.course strong{font-size:15px}.course small{font-size:11px}.stats{gap:30px;margin:17px 0}.stats strong{font-size:28px}.stats span{font-size:11px}.progress-panel>p{font-size:13px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}body{background:radial-gradient(at 50% 38%,#15583d 0%,#06432f 49%,#002e22 100%) fixed}.game-shell{isolation:isolate}.game-shell:before{content:"";pointer-events:none;z-index:-1;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.22' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.primary{transition:transform .15s,filter .15s,box-shadow .15s;box-shadow:inset 0 1px #d9a57466,0 4px #57301a,0 8px 20px #001e193d}.primary:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 1px #d9a57466,0 1px #57301a}.secondary{transition:background .15s,transform .15s}.home-eyebrow{letter-spacing:3px;color:#d6caa5;justify-content:center;align-items:center;gap:9px;margin-bottom:32px;font-size:11px;font-weight:900;display:flex}.home-eyebrow span,.modern-turn>span:first-child{background:#d9cda8;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #d9cda814}.home-features{letter-spacing:.25px;color:#adccb8;justify-content:center;gap:25px;margin:-20px 0 32px;font-size:13px;font-weight:800;display:flex}.home-features span+span:before{content:"·";color:#ceb886;margin-right:25px}.welcome{margin:70px auto 45px}.welcome h1{margin:32px 0 24px}.welcome p{margin-bottom:40px}.resume-game{color:#c6d4b9;margin-top:22px;font-size:13px;text-decoration:none;display:inline-block}.resume-game:hover{text-underline-offset:4px;text-decoration:underline}.hidden-rack,.rack{background:linear-gradient(#985a2e,#743f1f 75%,#653419);box-shadow:inset 0 1px #d0a77877,inset 0 -5px #51280e44,0 12px 22px #001e194d}.tile{box-shadow:inset 0 1px #fff,0 5px #b7ab8d,0 9px 12px #001e1855}.tile .joker-face{width:42px;height:42px;margin:auto;display:block}.tile.selected{filter:brightness(1.035)}.intro-tiles .tile{box-shadow:inset 0 1px #fff,0 5px #b7ab8d,0 12px 24px #001e1860}.modern-turn{color:#c5d8c3;background:#002e2080;border:1px solid #adc6aa26;border-radius:12px;align-items:center;gap:13px;margin:8px 0 17px;padding:12px 18px;font-size:15px;display:flex}.modern-turn>span.turn-dot{background:#ffcf45;box-shadow:0 0 0 5px #ffcf4517}.fair-play{color:#b5cbb8;margin-left:auto;font-size:12px}.player-score{color:#e9d2a0;background:#002e2088;border-radius:30px;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:900}.opponent>div:nth-child(2){flex-wrap:wrap}.opponent>div:nth-child(2) small{order:1}.in-game .connection{align-items:center;gap:5px;display:inline-flex}.connection:before{content:"";background:#89c3a0;border-radius:50%;width:6px;height:6px}.connection.offline:before{background:#f0c281}.match-score{color:#e1c28c;font-size:20px}.scores>div{flex-wrap:wrap;gap:15px}.vote-panel{color:#173a2d;background:linear-gradient(130deg,#fff9e8,#eae3cc);border:1px solid #f2d187;border-radius:17px;align-items:flex-start;gap:20px;margin:16px 0;padding:23px;animation:.3s ease-out vote-arrive;display:flex;box-shadow:0 12px 30px #00190f66}.vote-panel .eyebrow{color:#806038;font-size:10px}.vote-symbol{color:#f5e3b5;background:#174d37;border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;font:30px Lilita One,sans-serif;display:grid}.vote-content{flex:1}.vote-panel h2{margin:7px 0 8px;font:28px Lilita One,sans-serif}.vote-panel p{max-width:660px;margin:0;font-size:14px;line-height:1.6}.vote-roster{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.vote-roster span{background:#173a2d0b;border:1px solid #173a2d1c;border-radius:30px;padding:6px 10px;font-size:11px;font-weight:900}.vote-roster .yes{color:#176746;background:#14734110;border-color:#14734133}.vote-roster .no{color:#b32730;background:#b3273009;border-color:#b3273033}.vote-actions{flex-direction:column;align-items:stretch;gap:10px;min-width:190px;display:flex}.vote-actions .primary,.vote-actions .secondary{text-align:center;padding:13px 18px;font-size:18px}.vote-actions .secondary{color:#3b382e;border:1px solid #a78e69}.vote-actions .quiet{color:#254332;background:#173a2d0b;font-size:12px}.vote-clock{text-align:center;color:#6e5738;font-size:12px;font-weight:900}.vote-panel.approved{border-color:#93bfa5}.vote-panel.declined .vote-symbol,.vote-panel.expired .vote-symbol{background:#925045}.vote-actions strong{font-size:12px}.hint-cost{background:#cf9e1910;border:1px solid #f3bf5360;border-radius:12px;align-items:center;gap:18px;margin:22px 0;padding:18px;display:flex}.hint-cost strong{color:#ebd093;white-space:nowrap;font:32px Lilita One,sans-serif}.hint-cost span{color:#c8d5bb;font-size:12px;line-height:1.7}.lobby-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:25px 0;display:grid}.lobby-roster>div{border:1px dashed #a4bfa53d;border-radius:12px;grid-template-columns:34px 1fr;gap:4px 10px;padding:13px;display:grid}.lobby-roster>div.seated{background:#acd2ba0b;border-style:solid}.lobby-roster span{color:#e5ce97;background:#002c20;border-radius:50%;grid-row:span 2;place-items:center;height:34px;font-size:14px;font-weight:900;display:grid}.lobby-roster strong{overflow-wrap:anywhere;font-size:13px}.lobby-roster small{color:#a9c8b3;font-size:11px}.lobby-fairplay{color:#decfa7;background:#d3b27110;border:1px solid #d3b27122;border-radius:10px;margin-bottom:22px;padding:13px 16px;font-size:12px;line-height:1.6}.meld{animation:.18s ease-out vote-arrive}@keyframes vote-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.vote-panel{flex-wrap:wrap;gap:14px}.vote-actions{flex-flow:wrap;align-items:center;width:100%}.vote-clock{margin-right:auto}.modern-turn{flex-wrap:wrap}.fair-play{width:100%;margin-left:0;padding-left:20px}.player-score{margin-left:0}.home-features{gap:15px}.home-features span+span:before{margin-right:15px}}@media (max-width:540px){.home-eyebrow{letter-spacing:2px;margin-bottom:28px;font-size:9px}.home-features{gap:10px;margin:-16px 0 26px;font-size:10px}.home-features span+span:before{margin-right:10px}.welcome{margin:72px auto 35px}.welcome p{margin-bottom:32px}.tile .joker-face{width:30px;height:30px}.intro-tiles .tile .joker-face{width:35px;height:35px}.modern-turn{gap:9px;margin:8px 0 12px;padding:11px 13px;font-size:12px}.fair-play{font-size:10px}.vote-panel{border-radius:12px;gap:12px;padding:16px}.vote-symbol{border-radius:10px;width:34px;height:34px;font-size:23px}.vote-panel h2{font-size:22px}.vote-panel p{font-size:12px}.vote-content{min-width:210px}.vote-actions .primary,.vote-actions .secondary{padding:12px 15px;font-size:15px}.vote-clock{text-align:left;width:100%}.vote-roster span{font-size:10px}.player-score{padding:3px 8px;font-size:10px}.opponent>div:nth-child(2) small{width:100%;font-size:12px}.hint-cost{flex-direction:column;align-items:flex-start;gap:8px}.lobby-roster{gap:7px}.lobby-roster>div{grid-template-columns:27px 1fr;gap:4px 7px;padding:10px}.lobby-roster span{height:27px;font-size:12px}.match-score{font-size:17px}.resume-game{font-size:12px}.fullscreen-button{display:none}}@media (prefers-reduced-motion:reduce){.vote-panel,.meld{animation:none}.primary,.secondary{transition:none}}.game-shell.at-home{height:100dvh;min-height:0;padding-bottom:0}.at-home header{min-height:48px}.at-home .welcome{max-width:850px;margin:0 auto;padding:50px 8px 16px}.at-home .home-eyebrow{margin-bottom:clamp(10px,2.2dvh,22px)}.at-home .intro-tiles .tile{width:clamp(38px,6dvh,65px);height:clamp(52px,8.4dvh,94px)}.at-home .intro-tiles .tile span{font-size:clamp(25px,3.8dvh,38px)}.at-home .welcome h1{margin:clamp(14px,2.5dvh,28px) 0 clamp(10px,1.8dvh,20px);font-size:clamp(58px,min(10vw,13dvh),138px)}.at-home .welcome p{margin:0 0 clamp(12px,2dvh,24px);font-size:clamp(13px,2.35dvh,21px);line-height:1.5}.at-home .home-features{margin:0 0 clamp(14px,2.3dvh,26px)}.at-home .start-actions button{padding:clamp(12px,2dvh,18px) 22px;font-size:clamp(17px,2.7dvh,24px)}.at-home .training-entry{gap:6px;margin-top:clamp(15px,2.8dvh,30px);padding-top:clamp(12px,1.8dvh,20px)}.at-home .training-entry strong{font-size:clamp(15px,2.3dvh,20px)}.at-home .training-entry>span:last-child{font-size:12px;line-height:1.4}.at-home .resume-game{margin-top:12px}.game-shell.in-game{height:100dvh;min-height:0;padding-bottom:12px;overflow:hidden}.in-game>header{min-height:60px}.in-game>.table{min-height:0;overflow:hidden}.in-game .opponents{gap:10px;margin-bottom:6px}.in-game .opponent{gap:5px}.in-game .hidden-rack{flex-wrap:nowrap;height:64px;min-height:0;padding:7px 10px 12px;overflow:hidden}.in-game .hidden-rack i{flex:0 32px;width:32px;min-width:5px;height:44px}.in-game .modern-turn{flex-shrink:0;margin:5px 0 8px;padding:8px 13px;font-size:13px}.in-game .deal-zone,.in-game .play-zone{overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding-bottom:12px;overflow:auto}.in-game .pool-grid{gap:5px;margin:8px 5px 10px}.in-game .pool-grid .back-tile{width:clamp(20px,3vw,40px);height:clamp(29px,4.3vw,57px)}.in-game .table-foot{flex-shrink:0;min-height:18px;padding:4px 0;font-size:11px}.in-game>.action-bar{flex-direction:row;flex-shrink:0;align-items:center;gap:8px;margin:8px 0 12px}.in-game .turn-info strong{font-size:clamp(13px,1.5vw,18px)}.in-game .action-buttons{justify-content:flex-end;gap:6px;width:auto}.in-game .action-buttons .quiet{padding:8px 12px;font-size:12px}.in-game .action-buttons .primary{padding:12px 20px;font-size:18px}.in-game .rack-heading{margin-bottom:6px;font-size:13px}.in-game .rack-heading small{font-size:11px}.in-game .rack{overscroll-behavior:contain;gap:6px;min-height:0;max-height:28dvh;padding:13px 12px 16px;overflow:auto}.in-game .rack .tile{width:clamp(34px,4.2vw,56px);height:clamp(49px,6vw,80px)}.in-game .rack .tile span{font-size:clamp(24px,2.8vw,34px)}.in-game .rack .tile small{font-size:10px}.in-game .game-log{display:none}.in-game .vote-panel,.in-game>.table>.hint-panel{z-index:10;max-height:calc(100% - 8px);margin:0;position:absolute;bottom:24px;left:8px;right:8px;overflow:auto;box-shadow:0 12px 50px #00190faa}.in-game>.table>.hint-panel{width:min(530px,100% - 16px);left:auto}.in-game .error-message{z-index:25;margin:0;position:fixed;bottom:12px;left:12px;right:12px}.in-game .play-zone .result{margin:12px auto}.training-shell.in-game .training-workspace{flex:1;min-height:0;overflow:hidden}.training-shell.in-game .training-table{overscroll-behavior:contain;min-height:0;overflow:auto}.training-shell.in-game .coach-panel{overscroll-behavior:contain;max-height:100%;padding:16px;overflow:auto}.training-shell.in-game .training-task{flex-shrink:0;margin-top:0;padding:10px 0 12px}.training-shell.in-game .training-task h1{margin-top:7px;font-size:20px}.training-shell.in-game .progress-panel{z-index:20;margin:0;position:fixed;inset:70px 16px 16px;overflow:auto}.training-shell.in-game .turn-info small{margin-top:3px;font-size:11px}.training-shell.in-game .training-table>.hint-panel{z-index:10;max-height:100%;margin:0;position:absolute;bottom:0;left:0;right:0;overflow:auto}.training-shell.training-lobby{min-height:100dvh}.training-lobby .training-intro{padding:20px 10px}.training-lobby .training-intro .intro-tiles{margin-bottom:20px}.training-lobby .training-intro h1{margin:12px 0;font-size:clamp(30px,6dvh,60px)}.training-lobby .training-intro>p{margin:14px auto;font-size:17px}.training-lobby .training-benefits{margin:20px 0}.training-lobby .training-intro>small{margin-top:16px}@media (max-width:760px){.at-home .welcome h1{font-size:clamp(58px,min(21vw,12dvh),115px)}.at-home .start-actions button{padding-left:14px;padding-right:14px}.game-shell.in-game{padding:0 10px 10px}.in-game>header{min-height:64px}.in-game .opponents{flex-direction:row;gap:7px}.in-game .opponent>div:nth-child(2){gap:3px;font-size:12px}.in-game .opponent small{font-size:10px!important}.in-game .player-score{padding:2px 5px;font-size:9px}.in-game .hidden-rack{gap:3px;height:44px;padding:6px 7px 9px}.in-game .hidden-rack i{width:19px;min-width:3px;height:28px}.in-game .hidden-rack i:after{border-width:1px}.in-game .modern-turn{flex-wrap:nowrap;gap:7px;padding:6px 10px;font-size:11px}.in-game .fair-play{display:none}.in-game .pool-grid{gap:4px;margin:5px 2px 8px}.in-game .pool-grid .back-tile{border-radius:4px;width:21px;height:30px}.in-game .pool-grid .back-tile i{border-width:1.5px}.in-game>.action-bar{flex-direction:column;align-items:stretch;gap:6px;margin:6px 0 10px}.in-game .action-buttons{justify-content:flex-start;gap:5px;width:100%}.in-game .action-buttons .quiet{padding:7px 9px;font-size:11px}.in-game .action-buttons .primary{margin-left:auto;padding:9px 14px;font-size:15px}.in-game .turn-info strong{font-size:13px}.in-game .rack-heading{gap:8px;font-size:11px}.in-game .rack-heading small{max-width:135px;font-size:10px}.in-game .rack{gap:5px;max-height:25dvh;padding:12px 9px 14px}.in-game .rack .tile{border-radius:6px;width:35px;height:50px}.in-game .rack .tile span{font-size:24px}.in-game .rack .tile small{margin-top:3px;font-size:9px}.in-game .rack .tile .joker-face{width:27px;height:27px}.in-game .vote-panel{gap:9px;padding:14px;bottom:20px;left:2px;right:2px}.in-game .vote-content,.in-game .vote-actions{min-width:0}.training-shell.in-game>header{gap:6px;min-height:66px;padding:8px 0}.training-shell.in-game .training-task{gap:5px;padding:5px 0 9px}.training-shell.in-game .training-task h1{margin-top:4px;font-size:15px}.training-shell.in-game .training-task .eyebrow{font-size:9px}.training-shell.in-game .task-meta{font-size:10px}.training-shell.in-game .training-workspace{grid-template-columns:minmax(0,1fr) minmax(125px,.75fr);gap:9px}.training-shell.in-game .coach-panel{padding:10px}.training-shell.in-game .coach-panel h2{margin:6px 0;font-size:19px}.training-shell.in-game .coach-panel p{font-size:11px;line-height:1.5}.training-shell.in-game .coach-panel small{font-size:10px;line-height:1.5}.training-shell.in-game .coach-note{margin:8px 0;padding:7px 0}.training-shell.in-game .feedback-score{font-size:30px}.training-shell.in-game .feedback-details{padding:8px 0;font-size:10px}.training-shell.in-game .coach-panel .primary{padding:10px 7px;font-size:13px}.training-shell.in-game .turn-info small{font-size:10px}.training-lobby header{min-height:66px}.training-lobby .training-benefits{grid-template-columns:1fr;gap:12px}.training-lobby .training-benefits strong{margin-bottom:3px;font-size:14px}.training-lobby .training-benefits span{font-size:12px;line-height:1.4}.training-lobby .training-intro .intro-tiles .tile{width:39px;height:55px}.training-lobby .training-intro>p{font-size:14px}.training-lobby .training-intro>small{font-size:11px}}@media (max-height:600px) and (min-width:761px){.in-game>header{min-height:46px}.in-game .brand{font-size:29px}.in-game .hidden-rack{height:44px;padding:5px 10px 9px}.in-game .hidden-rack i{width:20px;height:28px}.in-game .rack .tile{width:35px;height:50px}.in-game .rack .tile span{font-size:24px}.in-game .rack{padding:11px 10px 13px}.in-game .action-buttons .quiet{padding:6px 10px}.in-game .action-buttons .primary{padding:8px 16px}.in-game .modern-turn{padding:5px 10px}.in-game .pool-grid .back-tile{width:24px;height:34px}.in-game .table-foot{font-size:10px}.in-game .tile .joker-face{width:27px;height:27px}.at-home .welcome{grid-template-columns:1.2fr 1fr;align-items:center;gap:10px 40px;max-width:900px;padding-top:45px;display:grid}.at-home .home-eyebrow{grid-column:1/-1;margin:0}.at-home .intro-tiles{grid-area:2/1}.at-home .welcome h1{grid-area:3/1;margin:0;font-size:70px}.at-home .welcome p{grid-area:4/1;margin:0;font-size:13px}.at-home .home-features{grid-area:5/1;gap:10px;margin:0;font-size:10px}.at-home .start-actions{flex-direction:column;grid-area:2/2/4;gap:10px}.at-home .start-actions button{min-width:0;padding:12px 18px;font-size:18px}.at-home .training-entry{grid-area:4/2;margin:0;padding-top:10px}.at-home .resume-game{grid-area:5/2;margin:0}}.at-home>.table{flex:none;min-height:0}.admin-shell{max-width:1500px;margin:auto;padding:0 24px 30px}.admin-shell header{gap:18px}.admin-shell header nav{margin-left:auto}.admin-login{background:#002e2280;border:1px solid #9eb99c66;border-radius:18px;max-width:500px;margin:70px auto;padding:30px}.admin-login h1,.admin-toolbar h1{margin:12px 0;font:42px Lilita One,sans-serif}.admin-login p{color:var(--muted);font-size:15px;line-height:1.7}.admin-login small{color:var(--muted);margin-top:20px;font-size:12px;display:block}.admin-error{background:#8a302a66;border:1px solid #eea07988;border-radius:10px;justify-content:space-between;align-items:center;padding:13px 18px;font-size:14px;display:flex}.admin-error button{background:0 0;border:0;font-size:24px}.admin-success{background:#1c664333;border:1px solid #8abe9788;border-radius:10px;padding:12px 18px;font-size:14px}.admin-toolbar{justify-content:space-between;align-items:center;gap:20px;margin:20px 0;display:flex}.admin-toolbar p{color:var(--muted);font-size:13px}.admin-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-shell .primary,.admin-shell .secondary{padding:13px 18px;font-size:17px}.admin-shell .secondary{border-width:1px}.admin-tabs{border-bottom:1px solid #bccdb333;gap:8px;margin:20px 0;display:flex}.admin-tabs button{background:0 0;border:0;border-bottom:3px solid #0000;padding:14px 18px;font-size:14px;font-weight:800}.admin-tabs button.active{color:#ebcf90;border-color:#ebcf90}.admin-card{background:#00322199;border:1px solid #a4bc8b44;border-radius:15px;margin-bottom:18px;padding:24px}.admin-card h2{margin:0 0 12px;font:28px Lilita One,sans-serif}.admin-card p{color:var(--muted);font-size:13px;line-height:1.7}.admin-card .panel-head{margin-bottom:18px}.admin-card .panel-head>span{white-space:nowrap;color:#dbc086;font-size:12px}.admin-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.admin-players article{background:#184d3022;border:1px solid #809b5d33;border-radius:12px;padding:17px}.admin-players .panel-head{flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:13px}.admin-players .panel-head span{color:var(--muted);font-size:12px}.admin-rack{flex-wrap:wrap;gap:7px;padding:10px 5px 16px;display:flex}.admin-rack .tile:disabled{opacity:1}.admin-rack .tile,.admin-board .tile{border-radius:7px;width:43px;height:63px}.admin-rack .tile span,.admin-board .tile span{font-size:27px}.admin-rack .tile .joker-face,.admin-board .tile .joker-face{width:29px;height:29px}.admin-rack .tile small,.admin-board .tile small{margin-top:4px;font-size:9px}.admin-fields{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.admin-fields .field{flex:1;min-width:150px;margin:10px 0}.admin-fields .field input,.admin-fields .field select{min-height:43px;font-size:13px}.admin-fields>label:not(.field){white-space:nowrap;font-size:13px}.admin-board{background:#092e2055;border-radius:12px;flex-wrap:wrap;gap:14px;min-height:160px;margin:20px 0;padding:15px;display:flex}.admin-board .meld{gap:5px;min-height:85px;padding:6px}.admin-board .add-here{width:30px;height:62px}.admin-json{color:#d4e9d6;resize:vertical;tab-size:2;background:#001f18;border:1px solid #608759;border-radius:10px;width:100%;height:55dvh;min-height:250px;margin:20px 0;padding:18px;font:13px/1.7 Consolas,monospace;display:block}.admin-audit,.admin-foot{color:var(--muted);font-size:12px;line-height:1.7}.admin-audit summary{cursor:pointer}.admin-shell input[type=checkbox]{accent-color:#d8ba7b}.admin-shell button:disabled{cursor:default}@media (max-width:760px){.admin-shell{padding:0 12px 20px}.admin-shell header{flex-wrap:wrap;gap:12px;padding:15px 0}.admin-shell header nav{justify-content:space-between;width:100%;margin-left:0}.admin-login{margin:25px auto;padding:23px}.admin-login h1,.admin-toolbar h1{font-size:34px}.admin-toolbar{flex-direction:column;align-items:flex-start}.admin-tools{gap:8px}.admin-shell .primary,.admin-shell .secondary{padding:12px 14px;font-size:14px}.admin-tabs{gap:0}.admin-tabs button{padding:12px 9px;font-size:12px}.admin-card{padding:17px}.admin-card .panel-head{flex-wrap:wrap;align-items:flex-start;gap:12px}.admin-players{grid-template-columns:1fr}.admin-fields{gap:9px}.admin-fields .field{min-width:130px}.admin-json{padding:12px;font-size:11px}.admin-card h2{font-size:24px}.admin-board{padding:10px}.admin-shell .quiet{padding:10px 13px;font-size:12px}}.turn-clock{color:#fff3be;font-variant-numeric:tabular-nums;white-space:nowrap;background:#002e2280;border:1px solid #d7c58166;border-radius:10px;align-items:center;gap:10px;margin-left:auto;padding:7px 12px;font-size:24px;font-weight:800;display:inline-flex}.turn-clock small{color:#b6c8b6;font-size:11px;font-weight:500}.turn-clock.urgent{color:#ffb09f;background:#612d2450;border-color:#ff927a}@media (max-width:650px){.turn-clock{gap:6px;padding:4px 8px;font-size:20px}.turn-clock small{display:none}.modern-turn:has(.turn-clock) .fair-play{display:none}}@media (max-width:760px),(max-height:500px) and (max-width:950px){html,body{overscroll-behavior:none;height:100%;overflow:hidden}.game-shell.in-game{width:100%;height:100dvh;height:100svh;padding:env(safe-area-inset-top) 8px calc(8px + env(safe-area-inset-bottom));position:fixed;inset:0;overflow:hidden}.in-game>header{flex-wrap:nowrap;gap:6px;height:48px;min-height:48px}.in-game .brand{font-size:28px}.in-game header nav{flex-wrap:nowrap;gap:3px;margin-left:auto}.in-game header nav .quiet{min-width:34px;min-height:34px;padding:8px;font-size:0}.in-game header nav .quiet:before{font-size:15px}.in-game header nav .quiet:last-child:before{content:"?"}.in-game .fullscreen-button,.in-game .connection,.in-game .home-button{display:none}.in-game .pot{text-overflow:ellipsis;flex-basis:auto;order:0;max-width:95px;margin:0;font-size:11px;overflow:hidden}.in-game>.table{min-height:0;display:flex;overflow:hidden}.in-game .opponents{flex:none;margin:0 0 3px;display:block}.in-game .opponent{grid-template-columns:1fr;gap:1px;display:grid}.in-game .opponent>div:nth-child(2){white-space:nowrap;min-height:17px;font-size:11px;overflow:hidden}.in-game .opponent>div:nth-child(2) small,.in-game .player-score,.in-game .hidden-rack{display:none}.in-game .modern-turn{white-space:nowrap;border-radius:8px;min-height:32px;margin:2px 0 4px;padding:5px 8px;overflow:hidden}.in-game .modern-turn strong{text-overflow:ellipsis;overflow:hidden}.in-game .turn-clock{flex:none;margin-left:auto;font-size:16px}.in-game .deal-zone,.in-game .play-zone{overscroll-behavior:none;overflow:hidden}.in-game .play-zone{padding:0 36px 4px 0}.in-game .placement-help{display:none}.in-game .free-board{touch-action:pan-y;min-height:100%!important}.in-game .free-board.overview{zoom:var(--board-scale);width:calc(100% / var(--board-scale));transform-origin:0 0}.in-game .free-board.overview .floating-meld{align-content:flex-start;width:calc(33.3333% - 8px);min-height:0;flex-wrap:wrap!important;gap:1px!important;max-width:calc(33.3333% - 8px)!important;padding:3px!important}.in-game .free-board.overview .floating-meld .tile{border-radius:3px;width:16px;height:24px;box-shadow:0 2px #b7ab8d}.in-game .free-board.overview .floating-meld .tile span{letter-spacing:0;font-size:11px}.in-game .free-board.overview .floating-meld .tile small,.in-game .free-board.overview .place-slot{display:none}.in-game .free-board.overview .free-new{height:38px;min-height:38px;font-size:10px}.in-game .floating-meld{min-height:74px;overflow:hidden;max-width:calc(100% - 4px)!important;padding:4px!important}.in-game .floating-meld .place-slot{display:none}.in-game .floating-meld .tile{border-radius:4px;width:24px;height:36px}.in-game .floating-meld .tile span{font-size:16px}.in-game .floating-meld .tile small{margin-top:2px;font-size:8px}.in-game .place-slot{height:56px}.in-game .free-new{height:66px;min-height:66px;padding:7px 10px;font-size:12px}.in-game .pool-stack{gap:3px;font-size:10px;top:3px;right:0}.in-game .pool-stack .back-tile{width:29px;height:42px}.in-game .tile{touch-action:manipulation}.in-game>.action-bar{flex:none;gap:3px;margin:3px 0 5px}.in-game .turn-info{display:none}.in-game .action-buttons{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;width:100%;display:grid}.in-game .action-buttons .quiet,.in-game .action-buttons .primary{white-space:nowrap;min-width:0;min-height:35px;margin:0;padding:5px 3px;font-size:10px}.in-game .action-buttons .primary{font-size:13px}.in-game .action-buttons .draw-button{grid-column:span 2;font-size:12px}.in-game .rack-area{flex:none;min-height:0}.in-game .rack-heading{margin:0 0 3px;font-size:10px;line-height:1.2}.in-game .rack-heading small{display:none}.in-game .rack{border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:48px;align-content:start;gap:4px;height:116px;min-height:116px;max-height:116px;padding:6px;display:grid;overflow:hidden}.in-game .rack .tile{border-radius:6px;width:100%;min-width:0;height:46px}.in-game .rack .tile span{font-size:22px}.in-game .rack .tile small{margin-top:2px;font-size:8px}.in-game .rack .tile .joker-face{width:25px;height:25px}.in-game .tile.selected{outline-width:3px;transform:translateY(-4px)}.in-game .table-foot{display:none}.in-game>.table>.hint-panel{z-index:auto;border-radius:10px;flex:none;width:auto;max-height:142px;margin:3px 0 0;padding:9px 11px;position:static;bottom:auto;left:auto;right:auto;overflow:auto;box-shadow:0 5px 18px #00190f55}.in-game>.table>.hint-panel h3{margin:3px 0 5px;font-size:18px}.in-game>.table>.hint-panel>p{display:none}.in-game>.table>.hint-panel .panel-head{gap:8px}.in-game>.table>.hint-panel .eyebrow{font-size:9px}.in-game>.table>.hint-panel .icon-button{padding:0 4px;font-size:20px}.in-game>.table>.hint-panel .hint-step p{margin:2px 0;font-size:11px;line-height:1.35}.in-game>.table>.hint-panel .hint-preview{padding:4px 0 6px}.in-game>.table>.hint-panel .hint-preview .tile{width:29px;height:41px}.in-game>.table>.hint-panel .hint-preview .tile span{font-size:18px}.in-game>.table>.hint-panel .hint-preview .tile small{display:none}.in-game>.table>.hint-panel .hint-controls{gap:5px;margin:0}.in-game>.table>.hint-panel .hint-controls .quiet,.in-game>.table>.hint-panel .hint-controls .primary{padding:7px 9px;font-size:10px}.in-game>.table>.hint-panel>small{margin-top:4px;font-size:9px;line-height:1.25;display:block}}.placement-help{color:#eedaa2;padding:6px 0 12px;font-size:12px;line-height:1.5}.free-board{cursor:default;width:100%;position:relative;margin:0!important;display:block!important}.free-board.placing{cursor:crosshair;background-image:radial-gradient(#ecdb8a30 1px,#0000 1px);background-size:22px 22px;border-radius:12px}.floating-meld{scrollbar-width:thin;width:max-content;max-width:100%;min-height:105px;display:flex;position:absolute;overflow:auto hidden;box-shadow:0 3px 15px #00231625;flex-wrap:nowrap!important;gap:0!important;padding:7px!important;animation:none!important}.tile-and-slot{flex-shrink:0;align-items:center;display:flex}.place-slot{color:#eedba8;opacity:0;touch-action:manipulation;background:0 0;border:0;border-radius:8px;flex-shrink:0;width:16px;min-width:16px;height:80px;font-size:20px}.placing .place-slot{opacity:1;background:#ecd47c12;border:1px dashed #ecd47c77;width:44px;min-width:44px;margin:0 3px}.place-slot:disabled{pointer-events:none}:is(.place-slot:not(:disabled):hover,.place-slot:not(:disabled):focus-visible){background:#f1d37e44;outline:2px solid #f0d275}.end-slot{opacity:.5;width:32px;min-width:32px}.free-new{height:96px;min-height:0;position:absolute;left:0}.in-game .tile{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tile-drag-ghost{z-index:100;pointer-events:none;color:#143e2a;background:#fff3cf;border:3px solid #ffd859;border-radius:12px;padding:14px 20px;font-weight:900;position:fixed;transform:translate(-50%,-120%);box-shadow:0 10px 25px #001d1988}.tile-drag-ghost small{white-space:nowrap;margin-top:4px;font-size:10px;display:block}.in-game .floating-meld{max-width:100%}.free-board .empty-board{pointer-events:none}@media (max-width:760px){.placement-help{padding:4px 0 9px;font-size:11px}.floating-meld{min-height:88px}.floating-meld .tile{width:44px;height:65px;font-size:28px}.place-slot{height:65px}.free-new{height:80px}.in-game .rack .tile{width:44px;height:62px}.in-game .rack{max-height:28dvh}.tile-drag-ghost{padding:10px 14px;font-size:13px}}.difficulty-picker{background:#043c2b;border:1px solid #d5bd7555;border-radius:16px;margin:14px 0;padding:16px 18px;display:block}.difficulty-picker>span{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.difficulty-picker b{color:#ffd44d;font-size:18px}.difficulty-picker input[type=range]{accent-color:#ffd44d;cursor:grab;width:100%}.difficulty-picker small{color:#b9ceb8;margin-top:8px;font-size:11px;line-height:1.45;display:block}.invite-qr{flex-direction:column;align-items:center;gap:8px;margin:16px 0;display:flex}.invite-qr img{border-radius:12px;width:180px;height:180px;display:block}.invite-qr small{color:var(--muted);font-size:12px}.room-code-display{text-align:center;font-size:16px}.room-code-display strong{letter-spacing:5px;color:var(--gold);font-size:30px;display:block}
