:root{--grove-blue:#2b579a;--forest-green:#4a7c59;--warm-amber:#d4943a;--soft-brown:#8b5e3c;--morning-mist:#f0f7ff;--dawn-sky:#e8f4fd;--cloud-white:#fff;--deep-charcoal:#333;--soft-grey:#666;--success-green:#2e8b57;--gentle-wrong:#b8860b;--font-display:"Nunito", "Quicksand", sans-serif;--font-body:"Inter", "Source Sans 3", sans-serif;--radius-sm:14px;--radius-md:18px;--radius-lg:24px;--radius-round:9999px;--shadow-soft:0 2px 8px #0000000f;--shadow-card:0 4px 12px #00000014;--shadow-elevated:0 8px 24px #0000001f}:root[data-low-stim=true]{--morning-mist:#f5f5f0;--dawn-sky:#eeeeea;--grove-blue:#5a7aa0;--forest-green:#7a9a80;--warm-amber:#c4a870;--soft-brown:#a08070}:root[data-low-stim=true] *{transition-duration:50ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100vh;margin:0;padding:0;position:fixed;overflow:hidden}body{font-family:var(--font-body);-webkit-tap-highlight-color:transparent;color:var(--deep-charcoal);background:var(--morning-mist);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--deep-charcoal);line-height:1.3}button{font-family:var(--font-display);-webkit-tap-highlight-color:transparent;cursor:pointer;border-radius:var(--radius-lg);min-width:44px;min-height:44px;transition:all .15s}button:hover{opacity:.92}button:active{transform:scale(.97)}button:focus-visible,input:focus-visible{outline:3px solid var(--warm-amber);outline-offset:2px}input[type=text],input[type=password],input[type=email],input[type=number]{font-family:var(--font-body);border-radius:var(--radius-sm);min-height:44px;font-size:16px}input[type=range]{-webkit-appearance:none;background:#ddd;border-radius:5px;outline:none;width:100%;height:8px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--grove-blue);cursor:pointer;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 4px #0003}input[type=range]::-moz-range-thumb{background:var(--grove-blue);cursor:pointer;border:none;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 4px #0003}.app-container{background:var(--cloud-white);flex-direction:column;width:100%;height:100%;display:flex}.card{background:var(--cloud-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px}.progress-bar{background:#e8e8e8;border-radius:6px;height:12px;overflow:hidden}.progress-bar-fill{border-radius:6px;height:100%;transition:width .4s}.blend-image{mix-blend-mode:multiply}.game-option-btn{transition:transform .2s,filter .2s,box-shadow .2s!important}.game-option-btn:hover{filter:brightness(.97);transform:scale(1.03);box-shadow:0 4px 12px #0000001a}.game-option-btn:active{transform:scale(.97)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes growIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes popIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes levelUp{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 5px #ffd70080}50%{box-shadow:0 0 20px #ffd700cc}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=480px){body{font-size:14px}button{min-height:48px}}@media (width>=768px){body{font-size:17px}}@media (prefers-contrast:high){:root{--deep-charcoal:#111;--soft-grey:#444;--grove-blue:#1a3a6e}}
