:root{--bg: #1a1f2e;--board-bg: #2a3042;--card-bg: #f5f0e8;--card-border: #d4cfc5;--card-shadow: rgba(0, 0, 0, .25);--gap-bg: rgba(255, 255, 255, .06);--gap-border: rgba(255, 255, 255, .15);--dead-gap-bg: rgba(255, 60, 60, .08);--dead-gap-border: rgba(255, 60, 60, .3);--valid-gap-bg: rgba(100, 255, 100, .12);--valid-gap-border: rgba(100, 255, 100, .5);--movable-glow: rgba(0, 210, 255, 1);--movable-border: rgba(0, 210, 255, .75);--selected-glow: rgba(255, 220, 50, .8);--locked-bg: #e8e4d8;--locked-border: #b8b4a8;--red: #d63031;--black: #2d3436;--accent: #6c5ce7;--text: #dfe6e9;--text-muted: #b2bec3}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding-top:max(.75rem,env(safe-area-inset-top));padding-bottom:max(.75rem,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation;overflow-x:hidden}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}body.is-native .site-footer{display:none}#confetti-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:500}.top-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;max-width:1100px;margin-bottom:.5rem;flex-shrink:0}.top-bar-left{display:flex;align-items:center;gap:1rem;flex-shrink:0}.top-bar h1{font-family:Coustard,serif;font-size:1.5rem;font-weight:400;letter-spacing:.05em;color:var(--text);white-space:nowrap}h1.title-anim{position:relative;display:inline-flex;align-items:baseline}.title-letter{display:inline-block}.title-letter+.title-letter{margin-left:.03em}h1.title-anim .title-letter,h1.title-anim .title-gap,h1.title-anim .title-dragged{opacity:0;transform:scale(.5);transition:opacity .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}h1.title-anim .title-letter.pop-in,h1.title-anim .title-gap.pop-in,h1.title-anim .title-dragged.pop-in{opacity:1;transform:scale(1)}.title-gap{display:inline-block;width:.6em;margin:0 .06em 0 .03em}.title-gap.filled{width:0;opacity:0;margin:0;border-color:transparent}.title-dragged{display:inline-block;pointer-events:none;color:var(--text)}.title-icon{display:inline-block;width:.6em;height:.85em;vertical-align:-.15em;-webkit-mask-image:url(/assets/site-icon-v2.svg);mask-image:url(/assets/site-icon-v2.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center bottom;mask-position:center bottom;background-color:currentColor}h1.title-anim .title-dragged.lifting{position:absolute;top:0;opacity:1;transform:none;transition:left .6s cubic-bezier(.25,.1,.25,1)}.title-cursor{position:absolute;top:-.1em;right:-.85em;width:.85em;height:.85em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' stroke='black' stroke-width='1.5'%3E%3Cpath d='M5 3l14 8-6.5 1.5L11 19z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:0;pointer-events:none;transition:opacity .25s ease;transform:scale(0)}.title-cursor.pop{animation:cursor-pop .3s ease-out forwards}@keyframes cursor-pop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.title-cursor.burst-out{animation:cursor-burst-out .25s ease-in forwards}@keyframes cursor-burst-out{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}to{transform:scale(0);opacity:0}}body.light-mode .title-cursor{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='white' stroke-width='1.5'%3E%3Cpath d='M5 3l14 8-6.5 1.5L11 19z'/%3E%3C/svg%3E")}body.is-native.is-screen-game .top-bar h1.title-anim{display:none}.top-bar-right{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.status-bar{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:1.25rem;font-size:.85rem;pointer-events:none}.status-item{display:flex;align-items:center;gap:.35rem;white-space:nowrap}.status-label{color:var(--text-muted)}.status-value{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}button{font-family:inherit;padding:.5rem 1.25rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff14;color:var(--text);font-size:.85rem;line-height:1;cursor:pointer;transition:all .2s}@media(hover:hover){button:hover:not(:disabled){background:#ffffff26;border-color:#ffffff59}}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent)}@media(hover:hover){button.primary:hover:not(:disabled){background:#7c6cf7}}.share-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .9rem}.share-btn svg{flex-shrink:0}.game-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:1100px;min-height:0}body.is-native:not(.is-screen-game) .game-area,body.is-native:not(.is-screen-game) .top-bar{display:none}#board{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(4,1fr);gap:6px;padding:1rem;background:var(--board-bg);border-radius:12px;width:100%;touch-action:none}body.classic-board #board{background:#2d6a4f;box-shadow:inset 0 0 60px #00000059;border-radius:14px;outline:3px solid #1b4332;outline-offset:-3px;position:relative}body.classic-board #board:after{content:"";position:absolute;inset:7px;border-radius:8px;border:2px dashed rgba(255,255,255,.22);pointer-events:none;z-index:0}body.light-mode.classic-board #board{background:#2d6a4f;outline-color:#1b4332;box-shadow:inset 0 0 60px #0000004d,0 4px 18px #0000002e}body.classic-board .cell.gap.dead-gap{background:#dc1e1e47;border-color:#ff3c3cbf}body.classic-board .dead-icon{color:#ff5050d9}body.classic-board{--valid-gap-bg: rgba(200, 255, 200, .15);--valid-gap-border: rgba(200, 255, 200, .8);--movable-glow: rgba(0, 60, 200, 1);--movable-border: rgba(0, 60, 200, .9)}body.classic-board .cell.gap.target-gap{background:#c8ffc847;border-color:#c8ffc8f2}body.wood-board #board{background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(0,0,0,.04) 4px,rgba(0,0,0,.04) 5px),repeating-linear-gradient(0deg,transparent,transparent 23px,rgba(0,0,0,.07) 23px,rgba(0,0,0,.07) 25px),linear-gradient(90deg,#6b4226,#7a4e2d,#6b4226 60%,#7a4e2d);box-shadow:inset 0 0 60px #0000004d}body.light-mode.wood-board #board{background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(0,0,0,.03) 4px,rgba(0,0,0,.03) 5px),repeating-linear-gradient(0deg,transparent,transparent 23px,rgba(0,0,0,.05) 23px,rgba(0,0,0,.05) 25px),linear-gradient(90deg,#8b6340,#9a7350,#8b6340 60%,#9a7350)}body.wood-board .cell.gap.dead-gap{background:#dc1e1e47;border-color:#ff3c3cbf}body.wood-board .dead-icon{color:#ff5050d9}body.wood-board{--valid-gap-bg: rgba(200, 255, 200, .15);--valid-gap-border: rgba(200, 255, 200, .8);--movable-glow: rgba(0, 60, 200, 1);--movable-border: rgba(0, 60, 200, .9)}body.wood-board .cell.gap.target-gap{background:#c8ffc847;border-color:#c8ffc8f2}.cell{aspect-ratio:5 / 7;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(.7rem,2vw,1rem);transition:transform .15s,box-shadow .15s,opacity .15s;position:relative;user-select:none}.cell[data-row="0"]{grid-row:1}.cell[data-row="1"]{grid-row:2}.cell[data-row="2"]{grid-row:3}.cell[data-row="3"]{grid-row:4}.cell[data-col="0"]{grid-column:1}.cell[data-col="1"]{grid-column:2}.cell[data-col="2"]{grid-column:3}.cell[data-col="3"]{grid-column:4}.cell[data-col="4"]{grid-column:5}.cell[data-col="5"]{grid-column:6}.cell[data-col="6"]{grid-column:7}.cell[data-col="7"]{grid-column:8}.cell[data-col="8"]{grid-column:9}.cell[data-col="9"]{grid-column:10}.cell.card{background:var(--card-bg);border:1.5px solid var(--card-border);box-shadow:0 2px 4px var(--card-shadow);cursor:pointer}.cell.card.movable{cursor:grab;box-shadow:0 0 14px var(--movable-glow),0 2px 4px var(--card-shadow);border-color:var(--movable-border)}.cell.card.movable:hover{transform:translateY(-4px);box-shadow:0 0 24px var(--movable-glow),0 6px 12px var(--card-shadow)}.cell.card.selected{box-shadow:0 0 16px var(--selected-glow),0 6px 12px var(--card-shadow);border-color:#ffdc32d9;transform:translateY(-6px) scale(1.04);z-index:10;cursor:grab}.cell.card.dragging{opacity:.35;transform:scale(.95);cursor:grabbing}.cell.card.dimmed{opacity:.45}.cell.card.locked{cursor:default;background:var(--locked-bg);border-color:var(--locked-border);opacity:.75}.cell.card.red .card-rank,.cell.card.red .card-suit{color:var(--red)}.cell.card.black .card-rank,.cell.card.black .card-suit{color:var(--black)}.card-rank{font-size:1.3em;font-weight:700;line-height:1}.card-suit{font-size:1.75em;line-height:1;margin-top:2px}.cell.card.classic{padding:0;background:#fff;overflow:hidden}.cell.card.classic .card-rank,.cell.card.classic .card-suit{display:none}.classic-card-img{position:absolute;top:4%;left:4%;width:92%;height:92%;pointer-events:none;background-size:103% 102%;background-repeat:no-repeat;background-position:center;border-radius:3px}.cell.card.classic.locked{filter:grayscale(40%) brightness(.85) sepia(15%)}.cell.card.vintage{padding:0;background:#fff;overflow:hidden}.cell.card.vintage .card-rank,.cell.card.vintage .card-suit{display:none}.vintage-card-svg{width:100%;height:100%;display:block;pointer-events:none}.cell.card.vintage.locked{background:var(--locked-bg);filter:grayscale(40%) brightness(.85) sepia(15%)}.cell.gap{background:var(--gap-bg);border:1.5px dashed var(--gap-border);cursor:default}.cell.gap.valid-gap{background:var(--valid-gap-bg);border-color:var(--valid-gap-border);animation:pulse-gap 2s ease-in-out infinite}.cell.gap.target-gap{background:#64ff6433;border-color:#64ff64e6;border-style:solid;cursor:pointer;position:relative}.cell.gap.target-gap:after{content:"";position:absolute;inset:-2px;border-radius:inherit;box-shadow:0 0 20px #64ff64e6;animation:pulse-target-opacity .9s ease-in-out infinite;pointer-events:none}.cell.gap.incompatible-gap{opacity:.4}.cell.gap.drag-over{background:#64ff6459;border-color:#64ff64;border-style:solid;transform:scale(1.05)}.cell.gap.dead-gap{background:var(--dead-gap-bg);border-color:var(--dead-gap-border);cursor:not-allowed}#board.game-over .cell{cursor:default!important}.dead-icon{color:#ff3c3c66;font-size:1.2em}@keyframes pulse-gap{0%,to{border-color:var(--valid-gap-border);background:var(--valid-gap-bg)}50%{border-color:#64ff6426;background:transparent}}@keyframes pulse-gap-light{0%,to{border-color:var(--valid-gap-border);background:var(--valid-gap-bg)}50%{border-color:#1482144d;background:transparent}}body.light-mode .cell.gap.valid-gap{animation-name:pulse-gap-light}@keyframes pulse-target-opacity{0%,to{opacity:.6}50%{opacity:1}}.cell.gap.invalid-target{animation:shake-invalid .38s ease forwards!important}@keyframes shake-invalid{0%{transform:translate(0);background:#ff46462e;border-color:#ff4646cc}22%{transform:translate(-4px);background:#ff464638}44%{transform:translate(4px);border-color:#ff4646}66%{transform:translate(-3px)}88%{transform:translate(2px);background:#ff46461a}to{transform:translate(0);background:var(--gap-bg);border-color:var(--gap-border)}}.floating-card{border-radius:6px;background:var(--card-bg);border:1.5px solid var(--card-border);box-shadow:0 8px 20px #0006;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(.7rem,2vw,1rem)}@keyframes deal-in{0%{opacity:0;transform:translateY(-28px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}.cell.card.deal-in{animation:deal-in .32s ease-out both}.message-bar{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;opacity:0;pointer-events:none;transition:opacity .3s;z-index:200}.message-bar.visible{opacity:1;pointer-events:all}.message-bar-box{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:2.5rem;background:var(--board-bg);border-radius:16px;border:1px solid rgba(255,255,255,.15);color:var(--text);text-align:center;width:min(90vw,400px);box-shadow:0 8px 32px #00000080}body.light-mode .message-bar-box{background:var(--board-bg);border-color:#0000001a;box-shadow:0 8px 32px #0000002e}.message-bar-title{font-family:Coustard,serif;font-size:1.8rem;font-weight:400;letter-spacing:.05em;color:var(--text);margin:0}.message-bar-text{font-size:.9rem;color:var(--text-muted);line-height:1.5;margin:0}.redeal-tip{font-size:.8rem;color:var(--text-muted);opacity:.75;line-height:1.5;margin:.5rem -2.5rem -2.5rem;background:#ffffff0d;padding:1rem 2.5rem 1.25rem;border-radius:0 0 16px 16px}body.light-mode .redeal-tip{background:#0000000a}.redeal-progress{display:flex;flex-direction:column;align-items:center;gap:.1rem}.redeal-score-value{font-size:1.4rem;font-weight:600;letter-spacing:.05em;color:var(--text)}.redeal-score-label{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}#redeal-btn{margin-top:.65rem;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}#message{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.6rem 1.2rem;border-radius:8px;background:#ffc8321f;border:1px solid rgba(255,200,50,.3);color:#ffd866;font-size:.85rem;opacity:0;pointer-events:none;transition:opacity .3s;z-index:50}#message.visible{opacity:1}.overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s}.overlay.visible{opacity:1;pointer-events:all}body.gaps-board-hidden .game-area{opacity:0!important}.overlay-content{background:var(--board-bg);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:max(.75rem,env(safe-area-inset-top)) 2.5rem 2.5rem;text-align:center;max-width:400px;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;position:relative;transform:translateZ(0);-webkit-transform:translateZ(0)}.overlay.visible .overlay-content{animation:overlay-enter .45s cubic-bezier(.34,1.4,.64,1) forwards}@keyframes overlay-enter{0%{opacity:0;transform:scale(.88) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-corner-btn{position:absolute;top:max(.5rem,env(safe-area-inset-top))}.modal-corner-btn--close{right:.5rem}.modal-corner-btn--back{left:.5rem}.overlay-content h2{font-family:Coustard,serif;font-size:1.8rem;font-weight:400;letter-spacing:.05em;margin-top:1.75rem;margin-bottom:.75rem}.overlay-content p{color:var(--text-muted);margin-bottom:1.25rem;line-height:1.5}.privacy-content{max-width:480px;max-height:80vh;overflow-y:auto;text-align:left;padding:2rem 2.25rem}.privacy-content h2{text-align:center}.privacy-content h3{font-size:.95rem;font-weight:600;margin-top:1.25rem;margin-bottom:.4rem;color:var(--text)}.privacy-content p{font-size:.85rem;line-height:1.6;margin-bottom:.6rem}.privacy-content ul{font-size:.85rem;line-height:1.6;padding-left:1.25rem;margin-bottom:.6rem}.privacy-content a{color:var(--accent, #4a9eff)}.difficulty-popup-content{max-width:360px;padding:2.25rem 2.5rem 2rem;box-shadow:0 12px 36px #00000080}body.light-mode .difficulty-popup-content{box-shadow:0 12px 36px #0003}.difficulty-popup-badge-wrap{display:flex;justify-content:center;margin-bottom:1.25rem}.difficulty-popup-badge{display:inline-block;padding:.3rem 1rem;border-radius:999px;font-family:inherit;font-size:.95rem;font-weight:600;letter-spacing:.06em;color:#fff}.difficulty-popup-badge--easy{background:#4caf50}.difficulty-popup-badge--medium{background:#ff9800}.difficulty-popup-badge--hard{background:#f44336}.difficulty-popup-badge--loading{width:6rem;height:1.85rem;padding:0;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease infinite}body.light-mode .difficulty-popup-badge--loading{background:linear-gradient(90deg,#0000000f 25%,#0000001a,#0000000f 75%);background-size:200% 100%}.difficulty-popup-clear-rate{font-size:1.05rem;color:var(--text-strong, inherit);margin-bottom:1rem!important}.difficulty-popup-explanation{font-size:.92rem;margin-bottom:1.5rem!important}.difficulty-popup-play{min-width:9rem}.overlay-difficulty{margin:1.75rem -2.5rem -2.5rem;padding:1.1rem 2.5rem 1.5rem;background:#ffffff0d;border-radius:0 0 16px 16px}body.light-mode .overlay-difficulty{background:#0000000a}.overlay-percentile{margin:.25rem 0 .75rem;display:flex;justify-content:center}.overlay-top10{padding-top:.25rem}.overlay-top10-date{margin:-.5rem 0 1.5rem;text-align:center;font-size:.95rem;color:var(--text-muted)}.overlay-top10-difficulty{margin:0 0 1.25rem}.overlay-top10-difficulty:empty{display:none}.overlay-top10-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.overlay-top10-row{position:relative;display:grid;grid-template-columns:2.4em 1fr;grid-template-rows:auto auto;column-gap:1rem;row-gap:.15rem;padding:.8rem .5rem .8rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.overlay-top10-row:last-child{border-bottom:none}body.light-mode .overlay-top10-row{border-bottom-color:#0000001a}.overlay-top10-row.gold:before,.overlay-top10-row.silver:before,.overlay-top10-row.bronze:before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:3px;border-radius:2px}.overlay-top10-row.gold:before{background:#d4af37}.overlay-top10-row.silver:before{background:#b9b9b9}.overlay-top10-row.bronze:before{background:#cd7f32}.overlay-top10-row.is-you{background:#ffffff0f;border-radius:6px}body.light-mode .overlay-top10-row.is-you{background:#0000000d}.overlay-top10-rank{grid-column:1;grid-row:1 / span 2;align-self:center;font-family:Coustard,serif;font-size:1.3rem;text-align:center;font-variant-numeric:tabular-nums}.overlay-top10-score{grid-column:2;grid-row:1;text-align:left;font-family:Coustard,serif;font-size:1.05rem;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.overlay-top10-meta{grid-column:2;grid-row:2;text-align:left;font-size:.8rem;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.25;white-space:nowrap}.overlay-top10-status{margin:1.5rem 0 0;text-align:center;color:var(--text-muted);font-size:.85rem}.deal-info-heading{display:flex;align-items:center;justify-content:center;font-family:Coustard,serif;font-size:1.1rem;font-weight:400;color:var(--text);margin-bottom:.2rem}.deal-ai-icon{width:18px;height:18px;opacity:.7;flex-shrink:0;margin-right:.35em}.deal-info-subheading{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.72rem;color:var(--text-muted);line-height:1.4;margin-bottom:8px}.deal-info-stats{display:flex;justify-content:center;gap:1.5rem}.deal-stat{display:flex;flex-direction:column;align-items:center;gap:.1rem}.deal-stat-value{display:inline-flex;align-items:center;gap:.35em;font-size:1rem;font-weight:600;color:var(--text)}.deal-stat-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line{display:block;height:.75rem;border-radius:4px;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease infinite;margin:6px auto}body.light-mode .skeleton-line{background:linear-gradient(90deg,#0000000f 25%,#0000001a,#0000000f 75%);background-size:200% 100%}.skeleton-line--inline{margin:0;display:inline-block}.skeleton-badge{display:block;height:2rem;width:70%;border-radius:999px;margin:10px auto;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease infinite}body.light-mode .skeleton-badge{background:linear-gradient(90deg,#0000000f 25%,#0000001a,#0000000f 75%);background-size:200% 100%}.difficulty-badge{display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.difficulty-badge-value{display:inline-flex;align-items:center;gap:.35em;font-size:.85rem;font-weight:400;color:var(--text);background:#ffffff14;padding:.3em .9em;border-radius:999px}body.light-mode .difficulty-badge-value{background:#00000012}.compare-details-btn{display:block;margin:0 auto;background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;text-decoration:underline;padding:0}.compare-details-btn:hover{color:var(--text);background:none;border:none}body.light-mode .compare-details-btn,body.light-mode .compare-details-btn:hover{background:none;border:none}.compare-progress-bar{margin:.3rem 0 0}.compare-progress-track{position:relative;height:8px;border-radius:4px;background:#ffffff21;overflow:visible}body.light-mode .compare-progress-track{background:#0000001a}.compare-progress-fill{height:100%;border-radius:4px;background:linear-gradient(to right,#a29bfe,#6c5ce7)}body.light-mode .compare-progress-fill{background:linear-gradient(to right,#8f85e0,#5a4fcf)}.compare-progress-avg{position:absolute;top:-3px;width:2px;height:14px;background:#fff9;border-radius:1px;transform:translate(-50%);z-index:1}body.light-mode .compare-progress-avg{background:#0000004d}.compare-progress-avg-label{position:absolute;top:100%;margin-top:2px;transform:translate(-50%);font-size:.5rem;color:var(--text-muted);white-space:nowrap;line-height:1}.compare-winrate-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-top:.3rem}.compare-winrate-won{background:linear-gradient(to right,#00b894,#2ecc71)}.compare-winrate-lost{background:linear-gradient(to right,#d63031,#e74c3c)}.compare-winrate-legend{display:flex;gap:.8rem;margin-top:6px;font-size:.55rem;color:var(--text-muted)}.compare-winrate-legend-item{display:flex;align-items:center;gap:.25rem}.compare-winrate-legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.compare-detail-view{text-align:left}.compare-detail-title,.overlay-content .compare-detail-title{display:flex;align-items:center;justify-content:center;font-family:Coustard,serif;font-size:1.3rem;font-weight:400;margin:0;padding-top:2.5rem;clear:both;white-space:nowrap;text-align:center;letter-spacing:normal}.compare-detail-subtitle{font-size:.68rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.4;text-align:center}.compare-divider{height:1px;background:#ffffff1f;margin:.6rem 0}body.light-mode .compare-divider{background:#0000001a}.compare-section{margin-bottom:0;text-align:left}.compare-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}.compare-section-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text)}.compare-section-value{font-size:.88rem;font-weight:600;color:var(--text)}.compare-section-sub{display:flex;align-items:flex-start;gap:.25rem;font-size:.6rem;color:var(--text-muted);margin-top:4px;line-height:1.3}.compare-section-sub--spaced{margin-top:1rem}.compare-section-sub--after-slider{margin-top:1.2rem}.compare-info-icon{width:10px;height:10px;flex-shrink:0;margin-top:.05em;opacity:.6}.compare-goes-breakdown{display:flex;flex-direction:column;gap:0rem;margin-top:.6rem}.compare-goes-bar{display:flex;align-items:center;gap:.5rem;padding-bottom:1.1rem;opacity:.5}.compare-goes-bar.compare-goes-active{opacity:1}.compare-goes-label{font-size:.65rem;font-weight:600;color:var(--text);width:2.5rem;flex-shrink:0}.compare-goes-fill-track{flex:1;height:6px;border-radius:3px;background:#ffffff1a;overflow:visible;position:relative}body.light-mode .compare-goes-fill-track{background:#00000014}.compare-goes-fill{height:100%;border-radius:3px;background:linear-gradient(to right,#a29bfe,#6c5ce7);min-width:2px}body.light-mode .compare-goes-fill{background:linear-gradient(to right,#8f85e0,#5a4fcf)}.compare-goes-avg{position:absolute;top:-2px;width:2px;height:10px;background:#fff9;border-radius:1px;transform:translate(-50%);z-index:1}body.light-mode .compare-goes-avg{background:#0000004d}.compare-goes-avg-label{position:absolute;top:100%;margin-top:3px;transform:translate(-50%);font-size:.55rem;color:var(--text-muted);white-space:nowrap;line-height:1}.compare-goes-pct{font-size:.65rem;color:var(--text-muted);width:2.2rem;text-align:right;flex-shrink:0}.compare-difficulty-badge{display:inline-block;font-size:.75rem;font-weight:600;color:#fff;padding:.15em .7em;border-radius:999px}.compare-expand-btn{display:flex;align-items:center;gap:.35em;background:none;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-muted);font-size:.6rem;letter-spacing:.02em;cursor:pointer;padding:.25rem .55rem;margin-top:.5rem;margin-left:auto;transition:color .2s,border-color .2s}.compare-expand-btn:hover{color:var(--text);border-color:#ffffff40}body.light-mode .compare-expand-btn{border-color:#0000001f}body.light-mode .compare-expand-btn:hover{border-color:#0000004d}.compare-expand-chevron{font-size:.45rem;transition:transform .3s ease}.compare-expand-btn.expanded .compare-expand-chevron{transform:rotate(180deg)}.compare-expandable{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease,padding .35s ease;padding-top:0}.compare-expandable.open{max-height:300px;opacity:1;padding-top:.5rem}.compare-difficulty-bar{position:relative;display:flex;height:8px;border-radius:4px;overflow:visible;margin-top:.4em}.compare-difficulty-zone{height:100%}.compare-difficulty-zone--hard{width:24%;background:#d63031;border-radius:4px 0 0 4px}.compare-difficulty-zone--medium{width:26%;background:#ff9800}.compare-difficulty-zone--easy{width:50%;background:#4caf50;border-radius:0 4px 4px 0}.compare-difficulty-marker{position:absolute;top:-3px;transform:translate(-50%);width:2px;height:14px;background:#fff9;border-radius:1px;z-index:1}body.light-mode .compare-difficulty-marker{background:#0000004d}.compare-difficulty-marker-label{position:absolute;top:100%;margin-top:2px;transform:translate(-50%);font-size:.5rem;color:var(--text-muted);white-space:nowrap;line-height:1}.compare-difficulty-labels{display:flex;font-size:.7rem;font-weight:600;margin-top:.25em}.compare-difficulty-labels-item{text-align:center;opacity:.85}.compare-difficulty-labels-item:nth-child(1){width:24%}.compare-difficulty-labels-item:nth-child(2){width:26%}.compare-difficulty-labels-item:nth-child(3){width:50%}.compare-difficulty-inline{display:flex;align-items:center;gap:.5em;margin-top:.5em;font-size:.82rem;color:var(--text-muted)}.compare-difficulty-text strong{color:var(--text)}.diff-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.overlay-score{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1.25rem}.score-value{font-size:2.25rem;font-weight:700;letter-spacing:.03em;color:var(--text);line-height:1}.score-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.overlay-details{display:flex;gap:1.25rem;justify-content:center;margin-bottom:1.25rem}.detail-item{display:flex;flex-direction:column;align-items:center;gap:.1rem}.detail-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.detail-value{font-size:1rem;font-weight:600;color:var(--text)}.overlay-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.25rem;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}body.light-mode .overlay-stats{border-color:#0000001a}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.15rem}.stat-value{font-size:1.15rem;font-weight:700;color:var(--text)}.stat-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.overlay-login{text-align:center;font-size:.8rem;color:var(--text-muted);margin:-.5rem 0 1.25rem}.overlay-login-link{color:var(--accent);font-weight:600;text-decoration:underline;cursor:pointer}.overlay-actions{display:flex;flex-direction:column;gap:.6rem}.floating-btns{position:fixed;bottom:3.5rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:50}.view-result-btn{display:flex;align-items:center;gap:.35rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.6rem 1.2rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .2s;white-space:nowrap}.view-result-btn:hover:not(:disabled){background:#ffffff26}.view-result-btn svg{flex-shrink:0}body.light-mode .view-result-btn{background:#e6e2da;color:var(--text)}body.light-mode .view-result-btn:hover:not(:disabled){background:#ddd9d0}.overlay-countdown{text-align:center;margin-top:1rem}.countdown-title{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:.4rem;letter-spacing:.02em}.countdown-boxes{display:flex;align-items:flex-start;justify-content:center;gap:0}.countdown-box{display:flex;flex-direction:column;align-items:center}.countdown-unit{font-size:.5rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem}.countdown-sep{font-size:.8rem;font-weight:700;color:var(--text-muted);line-height:1.5rem;margin:0 .15rem}.roll-group{display:flex;gap:1px}.roll-digit{width:1.1rem;height:1.5rem;overflow:hidden;background:#ffffff12;border-radius:4px;contain:strict}body.light-mode .roll-digit{background:#0000000d}.roll-strip{display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.23,1,.32,1);will-change:transform;transform:translateZ(0);backface-visibility:hidden}.roll-strip span{height:1.5rem;display:flex;align-items:center;justify-content:center;font-family:Coustard,serif;font-size:.85rem;font-weight:700;color:var(--text);flex-shrink:0}.overlay-share-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;background:#ffffff14;border-color:#fff3}.overlay-share-btn:hover:not(:disabled){background:#ffffff26}.overlay-share-btn:disabled{opacity:.45;cursor:not-allowed}.overlay-share-btn.copied{background:#ffffff26}.overlay-tabs{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.1);margin:-1.1rem -2.5rem 1rem}body.light-mode .overlay-tabs{border-bottom-color:#0000001a}.overlay-tab,body.light-mode .overlay-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .3rem;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.overlay-tab-icon{width:18px;height:18px;flex-shrink:0;opacity:.9;stroke-width:2.5;transform:translateZ(0);backface-visibility:hidden}.overlay-tab:hover:not(:disabled),body.light-mode .overlay-tab:hover:not(:disabled){background:transparent;border-color:transparent;border-bottom-color:#ffffff40;color:var(--text)}body.light-mode .overlay-tab:hover:not(:disabled){border-bottom-color:#0003}.overlay-tab.active,.overlay-tab.active:hover:not(:disabled),body.light-mode .overlay-tab.active,body.light-mode .overlay-tab.active:hover:not(:disabled){color:var(--text);border-bottom-color:var(--accent)}.overlay-tabs--skeleton .overlay-tab{cursor:default}.tab-badge-new{display:inline-flex;align-items:center;padding:.15rem .4rem;border-radius:999px;background:var(--accent);color:#fff;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.05em;line-height:1}.overlay-tab-panel[data-panel=practice]{margin-left:-1.25rem;margin-right:-1.25rem}.overlay-tab-panel[hidden]{display:none}.practice-panel-intro{margin:0 0 .6rem;font-size:.72rem;color:var(--text-muted);text-align:center;line-height:1.4}.practice-deals{display:flex;flex-direction:column;gap:.5rem}.practice-deals-row{display:flex;flex-direction:row;gap:.5rem}.practice-deals-row .practice-deal-btn{flex:1;min-width:0}.practice-deal-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.7rem 4rem 1.5rem .55rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text);cursor:pointer;text-align:left;transition:background .15s ease}.practice-deal-btn:hover{background:#ffffff26}body.light-mode .practice-deal-btn{background:#0000000a;border-color:#0000001f}body.light-mode .practice-deal-btn:hover{background:#00000014}.practice-deal-btn .deal-title{font-family:Coustard,serif;font-size:.8rem;font-weight:400;white-space:nowrap}.practice-deal-btn .deal-sub{font-size:.65rem;color:var(--text-muted);margin-top:.15rem;line-height:1.35}.deal-played-mark{position:absolute;top:.5rem;right:.55rem;display:inline-flex;align-items:center;justify-content:center;color:#7de29b;pointer-events:none}body.light-mode .deal-played-mark{color:#2f7a47}.deal-played-mark svg{width:16px;height:16px;display:block}.deal-best{position:absolute;right:.55rem;bottom:.35rem;display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;background:#ffffff1a;color:var(--text-muted);font-size:.6rem;font-weight:600;letter-spacing:.03em;line-height:1;pointer-events:none}body.light-mode .deal-best{background:#0000000f}body.practice-mode .top-bar-left h1{display:none}.practice-exit-btn{display:inline-flex;align-items:center;justify-content:center;height:2.2rem;width:2.2rem;padding:0;color:#ff6b6b;border:1px solid rgba(255,107,107,.45);background:#ff6b6b1f;border-radius:6px;cursor:pointer}.practice-exit-btn:hover:not(:disabled){background:#ff6b6b38;border-color:#ff6b6bb3}.practice-exit-btn svg{flex-shrink:0}body.light-mode .practice-exit-btn{color:#c42f2f;border-color:#c42f2f73;background:#c42f2f1a}body.light-mode .practice-exit-btn:hover:not(:disabled){background:#c42f2f2e;border-color:#c42f2fb3}@media(max-width:600px){.practice-exit-btn{height:1.9rem;width:1.9rem;padding:0}}#overlay-btn{width:100%}.replay-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:.8rem 1rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom,0px));background:#14141ef2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999}.replay-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fffc;cursor:pointer;padding:.5rem;border-radius:50%;transition:background .15s,color .15s;width:40px;height:40px}.replay-btn:hover{background:#ffffff1a;color:#fff}.replay-btn.replay-play{width:48px;height:48px;background:#ffffff1a}.replay-btn.replay-play:hover{background:#fff3}.replay-btn svg{width:20px;height:20px}.replay-btn.replay-play svg{width:24px;height:24px}.replay-exit-btn{background:none;border:1px solid rgba(255,255,255,.25);color:#fffc;cursor:pointer;padding:.4rem 1rem;border-radius:6px;font-size:.8rem;transition:background .15s,color .15s;white-space:nowrap}.replay-exit-btn:hover{background:#ffffff1a;color:#fff}.replay-speed-btn{background:none;border:1px solid rgba(255,255,255,.25);color:#fffc;cursor:pointer;padding:.4rem .7rem;border-radius:6px;font-size:.8rem;font-weight:600;min-width:2.4rem;text-align:center;transition:background .15s,color .15s}.replay-speed-btn:hover{background:#ffffff1a;color:#fff}.replay-go-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Coustard,serif;font-size:2rem;font-weight:400;color:#fff;background:#000000b3;border-radius:12px;z-index:100;pointer-events:none;animation:replay-go-fade 1s ease-out forwards}@keyframes replay-go-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}body.light-mode{--bg: #f4f0e8;--board-bg: #e4dfd4;--card-bg: #ffffff;--card-border: #c8c2b8;--card-shadow: rgba(0, 0, 0, .12);--gap-bg: rgba(0, 0, 0, .04);--gap-border: rgba(0, 0, 0, .18);--dead-gap-bg: rgba(220, 50, 50, .07);--dead-gap-border: rgba(220, 50, 50, .35);--valid-gap-bg: rgba(20, 130, 20, .18);--valid-gap-border: rgba(20, 130, 20, .75);--movable-glow: rgba(0, 140, 255, .85);--movable-border: rgba(0, 140, 255, .65);--selected-glow: rgba(230, 160, 0, .8);--locked-bg: #ede9de;--locked-border: #b8b4a8;--red: #c0392b;--black: #1a1a2e;--accent: #5a4fcf;--text: #1a1a2e;--text-muted: #5a6470}body.light-mode button{border-color:#0003;background:#0000000f;color:var(--text)}@media(hover:hover){body.light-mode button:hover:not(:disabled){background:#0000001f;border-color:#0000004d}}body.light-mode button.primary{background:var(--text);border-color:var(--text);color:#fff}.icon-btn{width:2.2rem;height:2.2rem;padding:0;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center}.settings-backdrop{position:fixed;inset:0;background:#00000073;z-index:200;opacity:0;pointer-events:none;transition:opacity .25s}.settings-backdrop.open{opacity:1;pointer-events:all}.settings-sidebar{position:fixed;top:0;right:0;height:100%;width:320px;max-width:90vw;background:var(--board-bg);border-left:1px solid rgba(255,255,255,.12);z-index:201;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}body.light-mode .settings-sidebar{border-left-color:#0000001f}.settings-sidebar.open{transform:translate(0)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:max(1.25rem,calc(.5rem + env(safe-area-inset-top))) 1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}body.light-mode .settings-header{border-bottom-color:#0000001a}.settings-header h3{font-family:Coustard,serif;font-size:1rem;font-weight:400;letter-spacing:.08em;color:var(--text)}.settings-header-title{display:flex;align-items:center;gap:.35rem;min-width:0}.settings-pane--account,.settings-pane--notifications{animation:settings-pane-in-right .24s cubic-bezier(.4,0,.2,1)}.settings-pane--main{animation:settings-pane-in-left .24s cubic-bezier(.4,0,.2,1)}@keyframes settings-pane-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes settings-pane-in-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.settings-pane--main,.settings-pane--account,.settings-pane--notifications{animation:none}}.settings-row-nav{width:100%;background:none;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.settings-row-nav:hover{background:#ffffff0d}body.light-mode .settings-row-nav:hover{background:#0000000a}.settings-nav-chevron{color:var(--text-muted);flex-shrink:0}.settings-body{flex:1;overflow-y:auto;padding:.75rem 0;overflow-x:hidden}.settings-group-title{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:.75rem 1.25rem .35rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1.25rem}.settings-row-info{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.settings-label{font-size:.9rem;color:var(--text);font-weight:500}.settings-hint{font-size:.73rem;color:var(--text-muted);line-height:1.4}.toggle-switch{flex-shrink:0;cursor:pointer;display:inline-block}.toggle-switch input{display:none}.toggle-track{display:block;width:42px;height:24px;border-radius:12px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);position:relative;transition:background .2s,border-color .2s}body.light-mode .toggle-track{background:#0000001f;border-color:#0003}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:transform .2s,background .2s}.toggle-switch input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle-switch input:checked+.toggle-track:after{transform:translate(18px);background:#fff}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:#ffffff26;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;border:none;background:var(--accent);cursor:pointer}body.light-mode input[type=range]{background:#0000001f}.sound-mixer{overflow:hidden;max-height:0;transition:max-height .3s ease,opacity .25s ease;opacity:0;background:#ffffff0a;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.sound-mixer.open{max-height:400px;opacity:1}body.light-mode .sound-mixer{background:#00000008;border-color:#00000012}.sound-mixer-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem}.sound-mixer-label{font-size:.82rem;color:var(--text-muted);width:6.5rem;flex-shrink:0}.sound-mixer-slider{flex:1}.settings-row.settings-row-stacked{flex-direction:column;align-items:stretch;gap:.5rem}.settings-radio-group{display:flex;gap:0;flex-shrink:0}.settings-radio-option{cursor:pointer;flex:1}.settings-radio-option input{display:none}.radio-label{display:block;padding:.45rem .5rem;font-size:.78rem;text-align:center;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-left:none;color:var(--text-muted);transition:background .2s,border-color .2s,color .2s}.settings-radio-option:first-child .radio-label{border-left:1px solid rgba(255,255,255,.15);border-radius:6px 0 0 6px}.settings-radio-option:last-child .radio-label{border-radius:0 6px 6px 0}.settings-radio-option:only-child .radio-label{border-radius:6px}body.light-mode .radio-label{background:#0000000d;border-color:#00000026;border-left:none}body.light-mode .settings-radio-option:first-child .radio-label{border-left:1px solid rgba(0,0,0,.15)}.settings-radio-option input:checked+.radio-label{background:var(--accent);border-color:var(--accent);color:#fff;position:relative;z-index:1}.radio-label.radio-loading{color:transparent;pointer-events:none}.radio-label.radio-loading:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:radio-spin .6s linear infinite}@keyframes radio-spin{to{transform:rotate(360deg)}}.settings-preview-group{display:flex;gap:12px;flex-shrink:0}.settings-preview-option{cursor:pointer;flex:1;text-align:center}.settings-preview-option input{display:none}.preview-card-wrapper,.preview-board-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:8px;border:2px solid transparent;transition:border-color .2s,background .2s;background:#ffffff0a}body.light-mode .preview-card-wrapper,body.light-mode .preview-board-wrapper{background:#00000008}.settings-preview-option input:checked~.preview-card-wrapper,.settings-preview-option input:checked~.preview-board-wrapper{border-color:var(--accent);background:#3b82f61a}.preview-label{font-size:.72rem;color:var(--text-muted);font-weight:500}.settings-preview-option input:checked~.preview-card-wrapper .preview-label,.settings-preview-option input:checked~.preview-board-wrapper .preview-label{color:var(--accent)}.preview-card{width:48px;aspect-ratio:5 / 7;border-radius:5px;background:var(--card-bg);border:1.5px solid var(--card-border);box-shadow:0 2px 4px var(--card-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.7rem;position:relative;overflow:hidden}.preview-card .card-rank{font-size:1.1em;font-weight:700;line-height:1}.preview-card .card-suit{font-size:1.4em;line-height:1;margin-top:1px}.preview-card.red .card-rank,.preview-card.red .card-suit{color:var(--red)}.preview-card.classic-preview{background:#fff;padding:0}.preview-card.classic-preview .classic-card-img{position:absolute;top:4%;left:4%;width:92%;height:92%;background-size:103% 102%;background-repeat:no-repeat;background-position:center;border-radius:2px}.preview-card.vintage-preview{background:#fff;padding:0}.preview-card.vintage-preview.vintage-placeholder{padding:0;overflow:hidden}.vintage-placeholder-img{width:100%;height:100%;object-fit:contain;display:block}.preview-card.vintage-preview .vintage-card-svg{width:100%;height:100%;display:block}.preview-board{width:100%;aspect-ratio:2.5 / 1;border-radius:6px;position:relative}.preview-board-default{background:var(--board-bg)}.preview-board-classic{background:#2d6a4f;box-shadow:inset 0 0 20px #00000059;outline:2px solid #1b4332;outline-offset:-2px}body.light-mode .preview-board-classic{background:#2d6a4f}.preview-board-wood{background:linear-gradient(90deg,#6b4226,#7a4e2d,#6b4226 60%,#7a4e2d);box-shadow:inset 0 0 20px #0000004d}body.light-mode .preview-board-wood{background:linear-gradient(90deg,#8b6340,#9a7350,#8b6340 60%,#9a7350)}.settings-row-action{flex-direction:row;align-items:center}.settings-action-btn{flex-shrink:0;padding:.4rem .85rem;font-size:.8rem;background:var(--accent);border-color:var(--accent);color:#fff;border-radius:6px;cursor:pointer;font-family:inherit;border:1px solid var(--accent);transition:background .2s}.settings-action-btn:hover{background:#7c6cf7}.card-style-attribution{font-size:.7em;color:var(--text-muted);opacity:.45;text-decoration:none;cursor:help;margin-left:.25em;vertical-align:middle;transition:opacity .15s,color .15s}.card-style-attribution:hover{opacity:.85;color:var(--text)}.settings-footer-attribution{font-size:.68rem;color:var(--text-muted);opacity:.35}.settings-footer-attribution a{font-size:inherit;opacity:1}.settings-footer{padding:.75rem 1.25rem;border-top:1px solid rgba(255,255,255,.06);text-align:center;flex-shrink:0;display:flex;flex-direction:column;gap:.25rem}.settings-footer-top{display:flex;justify-content:center;align-items:center;gap:.5rem}.settings-footer-copyright,.settings-footer-links{font-size:.75rem;color:var(--text-muted);opacity:.45}.settings-footer .settings-footer-links a{opacity:1;color:inherit}.settings-footer a{font-size:.75rem;color:var(--text-muted);opacity:.45;text-decoration:none;transition:opacity .2s,color .2s}.settings-footer a:hover{opacity:.8;color:var(--text)}body.light-mode .settings-footer{border-top-color:#0000000f}.tutorial-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:300;pointer-events:none;opacity:0;transform:translateY(20px);transition:opacity .25s,transform .25s}.tutorial-overlay.visible{opacity:1;transform:translateY(0);pointer-events:all}.tutorial-card{background:var(--board-bg);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:1.25rem 1.5rem 1rem;max-width:560px;width:100%;box-shadow:0 4px 32px #00000073;min-height:260px;display:flex;flex-direction:column}body.light-mode .tutorial-card{border-color:#0000001f;box-shadow:0 -4px 32px #0000002e}.tutorial-title{display:flex;align-items:center;gap:.4rem;font-family:Coustard,serif;font-size:1.2rem;font-weight:400;color:var(--text);margin-bottom:.5rem}.tutorial-help-icon{flex-shrink:0;color:var(--text-muted)}.tutorial-text{font-size:.85rem;color:var(--text-muted);line-height:1.65;margin-bottom:.75rem}.tutorial-text ul{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.55rem}.tutorial-help-toggle-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:.75rem;margin-top:.25rem;margin-bottom:.75rem}body.light-mode .tutorial-help-toggle-row{border-top-color:#00000014}.tutorial-help-text{font-size:.8rem;color:var(--text-muted);line-height:1.55;background:#6c5ce71a;border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:.55rem .75rem;margin-bottom:1rem}body.light-mode .tutorial-help-text{background:#6c5ce712}.tutorial-nav{display:flex;gap:.5rem;justify-content:flex-end;margin-top:auto}.tutorial-nav-btn{padding:.4rem .9rem;font-size:.8rem;border-radius:6px;cursor:pointer;font-family:inherit;border:1px solid rgba(255,255,255,.2);background:#ffffff12;color:var(--text);transition:background .15s}body.light-mode .tutorial-nav-btn{border-color:#0000002e;background:#0000000d}@media(hover:hover){.tutorial-nav-btn:hover{background:#ffffff21}body.light-mode .tutorial-nav-btn:hover{background:#0000001a}}.tutorial-nav-primary{background:var(--accent);border-color:var(--accent);color:#fff}@media(hover:hover){.tutorial-nav-primary:hover{background:#7c6cf7!important}}@keyframes tutorial-pulse-opacity{0%,to{opacity:.5}50%{opacity:1}}.tutorial-target{z-index:2;position:relative;border-radius:8px}.tutorial-target:after{content:"";position:absolute;inset:-2px;border-radius:inherit;box-shadow:0 0 14px 5px #ffc832d9;animation:tutorial-pulse-opacity 1.2s ease-in-out infinite;pointer-events:none}#settings-btn.tutorial-target,#how-to-play-btn.tutorial-target{box-shadow:0 0 14px 5px #ffc832d9;animation:tutorial-pulse-opacity 1.2s ease-in-out infinite}#settings-btn.tutorial-target:after,#how-to-play-btn.tutorial-target:after{display:none}body.tutorial-mode #board .cell:not(.tutorial-target){opacity:.45;transition:opacity .2s}body.tutorial-mode #board .cell.tutorial-target{opacity:1}body.tutorial-free-move #board .cell{opacity:1!important}.tutorial-text-with-hint{display:flex;align-items:center;gap:.6rem}.tutorial-hint-btn{display:inline-block;flex-shrink:0;padding:.3em .9em;font-size:.8rem;font-weight:600;color:var(--accent, #5b9cf5);background:#5b9cf51a;border:1px solid var(--accent, #5b9cf5);border-radius:6px;cursor:pointer}@media(hover:hover){.tutorial-hint-btn:hover{background:#5b9cf533}}#auto-complete-wrap{position:relative}#auto-complete-btn{background:#e74c3c;color:#fff;font-size:.65rem;padding:.25em .6em;border-radius:4px;border:none;cursor:pointer;opacity:.8}#auto-complete-btn:hover{opacity:1}.auto-complete-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:var(--board-bg);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:8px 10px;z-index:100;min-width:170px;box-shadow:0 4px 12px #0006}body.light-mode .auto-complete-dropdown{background:#fff;border-color:#0000001f;box-shadow:0 4px 12px #0000001f}.auto-complete-dropdown.open{display:block}.ac-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.65rem;color:var(--text)}.ac-radio{display:flex;align-items:center;gap:3px;cursor:pointer;font-size:.65rem}.ac-radio input{margin:0}.ac-label{font-size:.6rem;color:var(--text-muted);white-space:nowrap}#ac-moves-slider{flex:1;cursor:pointer;accent-color:#e74c3c;height:18px}#ac-go-btn{width:100%;background:#e74c3c;color:#fff;border:none;border-radius:4px;padding:4px 0;font-size:.65rem;cursor:pointer;opacity:.9}#ac-go-btn:hover{opacity:1}body.light-mode .replay-bar{background:#fffffff2}body.light-mode .replay-btn{color:#000000b3}body.light-mode .replay-btn:hover{background:#00000014;color:#000}body.light-mode .replay-btn.replay-play{background:#0000000f}body.light-mode .replay-btn.replay-play:hover{background:#0000001f}body.light-mode .replay-exit-btn{border-color:#0003;color:#0009}body.light-mode .replay-exit-btn:hover{background:#0000000f;color:#000}body.light-mode .replay-speed-btn{border-color:#0003;color:#0009}body.light-mode .replay-speed-btn:hover{background:#0000000f;color:#000}body.light-mode .replay-go-label{color:#fff;background:#0009}body.tutorial-mode #floating-btns{display:none}body.tutorial-mode #how-to-play-btn{pointer-events:none;opacity:.3}body.tutorial-mode .settings-body{overflow-y:hidden}#tutorial-bubble{display:none}.tutorial-bubble-visible{display:block!important;position:fixed;z-index:400;background:var(--board-bg);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:1rem 1.2rem .75rem;max-width:340px;width:calc(100vw - 32px);box-shadow:0 4px 24px #00000073}.tutorial-bubble-visible.tutorial-bubble-ready{animation:bubble-in .25s ease-out}body.light-mode .tutorial-bubble-visible{border-color:#0000001f;box-shadow:0 4px 24px #0000002e}@keyframes bubble-in{0%{opacity:0}to{opacity:1}}.tutorial-bubble-center{max-width:380px}.tutorial-bubble-title{font-family:Coustard,serif;font-size:1rem;font-weight:400;color:var(--text);margin-bottom:.4rem}.tutorial-bubble-text{font-size:.82rem;color:var(--text-muted);line-height:1.6;margin-bottom:.6rem}.tutorial-bubble-text em{color:var(--accent);font-style:normal}.tutorial-seq{display:flex;align-items:center;justify-content:center;gap:6px;margin:.25rem 0}.tutorial-seq-cards{display:flex;align-items:center;gap:2px}.tutorial-seq:first-of-type{margin-top:.6rem}.tutorial-seq:last-of-type{margin-bottom:.6rem}.tutorial-seq-label{font-size:.7rem;line-height:1;flex-shrink:0;white-space:nowrap;min-width:4.5em;text-align:left}.tutorial-seq-label.valid{color:#22c55e}.tutorial-seq-label.invalid{color:#ef4444}.tutorial-mini-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card-bg);border:1.5px solid var(--card-border);border-radius:3px;width:1.55rem;height:2.1rem;flex-shrink:0;line-height:1;box-shadow:0 1px 2px var(--card-shadow)}.tutorial-mini-card .mini-rank{font-size:.5rem;font-weight:700}.tutorial-mini-card .mini-suit{font-size:.65rem}.tutorial-mini-card.red .mini-rank,.tutorial-mini-card.red .mini-suit{color:var(--red)}.tutorial-mini-card.black .mini-rank,.tutorial-mini-card.black .mini-suit{color:var(--black)}.tutorial-mini-card.invalid-card{border-color:#ef4444;box-shadow:0 0 6px #ef444466}.tutorial-bubble-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:.5rem}body.light-mode .tutorial-bubble-footer{border-top-color:#00000014}.tutorial-bubble-counter{font-size:.7rem;color:var(--text-muted);opacity:.7}.tutorial-bubble-actions{display:flex;align-items:center;gap:.75rem}.tutorial-bubble-skip{font-size:.75rem;color:var(--text-muted);text-decoration:none;opacity:.7;transition:opacity .15s}@media(hover:hover){.tutorial-bubble-skip:hover{opacity:1}}.tutorial-bubble-next{padding:.3rem .8rem;font-size:.78rem;font-family:inherit;border-radius:6px;border:none;background:var(--accent);color:#fff;cursor:pointer;transition:background .15s}@media(hover:hover){.tutorial-bubble-next:hover{background:#7c6cf7}}body.light-mode .tutorial-bubble-next{background:var(--accent);color:#fff;border:none}.tutorial-bubble-above:after,.tutorial-bubble-below:before,.tutorial-bubble-left:after,.tutorial-bubble-right:before{content:"";position:absolute;width:0;height:0}.tutorial-bubble-below:before{top:-7px;left:50%;transform:translate(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--board-bg)}.tutorial-bubble-above:after{bottom:-7px;left:50%;transform:translate(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid var(--board-bg)}.tutorial-bubble-left:after{right:-7px;top:50%;transform:translateY(-50%);border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid var(--board-bg)}.tutorial-bubble-right:before{left:-7px;top:50%;transform:translateY(-50%);border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid var(--board-bg)}@media(max-width:480px){.tutorial-bubble-visible{max-width:calc(100vw - 24px);padding:.75rem 1rem .6rem}.tutorial-bubble-title{font-size:.9rem}.tutorial-bubble-text{font-size:.78rem}}@media(max-width:600px){body{padding:.2rem;padding-top:max(.2rem,env(safe-area-inset-top));padding-bottom:max(.2rem,env(safe-area-inset-bottom));height:100svh;overflow:hidden}.game-area{justify-content:flex-start}.top-bar{gap:.35rem;margin-bottom:0;padding:0 .25rem}.top-bar-left{gap:.35rem}.top-bar h1{font-size:1.15rem}#board{gap:2px;padding:.3rem;border-radius:8px;grid-template-columns:repeat(10,calc((100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 46px) / 4 * 5 / 7));width:auto;margin:0 auto}.cell{border-radius:3px}.card-rank{font-size:1.1em}.card-suit{font-size:1.4em}.status-bar{gap:.5rem;font-size:.7rem}.status-item{gap:.1rem}button{padding:.35rem .65rem;font-size:.75rem}.overlay-actions button{padding:.7rem 1rem;font-size:.9rem}.icon-btn{width:1.9rem;min-width:1.9rem;max-width:1.9rem;height:1.9rem;padding:0;font-size:.95rem;overflow:hidden}.site-footer{display:none}body.replay-active #board{grid-template-columns:repeat(10,calc((100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 46px - 105px) / 4 * 5 / 7))}.overlay{align-items:stretch}.overlay-content{width:100vw;max-width:100vw;min-height:100svh;max-height:100svh;border-radius:0;border-left:none;border-right:none;padding:max(2.5rem,calc(.75rem + env(safe-area-inset-top))) 1.25rem max(1rem,env(safe-area-inset-bottom)) 1.25rem}.overlay-content{display:flex;flex-direction:column;overflow-x:hidden}.overlay-difficulty{flex-grow:1;margin-left:-1.25rem;margin-right:-1.25rem;padding-left:2rem;padding-right:2rem}.difficulty-popup-content{width:auto;max-width:min(360px,calc(100vw - 2rem));min-height:auto;height:auto;max-height:calc(100dvh - 2rem);align-self:center;border-radius:16px;border-left:1px solid rgba(255,255,255,.15);border-right:1px solid rgba(255,255,255,.15);padding:1.75rem 2rem 2rem}.difficulty-popup-play{padding:.7rem 1rem;font-size:.9rem}}@media(orientation:landscape)and (max-height:480px){.site-footer{display:none}.floating-btns{opacity:.85;bottom:.75rem}body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:.5rem;row-gap:.4rem;height:100dvh;overflow:hidden;padding:.5rem;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));padding-top:max(.5rem,env(safe-area-inset-top));padding-bottom:max(.4rem,env(safe-area-inset-bottom))}.top-bar{display:contents}.top-bar-left{position:static;grid-column:1;grid-row:1;align-self:start;transform:none;z-index:auto}.top-bar-left h1{font-size:1rem;font-weight:800}.status-bar{position:static;grid-column:1;grid-row:2;align-self:start;transform:none;flex-direction:column;align-items:flex-start;gap:.4rem;font-size:.65rem}#timer-display{min-width:4.5ch}.top-bar-right{grid-column:3;grid-row:1 / -1;align-self:start;display:flex;flex-direction:column;align-items:flex-end;gap:8px}#how-to-play-btn,#settings-btn{position:static;top:auto;right:auto}.game-area{grid-column:2;grid-row:1 / -1;padding-left:0;padding-right:0;justify-content:flex-start;align-items:center;min-width:0}#board{padding:0;gap:2px;width:100%;max-width:100%;margin-inline:auto;box-sizing:border-box;justify-content:center;grid-template-columns:repeat(10,min((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px) / 4 * 5 / 7,(100% - 18px) / 10))}.cell{font-size:clamp(.4rem,1.8dvh,.8rem);border-radius:3px}.card-rank{font-size:2.2em}.card-suit{font-size:2.8em}button{padding:.35rem .7rem;font-size:.78rem}.overlay-actions button{padding:.55rem 1rem;font-size:.85rem}.settings-sidebar{width:55vw}.overlay-content{max-height:calc(100dvh - 1rem);overflow-y:auto;overflow-x:hidden;padding:1.25rem 1.5rem;max-width:500px;width:100%}.settings-footer{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .6rem;padding:.5rem 1rem}.settings-footer .settings-footer-copyright{flex-basis:100%;text-align:center;font-size:.65rem}.overlay-content h2{font-size:1.3rem;margin-bottom:.4rem}.overlay-content p{margin-bottom:.6rem;font-size:.8rem}.overlay-score{margin-bottom:.6rem}.score-value{font-size:1.3rem}.overlay-details{margin-bottom:.6rem;gap:.75rem}.overlay-stats{margin-bottom:.6rem;padding:.4rem 0}.overlay-actions{gap:.4rem}.message-bar-box{max-height:calc(100dvh - 1rem);overflow-y:auto;padding:1.25rem 1.5rem;gap:.5rem}.message-bar-title{font-size:1.3rem}.message-bar-text{font-size:.8rem}.redeal-tip{font-size:.7rem;margin:.3rem -1.5rem -1.25rem;padding:.6rem 1.5rem .75rem}body.replay-active #board{grid-template-columns:repeat(10,min((100dvh - 30px - 60px) / 4 * 5 / 7,(100% - 26px) / 10))}}@media(orientation:landscape)and (min-height:481px)and (pointer:coarse){.top-bar,.game-area{max-width:95vw}.top-bar h1{font-size:1.75rem}.status-bar{font-size:1rem;gap:1.5rem}.icon-btn{width:2.6rem;height:2.6rem;font-size:1.25rem}button{font-size:1rem;padding:.55rem 1.35rem}}.cell.ace-card{opacity:.85}.site-footer{margin-top:1rem;padding:.75rem 0;text-align:center;font-size:.65rem;color:var(--text-muted);opacity:.45;flex-shrink:0}.site-footer a{color:inherit;text-decoration:none;transition:opacity .2s,color .2s}.site-footer a:hover{opacity:1;color:var(--text)}@media(orientation:portrait)and (max-width:600px){.site-footer{display:none}body:not(.portrait-columns) .game-area{justify-content:center}body:not(.portrait-columns) #board{grid-template-columns:repeat(10,1fr);width:calc(100vw - .4rem);max-width:100%}body:not(.portrait-columns) .cell{font-size:clamp(.35rem,2.2vw,.7rem)}body:not(.portrait-columns) .card-rank{font-size:1.1em}body:not(.portrait-columns) .card-suit{font-size:1.4em}body.replay-active:not(.portrait-columns) #board{grid-template-columns:repeat(10,calc((100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 46px - 105px) / 4 * 5 / 7));width:auto}}@media(orientation:portrait)and (max-width:600px){body.portrait-columns{height:100svh;overflow:hidden;padding:.2rem;padding-top:max(.2rem,env(safe-area-inset-top));padding-bottom:max(.2rem,env(safe-area-inset-bottom))}body.portrait-columns .top-bar{margin-bottom:.15rem}body.portrait-columns #board{grid-template-columns:repeat(4,calc((100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 75px) / 10 * 5 / 7));grid-template-rows:repeat(10,auto);gap:2px;padding:.25rem;width:auto;margin:0 auto}body.replay-active.portrait-columns #board{grid-template-columns:repeat(4,calc((100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 75px - 105px) / 10 * 5 / 7))}body.portrait-columns .cell[data-row="0"]{grid-column:1}body.portrait-columns .cell[data-row="1"]{grid-column:2}body.portrait-columns .cell[data-row="2"]{grid-column:3}body.portrait-columns .cell[data-row="3"]{grid-column:4}body.portrait-columns .cell[data-col="0"]{grid-row:1}body.portrait-columns .cell[data-col="1"]{grid-row:2}body.portrait-columns .cell[data-col="2"]{grid-row:3}body.portrait-columns .cell[data-col="3"]{grid-row:4}body.portrait-columns .cell[data-col="4"]{grid-row:5}body.portrait-columns .cell[data-col="5"]{grid-row:6}body.portrait-columns .cell[data-col="6"]{grid-row:7}body.portrait-columns .cell[data-col="7"]{grid-row:8}body.portrait-columns .cell[data-col="8"]{grid-row:9}body.portrait-columns .cell[data-col="9"]{grid-row:10}body.portrait-columns .cell{aspect-ratio:5 / 7;font-size:clamp(.55rem,1.6dvh,.9rem)}body.portrait-columns .card-rank{font-size:1.5em}body.portrait-columns .card-suit{font-size:2em}}.day-card--today-cta,.day-card--today-in-progress,.day-card--today-won,.day-card--today-lost{border-color:var(--accent);background:linear-gradient(180deg,#6c5ce738,#6c5ce714)}body.light-mode .day-card--today-cta,body.light-mode .day-card--today-in-progress,body.light-mode .day-card--today-won,body.light-mode .day-card--today-lost{background:linear-gradient(180deg,#6c5ce71a,#fff)}.day-card--won .day-card-score,.day-card--today-won .day-card-score{color:#2ecc71}.day-card--won .day-card-result-label,.day-card--today-won .day-card-result-label{color:#2ecc71d9}.day-card--lost .day-card-result-label,.day-card--today-lost .day-card-result-label{color:var(--red)}.day-card-today-sub--in-progress{animation:dashboard-pulse 1.4s ease-in-out infinite}.day-card-icon{position:absolute;top:.6rem;right:.6rem;width:32px;height:32px;object-fit:contain;pointer-events:none}#stacks-game-area{display:none}body.is-screen-stacks-game #stacks-game-area{display:flex;flex-direction:column;position:fixed;inset:0;z-index:40;background:var(--bg);padding-top:env(safe-area-inset-top)}body.is-screen-stacks-game .top-bar,body.is-screen-stacks-game .game-area,body.is-screen-stacks-game .game-screen,body.is-screen-stacks-game .message-bar,body.is-screen-stacks-game .site-footer,body.is-screen-stacks-game .dashboard-screen{display:none!important}body.is-native:not(.is-screen-stacks-game) #stacks-overlay,body.is-native:not(.is-screen-stacks-game) #stacks-difficulty-popup,body.is-native:not(.is-screen-stacks-game) .stacks-fly-clone,body.is-native:not(.is-screen-stacks-game) .stacks-drag-ghost{display:none!important}.stacks-top-bar{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;min-height:2.6rem;gap:.5rem;padding:.5rem max(.75rem,env(safe-area-inset-right)) .5rem max(.75rem,env(safe-area-inset-left))}.stacks-top-right{display:flex;align-items:center;gap:.3rem}.stacks-dev-btn{appearance:none;background:#e74c3c;color:#fff;font:inherit;font-size:.6rem;font-weight:700;letter-spacing:.02em;padding:.25em .5em;border:none;border-radius:4px;cursor:pointer;opacity:.85}.stacks-dev-btn:hover{opacity:1}#stacks-ac-wrap{position:relative}#stacks-ac-slider{flex:1;min-width:70px;accent-color:#e74c3c;height:18px;cursor:pointer}#stacks-ac-val{font-size:.65rem;min-width:1.4rem;text-align:right;color:var(--text)}#stacks-settings-btn.tutorial-target{box-shadow:0 0 14px 5px #ffc832d9;animation:tutorial-pulse-opacity 1.2s ease-in-out infinite}#stacks-settings-btn.tutorial-target:after{display:none}.stacks-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:none;display:flex;flex-direction:column;padding:clamp(.6rem,2.5vw,1.25rem)}.stacks-scroll::-webkit-scrollbar{display:none}.stacks-board{display:grid;grid-template-columns:repeat(var(--cols, 4),1fr);column-gap:clamp(6px,1.5vw,14px);row-gap:clamp(12px,3vw,20px);width:min(100%,900px);margin-inline:auto;margin-top:auto}.stacks-empty-hint{color:var(--text-muted);text-align:center;margin:auto auto 1.5rem;font-size:.95rem}.stacks-stack{position:relative;width:100%;aspect-ratio:5 / 7;min-height:44px;border-radius:10px;cursor:grab;touch-action:none;container-type:inline-size;transition:transform .12s ease,box-shadow .12s ease}.stacks-stack[data-depth="2"]{box-shadow:2px 2px 0 -1px var(--card-border)}.stacks-stack[data-depth="3"]{box-shadow:2px 2px 0 -1px var(--card-border),4px 4px 0 -2px var(--card-border)}.stacks-stack[data-depth="4"]{box-shadow:2px 2px 0 -1px var(--card-border),4px 4px 0 -2px var(--card-border),6px 6px 0 -3px var(--card-border)}.stacks-card{position:absolute;inset:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;user-select:none;overflow:hidden}.stacks-card .card-rank{font-weight:800;font-size:34cqw;line-height:1}.stacks-card .card-suit{font-size:46cqw;line-height:1}.stacks-stack.red .card-rank,.stacks-stack.red .card-suit{color:var(--red)}.stacks-stack.black .card-rank,.stacks-stack.black .card-suit{color:var(--black)}.stacks-card.classic,.stacks-card.vintage{padding:0;background:#fff}.stacks-card .classic-card-img{position:absolute;top:4%;left:4%;width:92%;height:92%;pointer-events:none;background-size:103% 102%;background-repeat:no-repeat;background-position:center;border-radius:3px}.stacks-card .vintage-card-svg{width:100%;height:100%;display:block;pointer-events:none}.stacks-depth-badge{position:absolute;right:-5px;bottom:-5px;background:var(--black);color:#fff;font-size:24cqw;font-weight:700;padding:1px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.25)}body.light-mode .stacks-depth-badge{background:var(--black);color:#fff}.stacks-stack.selected{transform:translateY(-8px) scale(1.04);box-shadow:0 0 0 3px var(--accent),0 8px 18px #00000059;z-index:5}.stacks-stack.drag-source{opacity:.3;transform:none;box-shadow:none}.stacks-stack.legal-target{box-shadow:0 0 0 3px var(--accent),0 0 16px var(--accent)}.stacks-stack.drag-over{transform:scale(1.06);box-shadow:0 0 0 4px var(--accent),0 0 22px var(--accent)}.stacks-stack.peek-1 .stacks-card{outline:2px dashed rgba(255,255,255,.45);outline-offset:-2px}.stacks-stack.peek-3 .stacks-card{outline:2px dotted rgba(255,255,255,.3);outline-offset:-2px}.stacks-stack.invalid{animation:stacks-shake .32s}@media(prefers-reduced-motion:no-preference){.stacks-stack.dealt{animation:stacks-dealin .22s ease-out forwards}}.stacks-board.dealing .stacks-stack{transition:none}.stacks-board.help-mode .stacks-stack.movable .stacks-card{box-shadow:0 0 14px var(--accent),0 2px 4px #0000004d;border-color:var(--accent)}.stacks-board.help-mode .stacks-stack.legal-target{box-shadow:0 0 0 3px #36d399f2,0 0 18px #36d399d9}.stacks-drag-ghost,.stacks-fly-clone{position:fixed;pointer-events:none}.stacks-drag-ghost{z-index:1000;will-change:transform;transition:none;box-shadow:0 10px 16px #00000080;opacity:.95}.stacks-fly-clone{z-index:999}@keyframes stacks-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes stacks-dealin{0%{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}.stacks-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:.6rem;padding:.4rem max(.75rem,env(safe-area-inset-right)) max(.4rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.08)}body.light-mode .stacks-toolbar{border-color:#00000014}.stacks-spacer{flex:1 1 auto}.stacks-deck{display:flex;align-items:center;gap:.3rem;color:var(--text-muted);white-space:nowrap;font-size:.85rem}.stacks-merge-hint{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;color:var(--text-muted);font-size:.85rem}.stacks-deck-count{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text)}body.light-mode .stacks-deck-count{color:var(--black)}.stacks-deal-btn{appearance:none;border:none;background:var(--accent);color:#fff;font:inherit;font-weight:700;padding:.6rem 1.4rem;min-height:44px;border-radius:10px;cursor:pointer;transition:transform .06s,filter .12s,opacity .12s}.stacks-deal-btn:active{transform:translateY(1px)}.stacks-deal-btn:disabled{opacity:.4;cursor:not-allowed}.stacks-overlay{z-index:120}.stacks-overlay-stats{display:flex;justify-content:center;gap:2.5rem;margin:1.25rem 0}.stacks-overlay-stats .status-item{display:flex;flex-direction:column;align-items:center;gap:.15rem}.stacks-overlay-stats .status-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.stacks-overlay-stats .status-value{font-size:1.15rem;font-weight:700;color:var(--text)}body.light-mode .stacks-overlay-stats .status-value{color:var(--black)}.stacks-compare{margin:1.75rem -2.5rem -2.5rem;padding:1.1rem 2.5rem 1.5rem;background:#ffffff0d;border-radius:0 0 16px 16px;text-align:left}body.light-mode .stacks-compare{background:#0000000a}.stacks-compare .deal-info-subheading{display:block;text-align:center;font-size:.7rem;color:var(--text-muted);margin-bottom:.65rem}@media(max-width:600px){.stacks-compare{flex-grow:1;margin-left:-1.25rem;margin-right:-1.25rem;padding-left:2rem;padding-right:2rem}}.stacks-scroll.board-classic .stacks-board,.stacks-scroll.board-wood .stacks-board{padding:.75rem;border-radius:14px}.stacks-scroll.board-classic{background:#2d6a4f}.stacks-scroll.board-wood{background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(0,0,0,.04) 4px,rgba(0,0,0,.04) 5px),repeating-linear-gradient(0deg,transparent,transparent 23px,rgba(0,0,0,.07) 23px,rgba(0,0,0,.07) 25px),linear-gradient(90deg,#6b4226,#7a4e2d,#6b4226 60%,#7a4e2d);box-shadow:inset 0 0 60px #0000004d}body.light-mode .stacks-scroll.board-wood{background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(0,0,0,.03) 4px,rgba(0,0,0,.03) 5px),repeating-linear-gradient(0deg,transparent,transparent 23px,rgba(0,0,0,.05) 23px,rgba(0,0,0,.05) 25px),linear-gradient(90deg,#8b6340,#9a7350,#8b6340 60%,#9a7350)}.stacks-move-illo{display:block;height:72px;width:auto;max-width:100%}.stacks-move-illo .illo-card{fill:var(--card-bg);stroke:var(--card-border);stroke-width:1.5}.stacks-move-illo .illo-red{fill:var(--red)}.stacks-move-illo .illo-black{fill:var(--black)}.stacks-move-illo .illo-arrow{fill:none;stroke:#22c55e;stroke-width:2;stroke-linecap:round}.stacks-move-illo .illo-arrow-head{fill:#22c55e}@media(prefers-reduced-motion:no-preference){.stacks-move-illo .illo-arrow{stroke-dasharray:120;stroke-dashoffset:120;animation:stacks-illo-draw .55s ease-out .15s forwards}.stacks-move-illo .illo-arrow-head{opacity:0;animation:stacks-illo-head .01s linear .62s forwards}}@keyframes stacks-illo-draw{to{stroke-dashoffset:0}}@keyframes stacks-illo-head{to{opacity:1}}.dashboard-screen{display:none;position:relative}body.is-native.is-screen-dashboard .dashboard-screen{display:flex}body.is-native.is-screen-dashboard .game-screen,body.is-native.is-screen-dashboard .top-bar,body.is-native.is-screen-dashboard .message-bar,body.is-native.is-screen-dashboard .site-footer{display:none}body.is-native.is-screen-dashboard #dashboard-back-btn{display:none!important}body.is-native:not(.is-screen-game) #overlay,body.is-native:not(.is-screen-game) #floating-btns,body.is-native:not(.is-screen-game) #difficulty-popup,body.is-native:not(.is-screen-game) .floating-card{display:none!important}body.is-native.is-screen-dashboard #react-root{width:100%;min-width:0}body.is-native.is-screen-dashboard .dashboard-screen{min-width:0}body.is-native.is-screen-dashboard{height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}body.is-native.is-screen-dashboard{padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right))}body.is-native.is-screen-dashboard .day-cards-scroll{width:100vw;margin-left:calc(-1*max(1.5rem,env(safe-area-inset-left)));margin-right:0;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:0;scroll-padding-inline-start:max(1.5rem,env(safe-area-inset-left))}body.is-native.is-screen-dashboard .day-card{flex:0 0 min(60vw,320px)}.dashboard-screen{flex-direction:column;width:100%;max-width:720px;gap:1.25rem;padding:.5rem 0 3rem;align-self:center}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}.dashboard-header--signed-out{flex-direction:column;align-items:stretch;gap:.5rem;padding:1rem 0 .5rem}.dashboard-signin-buttons{display:flex;flex-direction:column;gap:.5rem}.dashboard-legal-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem 1.1rem;margin-top:.75rem}.dashboard-legal-links a{font-size:.9rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.dashboard-legal-links a:active{opacity:.6}@media(hover:hover){.dashboard-legal-links a:hover{color:var(--text)}}.dashboard-welcome-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard-welcome-row .dashboard-cog-btn{flex-shrink:0}.dashboard-greeting{font-family:Coustard,serif;font-size:1.15rem;color:var(--text)}body.light-mode .dashboard-greeting{color:var(--black)}.dashboard-cog-btn{width:2.2rem;height:2.2rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:var(--text);display:grid;place-content:center;cursor:pointer;flex-shrink:0;transition:transform .08s,background .12s}.dashboard-cog-btn:active{transform:scale(.92)}@media(hover:hover){.dashboard-cog-btn:hover{background:#ffffff26;border-color:#ffffff59}}body.light-mode .dashboard-cog-btn{border:1px solid rgba(0,0,0,.2);background:#0000000f;color:var(--black)}@media(hover:hover){body.light-mode .dashboard-cog-btn:hover{background:#0000001f;border-color:#0000004d}}.dashboard-cog-btn svg{width:1.35rem;height:1.35rem}.dashboard-welcome-title{font-family:Coustard,serif;font-size:1.6rem;color:var(--text);margin:0 0 .25rem}body.light-mode .dashboard-welcome-title{color:var(--black)}.dashboard-welcome-sub{font-size:.95rem;line-height:1.4;color:var(--text-muted);margin:0}.google-signin-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;padding:0 20px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:24px;font-family:inherit;font-weight:500;font-size:14px;letter-spacing:.01em;cursor:pointer;transition:background .12s,transform .06s}.google-signin-btn:active{transform:scale(.98);background:#f8f9fa}.google-signin-btn:disabled{opacity:.7;cursor:default}.apple-signin-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;padding:0 20px;background:#000;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:24px;font-family:inherit;font-weight:500;font-size:14px;letter-spacing:.01em;cursor:pointer;transition:opacity .12s,transform .06s}.apple-signin-btn:active{transform:scale(.98);opacity:.85}.apple-signin-btn:disabled{opacity:.7;cursor:default}.game-tiles{list-style:none;display:flex;flex-direction:column;gap:1.75rem;padding:0}.game-tile{display:flex;flex-direction:column;gap:.85rem;min-width:0}.game-tile+.game-tile{padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.12)}body.light-mode .game-tile+.game-tile{border-top-color:#0000001a}.game-tile-header{padding:0;display:flex;flex-direction:column}.game-tile-titlerow{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.game-tile-title{font-family:Coustard,serif;font-size:2rem;color:var(--text);margin:0}body.light-mode .game-tile-title{color:var(--black)}.game-tile-tagline{font-size:.9rem;color:var(--text-muted);line-height:1.35;margin:1rem 0 0}.stacks-wordmark{display:block;height:3.2rem;width:auto;margin:-.2rem -.3rem}.day-card-icon--stacks{width:46px;height:46px}.gaps-summary,.stacks-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:.85rem .75rem;background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:12px}body.light-mode .gaps-summary,body.light-mode .stacks-summary{background:#0000000a;border-color:#00000014}.gaps-wordmark{display:inline-flex;align-items:baseline;letter-spacing:.05em;font-weight:400}.day-cards-scroll{display:flex;gap:.65rem;padding:.25rem 0 .5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;width:100%;box-sizing:border-box}.day-cards-scroll::-webkit-scrollbar{display:none}.day-cards-countdown{margin:.55rem 0 0;text-align:center}.pull-refresh-indicator{position:absolute;top:calc(-1*(52px + env(safe-area-inset-top)));left:0;right:0;height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:50;opacity:0;transition:opacity .12s ease}.pull-refresh-label{font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--text-muted)}.day-card{flex:0 0 min(78vw,280px);scroll-snap-align:start;min-height:9rem;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;color:var(--text);font-family:inherit;text-align:left;cursor:pointer;transition:transform .08s,background .12s,border-color .12s,opacity .2s,filter .2s}.day-card:active{transform:scale(.98)}.day-card:disabled{cursor:default}body.light-mode .day-card{background:#fff;border-color:var(--card-border);color:var(--black);box-shadow:0 2px 4px var(--card-shadow)}.day-card-header{display:flex;flex-direction:column;gap:.25rem}.day-card-weekday{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.day-card-day-num{font-family:Coustard,serif;font-size:2.4rem;line-height:1}.day-card-today-body{display:flex;flex-direction:column;gap:.15rem}.day-card-today-title{font-family:Coustard,serif;font-size:1.1rem;color:var(--accent);line-height:1.1}.day-card-today-sub{font-size:.85rem;color:var(--text-muted);letter-spacing:.02em}.day-card--archive{justify-content:center;align-items:center;text-align:center;gap:.4rem;margin-right:max(1.5rem,env(safe-area-inset-right))}.day-card-archive-icon{color:var(--accent)}.day-card-archive-label{font-family:Coustard,serif;font-size:1.05rem;color:var(--text)}.day-card-archive-sub{font-size:.8rem;color:var(--text-muted)}.gaps-archive-backdrop{position:fixed;inset:0;background:#00000080;z-index:300;animation:gaps-archive-fade .2s ease}.gaps-archive{position:fixed;inset:0;z-index:301;display:flex;flex-direction:column;background:var(--bg);padding:max(1rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));overflow-y:auto;animation:gaps-archive-rise .24s cubic-bezier(.4,0,.2,1)}@keyframes gaps-archive-fade{0%{opacity:0}to{opacity:1}}@keyframes gaps-archive-rise{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}.gaps-archive-header{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding-top:2.5rem;margin-bottom:1.5rem}.gaps-archive-titles{text-align:center}.gaps-archive-title{font-family:Coustard,serif;font-size:1.6rem;color:var(--text);margin:0}.gaps-archive-subtitle{font-size:.85rem;color:var(--text-muted);margin:.15rem 0 0}.gaps-archive .modal-corner-btn--close{position:absolute;right:0;top:0}.gaps-archive-month{font-family:Coustard,serif;font-size:1.15rem;color:var(--text);text-align:center;margin-bottom:.75rem}.gaps-archive-body{width:100%;max-width:26rem;margin:0 auto}.gaps-archive-weekdays,.gaps-archive-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.gaps-archive-weekday{text-align:center;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding-bottom:.4rem}.gaps-archive-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;border-radius:10px;color:var(--text);font-size:.85rem;cursor:pointer;padding:0}body.light-mode .gaps-archive-cell{background:var(--card-bg);border-color:var(--card-border)}.gaps-archive-cell--blank{border:none;background:transparent;cursor:default}body.light-mode .gaps-archive-cell--blank{background:transparent;border:none}.gaps-archive-cell--today{border-color:var(--accent);border-width:2px}.gaps-archive-cell--future{opacity:.3;cursor:default}.gaps-archive-cell--offline{opacity:.4;cursor:not-allowed}.gaps-archive-cell--won{background:#2ea0432e;border-color:#2ea04373}.gaps-archive-cell--pending{border-color:#3b9eff99}.gaps-archive-daynum{line-height:1}.gaps-archive-tick{position:absolute;right:.18rem;bottom:.18rem;width:17px;height:17px;border-radius:50%;background:#2ecc71;color:#fff;display:inline-flex;align-items:center;justify-content:center}.gaps-archive-trophy{position:absolute;right:.15rem;bottom:.15rem;width:18px;height:18px}.gaps-archive-dot{position:absolute;right:.22rem;bottom:.22rem;width:8px;height:8px;border-radius:50%;background:#3b9eff}.gaps-archive-signin{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;color:var(--text-muted)}.day-card-result{display:flex;flex-direction:column;gap:.2rem}.day-card-result-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.day-card-stats{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.day-card-stat{display:inline-flex;align-items:center;background:#00000040;color:#fff;border-radius:999px;padding:.14rem .5rem;font-family:Coustard,serif;font-size:.8rem;letter-spacing:.02em;white-space:nowrap}.day-card-stat--win{background:#f0a500;color:#fff}body.light-mode .day-card-stat:not(.day-card-stat--win){background:#e6e8eb;color:#1a1a1a}.day-card-stat-trophy{width:13px;height:13px;margin-right:.3rem;flex-shrink:0}.trophy-badge{display:inline-flex;align-items:center;justify-content:center;background:#f0a500;color:#fff;border-radius:50%}.trophy-badge svg{width:68%;height:68%}.day-card-tick{position:absolute;top:.6rem;right:.6rem;width:24px;height:24px;border-radius:50%;background:#2ecc71;color:#fff;display:inline-flex;align-items:center;justify-content:center}.day-card-progress-dot{position:absolute;top:.85rem;right:.85rem;width:12px;height:12px;border-radius:50%;background:#3b9eff;box-shadow:0 0 0 3px #3b9eff40;animation:day-card-progress-pulse 1.6s ease-in-out infinite}@keyframes day-card-progress-pulse{0%,to{box-shadow:0 0 0 3px #3b9eff40}50%{box-shadow:0 0 0 6px #3b9eff1f}}.day-card-score{font-family:Coustard,serif;font-size:1.6rem;line-height:1}.day-card-result--unplayed{font-size:.95rem;color:var(--text-muted)}.day-card--locked{opacity:.45;filter:grayscale(1)}.day-card-lock{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;color:var(--text-muted)}.day-card-lock-label{font-size:.8rem;letter-spacing:.02em}.day-card--skeleton{cursor:default;border-color:transparent;background:#ffffff1f;animation:dashboard-skeleton 1.3s ease-in-out infinite}body.light-mode .day-card--skeleton{background:#00000014}.day-card--skeleton .day-card-header{visibility:hidden}.day-card-skeleton-bar{display:none}@keyframes dashboard-skeleton{0%,to{opacity:.4}50%{opacity:.7}}.skeleton-shimmer{display:inline-block;background:#ffffff1f;animation:dashboard-skeleton 1.3s ease-in-out infinite}body.light-mode .skeleton-shimmer{background:#00000014}@keyframes dashboard-pulse{0%,to{opacity:1}50%{opacity:.35}}.day-result-sheet{position:relative;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.85rem}.day-result-sheet[hidden]{display:none}body.light-mode .day-result-sheet{background:var(--card-bg);border-color:var(--card-border)}.day-result-close{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;border:none;background:#ffffff14;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}body.light-mode .day-result-close{color:var(--black);background:#0000000f}.day-result-title{font-family:Coustard,serif;font-size:1.15rem;color:var(--text);margin:0}body.light-mode .day-result-title{color:var(--black)}.day-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem .5rem}.day-result-cell{display:flex;flex-direction:column;gap:.1rem}.day-result-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.day-result-value{font-family:Coustard,serif;font-size:1.05rem;color:var(--text)}body.light-mode .day-result-value{color:var(--black)}.day-result-empty{font-size:.9rem;color:var(--text-muted)}.day-result-replay{align-self:flex-start;background:var(--accent);color:#fff;border:none;padding:.55rem 1.1rem;border-radius:8px;font-family:inherit;font-size:.95rem;cursor:pointer}.day-result-replay:active{transform:scale(.98)}.dashboard-back-btn{width:auto;padding:0 8px}.dashboard-signout-btn{width:100%;min-height:44px;background:#d630311f;color:var(--red);border:1px solid rgba(214,48,49,.3);border-radius:8px;font-family:inherit;font-size:.95rem;cursor:pointer;transition:transform .06s,background .12s}.dashboard-signout-btn:active{transform:scale(.98)}.dashboard-signout-btn:disabled{opacity:.6;cursor:default}.dashboard-export-btn{width:100%;min-height:44px;background:transparent;color:var(--text);border:1px solid rgba(178,190,195,.4);border-radius:8px;font-family:inherit;font-size:.95rem;cursor:pointer;transition:transform .06s,opacity .12s}.dashboard-export-btn:active{transform:scale(.98)}.dashboard-export-btn:disabled{opacity:.6;cursor:default}.settings-inline-btn{flex-shrink:0;white-space:nowrap;padding:.45rem .9rem;background:transparent;color:var(--text);border:1px solid rgba(178,190,195,.4);border-radius:8px;font-family:inherit;font-size:.9rem;cursor:pointer;transition:transform .06s,opacity .12s}.settings-inline-btn:active{transform:scale(.97)}.settings-inline-btn:disabled{opacity:.6;cursor:default}body.light-mode .settings-inline-btn{color:var(--black)}.settings-status-pill{margin-left:.5rem;padding:.05rem .45rem;border-radius:999px;font-size:.7rem;font-weight:600;vertical-align:middle}.settings-status-pill--on{background:#2ecc712e;color:#2ecc71}.settings-status-pill--off{background:#b2bec333;color:var(--text-muted)}.settings-danger-title{color:var(--red);margin-top:1.25rem}.settings-danger-zone{margin:1.25rem .75rem .5rem;border:1px solid rgba(214,48,49,.35);background:#d630310f;border-radius:10px;overflow:hidden}.settings-danger-zone .settings-danger-title{margin-top:0;padding-top:.7rem}.settings-danger-zone .settings-label,.settings-danger-zone .settings-hint{color:var(--red)}.settings-danger-zone .settings-hint{opacity:.85}.delete-confirm-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:300;padding:1rem}.delete-confirm-dialog{background:var(--board-bg);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:1.5rem;max-width:360px;width:100%;text-align:center}body.light-mode .delete-confirm-dialog{border-color:#0000001f}.delete-confirm-dialog h3{margin:0 0 .5rem;color:var(--red)}.delete-confirm-dialog p{margin:0 0 1rem;color:var(--text-muted);font-size:.9rem;line-height:1.45}.delete-confirm-export-link{display:inline-block;margin:0 0 1rem;padding:0;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer}.delete-confirm-export-link:hover{color:var(--text)}.delete-confirm-export-link:disabled{opacity:.6;cursor:default}.delete-confirm-input{width:100%;box-sizing:border-box;min-height:42px;margin:0 0 1rem;padding:0 .75rem;background:#00000026;color:var(--text);border:1px solid rgba(178,190,195,.4);border-radius:8px;font-family:inherit;font-size:1rem;text-align:center}.delete-confirm-input:focus{outline:none;border-color:var(--red)}body.light-mode .delete-confirm-input{background:#0000000a}.settings-text-input{width:100%;box-sizing:border-box;min-height:42px;margin:0 0 .5rem;padding:0 .75rem;background:#00000026;color:var(--text);border:1px solid rgba(178,190,195,.4);border-radius:8px;font-family:inherit;font-size:1rem}.settings-text-input:focus{outline:none;border-color:var(--accent)}body.light-mode .settings-text-input{background:#0000000a}.settings-danger-actions{display:flex;gap:.5rem;width:100%}.dashboard-delete-account-btn{width:100%;min-height:44px;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:8px;font-family:inherit;font-size:.95rem;cursor:pointer;transition:transform .06s,opacity .12s}.dashboard-delete-account-btn:active{transform:scale(.98)}.dashboard-delete-account-btn:disabled{opacity:.6;cursor:default}.settings-cancel-btn{width:100%;min-height:44px;background:transparent;color:var(--text);border:1px solid rgba(178,190,195,.4);border-radius:8px;font-family:inherit;font-size:.95rem;cursor:pointer;transition:transform .06s}.settings-cancel-btn:active{transform:scale(.98)}.settings-cancel-btn:disabled{opacity:.6;cursor:default}.settings-danger-actions .dashboard-delete-account-btn,.settings-danger-actions .settings-cancel-btn{flex:1;width:auto}@media(min-width:768px)and (orientation:portrait){.dashboard-screen{max-width:none}.game-tile{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"header summary" "scroll scroll";column-gap:1.5rem;align-items:center}.game-tile-header{grid-area:header}.game-tile-titlerow{justify-content:flex-start}.gaps-summary,.stacks-summary{grid-area:summary;align-self:center;width:24rem;max-width:100%}.day-cards-scroll{grid-area:scroll}.day-cards-countdown{grid-column:1 / -1}.dashboard-signin-buttons{flex-direction:row;gap:.75rem}.dashboard-signin-buttons .apple-signin-btn,.dashboard-signin-buttons .google-signin-btn{width:auto;flex:1}body.is-native.is-screen-dashboard .day-card{flex:0 0 min(34vw,270px)}.gaps-archive-body{max-width:38rem}.gaps-archive-cell{font-size:1rem}}.score-value-row{display:inline-flex;align-items:center;justify-content:center;gap:.3rem}.overlay-top10-header{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:1.75rem 0 .75rem}.overlay-top10-header h2{margin:0}.score-info-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:.3rem;margin:-.3rem 0;border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:0;line-height:0;-webkit-tap-highlight-color:transparent}.score-info-btn:hover{color:var(--text)}.score-info-btn .compare-info-icon{width:.9rem;height:.9rem;display:block}.score-info-backdrop{position:fixed;inset:0;z-index:550;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b3;animation:score-info-fade .2s ease}.score-info-card{position:relative;width:min(90vw,360px);max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:1.75rem 1.5rem 1.5rem;border-radius:16px;background:var(--board-bg);border:1px solid rgba(255,255,255,.15);color:var(--text);text-align:left;box-shadow:0 8px 32px #00000080;animation:score-info-pop .28s cubic-bezier(.34,1.4,.64,1)}body.light-mode .score-info-card{border-color:#0000001a;box-shadow:0 8px 32px #0000002e}.score-info-card .modal-corner-btn{top:.5rem}.score-info-heading{margin:0 2.5rem .6rem 0;font-size:1.2rem;font-weight:600;letter-spacing:.02em}.score-info-intro,.score-info-footer{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-muted)}.score-info-rows{display:flex;flex-direction:column;gap:.35rem;margin:.85rem 0}.score-info-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.45rem .7rem;border-radius:8px;background:#ffffff0d}body.light-mode .score-info-row{background:#0000000a}.score-info-row-label{font-size:.9rem;color:var(--text)}.score-info-row-value{font-size:1rem;font-weight:600;color:var(--text);white-space:nowrap}.score-info-bonus{margin:.6rem 0 0;padding:0 0 0 1.1rem;display:flex;flex-direction:column;gap:.3rem}.score-info-bonus li{font-size:.88rem;line-height:1.45;color:var(--text-muted)}.score-info-bonus li strong{color:var(--text);font-weight:600}@keyframes score-info-fade{0%{opacity:0}to{opacity:1}}@keyframes score-info-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.game-info-backdrop{position:fixed;inset:0;z-index:550;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b3;animation:game-info-fade .2s ease}.game-info-card{position:relative;width:min(90vw,360px);max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:1.75rem 1.5rem 1.5rem;border-radius:16px;background:var(--board-bg);border:1px solid rgba(255,255,255,.15);color:var(--text);text-align:left;box-shadow:0 8px 32px #00000080;animation:game-info-pop .28s cubic-bezier(.34,1.4,.64,1)}body.light-mode .game-info-card{border-color:#0000001a;box-shadow:0 8px 32px #0000002e}.game-info-heading{margin:0 2.5rem .75rem 0;font-size:1.2rem;font-weight:600;letter-spacing:.02em}.game-info-intro{margin:0 0 .85rem;font-size:.85rem;line-height:1.45;color:var(--text-muted)}.game-info-row,.game-info-practice-row{display:flex;width:100%;text-align:left;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;margin-bottom:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0d;color:var(--text);font-family:inherit;cursor:pointer;transition:transform .06s,background .12s}.game-info-row:active,.game-info-practice-row:active{transform:scale(.985)}body.light-mode .game-info-row,body.light-mode .game-info-practice-row{background:#0000000a;border-color:#00000014}.game-info-practice-text{display:flex;flex-direction:column;gap:.15rem}.game-info-row-title{display:block;font-size:.98rem;font-weight:600}.game-info-row-sub{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.1rem}.game-info-practice-best{flex-shrink:0;font-size:.8rem;font-weight:600;color:var(--accent);white-space:nowrap}.game-info-practice-list{display:flex;flex-direction:column}.game-learn-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff0f;color:var(--text);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.game-learn-btn:active{transform:scale(.96)}body.light-mode .game-learn-btn{border-color:#0000001f;background:#0000000a}.game-info-tutorial-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem 1rem;margin-bottom:.25rem;border:none;border-radius:12px;background:var(--accent);color:#fff;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .06s,filter .12s}.game-info-tutorial-btn:active{transform:scale(.985)}.game-info-tutorial-btn:hover{filter:brightness(1.07)}.game-info-section{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.08)}body.light-mode .game-info-section{border-top-color:#00000014}.game-info-subheading{margin:0 0 .6rem;font-size:.95rem;font-weight:700;letter-spacing:.01em}@keyframes game-info-fade{0%{opacity:0}to{opacity:1}}@keyframes game-info-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(orientation:portrait)and (max-width:600px){.game-info-backdrop{align-items:stretch;padding:0}.game-info-card{width:100vw;max-width:100vw;min-height:100svh;max-height:100svh;border-radius:0;border-left:none;border-right:none;padding:max(2.5rem,calc(.75rem + env(safe-area-inset-top))) 1.25rem max(1.5rem,env(safe-area-inset-bottom))}}.toaster{position:fixed;top:max(1rem,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:600;display:flex;flex-direction:column;gap:.5rem;width:max-content;max-width:min(92vw,26rem);pointer-events:none}.toast{pointer-events:auto;padding:.7rem 1rem;border-radius:10px;font-size:.9rem;line-height:1.35;text-align:center;color:var(--text);background:#1a1f2ef5;border:1px solid rgba(255,255,255,.12);border-left-width:3px;box-shadow:0 8px 24px #00000059;cursor:pointer;animation:toast-in .25s cubic-bezier(.34,1.56,.64,1)}.toast--error{border-left-color:var(--red)}.toast--success{border-left-color:#00b894}.toast--info{border-left-color:var(--accent)}body.light-mode .toast{color:#2d3436;background:#fffffffa;border-color:#0000001a}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.admin-shell{max-width:1100px;margin:0 auto;padding:24px 20px 64px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1a1a1a}.admin-shell h1{font-size:1.4rem;margin:0 0 16px}.admin-muted{color:#6b7280}.admin-error{color:#b91c1c}.admin-crumb{margin:0 0 4px}.admin-crumb a,.admin-table a{color:#2563eb;text-decoration:none}.admin-crumb a:hover,.admin-table a:hover{text-decoration:underline}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 16px}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb;vertical-align:top}.admin-table th{font-weight:600;color:#374151;border-bottom:2px solid #d1d5db;white-space:nowrap}.admin-cell--bad{color:#b91c1c;font-weight:600}.admin-uid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:#4b5563}.admin-error-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9a3412}.admin-actions{display:flex;gap:6px;white-space:nowrap}.admin-btn{font:inherit;font-size:.85rem;padding:5px 10px;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;color:#111827;cursor:pointer}.admin-btn:hover:not(:disabled){background:#f3f4f6}.admin-btn:disabled{opacity:.5;cursor:default}.admin-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.admin-btn--primary:hover:not(:disabled){background:#1d4ed8}.admin-btn--danger{border-color:#fca5a5;color:#b91c1c}.admin-btn--danger:hover:not(:disabled){background:#fef2f2}
