@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}:root{--felt-base: #184734;--felt-grad: radial-gradient(circle at 50% 20%, #205740 0%, #123727 85%);--surface: #fff8ef;--surface-low: #faf3e7;--surface-container: #f4ede1;--surface-high: #eee7db;--primary: #046141;--primary-container: #236349;--secondary: #1f6a54;--accent: #d97706;--ink: #1e1b14;--ink-variant: #49534c;--line: #ded6c8;--radius-lg: 16px;--radius-md: 10px;--radius-sm: 6px}html.is-standalone-game,body.solitaire-standalone{margin:0;padding:0;width:100%;height:100%;height:100dvh;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:manipulation;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--felt-base)}.cdj-game-mount{width:100%;height:clamp(680px,86vh,920px);position:relative;overflow:hidden;margin:0 auto;border-radius:var(--radius-lg, 16px);box-shadow:0 12px 40px #1e1b142e;background:var(--felt-grad, var(--felt-base));user-select:none;-webkit-user-select:none;touch-action:manipulation;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between}.cdj-game-mount.is-fullscreen{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;border-radius:0!important;z-index:999999!important}.solitaire-app{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;max-width:100%;margin:0 auto;position:relative}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-header{height:48px;min-height:48px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;background:#fff8eff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:40}.header-left,.header-right{display:flex;align-items:center;gap:8px}.btn-icon{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-low);color:var(--ink-variant);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;text-decoration:none;transition:transform .1s ease,background .15s ease}.btn-icon:hover{background:var(--surface-container);color:var(--ink)}.btn-icon:active{transform:scale(.93)}body.embed .header-back{display:none}.game-identity{display:flex;align-items:center;gap:6px}#game-name{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.seed-badge{font-size:10px;font-weight:600;background:var(--surface-container);color:var(--ink-variant);padding:2px 6px;border-radius:var(--radius-sm);letter-spacing:.02em}.variant-select{font-size:12px;font-weight:600;color:var(--ink);background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius-md);padding:3px 8px;cursor:pointer}body.embed .variant-select{display:none}.stats-pill{display:flex;align-items:center;gap:6px;padding:3px 10px;background:var(--surface-low);border:1px solid var(--line);border-radius:9999px;font-size:12px;font-weight:600;color:var(--secondary)}.stat-group{display:flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.stat-sep{color:var(--line);font-size:10px}.tip-banner{margin:6px 10px 0;padding:5px 10px;border-radius:var(--radius-md);background:#fff8eff0;border:1px solid rgba(255,255,255,.35);box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:30}.tip-content{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--ink)}.tip-close{background:none;border:none;font-size:13px;color:var(--ink-variant);cursor:pointer;padding:2px 4px}.board-container{flex:1;width:100%;position:relative;overflow:hidden;background:var(--felt-grad);display:flex;flex-direction:column;justify-content:flex-start;touch-action:none}#board{position:relative;width:100%;height:100%;margin:0 auto;touch-action:none}.pile{position:absolute;border-radius:var(--radius-md);background:#0000001f;border:1.5px dashed rgba(255,255,255,.22)}.pile--foundation{background:#00000029;border:1.5px dashed rgba(166,238,210,.32)}.pile--ok{outline:3px solid #7cfc90}.pile--ko{outline:3px solid #e05555}.pile--target-hint{outline:2.5px dashed #34d399!important;outline-offset:-1px;background:#34d39924!important;box-shadow:0 0 12px #34d39980,inset 0 0 8px #34d39940;animation:pulse-target-hint 1.4s infinite ease-in-out;cursor:pointer}.pile-ph{width:100%;height:100%;min-height:inherit;display:flex;align-items:center;justify-content:center;color:#ffffff59;font-size:1.25em;font-weight:700;border-radius:inherit}.pile-ph .red{color:#ff787880}.pile-ph--stock{cursor:pointer}.pile-count{position:absolute;right:2px;bottom:2px;background:#000000a6;color:#fff;font-size:10px;padding:1px 4px;border-radius:6px}img.card{position:absolute;left:0;border-radius:var(--radius-sm);box-shadow:0 1.5px 4px #00000052,0 .5px 1px #0003;cursor:grab;background:#fdfcf9;border:1px solid rgba(0,0,0,.12);transition:box-shadow .15s ease}.card--drag{opacity:.35}.card--sel{outline:3px solid #fbbf24!important;outline-offset:-2px;border-radius:var(--radius-sm);box-shadow:0 0 14px #fbbf24bf,0 8px 18px #00000073;transform:translateY(-2px);z-index:80;transition:transform .12s ease}.card--target-hint{outline:3px solid #34d399!important;outline-offset:-2px;box-shadow:0 0 14px #34d399cc,0 4px 12px #0006!important;animation:pulse-target-hint 1.4s infinite ease-in-out;cursor:pointer}@keyframes pulse-target-hint{0%,to{filter:drop-shadow(0 0 2px rgba(52,211,153,.7));transform:scale(1)}50%{filter:drop-shadow(0 0 8px rgba(52,211,153,.95));transform:scale(1.02)}}.drag-ghost{position:absolute;pointer-events:none;z-index:999}.drag-ghost .card{position:absolute;left:0;width:var(--ghost-w, auto)}.app-footer{height:54px;min-height:54px;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));background:#fff8eff5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:6px;z-index:40}.footer-btn{flex:1;height:42px;padding:0 4px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-low);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:600;cursor:pointer;transition:transform .1s ease,background .15s ease}.footer-btn:hover:not(:disabled){background:var(--surface-container)}.footer-btn:active:not(:disabled){transform:scale(.94)}.footer-btn:disabled{opacity:.45;cursor:default}.footer-btn--accent{flex:1.25;background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700;box-shadow:0 2px 6px #04614147}.footer-btn--accent:hover:not(:disabled){background:var(--primary-container)}.footer-btn--icon{flex:0 0 40px;padding:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1410a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:99;display:flex;align-items:center;justify-content:center;padding:16px}.modal-backdrop[hidden]{display:none!important}.modal-card{width:100%;max-width:380px;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:0 16px 36px #00000047;display:flex;flex-direction:column;max-height:85vh;overflow:hidden;animation:modalPop .2s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.modal-body{padding:12px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.modal-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-low);border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:background .15s ease,transform .1s ease}.modal-item:hover{background:var(--surface-container)}.modal-item:active{transform:scale(.97)}.modal-item strong{display:block;font-size:13px;color:var(--ink)}.modal-item small{display:block;font-size:11px;color:var(--ink-variant);margin-top:1px}.modal-item--danger{border-color:#ffd6d6;background:#fff5f5}.modal-item--danger strong{color:#c5221f}.modal-icon{font-size:18px}.modal-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-variant);margin-top:10px;margin-bottom:2px}.quick-games-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.quick-game-chip{padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-low);color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s ease,transform .1s ease}.quick-game-chip:hover{background:var(--surface-container);border-color:var(--primary)}.quick-game-chip:active{transform:scale(.96)}.modal-footer{padding:12px 16px;border-top:1px solid var(--line)}.btn-primary{width:100%;height:42px;border-radius:var(--radius-md);background:var(--primary);color:#fff;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:var(--primary-container)}.status-toast{position:absolute;bottom:68px;left:50%;transform:translate(-50%);background:#141816eb;color:#fff;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:600;box-shadow:0 4px 14px #00000059;z-index:50;pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:toastFade .2s ease}@keyframes toastFade{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.daily{padding:6px 14px;font-size:12px;color:var(--ink-variant);display:flex;gap:8px;flex-wrap:wrap}.daily .dr{background:var(--surface-container);padding:2px 8px;border-radius:8px}.daily .dr--you{background:#ffd34d;color:#1e1b14;font-weight:700}.game-help{font-size:13px;line-height:1.5;color:var(--ink-variant)}body.solitaire-standalone.theme-halloween,.cdj-game-mount.theme-halloween{--felt-base: #140924;--felt-grad: radial-gradient(circle at 50% 20%, #25123d 0%, #0d0417 85%)}body.solitaire-standalone.theme-halloween .pile,.cdj-game-mount.theme-halloween .pile{border-color:#ff751859}body.solitaire-standalone.theme-navidad,.cdj-game-mount.theme-navidad{--felt-base: #103325;--felt-grad: radial-gradient(circle at 50% 20%, #174d37 0%, #0a2118 85%)}body.solitaire-standalone.theme-verano,.cdj-game-mount.theme-verano{--felt-base: #0c3e44;--felt-grad: radial-gradient(circle at 50% 20%, #15575f 0%, #07252a 85%)}.is-fullscreen .icon-expand{display:none!important}.is-fullscreen .icon-compress{display:block!important}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:2500}.modal-card--victory{max-width:360px;text-align:center;border-top:4px solid #10b981;animation:victory-pop .35s cubic-bezier(.175,.885,.32,1.275)}@keyframes victory-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.victory-header{margin-bottom:16px}.victory-trophy{font-size:52px;display:block;line-height:1;margin-bottom:8px;animation:trophy-bounce 1s infinite alternate ease-in-out}@keyframes trophy-bounce{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.victory-header h2{font-size:22px;font-weight:700;color:var(--ink);margin:0 0 4px}.victory-subtitle{font-size:14px;color:var(--ink-variant);margin:0}.victory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--surface-container);padding:12px 8px;border-radius:var(--radius-md);margin-bottom:20px}.vstat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.vstat-icon{font-size:16px}.vstat-label{font-size:10px;color:var(--ink-variant);text-transform:uppercase;letter-spacing:.5px}.vstat-val{font-size:15px;font-weight:700;color:var(--ink)}.victory-actions{display:flex;flex-direction:column;gap:10px}.victory-actions .btn-primary,.victory-actions .btn-secondary,.victory-actions .btn-text{width:100%;padding:12px;font-size:15px;font-weight:600;border-radius:var(--radius-md)}.victory-actions .btn-secondary{background:var(--surface-container);color:var(--ink);border:1px solid var(--outline)}.victory-actions .btn-secondary:hover{background:var(--surface-container-high)}.victory-actions .btn-text{background:none;border:none;color:var(--ink-variant);padding:8px;font-size:14px;cursor:pointer}
