@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600&display=swap";:root{--felt-green: radial-gradient(circle at 50% 30%, #1b4931 0%, #0d2618 100%);--felt-blue: radial-gradient(circle at 50% 30%, #1e3a8a 0%, #0f172a 100%);--felt-dark: radial-gradient(circle at 50% 30%, #262626 0%, #0a0a0a 100%);--felt-ruby: radial-gradient(circle at 50% 30%, #701a75 0%, #2e0833 100%);--felt-neon: radial-gradient(circle at 50% 30%, #181825 0%, #09090e 100%);--bg-current: var(--felt-green);--glass-bg: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .15);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--text-main: #f8fafc;--text-muted: #94a3b8;--accent-gold: #f59e0b;--accent-blue: #3b82f6;--card-width: 90px;--card-height: 126px;--card-radius: 8px;--card-gap: 16px;--red-suit: #ef4444;--black-suit: #0f172a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-current);color:var(--text-main);min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}.app-header{height:60px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:100}.brand{display:flex;align-items:center;gap:10px}.brand-icon{font-size:1.6rem;color:var(--accent-gold)}.brand-title{font-weight:800;font-size:1.25rem;letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn-back{display:inline-flex;align-items:center;gap:6px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);font-family:inherit;font-weight:600;font-size:.85rem;padding:6px 14px;border-radius:10px;cursor:pointer;text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}#back-btn-wrapper:not(:empty){border-left:1px solid rgba(255,255,255,.15);padding-left:16px;margin-left:8px}.btn-back:hover{background:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.btn-back .back-arrow{font-size:.9rem;transition:transform .2s ease}.btn-back:hover .back-arrow{transform:translate(-3px)}.game-select-group{display:flex;background:#0000004d;border-radius:10px;padding:4px;border:1px solid rgba(255,255,255,.12);margin-right:8px}.game-mode-btn{background:transparent;border:none;color:var(--text-muted);font-family:inherit;font-weight:600;font-size:.85rem;padding:5px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.game-mode-btn.active{background:#ffffff26;color:#fff;box-shadow:0 2px 8px #0003}.game-mode-btn:hover:not(.active){color:#fff}.stats-bar{display:flex;align-items:center;gap:20px}.stat-item{display:flex;flex-direction:column;align-items:flex-end}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-weight:600}.stat-value{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600;color:var(--accent-gold)}.game-container{flex:1;display:flex;flex-direction:column;padding:20px;position:relative;max-width:1300px;margin:0 auto;width:100%}.control-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;padding:12px 0}.btn-icon{display:inline-flex;align-items:center;gap:8px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);font-family:inherit;font-weight:600;font-size:.88rem;padding:8px 16px;border-radius:10px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-icon:hover:not(:disabled){background:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#ffffff4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ffffff4d;color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#ef4444);transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.board{flex:1;display:flex;flex-direction:column;gap:24px}.top-piles{display:flex;justify-content:space-between;align-items:center}.top-piles-group{display:flex;gap:var(--card-gap)}.tableau-area{flex:1;display:flex;justify-content:space-between;gap:var(--card-gap);min-height:480px}.card-slot{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);border:2px dashed rgba(255,255,255,.15);background:#0000001f;position:relative;transition:border-color .2s ease,background .2s ease}.card-slot.drop-hover{border-color:var(--accent-gold);background:#f59e0b26}.card-slot-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.8rem;opacity:.2}.card-pile{position:relative;width:var(--card-width);min-height:var(--card-height)}.card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);position:absolute;top:0;left:0;overflow:hidden;transition:transform .15s ease-out,box-shadow .15s ease-out;cursor:pointer;outline:none}.card.face-up{background:#fff;box-shadow:0 4px 10px #0000004d}.card.face-up.red{color:var(--red-suit)}.card.face-up.black{color:var(--black-suit)}.card.face-down{box-shadow:0 4px 10px #0000004d}.card.hint-highlight{animation:pulseHint 1.2s infinite ease-in-out;box-shadow:0 0 16px 4px var(--accent-gold);z-index:100!important}@keyframes pulseHint{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.card-inner{width:100%;height:100%;border-radius:var(--card-radius);border:1px solid rgba(0,0,0,.1);overflow:hidden;position:relative}.card-back{width:100%;height:100%;border:4px solid #ffffff;border-radius:calc(var(--card-radius) - 2px);background:#1e3a8a;position:relative;display:flex;align-items:center;justify-content:center}.card-back.classic{background:radial-gradient(circle,#2563eb,#1e3a8a)}.card-back.royal-red{background:radial-gradient(circle,#dc2626,#991b1b)}.card-back.dark-gold{background:radial-gradient(circle,#334155,#0f172a);border-color:#f59e0b}.card-back.cyberpunk{background:radial-gradient(circle,#701a75,#312e81);border-color:#06b6d4}.back-pattern{position:absolute;top:4px;right:4px;bottom:4px;left:4px;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 4px,transparent 0,transparent 8px);border:1px solid rgba(255,255,255,.2);border-radius:4px}.back-logo{font-size:1.5rem;color:#fff9;z-index:1}.card-front{width:100%;height:100%;padding:4px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1}.card-corner.top-left{position:absolute;top:3px;left:4px}.card-corner.bottom-right{position:absolute;bottom:3px;right:4px;transform:rotate(180deg)}.card-rank{font-weight:800;font-size:.95rem}.card-suit-symbol{font-size:.9rem}.card-center{flex:1;display:flex;align-items:center;justify-content:center;margin:14px 0}.large-symbol{font-size:2.2rem}.face-card-art{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;padding:4px 8px;opacity:.85}.face-title{font-weight:800;font-size:.65rem;letter-spacing:1px}.face-symbol-large{font-size:1.4rem}.pips-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px;font-size:.85rem;max-width:48px}.waste-fan .card:nth-child(1){transform:translate(0)}.waste-fan .card:nth-child(2){transform:translate(20px)}.waste-fan .card:nth-child(3){transform:translate(40px)}.spider-completed-count{display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--accent-gold)}#win-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5000}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:6000;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-card{background:#1e293b;border:1px solid var(--glass-border);border-radius:20px;padding:32px;max-width:480px;width:90%;box-shadow:0 25px 50px -12px #00000080;text-align:center}.modal-title{font-size:1.8rem;font-weight:800;margin-bottom:12px;color:var(--accent-gold)}.modal-body{color:var(--text-muted);margin-bottom:24px;line-height:1.6}.settings-grid{display:flex;flex-direction:column;gap:16px;text-align:left;margin-bottom:24px}.setting-row{display:flex;align-items:center;justify-content:space-between}.setting-label{font-weight:600;color:#fff}.setting-select{background:#0000004d;border:1px solid var(--glass-border);color:#fff;padding:6px 12px;border-radius:8px;font-family:inherit}@media (max-width: 900px){:root{--card-width: 68px;--card-height: 95px;--card-radius: 6px;--card-gap: 10px}.app-header{padding:0 14px;height:56px}.brand-icon{font-size:1.3rem}.brand-title{font-size:1rem}.btn-back{font-size:.78rem;padding:5px 10px}.game-mode-btn{padding:5px 10px;font-size:.8rem}.stats-bar{gap:14px}.stat-value{font-size:.9rem}.stat-label{font-size:.62rem}.control-toolbar{gap:8px;flex-wrap:wrap;margin-bottom:14px}.btn-icon{padding:7px 12px;font-size:.82rem}.game-container{padding:14px}.board{gap:16px}.tableau-area{min-height:380px;gap:var(--card-gap)}}@media (max-width: 600px){:root{--card-width: clamp(42px, 11.5vw, 62px);--card-height: calc(var(--card-width) * 1.4);--card-radius: 5px;--card-gap: clamp(4px, 1.5vw, 8px)}.app-header{height:auto;min-height:52px;padding:8px 12px;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center}.brand{flex:1;min-width:0}.brand-title{display:none}.brand-icon{font-size:1.4rem}#back-btn-wrapper:not(:empty){border-left:none;padding-left:0;margin-left:0}.btn-back{font-size:0;padding:6px 10px;border-radius:8px}.btn-back .back-arrow{font-size:1rem}.stats-bar{gap:10px;flex-wrap:nowrap}.game-select-group{padding:3px;border-radius:8px;margin-right:6px}.game-mode-btn{padding:4px 8px;font-size:.72rem;border-radius:6px}.stat-label{font-size:.58rem;letter-spacing:.4px}.stat-value{font-size:.85rem}.game-container{padding:8px 6px;overflow-y:auto;-webkit-overflow-scrolling:touch}.control-toolbar{gap:5px;margin-bottom:8px;flex-wrap:wrap;justify-content:center;padding:8px 0}.btn-icon{padding:8px;font-size:0;gap:0;border-radius:10px;flex-shrink:0}.btn-icon span:first-child{font-size:1.15rem}.btn-primary{padding:8px 12px;font-size:.8rem;gap:4px}.btn-primary span:first-child{font-size:1rem}.board{gap:10px}.top-piles{align-items:flex-start;gap:6px}.top-piles-group{gap:var(--card-gap)}.tableau-area{min-height:unset;gap:var(--card-gap);overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:12px}.card-slot.card-pile .card+.card{top:18px}.card-rank{font-size:.72rem}.card-suit-symbol{font-size:.68rem}.large-symbol{font-size:1.4rem}.face-symbol-large{font-size:1rem}.face-title{font-size:.5rem}.back-logo{font-size:1rem}.card-slot-label{font-size:1.2rem}.pips-grid{font-size:.55rem;max-width:32px;gap:1px;line-height:1}.waste-fan .card:nth-child(2){transform:translate(14px)}.waste-fan .card:nth-child(3){transform:translate(28px)}.modal-card{padding:20px 16px;border-radius:16px;width:95%}.modal-title{font-size:1.4rem}.settings-grid{gap:12px}.setting-row{flex-direction:column;align-items:flex-start;gap:6px}.setting-select{width:100%}}@media (max-width: 380px){:root{--card-width: clamp(36px, 10.5vw, 50px);--card-height: calc(var(--card-width) * 1.4);--card-gap: 4px}.game-mode-btn{padding:3px 6px;font-size:.68rem}.stat-value{font-size:.78rem}.stat-label{display:none}}
