:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#16231d;background:#e8ece5;font-synthesis:none;--ink: #16231d;--muted: #657168;--paper: #fffdf7;--green-950: #102c22;--green-900: #173b2d;--green-800: #20513e;--green-700: #27654b;--green-100: #dce9df;--felt: #2b624d;--felt-dark: #1d4938;--gold: #e0af4c;--gold-soft: #f6e7bd;--line: #cdd5cc;--danger: #a43c3f;--blue: #1f5f9b;--orange: #b6551a;--tile-width: clamp(2.65rem, 3.7vw, 3.65rem);--tile-height: calc(var(--tile-width) * 1.29);--dock-height: clamp(16.75rem, 31.5vh, 18.5rem);--topbar-height: 3.55rem}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:#e8ece5}body.game-active,body.game-active #app{width:100%;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}button,input,select{font:inherit}button{border:1px solid #a8b1a8;border-radius:.62rem;padding:.58rem .82rem;background:#fff;color:var(--ink);cursor:pointer}button:hover:not(:disabled){border-color:var(--green-700)}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #f2bd52;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.42}button.primary{border-color:var(--green-800);color:#fff;background:var(--green-800);font-weight:700;box-shadow:inset 0 1px #ffffff30,0 4px 12px #102c2225}button.primary:hover:not(:disabled){background:var(--green-700)}a{color:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.eyebrow,.surface-label,.step-label{margin:0;color:var(--green-700);font-size:.69rem;font-weight:800;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.icon-button{width:2.5rem;height:2.5rem;display:inline-grid;place-items:center;padding:0;border-color:transparent;background:transparent;font-size:1.35rem}.brand-mark{width:2rem;height:2rem;display:inline-grid;place-items:center;border-radius:.48rem;color:#fff;background:var(--green-800);font-family:Georgia,serif;font-size:1.25rem}.setup-shell{min-height:100vh;display:grid;grid-template-columns:minmax(20rem,.83fr) minmax(34rem,1.17fr);background:var(--paper)}.setup-intro{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,8rem);overflow:hidden;color:#f8f4e8;background:radial-gradient(circle at 25% 17%,#447d63 0,transparent 31%),linear-gradient(143deg,var(--green-900),#102b21 70%)}.setup-intro:before,.setup-intro:after{content:"";position:absolute;border:1px solid #ffffff12;border-radius:50%}.setup-intro:before{width:32rem;height:32rem;left:-13rem;bottom:-17rem}.setup-intro:after{width:20rem;height:20rem;right:-10rem;top:-7rem}.brand-link{position:absolute;top:2rem;left:clamp(2rem,5vw,5rem);display:flex;align-items:center;gap:.7rem;color:#fff;font-size:.85rem;font-weight:700;text-decoration:none}.setup-intro .brand-mark{color:var(--green-900);background:#f5e8c5}.setup-intro .eyebrow{color:#e5c77a}.setup-intro h1{position:relative;margin:.75rem 0 1.5rem;font:650 clamp(3.5rem,6vw,6.7rem)/.84 Georgia,serif;letter-spacing:-.055em}.setup-intro h1 em{color:#e8c873;font-weight:500}.setup-lede{max-width:32rem;margin:0 0 2rem;color:#d6e0da;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.setup-promises{display:grid;gap:.65rem;color:#e7eee9;font-size:.85rem}.setup-promises span:first-letter{color:#e8c873}.setup-panel{width:min(47rem,calc(100% - 4rem));align-self:center;justify-self:center;padding:2rem 0}.setup-panel-heading{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-bottom:1.5rem}.setup-panel-heading h2{margin:.2rem 0 0;font:600 clamp(1.8rem,3vw,2.5rem)/1 Georgia,serif}.setup-time{padding:.45rem .7rem;color:var(--muted);border-radius:2rem;background:#f0f2ec;font-size:.75rem}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.setup-panel label{display:grid;gap:.38rem;color:#354139;font-size:.78rem;font-weight:700}.setup-panel input,.setup-panel select{width:100%;min-height:2.85rem;padding:.64rem .72rem;border:1px solid var(--line);border-radius:.58rem;color:var(--ink);background:#fff}.opponent-fieldset{margin:1.5rem 0 .8rem;padding:0;border:0}.opponent-fieldset legend{font-size:.86rem;font-weight:800}.field-help{margin:.22rem 0 .85rem;color:var(--muted);font-size:.76rem}.opponent-help-row{min-height:2rem;display:flex;justify-content:space-between;align-items:start;gap:1rem}.randomize-button{display:inline-flex;align-items:center;gap:.35rem;flex:none;margin-top:-.4rem;padding:.38rem .55rem;color:var(--green-700);border-color:#d4dbd3;background:#f8faf6;font-size:.67rem;font-weight:750}.randomize-button span{color:#9b711b;font-size:1rem;line-height:.7}.opponent-selects{display:grid;gap:.5rem}.opponent-choice{display:grid;grid-template-columns:2.25rem 1fr 8rem;gap:.65rem;align-items:end;padding:.6rem .65rem;border:1px solid #e0e4dc;border-radius:.72rem;background:#fafbf7}.seat-token{width:2.1rem;height:2.1rem;display:grid;place-items:center;align-self:center;border-radius:50%;color:#fff;background:var(--green-700);font-weight:800}.opponent-choice select{min-height:2.45rem;padding:.4rem .55rem;background-color:#fff}.advanced-setup{margin:.4rem 0 1rem;border-top:1px solid #e0e4dc;border-bottom:1px solid #e0e4dc}.advanced-setup summary{padding:.8rem 0;color:#425047;cursor:pointer;font-size:.78rem;font-weight:700}.advanced-grid{padding:0 0 .9rem}.label-help{display:block;color:var(--muted);font-size:.67rem;font-weight:400}.deal-button{width:100%;min-height:3.35rem;display:flex;justify-content:space-between;align-items:center;padding:.7rem 1.15rem;font-size:.95rem}.deal-button kbd{padding:.1rem .35rem;border:1px solid #ffffff50;border-radius:.25rem;font-family:inherit;font-size:.75rem}.setup-note{margin:.65rem 0 0;color:var(--muted);text-align:center;font-size:.69rem}.game-shell{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:var(--topbar-height) auto minmax(0,1fr) var(--dock-height);overflow:hidden;color:#f8fbf8;background:var(--felt-dark)}.game-topbar{z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.55rem 1rem;border-bottom:1px solid #ffffff14;background:var(--green-950);box-shadow:0 4px 18px #07150f33}.game-identity,.game-vitals,.compact-brand{display:flex;align-items:center}.game-identity{gap:.25rem}.game-identity .icon-button{color:#fff;font-size:2rem}.compact-brand{gap:.55rem;color:#fff;font-size:.8rem;font-weight:700;text-decoration:none}.compact-brand .brand-mark{width:1.85rem;height:1.85rem;color:var(--green-950);background:#e8c873}.turn-callout{display:flex;align-items:center;gap:.55rem;padding:.38rem .9rem;border:1px solid #ffffff1a;border-radius:2rem;color:#d9e2dc;background:#ffffff0c;font-size:.72rem}.turn-callout strong{color:#fff;font-size:.82rem}.turn-callout>span:last-child{padding-left:.55rem;border-left:1px solid #ffffff25}.turn-pulse{width:.52rem;height:.52rem;border-radius:50%;background:#c3cabf;box-shadow:0 0 0 4px #ffffff0c}.turn-callout.is-human .turn-pulse{background:#f4c85d;box-shadow:0 0 0 4px #f4c85d18}.game-vitals{justify-content:flex-end;gap:.45rem}.game-vitals>span{min-width:3.3rem;display:grid;grid-template-columns:auto auto;column-gap:.25rem;align-items:baseline;padding:.18rem .5rem;border-right:1px solid #ffffff1b}.game-vitals b{color:#fff;font-size:.92rem}.game-vitals small{color:#aebbb3;font-size:.59rem;text-transform:uppercase}.pool-icon{width:.7rem;height:.85rem;grid-row:span 2;border:1px solid #c9d2cc;border-radius:.12rem;box-shadow:2px -2px #244c3d,2px -2px 0 1px #c9d2cc}.topbar-button{padding:.42rem .72rem;color:#fff;border-color:#ffffff25;background:transparent;font-size:.73rem}.topbar-button.active,.more-button.active{color:var(--green-950);border-color:#e5c77a;background:#e5c77a}.more-button{color:#fff;letter-spacing:.1em}#turn-timer-display.expired{color:#ff9c9e}.opponent-rail{z-index:9;display:flex;justify-content:center;gap:.4rem;padding:.32rem .7rem;color:var(--ink);border-bottom:1px solid #164231;background:#f1f2ec;box-shadow:0 4px 14px #0b251a20}.opponent{width:min(16.5rem,25vw);min-height:2.85rem;display:grid;grid-template-columns:1.8rem 1fr auto;gap:.48rem;align-items:center;padding:.28rem .48rem;text-align:left;border-color:#d1d8d0;background:#fff;box-shadow:0 2px 6px #18352709}.opponent:hover{transform:translateY(-1px)}.opponent.is-playing{border-color:#c69a3c;background:#fff9e8;box-shadow:0 0 0 2px #e9c66f55,0 3px 10px #18352718}.opponent.is-playing .opponent-avatar{color:#513900;background:#e8c873}.opponent-avatar{width:1.8rem;height:1.8rem;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:var(--green-700);font-size:.61rem;font-weight:800}.opponent-copy{min-width:0;display:grid}.opponent-copy strong{overflow:hidden;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.opponent-copy small{overflow:hidden;color:var(--muted);font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.rack-count{display:grid;justify-items:center;padding-left:.45rem;border-left:1px solid #e2e5df}.rack-count b{line-height:1}.rack-count small{color:var(--muted);font-size:.54rem;text-transform:uppercase}.match-peek{display:grid;align-content:center;justify-items:center;padding:.25rem .7rem;border-color:#d1d8d0;background:#e6ebdf;font-size:.58rem}.match-peek strong{font-size:.85rem}.match-peek small{color:var(--green-700)}.table-surface{position:relative;min-height:0;overflow:auto;overflow-anchor:none;padding:.7rem .9rem 1rem;color:#fff;background-color:var(--felt);background-image:radial-gradient(circle at 50% -20%,#ffffff0c,transparent 55%),repeating-linear-gradient(127deg,#ffffff08 0 1px,transparent 1px 5px);box-shadow:inset 0 0 55px #0b2d2065;scrollbar-color:#ffffff40 transparent}.table-toolbar{position:sticky;z-index:5;top:-.35rem;min-height:3.1rem;display:grid;grid-template-columns:minmax(8rem,auto) minmax(18rem,1fr) auto;align-items:center;gap:.75rem;margin-bottom:.4rem;padding:.1rem .3rem .2rem;border-bottom:1px solid #ffffff18;background:linear-gradient(var(--felt) 88%,transparent)}.table-heading{min-width:0;display:flex;align-items:baseline;gap:.55rem;white-space:nowrap}.table-toolbar .surface-label{color:#d5c27d}.table-toolbar h1{margin:0;font:600 clamp(1.15rem,1.8vw,1.5rem)/1.1 Georgia,serif}.workspace-actions{display:flex;gap:.3rem}.quiet-button{padding:.42rem .62rem;color:inherit;border-color:transparent;background:transparent;font-size:.7rem}.table-toolbar .quiet-button{color:#eef5f0;border-color:#ffffff1d;background:#143e2e42}.playback-slot{min-width:0;min-height:2.75rem;display:grid;place-items:center}.table-turn-note{min-width:15rem;display:flex;align-items:center;justify-content:center;gap:.55rem;color:#d4e1d8}.table-turn-note>span{color:#e8c873;font-size:.7rem}.table-turn-note>div{min-width:0;display:grid}.table-turn-note strong{font-size:.68rem}.table-turn-note small{overflow:hidden;color:#b5c8bc;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.opponent-playback{width:min(43rem,100%);min-height:2.5rem;display:grid;grid-template-columns:auto auto minmax(7rem,1fr) auto;gap:.5rem;align-items:center;padding:.18rem .45rem;color:var(--ink);border:1px solid #dac16f;border-radius:.62rem;background:#fffdf6f5;box-shadow:0 5px 16px #09271b38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.playback-avatar{width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green-700);font-size:.62rem;font-weight:850}.playback-action{width:1.65rem;height:1.65rem;display:flex;justify-content:center;align-items:center;gap:.13rem;color:#6d4b02;border-radius:50%;background:var(--gold-soft);font-size:.8rem;font-weight:900}.playback-action i{width:.22rem;height:.22rem;border-radius:50%;background:#947129;animation:playback-dot .9s infinite ease-in-out}.playback-action i:nth-child(2){animation-delay:.15s}.playback-action i:nth-child(3){animation-delay:.3s}.playback-copy{min-width:0;display:grid;gap:.04rem}.opponent-playback small{color:#787b71;font-size:.52rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.opponent-playback strong{font:600 .78rem/1.1 Georgia,serif}.opponent-playback p{overflow:hidden;margin:0;color:#586158;font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.playback-controls{display:flex;gap:.22rem}.opponent-playback button{min-height:1.9rem;padding:.28rem .42rem;color:var(--green-700);border-color:#d4d9d1;background:#fff;font-size:.56rem;font-weight:750;white-space:nowrap}.opponent-playback #next-playback{color:#fff;border-color:var(--green-700);background:var(--green-700)}.melds{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.52rem;min-height:calc(var(--tile-height) + 1.25rem);padding:.2rem}.meld{--meld-gutter-width: clamp(.375rem, calc(var(--tile-width) * .41), 1.1rem);position:relative;min-width:calc(var(--tile-width) * 3 + var(--meld-gutter-width) + 1rem);min-height:calc(var(--tile-height) + .9rem);display:flex;align-items:center;gap:.26rem;padding:.4rem calc(var(--meld-gutter-width) + .4rem) .4rem .42rem;border:1px solid #ffffff24;border-radius:.62rem;background:#103c2b42;box-shadow:inset 0 1px #ffffff0a,0 8px 18px #09271b18}.meld.valid{border-color:#91c6a55e}.meld.invalid{border-color:#f1c16880;background:#73591d1c}.meld.empty-meld{border-style:dashed}.meld-gutter{position:absolute;z-index:3;top:0;right:0;bottom:0;width:var(--meld-gutter-width);min-height:0;display:grid;place-items:center;padding:0;color:#b9dcc5;border:0;border-left:1px solid #ffffff24;border-radius:0 .58rem .58rem 0;background:#0c32245c;cursor:default}.meld-gutter:disabled{cursor:default;opacity:1}.meld-gutter span{width:min(1.35rem,calc(var(--meld-gutter-width) - .22rem));height:min(1.35rem,calc(var(--meld-gutter-width) - .22rem));display:grid;place-items:center;border-radius:50%;color:#17442f;background:#a9d7b7;font-size:clamp(.5rem,calc(var(--meld-gutter-width) * .3),.7rem);font-weight:850}.meld.invalid .meld-gutter span{color:#4d3100;background:#f2c56b}.meld-gutter.ready{color:#fff;border-left-color:#e7ca7b66;background:#ffffff12;cursor:pointer}.meld-gutter.ready span{width:min(1.65rem,calc(var(--meld-gutter-width) - .18rem));height:min(1.65rem,calc(var(--meld-gutter-width) - .18rem));color:#4f3908;border:1px solid #f0d283;background:#efd07d;font-size:clamp(.65rem,calc(var(--meld-gutter-width) * .42),1.15rem)}.meld-gutter.ready:hover{border-left-color:#f0d283;background:#ffffff20}.meld-gutter:focus-visible{outline:3px solid #f0d283;outline-offset:-3px}.new-meld-zone{flex:0 0 calc(var(--tile-width) * 3 + 1.75rem);width:calc(var(--tile-width) * 3 + 1.75rem);min-width:0;height:calc(var(--tile-height) + .9rem);min-height:0;display:grid;place-content:center;justify-items:center;gap:.15rem;padding:.25rem;overflow:hidden;color:#dce8e0;border:1px dashed #ffffff4c;background:#ffffff09}.new-meld-zone:hover:not(:disabled),.new-meld-zone.drag-over{color:#fff;border-color:#e8c873;background:#ffffff14}.new-meld-zone .plus{width:1.65rem;height:1.65rem;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:1.1rem}.new-meld-zone strong,.new-meld-zone small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-meld-zone strong{font-size:.72rem}.new-meld-zone small{color:#b7c9bf;font-size:.58rem}.drop-zone.drag-over{outline:3px solid #f2c65e;outline-offset:2px}.table-empty-guide{width:min(38rem,calc(100% - 3rem));display:grid;grid-template-columns:2rem 1fr 3rem 2rem 1fr;gap:.65rem;align-items:center;margin:1rem auto;padding:.8rem 1rem;color:#dbe8df;border:1px solid #ffffff18;border-radius:.8rem;background:#133f2f66}.table-empty-guide>span{width:1.9rem;height:1.9rem;display:grid;place-items:center;border:1px solid #e2c16d;border-radius:50%;color:#edd690;font-family:Fraunces,serif}.table-empty-guide p{margin:0;font-size:.64rem;line-height:1.45}.table-empty-guide p strong{font-size:.7rem}.table-empty-guide i{height:1px;background:#ffffff2a}.table-surface.density-compact{--tile-width: clamp(2.15rem, 3vw, 2.55rem);--tile-height: calc(var(--tile-width) * 1.29)}.table-surface.density-dense{--tile-width: clamp(1.72rem, 2.35vw, 2rem);--tile-height: calc(var(--tile-width) * 1.29)}.table-surface.density-overview{--tile-width: clamp(1.32rem, 1.8vw, 1.62rem);--tile-height: calc(var(--tile-width) * 1.29);padding-bottom:.1rem}.table-surface.density-compact .melds{gap:.36rem}.table-surface.density-dense .melds{gap:.26rem}.table-surface.density-overview .melds{gap:.18rem}.table-surface.density-compact .meld{min-width:calc(var(--tile-width) * 3 + var(--meld-gutter-width) + .75rem);min-height:calc(var(--tile-height) + .65rem);gap:.18rem;padding:.28rem calc(var(--meld-gutter-width) + .3rem) .28rem .3rem}.table-surface.density-dense .meld{min-width:calc(var(--tile-width) * 3 + var(--meld-gutter-width) + .55rem);min-height:calc(var(--tile-height) + .46rem);gap:.13rem;padding:.2rem calc(var(--meld-gutter-width) + .22rem) .2rem .22rem;border-radius:.45rem}.table-surface.density-overview .meld{min-width:calc(var(--tile-width) * 3 + var(--meld-gutter-width) + .3rem);min-height:calc(var(--tile-height) + .28rem);gap:.08rem;padding:.12rem calc(var(--meld-gutter-width) + .12rem) .12rem .12rem;border-radius:.3rem;box-shadow:none}.table-surface.density-compact .new-meld-zone{flex-basis:calc(var(--tile-width) * 3 + 1.25rem);width:calc(var(--tile-width) * 3 + 1.25rem);height:calc(var(--tile-height) + .65rem)}.table-surface.density-dense .new-meld-zone{flex-basis:calc(var(--tile-width) * 3 + .9rem);width:calc(var(--tile-width) * 3 + .9rem);height:calc(var(--tile-height) + .46rem);padding:.12rem}.table-surface.density-overview .new-meld-zone{flex-basis:calc(var(--tile-width) * 3 + .52rem);width:calc(var(--tile-width) * 3 + .52rem);height:calc(var(--tile-height) + .28rem);padding:.08rem}.table-surface.density-compact .new-meld-zone small,.table-surface.density-dense .new-meld-zone small,.table-surface.density-overview .new-meld-zone strong,.table-surface.density-overview .new-meld-zone small{display:none}.table-surface.density-dense .new-meld-zone .plus{width:1.3rem;height:1.3rem;font-size:.86rem}.table-surface.density-overview .new-meld-zone .plus{width:1.2rem;height:1.2rem;font-size:.8rem}.table-surface.density-dense .tile,.table-surface.density-overview .tile{border-radius:.3rem;box-shadow:0 2px #aaa697,0 3px 5px #10251a24}.table-surface.density-overview .tile{border-radius:.22rem;box-shadow:0 1px #aaa697}.table-surface.density-dense .tile-number{font-size:1rem}.table-surface.density-overview .tile-number{font-size:.78rem}.table-surface.density-dense .tile-color{margin-top:.08rem;font-size:.35rem}.table-surface.density-overview .tile-color{display:none}.table-surface.density-overview .tile:after{inset:2px;border-radius:.12rem}.table-surface.density-dense .playback-slot:has(.table-turn-note),.table-surface.density-overview .playback-slot:has(.table-turn-note){display:none}.table-surface.density-overview .table-toolbar{min-height:2.75rem}.board-view-button{white-space:nowrap}.tile{position:relative;flex:0 0 var(--tile-width);width:var(--tile-width);height:var(--tile-height);display:grid;align-content:center;justify-items:center;padding:.2rem;overflow:hidden;color:#272b2a;border:1px solid #cac6b8;border-radius:.48rem;background:#fffdf5;box-shadow:0 3px #aaa697,0 5px 10px #10251a28;-webkit-user-select:none;user-select:none;touch-action:manipulation}.tile:after{content:"";position:absolute;inset:4px;pointer-events:none;border:1px solid currentColor;border-radius:.3rem;opacity:.11}.tile:hover{transform:translateY(-3px);box-shadow:0 5px #aaa697,0 9px 14px #10251a35}.tile.selected{z-index:2;transform:translateY(-7px);border-color:#f3bd4f;box-shadow:0 0 0 3px #f3bd4f,0 7px #9d803d,0 12px 20px #081c124c}.tile-number{font:650 clamp(1.3rem,2.35vw,1.8rem)/1 Georgia,serif}.tile-color{margin-top:.2rem;font-size:clamp(.43rem,.58vw,.56rem);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.selection-check{position:absolute;top:.23rem;right:.26rem;width:1rem;height:1rem;display:none;place-items:center;border-radius:50%;color:#342300;background:#f4c14e;font-size:.64rem;font-weight:900}.tile.selected .selection-check{display:grid}.tile.opponent-added{z-index:2;border-color:#e7b33f;box-shadow:0 0 0 3px #efc75a,0 5px #9d803d,0 10px 22px #081c125c;animation:opponent-tile-in .42s ease-out both}.tile.opponent-moved{border-color:#d6b85d;box-shadow:0 0 0 2px #efd475aa,0 3px #aaa697,0 7px 14px #10251a35;animation:opponent-tile-move .42s ease-out both}.tile.red{color:#b52e35;background-image:linear-gradient(135deg,transparent 75%,#b52e350f 75%)}.tile.blue{color:#2164a2;background-image:repeating-linear-gradient(135deg,transparent 0 8px,#2164a20b 8px 10px)}.tile.black{color:#22272a;background-image:radial-gradient(#22272a0d 1px,transparent 1px);background-size:5px 5px}.tile.orange{color:#bc5a17;background-image:linear-gradient(45deg,#bc5a170a 25%,transparent 25% 75%,#bc5a170a 75%);background-size:10px 10px}.tile.joker{color:#603b78;background:linear-gradient(145deg,#fffdf8 30%,#eaddf0)}.tile.just-drawn{z-index:3;border-color:#2f7d59;box-shadow:0 0 0 3px #67a77f,0 4px #7a9e83,0 9px 20px #173c2c4a}.tile.just-drawn.is-fresh{animation:drawn-tile-in .5s ease-out both}.drawn-badge{position:absolute;right:.18rem;bottom:.16rem;padding:.11rem .24rem;color:#fff;border-radius:.25rem;background:var(--green-700);font-size:.43rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.player-dock{z-index:15;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding:.4rem .75rem .48rem;color:var(--ink);border-top:3px solid #a97f31;background:linear-gradient(#fffdf9,#f5f0e5);box-shadow:0 -10px 30px #0c261b46}.dock-status{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:2.25rem;padding-bottom:.35rem;border-bottom:1px solid #dfe3dc}.opening-progress,.validation-chip{display:flex;align-items:center;gap:.55rem;min-width:0}.opening-icon{width:1.7rem;height:1.7rem;display:grid;place-items:center;flex:none;border-radius:50%;color:#5d4305;background:var(--gold-soft);font-size:.69rem;font-weight:900}.opening-progress.complete .opening-icon{color:#fff;background:var(--green-700)}.opening-progress div,.validation-chip div{min-width:0;display:grid}.opening-progress strong,.validation-chip strong{font-size:.69rem;line-height:1.1}.opening-progress small,.validation-chip small{overflow:hidden;color:var(--muted);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.validation-chip{max-width:26rem;padding:.3rem .55rem;border:1px solid #dce1da;border-radius:.48rem;background:#f6f7f2}.validation-chip>span{width:.6rem;height:.6rem;flex:none;border:2px solid #a4aea6;border-radius:50%}.validation-chip.checking>span{border-color:#d0a54f;border-top-color:transparent;animation:spin .8s linear infinite}.validation-chip.legal{border-color:#b5d5bf;background:#edf7ef}.validation-chip.legal>span{border-color:#348259;background:#348259}.validation-chip.illegal{border-color:#e0b9b9;background:#fff1ef}.validation-chip.illegal>span{border-color:var(--danger);background:var(--danger)}.rack-heading{min-height:2rem;display:flex;align-items:center;gap:.65rem}.rack-heading>div:first-child{margin-right:auto}.rack-heading .surface-label{color:var(--green-700);font-size:.55rem}.rack-heading h2{margin:0;font:600 .95rem/1.05 Georgia,serif}.rack-heading h2 span{color:var(--muted);font:600 .66rem Inter,ui-sans-serif,sans-serif}.selection-tools{display:flex;align-items:center;gap:.35rem;visibility:hidden;opacity:0;pointer-events:none}.selection-tools.visible{visibility:visible;opacity:1;pointer-events:auto}.selection-tools strong{margin-right:.2rem;color:var(--green-700);font-size:.66rem}.selection-tools button{min-height:1.85rem;padding:.28rem .55rem;font-size:.62rem}.selection-tools .icon-button{width:1.85rem}.rack-sort{min-height:1.9rem;display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .5rem;color:var(--green-700);border-color:#cfd7cf;background:#f8faf6}.rack-sort span{color:var(--muted);font-size:.58rem;font-weight:600}.rack-sort strong{min-width:2.8rem;text-align:left;font-size:.64rem}.rack-sort i{color:#78847b;font-size:.72rem;font-style:normal}.drawn-callout{display:flex;align-items:center;gap:.38rem;padding:.24rem .45rem;color:#26583f;border:1px solid #b7d3bf;border-radius:2rem;background:#edf7ef}.drawn-callout.is-fresh{animation:drawn-callout-in .3s ease-out both}.drawn-callout>span{font-size:.53rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.drawn-callout strong{display:flex;align-items:center;gap:.24rem;font-size:.63rem}.drawn-callout i{width:.48rem;height:.48rem;display:block;border-radius:50%;background:currentColor}.drawn-callout i.red{color:#b52e35}.drawn-callout i.blue{color:#2164a2}.drawn-callout i.black{color:#22272a}.drawn-callout i.orange{color:#bc5a17}.drawn-callout i.joker{color:#603b78}.rack-row{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:stretch}.rack-tiles{min-width:0;min-height:0;display:grid;grid-template-rows:repeat(2,max-content);align-content:center;gap:.42rem;padding:.28rem .42rem .38rem;overflow:hidden;border:1px solid #d8d2c4;border-bottom:4px solid #9a7541;border-radius:.45rem .45rem .2rem .2rem;background:linear-gradient(#ece6d9 0 8%,#ded5c3 8% 14%,#f3eee4 14%)}.rack-tier{min-width:0;min-height:0;display:flex;justify-content:center;align-items:end;gap:.45rem;overflow:hidden}.rack-tiles .tile{--tile-width: var(--rack-tile-width, 4rem);--tile-height: calc(var(--tile-width) * 1.29);flex:none}.rack-tiles .tile-number{font-size:clamp(.9rem,calc(var(--tile-width) * .48),1.8rem)}.rack-tiles .tile-color{font-size:clamp(.35rem,calc(var(--tile-width) * .13),.56rem)}.rack-tiles .tile:hover{transform:none}.rack-tiles .tile.selected{transform:none;border:3px solid #f3bd4f;box-shadow:0 3px #9d803d,0 6px 12px #081c1238}.rack-row{grid-template-columns:5rem minmax(0,1fr) minmax(8.3rem,11rem)}.turn-actions{display:contents}.draw-button{grid-column:1;grid-row:1}.rack-tiles{grid-column:2;grid-row:1}.submit-button{grid-column:3;grid-row:1}.draw-button{display:grid;place-content:center;justify-items:center;gap:.3rem;color:#334038;border-color:#c5ccc4;background:#f8faf6;font-size:.67rem;font-weight:700}.draw-stack{width:1.45rem;height:1.85rem;display:block;border:1px solid #8a978e;border-radius:.2rem;background:repeating-linear-gradient(45deg,#e4e8e0 0 3px,#f8faf6 3px 6px);box-shadow:3px -3px #f8faf6,3px -3px 0 1px #8a978e}.submit-button{display:grid;place-content:center;gap:.15rem}.submit-button span{font-size:.8rem}.submit-button small{color:#d9e7de;font-size:.56rem;font-weight:500}.message-bar{min-height:1.65rem;display:grid;grid-template-columns:1rem minmax(0,1fr) auto;gap:.4rem;align-items:center;padding-top:.35rem;color:#3d4942;font-size:.61rem}.message-bar>span{width:.92rem;height:.92rem;display:grid;place-items:center;border:1px solid #8a968e;border-radius:50%;color:#5d685f;font-size:.52rem;font-weight:800}.message-bar p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.message-bar button{min-height:1.35rem;padding:.13rem .4rem;border:0;color:var(--green-700);background:transparent;font-size:.59rem;font-weight:700}.message-bar.success>span{color:#fff;border-color:var(--green-700);background:var(--green-700)}.message-bar.error{color:var(--danger)}.message-bar.error>span{color:#fff;border-color:var(--danger);background:var(--danger)}.game-drawer{position:fixed;z-index:50;top:0;right:0;bottom:0;width:min(28rem,92vw);display:grid;grid-template-rows:auto auto minmax(0,1fr);color:var(--ink);background:var(--paper);box-shadow:-12px 0 45px #06130d70}.game-drawer.opening{animation:drawer-in .2s ease-out}.drawer-scrim{position:fixed;z-index:49;inset:0;border:0;border-radius:0;background:#071a1269}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.15rem 1.25rem .85rem;border-bottom:1px solid #e0e4dd}.drawer-header h2{margin:.15rem 0 0;font:600 1.5rem/1 Georgia,serif}.drawer-tabs{display:flex;gap:.2rem;padding:.45rem 1rem 0;overflow-x:auto;border-bottom:1px solid #e0e4dd;scrollbar-width:thin}.drawer-tabs button{flex:none;padding:.55rem .65rem;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--muted);background:transparent;font-size:.69rem;font-weight:700}.drawer-tabs button.active{color:var(--green-700);border-bottom-color:var(--green-700)}.drawer-body{min-height:0;overflow:auto;padding:1rem 1.25rem 2rem}.coach-intro{display:flex;gap:.75rem;padding:.85rem;border-radius:.7rem;background:var(--green-100)}.coach-intro>span{width:2rem;height:2rem;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:var(--green-700);font:600 1.1rem Georgia,serif}.coach-intro strong{font-size:.8rem}.coach-intro p{margin:.2rem 0 0;color:#526158;font-size:.68rem;line-height:1.5}.hint-levels{display:grid;gap:.45rem;margin:.85rem 0}.hint-levels button{display:grid;gap:.12rem;padding:.7rem .8rem;text-align:left;border-color:#d8ddd7}.hint-levels button span{font-size:.76rem;font-weight:800}.hint-levels button small{color:var(--muted);font-size:.63rem}.hint{padding:1rem;border-left:4px solid var(--gold);border-radius:0 .6rem .6rem 0;background:#fbf2d9}.hint h3{margin:.2rem 0 .55rem;font:600 1.1rem/1.15 Georgia,serif}.hint>p:not(.eyebrow){font-size:.76rem;line-height:1.55}.hint .primary{width:100%}.hint.search-limited{border-left-color:#a96b32;background:#fff1df}.hint-action-summary{color:var(--green-700);font-weight:750}.search-caveat{padding:.6rem .65rem;color:#704a22;border:1px solid #e0bd91;border-radius:.45rem;background:#fff8ed}.configuration-panel{display:grid;gap:1rem}.configuration-intro{display:flex;gap:.75rem;padding:.85rem;border-radius:.7rem;background:var(--green-100)}.configuration-intro>span{width:2rem;height:2rem;display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;background:var(--green-700);font-size:1.05rem}.configuration-intro strong{font-size:.8rem}.configuration-intro p{margin:.2rem 0 0;color:#526158;font-size:.68rem;line-height:1.5}.speed-options{display:grid;gap:.45rem;margin:0;padding:0;border:0}.speed-options legend{margin-bottom:.55rem;font-size:.69rem;font-weight:800}.speed-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.72rem .75rem;cursor:pointer;border:1px solid #d8ddd7;border-radius:.65rem;background:#fff}.speed-option:hover{border-color:#8cac97;background:#fbfdf9}.speed-option.selected{border-color:#4d8a68;background:#edf7ef;box-shadow:0 0 0 1px #4d8a6838}.speed-option input{width:1rem;height:1rem;margin:0;accent-color:var(--green-700)}.speed-option>span{min-width:0;display:grid;gap:.16rem}.speed-option strong{font-size:.75rem}.speed-option strong em{margin-left:.25rem;padding:.1rem .28rem;color:#5e470e;border-radius:.25rem;background:var(--gold-soft);font-size:.48rem;font-style:normal;letter-spacing:.05em;text-transform:uppercase}.speed-option small{color:var(--muted);font-size:.62rem;line-height:1.4}.speed-option>b{color:var(--green-700);font-size:.58rem;white-space:nowrap}.configuration-note{margin:0;padding-top:.2rem;color:var(--muted);font-size:.63rem;line-height:1.5}.configuration-divider{height:1px;background:#e0e4dd}.board-order-intro{background:#f2efe5}.board-order-intro>span{background:#75642c}.board-order-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:0;padding:0;border:0}.board-order-options legend{grid-column:1 / -1;margin-bottom:.1rem;font-size:.69rem;font-weight:800}.board-order-option{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:start;padding:.65rem;cursor:pointer;border:1px solid #d8ddd7;border-radius:.65rem;background:#fff}.board-order-option:hover{border-color:#8cac97;background:#fbfdf9}.board-order-option.selected{border-color:#4d8a68;background:#edf7ef;box-shadow:0 0 0 1px #4d8a6838}.board-order-option input{width:1rem;height:1rem;margin:.08rem 0 0;accent-color:var(--green-700)}.board-order-option>span{min-width:0;display:grid;gap:.18rem}.board-order-option strong{font-size:.7rem;line-height:1.25}.board-order-option strong em{margin-left:.2rem;padding:.1rem .25rem;color:#5e470e;border-radius:.25rem;background:var(--gold-soft);font-size:.46rem;font-style:normal;letter-spacing:.05em;text-transform:uppercase}.board-order-option small{color:var(--muted);font-size:.58rem;line-height:1.4}.solver-progress{display:flex;gap:.7rem;align-items:center;padding:.9rem;border:1px solid #c8d8cc;border-radius:.65rem;background:#eff6ef}.solver-progress>span{width:1.25rem;height:1.25rem;flex:none;border:3px solid #92ad9b;border-top-color:var(--green-700);border-radius:50%;animation:spin .8s linear infinite}.solver-progress strong{font-size:.75rem}.solver-progress p{margin:.2rem 0 0;color:var(--muted);font-size:.64rem;line-height:1.45}.coach-empty,.drawer-empty{padding:1.2rem;text-align:center;color:var(--muted);border:1px dashed #cbd2ca;border-radius:.7rem}.coach-empty strong,.drawer-empty strong{color:var(--ink);font-size:.78rem}.coach-empty p,.drawer-empty p{margin:.3rem 0;font-size:.68rem;line-height:1.5}.shortcut-help{margin-top:1rem;border-top:1px solid #e0e4dd}.shortcut-help summary{padding:.85rem 0;cursor:pointer;font-size:.7rem;font-weight:700}.shortcut-help dl{margin:0}.shortcut-help dl div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid #ecefe9;font-size:.65rem}.shortcut-help dt{font-weight:700}.shortcut-help dd{margin:0;color:var(--muted)}.player-detail-list{display:grid;gap:.45rem}.player-detail-list article{display:grid;grid-template-columns:2rem 1fr auto;gap:.65rem;align-items:center;padding:.7rem;border:1px solid #e0e4dd;border-radius:.65rem}.player-detail-list article p{margin:.12rem 0;color:var(--muted);font-size:.62rem}.player-detail-list article strong{font-size:.74rem}.player-detail-list article small{color:var(--muted);font-size:.58rem}.match-status{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e4dd}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.section-heading h3{margin:.15rem 0;font:600 1.05rem Georgia,serif}.section-heading>small{max-width:12rem;color:var(--muted);text-align:right;font-size:.58rem}.standings{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.6rem}.standings>div{display:grid;grid-template-columns:1fr auto;gap:.1rem .5rem;padding:.65rem;border-radius:.55rem;background:#eff2ec;font-size:.64rem}.standings strong{grid-row:span 2;align-self:center;font-size:1rem}.standings small{color:var(--muted);font-size:.56rem}.standings .human-standing{color:#fff;background:var(--green-700)}.standings .human-standing small{color:#dce8e0}.bot-moves>p{font-size:.74rem;line-height:1.5}.move-summary{margin:.7rem 0;padding:.55rem .65rem;color:#26583f;border:1px solid #b7d3bf;border-radius:.5rem;background:#edf7ef}.step-controls{display:flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.62rem}.step-controls button{min-width:1.85rem;padding:.28rem .45rem}.diff{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center;margin:.7rem 0;padding:.7rem;border-radius:.55rem;background:#f0f2ed}.diff>div>small{display:block;margin-bottom:.3rem;color:var(--muted);font-size:.56rem;text-transform:uppercase}.mini-table{display:grid;gap:.25rem;font-family:ui-monospace,monospace;font-size:.62rem}.mini-meld{display:flex;flex-wrap:wrap;gap:.16rem}.mini-tile{display:inline-block;padding:.12rem .2rem;border:1px solid #d3d8d1;border-radius:.2rem;background:#fff;font-style:normal}.mini-tile.moved{border-color:#ad7d15;background:#f1ce7a}.mini-tile.added{color:#fff;border-color:#2f7d59;background:#348259;font-weight:800}.history{margin-top:1.2rem;padding-top:1rem;border-top:1px solid #e0e4dd}.history ol{display:grid;gap:.2rem;margin:.6rem 0 0;padding:0;list-style:none}.history li{display:flex;gap:.55rem;align-items:center;font-size:.67rem}.history-turn{width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:50%;color:var(--muted);background:#edf0ea;font-size:.57rem}.history li p{margin:0}.replay-verified{margin-bottom:.8rem;padding:.55rem;color:var(--green-700);border-radius:.5rem;background:var(--green-100);font-size:.7rem;font-weight:800}.replay h3{margin:.2rem 0 .8rem;font:600 1.1rem Georgia,serif}.replay .mini-table{padding:.75rem;border-radius:.55rem;background:#f0f2ed}.replay-meta{display:flex;justify-content:space-between;margin:.7rem 0;color:var(--muted);font-size:.65rem}.replay-controls{justify-content:space-between}.outcome-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:1rem;color:var(--ink);background:#06170f99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.outcome{position:relative;width:min(32rem,100%);padding:2rem;text-align:center;border:1px solid #dbc47c;border-radius:1rem;background:var(--paper);box-shadow:0 25px 70px #020b075c}.outcome-close{position:absolute;top:.55rem;right:.55rem;color:var(--muted)}.outcome-mark{width:3rem;height:3rem;display:grid;place-items:center;margin:0 auto 1rem;border-radius:50%;color:#62480a;background:var(--gold-soft);font-size:1.4rem}.outcome h2{margin:.35rem 0 1rem;font:600 2rem/1.05 Georgia,serif}.outcome-scores{display:flex;justify-content:center;gap:.45rem}.outcome-scores span{min-width:4rem;display:grid;padding:.5rem;border-radius:.5rem;background:#eff1ec}.outcome-scores small{color:var(--muted);font-size:.58rem}.outcome-scores strong{font-size:1rem}.outcome-match{margin:.9rem 0;padding:.75rem;border:1px solid #dce2da;border-radius:.65rem;background:#f8f9f5;text-align:left}.outcome-match>strong{display:block;margin-bottom:.45rem;text-align:center;font-size:.68rem}.outcome .primary{width:100%;margin-top:.7rem}.text-button,.json-link{display:inline-block;margin-top:.7rem;padding:.3rem;border:0;color:var(--green-700);background:transparent;font-size:.66rem;font-weight:700}.json-link{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes playback-dot{0%,70%,to{transform:translateY(0);opacity:.45}35%{transform:translateY(-.22rem);opacity:1}}@keyframes opponent-tile-in{0%{opacity:.25;transform:translateY(-14px) scale(.92)}}@keyframes opponent-tile-move{0%{transform:translateY(-8px)}}@keyframes drawn-tile-in{0%{opacity:.4;transform:translateY(12px) scale(.92)}}@keyframes drawn-callout-in{0%{opacity:0;transform:translateY(5px)}}@media(max-width:900px){:root{--dock-height: clamp(14.8rem, 29vh, 17rem);--tile-width: clamp(2.5rem, 5vw, 3.25rem)}.setup-shell{grid-template-columns:1fr}.setup-intro{min-height:auto;padding:5.5rem 2rem 2.5rem}.setup-intro h1{font-size:clamp(3.2rem,12vw,5.5rem)}.setup-panel{width:min(44rem,calc(100% - 2rem));padding:2rem 0 3rem}.game-topbar{grid-template-columns:auto 1fr auto}.compact-brand span:last-child{display:none}.turn-callout{justify-self:center}.turn-callout>span:last-child{display:none}.opponent-copy small{display:none}.opponent{grid-template-columns:2rem 1fr auto}.table-toolbar{grid-template-columns:minmax(7rem,auto) minmax(14rem,1fr) auto;gap:.45rem}.playback-action{display:none}.rack-row{gap:.45rem}.rack-row{grid-template-columns:4.5rem minmax(0,1fr) 8.5rem}.selection-tools strong{display:none}}@media(max-width:620px){:root{--topbar-height: 3.2rem;--dock-height: clamp(15.75rem, 33vh, 17.5rem);--tile-width: 2.45rem}.setup-intro{padding:5rem 1.25rem 2rem}.brand-link{left:1.25rem}.setup-panel{width:calc(100% - 1.5rem)}.setup-grid{grid-template-columns:1fr}.opponent-choice{grid-template-columns:2.1rem minmax(0,1fr)}.opponent-choice .tier-label{grid-column:2}.game-shell{min-height:0;grid-template-rows:var(--topbar-height) 2.85rem minmax(0,1fr) var(--dock-height)}.game-topbar{padding:.35rem .45rem;gap:.25rem}.game-identity .icon-button{width:1.9rem}.compact-brand .brand-mark{width:1.7rem;height:1.7rem}.turn-callout{gap:.35rem;padding:.32rem .52rem}.turn-callout strong{font-size:.69rem}.game-vitals>span{min-width:2.2rem;padding:.1rem .25rem}.game-vitals span:nth-child(2),.game-vitals .timer-vital,.pool-icon,.topbar-button{display:none}.game-vitals small{font-size:.48rem}.more-button{width:2rem;height:2rem}.opponent-rail{justify-content:stretch;gap:.25rem;padding:.3rem .4rem;overflow-x:auto}.opponent{width:auto;min-width:6.2rem;min-height:2.2rem;grid-template-columns:1.65rem 1fr auto;gap:.28rem;padding:.24rem .3rem}.opponent-avatar{width:1.55rem;height:1.55rem;font-size:.53rem}.opponent-copy strong{max-width:4rem;font-size:.58rem}.rack-count b{font-size:.7rem}.rack-count small{display:none}.match-peek{min-width:3.4rem}.table-surface{padding:.45rem .35rem .65rem}.table-toolbar{top:-.2rem;grid-template-columns:minmax(6.5rem,1fr) auto;gap:.3rem;margin-bottom:.35rem;padding:.2rem .2rem .35rem}.playback-slot{grid-column:1 / -1;grid-row:2;width:100%;min-height:2.8rem}.playback-slot:has(.table-turn-note){display:none}.table-turn-note{min-width:0}.table-turn-note small{max-width:15rem}.workspace-actions{grid-column:2;grid-row:1}.table-toolbar h1{font-size:.95rem}.opponent-playback{grid-template-columns:auto minmax(0,1fr) auto;gap:.35rem;width:100%;min-height:2.8rem;margin:0;padding:.32rem .38rem}.playback-avatar{width:2rem;height:2rem}.playback-action{display:none}.opponent-playback p{max-width:10rem}.playback-controls{display:grid;gap:.12rem}.opponent-playback button{min-height:1.25rem;padding:.12rem .3rem;font-size:.49rem}.workspace-actions .quiet-button{padding:.3rem .4rem}.workspace-actions .quiet-button span{display:none}.table-surface.density-overview{--tile-width: .92rem;padding-bottom:.1rem}.table-surface.density-overview .table-toolbar{min-height:2.2rem;margin-bottom:.15rem;padding-top:.05rem;padding-bottom:.2rem}.table-surface.density-dense{--tile-width: 1.48rem}.melds{gap:.45rem;padding:.15rem}.meld{min-width:calc(var(--tile-width) * 3 + var(--meld-gutter-width) + .85rem);min-height:calc(var(--tile-height) + .9rem);gap:.22rem;padding:.4rem calc(var(--meld-gutter-width) + .32rem) .4rem .32rem}.new-meld-zone{flex-basis:calc(var(--tile-width) * 3 + 1.7rem);width:calc(var(--tile-width) * 3 + 1.7rem);height:calc(var(--tile-height) + .9rem)}.new-meld-zone small{display:none}.table-empty-guide{width:calc(100% - 1rem);grid-template-columns:1.7rem 1fr;margin:.6rem auto}.table-empty-guide i,.table-empty-guide>span:nth-of-type(2),.table-empty-guide p:last-child{display:none}.player-dock{padding:.35rem .4rem .45rem}.dock-status{gap:.35rem;min-height:2.15rem}.opening-progress small{max-width:11rem}.validation-chip{max-width:10.5rem;padding:.25rem .35rem}.validation-chip small{max-width:8rem}.rack-heading{gap:.25rem}.rack-heading>div:first-child{display:none}.selection-tools{margin-right:auto}.selection-tools button{padding:.24rem .38rem}#return-selected{display:none}.rack-heading>.quiet-button{padding:.25rem .35rem;font-size:.58rem}.rack-sort span{display:none}.rack-sort strong{min-width:2.5rem;font-size:.58rem}.rack-row{grid-template-columns:1fr 2fr;grid-template-rows:minmax(0,1fr) 2.85rem}.rack-tiles{grid-column:1 / -1;grid-row:1}.draw-button{grid-column:1;grid-row:2}.submit-button{grid-column:2;grid-row:2}.rack-tiles{gap:.12rem;padding:.2rem .25rem .3rem}.rack-tier{gap:.2rem}.drawn-callout{margin-right:auto;padding:.2rem .35rem}.drawn-callout>span{font-size:.48rem}.draw-button,.submit-button{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;text-align:center}.draw-button{position:relative}.draw-button .draw-stack{position:absolute;left:.75rem}.draw-stack{width:1rem;height:1.25rem}.submit-button small{display:none}.message-bar{grid-template-columns:.9rem minmax(0,1fr)}.message-bar button{display:none}.game-drawer{top:12vh;width:100%;border-radius:1rem 1rem 0 0}.game-drawer.opening{animation-name:drawer-up}.drawer-header{padding:.85rem 1rem .65rem}.drawer-body{padding:.8rem 1rem 2rem}.diff{grid-template-columns:1fr}.diff>span{justify-self:center;transform:rotate(90deg)}}@media(max-height:680px)and (min-width:621px){:root{--dock-height: 15rem;--tile-width: 2.65rem}.dock-status{display:none}.player-dock{grid-template-rows:auto minmax(0,1fr) auto}.table-surface.density-overview .table-toolbar{min-height:2.25rem;margin-bottom:.1rem;padding-top:0;padding-bottom:.1rem}}@media(max-height:700px)and (min-width:901px){.setup-intro{padding:2.5rem clamp(3rem,6vw,6rem)}.setup-intro h1{margin:.55rem 0 1rem;font-size:clamp(3.5rem,5.2vw,4.7rem)}.setup-lede{margin-bottom:1.25rem;line-height:1.5}.setup-promises{gap:.4rem}.setup-panel{padding:.5rem 0}.setup-panel-heading{margin-bottom:.8rem}.setup-panel-heading h2{font-size:1.8rem}.opponent-fieldset{margin:.8rem 0 .35rem}.field-help{margin-bottom:.45rem}.opponent-selects{gap:.3rem}.opponent-choice{padding:.35rem .5rem}.opponent-choice select{min-height:2.2rem}.advanced-setup{margin:.25rem 0 .6rem}.advanced-setup summary{padding:.55rem 0}.deal-button{min-height:3rem}.setup-note{margin-top:.4rem}}@media(max-height:700px)and (max-width:620px){.dock-status{display:none}.player-dock{grid-template-rows:auto minmax(0,1fr) auto}}@media(max-height:600px)and (max-width:620px){.table-surface.density-overview{--tile-width: .84rem}}@keyframes drawer-up{0%{transform:translateY(100%)}}@media(prefers-reduced-motion:no-preference){.tile,.opponent{transition:transform .13s ease,box-shadow .13s ease}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(forced-colors:active){.tile{border:2px solid ButtonText}.tile.selected{outline:4px solid Highlight}.tile.red .tile-color:before{content:"● "}.tile.blue .tile-color:before{content:"◆ "}.tile.black .tile-color:before{content:"■ "}.tile.orange .tile-color:before{content:"▲ "}}
