.app-shell{transition:background-color .3s ease,color .3s ease}:root,[data-theme=nature]{--board-bg: #4a7c4e;--card-face-bg: #fef9f0;--card-border: #c8b89a;--card-border-radius: 8px;--card-shadow: 0 2px 6px rgba(0, 0, 0, .18);--card-back-bg: #5d8a52;--card-back-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cellipse cx='10' cy='10' rx='4' ry='7' fill='none' stroke='%234a7040' stroke-width='1.2'/%3E%3Cellipse cx='10' cy='10' rx='7' ry='4' fill='none' stroke='%234a7040' stroke-width='1.2'/%3E%3C/svg%3E");--suit-red: #c0392b;--suit-black: #2c3e50;--suit-heart: var(--suit-red);--suit-diamond: var(--suit-red);--suit-club: var(--suit-black);--suit-spade: var(--suit-black);--pile-empty-border: 2px dashed rgba(255, 255, 255, .35);--controls-bg: rgba(30, 50, 30, .75);--controls-text: #f0ead8;--btn-bg: rgba(255, 255, 255, .15);--btn-text: #f0ead8;--btn-hover-bg: rgba(255, 255, 255, .28);--hud-bg: rgba(30, 50, 30, .55);--hud-text: #f0ead8;--modal-bg: #3a5a3a;--modal-text: #f0ead8;--stat-card-bg: rgba(255, 255, 255, .1);--theme-active-border: rgba(255, 255, 255, .6);--theme-active-bg: rgba(255, 255, 255, .15)}[data-theme=classic]{--board-bg: #007400;--card-face-bg: #ffffff;--card-border: #000000;--card-border-radius: 4px;--card-shadow: 2px 2px 0px rgba(0, 0, 0, .5);--card-back-bg: #1a3399;--card-back-pattern: repeating-linear-gradient( 45deg, rgba(255, 255, 255, .12) 0px, rgba(255, 255, 255, .12) 2px, transparent 2px, transparent 8px ), repeating-linear-gradient( -45deg, rgba(255, 255, 255, .12) 0px, rgba(255, 255, 255, .12) 2px, transparent 2px, transparent 8px );--suit-red: #cc0000;--suit-black: #000000;--suit-heart: var(--suit-red);--suit-diamond: var(--suit-red);--suit-club: var(--suit-black);--suit-spade: var(--suit-black);--pile-empty-border: 2px dashed rgba(255, 255, 255, .4);--controls-bg: rgba(0, 80, 0, .88);--controls-text: #ffffff;--btn-bg: #c0c0c0;--btn-text: #000000;--btn-hover-bg: #d4d0c8;--hud-bg: rgba(0, 60, 0, .65);--hud-text: #ffffff;--modal-bg: #005500;--modal-text: #ffffff;--stat-card-bg: rgba(255, 255, 255, .12);--theme-active-border: #ffffff;--theme-active-bg: rgba(255, 255, 255, .2)}[data-theme=retro]{--board-bg: #1a1a1a;--card-face-bg: #f8f8f8;--card-border: #333333;--card-border-radius: 2px;--card-shadow: 1px 1px 3px rgba(0, 0, 0, .6);--card-back-bg: #2a2a2a;--card-back-pattern: repeating-linear-gradient( 45deg, rgba(200, 200, 200, .12) 0px, rgba(200, 200, 200, .12) 1px, transparent 1px, transparent 6px );--suit-red: #222222;--suit-black: #111111;--suit-heart: var(--suit-red);--suit-diamond: var(--suit-red);--suit-club: var(--suit-black);--suit-spade: var(--suit-black);--pile-empty-border: 1px dashed rgba(255, 255, 255, .25);--controls-bg: rgba(10, 10, 10, .9);--controls-text: #e0e0e0;--btn-bg: rgba(255, 255, 255, .1);--btn-text: #e0e0e0;--btn-hover-bg: rgba(255, 255, 255, .2);--hud-bg: rgba(10, 10, 10, .7);--hud-text: #e0e0e0;--modal-bg: #1a1a1a;--modal-text: #e0e0e0;--stat-card-bg: rgba(255, 255, 255, .08);--theme-active-border: rgba(255, 255, 255, .5);--theme-active-bg: rgba(255, 255, 255, .12)}[data-theme=elegant]{--board-bg: #f5f0eb;--card-face-bg: #ffffff;--card-border: #d4cfc9;--card-border-radius: 6px;--card-shadow: 0 1px 8px rgba(0, 0, 0, .1);--card-back-bg: #c9a96e;--card-back-pattern: radial-gradient( ellipse at 35% 35%, rgba(255, 255, 255, .18) 0%, transparent 65% );--suit-red: #8b2635;--suit-black: #1a1a1a;--suit-heart: var(--suit-red);--suit-diamond: var(--suit-red);--suit-club: var(--suit-black);--suit-spade: var(--suit-black);--pile-empty-border: 2px dashed rgba(100, 90, 80, .4);--controls-bg: rgba(240, 234, 225, .92);--controls-text: #3a3530;--btn-bg: rgba(0, 0, 0, .07);--btn-text: #3a3530;--btn-hover-bg: rgba(0, 0, 0, .13);--hud-bg: rgba(240, 234, 225, .7);--hud-text: rgba(58, 53, 48, .5);--hud-divider: rgba(58, 53, 48, .15);--modal-bg: #f5f0eb;--modal-text: #3a3530;--stat-card-bg: rgba(0, 0, 0, .05);--theme-active-border: #c9a96e;--theme-active-bg: rgba(201, 169, 110, .15)}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.card.wiggling{animation:wiggle .15s ease-in-out 3;transform-origin:bottom center}@keyframes dealing{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.card.dealing{animation:dealing .2s ease-out}@keyframes dropHighlight{0%,to{box-shadow:0 0 0 2px #fff0}50%{box-shadow:0 0 0 3px #ffffffa6}}.pile-drop-target{animation:dropHighlight .8s ease-in-out infinite}@keyframes cascadeToFoundation{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.7) translateY(-40px)}}.card.cascading{animation:cascadeToFoundation .35s ease-in forwards}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:Gothic A1,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.card{aspect-ratio:5 / 7;border-radius:var(--card-border-radius, 6px);user-select:none;-webkit-user-select:none;cursor:pointer;position:relative}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .35s ease}.card-inner.face-down{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--card-face-bg, #ffffff);border:1px solid var(--card-border, #ccc);border-radius:var(--card-border-radius, 6px);padding:3px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--card-shadow, 0 1px 4px rgba(0,0,0,.15))}.card-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(180deg);background-color:var(--card-back-bg, #1a3399);background-image:var(--card-back-pattern, none);background-size:20px 20px;border:1px solid var(--card-border, #ccc);border-radius:var(--card-border-radius, 6px);box-shadow:var(--card-shadow, 0 1px 4px rgba(0,0,0,.15))}.card-face .corner{font-size:.75em;font-weight:700;line-height:1;display:flex;flex-direction:column;align-items:center;gap:0px;width:fit-content}.card-face .corner-top{align-self:flex-start}.card-face .corner-bottom{align-self:flex-end;margin-top:auto;transform:rotate(180deg)}.card-face .corner .rank{font-size:1em}.card-face .corner .suit-symbol{font-size:.85em;line-height:1}.card-face .center-suit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.4em;opacity:.15;pointer-events:none;line-height:1}.suit-hearts{color:var(--suit-heart, #cc0000)}.suit-diamonds{color:var(--suit-diamond, #cc0000)}.suit-clubs{color:var(--suit-club, #000000)}.suit-spades{color:var(--suit-spade, #000000)}.pile-empty{aspect-ratio:5 / 7;border:var(--pile-empty-border, 2px dashed rgba(255,255,255,.3));border-radius:var(--card-border-radius, 6px);display:flex;align-items:center;justify-content:center;font-size:2em;opacity:.5;pointer-events:none}.pile-empty.foundation{color:#fff6}.card.dragging{box-shadow:0 8px 24px #0000004d,0 2px 6px #0003;z-index:1000;cursor:grabbing}.card:hover:not(.dragging){box-shadow:var(--card-shadow, 0 2px 6px rgba(0, 0, 0, .18));transform:translateY(-1px);transition:transform .1s ease,box-shadow .1s ease}.card:has(.card-inner.face-down){cursor:default}.pile{position:relative;width:var(--card-w, 80px);height:var(--card-h, 112px);flex-shrink:0}.pile-empty{width:100%;height:100%;border-radius:8px;border:2px dashed var(--pile-empty-border, rgba(255, 255, 255, .2));display:flex;align-items:center;justify-content:center;box-sizing:border-box}.pile-empty .foundation-icon{font-size:calc(var(--card-w, 80px) * .45);opacity:.2;color:var(--card-text, #fff);-webkit-user-select:none;user-select:none;pointer-events:none}.pile .card{position:absolute;top:0;left:0;width:100%;height:100%}.pile-stock{cursor:pointer}.waste-fanned{width:calc(var(--card-w, 80px) + 44px)}.waste-fan-card{position:absolute;top:0;width:var(--card-w, 80px);height:var(--card-h, 112px)}.pile-waste .waste-count{position:absolute;bottom:-2px;right:-2px;background:var(--badge-bg, rgba(0, 0, 0, .6));color:var(--badge-text, #fff);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;z-index:2;pointer-events:none}.drop-target-valid{box-shadow:0 0 12px 4px var(--drop-glow, rgba(76, 175, 80, .5));border-radius:8px}.card-stack{position:relative;width:var(--card-w, 80px);min-height:var(--card-h, 112px);flex-shrink:0}.card-stack .pile-empty{width:100%;height:var(--card-h, 112px);border-radius:8px;border:2px dashed var(--pile-empty-border, rgba(255, 255, 255, .15));box-sizing:border-box}.card-stack-card{position:absolute;left:0;width:var(--card-w, 80px);height:var(--card-h, 112px)}.card-stack-card .card{width:100%;height:100%}.klondike-board{width:100%;height:100%;display:grid;grid-template-columns:repeat(7,var(--card-w, 80px));grid-template-rows:auto 1fr;gap:var(--gap, 6px);justify-content:center;align-content:start}.klondike-board .grid-stock{grid-column:1;grid-row:1}.klondike-board .grid-waste{grid-column:2;grid-row:1}.klondike-board .grid-fnd-0{grid-column:4;grid-row:1}.klondike-board .grid-fnd-1{grid-column:5;grid-row:1}.klondike-board .grid-fnd-2{grid-column:6;grid-row:1}.klondike-board .grid-fnd-3{grid-column:7;grid-row:1}.klondike-board .grid-tab-0{grid-column:1;grid-row:2}.klondike-board .grid-tab-1{grid-column:2;grid-row:2}.klondike-board .grid-tab-2{grid-column:3;grid-row:2}.klondike-board .grid-tab-3{grid-column:4;grid-row:2}.klondike-board .grid-tab-4{grid-column:5;grid-row:2}.klondike-board .grid-tab-5{grid-column:6;grid-row:2}.klondike-board .grid-tab-6{grid-column:7;grid-row:2}.spider-board{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--gap, 6px)}.spider-info-row{display:flex;align-items:center;justify-content:space-between;padding:0 var(--gap, 6px);min-height:calc(var(--card-h, 112px) * .4)}.spider-stock-btn{display:flex;align-items:center;gap:6px;border:none;background:transparent;color:#ffffffd9;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:4px 8px;border-radius:8px;transition:background .1s}.spider-stock-btn:active{background:#ffffff1a}.spider-stock-btn:disabled{opacity:.3;cursor:default}.spider-stock-icon{width:calc(var(--card-w, 80px) * .5);height:calc(var(--card-h, 112px) * .5);display:flex;align-items:center;justify-content:center}.spider-stock-cards{width:100%;height:100%;border-radius:4px;background:var(--card-back-bg, #2a5298);border:1px solid rgba(255,255,255,.2)}.spider-stock-empty{width:100%;height:100%;border-radius:4px;border:1px dashed rgba(255,255,255,.2)}.spider-stock-count{font-size:.75rem;font-weight:500}.spider-foundations-counter{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.spider-fnd-value{font-size:1.1rem;font-weight:700;color:#ffffffe6}.spider-fnd-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;opacity:.5;color:#ffffffb3}.spider-tableau{flex:1;display:grid;grid-template-columns:repeat(10,1fr);gap:var(--gap, 4px);padding:0 var(--gap, 4px);align-content:start}.spider-col{min-width:0}.freecell-board{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--gap, 6px)}.freecell-top-row{display:flex;justify-content:center;gap:calc(var(--gap, 6px) * 3);padding:0 var(--gap, 6px)}.freecell-cells,.freecell-foundations{display:flex;gap:var(--gap, 6px)}.freecell-slot,.freecell-fnd-slot{width:var(--card-w, 80px);height:var(--card-h, 112px);border-radius:6px;overflow:hidden;flex-shrink:0}.freecell-empty{width:100%;height:100%;border:2px dashed rgba(255,255,255,.15);border-radius:6px;box-sizing:border-box}.freecell-fnd-empty{width:100%;height:100%;border:2px dashed rgba(255,255,255,.15);border-radius:6px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.freecell-fnd-empty .foundation-icon{font-size:1.5rem;opacity:.2}.freecell-cascades{flex:1;display:grid;grid-template-columns:repeat(8,1fr);gap:var(--gap, 6px);padding:0 var(--gap, 6px);align-content:start}.freecell-cascade{min-width:0}.pyramid-board{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:var(--gap, 8px);padding:var(--gap, 6px);box-sizing:border-box}.pyramid-shape{display:flex;flex-direction:column;align-items:center;gap:2px}.pyramid-row{display:flex;justify-content:center;gap:2px}.pyramid-card-slot{width:var(--card-w, 80px);height:var(--card-h, 112px);position:relative;flex-shrink:0;border-radius:6px;transition:transform .15s ease,box-shadow .15s ease}.pyramid-card-removed{visibility:hidden}.pyramid-covered{opacity:.5;pointer-events:none}.pyramid-exposed{cursor:pointer}.pyramid-exposed:active{transform:scale(.96)}.pyramid-selected{outline:2px solid rgba(100,200,255,.8);outline-offset:2px;border-radius:8px}.pyramid-bottom{display:flex;gap:calc(var(--gap, 6px) * 3);align-items:center}.pyramid-stock-area{position:relative;cursor:pointer}.pyramid-recycle-label{position:absolute;bottom:-16px;left:50%;transform:translate(-50%);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;opacity:.5;color:#ffffffb3;white-space:nowrap}.pyramid-waste-area{width:var(--card-w, 80px);height:var(--card-h, 112px);cursor:pointer;border-radius:6px;transition:outline .15s ease}.pyramid-waste-area.pyramid-selected{outline:2px solid rgba(100,200,255,.8);outline-offset:2px}.pyramid-waste-empty{width:100%;height:100%;border:2px dashed rgba(255,255,255,.12);border-radius:6px;box-sizing:border-box}.game-board{width:100%;height:100%;padding:var(--gap, 6px);box-sizing:border-box;touch-action:none;user-select:none;-webkit-user-select:none;position:relative}.game-mode-select{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:100;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.game-mode-select h2{color:#fff;font-size:1.4rem;margin:0;font-weight:600}.game-mode-buttons{display:flex;gap:12px}.game-mode-buttons button{padding:12px 28px;border:2px solid rgba(255,255,255,.3);border-radius:12px;background:#ffffff1a;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.game-mode-buttons button:hover,.game-mode-buttons button:active{background:#fff3;border-color:#ffffff80}.auto-complete-prompt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:100;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.auto-complete-prompt p{color:#fff;font-size:1.1rem;margin:0}.auto-complete-prompt .prompt-buttons{display:flex;gap:12px}.auto-complete-prompt button{padding:10px 24px;border:2px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffff1a;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease}.auto-complete-prompt button:hover{background:#fff3}@keyframes hint-wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-4deg)}40%{transform:rotate(4deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}.hint-wiggle{animation:hint-wiggle .5s ease-in-out 3}.drag-overlay{position:fixed;top:0;left:0;pointer-events:none;z-index:1000;touch-action:none}.drag-overlay .drag-cards{display:flex;flex-direction:column;pointer-events:none}.drag-overlay .drag-card-wrapper{width:var(--card-w, 80px);height:var(--card-h, 112px);pointer-events:none}.drag-overlay .drag-card-wrapper .card{width:100%;height:100%}.card-stack-card.dragging-source{opacity:0}.hud{position:absolute;top:max(8px,env(safe-area-inset-top,8px));left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:.75rem;padding:.3rem .7rem;background:#00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:6px;color:#ffffffd9;font-family:Gothic A1,sans-serif;font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;pointer-events:none}.hud-pause{color:#ffffffd9;font-size:10px;cursor:pointer;padding:0 4px;pointer-events:auto;letter-spacing:-2px;line-height:1}.hud-pause:hover{color:#fff}.hud-undo{display:flex;align-items:center;color:#ffffffd9;cursor:pointer;padding:0 4px;pointer-events:auto;line-height:1}.hud-undo:hover{color:#fff}.hud-undo.disabled{opacity:.3;cursor:default}.hud-stat{white-space:nowrap}.hud-divider{width:1px;height:10px;background:#ffffff40}.hud-stats-btn{display:flex;align-items:center;color:#ffffffd9;cursor:pointer;padding:0 4px;pointer-events:auto;line-height:1}.hud-stats-btn:hover{color:#fff}.controls-bar{display:flex;align-items:center;gap:3px;padding:4px 6px;background:#000000e6;border-radius:999px;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 24px #00000059,0 1px 3px #0003,inset 0 .5px #ffffff0f}.ctrl-btn{display:flex;align-items:center;justify-content:center;height:32px;padding:0 18px;border:none;border-radius:13px;background:transparent;color:#ffffffe0;font-family:Gothic A1,sans-serif;font-size:12px;font-weight:500;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;transition:background-color .1s ease,color .1s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;white-space:nowrap}.ctrl-btn:active{background:#ffffff24;color:#fff}@media(hover:hover){.ctrl-btn:hover{background:#ffffff14;color:#fff}}.ctrl-btn:disabled{opacity:.28;cursor:default}.ctrl-btn:disabled:active,.ctrl-btn:disabled:hover{background:transparent;color:#ffffffe0}.ctrl-btn-icon{padding:0;width:40px;font-size:16px}.new-game-prompt{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:#000000d1;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:16px;border:1px solid rgba(255,255,255,.08);color:#fff;font-family:Gothic A1,sans-serif;font-size:13px;white-space:nowrap;z-index:20;box-shadow:0 8px 32px #0006;animation:prompt-in .15s ease}.new-game-prompt-msg{font-size:11px;opacity:.5;font-weight:400;letter-spacing:.03em}.new-game-prompt-row{display:flex;gap:4px}.prompt-btn{display:flex;align-items:center;justify-content:center;padding:7px 16px;border:none;border-radius:9px;background:#ffffff1a;color:#fff;font-family:Gothic A1,sans-serif;font-size:13px;font-weight:500;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .1s ease}.prompt-btn:hover{background:#ffffff2e}.prompt-btn:active{opacity:.7}.prompt-btn-cancel{opacity:.5}.prompt-btn-active{background:#ffffff38;font-weight:600}.ctrl-btn-time{gap:4px;margin-left:2px;padding:0 12px;border-left:1px solid rgba(255,255,255,.1);border-radius:0 13px 13px 0}.ctrl-time-label{font-size:10px;opacity:.7;font-variant-numeric:tabular-nums}.ctrl-time-icon{display:flex;align-items:center;color:#ffffffd9}@keyframes prompt-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000080;animation:overlay-in .2s ease}.modal-panel{position:relative;width:min(90vw,20rem);padding:1.5rem;border-radius:1rem;background:var(--modal-bg, #2a2a3e);color:var(--modal-text, #fff);box-shadow:0 8px 32px #0006;animation:modal-in .25s ease;transition:background-color .3s ease,color .3s ease}.modal-title{margin:0 0 1rem;font-size:1.1rem;font-weight:700;text-align:center}.modal-close{position:absolute;top:.5rem;right:.75rem;border:none;background:none;color:var(--modal-text, #fff);font-size:1.25rem;cursor:pointer;opacity:.6;line-height:1;padding:.25rem;-webkit-tap-highlight-color:transparent}.modal-close:active{opacity:1}.stats-modal-panel{width:min(90vw,24rem)}.stats-tabs{display:flex;gap:2px;margin-bottom:.75rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.stats-tabs::-webkit-scrollbar{display:none}.stats-tab{flex:1;min-width:0;padding:6px 4px;border:none;border-radius:6px;background:transparent;color:var(--modal-text, #fff);opacity:.5;font-family:Gothic A1,sans-serif;font-size:.65rem;font-weight:500;cursor:pointer;transition:background .12s,opacity .12s;white-space:nowrap;-webkit-tap-highlight-color:transparent}.stats-tab:active,.stats-tab:hover{opacity:.7;background:#ffffff0f}.stats-tab.active{opacity:1;background:#ffffff1a;font-weight:700}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;border-radius:.5rem;background:var(--stat-card-bg, rgba(255, 255, 255, .08))}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{font-size:.7rem;opacity:.65;text-transform:uppercase;letter-spacing:.05em}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.settings-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:0 .1rem}.settings-label{font-size:.85rem;font-weight:600;color:var(--modal-text, #fff);letter-spacing:.02em}.settings-toggle{position:relative;width:44px;height:24px;border:none;border-radius:12px;background:#ffffff26;cursor:pointer;padding:0;transition:background .2s ease}.settings-toggle.active{background:#5a9a3a}.settings-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px #0000004d}.settings-toggle.active .settings-toggle-knob{transform:translate(20px)}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.theme-option{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .5rem;border:2px solid transparent;border-radius:.6rem;background:var(--stat-card-bg, rgba(255, 255, 255, .08));color:var(--modal-text, #fff);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .2s ease,background-color .2s ease}.theme-option:active{opacity:.8}.theme-option.active{border-color:var(--theme-active-border, rgba(255, 255, 255, .6));background:var(--theme-active-bg, rgba(255, 255, 255, .15))}.theme-icon{font-size:1.6rem;line-height:1}.theme-name{font-size:.7rem;font-weight:600;letter-spacing:.03em}.time-modal-panel{width:min(90vw,18rem)}.time-current{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:1.2rem;letter-spacing:.02em}.time-mode-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.time-mode-btn{display:flex;align-items:center;justify-content:space-between;padding:.65rem .8rem;border:2px solid transparent;border-radius:.5rem;background:var(--stat-card-bg, rgba(255, 255, 255, .08));color:var(--modal-text, #fff);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .2s ease,background-color .2s ease}.time-mode-btn.active{border-color:var(--theme-active-border, rgba(255, 255, 255, .6));background:var(--theme-active-bg, rgba(255, 255, 255, .15))}.time-mode-btn:active{opacity:.8}.time-mode-label{font-size:.85rem;font-weight:600}.time-mode-desc{font-size:.65rem;opacity:.5}.time-slider-section{margin-top:.25rem}.time-slider{width:100%;accent-color:#5a9a3a}.time-slider-labels{display:flex;justify-content:space-between;font-size:10px;opacity:.5;margin-top:2px}.new-game-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#0000;pointer-events:none;transition:background .25s ease}.new-game-backdrop.visible{background:#00000080;pointer-events:auto}.new-game-card{background:var(--card-bg, #fff);color:var(--card-text, #333);border-radius:16px;padding:2rem;text-align:center;width:min(320px,85vw);box-shadow:0 8px 32px #0000004d;opacity:0;transform:scale(.9);transition:opacity .25s ease-out,transform .25s ease-out}.new-game-backdrop.visible .new-game-card{opacity:1;transform:scale(1)}.new-game-card h2{margin:0 0 .5rem;font-size:1.4rem}.new-game-card p{margin:0 0 1.5rem;font-size:.85rem;opacity:.7}.draw-mode-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.draw-mode-btn{flex:1;min-width:110px;padding:1rem .5rem;border:2px solid var(--btn-bg, #4a90d9);border-radius:12px;background:transparent;color:var(--card-text, #333);cursor:pointer;transition:background .15s,color .15s}.draw-mode-btn:active,.draw-mode-btn:hover{background:var(--btn-bg, #4a90d9);color:var(--btn-text, #fff)}.draw-mode-btn strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.draw-mode-btn span{font-size:.75rem;opacity:.7}.resume-section{margin-bottom:1.5rem}.resume-btn{width:100%;padding:.75rem;border:none;border-radius:8px;background:var(--btn-bg, #4a90d9);color:var(--btn-text, #fff);font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:.5rem;transition:opacity .15s}.resume-btn:active{opacity:.8}.resume-info{font-size:.8rem;opacity:.6;margin:0}.or-divider{margin:1rem 0;font-size:.8rem;opacity:.5}.stuck-banner{position:absolute;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.6rem 1rem;background:var(--accent, #c75c3a);color:#fff;font-size:.9rem;font-weight:600;transform:translateY(-100%);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}.stuck-banner.visible{transform:translateY(0);opacity:1}.stuck-banner button{border:none;border-radius:6px;padding:.35rem .8rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s}.stuck-banner button:active{opacity:.8}.stuck-undo{background:#fff;color:var(--accent, #c75c3a)}.stuck-new{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)!important}.win-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0000;pointer-events:none;transition:background .4s ease}.win-overlay.visible{background:#0009;pointer-events:auto}.win-stats-card{background:var(--card-bg, #fff);color:var(--card-text, #333);border-radius:16px;padding:2rem 2.5rem;text-align:center;box-shadow:0 8px 32px #0000004d;opacity:0;transform:scale(.9);transition:opacity .3s ease-out,transform .3s ease-out}.win-overlay.visible .win-stats-card{opacity:1;transform:scale(1)}.win-stats-card h2{font-size:1.8rem;margin:0 0 1rem}.win-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.win-stat-label{font-size:.75rem;text-transform:uppercase;opacity:.7}.win-stat-value{font-size:1.4rem;font-weight:700}.win-new-game-btn{background:var(--btn-bg, #4a90d9);color:var(--btn-text, #fff);border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.win-new-game-btn:active{opacity:.8}.speech-bubble{position:absolute;bottom:50%;left:calc(100% + 8px);background:#fffef5;color:#2a2a2a;border-radius:12px;padding:8px 14px;font-size:.8rem;font-family:inherit;line-height:1.4;max-width:260px;min-width:60px;width:max-content;text-align:left;box-shadow:0 2px 8px #00000026;z-index:10;pointer-events:none;transition:opacity .3s ease,transform .3s ease;white-space:pre-wrap}.speech-bubble--visible{opacity:1;transform:translateY(0)}.speech-bubble--hidden{opacity:0;transform:translate(-4px)}.speech-bubble__name{display:block;font-weight:700;font-size:.75rem;color:#e07830;margin-bottom:2px;letter-spacing:.02em}.speech-bubble__text{display:inline}.speech-bubble__tail{position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #fffef5}.app-shell{display:flex;flex-direction:column;width:100%;height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:var(--board-bg, #1a1a2e);transition:background-color .3s ease;position:relative;z-index:1}[data-theme=nature] .app-shell,[data-theme=nature] .section-cards,[data-theme=nature] .section-bottom{background:transparent}.section-cards{flex:1 1 auto;position:relative;overflow:hidden;min-height:0;padding-top:48px}.section-bottom{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding-bottom:max(48px,calc(24px + env(safe-area-inset-bottom,24px)));padding-top:8px;gap:6px}.controls-wrapper{position:relative;z-index:5}.credit-line{position:fixed;bottom:max(12px,env(safe-area-inset-bottom,12px));left:0;right:0;display:flex;justify-content:space-between;padding:0 24px;font-family:Gothic A1,sans-serif;font-size:10px;font-weight:400;color:#ffffff59;letter-spacing:.02em}.credit-line a{color:inherit;text-decoration:none}.credit-line a:hover{color:#ffffff8c}.bird-perch{position:absolute;bottom:100%;left:-10px;width:140px;height:140px;margin-bottom:-22px;z-index:6;pointer-events:auto}@media(max-width:768px){.bird-perch{width:200px;height:200px;margin-bottom:-32px}}.bird-icon{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#e8d8c0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:transform .15s ease;padding:0;box-shadow:0 2px 8px #0000004d}.bird-icon:hover{transform:scale(1.08)}.bird-icon:active{transform:scale(.95)}
