@import url("https://fonts.googleapis.com/css2?family=Titan+One&family=Baloo+Tamma+2:wght@600;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap");:root{--bg:#14161f;--surface:#1d2030;--surface-raised:#262a3d;--border:#33374d;--text:#ecedf3;--text-muted:#9096ac;--accent:#e8a33d;--accent-text:#1a1408;--clay:#d9705f;--rb-teal:#75d21b;--rb-amber:#ff8614;--rb-coral:#f33b5a;--rb-purple:#22aaeb;--rb-blue:#0fd6a3;--rb-magenta:#884af8;--rb-pink:#f33bce;--rb-green:#f6e702;--app-rose:#f33b5a;--app-gold:#ff8614;--app-mint:#f6e702;--app-azure:#75d21b;--app-violet:#22aaeb;--rainbow-gradient:linear-gradient(90deg,var(--rb-coral),var(--rb-amber),var(--rb-green),var(--rb-teal),var(--rb-blue),var(--rb-purple),var(--rb-magenta),var(--rb-pink));--rainbow-gradient-vertical:linear-gradient(180deg,var(--rb-coral),var(--rb-amber),var(--rb-green),var(--rb-teal),var(--rb-blue),var(--rb-purple),var(--rb-magenta),var(--rb-pink));--rainbow-gradient-header:linear-gradient(90deg,rgba(243,59,90,.8),rgba(255,134,20,.8),rgba(246,231,2,.8),rgba(117,210,27,.8),rgba(15,214,163,.8),rgba(34,170,235,.8),rgba(136,74,248,.8),rgba(243,59,206,.8));--font-hero:"Titan One",sans-serif;--font-display:"Baloo Tamma 2",sans-serif;--font-body:"IBM Plex Sans",sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-feature-settings:"tnum" 1}a{color:inherit}button{font-family:inherit}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rainbow-text{background:var(--rainbow-gradient);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(3px 4px 4px rgba(0,0,0,.7))}.rainbow-bar,.rainbow-text{animation:rainbow-shift 2s ease-in-out infinite alternate}.rainbow-bar{height:4px;border-radius:2px;background:var(--rainbow-gradient);background-size:250% 100%;border:none}@keyframes rainbow-outline-cycle{0%{color:#e8524a;border-color:#e8524a}16%{color:#e8c93d;border-color:#e8c93d}33%{color:#5cc26b;border-color:#5cc26b}50%{color:#3dc2a8;border-color:#3dc2a8}66%{color:#3d8fe8;border-color:#3d8fe8}83%{color:#8f6fe8;border-color:#8f6fe8}to{color:#e85fa8;border-color:#e85fa8}}.rainbow-outline{animation:rainbow-outline-cycle 3s linear infinite}@keyframes rainbow-top-border-cycle{0%{border-top-color:#e8524a}16%{border-top-color:#e8c93d}33%{border-top-color:#5cc26b}50%{border-top-color:#3dc2a8}66%{border-top-color:#3d8fe8}83%{border-top-color:#8f6fe8}to{border-top-color:#e85fa8}}.rainbow-outline-top{animation:rainbow-top-border-cycle 3s linear infinite}.rainbow-topbar{position:fixed;top:0;left:0;right:0;height:5px;z-index:100;background:var(--rainbow-gradient);background-size:250% 100%;animation:rainbow-shift 2s ease-in-out infinite alternate;box-shadow:0 0 12px rgba(232,95,168,.5),0 0 20px rgba(61,143,232,.35)}@keyframes rainbow-shift{0%{background-position:0 50%}to{background-position:100% 50%}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--rainbow-gradient);border-radius:6px;border:2px solid var(--surface);background-clip:padding-box}*{scrollbar-color:var(--rb-purple) var(--surface);scrollbar-width:thin}.app-tile{position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;background:linear-gradient(135deg,var(--tile-color) 0,color-mix(in srgb,var(--tile-color) 65%,#000) 100%);box-shadow:inset 0 3px 0 hsla(0,0%,100%,.45),inset 0 -8px 14px rgba(0,0,0,.4),0 4px 0 rgba(0,0,0,.25),0 10px 20px rgba(0,0,0,.35)}.app-tile:before{top:0;height:30%;background:linear-gradient(180deg,#fff 0,hsla(0,0%,100%,.25) 30%,hsla(0,0%,100%,0))}.app-tile:after,.app-tile:before{content:"";position:absolute;left:0;right:0;border-radius:inherit;pointer-events:none}.app-tile:after{bottom:0;height:20%;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.35))}.app-tile-stripe{position:relative;z-index:1;height:4px;width:100%;background:color-mix(in srgb,var(--stripe-color) 45%,var(--surface))}.app-tile-window .app-tile-stripe,.app-tile-window-h .app-tile-stripe{background:transparent}.app-tile:hover{transform:translateY(-6px) scale(1.02);animation:app-tile-hover-glow 2s linear infinite}.app-tile:hover .app-tile-stripe{background-image:var(--rainbow-gradient);background-size:250% 100%;animation:rainbow-shift 2s ease-in-out infinite alternate}.app-tile-window{background-image:var(--rainbow-gradient-vertical);background-size:100% var(--tile-window-height);background-position:50% var(--tile-window-offset);animation:rainbow-window-shift 4s ease-in-out infinite alternate}@keyframes rainbow-window-shift{0%{background-position:50% var(--tile-window-offset)}to{background-position:50% calc(var(--tile-window-offset) - 220px)}}.app-tile-window:hover{animation:rainbow-window-shift 4s ease-in-out infinite alternate,app-tile-hover-glow 2s linear infinite}.app-tile-window-h{background-image:var(--rainbow-gradient);background-size:var(--tile-window-width) 100%;background-position:var(--tile-window-offset-h) 50%;animation:rainbow-window-shift-h 4s ease-in-out infinite alternate}@keyframes rainbow-window-shift-h{0%{background-position:var(--tile-window-offset-h) 50%}to{background-position:calc(var(--tile-window-offset-h) - 220px) 50%}}.app-tile-window-h:hover{animation:rainbow-window-shift-h 4s ease-in-out infinite alternate,app-tile-hover-glow 2s linear infinite}.meal-tab-active-fill{background-image:var(--rainbow-gradient);background-size:250% 100%;animation:rainbow-shift 2s ease-in-out infinite alternate;border-top-left-radius:8px;border-top-right-radius:8px;color:#14161f}.meal-tab-active-fill .meal-tab-date{color:rgba(20,22,31,.7)}.meal-tab-date{color:var(--text-muted)}@keyframes app-tile-hover-glow{0%{box-shadow:inset 0 3px 0 hsla(0,0%,100%,.45),inset 0 -8px 14px rgba(0,0,0,.4),0 14px 34px rgba(232,82,74,.5),0 0 26px rgba(232,82,74,.4)}16%{box-shadow:inset 0 3px 0 hsla(0,0%,100%,.45),inset 0 -8px 14px rgba(0,0,0,.4),0 14px 34px rgba(232,201,61,.5),0 0 26px rgba(232,201,61,.4)}33%{box-shadow:inset 0 3px 0 hsla(0,0%,100%,.45),inset 0 -8px 14px rgba(0,0,0,.4),0 14px 34px rgba(92,194,107,.5),0 0 26px rgba(92,194,107,.4)}50%{box-shadow:inset 0 3px 0 hsla(0,0%,100%,.45),inset 0 -8px 14px rgba(0,0,0,.4),0 14px 34px rgba(61,194,168,.5),0 0 26px rgba(61,194,168,.4)}66%{box-shadow:inset 0 3px 0 hsla(0,0%,100%,.45),inset 0 -8px 14px rgba(0,0,0,.4),0 14px 34px rgba(61,143,232,.5),0 0 26px rgba(61,143,232,.4)}83%{box-shadow:inset 0 3px 0 hsla(0,0%,100%,.45),inset 0 -8px 14px rgba(0,0,0,.4),0 14px 34px rgba(143,111,232,.5),0 0 26px rgba(143,111,232,.4)}to{box-shadow:inset 0 3px 0 hsla(0,0%,100%,.45),inset 0 -8px 14px rgba(0,0,0,.4),0 14px 34px rgba(232,95,168,.5),0 0 26px rgba(232,95,168,.4)}}@keyframes rainbow-glow-cycle{0%{box-shadow:0 14px 34px rgba(232,82,74,.5),0 0 26px rgba(232,82,74,.4)}16%{box-shadow:0 14px 34px rgba(232,201,61,.5),0 0 26px rgba(232,201,61,.4)}33%{box-shadow:0 14px 34px rgba(92,194,107,.5),0 0 26px rgba(92,194,107,.4)}50%{box-shadow:0 14px 34px rgba(61,194,168,.5),0 0 26px rgba(61,194,168,.4)}66%{box-shadow:0 14px 34px rgba(61,143,232,.5),0 0 26px rgba(61,143,232,.4)}83%{box-shadow:0 14px 34px rgba(143,111,232,.5),0 0 26px rgba(143,111,232,.4)}to{box-shadow:0 14px 34px rgba(232,95,168,.5),0 0 26px rgba(232,95,168,.4)}}.rainbow-header-row{background-image:var(--rainbow-gradient-header);background-color:var(--surface-raised);background-size:300% 100%;animation:rainbow-shift 3s ease-in-out infinite alternate}.btn-rainbow{background-image:var(--rainbow-gradient);background-size:300% 100%;animation:rainbow-shift 2.5s ease-in-out infinite alternate;color:#14161f;font-weight:700;border:none;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;box-shadow:0 3px 0 rgba(0,0,0,.35),0 5px 12px rgba(0,0,0,.3)}.btn-rainbow:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:0 5px 0 rgba(0,0,0,.35),0 8px 18px rgba(0,0,0,.3),0 0 16px rgba(232,95,168,.55),0 0 28px rgba(61,143,232,.4)}.btn-rainbow:active:not(:disabled){transform:translateY(2px) scale(.98);box-shadow:0 1px 0 rgba(0,0,0,.35),0 2px 5px rgba(0,0,0,.3)}.btn-rainbow:disabled{opacity:.6;cursor:default;animation-play-state:paused;box-shadow:none}.game-row{background:var(--row-bg);transition:background .15s ease}.game-row:hover{background:var(--row-bg-hover)}.icon-btn{transition:transform .15s ease,box-shadow .15s ease}.icon-btn:hover:not(:disabled){transform:scale(1.15);box-shadow:0 0 10px currentColor}.winner-modal-card{animation:rainbow-glow-cycle 2s linear infinite}@keyframes wheel-pulse-glow{0%,to{opacity:.5}50%{opacity:1}}.wheel-glow-idle{animation:wheel-pulse-glow 3s ease-in-out infinite}.no-spinner::-webkit-inner-spin-button,.no-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.no-spinner{-moz-appearance:textfield}.rng-toggle-track{background:var(--surface-raised);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.rng-toggle-thumb{background:var(--text-muted)}.rng-toggle-input:checked+.rng-toggle-track{background-image:var(--rainbow-gradient);background-size:250% 100%;border-color:transparent;animation:rainbow-shift 2s ease-in-out infinite alternate,rainbow-glow-cycle 2s linear infinite}.rng-toggle-input:checked+.rng-toggle-track .rng-toggle-thumb{transform:translateX(24px);background:#0d1a10}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.meal-tabs-scroll{scrollbar-width:none;-ms-overflow-style:none}.meal-tabs-scroll::-webkit-scrollbar{display:none}.tile-title-shadow{filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)) drop-shadow(0 2px 6px rgba(0,0,0,.4))}.audio-controls .volume-slider-collapse{opacity:0;transform:scaleX(.2) translateX(24px);transform-origin:right center;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.audio-controls:hover .volume-slider-collapse{opacity:1;transform:scaleX(1) translateX(0);pointer-events:auto}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(100vh) translateX(var(--confetti-drift,0)) rotate(var(--confetti-rotate,2turn));opacity:0}}