body{margin:0;background:#fafafa}:root{--oh-text: #111;--oh-app-bg: linear-gradient(180deg, #ffffff 0%, #f6f7ff 100%);--oh-panel-grad: linear-gradient(135deg, #fff 0%, #f7fbff 45%, #fff7fb 100%);--oh-card-grad: linear-gradient(180deg, #ffffff 0%, #fbfbff 100%);--oh-border: rgba(0,0,0,.1);--oh-badge-bg: rgba(255,255,255,.92);--oh-glow: rgba(0,0,0,.08)}html,body{transition:background .25s ease,color .25s ease}body{background:var(--oh-app-bg);color:var(--oh-text)}html[data-oh-theme=forest]{--oh-text: #0e1a12;--oh-app-bg: radial-gradient(circle at 10% 10%, rgba(140, 255, 190, .25), transparent 40%), radial-gradient(circle at 90% 20%, rgba(120, 220, 255, .2), transparent 45%), linear-gradient(180deg, #ffffff 0%, #f2fff6 100%);--oh-panel-grad: linear-gradient(135deg, #ffffff 0%, rgba(200,255,225,.45) 45%, rgba(240,250,255,.6) 100%);--oh-card-grad: linear-gradient(180deg, #ffffff 0%, #f7fff9 100%)}html[data-oh-theme=tower]{--oh-text: #12121b;--oh-app-bg: radial-gradient(circle at 20% 15%, rgba(190, 140, 255, .22), transparent 42%), radial-gradient(circle at 80% 25%, rgba(120, 220, 255, .18), transparent 48%), linear-gradient(180deg, #ffffff 0%, #f7f3ff 100%);--oh-panel-grad: linear-gradient(135deg, #ffffff 0%, rgba(225,210,255,.55) 45%, rgba(240,250,255,.55) 100%);--oh-card-grad: linear-gradient(180deg, #ffffff 0%, #fbf7ff 100%)}html[data-oh-theme=ice]{--oh-text: #0b1a22;--oh-app-bg: radial-gradient(circle at 15% 12%, rgba(120, 220, 255, .25), transparent 45%), radial-gradient(circle at 85% 18%, rgba(180, 255, 245, .18), transparent 50%), linear-gradient(180deg, #ffffff 0%, #f2fbff 100%);--oh-panel-grad: linear-gradient(135deg, #ffffff 0%, rgba(210,245,255,.55) 45%, rgba(235,255,250,.5) 100%);--oh-card-grad: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%)}@keyframes mascotWiggle{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(-6deg) translateY(-3px)}}@keyframes shakeX{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes sparkleFall{0%{transform:translateY(-10px) scale(.9);opacity:0}25%{opacity:1}to{transform:translateY(140px) scale(1.2);opacity:0}}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(320px) rotate(260deg);opacity:0}}@keyframes checkpoint-confetti-fall{0%{transform:translateY(0) rotate(0);opacity:.95}to{transform:translateY(520px) rotate(260deg);opacity:0}}
