@keyframes actEnter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes actExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.03)}}@keyframes textReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes badgeFlyIn{0%{opacity:0;transform:scale(.3)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes glitch{0%,to{text-shadow:none;transform:none}20%{text-shadow:2px 0 #ff004f,-2px 0 #0fc;transform:skew(-2deg)}40%{text-shadow:-2px 0 #ff004f,2px 0 #0fc;transform:skew(1deg)}60%{text-shadow:none;transform:none}}@keyframes rankGlow{0%,to{box-shadow:0 0 8px}50%{box-shadow:0 0 32px,0 0 64px}}@keyframes pathCardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes portalPulse{0%,to{opacity:0;transform:scale(.85)}50%{opacity:.12;transform:scale(1.15)}}.path-card{border:1px solid var(--color-border);border-radius:var(--radius);opacity:0;background:#162016d9;flex-direction:column;gap:.4rem;padding:1.1rem 1.25rem;text-decoration:none;transition:border-color .18s,background .18s;display:flex}.path-card:hover{border-color:var(--color-border-hover);background:var(--color-card);text-decoration:none}.path-card.animate-in{animation:pathCardIn .5s var(--ease-smooth) forwards}@keyframes coldLineIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.coldopen-line{color:var(--color-secondary);text-align:center;letter-spacing:-.01em;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:500;line-height:1.4;animation:.6s forwards coldLineIn}.coldopen-line.is-final{color:var(--color-primary);text-shadow:0 0 24px #4da6ff59}@keyframes cardFlipReveal{0%{opacity:0;transform:rotateY(90deg)scale(.85)}to{opacity:1;transform:rotateY(0)scale(1)}}.reveal-card-flip{animation:.75s cubic-bezier(.34,1.56,.64,1) forwards cardFlipReveal}#reveal-rank-card.rank-glow{box-shadow:0 0 16px var(--rank-color,var(--color-accent)), 0 0 48px var(--rank-color,var(--color-accent))}.lore-card{border:1px solid var(--color-border);backdrop-filter:blur(4px);background:#00000073;width:100%;max-width:26rem;position:relative}.lore-card:before,.lore-card:after{content:"";border-color:var(--color-accent);opacity:.5;border-style:solid;width:10px;height:10px;position:absolute}.lore-card:before{border-width:2px 0 0 2px;top:-1px;left:-1px}.lore-card:after{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.lore-card-eyebrow{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--color-accent);opacity:.7;border-bottom:1px solid var(--color-border);padding:.6rem 1rem .5rem;font-size:.6rem}.lore-card-body{flex-direction:column;gap:.6rem;padding:.75rem 1rem .9rem;display:flex}.lore-stat-row{text-align:left;align-items:baseline;gap:.75rem;display:flex}.lore-stat-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-muted);white-space:nowrap;flex-shrink:0;min-width:6.5rem;font-size:.58rem}.lore-stat-value{color:var(--color-secondary);font-size:.78rem;line-height:1.5}.lore-stat-green{color:var(--color-accent);opacity:.85}.rank-f{color:#6b7280;font-weight:700;font-family:var(--font-mono)}.rank-sss{color:#ff4500;font-weight:700;font-family:var(--font-mono);text-shadow:0 0 8px #ff450080}.welcome-side-nav{z-index:11;flex-direction:column;gap:.5rem;position:fixed;top:50%;transform:translateY(-50%)}.welcome-side-nav--left{left:1.5rem}.welcome-side-nav--right{right:1.5rem}.side-nav-link{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-secondary);white-space:nowrap;border-left:2px solid #ffffff14;padding:.55rem .9rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s,background .15s}.side-nav-link:hover{color:var(--color-accent);border-left-color:var(--color-accent);background:#4da6ff0f;text-decoration:none}.welcome-side-nav--right .side-nav-link{text-align:right;border-left:none;border-right:2px solid #ffffff14}.welcome-side-nav--right .side-nav-link:hover{border-left-color:#0000;border-right-color:var(--color-accent)}.welcome-side-nav-mobile .side-nav-link{border-bottom:2px solid #ffffff14;border-left:none;padding:.45rem .7rem;font-size:.7rem}.welcome-side-nav-mobile .side-nav-link:hover{border-left-color:#0000;border-bottom-color:var(--color-accent)}.class-pick-card{border:1px solid var(--color-border);text-align:center;cursor:none;background:#0006;flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 1rem;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex;position:relative}.class-pick-card:before,.class-pick-card:after{content:"";border-color:var(--color-accent);opacity:0;border-style:solid;width:8px;height:8px;transition:opacity .18s;position:absolute}.class-pick-card:before{border-width:2px 0 0 2px;top:-1px;left:-1px}.class-pick-card:after{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.class-pick-card:hover{border-color:var(--color-accent);background:#4da6ff0a;transform:translateY(-3px);box-shadow:0 8px 24px #4da6ff14}.class-pick-card:hover:before,.class-pick-card:hover:after{opacity:1}.class-pick-card.is-chosen{border-color:var(--color-accent);background:#4da6ff12;box-shadow:0 0 20px #4da6ff33}.class-pick-card.is-chosen:before,.class-pick-card.is-chosen:after{opacity:1}.class-pick-icon{font-size:2rem;line-height:1}.class-pick-name{color:var(--color-primary);letter-spacing:.02em;font-size:1rem;font-weight:700}.class-pick-tagline{color:var(--color-muted);font-size:.72rem;font-style:italic;line-height:1.5}.boss-difficulty-badge{border-color:var(--color-accent);color:var(--color-accent)}.rank-card-scene{perspective:900px;width:300px;height:380px;overflow:visible}.rank-card-3d{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;transition:transform 80ms ease-out}.rank-card-face{backface-visibility:hidden;position:absolute;inset:0}.rank-card-front{border:1px solid var(--rank-color,var(--color-accent));box-shadow:0 0 0 1px #00000080, 0 0 30px -6px var(--rank-color,var(--color-accent)), inset 0 0 40px -20px var(--rank-color,var(--color-accent));background:linear-gradient(160deg,#000000b3 0%,#00000073 100%);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1.5rem;display:flex}.rank-card-corner{border-color:var(--rank-color,var(--color-accent));border-style:solid;width:10px;height:10px;position:absolute}.rank-card-corner.tl{border-width:2px 0 0 2px;top:-1px;left:-1px}.rank-card-corner.tr{border-width:2px 2px 0 0;top:-1px;right:-1px}.rank-card-corner.bl{border-width:0 0 2px 2px;bottom:-1px;left:-1px}.rank-card-corner.br{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.rank-card-eyebrow{font-family:var(--font-mono);letter-spacing:.35em;text-transform:uppercase;color:var(--color-secondary);font-size:.6rem}.rank-card-letter{font-family:var(--font-mono);letter-spacing:-.02em;white-space:nowrap;color:var(--rank-color,var(--color-accent));text-shadow:0 0 20px var(--rank-color,var(--color-accent)), 0 0 60px var(--rank-color,var(--color-accent));padding:.1em .2em;font-size:clamp(3.5rem,12vw,5rem);font-weight:900;line-height:1}.rank-card-title{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--rank-color,var(--color-accent));opacity:.8;font-size:.7rem}.rank-card-sub{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--color-secondary);opacity:.85;margin-top:.5rem;font-size:.55rem}#particles-canvas{contain:strict}@keyframes bossShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}.boss-shake{animation:.38s cubic-bezier(.36,.07,.19,.97) bossShake}#boss-reaction.is-correct{color:#4da6ff}#boss-reaction.is-wrong{color:#f44}.boss-option.is-correct-answer{color:#4da6ff!important;background:#4da6ff14!important;border-color:#4da6ff!important}.boss-option.is-wrong-pick{color:#f44!important;background:#ff444414!important;border-color:#f44!important}.custom-cursor-enabled *,.custom-cursor-enabled :before,.custom-cursor-enabled :after{cursor:none!important}body{overflow-x:hidden}#act-welcome,#act1,#act2,#act3{overscroll-behavior-y:contain;overflow-y:auto}.social-footer{display:none}
