:root{--charcoal:#0d0d1a;--deep:#1a1a2e;--cream:#f0e6d3;--smoke:#3a3a5c;--accent:#f5a623;--accent2:#2d6a4f;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Source Sans 3',sans-serif;background:var(--charcoal);color:var(--cream);min-height:100vh;overflow-x:hidden;}
h1,h2,h3,h4,.cinzel{font-family:'Cinzel',serif;}
.text-cream{color:var(--cream);}
.accent-text{color:var(--accent);}
.accent-border{border-color:var(--accent);}
.btn-primary{background:linear-gradient(90deg,#b91c1c,var(--accent));}
.btn-primary:hover{filter:brightness(1.15);}
.step-on{background:var(--accent);color:#111;}
.chip{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid #f0e6d333;background:#ffffff0a;color:var(--cream);}
.chip-on{background:var(--accent);color:#111;border-color:var(--accent);}
.tag-theme,.tag-island{padding:0 4px;border-radius:4px;background:#ffffff14;}
.special-evt{background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-left-width:4px;border-left-color:var(--accent);}
.evt-camp{border-left-color:#2d6a4f88}.evt-alliance{border-left-color:#3b82f688}.evt-immunity{border-left-color:#f5a623aa}.evt-weather{border-left-color:var(--accent2)}.evt-reward{border-left-color:#14b8a6aa}.evt-returnee{border-left-color:#facc15}.evt-newbie{border-left-color:#4ade80}.evt-host{border-left-color:#ffffff33}.evt-idol_search{border-left-color:#7c3aed66}
@keyframes flicker{0%,100%{text-shadow:0 0 10px #e94560,0 0 40px #c73e1d,0 0 80px var(--accent);}50%{opacity:.95;text-shadow:0 0 5px #e94560,0 0 20px #c73e1d,0 0 60px var(--accent);}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 20px rgba(233,69,96,.4);}50%{box-shadow:0 0 34px rgba(233,69,96,.7),0 0 80px rgba(233,69,96,.2);}}
@keyframes torch-snuff{0%{opacity:1;}100%{opacity:.35;filter:grayscale(1) brightness(.4);}}
@keyframes slide-up{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:1;}100%{transform:translateY(105vh) rotate(720deg);opacity:0;}}
@keyframes fade-in{from{opacity:0;}to{opacity:1;}}
@keyframes dramatic-reveal{0%{opacity:0;transform:scale(.85);filter:blur(10px);}100%{opacity:1;transform:scale(1);filter:blur(0);}}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@keyframes smoke{0%{opacity:0;transform:translateY(10px) scale(.6);}100%{opacity:1;transform:translateY(-4px) scale(1.1);}}
.animate-slide-up{animation:slide-up .5s ease-out both;}
.animate-fade-in{animation:fade-in .4s ease-out both;}
.animate-dramatic{animation:dramatic-reveal .8s ease-out both;}
.animate-flicker{animation:flicker 2s ease-in-out infinite;}
.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite;}
.animate-snuff{animation:torch-snuff 1.5s ease-out forwards;}
.animate-bob{display:inline-block;animation:bob 2.4s ease-in-out infinite;}
.smoke{animation:smoke 1.2s ease-out both;}
.confetti-piece{position:fixed;top:-10px;animation:confetti-fall linear forwards;z-index:9999;}
.bg-cinematic{background:radial-gradient(ellipse at 50% 110%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%),radial-gradient(ellipse at 10% 0%,color-mix(in srgb,var(--accent2) 35%,transparent),transparent 50%),linear-gradient(180deg,#0d0d1a 0%,#1a1a2e 40%,#140d08 100%);background-attachment:fixed;}
input[type="range"]{-webkit-appearance:none;appearance:none;height:6px;background:var(--smoke);border-radius:3px;outline:none;}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;border:2px solid #fff3;}
input[type="text"],input[type="number"],select,textarea{background:rgba(58,58,92,.5);border:1px solid rgba(240,230,211,.2);color:var(--cream);padding:8px 12px;border-radius:6px;font-family:'Source Sans 3',sans-serif;outline:none;}
select option{background:#1a1a2e;}
input:focus,select:focus{border-color:var(--accent);}
input[type="checkbox"],input[type="radio"]{accent-color:var(--accent);width:16px;height:16px;}
input[type="color"]{-webkit-appearance:none;border:2px solid rgba(240,230,211,.3);border-radius:6px;width:40px;height:40px;cursor:pointer;padding:2px;background:transparent;}
input[type="color"]::-webkit-color-swatch-wrapper{padding:0;}
input[type="color"]::-webkit-color-swatch{border:none;border-radius:4px;}
::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:var(--charcoal);}::-webkit-scrollbar-thumb{background:var(--smoke);border-radius:4px;}
.vote-reveal{display:inline-block;padding:4px 12px;margin:2px;border-radius:4px;font-weight:700;animation:slide-up .3s ease-out both;}