:root{color-scheme:dark;--cream:#f5ebd5;--gold:#e2c184;--muted:#a7bc9e;--serif:Georgia,'Times New Roman',serif;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:#153c34;background-image:radial-gradient(ellipse at 48% 5%,#285344 0,transparent 65%),radial-gradient(ellipse at 80% 100%,#102f2d 0,transparent 50%);color:var(--cream);min-height:100svh}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.35;cursor:default}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.texture{pointer-events:none;position:fixed;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.7' d='M0 0h140v140H0z'/%3E%3C/svg%3E")}.site-header{max-width:1180px;margin:auto;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #a6b3982a}.club{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream);font-size:9px;line-height:1.6;letter-spacing:1.8px}.club b{font-size:10px}.club-mark{display:grid;place-items:center;width:36px;height:42px;border:1px solid #c5a66e66;border-radius:20px 20px 14px 14px;color:var(--gold)}.club-mark svg{width:23px;height:23px}.edition{font-size:9px;letter-spacing:2px;color:#b4c3a7}nav{display:flex;align-items:center;gap:8px}.icon-button,.language{border:1px solid #bcc4af35;background:#ffffff05;color:var(--cream);height:34px;min-width:34px;border-radius:50%;font-size:17px}.language{border-radius:18px;font-size:11px;padding:0 13px}.sound-off{text-decoration:line-through;color:#819c89}.icon-button:hover,.language:hover{background:#ffffff12}main{max-width:1100px;margin:auto;padding:0 30px}.hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 8px 17px}.eyebrow{font-size:8px;letter-spacing:2px;color:#c0bc8e}.hero h1{font:normal clamp(31px,4.5vw,48px)/1.1 var(--serif);letter-spacing:-1.8px;margin:12px 0}.hero h1 em{color:var(--gold);font-weight:400}.hero p{font-size:12px;color:#adc2a7;margin:0;line-height:1.6}.manor{width:295px;max-width:40%;margin-bottom:-14px}.manor svg{display:block;width:100%}.tower-light{transition:fill .6s,filter .6s}.tower-light.lit{fill:#f0d18a;filter:drop-shadow(0 0 6px #ffd67d88)}.game{position:relative}.game-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:15px}.mode-switch{display:flex;background:#0c2a2588;padding:4px;border:1px solid #b3c3a02b;border-radius:8px;gap:3px}.mode-switch button{font-size:11px;padding:10px 19px;border:0;border-radius:5px;color:#afc3a9;background:transparent}.mode-switch button.active{background:#e9dbbb;color:#214439;box-shadow:0 2px 6px #00180d33}.stats{display:flex;align-items:center;gap:26px}.stats>div{min-width:51px}.stats span{font-size:8px;letter-spacing:1.3px;color:#9bb497;display:block}.stats strong{font:normal 24px/1.2 var(--serif);margin-top:4px;display:block;color:#f3e6c6}.table-shell{position:relative;border:1px solid #c3aa7159;border-radius:18px;background:linear-gradient(135deg,#1c4a3c,#173e35);box-shadow:inset 0 0 0 5px #0b2a2444,0 18px 45px #05251b44;padding:22px 25px 12px}.table-inner{--gap:13px;--card-h:133px;--stack-gap:27px}.top-labels{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.6px;color:#afbd93;padding:0 1px 11px}.reserve-row{display:flex;gap:22px;align-items:center}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);flex:1;min-width:0}.reserve-divider{width:13px;display:flex;align-items:center;justify-content:center;color:#bea36d66}.reserve-divider svg{height:24px;width:20px;flex-shrink:0}.slot{aspect-ratio:.74;position:relative;border:1px dashed #c6c7923f;border-radius:7px;color:#c6c79244;display:flex;align-items:center;justify-content:center;min-width:0;background:#0e332921;cursor:pointer}.slot .slot-symbol{font-family:var(--serif);font-size:30px;opacity:.7}.slot .slot-label{position:absolute;bottom:12px;font-size:8px;letter-spacing:1px;color:#a5b58b80}.slot>svg{width:26%;height:33%;opacity:.7}.slot.foundation{border-style:solid;background:#143c3170}.slot.foundation.done{box-shadow:0 0 15px #e5bd6545;border-color:#efd08a}.slot.can-drop{border-color:#f2cf83;background:#d4b66f15}.slot.selected{outline:2px solid #f4d28b;outline-offset:3px}.tableau-label{display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#a3b790;letter-spacing:1.1px;margin:22px 0 10px}.tableau-label>span:last-child{letter-spacing:0;color:#91aa8e;font-size:9px}.tableau{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--gap);min-height:280px}.column{position:relative;min-width:0;min-height:var(--card-h);border-radius:7px;cursor:pointer;outline:none}.column-empty{position:absolute;inset:0 0 auto;height:var(--card-h);border:1px dashed #c6c79236;border-radius:7px;display:grid;place-items:center;color:#a9ba8b36}.column-empty svg{width:28%;height:35%}.column.can-drop:after{content:'';position:absolute;inset:0 0 auto;height:calc(var(--stack-height) + var(--card-h));border:2px solid #efc97b99;border-radius:7px;pointer-events:none;z-index:20}.card{display:block;position:absolute;top:calc(var(--i,0) * var(--stack-gap));left:0;width:100%;height:var(--card-h);border:1px solid #dfd4b9;border-radius:7px;background:#f4eddd;background-image:linear-gradient(145deg,#fff9e9,#ece3cf);box-shadow:0 2px 5px #07251a44;color:#294a3e;padding:0;text-align:left;user-select:none;touch-action:manipulation;overflow:hidden;transition:box-shadow .15s,filter .15s}.card.red{color:#a3473d}.card:hover{filter:brightness(1.025)}.card.selected{border:2px solid #e6ba57;box-shadow:0 0 0 1px #f5d181,0 3px 10px #061c1666;filter:brightness(1.03)}.card.hinted{animation:hintPulse 1.3s infinite}.card .corner{position:absolute;top:5px;left:6px;z-index:1;display:flex;flex-direction:column;align-items:center;font-family:Georgia,serif;font-size:18px;font-weight:700;line-height:1}.card .corner small{font-size:15px;font-weight:400;margin-top:2px}.card .corner.bottom{transform:rotate(180deg);top:auto;left:auto;bottom:5px;right:6px}.card .pip-art{position:absolute;width:58%;height:73%;left:21%;top:14%}.card .face-art{position:absolute;inset:17% 19%;height:66%;width:62%}.card .ace-art{position:absolute;inset:20% 20%;height:60%;width:60%}.slot .card{height:100%;top:0}.slot .card .corner{font-size:17px}.slot .card .corner small{font-size:14px}.slot .card .corner.bottom{display:none}.foundation-progress{position:absolute;bottom:-7px;height:2px;background:#dfbc75;left:0;border-radius:3px;transition:width .3s}.table-watermark{text-align:center;font-size:7px;letter-spacing:2.8px;color:#a5b28c45;margin:18px 0 3px;pointer-events:none}.table-watermark span{padding:0 10px;color:#c9b47755}.bottom-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 2px 5px}.bottom-toolbar>div{display:flex;gap:22px}.subtle{font-size:11px;border:0;background:transparent;color:#bdc9ae;padding:8px 1px}.subtle>span[aria-hidden]{font-size:18px;vertical-align:-1px;margin-right:5px}.subtle:hover{color:#e7ca91}.new-deal{border:1px solid #ceba8266;color:#e7c98d;background:#cbb07214;border-radius:7px;font-size:11px;padding:10px 15px;display:flex;align-items:center;gap:7px}.new-deal>span:first-child{font-size:21px;line-height:1}.new-deal:hover{background:#cbb07228}.status{font-size:11px;text-align:center;color:#9fb697;min-height:18px;line-height:1.6;margin:7px 0 0}.puzzle-bar{margin:0 0 15px;background:#c6b3820c;border:1px solid #bead6e33;border-radius:9px;padding:10px 14px}.puzzle-bar>div{display:flex;gap:8px}.puzzle-bar button{flex:1;border:1px solid #bfc8a32d;border-radius:5px;background:transparent;color:#afc2a3;padding:8px;font-size:10px}.puzzle-bar button.active{background:#d6be831b;border-color:#d7b87099;color:#efd8aa}.puzzle-bar button.complete:after{content:' ✓';color:#e9cd8e}.puzzle-bar p{font-size:11px;color:#adbda0;line-height:1.6;margin:9px 0 0}.puzzle-bar p b{color:#e5ca92}.toast{position:absolute;left:50%;bottom:95px;width:max-content;max-width:90%;transform:translate(-50%,8px);opacity:0;padding:12px 18px;background:#f0e5cb;color:#244b3b;border-radius:8px;font-size:11px;text-align:center;line-height:1.6;box-shadow:0 6px 25px #09271b66;pointer-events:none;z-index:30;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.victory{position:absolute;inset:0;border-radius:17px;display:grid;place-items:center;background:#0e312ad4;backdrop-filter:blur(7px);z-index:50}.victory-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:370px;padding:24px}.victory-candle{display:grid;place-items:center;width:59px;height:78px;background:#e0be7412;border:1px solid #d8bc7e55;color:#eac77f;border-radius:32px 32px 12px 12px;margin-bottom:19px}.victory-candle svg{height:43px;width:29px}.victory h2{font:normal 37px/1.12 var(--serif);margin:12px 0}.victory p:not(.eyebrow){font-size:12px;line-height:1.8;color:#bdc9af;max-width:280px}.primary{border:1px solid #e9d19e;background:#e7d5ad;color:#244735;padding:12px 24px;border-radius:7px;font-size:11px;font-weight:650}.primary:hover{background:#f3e1bb}.victory .primary{margin:8px 0}.victory .subtle{display:block;margin-top:5px}.hint-destination{outline:2px dashed #f1ce81!important;outline-offset:4px}footer{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding:20px 0 25px;border-top:1px solid #b6c2ab20;font-size:9px;color:#8ca78e}footer>span:last-child{letter-spacing:1px;font-size:8px}.footer-star{margin:0 9px;color:#b69d6b}dialog{max-width:500px;width:calc(100% - 32px);padding:35px;border-radius:15px;border:1px solid #c1b08466;background:#234a3c;color:var(--cream);box-shadow:0 20px 100px #0006}dialog::backdrop{background:#061b17bb;backdrop-filter:blur(6px)}dialog h2{font:normal 32px/1.15 var(--serif);margin:16px 0 23px}.help-section{border-top:1px solid #c1b08433;padding-top:12px;margin-top:17px}.help-section h3{font-size:12px;color:#e9ce99}.help-section p,.help-note{font-size:12px;color:#bdcdb4;line-height:1.7}.help-note{font-size:10px;color:#a8bc9f}.dialog-close{position:absolute;right:12px;top:8px;font-size:26px;background:none;border:0;color:#c1c9b2}dialog .primary{width:100%;margin-top:10px}[hidden]{display:none!important}@keyframes hintPulse{0%,100%{box-shadow:0 0 0 2px #e3c177,0 0 8px #ffe09d33}50%{box-shadow:0 0 0 3px #ffe3a2,0 0 18px #ffe09d88}}@media(max-width:800px){.table-inner{--gap:9px}.table-shell{padding:18px 18px 10px}.reserve-row{gap:13px}.reserve-divider{width:9px}.card .corner{font-size:16px;top:4px;left:4px}.card .corner small{font-size:12px}.card .corner.bottom{bottom:4px;right:4px}.slot .card .corner{font-size:16px}.slot .card .corner small{font-size:12px}.manor{width:240px}.stats{gap:18px}}@media(max-width:600px){.site-header{padding:17px 17px}.edition{display:none}main{padding:0 12px}.hero{padding:23px 5px 19px;gap:3px;align-items:flex-start}.hero h1{font-size:34px;letter-spacing:-1.5px;margin:10px 0}.hero p{font-size:10px;max-width:205px}.eyebrow{font-size:6.5px;letter-spacing:1.3px}.manor{position:absolute;right:13px;top:115px;width:138px;max-width:35%;opacity:.75;pointer-events:none}.game-toolbar{flex-wrap:wrap;gap:15px;margin-bottom:14px}.mode-switch{width:100%;order:1}.mode-switch button{flex:1;padding:9px 8px;font-size:11px}.stats{order:2;justify-content:space-between;width:100%;padding:0 5px;gap:12px}.stats>div{display:flex;align-items:baseline;gap:8px;min-width:0}.stats span{font-size:7px;letter-spacing:.8px}.stats strong{font-size:21px;margin:0}.table-shell{padding:14px 9px 9px;border-radius:12px}.table-inner{--gap:4px}.top-labels{font-size:6px;letter-spacing:.7px;padding-bottom:8px}.reserve-row{gap:9px}.reserve-divider{width:0}.reserve-divider svg{display:none}.slot{border-radius:4px;aspect-ratio:.68}.slot .slot-symbol{font-size:23px}.slot .slot-label{font-size:6px;bottom:5px;letter-spacing:0}.slot .card .corner,.card .corner{font-size:13px;left:3px;top:3px}.slot .card .corner small,.card .corner small{font-size:10px;margin-top:0}.card .corner.bottom{display:none}.card{border-radius:4px}.card .pip-art{width:58%;left:30%;top:24%;height:64%}.card .face-art{inset:26% 12% 8% 20%;width:68%;height:66%}.card .ace-art{inset:29% 20% 12% 23%;height:59%;width:57%}.tableau-label{margin:16px 0 10px;font-size:6px;letter-spacing:.7px}.tableau-label>span:last-child{font-size:7px}.tableau{min-height:230px}.table-watermark{font-size:5px;letter-spacing:1.5px;margin-top:12px}.bottom-toolbar{padding:13px 2px 2px}.bottom-toolbar>div{gap:14px}.subtle{font-size:10px}.subtle>span[aria-hidden]{font-size:17px;margin-right:2px}.new-deal{font-size:10px;padding:9px 10px;gap:4px}.status{font-size:10px;margin-top:9px;min-height:32px}.puzzle-bar{padding:8px}.puzzle-bar>div{gap:4px}.puzzle-bar button{font-size:9px;padding:7px 3px}.puzzle-bar p{font-size:10px}.victory h2{font-size:29px}.victory-candle{width:46px;height:60px;margin-bottom:12px}.victory p:not(.eyebrow){font-size:11px}.victory .eyebrow{font-size:8px}.victory-card{padding:18px}footer{margin-top:15px;display:block;text-align:center;line-height:2;padding:15px 0 22px}footer>span{display:block}dialog{padding:28px}.toast{bottom:96px;font-size:10px}}@media(max-width:360px){.hero h1{font-size:31px}.manor{width:112px}.stats>div{gap:5px}.stats strong{font-size:19px}.top-labels{font-size:5.5px}.table-shell{padding-left:7px;padding-right:7px}.table-inner{--gap:3px}.tableau-label>span:last-child{font-size:6px}.card .corner{left:2px;font-size:12px}.slot .card .corner{left:2px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Fixed-size iframe layout: the card columns, not the page, may scroll. */
.compact-game-title{display:none}.tableau-viewport{min-width:0}
html.compact{height:100vh;height:100dvh;overflow:hidden}
.compact body{height:100%;min-height:0;max-height:100%;overflow:hidden;display:flex;flex-direction:column}
.compact .site-header{height:42px;min-height:42px;flex:0 0 42px;width:100%;max-width:none;padding:5px 13px;gap:10px}
.compact .club,.compact .edition,.compact .hero,.compact footer{display:none}
.compact .compact-game-title{display:block;font:normal 19px/1 var(--serif);color:var(--gold);white-space:nowrap;letter-spacing:-.4px}
.compact nav{gap:6px}.compact .icon-button,.compact .language{height:30px;min-width:30px}.compact .language{font-size:10px;padding:0 10px}
.compact main{width:100%;max-width:1100px;margin:0 auto;padding:7px 12px;min-height:0;flex:1;display:flex;flex-direction:column}
.compact .game{min-height:0;flex:1;display:flex;flex-direction:column}
.compact .game-toolbar{flex-shrink:0;gap:9px;margin:0 0 7px;min-height:34px}
.compact .mode-switch{padding:3px}.compact .mode-switch button{padding:7px 14px;font-size:11px}
.compact .stats{gap:22px}.compact .stats>div{display:flex;align-items:baseline;gap:7px;min-width:0}.compact .stats span{font-size:7px;letter-spacing:.9px}.compact .stats strong{font-size:21px;margin-top:0}
.compact .puzzle-bar{flex-shrink:0;padding:7px 10px;margin:0 0 7px}.compact .puzzle-bar button{padding:6px 4px;font-size:10px}.compact .puzzle-bar p{font-size:10px;margin:6px 0 0;line-height:1.45}
.compact .table-shell{flex:1;min-height:0;padding:13px 15px 9px;border-radius:12px;overflow:hidden}
.compact .table-inner{display:flex;flex-direction:column;min-height:0;height:100%;--gap:10px}
.compact .top-labels{font-size:7px;padding:0 1px 7px;letter-spacing:1px;flex-shrink:0}
.compact .reserve-row{gap:15px;flex-shrink:0}.compact .reserve-divider{width:8px}.compact .reserve-divider svg{width:18px;height:21px}
.compact .slots{gap:var(--gap)}.compact .slot{height:var(--reserve-h,70px);aspect-ratio:auto;border-radius:5px}.compact .slot .slot-label{bottom:5px;font-size:7px}
.compact .slot .card .corner.bottom{display:none}.compact .slot .card .pip-art{inset:24% 25% 8%;height:68%;width:50%}.compact .slot .card .face-art{inset:13% 28%;height:74%;width:44%}.compact .slot .card .ace-art{inset:16% 29%;height:68%;width:42%}
.compact .tableau-label{margin:13px 0 7px;flex-shrink:0;font-size:7px;letter-spacing:.7px}.compact .tableau-label>span:last-child{font-size:8px;letter-spacing:0}
.compact #scroll-hint{color:#e1c48a}
.compact .tableau-viewport{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b19b5f70 transparent;padding:1px 3px 1px 1px;outline-offset:-2px}
.compact .tableau-viewport::-webkit-scrollbar{width:5px}.compact .tableau-viewport::-webkit-scrollbar-thumb{background:#a98f5070;border-radius:5px}
.compact .tableau{min-height:0;flex-shrink:0;gap:var(--gap)}.compact .table-watermark{display:none}
.compact .card{border-radius:5px}.compact .card .corner,.compact .slot .card .corner{flex-direction:row;gap:2px;align-items:baseline;font-size:16px;top:3px;left:4px;line-height:1}.compact .card .corner small,.compact .slot .card .corner small{font-size:13px;margin:0}.compact .card .corner.bottom{display:none}
.compact .card .pip-art{top:23%;height:69%;left:21%;width:58%}.compact .card .face-art{inset:23% 20% 5%;height:72%;width:60%}.compact .card .ace-art{inset:26% 24% 8%;height:66%;width:52%}
.compact .bottom-toolbar{flex-shrink:0;padding:7px 2px 2px;min-height:38px;gap:10px}.compact .bottom-toolbar>div{gap:18px}.compact .subtle{font-size:10px;padding:6px 2px}.compact .new-deal{font-size:10px;padding:7px 11px}
.compact .status{flex-shrink:0;font-size:10px;line-height:1.35;min-height:25px;margin:4px 0 0;max-height:29px;overflow:auto;overscroll-behavior:contain}
.compact .toast{bottom:78px;max-width:90%;padding:9px 13px;font-size:10px}
.compact .victory{overflow:auto}.compact .victory-card{padding:16px}.compact .victory-candle{height:48px;width:38px;margin-bottom:9px}.compact .victory-candle svg{height:29px;width:23px}.compact .victory h2{font-size:28px;margin:8px 0}.compact .victory p:not(.eyebrow){font-size:10px;line-height:1.5;margin:5px 0}.compact .victory .primary{font-size:10px;padding:9px 17px}.compact .victory .subtle{margin-top:1px}
@media(max-width:600px){
 .compact main{padding:6px 8px}.compact .site-header{padding-left:11px;padding-right:11px}
 .compact .game-toolbar{gap:7px;margin-bottom:7px}.compact .mode-switch{width:100%}.compact .mode-switch button{padding:7px 6px;font-size:11px}
 .compact .stats{width:100%;padding:0 3px;justify-content:space-between;gap:10px}.compact .stats strong{font-size:19px}.compact .stats span{font-size:7px}
 .compact .table-shell{padding:10px 7px 6px}.compact .table-inner{--gap:4px}.compact .top-labels{font-size:6px;letter-spacing:.6px;padding-bottom:6px}.compact .reserve-row{gap:8px}.compact .reserve-divider{width:0}.compact .reserve-divider svg{display:none}
 .compact .slot .slot-label{font-size:6px}.compact .card .corner,.compact .slot .card .corner{font-size:12px;left:2px;top:3px;gap:1px}.compact .card .corner small,.compact .slot .card .corner small{font-size:10px}
 .compact .card .pip-art{top:30%;height:61%;left:22%;width:58%}.compact .card .face-art{inset:28% 15% 6%;height:66%;width:70%}.compact .card .ace-art{inset:29% 20% 8%;height:63%;width:60%}
 .compact .slot .card .face-art{inset:29% 15% 6%;height:65%;width:70%}.compact .slot .card .ace-art{inset:28% 20% 8%;height:64%;width:60%}.compact .slot .card .pip-art{top:31%;height:62%;left:22%;width:58%}
 .compact .tableau-label{margin:12px 0 7px;font-size:6px}.compact .tableau-label>span:last-child{font-size:7px}.compact .puzzle-bar{padding:7px}.compact .puzzle-bar button{font-size:9px;padding:6px 3px}.compact .puzzle-bar p{font-size:9px;margin-top:5px}
 .compact .status{font-size:9px;min-height:27px;max-height:30px}.compact .bottom-toolbar>div{gap:13px}
}
.compact-wide .site-header{height:34px;min-height:34px;flex-basis:34px;padding-top:2px;padding-bottom:2px}.compact-wide .compact-game-title{font-size:17px}
.compact-wide main{padding:4px 10px;max-width:1000px}.compact-wide .game-toolbar{min-height:29px;margin-bottom:5px;flex-wrap:nowrap}.compact-wide .mode-switch{padding:2px;width:auto}.compact-wide .mode-switch button{padding:6px 11px;font-size:10px}.compact-wide .stats{width:auto;gap:17px}.compact-wide .stats strong{font-size:18px}
.compact-wide .puzzle-bar{display:flex;align-items:center;gap:10px;padding:4px 7px;margin-bottom:5px;min-height:33px;max-height:43px}.compact-wide .puzzle-bar>div{flex:1.1;min-width:0;gap:4px}.compact-wide .puzzle-bar button{font-size:8px;padding:6px 3px}.compact-wide .puzzle-bar p{flex:1;min-width:0;margin:0;font-size:8px;max-height:29px;overflow:auto;line-height:1.4}
.compact-wide .table-shell{padding:7px 9px 5px}.compact-wide .table-inner{--gap:8px}.compact-wide .top-labels{font-size:6px;padding-bottom:4px;letter-spacing:.8px}.compact-wide .reserve-row{gap:14px}.compact-wide .reserve-divider{width:6px}
.compact-wide .tableau-label{margin:9px 0 5px;font-size:6px}.compact-wide .tableau-label>span:last-child{font-size:7px}.compact-wide .card .corner,.compact-wide .slot .card .corner{font-size:13px;top:2px;left:3px}.compact-wide .card .corner small,.compact-wide .slot .card .corner small{font-size:11px}
.compact-wide .card .face-art{inset:20% 25% 5%;height:75%;width:50%}.compact-wide .card .pip-art{inset:25% 27% 6%;height:69%;width:46%}.compact-wide .card .ace-art{inset:26% 29% 6%;height:68%;width:42%}
.compact-wide .bottom-toolbar{min-height:29px;padding:4px 2px 0}.compact-wide .subtle{font-size:9px;padding:4px 2px}.compact-wide .new-deal{font-size:9px;padding:5px 10px}.compact-wide .status{font-size:9px;min-height:19px;max-height:22px;margin-top:3px}
.compact-wide .victory-card{padding:10px}.compact-wide .victory-candle{display:none}.compact-wide .victory h2{font-size:23px}.compact-wide .victory h2 br{display:none}.compact-wide .victory .eyebrow{margin:0;font-size:7px}.compact-wide .victory p:not(.eyebrow){margin:4px 0}.compact-wide .victory .primary{margin:5px 0;padding:7px 15px}.compact-wide .victory .subtle{padding:4px}
dialog{max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain}

/* Each card is one paint layer: a covered card's corners cannot escape over its neighbor. */
.column{isolation:isolate}
.card{isolation:isolate;z-index:calc(var(--i,0) + 1);touch-action:pan-y}
.card[data-movable="true"]{cursor:grab;touch-action:none}
.column .card:not(:last-child) .corner:not(.bottom),.card-drag-ghost .card:not(:last-child) .corner:not(.bottom){flex-direction:row;align-items:baseline;gap:2px}
.column .card:not(:last-child) .corner small,.card-drag-ghost .card:not(:last-child) .corner small{margin-top:0}
.card-dragging,.card-dragging *{cursor:grabbing!important;user-select:none!important}
.card.drag-source{opacity:.24}
.card-drag-ghost{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;filter:drop-shadow(0 9px 10px #00190f80);will-change:transform}
.card-drag-ghost .card{pointer-events:none;transition:none;animation:none;border-color:#f3d58c;box-shadow:0 2px 5px #07251a44}
.slot.drop-hover{outline:3px solid #ffdf94;outline-offset:2px;background:#e9c77838}
.column.can-drop:after{z-index:100}
.column.drop-hover:after{border:3px solid #ffdf94;background:#e9c77810;z-index:100}
.slot.drop-invalid{outline:2px dashed #d59683;outline-offset:2px}
.column.drop-invalid:after{content:'';position:absolute;inset:0 0 auto;height:calc(var(--stack-height) + var(--card-h));border:2px dashed #d59683;border-radius:7px;pointer-events:none;z-index:100}
#scroll-tools{display:inline-flex;align-items:center;gap:5px;letter-spacing:0;color:#e1c48a}
#scroll-tools button{display:inline-grid;place-items:center;width:28px;height:23px;padding:0;border:1px solid #d9bd7866;border-radius:4px;background:#d5bd8318;color:#f2d69a;font-size:15px;line-height:1;touch-action:manipulation}
#scroll-tools button:hover{background:#d5bd8335}

/* Proven endgame collection has its own visible, reversible playback controls. */
.auto-finish-bar{display:flex;justify-content:center;align-items:center;gap:12px;min-height:36px;padding:4px 0;flex-shrink:0;color:#e7cc91;font-size:11px}
.auto-finish-bar button{min-height:28px;padding:5px 12px;border:1px solid #dfc27c;background:#ead8ae;color:#244735;border-radius:6px;font-size:11px;white-space:nowrap}
.auto-collecting .table-inner{cursor:default;pointer-events:none}
.card.auto-source{opacity:.2}.slot.auto-target{outline:2px solid #ffdf94;outline-offset:2px}
.auto-collect-card{box-shadow:0 7px 18px #001a1870;transition:none;animation:none}
@media(max-width:600px){.auto-finish-bar{gap:8px;font-size:9px}.auto-finish-bar button{font-size:10px;padding:5px 9px}}
.compact-wide .auto-finish-bar{min-height:30px;padding:2px 0;font-size:9px}.compact-wide .auto-finish-bar button{min-height:25px;font-size:9px;padding:4px 9px}

