.kp-avatar,.kp-medal,.kp-medal-ribbon{display:block;flex:none}.kp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.kp-portrait--button:focus-visible,.kp-swatch:focus-visible,.kp-tab:focus-visible,.kp-btn:focus-visible,.kp-reveal__back:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.kp-portrait{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0}.kp-portrait__art{display:block;width:var(--kp-portrait-size);height:var(--kp-portrait-size);border-radius:50%}.kp-portrait--rounded .kp-portrait__art{border-radius:28%}.kp-portrait--ring-current .kp-portrait__art,.kp-portrait--ring-selected .kp-portrait__art{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 5px var(--ring-current)}.kp-portrait--button{font:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;min-width:var(--target-min);min-height:var(--target-min);border-radius:var(--radius-md)}.kp-portrait--locked .kp-portrait__art{filter:grayscale(1);opacity:.55}.kp-portrait__lock{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;padding:4px;border-radius:var(--radius-pill);background:var(--text);color:var(--surface-raised);line-height:0}.kp-portrait__badge{position:absolute;right:-6px;bottom:-6px;line-height:1}.kp-you{flex:none;font-family:var(--font-sans);font-size:12px;font-weight:600;line-height:16px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent)}.kp-swatch-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:6px;width:calc(var(--kp-swatch-size, 72px) + 16px)}.kp-swatch{position:relative;display:grid;place-items:center;width:var(--kp-swatch-size);height:var(--kp-swatch-size);min-width:var(--target-min);min-height:var(--target-min);padding:0;border-radius:var(--radius-lg);border:2px solid var(--line);background:var(--surface-raised);color:var(--text);cursor:pointer;font:inherit}.kp-swatch:hover{border-color:var(--line-strong)}.kp-swatch--selected{border:3px solid var(--accent);background:var(--accent-soft)}.kp-swatch--locked{background:var(--locked-fill);border-style:dashed;border-color:var(--line-strong);cursor:not-allowed}.kp-swatch--locked .kp-swatch__art{filter:grayscale(1);opacity:.45}.kp-swatch__art{display:grid;place-items:center;line-height:0}.kp-swatch__none{width:calc(var(--kp-swatch-size) * .38);height:calc(var(--kp-swatch-size) * .38);box-sizing:border-box;border-radius:50%;border:3px solid var(--text-muted);position:relative}.kp-swatch__none:after{content:"";position:absolute;left:50%;top:-12%;width:3px;height:124%;background:var(--text-muted);transform:translate(-50%) rotate(45deg)}.kp-swatch__corner{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;line-height:0;border:2px solid var(--surface-raised)}.kp-swatch__corner--check{background:var(--accent);color:var(--on-accent)}.kp-swatch__corner--lock{background:var(--text);color:var(--surface-raised)}.kp-swatch__new{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);font-family:var(--font-sans);font-size:11px;font-weight:600;line-height:14px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--pop-coral-strong);color:var(--on-kudo-purple)}.kp-swatch__label{font-family:var(--font-sans);font-size:12px;font-weight:500;line-height:16px;color:var(--text);text-align:center}.kp-swatch__hint{display:block;font-weight:400;color:var(--text-muted)}.kp-studio{display:flex;flex-wrap:wrap;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text);font-family:var(--font-sans)}.kp-studio__preview{flex:1 1 220px;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-sunken)}.kp-studio__anchor{margin:0;font-size:14px;line-height:20px;color:var(--text-muted)}.kp-studio__panel{flex:2 1 320px;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.kp-studio__title{margin:0;font-family:var(--font-display);font-weight:600;font-size:24px;line-height:30px}.kp-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.kp-tab{font:inherit;font-size:14px;font-weight:500;line-height:20px;min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:2px solid var(--line-strong);background:transparent;color:var(--text);cursor:pointer}.kp-tab--on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.kp-studio__tabpanel{display:flex;flex-direction:column;gap:var(--space-4)}.kp-studio__grid{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-2)}.kp-studio__colors{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding-top:var(--space-3);border-top:2px solid var(--line)}.kp-studio__colors-label{font-size:14px;font-weight:500;line-height:20px;margin-right:var(--space-2)}.kp-color{position:relative;display:grid;place-items:center;width:var(--target-min);height:var(--target-min);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;color:var(--on-accent)}.kp-color__dot{width:32px;height:32px;border-radius:50%;border:2px solid var(--line-strong);box-sizing:border-box}.kp-color--on .kp-color__dot{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 5px var(--accent)}.kp-color__check{position:absolute;top:0;right:0;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);line-height:0}.kp-color__check .kp-check{width:11px;height:11px}.kp-color:focus-visible{outline:3px solid var(--focus);outline-offset:0}.kp-reveal{width:320px;max-width:100%;height:470px;perspective:1200px;font-family:var(--font-sans);color:var(--text)}.kp-reveal__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,1.4,.5,1)}.kp-reveal--shown .kp-reveal__inner{transform:rotateY(180deg)}.kp-reveal__back,.kp-reveal__front{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-lg);box-sizing:border-box;box-shadow:var(--shadow-sticker)}.kp-reveal__back{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);border:0;cursor:pointer;font:inherit;background-color:var(--kudo-purple);color:var(--on-kudo-purple);background-image:radial-gradient(circle at 20px 20px,rgba(255,255,255,.12) 6px,transparent 7px);background-size:40px 40px}.kp-reveal__mystery{display:block;line-height:0}.kp-reveal__mystery .kp-avatar{filter:brightness(0) invert(1);opacity:.92}.kp-reveal__cta{font-family:var(--font-display);font-weight:600;font-size:18px;line-height:24px;padding:0 var(--space-5);text-align:center}.kp-reveal__front{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--surface-raised);text-align:center}.kp-reveal__eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.kp-reveal__title{margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:600;font-size:24px;line-height:30px}.kp-reveal__traits{margin:0;font-size:14px;line-height:20px;color:var(--text-muted)}.kp-reveal__actions{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-2);width:100%}@media(prefers-reduced-motion:reduce){.kp-reveal__inner{transition:none}}.kp-btn{font:inherit;font-size:15px;font-weight:600;line-height:20px;min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:2px solid var(--line-strong);background:transparent;color:var(--text);cursor:pointer}.kp-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.kp-lobby{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--kp-lobby-size) + 32px),1fr));gap:var(--space-4) var(--space-3);font-family:var(--font-sans);color:var(--text)}.kp-lobby__seat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);background:var(--surface-raised);min-width:0}.kp-lobby__seat--me{background:var(--accent-soft)}.kp-lobby__name{display:flex;align-items:center;gap:4px;max-width:100%;font-size:14px;font-weight:500;line-height:20px}.kp-lobby__status{font-size:12px;line-height:16px;color:var(--text-muted)}.kp-lobby__status--ready{color:var(--positive);font-weight:600}.kp-lobby__status--ready:before{content:"✓ "}.kp-flame,.kp-class-star,.kp-finish-flag{display:block;flex:none}.kp-flame__flicker,.kp-flame__breathe{transform-box:fill-box;transform-origin:50% 95%}.kp-flame__flicker{animation:kp-flame-flicker 1.8s ease-in-out infinite}.kp-flame__breathe{animation:kp-flame-breathe 3.2s ease-in-out infinite}.kp-flame__glow{animation:kp-flame-glow 2.6s ease-in-out infinite}.kp-flame--still .kp-flame__flicker,.kp-flame--still .kp-flame__breathe,.kp-flame--still .kp-flame__glow{animation:none}@keyframes kp-flame-flicker{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.04,1.08) rotate(-2deg)}60%{transform:scale(.98,1.02) rotate(2deg)}}@keyframes kp-flame-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,1.05)}}@keyframes kp-flame-glow{0%,to{opacity:.55}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.kp-flame__flicker,.kp-flame__breathe,.kp-flame__glow{animation:none}}.kp-arcade-cabinet{display:block;flex:none}.kp-arcade-front{position:relative;display:block;flex:none;width:100%;aspect-ratio:640 / 1020}.kp-arcade-front__art{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.kp-arcade-front__screen{position:absolute;overflow:hidden;border-radius:3%/4%}.kp-arcade-front__controls{position:absolute;display:flex;align-items:center;justify-content:space-between;gap:4%;box-sizing:border-box;padding:0 7%}.kp-arcade-front__coin{position:absolute}.kp-arcade-front__bulb{fill:#ffe27a}.kp-arcade-front--lit .kp-arcade-front__bulb{animation:kp-arcade-chase .9s steps(1,end) infinite}@keyframes kp-arcade-chase{0%{fill:#fff}33.4%{fill:#ffe27a}}@media(prefers-reduced-motion:reduce){.kp-arcade-front--lit .kp-arcade-front__bulb{animation:none}}.kp-portrait,.kp-swatch-wrap,.kp-studio,.kp-reveal,.kp-lobby,.kp-btn,.kp-kit{--surface: var(--kudo-panel);--surface-raised: var(--kudo-panel);--surface-sunken: var(--kudo-sunken);--line: var(--kudo-line);--line-strong: var(--kudo-muted);--text: var(--kudo-text);--text-muted: var(--kudo-muted);--accent: var(--kudo-accent);--on-accent: var(--kudo-on-accent);--accent-soft: var(--kudo-accent-soft);--ring-current: var(--kudo-accent);--focus: #3d2bd1;--positive: var(--kudo-positive);--locked-fill: var(--kudo-sunken);--rank-gold: #ffd84d;--rank-silver: #d5d9ea;--rank-bronze: #f2a66b;--on-rank: #20233a;--kudo-purple: #7257f5;--on-kudo-purple: #ffffff;--pop-coral-strong: #c7304a;--outline: #20233a;--font-display: var(--font-kudo-display);--font-sans: var(--font-kudo);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--target-min: 48px;--shadow-sticker: var(--kudo-shadow-sm)}[data-kudo-mode=dark] :is(.kp-portrait,.kp-swatch-wrap,.kp-studio,.kp-reveal,.kp-lobby,.kp-btn,.kp-kit){--focus: #ffd84d}.kp-fill .kp-portrait,.kp-fill .kp-portrait__art,.kp-fill .kp-avatar{width:100%!important;height:100%!important}
