:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#f7f2e7;--suit-red:#e8534a;--gold:#d4af37;background:#0f6651;font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{min-width:320px}button,img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.spider-root{flex-direction:column;width:100%;height:100%;padding:16px;display:flex;overflow:hidden}.pile-button{cursor:pointer;border:0}.game-area{flex:1;min-height:0;overflow:hidden auto}.board{grid-template-columns:repeat(10, var(--card-width));column-gap:var(--pile-gap);grid-template-rows:auto auto auto;row-gap:18px;width:fit-content;margin-inline:auto;padding-top:10px;display:grid}.top-row{display:contents}.completed-area{grid-column:3/11;grid-template-columns:repeat(8, var(--card-width));gap:var(--pile-gap);display:grid}.stock-area{grid-column:1/3;grid-template-columns:repeat(2, var(--card-width));gap:var(--pile-gap);justify-items:start;display:grid}.stock-area .stock-slot{grid-column:1}.action-row{grid-column:1/11;justify-content:center;padding:6px 0 0;display:flex}.tableau-row{grid-column:1/11;grid-template-columns:repeat(10, var(--card-width));gap:var(--pile-gap);align-items:start;display:grid}.pile-button,.tableau-slot{width:var(--card-width);min-height:var(--card-height);background:0 0;padding:0;position:relative}.tableau-slot{min-height:var(--tableau-height,calc(var(--card-height) + 12 * var(--tableau-overlap)))}.empty-pile{width:var(--card-width);height:var(--card-height);color:#f7f2e78c;text-transform:uppercase;letter-spacing:.08em;border:2px solid #d4af3773;border-radius:6px;place-items:center;font-size:.7rem;display:grid}.empty-stock{color:#d4af3773;line-height:1}.empty-completed{border-color:#d4af37a6}.pile-button{overflow:visible}.stock-button{position:relative}.stock-count{color:#fff;pointer-events:none;z-index:25;background:#0009;border-radius:4px;padding:1px 4px;font-size:.7rem;font-weight:700;position:absolute}.completed-card{position:absolute}.completed-suit-badge{pointer-events:none;z-index:20;position:absolute;bottom:2px;right:2px}.card{touch-action:none;border-radius:3px;transition:transform .16s;display:block;position:absolute;top:0;left:0}.tableau-card{left:0}.card.face-up{border:1px solid #a9a9a9;border-radius:6px}.card.face-down{cursor:default;border-radius:6px}body:not(.dragging) .card.face-up:hover{cursor:grab;transform:translateY(-4px)}.card.selected{transform:translateY(-8px)}.drop-valid{border-radius:6px;transition:box-shadow .1s,background-color .1s;box-shadow:0 0 0 3px #e0bc45,0 0 16px 4px #9eeb4773;background-color:#9eeb471f!important}.drag-container{z-index:9999;pointer-events:none;position:fixed}@media (width<=600px){.spider-root{padding:8px}}.win-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;width:100%;height:100%;animation:.35s both fadeIn;display:flex;position:fixed;inset:0}.win-card{text-align:center;color:#1a1a1a;background:linear-gradient(145deg,#fff 0%,#f0fdf4 100%);border-radius:20px;flex-direction:column;align-items:center;gap:16px;padding:48px 52px;animation:.45s cubic-bezier(.22,1,.36,1) both slideUp;display:flex;box-shadow:0 24px 64px #00000059,inset 0 0 0 1px #fff9}.win-title{letter-spacing:-.02em;background:linear-gradient(135deg,#9eeb47 0%,#22d3ee 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.4rem,8vw,3.6rem);font-weight:800;line-height:1.1}.win-subtitle{color:#6b7280;letter-spacing:.01em;font-size:1rem}.win-btn{letter-spacing:.03em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#78c820 0%,#9eeb47 100%);border:none;border-radius:12px;margin-top:8px;padding:14px 40px;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 4px 16px #9eeb4773}.win-btn:hover{filter:brightness(1.08);transform:translateY(-2px)scale(1.03);box-shadow:0 8px 24px #9eeb478c}.win-btn:active{transform:translateY(0)scale(.98)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.hud{justify-content:space-between;align-items:center;gap:12px;padding:0 4px;display:flex}.undo-btn{color:#fff;background:var(--gold);border:1px solid var(--gold);cursor:pointer;letter-spacing:.03em;border-radius:20px;padding:5px 22px;font-size:.88rem;font-weight:600;transition:background .15s,transform .1s,opacity .15s}.undo-btn:hover:not(:disabled){background:#e0bc45;border-color:#e0bc45}.undo-btn:active:not(:disabled){transform:scale(.95)}.undo-btn:disabled{opacity:.35;cursor:not-allowed}.hud-timer{color:#fff;letter-spacing:.05em;font-variant-numeric:tabular-nums;min-width:3.5ch;font-size:.88rem;font-weight:600}.win-stats{color:#6b7280;letter-spacing:.02em;font-size:.95rem}.win-score-breakdown{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:.9rem;display:flex}.win-score-line{color:#6b7280;font-weight:500}.win-score-sep{color:#9ca3af;font-weight:700}.win-score-final{color:#111827;font-size:1.05rem;font-weight:800}.hud-game-number{color:#fff;letter-spacing:.04em;cursor:pointer;text-underline-offset:3px;-webkit-user-select:none;user-select:none;font-size:.88rem;font-weight:700;-webkit-text-decoration:underline #ffffff73;text-decoration:underline #ffffff73;transition:text-decoration-color .15s,opacity .15s}.hud-game-number:hover{opacity:.9;text-decoration-color:#ffffffe6}.hud-best-moves{color:#fff;letter-spacing:.04em;margin-left:-8px;font-size:.82rem;font-weight:500}.hud-score{color:var(--gold);letter-spacing:.05em;font-variant-numeric:tabular-nums;text-align:right;min-width:4ch;font-size:.88rem;font-weight:700}.hud-settings-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:1.1rem;line-height:1;transition:opacity .15s,background .15s}.hud-settings-btn:hover{opacity:1;background:#ffffff26}.settings-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}.settings-card{color:#1a1a1a;background:linear-gradient(145deg,#fff 0%,#f8faff 100%);border-radius:18px;flex-direction:column;gap:20px;width:min(340px,92vw);padding:36px 40px;animation:.3s cubic-bezier(.22,1,.36,1) both slideUp;display:flex;box-shadow:0 20px 56px #0000004d,inset 0 0 0 1px #ffffff8c}.settings-title{letter-spacing:-.01em;color:#111827;text-align:center;font-size:1.35rem;font-weight:800}.settings-body{flex-direction:column;gap:10px;display:flex}.settings-label{color:#374151;font-size:.88rem;font-weight:600}.settings-suits{gap:8px;display:flex}.suit-btn{cursor:pointer;color:#374151;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:10px;flex:1;padding:10px 8px;font-family:inherit;font-size:.88rem;font-weight:700;transition:border-color .15s,background .15s,color .15s}.suit-btn.active{color:#166534;background:#f0fde4;border-color:#9eeb47}.suit-btn:hover:not(.active){background:#e5e7eb;border-color:#9ca3af}.settings-hint{color:#9ca3af;font-size:.78rem}.settings-actions{gap:8px;display:flex}.game-picker-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}.game-picker-card{color:#1a1a1a;background:linear-gradient(145deg,#fff 0%,#f8faff 100%);border-radius:18px;flex-direction:column;gap:20px;width:min(360px,92vw);padding:36px 40px;animation:.3s cubic-bezier(.22,1,.36,1) both slideUp;display:flex;box-shadow:0 20px 56px #0000004d,inset 0 0 0 1px #ffffff8c}.game-picker-title{letter-spacing:-.01em;color:#111827;text-align:center;font-size:1.35rem;font-weight:800}.game-picker-body{flex-direction:column;gap:8px;display:flex}.game-picker-input{color:#111827;appearance:textfield;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:1rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.game-picker-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.game-picker-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.game-picker-input:focus{background:#fff;border-color:#9eeb47;box-shadow:0 0 0 3px #9eeb4733}.game-picker-error{color:#dc2626;padding:0 2px;font-size:.8rem;font-weight:500}.game-picker-meta{color:#6b7280;padding:0 2px;font-size:.82rem;font-weight:500}.game-picker-actions{gap:8px;display:flex}.game-picker-btn{letter-spacing:.02em;cursor:pointer;color:#fff;background:linear-gradient(135deg,#78c820 0%,#9eeb47 100%);border:none;border-radius:10px;flex:1;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:700;transition:transform .12s,filter .12s,box-shadow .12s;box-shadow:0 3px 10px #9eeb4766}.game-picker-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.game-picker-btn:active{transform:scale(.97)}.game-picker-btn:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.55;box-shadow:none;transform:none}.game-picker-btn--ghost{color:#6b7280;box-shadow:none;background:0 0;border:1.5px solid #d1d5db}.game-picker-btn--ghost:hover{filter:none;background:#f3f4f6}.game-picker-divider{background:linear-gradient(90deg,#0000,#e5e7eb,#0000);height:1px;margin:8px 0}.game-picker-btn--large{width:100%;padding:14px 16px;font-size:1rem}.game-picker-randoms{flex-direction:column;gap:10px;display:flex}.game-picker-btn--random{background:linear-gradient(135deg,#4f46e5 0%,#818cf8 100%);box-shadow:0 3px 10px #818cf852}.spider-toast{color:#f7f2e7;pointer-events:none;opacity:1;z-index:1000;white-space:nowrap;background:#000000bf;border-radius:8px;padding:8px 16px;font-size:.85rem;transition:opacity .4s;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.spider-toast.hidden{opacity:0}
