.stage.is-fan{--glass:rgba(14,11,18,0.72);--glass-line:rgba(255,255,255,0.12);--bad:#ffb3c7}.stage.is-fan .shade{background:radial-gradient(ellipse 60% 42% at 50% 92%,rgba(222,193,252,.22),transparent 70%),linear-gradient(0deg,rgba(0,0,0,.94) 0,rgba(0,0,0,.7) 26%,rgba(0,0,0,.18) 52%,transparent 66%)}.fan-bar{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:max(14px,env(safe-area-inset-top)) clamp(14px,2.4vw,36px) 0;color:#fff}.fan-home{display:block;width:34px;height:34px;flex:none}.fan-home img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(150,100,220,.5))}.fan-creator{display:inline-flex;align-items:center;gap:10px;height:38px;margin-left:auto;padding:0 5px 0 16px;border-radius:999px;border:1px solid var(--glass-line);background:var(--glass);font-size:13px;font-weight:400;letter-spacing:-.01em;white-space:nowrap;color:#fff;text-decoration:none;transition:border-color .3s ease,background-color .3s ease}.fan-creator b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lilac);color:var(--ink)}.fan-creator svg{width:9px;height:9px;transition:transform .45s cubic-bezier(.16,1,.3,1)}.fan-creator:hover{border-color:rgba(222,193,252,.5);background-color:rgba(30,22,40,.65)}.fan-creator:hover svg{transform:translate(1px,1px)}.fan-legal{position:absolute;z-index:4;left:0;right:0;bottom:max(6px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;justify-content:center;gap:2px 14px;padding:0 12px;font-family:JBMono,ui-monospace,Menlo,monospace;font-size:9.5px;letter-spacing:.06em;color:rgba(255,255,255,.42)}.fan-legal nav{display:flex;gap:12px}.fan-legal a{color:inherit;text-decoration:none}.fan-legal a:hover{color:#fff}.fan-legal .fan-legal-lang{gap:8px;font-size:inherit;letter-spacing:inherit}.fan-legal .fan-legal-lang a{min-width:0;min-height:0;color:rgba(255,255,255,.42)}.fan-legal .fan-legal-lang a[aria-current]{color:rgba(255,255,255,.85)}.stage.is-fan .copy{gap:0;padding-bottom:calc(clamp(22px, 4.5svh, 48px) + 14px + env(safe-area-inset-bottom))}html.has-cookie-note .stage.is-fan .copy{padding-bottom:calc(clamp(22px, 4.5svh, 48px) + 50px + env(safe-area-inset-bottom))}.fan-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 clamp(12px,2svh,18px);padding:7px 13px 7px 11px;border-radius:999px;border:1px solid var(--glass-line);background:var(--glass);font-family:JBMono,ui-monospace,Menlo,monospace;font-size:10.5px;letter-spacing:.18em;color:rgba(255,255,255,.82)}.fan-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--lilac);box-shadow:0 0 10px var(--lilac)}.stage.is-fan .headline{position:relative;margin:0;color:#fff;font-weight:300;font-size:clamp(32px,4.4vw,68px);line-height:.95;letter-spacing:-.052em;word-spacing:.04em;text-shadow:0 14px 40px rgba(0,0,0,.45);white-space:nowrap}.stage.is-fan .fan-dek{margin:clamp(8px,1.4svh,12px) 0 0;font-weight:300;font-size:clamp(15px,1.4vw,18px);line-height:1.2;letter-spacing:-.02em;text-align:center;color:rgba(255,255,255,.7)}.stage.is-fan .codebox{margin-top:clamp(18px,3.2svh,30px);gap:clamp(12px,2svh,16px)}.stage.is-fan .slots{grid-template-columns:repeat(5,clamp(56px,5vw,78px));gap:clamp(8px,.9vw,12px)}.stage.is-fan .slot{position:relative;z-index:1;overflow:hidden;height:clamp(68px,9.4svh,94px);border:1px solid rgba(255,255,255,.16);border-radius:14px;background-color:rgba(18,14,24,.55);background-image:linear-gradient(180deg,rgba(255,255,255,.1),transparent 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 40px -14px rgba(0,0,0,.7);color:#fff;font-size:clamp(30px,3vw,46px);font-weight:300;font-variant-numeric:tabular-nums;line-height:1;transition:border-color .3s ease,background-color .35s ease,color .35s ease,box-shadow .35s ease}.stage.is-fan .slot-input{z-index:2}.stage.is-fan .slot i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.3)}.stage.is-fan .slot.is-on{border-color:rgba(222,193,252,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 0 4px rgba(222,193,252,.12),0 0 30px rgba(222,193,252,.28)}.stage.is-fan .slot.is-on i{width:2px;height:40%;border-radius:1px;background:var(--lilac)}.stage.is-fan .slot.is-filled{border-color:rgba(222,193,252,.42);background-color:rgba(60,44,80,.6)}.stage.is-fan .slot b{font-weight:300}.stage.is-fan .slot:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(222,193,252,.4) 50%,transparent 70%);transform:translateX(-120%);pointer-events:none}.stage.is-fan .codebox.is-bad .slot{border-color:rgba(255,179,199,.65);background-color:rgba(255,140,170,.08)}.stage.is-fan .codebox.is-bad .code-meta{color:var(--bad)}.stage.is-fan .codebox.is-open .slot{border-color:var(--lilac);background-color:var(--lilac);color:var(--ink);box-shadow:0 0 40px rgba(222,193,252,.55);transition-delay:calc(var(--i, 0) * 60ms)}.stage.is-fan .codebox.is-open .slot b{font-weight:450}.stage.is-fan .codebox.is-open .code-meta{color:var(--lilac)}.stage.is-fan .code-meta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:1.3em;max-width:34em;margin:0;font-size:10.5px;letter-spacing:.18em;text-align:center;text-transform:uppercase;color:rgba(255,255,255,.62)}.code-meta-dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.stage.is-fan .band{will-change:transform}.glyph,.glyph-flash{opacity:0}.glyph{transform-box:fill-box;transform-origin:50% 100%}.fan-open{position:fixed;inset:0;z-index:50;background:#000;opacity:0;pointer-events:none}.stage.is-fan .copy:has(.fan-open.is-on){z-index:10}@media (prefers-reduced-motion:no-preference){.stage.is-fan:not(.is-ready) :is(.fan-bar,.fan-eyebrow,.headline,.fan-dek,.codebox){opacity:0}.fan-eyebrow i{animation:fan-beat 2.4s ease-in-out infinite}.stage.is-fan .slot.is-on i{animation:fan-caret 1.05s steps(1) infinite}.stage.is-fan .slot b{animation:fan-digit .5s cubic-bezier(.16,1,.3,1)}.codebox.is-checking .slot:after{animation:fan-scan .9s cubic-bezier(.65,0,.35,1) infinite;animation-delay:calc(var(--i, 0) * 70ms)}.codebox.is-open .slot{animation:fan-pop .5s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 60ms)}.fan-open.is-on{animation:fan-black .32s ease 1.3s forwards}.stage.is-fan .codebox.is-scramble .slot b{animation:none;color:var(--bad)}.stage.is-fan .codebox.is-flip .slot,.stage.is-fan .codebox.is-scramble .slot{border-color:rgba(255,179,199,.75)}.stage.is-fan .codebox.is-flip .slot b{color:var(--bad);animation:fan-flip .34s cubic-bezier(.55,0,1,.45) forwards;animation-delay:calc(var(--i, 0) * 55ms)}.stage.is-fan .slot.is-retry{animation:fan-retry 1.1s ease-out}}@keyframes fan-beat{0%,to{box-shadow:0 0 6px var(--lilac)}50%{box-shadow:0 0 14px var(--lilac),0 0 0 4px rgba(222,193,252,.18)}}@keyframes fan-caret{0%,45%{opacity:1}50%,to{opacity:0}}@keyframes fan-digit{0%{opacity:0;transform:translateY(55%) scale(.8)}to{opacity:1;transform:none}}@keyframes fan-scan{to{transform:translateX(120%)}}@keyframes fan-pop{0%{scale:1}40%{scale:1.08}to{scale:1}}@keyframes fan-black{to{opacity:1}}@keyframes fan-flip{to{opacity:0;transform:perspective(240px) rotateX(-90deg)}}@keyframes fan-retry{0%{border-color:rgba(255,179,199,.85);box-shadow:0 0 0 4px rgba(255,159,191,.16),0 0 28px rgba(255,159,191,.35)}}@media (max-width:559.98px){.fan-home{width:30px;height:30px}.fan-creator{height:34px;padding-left:12px;font-size:12px;gap:8px}.fan-creator b{width:24px;height:24px}.stage.is-fan .headline{font-size:clamp(28px,8.4vw,36px)}.stage.is-fan .codebox{width:100%}.stage.is-fan .slots{grid-template-columns:repeat(5,minmax(0,1fr));width:min(100%,340px);gap:8px}.stage.is-fan .slot{height:clamp(62px,8.6svh,72px);border-radius:12px;font-size:32px}}@media (hover:none){.fan-creator:hover{border-color:var(--glass-line);background-color:var(--glass)}.fan-creator:hover svg{transform:none}}