:root{--red: #C8102E;--blue: #0A2E6D;--gold: #C9A84C;--gold2: #E8C060;--black: #000000;--dark: #06050d;--font-display: "Bebas Neue", "Impact", sans-serif;--font-prestige:"Cinzel", "Georgia", serif;--font-body: "Montserrat", "Arial", sans-serif;--ease-cin: cubic-bezier(.16, 1, .3, 1);--glow-gold: 0 0 20px rgba(201,168,76,.55), 0 0 60px rgba(201,168,76,.25);--glow-gold2: 0 0 35px rgba(232,192,96,.75), 0 0 90px rgba(232,192,96,.35);--glow-white: 0 0 40px rgba(255,255,255,.35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);background:radial-gradient(ellipse 65% 55% at 12% 18%,rgba(200,16,46,.14) 0%,transparent 55%),radial-gradient(ellipse 65% 55% at 88% 82%,rgba(10,46,109,.18) 0%,transparent 55%),radial-gradient(ellipse 80% 70% at 50% 50%,#1e183ae6,#0b0918);min-height:100vh;color:#f0eefa;overflow-x:hidden;-webkit-font-smoothing:antialiased;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:55%;height:100vh;background:linear-gradient(145deg,rgba(200,16,46,.32) 0%,rgba(200,16,46,.1) 40%,transparent 70%);clip-path:polygon(0 0,80% 0,50% 100%,0 100%);pointer-events:none;z-index:0;filter:blur(32px);animation:beamPulse 14s ease-in-out infinite alternate}body:after{content:"";position:fixed;top:0;right:0;width:55%;height:100vh;background:linear-gradient(215deg,rgba(10,46,109,.36) 0%,rgba(10,46,109,.12) 40%,transparent 70%);clip-path:polygon(20% 0,100% 0,100% 100%,50% 100%);pointer-events:none;z-index:0;filter:blur(32px);animation:beamPulse 11s ease-in-out infinite alternate-reverse}@keyframes beamPulse{0%{opacity:.65}to{opacity:1}}.intro-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:300;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.intro-shake{animation:screenShake .42s cubic-bezier(.36,.07,.19,.97) both}@keyframes screenShake{10%,90%{transform:translate3d(-4px,2px,0)}20%,80%{transform:translate3d(5px,-2px,0)}30%,50%,70%{transform:translate3d(-4px,3px,0)}40%,60%{transform:translate3d(5px,-2px,0)}}.scanlines{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.048) 2px,rgba(0,0,0,.048) 4px);pointer-events:none;z-index:50}.intro-beam-red{position:absolute;top:0;left:0;width:55%;height:100%;background:linear-gradient(148deg,rgba(200,16,46,.65) 0%,rgba(200,16,46,.2) 38%,transparent 65%);clip-path:polygon(0 0,70% 0,40% 100%,0 100%);filter:blur(24px);pointer-events:none;animation:beamSway 9s ease-in-out infinite alternate;transform-origin:top left}.intro-beam-blue{position:absolute;top:0;right:0;width:55%;height:100%;background:linear-gradient(212deg,rgba(10,46,109,.65) 0%,rgba(10,46,109,.2) 38%,transparent 65%);clip-path:polygon(30% 0,100% 0,100% 100%,60% 100%);filter:blur(24px);pointer-events:none;animation:beamSway 12s ease-in-out infinite alternate-reverse;transform-origin:top right}.intro-beam-center{position:absolute;top:-10%;left:50%;transform:translate(-50%);width:380px;height:110vh;background:linear-gradient(180deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,.025) 35%,transparent 70%);clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);pointer-events:none;filter:blur(8px)}@keyframes beamSway{0%{opacity:.65;transform:rotate(0) scaleX(1)}30%{opacity:1;transform:rotate(3deg) scaleX(1.08)}65%{opacity:.8;transform:rotate(-1.5deg) scaleX(.97)}to{opacity:.95;transform:rotate(2.5deg) scaleX(1.05)}}.dust-field{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.dust{position:absolute;background:#ffffffbf;border-radius:50%;animation:dustDrift linear infinite}@keyframes dustDrift{0%{transform:translateY(20px) translate(0);opacity:0}15%{opacity:.55}85%{opacity:.2}to{transform:translateY(-130px) translate(18px);opacity:0}}.intro-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:24px;max-width:780px;width:100%}.crest-outer{position:relative;width:clamp(180px,24vw,280px);height:clamp(180px,24vw,280px);margin-bottom:40px;display:flex;align-items:center;justify-content:center}.halo-ring{position:absolute;top:-22px;right:-22px;bottom:-22px;left:-22px;border-radius:50%;pointer-events:none;border:1px solid rgba(201,168,76,.28);box-shadow:0 0 14px #c9a84c0f,inset 0 0 14px #c9a84c0a;animation:haloSpin 14s linear infinite}.halo-ring:before{content:"";position:absolute;top:-4px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#c9a84ce6;box-shadow:0 0 14px #c9a84ccc,0 0 4px #ffffff80}.halo-2{top:-10px;right:-10px;bottom:-10px;left:-10px;animation:haloSpin 9s linear infinite reverse;border-color:#c8102e38}.halo-2:before{width:6px;height:6px;top:-3px;left:calc(50% - 3px);background:#c8102ecc;box-shadow:0 0 10px #c8102e99}@keyframes haloSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.crest-container{width:100%;height:100%;position:relative;border-radius:8px;overflow:hidden}.crest-canvas-wrap{width:100%;height:100%;border-radius:8px;overflow:hidden}.crest-img-reveal{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 30px rgba(201,168,76,.45)) drop-shadow(0 0 60px rgba(255,255,255,.12));animation:crestGlow 4s ease-in-out infinite alternate}@keyframes crestGlow{0%{filter:drop-shadow(0 0 20px rgba(201,168,76,.3)) drop-shadow(0 0 40px rgba(255,255,255,.08))}to{filter:drop-shadow(0 0 45px rgba(201,168,76,.6)) drop-shadow(0 0 70px rgba(255,255,255,.18))}}.crest-sweep{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(108deg,transparent 25%,rgba(255,255,255,.32) 48%,rgba(255,255,255,.18) 52%,transparent 72%);transform:translate(-200%) skew(-12deg);animation:metalSweep 1.8s ease-in-out 1.4s forwards;pointer-events:none;z-index:5}@keyframes metalSweep{0%{transform:translate(-200%) skew(-12deg)}to{transform:translate(300%) skew(-12deg)}}.intro-school{font-family:var(--font-prestige);font-size:clamp(12px,1.8vw,17px);letter-spacing:8px;color:#ffffff80;text-transform:uppercase}.intro-rule{width:clamp(180px,38vw,340px);height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);box-shadow:0 0 10px #c9a84c66;transform:scaleX(0);animation:ruleExpand .9s var(--ease-cin) forwards}@keyframes ruleExpand{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.intro-title{font-family:var(--font-display);font-size:clamp(60px,12vw,120px);color:#fff;letter-spacing:10px;line-height:.95;text-shadow:0 0 60px rgba(255,255,255,.12)}.intro-year{font-family:var(--font-prestige);font-size:clamp(18px,3vw,30px);letter-spacing:14px;color:var(--gold);text-shadow:var(--glow-gold)}.intro-tap{font-family:var(--font-body);font-size:11px;letter-spacing:5px;color:#ffffff4d;text-transform:uppercase;margin-top:28px;animation:breathe 2.5s ease-in-out infinite;position:relative;display:inline-block;padding:10px 18px}@keyframes breathe{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.85;transform:scale(1.025)}}.tap-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(201,168,76,.45);border-radius:3px;pointer-events:none;animation:tapRipple 2.4s ease-out infinite}.tap-ring:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(201,168,76,.25);border-radius:3px;animation:tapRipple 2.4s ease-out .8s infinite}@keyframes tapRipple{0%{transform:scale(1);opacity:.6}to{transform:scale(1.5);opacity:0}}@keyframes letterReveal{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scene-cut{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:400;pointer-events:none}.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;z-index:1}@keyframes pageIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.card{background:#16122ae0;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid rgba(201,168,76,.28);border-radius:3px;padding:72px 96px;max-width:min(90vw,1100px);min-height:78vh;width:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;animation:fadeUp .9s var(--ease-cin);box-shadow:0 0 80px #c8102e1a,0 0 120px #0a2e6d1f,0 24px 80px #00000073}.welcome-layout{display:flex;align-items:center;width:100%;gap:0}.welcome-brand{flex:0 0 48%;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;padding:0}.welcome-brand .brand-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center center;transform:scale(1.06);filter:blur(8px) saturate(85%);z-index:0}.welcome-brand .brand-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0806128c,#080612b8);z-index:1}.welcome-brand .brand-content{position:relative;z-index:2;width:82%;max-width:420px;padding:28px 12px}.welcome-vdivider{flex-shrink:0;width:1px;min-height:360px;align-self:stretch;background:linear-gradient(180deg,transparent 0%,rgba(201,168,76,.55) 25%,rgba(201,168,76,.55) 75%,transparent 100%);margin:0 44px}.welcome-form-side{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0;gap:0}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.8}.hero{display:flex;align-items:center;gap:24px;margin-bottom:8px}.logo{width:clamp(80px,9vw,108px);height:clamp(80px,9vw,108px);flex-shrink:0;border:1px solid rgba(201,168,76,.28);border-radius:2px;padding:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.welcome-brand .logo{width:120px;height:120px;padding:8px}.site-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 10px rgba(201,168,76,.2))}.title{font-family:var(--font-display);font-size:clamp(36px,5.5vw,58px);color:#fff;letter-spacing:5px;line-height:1;font-weight:700;text-shadow:0 0 40px rgba(255,255,255,.2)}.subtitle{font-family:var(--font-prestige);color:#ffffffb8;margin-top:10px;font-size:14px;letter-spacing:3.5px;font-weight:600;text-transform:uppercase}.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.6) 25%,rgba(201,168,76,.6) 75%,transparent);margin:28px 0;border:none}hr,.section-divider{border:none;height:1px;background:#ffffff1f;margin:20px 0}.input-row{margin-top:32px;display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end}.input-row input,input[type=text],input[type=number],textarea{flex:1;min-width:200px;padding:14px 0;border:none;border-bottom:1px solid rgba(201,168,76,.35);border-radius:0;font-size:24px;font-family:var(--font-prestige);font-weight:700;color:#fff;background:transparent;transition:border-color .3s ease,box-shadow .3s ease;letter-spacing:4px}.input-row input:focus,input[type=text]:focus,input[type=number]:focus,textarea:focus{outline:none;border-bottom-color:var(--gold);box-shadow:0 2px #c9a84c4d}.scs-wrap{display:flex;align-items:center;justify-content:center;flex:1 1 420px}.scs-input{width:100%;padding:22px 18px;font-size:36px;letter-spacing:8px;text-align:center;border:none;border-radius:6px;background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 30px #02020899,inset 0 -2px 18px #00000059;transition:transform .16s var(--ease-cin),box-shadow .18s ease,border-color .18s ease;font-family:var(--font-prestige);font-weight:800;color:#fff;caret-color:#c9a84c}.scs-input::placeholder{font-size:14px;letter-spacing:3px;color:#ffffff6b}.scs-input:focus{transform:translateY(-6px) scale(1.02);border-color:var(--gold);box-shadow:0 18px 60px #0009,0 0 28px #e8c0600f,0 8px 30px #02020899}.scs-input:focus,.scs-input:not(:placeholder-shown){outline:none}.scs-input:focus:after{content:""}.scs-wrap:after{content:"";display:block;width:60%;height:10px;margin:12px auto 0;border-radius:50%;background:radial-gradient(closest-side,rgba(201,168,76,.14),transparent 60%);filter:blur(12px);transition:opacity .2s ease}.input-row input::placeholder{color:#ffffff6b;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:3px}.btn,button:not(.no-game){background:transparent;border:1px solid rgba(201,168,76,.5);color:#c9a84ce6;font-family:var(--font-body);font-weight:700;font-size:14px;letter-spacing:3.5px;text-transform:uppercase;padding:18px 44px;border-radius:1px;cursor:pointer;transition:color .32s ease,box-shadow .32s ease,border-color .32s ease;position:relative;overflow:hidden;white-space:nowrap}.btn:before,button:not(.no-game):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .32s ease;z-index:-1}.btn:hover,button:not(.no-game):hover{color:#000;border-color:var(--gold);box-shadow:0 0 30px #c9a84c47}.btn:hover:before,button:not(.no-game):hover:before{transform:scaleX(1)}.btn:active,button:not(.no-game):active{transform:scale(.98)}.btn:disabled,button:not(.no-game):disabled{opacity:.28;cursor:not-allowed;transform:none!important}.btn-secondary{border-color:#ffffff47!important;color:#ffffff9e!important}.card-fullscreen{background:transparent;width:100%;height:100vh;box-sizing:border-box;padding:36px 48px;display:flex;flex-direction:column;overflow:hidden;animation:fadeUp .6s var(--ease-cin);align-self:stretch;flex:1}.voting-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:36px;padding-bottom:22px;border-bottom:1px solid rgba(201,168,76,.25)}.voting-header-left{flex:1}.voting-header-right{display:flex;align-items:center;gap:14px}.progress-indicator{font-family:var(--font-prestige);font-size:13px;font-weight:700;letter-spacing:3px;color:#c9a84cf2;border:1px solid rgba(201,168,76,.45);padding:10px 22px;border-radius:1px;background:#c9a84c0f}.split-layout{display:flex;width:100%;min-height:calc(100vh - 72px);gap:28px}.split-left{flex:0 0 48%;position:relative;border-radius:4px;overflow:hidden;min-height:60vh}.split-left .bg-image{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center center;transform:scale(1.06);filter:blur(8px) saturate(85%)}.split-left .bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0806128c,#080612b8);mix-blend-mode:multiply}.split-right{flex:1;display:flex;flex-direction:column;gap:18px}.scs-box{display:flex;align-items:center;gap:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);padding:8px 12px;border-radius:6px;box-shadow:0 8px 30px #02020880;margin-bottom:8px}.scs-box .logo.small{width:48px;height:48px;padding:6px}.scs-box .site-logo{width:100%;height:100%;object-fit:contain}.scs-info{display:flex;flex-direction:column}.scs-label{font-family:var(--font-prestige);font-size:11px;color:#ffffff7a;letter-spacing:3px}.scs-value{font-family:var(--font-prestige);font-size:16px;font-weight:800;letter-spacing:3px}.progress-rail{position:fixed;top:0;left:0;right:0;z-index:120;padding:12px clamp(20px,4vw,56px) 11px;background:linear-gradient(180deg,rgba(8,6,18,.92) 0%,rgba(8,6,18,.55) 70%,transparent 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.progress-rail-track{position:relative;height:6px;border-radius:99px;background:#ffffff12;box-shadow:inset 0 1px 2px #00000080;overflow:visible}.progress-rail-fill{position:relative;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold) 0%,var(--gold2) 70%,#fff2cf 100%);box-shadow:0 0 12px #c9a84c99,0 0 28px #c9a84c47}.progress-rail-head{position:absolute;right:-2px;top:50%;width:12px;height:12px;transform:translateY(-50%);border-radius:50%;background:#fff6dc;box-shadow:0 0 10px #e8c060f2,0 0 22px #e8c0608c}.progress-rail-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:7px}.progress-rail-step{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:3px;color:#ffffffb3;text-transform:uppercase}.progress-rail-of{color:#ffffff59}.progress-rail-pct{font-family:var(--font-prestige);font-size:12px;font-weight:700;letter-spacing:2px;color:#c9a84cf2}.card-fullscreen{padding-top:64px}.candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-auto-rows:1fr;gap:20px;flex:1;min-height:0}.candidate-card{background:#12101e;border:1px solid rgba(255,255,255,.12);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:hidden;height:100%;box-shadow:0 4px 24px #00000059}.candidate-card:hover{border-color:#c9a84c8c}.candidate-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--glow-gold);animation:goldPulse 3.5s ease-in-out infinite}@keyframes goldPulse{0%,to{box-shadow:0 0 0 1px var(--gold),var(--glow-gold)}50%{box-shadow:0 0 0 1px var(--gold2),var(--glow-gold2)}}.candidate-card.selected:after{content:"✦  SELECTED";position:absolute;top:14px;right:14px;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--gold);background:#000000bf;border:1px solid rgba(201,168,76,.35);padding:5px 12px;border-radius:1px;animation:fadeIn .5s ease;z-index:10}.candidate-card:hover .poster-sweep{animation:posterCardSweep .7s ease forwards!important}@keyframes posterCardSweep{0%{transform:skew(-18deg) translate(-200%)}to{transform:skew(-18deg) translate(300%)}}.candidate-watermark{position:absolute;bottom:8px;right:8px;width:38px;height:38px;background:url(/logo.png) center/contain no-repeat;opacity:.07;pointer-events:none;z-index:3}.candidate-photo{width:100%;flex:1;display:flex;align-items:center;justify-content:center;font-size:80px;position:relative;overflow:hidden;min-height:0}.candidate-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:brightness(.88) contrast(1.05)}.candidate-photo:after{content:"";position:absolute;bottom:0;left:0;right:0;height:45%;background:linear-gradient(0deg,#12101e 0%,rgba(18,16,30,.7) 50%,transparent 100%);pointer-events:none}.candidate-photo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(18,16,30,.35) 0%,transparent 25%),linear-gradient(to right,rgba(18,16,30,.3) 0%,transparent 20%),linear-gradient(to left,rgba(18,16,30,.3) 0%,transparent 20%);pointer-events:none;z-index:1}.candidate-name{font-family:var(--font-display);font-size:clamp(24px,3.5vw,36px);letter-spacing:3px;color:#fff;text-align:center;padding:18px 16px 6px;line-height:1;font-weight:700}.symbol{font-family:var(--font-prestige);font-size:14px;font-weight:600;letter-spacing:2px;color:#ffffffad;text-align:center;padding:0 16px 20px}.house-card{flex:1;min-width:175px;min-height:300px;border:1px solid rgba(255,255,255,.14);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden;background:#12101e;transition:border-color .35s ease;box-shadow:0 6px 30px #0000004d}.house-card:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:skew(-15deg);pointer-events:none}.house-card:hover:after{animation:posterSweep .9s ease forwards}@keyframes posterSweep{0%{left:-80%}to{left:180%}}.house-card-emoji{font-size:72px;position:relative;z-index:1}.house-card-name{font-family:var(--font-display);font-size:clamp(28px,4.5vw,44px);letter-spacing:4px;color:#fff;position:relative;z-index:1;text-align:center;font-weight:700}.house-card-tag{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:2.5px;color:#ffffffc7;text-transform:uppercase;text-align:center;padding:0 16px;position:relative;z-index:1}.mascot-popup{position:fixed;right:24px;bottom:24px;background:#18142cf7;border:1px solid rgba(201,168,76,.45);border-radius:4px;padding:14px 20px;display:flex;align-items:center;gap:12px;z-index:100;max-width:280px;box-shadow:0 10px 40px #0006;animation:mascotSlideIn .55s var(--ease-cin) forwards,mascotSlideOut .4s ease .75s forwards}@keyframes mascotSlideIn{0%{opacity:0;transform:translate(30px,30px) scale(.92)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes mascotSlideOut{0%{opacity:1}to{opacity:0;transform:translate(20px,20px) scale(.92)}}.mascot-emoji{font-size:28px}.mascot-text{font-size:15px;font-weight:600;color:#ffffffeb;font-family:var(--font-body);line-height:1.5;letter-spacing:.3px}.summary{display:flex;flex-direction:column;gap:0;margin-top:16px}.summary .row{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1);transition:background .2s ease}.summary .row:hover{background:#ffffff0d}.summary .row-label{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:2.5px;color:#ffffffad;text-transform:uppercase}.summary .row-value{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:2px;color:#fff}.submit{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.err-chip{font-family:var(--font-body);color:#ff7864;margin-top:16px;font-size:14px;font-weight:700;letter-spacing:.5px;padding:14px 20px;border-left:3px solid rgba(255,80,60,.7);background:#ff321e1a}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;flex:1;padding:60px;font-family:var(--font-prestige);font-size:15px;font-weight:700;letter-spacing:4px;color:#ffffffb3}.loading-spinner{width:44px;height:44px;border:1px solid rgba(201,168,76,.25);border-top-color:var(--gold);border-radius:50%;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.finale-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--black);z-index:200;display:flex;align-items:center;justify-content:center;overflow:hidden}.finale-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.finale-particle{position:absolute;background:var(--gold);border-radius:50%;animation:particleDrift linear infinite}@keyframes particleDrift{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.6}90%{opacity:.15}to{transform:translateY(-200px) scale(.4);opacity:0}}.finale-light-rays{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(ellipse,rgba(255,255,255,.07) 0%,transparent 65%);pointer-events:none;animation:raysPulse 4s ease-in-out infinite}@keyframes raysPulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}.finale-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:32px}.celebration-title{font-family:var(--font-display);font-size:clamp(40px,9vw,88px);color:#fff;letter-spacing:8px;line-height:1;text-shadow:0 0 60px rgba(255,255,255,.18)}.finale-sub{font-family:var(--font-prestige);font-size:clamp(13px,2vw,18px);color:#ffffff80;letter-spacing:2px;font-style:italic;max-width:480px;line-height:1.7}.countdown-ring{width:88px;height:88px;border-radius:50%;border:1px solid rgba(201,168,76,.4);box-shadow:var(--glow-gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:40px;color:var(--gold)}.confetti-piece{display:none}@keyframes float3d{0%{transform:translateY(0) rotateX(0) rotate(0) scale(1);filter:drop-shadow(0 18px 36px rgba(201,168,76,.65)) drop-shadow(0 4px 12px rgba(0,0,0,.5))}25%{transform:translateY(-20px) rotateX(16deg) rotate(-7deg) scale(1.08);filter:drop-shadow(0 34px 56px rgba(201,168,76,.28)) drop-shadow(0 10px 24px rgba(0,0,0,.3))}55%{transform:translateY(-26px) rotateX(2deg) rotate(5deg) scale(1.11);filter:drop-shadow(0 40px 68px rgba(201,168,76,.18)) drop-shadow(0 14px 32px rgba(0,0,0,.2))}80%{transform:translateY(-14px) rotateX(-10deg) rotate(-3deg) scale(1.05);filter:drop-shadow(0 28px 48px rgba(201,168,76,.32)) drop-shadow(0 8px 20px rgba(0,0,0,.35))}to{transform:translateY(0) rotateX(0) rotate(0) scale(1);filter:drop-shadow(0 18px 36px rgba(201,168,76,.65)) drop-shadow(0 4px 12px rgba(0,0,0,.5))}}.icon-3d{display:inline-block;animation:float3d 5.5s ease-in-out infinite;line-height:1;cursor:default;-webkit-user-select:none;user-select:none;transform-style:preserve-3d}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#c9a84c4d;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#c9a84c8c}@media (max-width: 640px){.card{padding:44px 28px;min-height:auto;max-width:100%}.welcome-layout{flex-direction:column;gap:32px}.welcome-brand{width:100%;padding:0}.welcome-vdivider{width:100%;min-height:1px;align-self:auto;margin:0;background:linear-gradient(90deg,transparent,rgba(201,168,76,.55),transparent)}.card-fullscreen{padding:22px 18px}.title{font-size:30px}.subtitle{font-size:12px}.intro-title{font-size:52px;letter-spacing:5px}.candidates{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px}.candidate-card{min-height:290px}.candidate-photo{height:175px;font-size:60px}.candidate-name{font-size:22px}.symbol{font-size:12px}.voting-header{flex-direction:column;gap:12px}.hero{flex-direction:column;text-align:center;gap:16px}.logo{width:70px;height:70px}.house-card{min-height:220px}.house-card-emoji{font-size:54px}.house-card-name{font-size:26px}.house-card-tag{font-size:11px}.celebration-title{font-size:38px;letter-spacing:4px}.btn,button:not(.no-game){font-size:12px;padding:15px 28px}}@media (min-width: 641px) and (max-width: 1024px){.card-fullscreen{padding:28px 32px}.candidates{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
