@font-face{font-family:Pretendard Variable;src:url(./PretendardVariable-CJuje-Rk.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(./PretendardVariable-CJuje-Rk.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}:root{--funky-bg: #fff5d1;--funky-surface: #ffffff;--funky-sunken: #fff0b8;--funky-ink: #222222;--funky-ink-muted: #6f6a52;--funky-ink-inverse: #ffffff;--funky-line: #000000;--funky-pink: #ff4eba;--funky-purple: #7828c8;--funky-cyan: #3decfd;--funky-yellow: #ffd500;--funky-orange: #ff9100;--funky-sky: #00c8ff;--funky-green: #00c22a;--funky-accent-soft: #f0fdff;--funky-primary: #ff4eba;--funky-secondary: #7828c8;--funky-success: #00c22a;--funky-warning: #ff9100;--funky-danger: #ff3b3b;--funky-info: #3decfd;--funky-shadow-sm: 4px 4px 0 0 rgba(0, 0, 0, .2);--funky-shadow-md: 6px 6px 0 0 rgba(0, 0, 0, .2);--funky-shadow-lg: 8px 8px 0 0 rgba(0, 0, 0, .2);--funky-radius: 0;--funky-border-width: 2px;--funky-border-width-bold: 3px;--funky-border-color: #000000;--funky-border: 2px solid #000000;--funky-border-bold: 3px solid #000000;--funky-space-xs: .375rem;--funky-space-sm: .5rem;--funky-space-md: .75rem;--funky-space-lg: 1rem;--funky-space-xl: 1.5rem;--funky-space-2xl: 2rem;--funky-font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--funky-weight-medium: 500;--funky-weight-bold: 700;--funky-weight-black: 900;--funky-size-2xs: .625rem;--funky-size-xs: .75rem;--funky-size-sm: .875rem;--funky-size-md: 1rem;--funky-size-lg: 1.125rem;--funky-size-xl: 1.25rem;--funky-size-2xl: 1.5rem;--funky-size-3xl: 1.875rem;--funky-size-4xl: 2.25rem;--funky-chrome-transform: uppercase;--funky-chrome-tracking: .05em;--funky-control-sm: 1.75rem;--funky-control-md: 2.25rem;--funky-control-lg: 2.75rem;--funky-motion-duration: .1s;--funky-motion-easing: ease-out;--funky-press-offset: 4px}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--funky-bg);color:var(--funky-ink);font-family:var(--funky-font-family);font-size:var(--funky-size-md);-webkit-font-smoothing:antialiased}.funky-shadow-sm{box-shadow:var(--funky-shadow-sm)}.funky-shadow-md{box-shadow:var(--funky-shadow-md)}.funky-shadow-lg{box-shadow:var(--funky-shadow-lg)}.funky-border{border:var(--funky-border)}.funky-chrome{text-transform:var(--funky-chrome-transform);font-weight:var(--funky-weight-black);letter-spacing:var(--funky-chrome-tracking)}.funky-pressable{transition:box-shadow var(--funky-motion-duration) var(--funky-motion-easing),transform var(--funky-motion-duration) var(--funky-motion-easing),background-color var(--funky-motion-duration) var(--funky-motion-easing)}.funky-pressable:hover:not(:disabled){box-shadow:2px 2px #0003;transform:translate(2px,2px)}.funky-pressable:active:not(:disabled){box-shadow:none;transform:translate(var(--funky-press-offset),var(--funky-press-offset))}.funky-pressable:disabled{opacity:.5;cursor:not-allowed}.funky-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--funky-space-sm);height:var(--funky-control-md);padding:0 var(--funky-space-lg);border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-surface);color:var(--funky-ink);font-family:var(--funky-font-family);font-size:var(--funky-size-sm);font-weight:var(--funky-weight-black);text-transform:var(--funky-chrome-transform);letter-spacing:var(--funky-chrome-tracking);line-height:1;cursor:pointer;box-shadow:var(--funky-shadow-sm);white-space:nowrap}.funky-button--sm{height:var(--funky-control-sm);padding:0 var(--funky-space-md);font-size:var(--funky-size-xs)}.funky-button--lg{height:var(--funky-control-lg);padding:0 var(--funky-space-xl);font-size:var(--funky-size-md)}.funky-button--primary{background:var(--funky-primary);color:var(--funky-ink-inverse)}.funky-button--secondary{background:var(--funky-secondary);color:var(--funky-ink-inverse)}.funky-button--success{background:var(--funky-success);color:var(--funky-ink-inverse)}.funky-button--warning{background:var(--funky-warning);color:var(--funky-ink)}.funky-button--danger{background:var(--funky-danger);color:var(--funky-ink-inverse)}.funky-button--info{background:var(--funky-info);color:var(--funky-ink)}.funky-button--neutral{background:var(--funky-surface);color:var(--funky-ink)}.funky-button--ink{background:var(--funky-ink);color:var(--funky-ink-inverse)}.funky-input{display:inline-flex;align-items:center;gap:var(--funky-space-sm);height:var(--funky-control-md);padding:0 var(--funky-space-md);border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-surface);box-shadow:var(--funky-shadow-sm);transition:box-shadow var(--funky-motion-duration) var(--funky-motion-easing),transform var(--funky-motion-duration) var(--funky-motion-easing)}.funky-input:focus-within{box-shadow:2px 2px #0003;transform:translate(2px,2px)}.funky-input__field{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--funky-font-family);font-size:var(--funky-size-sm);font-weight:var(--funky-weight-bold);color:var(--funky-ink)}.funky-input__field::placeholder{color:var(--funky-ink-muted)}.funky-input__icon{display:inline-flex;align-items:center;color:var(--funky-ink-muted)}.funky-input--full{display:flex;width:100%}.funky-tag{display:inline-flex;align-items:center;gap:var(--funky-space-xs);padding:var(--funky-space-xs) var(--funky-space-sm);border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-surface);color:var(--funky-ink);font-family:var(--funky-font-family);font-size:var(--funky-size-xs);font-weight:var(--funky-weight-bold);box-shadow:2px 2px #0000001a;line-height:1}.funky-tag--pink{background:var(--funky-pink);color:var(--funky-ink-inverse)}.funky-tag--purple{background:var(--funky-purple);color:var(--funky-ink-inverse)}.funky-tag--cyan{background:var(--funky-cyan);color:var(--funky-ink)}.funky-tag--yellow{background:var(--funky-yellow);color:var(--funky-ink)}.funky-tag--orange{background:var(--funky-orange);color:var(--funky-ink)}.funky-tag--sky{background:var(--funky-sky);color:var(--funky-ink)}.funky-tag--green{background:var(--funky-green);color:var(--funky-ink-inverse)}.funky-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 var(--funky-space-xs);border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-primary);color:var(--funky-ink-inverse);font-family:var(--funky-font-family);font-size:var(--funky-size-xs);font-weight:var(--funky-weight-black);line-height:1}.funky-badge--pink{background:var(--funky-pink);color:var(--funky-ink-inverse)}.funky-badge--purple{background:var(--funky-purple);color:var(--funky-ink-inverse)}.funky-badge--cyan{background:var(--funky-cyan);color:var(--funky-ink)}.funky-badge--yellow{background:var(--funky-yellow);color:var(--funky-ink)}.funky-badge--orange{background:var(--funky-orange);color:var(--funky-ink)}.funky-badge--sky{background:var(--funky-sky);color:var(--funky-ink)}.funky-badge--green{background:var(--funky-green);color:var(--funky-ink-inverse)}.funky-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.funky-text{font-family:var(--funky-font-family);color:var(--funky-ink);margin:0}.funky-text--heading{font-weight:var(--funky-weight-black);font-size:var(--funky-size-xl);line-height:1.1}.funky-text--body{font-weight:var(--funky-weight-medium);font-size:var(--funky-size-md);line-height:1.5}.funky-text--chrome{font-weight:var(--funky-weight-black);font-size:var(--funky-size-xs);text-transform:var(--funky-chrome-transform);letter-spacing:var(--funky-chrome-tracking)}.funky-text--muted{color:var(--funky-ink-muted)}.funky-card{border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-surface);box-shadow:var(--funky-shadow-md)}.funky-card__body{padding:var(--funky-space-xl)}.funky-stat-tile{display:flex;flex-direction:column;gap:var(--funky-space-xs);padding:var(--funky-space-xl);border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-cyan);color:var(--funky-ink);box-shadow:var(--funky-shadow-md)}.funky-stat-tile--pink{background:var(--funky-pink);color:var(--funky-ink-inverse)}.funky-stat-tile--purple{background:var(--funky-purple);color:var(--funky-ink-inverse)}.funky-stat-tile--cyan{background:var(--funky-cyan);color:var(--funky-ink)}.funky-stat-tile--yellow{background:var(--funky-yellow);color:var(--funky-ink)}.funky-stat-tile--orange{background:var(--funky-orange);color:var(--funky-ink)}.funky-stat-tile--sky{background:var(--funky-sky);color:var(--funky-ink)}.funky-stat-tile--green{background:var(--funky-green);color:var(--funky-ink-inverse)}.funky-stat-tile__label{font-size:var(--funky-size-xs);font-weight:var(--funky-weight-black);text-transform:var(--funky-chrome-transform);letter-spacing:var(--funky-chrome-tracking)}.funky-stat-tile__value{font-size:var(--funky-size-4xl);font-weight:var(--funky-weight-black);line-height:1}.funky-stat-tile__hint{font-size:var(--funky-size-sm);font-weight:var(--funky-weight-bold)}.funky-accordion{display:flex;flex-direction:column;gap:var(--funky-space-md)}.funky-accordion__item{border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-surface)}.funky-accordion__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--funky-space-lg);border:none;background:var(--funky-surface);color:var(--funky-ink);font-family:var(--funky-font-family);font-weight:var(--funky-weight-black);font-size:var(--funky-size-md);text-transform:var(--funky-chrome-transform);letter-spacing:var(--funky-chrome-tracking);cursor:pointer;transition:background-color var(--funky-motion-duration) var(--funky-motion-easing)}.funky-accordion__header:hover{background:var(--funky-accent-soft)}.funky-accordion__chevron{display:inline-flex;transition:transform var(--funky-motion-duration) var(--funky-motion-easing)}.funky-accordion__chevron--open{transform:rotate(180deg)}.funky-accordion__panel{padding:var(--funky-space-lg);border-top:var(--funky-border)}.funky-tabs__list{display:flex;gap:var(--funky-space-sm);flex-wrap:wrap}.funky-tabs__trigger{height:var(--funky-control-md);padding:0 var(--funky-space-lg);border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-surface);color:var(--funky-ink);font-family:var(--funky-font-family);font-size:var(--funky-size-sm);font-weight:var(--funky-weight-black);text-transform:var(--funky-chrome-transform);letter-spacing:var(--funky-chrome-tracking);cursor:pointer;transition:background-color var(--funky-motion-duration) var(--funky-motion-easing),box-shadow var(--funky-motion-duration) var(--funky-motion-easing),transform var(--funky-motion-duration) var(--funky-motion-easing)}.funky-tabs__trigger:hover:not(.funky-tabs__trigger--active){background:var(--funky-accent-soft)}.funky-tabs__trigger--active{background:var(--funky-ink);color:var(--funky-ink-inverse);box-shadow:var(--funky-shadow-sm)}.funky-tabs__panel{padding:var(--funky-space-lg) 0}.funky-modal__overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:var(--funky-space-lg);z-index:1000}.funky-modal{width:100%;max-width:32rem;max-height:90vh;display:flex;flex-direction:column;border:var(--funky-border-bold);border-radius:var(--funky-radius);background:var(--funky-surface);box-shadow:var(--funky-shadow-lg)}.funky-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--funky-space-md);padding:var(--funky-space-lg);border-bottom:var(--funky-border);font-weight:var(--funky-weight-black);font-size:var(--funky-size-lg);text-transform:var(--funky-chrome-transform);letter-spacing:var(--funky-chrome-tracking)}.funky-modal__close{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-surface);cursor:pointer;font-weight:var(--funky-weight-black);line-height:1;transition:background-color var(--funky-motion-duration) var(--funky-motion-easing)}.funky-modal__close:hover{background:var(--funky-accent-soft)}.funky-modal__body{padding:var(--funky-space-lg);overflow:auto}.funky-modal__footer{display:flex;justify-content:flex-end;gap:var(--funky-space-sm);padding:var(--funky-space-lg);border-top:var(--funky-border)}.funky-appshell{display:flex;flex-direction:column;min-height:100vh;background:var(--funky-bg)}.funky-appshell__navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:var(--funky-space-lg);height:5rem;padding:0 var(--funky-space-xl);background:var(--funky-secondary);border-bottom:var(--funky-border);box-shadow:0 4px #0003}.funky-appshell__brand{display:inline-flex;align-items:center;gap:var(--funky-space-sm);font-weight:var(--funky-weight-black);font-size:var(--funky-size-2xl);text-transform:var(--funky-chrome-transform);letter-spacing:-.05em;color:var(--funky-ink-inverse);transform:skew(-6deg)}.funky-appshell__brand button,.funky-appshell__brand a{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer}.funky-appshell__account{display:inline-flex;align-items:center;gap:var(--funky-space-xl)}.funky-appshell__body{display:flex;flex:1;min-height:0}.funky-appshell__sidebar{display:none;flex-direction:column;width:16rem;padding:var(--funky-space-xl);background:var(--funky-bg);border-right:var(--funky-border)}@media(min-width:1024px){.funky-appshell__sidebar{display:flex;align-self:flex-start;position:sticky;top:5rem;height:calc(100vh - 5rem);overflow-y:auto}}.funky-appshell__sidebar-head{padding-bottom:var(--funky-space-lg);margin-bottom:var(--funky-space-lg);border-bottom:var(--funky-border);font-weight:var(--funky-weight-black);font-size:var(--funky-size-lg);text-transform:var(--funky-chrome-transform);letter-spacing:var(--funky-chrome-tracking);transform:skew(-6deg)}.funky-appshell__nav{display:flex;flex-direction:column;gap:.25rem}.funky-appshell__nav-label{font-size:var(--funky-size-2xs);font-weight:var(--funky-weight-black);text-transform:var(--funky-chrome-transform);letter-spacing:.2em;color:#0006;margin-bottom:var(--funky-space-md);padding:0 .25rem}.funky-nav-item{display:flex;align-items:center;gap:var(--funky-space-md);width:100%;padding:var(--funky-space-md) var(--funky-space-lg);border:2px solid transparent;border-radius:var(--funky-radius);background:transparent;color:#0009;font-family:var(--funky-font-family);font-size:var(--funky-size-sm);font-weight:var(--funky-weight-black);text-transform:var(--funky-chrome-transform);letter-spacing:-.025em;text-decoration:none;cursor:pointer;transition:background-color var(--funky-motion-duration) var(--funky-motion-easing),color var(--funky-motion-duration) var(--funky-motion-easing),box-shadow var(--funky-motion-duration) var(--funky-motion-easing),transform var(--funky-motion-duration) var(--funky-motion-easing)}.funky-nav-item:hover:not(.funky-nav-item--active){color:var(--funky-ink);background:#ffffff80}.funky-nav-item--active{background:var(--funky-ink);color:var(--funky-ink-inverse);border-color:var(--funky-ink);box-shadow:var(--funky-shadow-sm)}.funky-nav-item--active:hover{box-shadow:none;transform:translate(4px,4px)}.funky-appshell__sidebar-foot{margin-top:auto;padding-top:var(--funky-space-2xl);border-top:2px solid rgba(0,0,0,.1)}.funky-appshell__status-card{padding:var(--funky-space-lg);border:var(--funky-border);border-radius:var(--funky-radius);background:var(--funky-surface);color:var(--funky-ink);box-shadow:4px 4px #0000001a}.funky-appshell__status-card-title{font-size:var(--funky-size-2xs);font-weight:var(--funky-weight-black);text-transform:var(--funky-chrome-transform);letter-spacing:.1em;color:#0006}.funky-appshell__status-card-text{margin-top:var(--funky-space-md);font-size:var(--funky-size-2xs);font-weight:var(--funky-weight-bold)}.funky-appshell__content{flex:1;min-width:0;padding:var(--funky-space-xl);padding-bottom:5rem}@media(min-width:1024px){.funky-appshell__content{padding-bottom:var(--funky-space-xl)}}.funky-appshell__bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:stretch;justify-content:space-around;height:4rem;background:var(--funky-surface);border-top:var(--funky-border)}@media(min-width:1024px){.funky-appshell__bottom-nav{display:none}}.funky-bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border:none;background:transparent;color:var(--funky-ink);font-family:var(--funky-font-family);font-size:var(--funky-size-xs);font-weight:var(--funky-weight-bold);text-transform:var(--funky-chrome-transform);letter-spacing:var(--funky-chrome-tracking);text-decoration:none;cursor:pointer;transition:background-color var(--funky-motion-duration) var(--funky-motion-easing)}.funky-bottom-nav-item:hover:not(.funky-bottom-nav-item--active){background:var(--funky-accent-soft)}.funky-bottom-nav-item--active{background:var(--funky-ink);color:var(--funky-ink-inverse)}:root{--funky-bg: #120d22;--funky-surface: rgba(255, 255, 255, .055);--funky-sunken: rgba(0, 0, 0, .26);--funky-accent-soft: rgba(255, 255, 255, .1);--funky-ink: #ece9f6;--funky-ink-muted: #9d96b8;--funky-ink-inverse: #ffffff;--funky-line: rgba(255, 255, 255, .14);--funky-border-width: 1px;--funky-border-width-bold: 1px;--funky-border-color: rgba(255, 255, 255, .14);--funky-border: 1px solid rgba(255, 255, 255, .14);--funky-border-bold: 1px solid rgba(255, 255, 255, .22);--funky-shadow-sm: 0 2px 10px rgba(0, 0, 0, .35);--funky-shadow-md: 0 6px 22px rgba(0, 0, 0, .42);--funky-shadow-lg: 0 14px 40px rgba(0, 0, 0, .5);--funky-radius: 10px;--fx-ink: var(--funky-ink);--fx-line: var(--funky-line);--fx-stage: radial-gradient(58% 44% at 18% 12%, rgba(120, 40, 200, .22), transparent 70%), radial-gradient(52% 40% at 84% 78%, rgba(255, 78, 186, .16), transparent 72%), radial-gradient(130% 95% at 50% 0%, #2a2040 0%, #191230 48%, #120d22 100%)}*{box-sizing:border-box}.funky-pressable:hover:not(:disabled){transform:none;box-shadow:var(--funky-shadow-md);filter:brightness(1.12)}.funky-pressable:active:not(:disabled){transform:translateY(1px);box-shadow:var(--funky-shadow-sm);filter:brightness(.96)}.funky-button--neutral:hover:not(:disabled){border-color:#ffffff57}.funky-button:disabled{background:var(--funky-surface);color:var(--funky-ink-muted);border-color:var(--funky-line);box-shadow:none;opacity:1}.funky-tabs__trigger--active{color:#17122a;border-color:transparent}.funky-tabs__trigger:not(.funky-tabs__trigger--active){background:var(--funky-surface);color:var(--funky-ink-muted)}.funky-tabs__trigger:not(.funky-tabs__trigger--active):hover{background:var(--funky-accent-soft);color:var(--funky-ink)}.funky-button--ink,.funky-nav-item--active,.funky-bottom-nav-item--active,.funky-badge--yellow,.funky-badge--cyan,.funky-badge--sky,.funky-badge--orange,.funky-tag--yellow,.funky-tag--cyan,.funky-tag--sky,.funky-tag--orange,.funky-button--warning,.funky-button--info,.funky-stat-tile,.funky-stat-tile--yellow,.funky-stat-tile--cyan,.funky-stat-tile--sky,.funky-stat-tile--orange{color:#17122a}html,body,#root{margin:0;height:100%;height:100dvh;width:100%;overflow:hidden;background:var(--funky-bg);font-family:Pretendard,system-ui,-apple-system,sans-serif;color:var(--fx-ink);-webkit-font-smoothing:antialiased;user-select:none}.fx-app{height:100vh;height:100dvh;width:100%;display:flex;flex-direction:column;background:var(--fx-stage);background-attachment:fixed}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:6px}*::-webkit-scrollbar-thumb:hover{background:#ffffff42}input,select,textarea,button{color-scheme:dark}input[type=checkbox]{accent-color:var(--funky-green);cursor:pointer}input[type=range]{accent-color:var(--funky-pink)}.fx-menu{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;position:relative;overflow:hidden}.fx-logo{font-weight:900;font-size:clamp(3rem,12vw,9rem);letter-spacing:-.04em;line-height:.9;text-transform:uppercase;position:relative;transform:rotate(-3deg)}.fx-logo span{display:inline-block;animation:fx-logo-in .62s cubic-bezier(.16,1,.3,1) both}@keyframes fx-logo-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fx-menu-buttons{display:grid;gap:.75rem;width:min(420px,80vw);z-index:2}.fx-menu-buttons .funky-button{width:100%;justify-content:center;font-size:1.1rem}.fx-menu .funky-button--neutral{background:#211a36}.fx-menu .funky-button--neutral:hover:not(:disabled){background:#2c2449}.fx-tagline{font-weight:700;color:var(--funky-ink-muted);letter-spacing:.04em}.fx-bg-shapes{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.fx-shape{position:absolute;border-radius:50%;filter:blur(90px);opacity:.16;animation:fx-float 14s ease-in-out infinite}@keyframes fx-float{0%,to{transform:translate(0) scale(1)}50%{transform:translateY(-30px) scale(1.14)}}@media(prefers-reduced-motion:reduce){.fx-shape{animation:none}}.fx-game{position:relative;height:100%;width:100%;display:flex}.fx-canvas-wrap{flex:1;position:relative;background:#140f22}.fx-canvas-wrap canvas{display:block;position:absolute;inset:0;width:100%;height:100%}.fx-fps{position:absolute;top:.5rem;right:.75rem;font-size:.7rem;font-weight:900;color:#ffffff8c;font-variant-numeric:tabular-nums;z-index:5}.fx-overlay{position:absolute;inset:0;background:#080510b8;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:10;animation:fx-overlay-in .18s ease-out both}@keyframes fx-overlay-in{0%{opacity:0}to{opacity:1}}.fx-panel{background:#1a142cf0;border:var(--funky-border);border-radius:14px;box-shadow:var(--funky-shadow-lg);padding:1.5rem;width:min(440px,90vw);display:flex;flex-direction:column;gap:1rem;max-height:88vh;max-height:88dvh;overflow-y:auto;animation:fx-panel-in .22s cubic-bezier(.16,1,.3,1) both}@keyframes fx-panel-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.fx-panel h2{margin:0;font-weight:900;font-size:1.8rem;letter-spacing:.01em;text-transform:uppercase}.fx-panel label{color:var(--funky-ink)}.fx-input{width:100%;padding:.5rem .7rem;border:var(--funky-border);border-radius:8px;background:var(--funky-sunken);color:var(--funky-ink);font-family:inherit;font-weight:800;font-size:.95rem;transition:border-color .12s ease-out}.fx-input::placeholder{color:var(--funky-ink-muted);font-weight:600}.fx-input:focus{outline:none;border-color:var(--funky-cyan)}.fx-input:disabled{opacity:.5}.fx-settings{height:100%;display:flex;flex-direction:column;padding:1.1rem clamp(1rem,5vw,4rem);gap:1rem;overflow:hidden}.fx-settings-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.9rem;border-bottom:var(--funky-border)}.fx-settings-body{flex:1;overflow-y:auto;padding-right:.5rem}.fx-section{margin-bottom:1.5rem}.fx-section-title{font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;color:var(--funky-ink-muted);border-bottom:var(--funky-border);padding-bottom:.4rem;margin-bottom:.8rem}.fx-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .15rem;border-bottom:1px solid rgba(255,255,255,.07);transition:background-color .12s ease-out}.fx-row:hover{background:#ffffff08}.fx-row-label{font-weight:700;font-size:.95rem}.fx-row-desc{font-size:.75rem;color:var(--funky-ink-muted);font-weight:500;margin-top:.1rem}.fx-row-control{display:flex;align-items:center;gap:.6rem;min-width:200px;justify-content:flex-end}.fx-slider{-webkit-appearance:none;appearance:none;width:140px;height:6px;border-radius:999px;background:#ffffff29;border:none;outline:none}.fx-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--funky-pink);border:none;cursor:pointer;box-shadow:0 0 12px #ff4eba99;transition:transform .1s ease-out}.fx-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.fx-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--funky-pink);border:none;cursor:pointer;box-shadow:0 0 12px #ff4eba99}.fx-slider-val{font-weight:900;font-variant-numeric:tabular-nums;min-width:76px;text-align:right}.fx-slider-val--editable{cursor:text;border-bottom:1px dotted rgba(255,255,255,.3)}.fx-slider-val--editable:hover{color:var(--funky-cyan);border-bottom-color:var(--funky-cyan)}.fx-slider-input{width:76px;border:var(--funky-border);border-radius:6px;background:var(--funky-sunken);color:var(--funky-ink);padding:.15rem .4rem;font-weight:900;font-family:inherit;font-variant-numeric:tabular-nums;text-align:right}.fx-slider-input:focus{outline:none;border-color:var(--funky-cyan)}.fx-toggle{width:46px;height:26px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:var(--funky-sunken);position:relative;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out;flex-shrink:0}.fx-toggle.on{background:var(--funky-green);border-color:transparent;box-shadow:0 0 14px #00c22a73}.fx-toggle .knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#ffffffb8;border:none;transition:transform .14s ease-out,background-color .14s ease-out}.fx-toggle.on .knob{transform:translate(20px);background:#fff}.fx-seg{display:inline-flex;border:var(--funky-border);border-radius:8px;overflow:hidden;background:var(--funky-sunken)}.fx-seg button{border:none;background:transparent;color:var(--funky-ink-muted);padding:.34rem .72rem;font-weight:700;font-size:.82rem;cursor:pointer;font-family:inherit;transition:background-color .12s ease-out,color .12s ease-out}.fx-seg button:hover:not(.active){background:#ffffff0f;color:var(--funky-ink)}.fx-seg button.active{background:var(--funky-purple);color:#fff}.fx-key{min-width:90px;border:var(--funky-border);border-radius:6px;background:var(--funky-surface);color:var(--funky-ink);padding:.3rem .6rem;font-weight:700;font-size:.8rem;cursor:pointer;font-family:inherit;transition:border-color .12s ease-out,background-color .12s ease-out}.fx-key:hover{border-color:#ffffff57;background:var(--funky-accent-soft)}.fx-key.listening{background:var(--funky-yellow);border-color:transparent;color:#14101f;animation:fx-pulse .6s ease-in-out infinite}@keyframes fx-pulse{50%{opacity:.55}}.fx-keyslots{display:flex;gap:.4rem}.fx-key--slot{min-width:56px;text-align:center}.fx-key--empty{background:transparent;color:var(--funky-ink-muted);border-style:dashed;box-shadow:none}.fx-preset-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-bottom:.75rem;margin-bottom:.5rem;border-bottom:var(--funky-border)}.fx-preset-label{font-weight:900;font-size:.72rem;text-transform:uppercase;color:var(--funky-ink-muted);letter-spacing:.12em;margin-right:.25rem}.fx-preset-hint{font-size:.75rem;color:var(--funky-ink-muted);margin-left:.25rem}.fx-preset-chip{position:relative;display:inline-flex}.fx-preset-del{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;border:1px solid rgba(0,0,0,.35);border-radius:50%;background:var(--funky-danger);color:#fff;font-weight:900;font-size:.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.fx-preset-name{border:var(--funky-border);border-radius:6px;background:var(--funky-sunken);color:var(--funky-ink);padding:.3rem .6rem;font-family:inherit;font-weight:700;font-size:.8rem;width:120px}.fx-preset-name:focus{outline:none;border-color:var(--funky-cyan)}.fx-keygroup-label{font-weight:900;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--funky-ink-muted);margin:1.1rem 0 .2rem}.fx-keygroup-label:first-of-type{margin-top:.25rem}.fx-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:.6rem;width:min(660px,88vw);z-index:2}@media(max-width:560px){.fx-mode-grid{grid-template-columns:repeat(2,1fr)}}.fx-mode-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:var(--funky-radius);background:#2a2244;box-shadow:var(--funky-shadow-sm);padding:.95rem 1.05rem;cursor:pointer;color:var(--funky-ink);text-align:left;font-family:inherit;transition:transform .14s ease-out,box-shadow .14s ease-out,background-color .14s ease-out,border-color .14s ease-out}.fx-mode-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--funky-cyan),var(--funky-purple));opacity:.5;transition:opacity .14s ease-out}.fx-mode-card:hover{transform:translateY(-3px);background:#372d58;border-color:#ffffff6b;box-shadow:var(--funky-shadow-md)}.fx-mode-card:hover:before{opacity:1}.fx-mode-card:active{transform:translateY(-1px);box-shadow:var(--funky-shadow-sm)}.fx-mode-card .name{font-weight:900;font-size:1.05rem;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}.fx-mode-card .desc{font-size:.76rem;color:var(--funky-ink-muted);font-weight:500;margin-top:.2rem;line-height:1.35}.fx-mode-card .rec{margin-top:.4rem;font-size:.76rem;font-weight:900;color:var(--funky-yellow);font-variant-numeric:tabular-nums}.fx-versus-cta{position:relative;overflow:hidden;z-index:2;width:min(660px,88vw);display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.85rem 1rem;border:var(--funky-border);border-radius:var(--funky-radius);background:linear-gradient(90deg,#3b2168,#6b2a5f);box-shadow:var(--funky-shadow-sm);color:var(--funky-ink);font-family:inherit;cursor:pointer;transition:transform .14s ease-out,box-shadow .14s ease-out,border-color .14s ease-out}.fx-versus-cta:hover{transform:translateY(-3px);border-color:#ffffff5c;box-shadow:var(--funky-shadow-md)}.fx-versus-cta:active{transform:translateY(-1px);box-shadow:var(--funky-shadow-sm)}.fx-versus-cta .name{font-weight:900;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase}.fx-versus-cta .desc{font-size:.76rem;font-weight:600;color:#ffffffb8}.fx-versus{position:relative;height:100%;width:100%;background:#140f22}.fx-versus-boards{display:flex;height:100%;width:100%;gap:2px}.fx-versus-pane{position:relative;flex:1;display:flex;flex-direction:column;min-width:0}.fx-versus-pane .fx-canvas-wrap{flex:1}.fx-versus-label{position:absolute;bottom:.55rem;left:50%;transform:translate(-50%);z-index:6;font-weight:900;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.8)}.fx-versus-quit{position:absolute;top:.5rem;right:.75rem;z-index:12;font-weight:900;font-size:.8rem;color:#fff;background:#00000073;border:2px solid rgba(255,255,255,.3);border-radius:6px;padding:.3rem .6rem;cursor:pointer}.fx-versus-quit:hover{background:#ff4eba99}.fx-room{height:100%;width:100%;display:flex;flex-direction:column;background:transparent;overflow:hidden}.fx-room-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;border-bottom:var(--funky-border);background:#00000038;color:var(--funky-ink)}.fx-room-bar__title{font-weight:900;font-size:.95rem;letter-spacing:.22em;line-height:1;text-transform:uppercase;color:var(--funky-ink-muted)}.fx-room-exit{font-family:inherit;font-weight:900;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--funky-ink-muted);background:transparent;border:var(--funky-border);border-radius:8px;padding:.4rem .85rem;cursor:pointer;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}.fx-room-exit:hover{color:#fff;background:#ff3b3b29;border-color:#ff3b3b8c}.fx-room-body{flex:1 1 auto;min-height:0;display:flex;gap:1.1rem;padding:1.1rem;overflow:hidden}.fx-room-col{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--funky-surface);border:var(--funky-border);border-radius:14px;box-shadow:var(--funky-shadow-md);overflow:hidden}.fx-room-col--players{flex:1 1 0}.fx-room-col--settings{flex:2 1 0}.fx-room-col--chat{flex:1 1 0}.fx-room-col__head{flex:0 0 auto;display:flex;align-items:center;padding:.85rem 1rem .65rem;border-bottom:var(--funky-border);color:var(--funky-ink-muted);font-weight:900;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.fx-room-col__head-count{margin-left:auto;font-size:.72rem;letter-spacing:.06em;font-variant-numeric:tabular-nums;opacity:.75}.fx-room-col__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--funky-space-lg);display:flex;flex-direction:column;gap:.75rem}.fx-room-col__foot{flex:0 0 auto;display:flex;flex-direction:column;gap:.6rem;padding:var(--funky-space-lg);border-top:var(--funky-border)}.fx-room-col__foot .funky-button{width:100%;justify-content:center}.fx-room-code{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.9rem .5rem;background:var(--funky-sunken);border:var(--funky-border);border-radius:var(--funky-radius)}.fx-room-code__label{font-weight:900;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--funky-ink-muted)}.fx-room-code__value{font-weight:900;font-size:2.1rem;letter-spacing:.24em;text-indent:.24em;line-height:1.15;text-transform:uppercase;color:var(--funky-cyan);text-shadow:0 0 24px rgba(61,236,253,.45);font-variant-numeric:tabular-nums}.fx-room-code__count{font-weight:800;font-size:.72rem;color:var(--funky-ink-muted)}.fx-roster{display:flex;flex-direction:column;gap:.5rem}.fx-player-box{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .6rem;padding:.55rem .7rem;border:var(--funky-border);border-radius:8px;background:#ffffff0a}.fx-player-box__swatch{width:10px;height:10px;flex:0 0 auto;border-radius:50%;border:none;box-shadow:0 0 10px currentColor}.fx-player-box__name{flex:1 1 5rem;min-width:0;font-weight:900;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-room-score{display:flex;align-items:center;justify-content:center;gap:.4rem;font-weight:900;font-size:1.1rem}.fx-settings-group{display:flex;flex-direction:column;gap:.55rem}.fx-chat{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.fx-chat__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--funky-space-lg);display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.fx-chat__empty{opacity:.4;font-weight:700}.fx-chat__sys{opacity:.55;font-weight:800;font-style:italic}.fx-chat__msg{font-weight:700;word-break:break-word}.fx-chat__nick{font-weight:900}.fx-chat__compose{flex:0 0 auto;display:flex;gap:.4rem;padding:var(--funky-space-md);border-top:var(--funky-border)}.fx-room-error{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:50;font-weight:900;font-size:.85rem;padding:.55rem 1.2rem;border-radius:999px;color:#fff;background:var(--funky-danger);border:none;box-shadow:0 6px 24px #ff3b3b59}.fx-rt{position:absolute;inset:0;z-index:30;overflow:hidden;pointer-events:none;font-family:Pretendard,system-ui,sans-serif}.fx-rt-scrim{position:absolute;inset:0;background:#07050d;opacity:0;animation:fx-rt-scrim 1s ease-out forwards}@keyframes fx-rt-scrim{to{opacity:.42}}.fx-rt-wing{position:absolute;top:0;bottom:0;width:52%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border-top:5px solid #000;border-bottom:5px solid #000;will-change:transform}.fx-rt-wing--l{left:0;transform:translate(-102%);clip-path:polygon(0 0,100% 0,calc(100% - 54px) 100%,0 100%);padding-right:54px}.fx-rt-wing--r{right:0;transform:translate(102%);clip-path:polygon(54px 0,100% 0,100% 100%,0 100%);padding-left:54px}.fx-rt-wing.is-shut{transition:transform .62s cubic-bezier(.22,1.04,.3,1);transform:translate(0)}.fx-rt-wing.is-open{transition:transform .7s cubic-bezier(.55,0,.86,.15)}.fx-rt-wing--l.is-open{transform:translate(-102%)}.fx-rt-wing--r.is-open{transform:translate(102%)}.fx-rt-wing:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.22),transparent 22%,transparent 78%,rgba(0,0,0,.22)),repeating-linear-gradient(-55deg,rgba(255,255,255,.1) 0 2px,transparent 2px 17px);pointer-events:none}.fx-rt-nick{font-size:clamp(.85rem,2vw,1.3rem);font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#000;background:#fffffff0;border:3px solid #000;box-shadow:4px 4px #0006;padding:.18rem .9rem;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:1}.fx-rt-score{font-size:clamp(5rem,17vw,13rem);font-weight:900;line-height:.84;letter-spacing:-.06em;color:#fff;-webkit-text-stroke:4px #000;paint-order:stroke fill;text-shadow:7px 7px 0 rgba(0,0,0,.6);font-variant-numeric:tabular-nums;z-index:1}.fx-rt-score.is-bumped{animation:fx-rt-bump .62s cubic-bezier(.2,1.5,.35,1) both;animation-delay:.48s}@keyframes fx-rt-bump{0%{transform:scale(2.3) rotate(-8deg);filter:brightness(2.6)}60%{transform:scale(.94) rotate(2deg)}to{transform:scale(1) rotate(0);filter:brightness(1)}}.fx-rt-of{font-size:clamp(.7rem,1.5vw,.95rem);font-weight:900;letter-spacing:.2em;color:#0000008c;z-index:1}.fx-rt-stamp{position:absolute;bottom:11%;font-size:clamp(1.1rem,3vw,2.1rem);font-weight:900;letter-spacing:.22em;padding:.12rem 1.1rem;border:5px solid #000;box-shadow:5px 5px #00000073;transform:rotate(-8deg);z-index:1;animation:fx-rt-stamp .56s cubic-bezier(.2,1.5,.4,1) both;animation-delay:.7s}@keyframes fx-rt-stamp{0%{transform:rotate(-8deg) scale(3.4);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}.fx-rt-seam{position:absolute;top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px;background:linear-gradient(to bottom,transparent,#fff,transparent);opacity:.55;animation:fx-rt-seam .62s ease-out both;animation-delay:.52s}@keyframes fx-rt-seam{0%{opacity:1;box-shadow:0 0 60px 18px #ffffffe6}to{opacity:.28;box-shadow:0 0 10px 2px #ffffff40}}.fx-rt-flash{position:absolute;inset:0;background:#fff;animation:fx-rt-flash .34s ease-out both;pointer-events:none}@keyframes fx-rt-flash{0%{opacity:.92}to{opacity:0}}.fx-rt.is-slam{animation:fx-rt-shake .42s cubic-bezier(.36,.07,.19,.97) both}@keyframes fx-rt-shake{0%,to{transform:translate(0)}12%{transform:translate(-14px,8px)}26%{transform:translate(12px,-9px)}40%{transform:translate(-9px,-5px)}56%{transform:translate(7px,6px)}74%{transform:translate(-4px,3px)}}.fx-rt-board{position:absolute;inset:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:6vh 5vw;animation:fx-rt-fade .46s ease-out both}.fx-rt-board.is-out{animation:fx-rt-fade .62s ease-in both reverse}@keyframes fx-rt-fade{0%{opacity:0}to{opacity:1}}.fx-rt-title{color:#fff;font-size:clamp(.7rem,1.7vw,.95rem);font-weight:900;letter-spacing:.5em;text-transform:uppercase;opacity:.5;margin-bottom:1.4rem;padding-left:.5em;animation:fx-rt-row .62s cubic-bezier(.16,1,.3,1) both}.fx-rt-row{display:flex;align-items:baseline;gap:clamp(.8rem,2.5vw,2rem);width:min(760px,92%);color:#fff;font-weight:900;border-bottom:2px solid rgba(255,255,255,.13);padding:.3rem 0;animation:fx-rt-row .62s cubic-bezier(.16,1,.3,1) both}@keyframes fx-rt-row{0%{opacity:0;transform:translate(-64px)}to{opacity:1;transform:translate(0)}}.fx-rt-row--top{border-bottom-color:#ffffff80}.fx-rt-rank{font-size:clamp(1.3rem,4.2vw,2.6rem);min-width:2.2em;opacity:.35;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.fx-rt-row--top .fx-rt-rank{opacity:1}.fx-rt-name{flex:1;font-size:clamp(1.1rem,3.4vw,2.1rem);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.72}.fx-rt-row--top .fx-rt-name{opacity:1}.fx-rt-row--me .fx-rt-name{text-decoration:underline;text-underline-offset:7px}.fx-rt-wins{font-size:clamp(1.3rem,4.2vw,2.6rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.fx-rt-tools{position:absolute;right:12px;bottom:12px;z-index:40;display:flex;gap:8px;pointer-events:auto}.fx-rt-tools button{font:inherit;font-size:.72rem;font-weight:900;letter-spacing:.04em;padding:4px 10px;color:#fff;background:#00000073;border:2px solid rgba(255,255,255,.4);cursor:pointer}.fx-rt-tools button:hover{background:#000c;border-color:#fff}@media(prefers-reduced-motion:reduce){.fx-rt-wing.is-shut,.fx-rt-wing.is-open{transition-duration:1ms}.fx-rt *,.fx-rt{animation-duration:1ms!important}}.fx-count{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:32}.fx-count b{font-size:clamp(4.5rem,15vw,12rem);font-weight:900;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:#fff;-webkit-text-stroke:4px rgba(0,0,0,.85);paint-order:stroke fill;text-shadow:0 6px 34px rgba(0,0,0,.75);animation:fx-count 1s ease-out both}.fx-count b.is-go{color:var(--funky-green);letter-spacing:-.02em;text-shadow:0 0 44px rgba(0,194,42,.75),0 6px 34px rgba(0,0,0,.7);animation:fx-count-go .62s cubic-bezier(.2,1.5,.35,1) both}@keyframes fx-count{0%{opacity:0;transform:scale(1.35)}16%{opacity:1;transform:scale(1)}74%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.94)}}@keyframes fx-count-go{0%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:scale(1.3)}}@media(prefers-reduced-motion:reduce){.fx-count b{animation-duration:1ms!important}}.fx-versus{background:var(--fx-stage)}.fx-versus .fx-canvas-wrap{background:transparent}.fx-win{position:absolute;inset:0;z-index:20;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 40%,#140c26db,#06040ef5);animation:fx-win-in .38s ease-out both}@keyframes fx-win-in{0%{opacity:0}to{opacity:1}}.fx-win-rays{position:absolute;width:190vmax;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,currentColor 0deg 1.6deg,transparent 1.6deg 13deg);opacity:.07;animation:fx-win-spin 34s linear infinite}@keyframes fx-win-spin{to{transform:rotate(360deg)}}.fx-win-beam{position:absolute;left:-10%;right:-10%;height:clamp(5.5rem,15vw,12rem);background:currentColor;opacity:.14;transform:rotate(-3.5deg) scaleX(0);transform-origin:left center;animation:fx-win-beam .62s cubic-bezier(.16,1,.3,1) both;animation-delay:60ms}@keyframes fx-win-beam{to{transform:rotate(-3.5deg) scaleX(1)}}.fx-win-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:4vh 5vw;max-height:100dvh;overflow-y:auto}.fx-win-kicker{font-size:clamp(.66rem,1.6vw,.85rem);font-weight:900;letter-spacing:.5em;text-transform:uppercase;padding-left:.5em;opacity:.75;animation:fx-win-up .5s cubic-bezier(.16,1,.3,1) both}.fx-win-word{display:flex;font-size:clamp(2.4rem,9vw,6.5rem);font-weight:900;line-height:.94;letter-spacing:.02em;color:currentColor}.fx-win.is-win .fx-win-word{font-size:clamp(3rem,12vw,9rem);letter-spacing:-.03em;color:#fff;-webkit-text-stroke:5px #000;paint-order:stroke fill}.fx-win-word span{display:inline-block;animation:fx-win-settle .42s cubic-bezier(.16,1,.3,1) both}@keyframes fx-win-settle{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}.fx-win.is-win .fx-win-word span{text-shadow:0 0 40px currentColor;animation:fx-win-drop .46s cubic-bezier(.2,1.5,.35,1) both}@keyframes fx-win-drop{0%{transform:translateY(-52px) scale(1.5) rotate(-9deg);opacity:0}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}.fx-win-who{display:flex;align-items:baseline;gap:.7rem;font-size:clamp(1.1rem,3.4vw,2rem);font-weight:900;letter-spacing:.04em;color:#fff;margin-top:.2rem;animation:fx-win-up .52s cubic-bezier(.16,1,.3,1) both;animation-delay:.42s}.fx-win-who b{font-size:1.5em;color:currentColor;font-variant-numeric:tabular-nums}.fx-win-who i{font-style:normal;font-size:.55em;opacity:.6}@keyframes fx-win-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fx-win-rows{display:flex;flex-direction:column;gap:2px;width:min(460px,84vw);margin:1.1rem 0 .6rem}.fx-win-row{display:flex;align-items:baseline;gap:.9rem;padding:.28rem .2rem;color:#fff;font-weight:800;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.12);animation:fx-win-up .42s cubic-bezier(.16,1,.3,1) both}.fx-win-row.is-top{border-bottom-color:currentColor}.fx-win-row.is-me .fx-win-name{text-decoration:underline;text-underline-offset:5px}.fx-win-rank{min-width:1.8em;opacity:.45;font-variant-numeric:tabular-nums}.fx-win-row.is-top .fx-win-rank{opacity:1;color:currentColor}.fx-win-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-win-wins{font-variant-numeric:tabular-nums;color:currentColor}.fx-win-tools{display:flex;flex-direction:column;align-items:center;gap:.6rem;animation:fx-win-up .46s ease-out both;animation-delay:.9s}.fx-win-fall{position:absolute;inset:0;pointer-events:none;overflow:hidden}.fx-win-fall span{position:absolute;top:-6%;border:1.5px solid rgba(0,0,0,.55);animation-name:fx-win-drift;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes fx-win-drift{0%{transform:translateY(0) rotate(0);opacity:0}8%{opacity:1}to{transform:translateY(112vh) rotate(560deg);opacity:.9}}@media(prefers-reduced-motion:reduce){.fx-win *,.fx-win{animation-duration:1ms!important;animation-iteration-count:1!important}}
