:root{--surround:#0a1a13;--felt-base:#1a4a32;--felt-high:#2e7049;--felt-mid:#1d4f35;--felt-low:#0f3221;--back-ink:#a81f2d}[data-felt=midnight]{--surround:#070c18;--felt-base:#1e2a4a;--felt-high:#3a4d7a;--felt-mid:#212f52;--felt-low:#0d1430}[data-felt=burgundy]{--surround:#180a0d;--felt-base:#4a1a24;--felt-high:#70303c;--felt-mid:#4f212a;--felt-low:#2a0e14}[data-felt=slate]{--surround:#0d1012;--felt-base:#2b3236;--felt-high:#454f55;--felt-mid:#2f373b;--felt-low:#171c1f}[data-back=navy]{--back-ink:#24408c}[data-back=forest]{--back-ink:#1c6b41}[data-back=charcoal]{--back-ink:#33383c}.svg-defs{width:0;height:0;position:absolute;overflow:hidden}.card{aspect-ratio:5/7;border-radius:var(--r);touch-action:none;cursor:pointer;background:#fffefb;position:relative;box-shadow:0 0 0 1px #141e1859,0 1.5px 3px #0006;container:card/inline-size}.card.face{color:#16181d}.card.face.red{color:#c8202f}.pip{fill:currentColor;display:block}.index{flex-direction:column;align-items:center;gap:1.8cqw;line-height:1;display:flex;position:absolute}.index-beside{flex-direction:row;align-items:center;gap:1.6cqw}.index-tl{top:4.5cqw;left:4cqw}.index-br{bottom:4.5cqw;right:4cqw;transform:rotate(180deg)}.rank{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;text-align:center;-webkit-font-smoothing:antialiased;font-family:Times New Roman,Times,Liberation Serif,Tinos,Nimbus Roman,Nimbus Roman No9 L,FreeSerif,Thorndale AMT,serif;font-size:34cqw;font-weight:700;line-height:.72;display:block;transform:translateZ(0)}.rank-wide{text-align:left;white-space:nowrap;transform-origin:0;width:.5em;transform:scaleX(.5)translateZ(0)}.index-pip{width:13cqw}.pips{position:absolute;inset:17cqw 30cqw}.pip-spot{width:19cqw;position:absolute;transform:translate(-50%,-50%)}.pip-flip{transform:translate(-50%,-50%)rotate(180deg)}.solo{place-items:center;display:grid;position:absolute;inset:22cqw 20cqw}.pips+.solo{display:none}.pip-solo{width:52cqw}@container card (width<=66px){.pips{display:none}.pips+.solo{display:grid}.index-br{display:none}.index-tl{flex-direction:row;justify-content:space-between;align-items:flex-start;top:6cqw;left:7cqw;right:7cqw}.rank{font-size:58cqw}.rank-wide{width:.78em;transform:scaleX(.78)translateZ(0)}.index-pip{width:22cqw;margin-top:4cqw}.solo{inset:47cqw 8cqw 7cqw}.pip-solo{width:58cqw}}.card.down{cursor:default;background:#fbf8f1}.back-art{background-color:var(--back-ink);background-image:repeating-linear-gradient(45deg,#fff3 0 1px,#0000 1px 5px),repeating-linear-gradient(-45deg,#fff3 0 1px,#0000 1px 5px),radial-gradient(120% 95% at 50% 0,#ffffff24,#0003 78%);border-radius:max(2px,2.4cqw);place-items:center;display:grid;position:absolute;inset:3.4cqw;box-shadow:inset 0 0 0 max(1px,1.3cqw) #fff8f080}.back-mark{opacity:.72;width:40%}.mark-plate{fill:none;stroke:#fff8f0d9;stroke-width:3px}.mark-inner{fill:#fff8f0b8}.mark-text{fill:var(--back-ink);letter-spacing:1px;text-anchor:middle;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:700}.dgt-gear,.dgt-sizer button,.dgt-close{font:inherit;color:var(--ink,#e8efe9);cursor:pointer;background:#e8efe914;border:1px solid #e8efe929}.dgt-gear{border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.dgt-gear:hover,.dgt-close:hover,.dgt-sizer button:hover:not(:disabled){background:#e8efe92e}.dgt-gear svg{width:19px;height:19px;display:block}.dgt-sizer{border:1px solid #e8efe929;border-radius:8px;align-items:stretch;display:inline-flex;overflow:hidden}.dgt-sizer button{background:#e8efe914;border:0;padding:0 11px;font-size:15px;line-height:1}.dgt-sizer button:disabled{opacity:.35;cursor:default}.dgt-readout{font-variant-numeric:tabular-nums;min-width:48px;color:var(--dim,#9fb3a5);background:#e8efe908;place-items:center;padding:0 4px;font-size:12px;display:grid}.dgt-dialog{color:var(--ink,#e8efe9);background:0 0;border:0;max-width:min(460px,94vw);margin:auto;padding:0}.dgt-dialog::backdrop{background:#060e0ab8}.dgt-panel{background:var(--surround,#12291d);border:1px solid #e8efe929;border-radius:14px;max-height:86vh;padding:18px 22px 24px;overflow-y:auto;box-shadow:0 18px 44px #0000008c}.dgt-panel>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.dgt-panel h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:600}.dgt-close{border-radius:8px;width:30px;height:30px;padding:0;font-size:19px;line-height:1}.dgt-section{border-top:1px solid #e8efe91a;padding:14px 0 4px}.dgt-section h3{letter-spacing:.09em;text-transform:uppercase;color:var(--dim,#9fb3a5);margin:0 0 10px;font-size:11px;font-weight:600}.dgt-swatches{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.dgt-swatch{font:inherit;color:var(--ink,#e8efe9);cursor:pointer;background:#e8efe90d;border:1px solid #e8efe929;border-radius:8px;align-items:center;gap:8px;padding:7px 9px;font-size:12px;display:flex}.dgt-swatch:hover{background:#e8efe921}.dgt-swatch.on{background:#e8efe929;border-color:#e8efe99e}.dgt-felt-chip,.dgt-back-chip{border-radius:3px;flex:none;width:17px;height:23px;box-shadow:inset 0 0 0 1px #00000059}.dgt-swatch[data-felt=forest] .dgt-felt-chip{background:#1a4a32}.dgt-swatch[data-felt=midnight] .dgt-felt-chip{background:#1e2a4a}.dgt-swatch[data-felt=burgundy] .dgt-felt-chip{background:#4a1a24}.dgt-swatch[data-felt=slate] .dgt-felt-chip{background:#2b3236}.dgt-swatch[data-back=crimson] .dgt-back-chip{background:#a81f2d}.dgt-swatch[data-back=navy] .dgt-back-chip{background:#24408c}.dgt-swatch[data-back=forest] .dgt-back-chip{background:#1c6b41}.dgt-swatch[data-back=charcoal] .dgt-back-chip{background:#33383c}.dgt-check{cursor:pointer;align-items:flex-start;gap:10px;padding:7px 0;display:flex}.dgt-check input{width:16px;height:16px;accent-color:var(--accent,#3f9c68);flex:none;margin-top:3px}.dgt-check span{flex-direction:column;gap:2px;display:flex}.dgt-check strong{font-size:14px;font-weight:600}.dgt-check em{color:var(--dim,#9fb3a5);font-size:12px;font-style:normal;line-height:1.45}.dgt-help-button{right:var(--dgt-help-x,18px);bottom:var(--dgt-help-y,18px);z-index:40;width:38px;height:38px;font:inherit;color:var(--ink,#e8efe9);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#e8efe91a;border:1px solid #e8efe947;border-radius:50%;place-items:center;font-size:19px;font-weight:600;line-height:1;display:grid;position:fixed}.dgt-help-button:hover{background:#e8efe938}.dgt-help{max-width:min(560px,94vw)}.dgt-goal{margin:6px 0 2px;font-size:15px;line-height:1.55}.dgt-note{color:var(--dim,#9fb3a5);margin:0 0 10px;font-size:12px;line-height:1.5}.dgt-steps{margin:0;padding-left:20px;font-size:13.5px;line-height:1.6}.dgt-steps li{padding-left:3px}.dgt-plain{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6}.dgt-rules{margin:0;padding:0;font-size:13.5px;line-height:1.55;list-style:none}.dgt-rules li{border-top:1px solid #e8efe912;gap:9px;padding:6px 0;display:flex}.dgt-rules li:first-child{border-top:0}.dgt-rules code{min-width:7.4em;color:var(--dim,#9fb3a5);flex:none;padding-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.dgt-controls{margin:0;font-size:13.5px}.dgt-controls>div{gap:9px;padding:4px 0;line-height:1.55;display:flex}.dgt-controls dt{flex:none;min-width:7.5em;font-weight:600}.dgt-controls dd{color:var(--dim,#9fb3a5);margin:0}.dgt-more{font:inherit;width:100%;color:var(--ink,#e8efe9);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:10px;padding:2px 0;display:flex}.dgt-more span{letter-spacing:.09em;text-transform:uppercase;color:var(--dim,#9fb3a5);font-size:11px;font-weight:600}.dgt-more em{color:var(--dim,#9fb3a5);opacity:.75;font-size:11px;font-style:normal}.dgt-more:hover span,.dgt-more:hover em{color:var(--ink,#e8efe9)}.dgt-paste{box-sizing:border-box;width:100%;min-height:140px;color:inherit;resize:vertical;background:#00000047;border:1px solid #ffffff2e;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;display:block}.dgt-paste:focus-visible{outline-offset:1px;outline:2px solid #ffffff73}.dgt-note.bad{color:#f3a6a0}.dgt-choices{flex-wrap:wrap;gap:8px;display:flex}.dgt-choices button{color:inherit;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:8px;padding:7px 14px;font-size:13px}.dgt-choices button:hover:not(:disabled){background:#ffffff26}.dgt-choices button:disabled{opacity:.4;cursor:default}.dgt-choices .dgt-primary{background:#ffffff2e;border-color:#ffffff57;font-weight:600}.dgt-report-button{height:34px;font:inherit;color:var(--ink,#e8efe9);cursor:pointer;background:#e8efe914;border:1px solid #e8efe929;border-radius:8px;padding:0 12px;font-size:13px}.dgt-report-button:hover{background:#e8efe92e}@media (width<=560px){.dgt-report-button{width:34px;padding:0;font-size:15px;line-height:1}.dgt-report-button .dgt-report-word{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dgt-report-button:before{content:"!";font-weight:700}}.dgt-report{max-width:min(560px,94vw)}.dgt-kind{border:0;margin:0 0 12px;padding:0}.dgt-kind legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.dgt-field{margin:0 0 6px;font-size:13px;font-weight:600;display:block}.dgt-line{box-sizing:border-box;width:100%;color:inherit;font:inherit;background:#00000047;border:1px solid #ffffff2e;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:13px;display:block}.dgt-line:focus-visible{outline-offset:1px;outline:2px solid #ffffff73}.dgt-hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}*{box-sizing:border-box}.app.closed{place-items:center;min-height:100vh;padding:20px;display:grid}.closed-card{text-align:center;max-width:34ch}.closed-card h1{font-family:Georgia,Times New Roman,serif;font-weight:600}.closed-card p{color:var(--dim);line-height:1.6}.closed-card a{color:var(--ink)}:root{--r:clamp(3px, .55vw, 8px);--fan-down:17%;--fan-up:35%;--fan-reserve:10%;--fan-up-thin:57%;--gap:clamp(4px, 1.05vw, 14px);--pad:clamp(8px, 1.5vw, 20px);--track:168.57px;--ink:#e8efe9;--dim:#9fb3a5;--gold:#ffdf9a;--bad:#ff7a7a}body{background:var(--surround);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app{--max:calc(var(--track) * var(--tracks) * var(--scale,1));touch-action:manipulation;--bar-max:calc(var(--track) * var(--tracks));flex-direction:column;gap:clamp(8px,1.2vw,14px);min-height:100vh;padding:clamp(8px,1.4vw,18px) 0 24px;display:flex}.app[data-barscale=zoom]{--bar-max:var(--max)}.bar{width:100%;max-width:var(--bar-max);padding:0 var(--pad);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:0 auto;display:flex}.bar-left{align-items:center;gap:clamp(10px,1.6vw,20px);min-width:0;display:flex}.readouts{align-items:center;gap:8px;display:flex}.chip{white-space:nowrap;background:#ffffff0f;border-radius:999px;align-items:baseline;gap:5px;padding:3px 9px;display:inline-flex}.chip-key{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:clamp(9px,1.1vw,11px)}.chip-value{font-variant-numeric:tabular-nums;color:var(--gold);font-size:clamp(12px,1.6vw,15px);font-weight:600}.bar h1{letter-spacing:.16em;text-transform:uppercase;color:#cfe0d3;margin:0;font-size:clamp(15px,2.1vw,22px);font-weight:600}.controls{align-items:center;gap:8px;display:flex}button{font:inherit;color:var(--ink);cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:7px;padding:7px 12px;font-size:clamp(12px,1.5vw,14px)}button:hover:not(:disabled){background:#ffffff29}button:disabled{opacity:.4;cursor:default}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hint.live{color:#16281c;background:#ffdf9ae6;border-color:#ffdf9ae6;font-weight:600}.hint.live:hover:not(:disabled){background:var(--gold);border-color:var(--gold)}.dgt-check.sub{border-left:1px solid #ffffff1f;margin-left:26px;padding-left:11px}.dgt-check.sub.off{opacity:.45;cursor:default}.status{width:100%;max-width:var(--max);padding:0 var(--pad);color:var(--dim);min-height:1.3em;margin:0 auto;font-size:clamp(11px,1.4vw,13px)}.win{width:100%;max-width:var(--max);padding:10px var(--pad);flex-wrap:wrap;align-items:center;gap:14px;margin:0 auto;display:flex}.win strong{letter-spacing:.04em;color:var(--gold);font-size:clamp(18px,3vw,28px)}.win span{color:var(--dim);font-size:clamp(12px,1.6vw,14px)}#table{width:100%;max-width:var(--max);padding:var(--pad);column-gap:var(--gap);row-gap:calc(var(--gap) * 1.7);-webkit-user-select:none;user-select:none;background-color:var(--felt-base);background-image:repeating-linear-gradient(90deg, #0000000d 0 1px, transparent 1px 3px), repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 3px), radial-gradient(115% 85% at 50% -12%, var(--felt-high) 0%, var(--felt-mid) 42%, var(--felt-low) 100%);border-radius:clamp(6px,1vw,14px);align-items:start;margin:0 auto;display:grid;position:relative;box-shadow:inset 0 0 70px #0006}.slot{aspect-ratio:5/7;border-radius:var(--r);background:#0000002b;position:relative;box-shadow:inset 0 0 0 1.6px #ffffff24}.slot-mark{color:#ffffff29;place-items:center;display:grid;position:absolute;inset:0}.slot-mark .pip{fill:currentColor;width:42%}.stock .slot-mark .pip{width:34%}.slot-wants{z-index:0;pointer-events:none;letter-spacing:.02em;color:#ffdf9ab8;text-shadow:0 1px 6px #0000008c;place-items:center;font-size:clamp(15px,2.6vw,30px);font-weight:700;display:grid;position:absolute;inset:0}.wants-next{z-index:2;color:#ffdf9af0;pointer-events:none;background:#080e0ab8;border-radius:999px;align-items:center;gap:.28em;padding:1px 5px;font-size:clamp(9px,1.15vw,12px);font-weight:700;line-height:1.5;display:flex;position:absolute;top:4%;right:5%;box-shadow:inset 0 0 0 1px #ffdf9a57}.wants-next .pip{fill:currentColor;width:.85em;height:.85em}.pile-count{z-index:2;text-align:center;color:#e8efe9;font-variant-numeric:tabular-nums;pointer-events:none;background:#080e0ab8;border-radius:999px;min-width:1.9em;padding:1px 5px;font-size:clamp(9px,1.15vw,12px);font-weight:600;line-height:1.5;position:absolute;bottom:4%;right:5%;box-shadow:inset 0 0 0 1px #ffffff29}.stock-edge{z-index:0;border-radius:var(--r);background:linear-gradient(150deg,#8d1420,#5e0d16);position:absolute;inset:2% -2% -2% 2%;box-shadow:0 1px 3px #00000073}.slot .card{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.column,.reserve,.waste{border-radius:var(--r);flex-direction:column;align-items:stretch;display:flex;container:pile/inline-size}.column:empty,.reserve:empty,.waste:empty{aspect-ratio:5/7;background:#0000002b;box-shadow:inset 0 0 0 1.6px #ffffff24}.card.fanned{width:100%;margin-top:calc(-140% + var(--fan-up));flex:none}.reserve .card.fanned{margin-top:calc(-140% + var(--fan-reserve))}@container pile (width<=66px){.column .card.fanned,.waste .card.fanned,.drag-layer .card{margin-top:calc(-140% + var(--fan-up-thin))}}.column .card.fanned:first-child,.reserve .card.fanned:first-child,.waste .card.fanned:first-child,.drag-layer .card:first-child{margin-top:0}.reserve .card:not(:last-child),.waste .card:not(:last-child){cursor:default}.drag-layer{z-index:60;pointer-events:none;filter:drop-shadow(0 12px 16px #0000008c);flex-direction:column;display:flex;position:fixed;container:pile/inline-size}.drag-layer .card{width:100%;margin-top:calc(-140% + var(--fan-up));flex:none}.card.dragging{opacity:.26}.drop-ok{outline-offset:2px;outline:2px dashed #ffdf9a80}.drop-hover{outline:3px solid var(--gold);outline-offset:2px}.drop-no{outline:3px solid var(--bad);outline-offset:2px}@keyframes shake{15%{transform:translate(-4%)rotate(-1.2deg)}45%{transform:translate(5%)rotate(1.4deg)}75%{transform:translate(-3%)rotate(-.8deg)}}@keyframes shake-b{15%{transform:translate(-4%)rotate(-1.2deg)}45%{transform:translate(5%)rotate(1.4deg)}75%{transform:translate(-3%)rotate(-.8deg)}}.card.shake,.card.shake-b{z-index:5;outline:2px solid var(--bad);outline-offset:-2px;animation:.42s shake}.card.shake-b{animation-name:shake-b}@keyframes reject-flash{45%{box-shadow:0 0 0 3px var(--bad), 0 0 22px #ff5a5a8c}}@keyframes reject-flash-b{45%{box-shadow:0 0 0 3px var(--bad), 0 0 22px #ff5a5a8c}}.reject,.reject-b{outline:3px solid var(--bad);outline-offset:2px;animation:.46s reject-flash}.reject-b{animation-name:reject-flash-b}@keyframes pulse-ring{45%{box-shadow:0 0 0 3px #ffffff73}}@keyframes pulse-ring-b{45%{box-shadow:0 0 0 3px #ffffff73}}.pulse,.pulse-b{outline-offset:2px;outline:2px solid #ffffff80;animation:.46s pulse-ring}.pulse-b{animation-name:pulse-ring-b}#table.won{background-image:repeating-linear-gradient(90deg,#0000000d 0 1px,#0000 1px 3px),repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px),radial-gradient(115% 90% at 50% -8%,#64955c 0%,#2f6b45 40%,#143a26 100%);box-shadow:inset 0 0 70px #0000004d,0 0 0 2px #ffd68459}@keyframes home-glow{0%{box-shadow:inset 0 0 0 1.6px #ffdf9a99,0 0 10px 1px #ffd6784d}to{box-shadow:inset 0 0 0 1.6px #ffdf9acc,0 0 26px 5px #ffd6788c}}#table.won .slot.foundation{animation:1.9s ease-in-out infinite alternate home-glow;box-shadow:inset 0 0 0 1.6px #ffdf9abf,0 0 18px 3px #ffce6c73}#table.won:after{content:"YOU WIN";text-align:center;pointer-events:none;letter-spacing:.34em;text-indent:.34em;color:#ffdf9aeb;text-shadow:0 2px 10px #00000080,0 0 34px #ffce6c73;font-size:clamp(22px,5.4vw,62px);font-weight:700;position:absolute;top:62%;left:0;right:0}#table.won .column:empty,#table.won .reserve:empty,#table.won .waste:empty,#table.won .slot.stock{background:#ffd68412;box-shadow:inset 0 0 0 1.6px #ffdf9a4d}@media (prefers-reduced-motion:reduce){.card.shake,.card.shake-b,.reject,.reject-b,.pulse,.pulse-b,#table.won .slot.foundation{animation:none}}.gear{place-items:center;width:2.1em;height:2.1em;padding:0;display:grid}.gear svg{width:1.15em;height:1.15em;display:block}.settings{width:30rem;max-width:min(30rem,100vw - 2rem);color:var(--ink);background:#16211b;background:color-mix(in srgb, var(--surround) 96%, var(--ink) 4%);border:none;border-radius:14px;padding:0;box-shadow:0 24px 60px #0000008c}.settings::backdrop{background:#040a079e}.settings-body{flex-direction:column;gap:1.35rem;padding:1.25rem;display:flex}.settings-body header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-body h2{margin:0;font-size:1.15rem}.settings-body h3{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:0 0 .6rem;font-size:.78rem}.settings-body section{border-top:1px solid #ffffff14;padding-top:1rem}
