html,body,#root{overflow-x:hidden;max-width:100vw}img{max-width:100%;height:auto}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 2s infinite}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b880}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#47556980}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#475569b3}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.glass{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:#0003;border:1px solid rgba(255,255,255,.1)}*{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.focus-ring:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px #3b82f680}.btn-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-hover:hover{transform:translateY(-1px);box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.btn-hover:active{transform:translateY(0)}.snow-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.christmas-glow{box-shadow:0 0 20px #3b82f64d}.dark .christmas-glow{box-shadow:0 0 20px #93c5fd33}@keyframes snowfall-advanced{0%{transform:translateY(-100vh) translate(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh) translate(200px) rotate(360deg);opacity:0}}@keyframes snowflake-sway{0%,to{transform:translate(0)}50%{transform:translate(20px)}}@keyframes snowflake-twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes snowflake-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.holiday-button{background:linear-gradient(135deg,#ef4444,#dc2626);transition:all .3s ease;position:relative;overflow:hidden}.holiday-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.holiday-button:hover:before{left:100%}.holiday-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.christmas-header{background:linear-gradient(135deg,#059669,#047857,#dc2626);position:relative}.christmas-header:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="white" opacity="0.3"><animate attributeName="opacity" values="0.3;1;0.3" dur="2s" repeatCount="indefinite"/></circle><circle cx="80" cy="30" r="1.5" fill="white" opacity="0.4"><animate attributeName="opacity" values="0.4;1;0.4" dur="3s" repeatCount="indefinite"/></circle><circle cx="50" cy="70" r="1" fill="white" opacity="0.5"><animate attributeName="opacity" values="0.5;1;0.5" dur="1.5s" repeatCount="indefinite"/></circle></svg>') repeat;pointer-events:none}@media(max-width:768px){.snow-container canvas{opacity:.8}}@media(prefers-reduced-motion:reduce){.snow-container canvas{display:none}}@keyframes christmas-lights{0%,to{opacity:1;filter:brightness(1)}25%{opacity:.7;filter:brightness(1.3) hue-rotate(90deg)}50%{opacity:.4;filter:brightness(.8) hue-rotate(180deg)}75%{opacity:.8;filter:brightness(1.1) hue-rotate(270deg)}}.christmas-light{animation:christmas-lights 3s ease-in-out infinite}.christmas-light:nth-child(2){animation-delay:.5s}.christmas-light:nth-child(3){animation-delay:1s}.christmas-light:nth-child(4){animation-delay:1.5s}.christmas-light:nth-child(5){animation-delay:2s}.christmas-light:nth-child(6){animation-delay:2.5s}.snowflake{position:absolute;color:#fff;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:1em;animation-name:snowfall-advanced;animation-timing-function:ease-in-out;animation-iteration-count:infinite;filter:drop-shadow(0 0 3px rgba(255,255,255,.5))}.snowflake.small{font-size:.6em;animation-duration:12s;animation-name:snowfall-advanced,snowflake-sway}.snowflake.medium{font-size:1em;animation-duration:15s;animation-name:snowfall-advanced,snowflake-rotate}.snowflake.large{font-size:1.4em;animation-duration:18s;animation-name:snowfall-advanced,snowflake-twinkle}.snowflake.crystal{animation-name:snowfall-advanced,snowflake-rotate,snowflake-twinkle;filter:drop-shadow(0 0 5px rgba(147,197,253,.8))}.holiday-gradient{background:linear-gradient(135deg,#ef44440d,#22c55e0d,#3b82f60d,#a855f70d,#ef44440d);background-size:400% 400%;animation:holiday-gradient-shift 10s ease infinite}@keyframes holiday-gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.snow-toggle-active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 15px #3b82f666;position:relative;overflow:hidden}.snow-toggle-active:before{content:"❄️";position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:12px;animation:snowfall-button 3s linear infinite}@keyframes snowfall-button{0%{top:-20px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.snow-toggle-active:hover{box-shadow:0 6px 20px #3b82f699;transform:translateY(-1px)}.snow-settings-panel{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.dark .snow-settings-panel{background:#1e293bf2;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.intensity-indicator{position:relative;overflow:hidden}.intensity-indicator:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s}.intensity-indicator:hover:after{transform:translate(100%)}
