@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--christmas-red: #C41E3A;--christmas-red-dark: #9B1B30;--christmas-red-light: #E63946;--christmas-green: #165B33;--christmas-green-dark: #0E3B22;--christmas-green-light: #1D7A45;--christmas-gold: #D4AF37;--christmas-gold-light: #F4D03F;--christmas-gold-glow: rgba(212, 175, 55, .6);--snow-white: #FFFAFA;--frost-blue: #A8D5E2;--holly-berry: #BB2528;--pine-needle: #2D5A27;--bg-deep: #0A0A14;--bg-dark: #121220;--bg-surface: #1A1A2E;--bg-elevated: #252538;--glass-bg: rgba(18, 18, 32, .85);--glass-bg-light: rgba(26, 26, 46, .75);--glass-border: rgba(212, 175, 55, .15);--glass-border-strong: rgba(212, 175, 55, .3);--text-primary: #FFFAFA;--text-secondary: #B8B8C8;--text-muted: #6B6B7B;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .4);--shadow-strong: 0 8px 40px rgba(0, 0, 0, .6);--glow-gold: 0 0 20px rgba(212, 175, 55, .3);--glow-red: 0 0 20px rgba(196, 30, 58, .3);--glow-green: 0 0 20px rgba(22, 91, 51, .3);--color-primary: var(--christmas-red);--color-secondary: var(--christmas-green);--color-gold: var(--christmas-gold);--color-gold-glow: var(--christmas-gold-glow);--color-bg: var(--bg-deep);--color-surface: var(--bg-surface);--color-text: var(--text-primary);--color-text-muted: var(--text-secondary);--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--bg-deep);background-image:radial-gradient(ellipse at 20% 20%,rgba(196,30,58,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(22,91,51,.08) 0%,transparent 50%),radial-gradient(circle at center,var(--bg-dark) 0%,var(--bg-deep) 100%);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;min-height:100vh}button{cursor:pointer;border:none;font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--christmas-red) 0%,var(--christmas-red-dark) 100%);color:var(--snow-white);padding:14px 28px;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:1.5px;box-shadow:0 4px 15px #c41e3a66,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-primary: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 ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #c41e3a80,inset 0 1px #ffffff26;filter:brightness(1.1)}.btn-primary:hover:before{left:100%}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:linear-gradient(135deg,var(--christmas-green) 0%,var(--christmas-green-dark) 100%);color:var(--snow-white);padding:14px 28px;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:1.5px;box-shadow:0 4px 15px #165b3366;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #165b3380;filter:brightness(1.1)}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft)}.title-gradient{font-family:var(--font-display);background:linear-gradient(135deg,var(--christmas-gold-light) 0%,var(--christmas-gold) 50%,var(--christmas-red-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-strong)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0003;border-radius:3px}::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#d4af3780}input[type=number]{background:var(--bg-dark);border:2px solid var(--glass-border);color:var(--text-primary);font-family:var(--font-body);transition:border-color .3s ease,box-shadow .3s ease}input[type=number]:focus{outline:none;border-color:var(--christmas-gold);box-shadow:0 0 0 3px #d4af3726}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #d4af374d}50%{box-shadow:0 0 40px #d4af3780}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.game-layout{display:flex;height:100vh;width:100vw;overflow:hidden;background:transparent}.board-container{flex:1;position:relative;display:flex;justify-content:center;align-items:center;height:100%;width:100%}.controls-container{width:320px;height:100vh;padding:24px;display:flex;flex-direction:column;z-index:10}.scene{width:100px;height:100px;perspective:600px;display:flex;justify-content:center;align-items:center}.cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:translateZ(-50px);transition:transform 1s cubic-bezier(.2,.8,.2,1.2)}.cube__face{position:absolute;width:100px;height:100px;border:4px solid #b91c1c;line-height:100px;font-size:40px;font-weight:700;color:#fff;text-align:center;background:#dc2626f2;border-radius:16px;box-shadow:inset 0 0 20px #00000080;display:flex;justify-content:center;align-items:center}.cube__face--front{transform:rotateY(0) translateZ(50px)}.cube__face--right{transform:rotateY(90deg) translateZ(50px)}.cube__face--back{transform:rotateY(180deg) translateZ(50px)}.cube__face--left{transform:rotateY(-90deg) translateZ(50px)}.cube__face--top{transform:rotateX(90deg) translateZ(50px)}.cube__face--bottom{transform:rotateX(-90deg) translateZ(50px)}.is-spinning{animation:spinDice .6s infinite linear}@keyframes spinDice{0%{transform:rotateX(0) rotateY(0) rotate(0)}to{transform:rotateX(720deg) rotateY(360deg) rotate(360deg)}}.dot{display:block;width:16px;height:16px;border-radius:50%;background-color:#fff;box-shadow:inset 0 1px 3px #0000004d}.dot-center{align-self:center;justify-self:center}.cube__face{display:flex;justify-content:space-around;padding:10px}.cube__face--front{justify-content:center;align-items:center}.cube__face--top{justify-content:space-between}.cube__face--top .dot:nth-child(1){align-self:flex-start}.cube__face--top .dot:nth-child(2){align-self:flex-end}.cube__face--right{justify-content:space-between}.cube__face--right .dot:nth-child(1){align-self:flex-start}.cube__face--right .dot:nth-child(2){align-self:center}.cube__face--right .dot:nth-child(3){align-self:flex-end}.cube__face--left{justify-content:space-between}.cube__face--left .dot-column{display:flex;flex-direction:column;justify-content:space-between;height:100%}.cube__face--bottom{justify-content:space-between}.cube__face--bottom .dot-column{display:flex;flex-direction:column;justify-content:space-between;height:100%}.cube__face--bottom .dot-center{align-self:center}.cube__face--back{justify-content:space-between}.cube__face--back .dot-column{display:flex;flex-direction:column;justify-content:space-between;height:100%}
