@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--color-kitchen:#22c55e;--color-kitchen-light:#86efac;--color-kitchen-glow:#22c55e66;--color-recyclable:#3b82f6;--color-recyclable-light:#93c5fd;--color-recyclable-glow:#3b82f666;--color-hazardous:#ef4444;--color-hazardous-light:#fca5a5;--color-hazardous-glow:#ef444466;--color-other:#6b7280;--color-other-light:#d1d5db;--color-other-glow:#6b728066;--color-start:#f59e0b;--color-start-light:#fcd34d;--color-start-glow:#f59e0b80;--color-selected:#8b5cf6;--color-selected-glow:#8b5cf680;--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-card:#1e293bcc;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-border:#94a3b833;--color-accent:#10b981;--glass-bg:#1e293b99;--glass-border:#94a3b826;--glass-shadow:0 8px 32px #0000004d;--cell-size:min(11.5vw, 52px);--gap:min(1.2vw, 5px);--radius:12px;--radius-lg:20px}*{box-sizing:border-box;margin:0;padding:0}html,body{touch-action:manipulation;-webkit-tap-highlight-color:transparent;height:100%;overflow:hidden}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent;outline:none}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline:none}body{background:var(--color-bg-primary);color:var(--color-text-primary);font-family:DM Sans,PingFang SC,sans-serif;position:relative;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 20% 20%,#22c55e26 0%,#0000 50%),radial-gradient(60% 40% at 80% 80%,#3b82f61f 0%,#0000 50%),radial-gradient(50% 30%,#8b5cf614 0%,#0000 50%);animation:20s ease-in-out infinite alternate bgShift;position:fixed;inset:0}@keyframes bgShift{0%{opacity:1;transform:scale(1)}to{opacity:.8;transform:scale(1.1)}}body:after{content:"";opacity:.03;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:fixed;inset:0}#app{z-index:2;flex-direction:column;max-width:480px;height:100%;margin:0 auto;display:flex;position:relative}.header{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex;position:relative}.header-center{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.game-title{color:var(--color-text-primary);letter-spacing:-.02em;background:linear-gradient(135deg, var(--color-kitchen) 0%, var(--color-recyclable) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:700}.stats-bar{align-items:center;gap:20px;padding:4px 0;display:flex}.stat-group{align-items:baseline;gap:4px;display:flex}.stat-value{color:var(--color-text-primary);font-family:Outfit,sans-serif;font-size:1rem;font-weight:700}.stat-label{color:var(--color-text-muted);font-size:.75rem;font-weight:500}#score{color:var(--color-start)}#timer{color:var(--color-recyclable-light)}.stat-group:last-child .stat-value{color:var(--color-kitchen-light)}.btn-icon{border:1px solid var(--glass-border);cursor:pointer;width:40px;height:40px;color:var(--color-text-secondary);background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.btn-icon:hover{border-color:var(--color-accent);color:var(--color-text-primary);background:#ffffff1a;transform:translateY(-2px)}.btn-icon:active{transform:translateY(0)}#btn-help{font-family:Outfit,sans-serif;font-weight:700}.header-actions{gap:8px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0f172ad9;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:360px;max-height:85vh;box-shadow:var(--glass-shadow), 0 0 60px #10b9811a;padding:1.5rem;animation:.3s slideUp;position:relative;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{color:var(--color-text-primary);text-align:center;margin-bottom:1.2rem;font-family:Outfit,sans-serif;font-size:1.3rem;font-weight:700}.modal-close{border:1px solid var(--glass-border);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.modal-close:hover{color:var(--color-text-primary);background:#ffffff1a}.help-section{border-bottom:1px solid var(--glass-border);margin-bottom:1.2rem;padding-bottom:1rem}.help-section:last-child{border-bottom:none;margin-bottom:0}.help-section h3{color:var(--color-kitchen-light);margin-bottom:.5rem;font-size:.95rem;font-weight:600}.help-section p{color:var(--color-text-secondary);margin:0;font-size:.85rem;line-height:1.6}.highlight{color:var(--color-selected);font-weight:600}.highlight-start{color:var(--color-start);font-weight:600}.tip{color:var(--color-text-muted)!important;margin-top:.4rem!important;font-size:.8rem!important}.wildstar-demo{border:1px solid var(--glass-border);background:#ffffff0d;border-radius:12px;margin:.6rem 0;padding:.8rem}.demo-row{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:.5rem;display:flex}.demo-label{color:var(--color-text-muted);min-width:50px;font-size:.75rem}.demo-cell{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:inline-flex}.demo-cell.start{background:var(--color-start)}.demo-cell.kitchen{background:var(--color-kitchen)}.demo-cell.wildstar{background:linear-gradient(135deg,gold,orange)}.demo-cell.hazardous{background:var(--color-hazardous)}.demo-arrow{color:var(--color-text-muted);font-size:.8rem}.demo-result{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.demo-count{border-radius:6px;padding:3px 8px;font-size:.75rem}.demo-count.kitchen{color:var(--color-kitchen-light);background:#22c55e33}.demo-count.hazardous{color:var(--color-hazardous-light);background:#ef444433}.leaderboard-content{max-width:360px}.leaderboard-content h2,.leaderboard-list{margin-bottom:1rem}.leaderboard-item{background:#ffffff08;border:1px solid #0000;border-radius:10px;align-items:center;margin-bottom:6px;padding:12px;transition:all .2s;display:flex}.leaderboard-item:hover{border-color:var(--glass-border);background:#ffffff0f}.leaderboard-rank{width:28px;color:var(--color-text-muted);font-family:Outfit,sans-serif;font-weight:700}.leaderboard-rank.top-1{color:gold}.leaderboard-rank.top-2{color:silver}.leaderboard-rank.top-3{color:#cd7f32}.leaderboard-nickname{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin-left:8px;font-size:.9rem;overflow:hidden}.leaderboard-user-info{flex-direction:column;flex:1;min-width:0;margin-left:8px;display:flex}.leaderboard-user-info .leaderboard-nickname{margin-left:0}.leaderboard-player-id{color:var(--color-text-secondary);opacity:.7;font-size:.7rem}.leaderboard-score{color:var(--color-start);margin-right:12px;font-family:Outfit,sans-serif;font-weight:700}.leaderboard-time{color:var(--color-text-muted);min-width:40px;font-size:.8rem}.my-rank{text-align:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:12px;padding:14px}.my-rank-title{color:var(--color-text-secondary);margin-bottom:4px;font-size:.85rem}.my-rank-position{color:var(--color-kitchen);font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:700}.my-rank-details{color:var(--color-text-muted);margin-top:4px;font-size:.8rem}.no-rank{color:var(--color-text-muted);text-align:center;padding:10px;font-size:.85rem}.user-content{max-width:320px}.user-content h2{margin-bottom:1.2rem}.user-info{flex-direction:column;gap:18px;display:flex}.user-field{flex-direction:column;gap:8px;display:flex}.user-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.user-value{color:var(--color-text-primary);font-size:1rem}.user-id{border:1px solid var(--glass-border);color:var(--color-text-muted);white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;background:#ffffff0d;border-radius:10px;padding:10px 14px;font-family:monospace;font-size:.7rem;overflow-x:auto}.user-id::-webkit-scrollbar{display:none}.user-nickname-row{gap:10px;display:flex}.user-nickname-input{border:1px solid var(--glass-border);color:var(--color-text-primary);background:#ffffff0d;border-radius:10px;flex:1;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:1rem;transition:all .2s}.user-nickname-input:focus{border-color:var(--color-accent);background:#ffffff14;outline:none}.user-nickname-input::placeholder{color:var(--color-text-muted)}.btn-save-nickname{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px 18px;font-size:.9rem;font-weight:600;transition:all .2s}.btn-save-nickname:hover{background:#059669;transform:translateY(-2px)}.btn-save-nickname:disabled{background:var(--color-other);cursor:not-allowed;transform:none}.user-hint{color:var(--color-text-muted);font-size:.75rem}.debug-content{max-width:320px}.debug-content h2{margin-bottom:1rem}.debug-options{flex-direction:column;gap:12px;display:flex}.debug-option{border:1px solid var(--glass-border);background:#ffffff08;border-radius:12px;padding:14px}.debug-toggle{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.toggle-text{flex-direction:column;gap:4px;display:flex}.toggle-label{color:var(--color-text-primary);font-weight:600}.toggle-desc{color:var(--color-text-muted);font-size:.75rem}.debug-toggle input[type=checkbox]{width:22px;height:22px;accent-color:var(--color-accent);cursor:pointer}.btn-debug-action{background:linear-gradient(135deg, var(--color-start) 0%, #d97706 100%);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.btn-debug-action:hover{transform:translateY(-2px);box-shadow:0 4px 20px #f59e0b4d}.btn-debug-action:active{transform:translateY(0)}.action-icon{font-size:1.1rem}.btn-submit-score{background:linear-gradient(135deg, var(--color-start) 0%, #d97706 100%);color:#fff}.btn-submit-score:disabled{opacity:.5;cursor:not-allowed}.btn-submit-score.submitted{background:linear-gradient(135deg, var(--color-kitchen) 0%, #059669 100%)}.game-area{flex:1;justify-content:center;align-items:center;min-height:0;padding:.8rem;display:flex}.game-area-inner{flex-direction:column;align-items:center;display:flex}.action-bar{width:calc(7 * var(--cell-size) + 6 * var(--gap) + 2 * calc(var(--gap) * 1.5));justify-content:center;gap:10px;max-width:100%;padding:.6rem 0 .3rem;display:flex}.action-bar .btn{cursor:pointer;letter-spacing:.02em;border:none;border-radius:14px;flex:1;padding:12px 20px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700;transition:all .2s}.action-bar .btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.action-bar .btn:active:not(:disabled){transform:scale(.97)}.action-bar .btn-collect{background:linear-gradient(135deg, var(--color-kitchen) 0%, #059669 100%);color:#fff;box-shadow:0 4px 20px var(--color-kitchen-glow)}.action-bar .btn-collect:not(:disabled):hover{box-shadow:0 6px 24px var(--color-kitchen-glow);transform:translateY(-2px)}.action-bar .btn-cancel{color:var(--color-text-secondary);border:1px solid var(--glass-border);background:#ffffff1a}.action-bar .btn-cancel:not(:disabled):hover{color:var(--color-text-primary);background:#ffffff26}.board{grid-template-columns:repeat(7, var(--cell-size));grid-template-rows:repeat(7, var(--cell-size));gap:var(--gap);border:1px solid var(--glass-border);padding:calc(var(--gap) * 1.5);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow), inset 0 1px 0 #ffffff0d;background:#ffffff08;display:grid;overflow:visible}.cell{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:calc(var(--cell-size) * .5);justify-content:center;align-items:center;line-height:1;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:visible}.cell.kitchen{background:linear-gradient(135deg, var(--color-kitchen) 0%, #16a34a 100%);box-shadow:0 4px 12px var(--color-kitchen-glow)}.cell.recyclable{background:linear-gradient(135deg, var(--color-recyclable) 0%, #2563eb 100%);box-shadow:0 4px 12px var(--color-recyclable-glow)}.cell.hazardous{background:linear-gradient(135deg, var(--color-hazardous) 0%, #dc2626 100%);box-shadow:0 4px 12px var(--color-hazardous-glow)}.cell.other{background:linear-gradient(135deg, var(--color-other) 0%, #4b5563 100%);box-shadow:0 4px 12px var(--color-other-glow)}.cell.start{background:linear-gradient(135deg, var(--color-start) 0%, #d97706 100%);box-shadow:0 4px 16px var(--color-start-glow);z-index:2}.cell.empty{background:#ffffff08;box-shadow:inset 0 2px 4px #0003}.cell.selected{box-shadow:0 0 0 3px var(--color-selected), 0 6px 20px var(--color-selected-glow);z-index:5;transform:scale(1.12)translateY(-2px)}.cell:not(.empty):not(.collecting):not(.selected):active{transform:scale(.95)}.footer{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:.6rem 1rem 1rem}.bins{justify-content:space-around;align-items:flex-end;gap:.4rem;margin-bottom:.6rem;display:flex}.bin{cursor:default;background:#ffffff08;border:1px solid #0000;border-radius:14px;flex-direction:column;align-items:center;padding:10px 8px;transition:all .2s;display:flex;position:relative}.bin.has-skill{border-color:var(--glass-border);background:#ffffff0f}.bin-svg{filter:drop-shadow(0 4px 8px #0000004d);width:min(15vw,58px);height:auto;transition:transform .2s}.bin-label{color:var(--color-text-secondary);white-space:nowrap;margin-top:4px;font-size:min(2.2vw,10px);font-weight:600}.bin-count-badge{background:var(--color-start);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:min(5vw,20px);height:min(5vw,20px);font-family:Outfit,sans-serif;font-size:min(2.8vw,12px);font-weight:700;display:flex;position:absolute;top:4px;right:4px;box-shadow:0 2px 8px #f59e0b66}.bin.receiving .bin-svg{animation:.35s cubic-bezier(.34,1.56,.64,1) binBounce}.actions{justify-content:center;gap:.6rem;display:flex}.btn{cursor:pointer;letter-spacing:.02em;border:none;border-radius:50px;flex:1;max-width:140px;padding:.6rem 1rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:700;transition:all .2s}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn:active:not(:disabled){transform:scale(.96)translateY(1px)}.btn-collect{background:linear-gradient(135deg, var(--color-selected) 0%, #7c3aed 100%);color:#fff;box-shadow:0 4px 16px #8b5cf666}.btn-collect:not(:disabled):hover{box-shadow:0 6px 20px #8b5cf680}.btn-cancel{color:var(--color-text-secondary);border:1px solid var(--glass-border);background:#ffffff1a}@keyframes cellCollect{0%{opacity:1;transform:scale(1)}40%{opacity:.7;transform:scale(1.18)}to{opacity:0;transform:scale(0)}}.cell.collecting{pointer-events:none;animation:.28s cubic-bezier(.4,0,1,1) forwards cellCollect}@keyframes cellFall{0%{transform:translateY(calc(var(--fall-distance) * calc(var(--cell-size) + var(--gap)) * -1));opacity:.7}65%{transform:translateY(4px)}82%{transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.cell.falling{z-index:3;animation:.32s cubic-bezier(.34,1.4,.64,1) forwards cellFall}@keyframes cellAppear{0%{opacity:0;transform:scale(0)rotate(-15deg)}55%{opacity:1;transform:scale(1.2)rotate(4deg)}78%{transform:scale(.94)rotate(-1deg)}to{opacity:1;transform:scale(1)rotate(0)}}.cell.appearing{animation:.38s cubic-bezier(.34,1.56,.64,1) forwards cellAppear}@keyframes binBounce{0%,to{transform:scale(1)translateY(0)}40%{transform:scale(1.12)translateY(-4px)}70%{transform:scale(.96)translateY(1px)}}.cell.start{z-index:4;animation:1.5s ease-in-out infinite startPulseGlow;overflow:visible}@keyframes startPulseGlow{0%,to{box-shadow:0 4px 16px var(--color-start-glow), 0 0 0 2px #f59e0b4d}50%{box-shadow:0 4px 24px #f59e0bb3,0 0 0 4px #f59e0b66}}.cell.start .storm-icon{animation:1.5s linear infinite stormSpin;display:inline-block}.cell.start .storm-icon.vortex-absorbing{filter:brightness(1.3);animation:.3s linear infinite stormSpinFast}@keyframes stormSpinFast{0%{transform:rotate(0)scale(1.1)}to{transform:rotate(360deg)scale(1.1)}}@keyframes stormSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cell.start{font-size:calc(var(--cell-size) * .7)}.cell.start.selected{box-shadow:0 0 0 3px var(--color-selected), 0 6px 20px var(--color-selected-glow);animation:none;transform:scale(1.12)translateY(-2px)}.flying-particle{pointer-events:none;z-index:1000;filter:drop-shadow(0 2px 8px #0006);font-size:28px;transition:none;position:fixed}.cell.collecting-sequential{animation:75ms ease-in forwards cellCollectSequential;box-shadow:none!important;background:0 0!important}@keyframes cellCollectSequential{0%{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(.4)}}.cell.wildstar{background:linear-gradient(135deg,gold 0%,orange 100%);animation:1s ease-in-out infinite wildstarPulse;box-shadow:0 4px 20px #ffd70080}.cell.wildstar.collecting-sequential{animation:75ms ease-in forwards cellCollectSequential}.cell.wildstar .star-icon{animation:2s linear infinite starSpin;display:inline-block}.cell.wildstar.collecting-sequential .star-icon{animation:none}@keyframes wildstarPulse{0%,to{box-shadow:0 4px 20px #ffd70080}50%{box-shadow:0 4px 30px #ffd700cc}}@keyframes starSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cell.wildstar-spawn{animation:.6s cubic-bezier(.34,1.56,.64,1) wildstarSpawn}@keyframes wildstarSpawn{0%{opacity:0;transform:scale(0)rotate(-180deg)}50%{opacity:1;transform:scale(1.3)rotate(0)}to{opacity:1;transform:scale(1)rotate(0)}}.cell.wildstar.selected{animation:.3s ease-in-out infinite alternate wildstarSelected}@keyframes wildstarSelected{0%{box-shadow:0 0 0 3px var(--color-selected), 0 6px 20px var(--color-selected-glow);transform:scale(1.12)}to{box-shadow:0 0 0 5px var(--color-selected), 0 8px 25px var(--color-selected-glow);transform:scale(1.18)}}.bin.receiving{animation:.4s cubic-bezier(.34,1.56,.64,1) binBounceReceive}@keyframes binBounceReceive{0%,to{transform:scale(1)translateY(0)}25%{transform:scale(1.15)translateY(-6px)}50%{transform:scale(.95)translateY(2px)}75%{transform:scale(1.05)translateY(-1px)}}.skill-indicator{opacity:.3;flex-direction:column;align-items:center;width:100%;margin-top:6px;transition:opacity .3s;display:flex}.bin.has-skill .skill-indicator{opacity:1}.skill-bar{gap:3px;width:100%;margin-bottom:3px;display:flex}.skill-bar-segment{background:#ffffff1a;border-radius:3px;flex:1;height:6px;transition:background .3s;overflow:hidden}.skill-bar-segment .skill-bar-fill{border-radius:3px;width:0%;height:100%;transition:width .3s}.skill-bar-segment.filled .skill-bar-fill{width:100%}.skill-bar-segment .skill-bar-fill.kitchen{background:var(--color-kitchen);box-shadow:0 0 6px var(--color-kitchen-glow)}.skill-bar-segment .skill-bar-fill.recyclable{background:var(--color-recyclable);box-shadow:0 0 6px var(--color-recyclable-glow)}.skill-bar-segment .skill-bar-fill.hazardous{background:var(--color-hazardous);box-shadow:0 0 6px var(--color-hazardous-glow)}.skill-bar-segment .skill-bar-fill.other{background:var(--color-other);box-shadow:0 0 6px var(--color-other-glow)}.skill-label{color:var(--color-text-muted);white-space:nowrap;font-size:min(2vw,8px);font-weight:600}.skill-charge-num{color:var(--color-start);margin-left:2px;font-family:Outfit,sans-serif;font-weight:700}.bin.has-skill{cursor:pointer}.bin.has-skill:hover{border-color:var(--color-accent);background:#ffffff1a}.bin.has-skill:hover .bin-svg{transform:scale(1.08)}.bin.skills-full .skill-indicator{animation:1.5s ease-in-out infinite skillIndicatorPulse}@keyframes skillIndicatorPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.bin.skills-full .skill-bar-segment.filled .skill-bar-fill{animation:1.5s ease-in-out infinite skillBarGlow}@keyframes skillBarGlow{0%,to{filter:brightness()}50%{filter:brightness(1.3)}}.combo-skill-area{max-height:0;width:calc(7 * var(--cell-size) + 6 * var(--gap) + 2 * calc(var(--gap) * 1.5));justify-content:center;transition:max-height .4s,padding .4s;display:flex;overflow:hidden}.combo-skill-area.combo-ready{max-height:60px;padding:.3rem 0}.btn-combo{cursor:pointer;background:linear-gradient(135deg, var(--color-start) 0%, #d97706 50%, var(--color-hazardous) 100%);color:#fff;letter-spacing:.03em;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;max-width:280px;padding:12px 20px;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 20px #f59e0b66}.btn-combo:disabled{opacity:0;cursor:not-allowed;pointer-events:none}.btn-combo:not(:disabled){animation:1.5s ease-in-out infinite comboBtnPulse}.btn-combo:active:not(:disabled){transform:scale(.97)}.combo-icon{font-size:1.2rem;animation:2s linear infinite comboIconSpin;display:inline-block}@keyframes comboIconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes comboBtnPulse{0%,to{box-shadow:0 4px 20px #f59e0b66}50%{box-shadow:0 4px 30px #f59e0b99,0 0 40px #f59e0b4d}}.vortex-overlay{z-index:50;pointer-events:none;background:radial-gradient(circle,#0003 0%,#00000080 100%);border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vortex-spinner{font-size:calc(var(--cell-size) * 3);filter:drop-shadow(0 0 30px #f59e0bcc);line-height:1}.vortex-spinner.vortex-appear{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards vortexAppear}.vortex-spinner.vortex-spin{animation:.6s linear infinite vortexSpin}.vortex-spinner.vortex-disappear{animation:.4s ease-in forwards vortexDisappear}@keyframes vortexAppear{0%{opacity:0;transform:scale(0)rotate(0)}to{opacity:1;transform:scale(1.5)rotate(360deg)}}@keyframes vortexSpin{0%{transform:scale(1.5)rotate(0)}to{transform:scale(1.5)rotate(360deg)}}@keyframes vortexDisappear{0%{opacity:1;transform:scale(1.5)rotate(0)}to{opacity:0;transform:scale(0)rotate(720deg)}}.vortex-overlay.vortex-fade-out{animation:.4s ease-in forwards vortexOverlayFade}@keyframes vortexOverlayFade{0%{opacity:1}to{opacity:0}}.vortex-particle{pointer-events:none;z-index:1000;filter:drop-shadow(0 2px 6px #0006);font-size:24px;position:fixed}.settlement-content{max-width:380px}.settlement-content h2{margin-bottom:1.2rem}.settlement-summary{text-align:center;margin-bottom:1.5rem}.settlement-score{margin-bottom:.6rem}.score-label{color:var(--color-text-muted);margin-bottom:.4rem;font-size:.85rem;display:block}.score-value{background:linear-gradient(135deg, var(--color-start) 0%, var(--color-kitchen) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Outfit,sans-serif;font-size:3rem;font-weight:800}.settlement-rounds{color:var(--color-text-secondary);font-size:.9rem}.settlement-stats{margin-bottom:1.5rem}.settlement-category{border:1px solid var(--glass-border);border-radius:12px;margin-bottom:10px;overflow:hidden}.settlement-category-header{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.9rem;font-weight:600;transition:filter .2s;display:flex}.settlement-category-header:hover{filter:brightness(1.1)}.settlement-category-header:after{content:"▼";margin-left:auto;padding-left:8px;font-size:.7rem;transition:transform .2s}.settlement-category-header.expanded:after{transform:rotate(180deg)}.settlement-category-header.kitchen{background:linear-gradient(135deg, var(--color-kitchen) 0%, #16a34a 100%)}.settlement-category-header.recyclable{background:linear-gradient(135deg, var(--color-recyclable) 0%, #2563eb 100%)}.settlement-category-header.hazardous{background:linear-gradient(135deg, var(--color-hazardous) 0%, #dc2626 100%)}.settlement-category-header.other{background:linear-gradient(135deg, var(--color-other) 0%, #4b5563 100%)}.settlement-category-items{background:#ffffff08;flex-wrap:wrap;gap:6px;max-height:0;padding:0 12px;transition:max-height .3s,padding .3s;display:flex;overflow:hidden}.settlement-category-items.expanded{max-height:200px;padding:10px 12px;overflow-y:auto}.settlement-item{color:var(--color-text-secondary);background:#ffffff14;border-radius:8px;padding:4px 10px;font-size:.75rem}.settlement-actions{justify-content:center;gap:10px;display:flex}.btn-settlement{border-radius:12px;flex:1;max-width:150px;padding:12px 16px;font-size:.9rem}.btn-restart{background:linear-gradient(135deg, var(--color-kitchen) 0%, #059669 100%);color:#fff}.btn-share{background:linear-gradient(135deg, var(--color-recyclable) 0%, #1d4ed8 100%);color:#fff}.btn-share:disabled{display:none}.celebration-container{pointer-events:none;z-index:999;position:fixed;inset:0;overflow:hidden}.celebration-star{opacity:0;font-size:20px;animation:1.5s ease-in forwards starFall;position:absolute}@keyframes starFall{0%{opacity:1;transform:translateY(-100px)rotate(0)scale(1)}to{opacity:0;transform:translateY(100vh)rotate(720deg)scale(.5)}}.celebration-star:nth-child(odd){animation-duration:1.8s}.celebration-star:nth-child(3n){animation-duration:2s}.board.solid-color-mode .cell:not(.start):not(.wildstar){font-size:0}.board.solid-color-mode .cell:not(.start) .storm-icon,.board.solid-color-mode .cell:not(.wildstar) .star-icon{display:none}
