@theme{ --color-black: #000000; --color-white: #ffffff; --color-neutral-50: #f7f7f8; --color-neutral-100: #ededef; --color-neutral-200: #d9d9de; --color-neutral-300: #b8b8c0; --color-neutral-400: #8e8e99; --color-neutral-500: #6b6b75; --color-neutral-600: #4d4d55; --color-neutral-700: #3a3a40; --color-neutral-800: #26262b; --color-neutral-900: #131316; --color-purple-50: #f4f0fb; --color-purple-100: #e9e1f6; --color-purple-200: #d3c3ed; --color-purple-300: #b49cdf; --color-purple-400: #8b6bc9; --color-purple-500: #6f4fb0; --color-purple-600: #5f40a1; --color-purple-700: #4c3380; --color-purple-800: #3a2762; --color-purple-900: #281a45; --color-danger-500: #db2121; --color-danger-600: #c11717; --color-coin: #fdc700; --color-white-alpha-45: rgba(255, 255, 255, .45); --color-black-alpha-5: rgba(0, 0, 0, .05); --color-black-alpha-10: rgba(0, 0, 0, .1); --color-black-alpha-25: rgba(0, 0, 0, .25); --color-black-alpha-30: rgba(0, 0, 0, .3); --color-black-alpha-45: rgba(0, 0, 0, .45); --color-black-alpha-50: rgba(0, 0, 0, .5); --color-black-alpha-60: rgba(0, 0, 0, .6); --color-black-alpha-65: rgba(0, 0, 0, .65); --color-black-alpha-85: rgba(0, 0, 0, .85); --radius-none: 0; --radius-sm: .25rem; --radius-md: .5rem; --radius-snug: .625rem; --radius-lg: .75rem; --radius-xl: 1.25rem; --radius-full: 9999px; --size-icon-sm: 1rem; --size-icon-md: 1.25rem; --size-icon-lg: 1.5rem; --size-icon-xl: 2rem; --size-avatar-sm: 1.5rem; --size-avatar-md: 2rem; --size-avatar-lg: 2.5rem; --size-avatar-xl: 3rem; --size-avatar-2xl: 4rem; --spacing-0: 0; --spacing-1: .25rem; --spacing-2: .5rem; --spacing-3: .75rem; --spacing-4: 1rem; --spacing-5: 1.25rem; --spacing-6: 1.5rem; --spacing-8: 2rem; --spacing-10: 2.5rem; --spacing-12: 3rem; --spacing-16: 4rem; --font-sans: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; --font-mono: "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace; --font-weight-regular: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --text-2xs: .625rem; --text-xs: .75rem; --text-sm: .875rem; --text-md: 1rem; --text-lg: 1.125rem; --text-xl: 1.25rem; --text-2xl: 1.5rem; --text-3xl: 2rem; --text-4xl: 2.25rem; --leading-tight: 1.2; --leading-normal: 1.5; --leading-relaxed: 1.65; }@theme inline{ --spacing-xxs: var(--spacing-1); --spacing-xs: var(--spacing-2); --spacing-sm: var(--spacing-3); --spacing-md: var(--spacing-4); --spacing-lg: var(--spacing-6); --spacing-xl: var(--spacing-8); --spacing-2xl: var(--spacing-12); --spacing-3xl: var(--spacing-16); --color-text-primary: var(--color-black); --color-text-subtle: var(--color-black-alpha-65); --color-text-micro: var(--color-black-alpha-45); --color-text-accent: var(--color-purple-600); --color-text-disabled: var(--color-neutral-400); --color-text-danger: var(--color-danger-600); --color-bg-subtle: var(--color-purple-50); --color-border-accent: var(--color-purple-600); --color-border-invalid: var(--color-danger-600); --color-focus-ring: var(--color-purple-600); --color-button-solid-bg: var(--color-black); --color-button-solid-bg-hover: var(--color-black-alpha-85); --color-button-solid-bg-active: var(--color-neutral-900); --color-button-solid-bg-disabled: var(--color-black-alpha-10); --color-button-solid-text: var(--color-white); --color-button-solid-text-disabled: var(--color-black-alpha-25); --color-button-outline-border: var(--color-black); --color-button-outline-text: var(--color-black); --color-button-outline-bg: rgba(0, 0, 0, 0); --color-button-outline-bg-hover: var(--color-neutral-50); --color-button-outline-bg-active: var(--color-neutral-100); --color-button-solid-accent-bg: var(--color-purple-50); --color-button-solid-accent-bg-hover: var(--color-purple-100); --color-button-solid-accent-bg-active: var(--color-purple-200); --color-button-solid-accent-bg-disabled: var(--color-black-alpha-10); --color-button-solid-accent-text: var(--color-purple-600); --color-button-solid-accent-text-disabled: var(--color-black-alpha-25); --color-input-bg: var(--color-black-alpha-5); --color-input-text: var(--color-black); --color-input-placeholder: var(--color-black-alpha-30); --color-input-border-focus: var(--color-purple-600); --color-input-border-invalid: var(--color-danger-600); --color-input-label: var(--color-black); --color-input-required: var(--color-danger-500); --color-select-value: var(--color-black); --color-select-placeholder: var(--color-black-alpha-30); --color-select-caret: var(--color-black-alpha-60); --color-select-border-invalid: var(--color-danger-600); --color-select-form-bg: var(--color-black-alpha-5); --color-select-filter-bg: var(--color-white); --color-select-filter-border: var(--color-black-alpha-10); --color-select-panel-bg: var(--color-white); --color-select-panel-border: var(--color-black-alpha-10); --color-select-option-text: var(--color-black); --color-select-option-hover-bg: var(--color-black-alpha-5); --color-select-option-selected-bg: var(--color-black-alpha-5); --color-select-option-check: var(--color-purple-600); --color-checkbox-bg: var(--color-white); --color-checkbox-bg-checked: var(--color-purple-600); --color-checkbox-bg-disabled: var(--color-white); --color-checkbox-border: var(--color-black-alpha-65); --color-checkbox-border-checked: var(--color-purple-600); --color-checkbox-border-disabled: var(--color-black-alpha-30); --color-checkbox-check: var(--color-white); --color-checkbox-check-disabled: var(--color-neutral-400); --color-switch-track-off: var(--color-neutral-300); --color-switch-track-on: var(--color-purple-600); --color-switch-thumb: var(--color-white); --color-popup-bg: var(--color-white); --color-popup-overlay: var(--color-black-alpha-30); --color-popup-title: var(--color-black); --color-popup-body: var(--color-text-subtle); --color-loading-bar-track: var(--color-white-alpha-45); --color-loading-bar-fill: var(--color-white); --color-loading-text: var(--color-white); --color-spinner-label: var(--color-neutral-500); --color-refresh-icon: var(--color-purple-600); --color-toast-bg: var(--color-black-alpha-65); --color-toast-text: var(--color-white); --color-tabs-text: var(--color-black-alpha-65); --color-tabs-text-active: var(--color-black); --color-tabs-line: var(--color-black-alpha-65); --color-tabs-line-active: var(--color-black); }:root{--color-black: #000000;--color-white: #ffffff;--color-neutral-50: #f7f7f8;--color-neutral-100: #ededef;--color-neutral-200: #d9d9de;--color-neutral-300: #b8b8c0;--color-neutral-400: #8e8e99;--color-neutral-500: #6b6b75;--color-neutral-600: #4d4d55;--color-neutral-700: #3a3a40;--color-neutral-800: #26262b;--color-neutral-900: #131316;--color-purple-50: #f4f0fb;--color-purple-100: #e9e1f6;--color-purple-200: #d3c3ed;--color-purple-300: #b49cdf;--color-purple-400: #8b6bc9;--color-purple-500: #6f4fb0;--color-purple-600: #5f40a1;--color-purple-700: #4c3380;--color-purple-800: #3a2762;--color-purple-900: #281a45;--color-danger-500: #db2121;--color-danger-600: #c11717;--color-coin: #fdc700;--color-white-alpha-45: rgba(255, 255, 255, .45);--color-black-alpha-5: rgba(0, 0, 0, .05);--color-black-alpha-10: rgba(0, 0, 0, .1);--color-black-alpha-25: rgba(0, 0, 0, .25);--color-black-alpha-30: rgba(0, 0, 0, .3);--color-black-alpha-45: rgba(0, 0, 0, .45);--color-black-alpha-50: rgba(0, 0, 0, .5);--color-black-alpha-60: rgba(0, 0, 0, .6);--color-black-alpha-65: rgba(0, 0, 0, .65);--color-black-alpha-85: rgba(0, 0, 0, .85);--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-snug: .625rem;--radius-lg: .75rem;--radius-xl: 1.25rem;--radius-full: 9999px;--button-outline-bg: rgba(0, 0, 0, 0);--shadow-dropdown: 0px 4px 12px rgba(0, 0, 0, .1);--shadow-popover: 0px 8px 24px rgba(0, 0, 0, .12);--select-icon-size: 1rem;--select-icon-size-mobile: 1.25rem;--select-form-height: 2.25rem;--select-form-height-mobile: 3rem;--select-filter-height: 2rem;--select-filter-height-mobile: 2.25rem;--select-filter-min-width: 6rem;--select-filter-max-width: 15rem;--select-panel-max-height: 20rem;--select-panel-max-height-mobile: 18rem;--select-panel-max-width: 20rem;--select-option-height: 2.25rem;--select-option-height-mobile: 2.75rem;--loading-bar-width: 16.5rem;--loading-bar-height: .25rem;--spinner-icon-size: 3rem;--toast-min-width: 12.5rem;--toast-max-width: 24rem;--toast-min-height: 3.75rem;--size-icon-sm: 1rem;--size-icon-md: 1.25rem;--size-icon-lg: 1.5rem;--size-icon-xl: 2rem;--size-avatar-sm: 1.5rem;--size-avatar-md: 2rem;--size-avatar-lg: 2.5rem;--size-avatar-xl: 3rem;--size-avatar-2xl: 4rem;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-family-sans: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-family-mono: "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.25rem;--font-line-height-tight: 1.2;--font-line-height-normal: 1.5;--font-line-height-relaxed: 1.65;--text-primary: var(--color-black);--text-subtle: var(--color-black-alpha-65);--text-micro: var(--color-black-alpha-45);--text-accent: var(--color-purple-600);--text-disabled: var(--color-neutral-400);--text-danger: var(--color-danger-600);--bg-subtle: var(--color-purple-50);--border-accent: var(--color-purple-600);--border-invalid: var(--color-danger-600);--focus-ring: var(--color-purple-600);--button-solid-bg: var(--color-black);--button-solid-bg-hover: var(--color-black-alpha-85);--button-solid-bg-active: var(--color-neutral-900);--button-solid-bg-disabled: var(--color-black-alpha-10);--button-solid-text: var(--color-white);--button-solid-text-disabled: var(--color-black-alpha-25);--button-outline-border: var(--color-black);--button-outline-text: var(--color-black);--button-outline-bg-hover: var(--color-neutral-50);--button-outline-bg-active: var(--color-neutral-100);--button-solid-accent-bg: var(--color-purple-50);--button-solid-accent-bg-hover: var(--color-purple-100);--button-solid-accent-bg-active: var(--color-purple-200);--button-solid-accent-bg-disabled: var(--color-black-alpha-10);--button-solid-accent-text: var(--color-purple-600);--button-solid-accent-text-disabled: var(--color-black-alpha-25);--input-bg: var(--color-black-alpha-5);--input-text: var(--color-black);--input-placeholder: var(--color-black-alpha-30);--input-border-focus: var(--color-purple-600);--input-border-invalid: var(--color-danger-600);--input-label: var(--color-black);--input-required: var(--color-danger-500);--select-value: var(--color-black);--select-placeholder: var(--color-black-alpha-30);--select-caret: var(--color-black-alpha-60);--select-border-invalid: var(--color-danger-600);--select-form-bg: var(--color-black-alpha-5);--select-form-padding-x: var(--space-3);--select-form-padding-x-mobile: var(--space-4);--select-form-font-size: var(--font-size-sm);--select-form-font-size-mobile: var(--font-size-md);--select-form-radius: var(--radius-xl);--select-filter-bg: var(--color-white);--select-filter-border: var(--color-black-alpha-10);--select-filter-padding-x: var(--space-3);--select-filter-font-size: var(--font-size-xs);--select-filter-font-size-mobile: var(--font-size-sm);--select-filter-radius: var(--radius-full);--select-filter-gap: var(--space-2);--select-panel-bg: var(--color-white);--select-panel-border: var(--color-black-alpha-10);--select-panel-offset: var(--space-1);--select-panel-radius: var(--radius-md);--select-panel-radius-mobile: var(--radius-lg);--select-option-text: var(--color-black);--select-option-hover-bg: var(--color-black-alpha-5);--select-option-selected-bg: var(--color-black-alpha-5);--select-option-check: var(--color-purple-600);--select-option-padding-x: var(--space-3);--select-option-padding-x-mobile: var(--space-4);--checkbox-bg: var(--color-white);--checkbox-bg-checked: var(--color-purple-600);--checkbox-bg-disabled: var(--color-white);--checkbox-border: var(--color-black-alpha-65);--checkbox-border-checked: var(--color-purple-600);--checkbox-border-disabled: var(--color-black-alpha-30);--checkbox-check: var(--color-white);--checkbox-check-disabled: var(--color-neutral-400);--switch-track-off: var(--color-neutral-300);--switch-track-on: var(--color-purple-600);--switch-thumb: var(--color-white);--popup-bg: var(--color-white);--popup-overlay: var(--color-black-alpha-30);--popup-title: var(--color-black);--loading-bar-track: var(--color-white-alpha-45);--loading-bar-fill: var(--color-white);--loading-text: var(--color-white);--spinner-label: var(--color-neutral-500);--spinner-gap: var(--space-3);--refresh-icon: var(--color-purple-600);--refresh-icon-size: var(--size-icon-sm);--refresh-icon-size-mobile: var(--size-icon-md);--toast-bg: var(--color-black-alpha-65);--toast-text: var(--color-white);--tabs-text: var(--color-black-alpha-65);--tabs-text-active: var(--color-black);--tabs-line: var(--color-black-alpha-65);--tabs-line-active: var(--color-black);--space-xxs: var(--space-1);--space-xs: var(--space-2);--space-sm: var(--space-3);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-8);--space-2xl: var(--space-12);--space-3xl: var(--space-16);--popup-body: var(--text-subtle)}body{font-family:var(--font-family-sans);font-size:var(--type-body-size);line-height:var(--font-line-height-normal);color:var(--type-body-color);font-weight:var(--type-body-weight)}p{font-size:var(--type-body-size);line-height:var(--font-line-height-normal);color:var(--type-body-color)}h1{font-size:var(--type-title-1-size);font-weight:var(--type-title-1-weight);line-height:var(--font-line-height-tight);color:var(--type-title-1-color)}h2{font-size:var(--type-title-2-size);font-weight:var(--type-title-2-weight);line-height:var(--font-line-height-tight);color:var(--type-title-2-color)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--text-primary)}strong,b{font-weight:var(--font-weight-semibold)}small,figcaption{font-size:var(--type-tips-size);font-weight:var(--type-tips-weight);color:var(--type-tips-color)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);text-decoration:none;white-space:nowrap;padding:0 var(--space-4);min-height:1.75rem;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.btn:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--focus-ring)}.btn--sm{font-size:var(--font-size-xs);padding:0 var(--space-3);min-height:1.25rem}.btn--lg{font-size:var(--font-size-md);padding:0 var(--space-6);min-height:2.5rem}.btn__icon{flex:none;width:1.25em;height:1.25em;fill:currentColor}.btn__icon>svg{display:block;width:100%;height:100%}.btn--icon-only{padding-left:0;padding-right:0;width:1.75rem;aspect-ratio:1 / 1}.btn--icon-only.btn--sm{width:1.25rem}.btn--icon-only.btn--lg{width:2.5rem}.btn--loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:1em;height:1em;border:2px solid;border-top-color:transparent;border-radius:var(--radius-full);animation:btn-spin .6s linear infinite}.btn--solid.btn--loading:after{border-color:var(--button-solid-text);border-top-color:transparent}.btn--outline.btn--loading:after{border-color:var(--button-outline-text);border-top-color:transparent}.btn--solid.btn--accent.btn--loading:after{border-color:var(--button-solid-accent-text);border-top-color:transparent}@keyframes btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn--loading:after{animation-duration:1.5s}}.btn--solid{background-color:var(--button-solid-bg);color:var(--button-solid-text)}.btn--solid:hover{background-color:var(--button-solid-bg-hover)}.btn--solid:active{background-color:var(--button-solid-bg-active)}.btn--solid:disabled,.btn--solid[aria-disabled=true]{background-color:var(--button-solid-bg-disabled);color:var(--button-solid-text-disabled);cursor:not-allowed}.btn--outline{background-color:var(--button-outline-bg);color:var(--button-outline-text);border-color:var(--button-outline-border)}.btn--outline:hover{background-color:var(--button-outline-bg-hover)}.btn--outline:active{background-color:var(--button-outline-bg-active)}.btn--outline:disabled,.btn--outline[aria-disabled=true]{opacity:.25;cursor:not-allowed}.btn--accent.btn--outline{color:var(--text-accent);border-color:var(--border-accent)}.btn--accent.btn--outline:hover{background-color:var(--bg-subtle)}.btn--solid.btn--accent{background-color:var(--button-solid-accent-bg);color:var(--button-solid-accent-text)}.btn--solid.btn--accent:hover{background-color:var(--button-solid-accent-bg-hover)}.btn--solid.btn--accent:active{background-color:var(--button-solid-accent-bg-active)}.btn--solid.btn--accent:disabled,.btn--solid.btn--accent[aria-disabled=true]{background-color:var(--button-solid-accent-bg-disabled);color:var(--button-solid-accent-text-disabled)}.btn.btn--loading{position:relative;color:transparent;pointer-events:none;cursor:wait}.checkbox{--_check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E");-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;display:inline-block;position:relative;vertical-align:-.15em;inline-size:1.25rem;block-size:1.25rem;margin:0;box-sizing:border-box;border:1.5px solid var(--checkbox-border);border-radius:var(--radius-sm);background-color:var(--checkbox-bg);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.checkbox:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--checkbox-check);opacity:0;-webkit-mask:var(--_check) center / 72% no-repeat;mask:var(--_check) center / 72% no-repeat}.checkbox:not(:disabled):hover{border-color:var(--checkbox-border-checked)}.checkbox:checked{background-color:var(--checkbox-bg-checked);border-color:var(--checkbox-border-checked)}.checkbox:checked:before{opacity:1}.checkbox:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--focus-ring)}.checkbox:disabled{cursor:not-allowed;background-color:var(--checkbox-bg-disabled);border-color:var(--checkbox-border-disabled)}.checkbox:disabled:checked{background-color:var(--checkbox-bg-disabled);border-color:var(--checkbox-border-disabled)}.checkbox:disabled:before{background-color:var(--checkbox-check-disabled)}.checkbox--sm{inline-size:1rem;block-size:1rem;border-width:1px;border-radius:var(--radius-sm)}.checkbox--lg{inline-size:1.5rem;block-size:1.5rem}.checkbox-field{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.checkbox-field:has(.checkbox:disabled){cursor:not-allowed;color:var(--text-disabled)}.input{display:block;width:100%;box-sizing:border-box;font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--font-line-height-normal);color:var(--input-text);padding:var(--space-2) var(--space-3);min-height:2.25rem;background-color:var(--input-bg);border:1px solid transparent;border-radius:var(--radius-xl);transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder{color:var(--input-placeholder);opacity:1}.input:focus,.input:focus-visible{outline:2px solid transparent;outline-offset:2px;border-color:var(--input-border-focus);box-shadow:0 0 0 1px var(--focus-ring)}.input:disabled,.input[aria-disabled=true]{opacity:.6;cursor:not-allowed}.input--invalid,.input[aria-invalid=true]{border-color:var(--input-border-invalid)}.input--invalid:focus,.input--invalid:focus-visible,.input[aria-invalid=true]:focus,.input[aria-invalid=true]:focus-visible{border-color:var(--input-border-invalid);box-shadow:0 0 0 1px var(--border-invalid)}textarea.input{min-height:7.125rem;border-radius:var(--radius-snug);resize:vertical}.input--sm{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);min-height:2rem}.input--lg{font-size:var(--font-size-md);padding:var(--space-3) var(--space-4);min-height:3rem}.input-label{display:block;margin-bottom:var(--space-2);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-normal);color:var(--input-label)}.input-label--required:before{content:"*";margin-right:.125em;color:var(--input-required)}.input-field{position:relative;display:block}.input-field>.input{padding-right:var(--space-12)}.input-field--multiline>.input{padding-right:var(--space-3);padding-bottom:var(--space-8)}.input-field__count{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);font-family:var(--font-family-sans);font-size:var(--font-size-xs);line-height:1;color:var(--input-placeholder);pointer-events:none}.input-field--multiline .input-field__count{top:auto;bottom:var(--space-3);transform:none}.input-field__count--over{color:var(--text-danger)}.loading{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-2);width:min(var(--loading-bar-width),100%);box-sizing:border-box;font-family:var(--font-family-sans)}.loading[hidden]{display:none}.loading__bar{width:100%;height:var(--loading-bar-height);border-radius:var(--radius-full);background-color:var(--loading-bar-track);overflow:hidden}.loading__bar-fill{width:calc(var(--loading-progress, 0) * 1%);height:100%;border-radius:var(--radius-full);background-color:var(--loading-bar-fill);transition:width .2s ease-out}.loading__bar--indeterminate .loading__bar-fill{width:40%;animation:loading-sweep 1.2s ease-in-out infinite}@keyframes loading-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}.loading .loading__label{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--loading-text)}@media(prefers-reduced-motion:reduce){.loading__bar-fill{transition:none}.loading__bar--indeterminate .loading__bar-fill{animation:none;width:100%;opacity:.5;transform:none}}.popup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;justify-content:flex-end}.popup[hidden]{display:none}.popup__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--popup-overlay);opacity:0;transition:opacity .2s ease}.popup__sheet{--popup-global-padding: var(--space-md);--popup-title-gap: var(--space-xs);--popup-content-footer-gap: var(--space-lg);--popup-footer-safe-area: env(safe-area-inset-bottom, 0px);position:relative;width:100%;box-sizing:border-box;max-height:90vh;overflow-y:auto;padding:var(--popup-global-padding);padding-bottom:calc(var(--popup-global-padding) + var(--space-2xl) + var(--popup-footer-safe-area));background-color:var(--popup-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-dropdown);transform:translateY(100%);transition:transform .24s ease;touch-action:pan-y;overscroll-behavior-y:contain}.popup__title{margin:0;font-size:var(--type-emphasis-size);font-weight:var(--type-emphasis-weight);line-height:var(--font-line-height-tight);color:var(--popup-title)}.popup__body{margin:var(--popup-title-gap) 0 0;font-size:var(--type-tips-size);font-weight:var(--type-tips-weight);line-height:var(--font-line-height-normal);color:var(--popup-body)}.popup__footer{position:sticky;bottom:0;display:flex;gap:var(--space-xs);margin:var(--popup-content-footer-gap) calc(-1 * var(--popup-global-padding)) calc(-1 * var(--popup-global-padding));padding:var(--popup-global-padding);padding-bottom:calc(var(--popup-global-padding) + var(--popup-footer-safe-area));background-color:var(--popup-bg)}.popup.is-open .popup__overlay{opacity:1}.popup.is-open .popup__sheet{transform:none}.popup__sheet:focus{outline:none}@media(prefers-reduced-motion:reduce){.popup__overlay,.popup__sheet{transition:none}}.refresh{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);border:0;border-radius:var(--radius-sm);background:none;color:var(--refresh-icon);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.refresh:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.refresh:disabled,.refresh[aria-disabled=true]{opacity:.5;cursor:not-allowed}.refresh__icon{display:block;width:var(--refresh-icon-size-mobile);height:var(--refresh-icon-size-mobile);background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpolyline%20points='23%204%2023%2010%2017%2010'/%3E%3Cpath%20d='M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpolyline%20points='23%204%2023%2010%2017%2010'/%3E%3Cpath%20d='M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010'/%3E%3C/svg%3E") center / contain no-repeat}@media(min-width:48rem){.refresh__icon{width:var(--refresh-icon-size);height:var(--refresh-icon-size)}}.refresh.is-spinning .refresh__icon{animation:refresh-spin-2 1s ease}.refresh--busy .refresh__icon{animation:refresh-spin 1s linear infinite}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes refresh-spin-2{0%{transform:rotate(0)}to{transform:rotate(720deg)}}@media(prefers-reduced-motion:reduce){.refresh.is-spinning .refresh__icon,.refresh--busy .refresh__icon{animation:none}}.select{--_height: var(--select-filter-height-mobile);--_pad-x: var(--select-filter-padding-x);--_font: var(--select-filter-font-size-mobile);--_radius: var(--select-filter-radius);--_icon: var(--select-icon-size-mobile);--_opt-h: var(--select-option-height-mobile);--_opt-pad-x: var(--select-option-padding-x-mobile);--_panel-max-h: var(--select-panel-max-height-mobile);--_panel-radius: var(--select-panel-radius-mobile);position:relative;display:inline-block;min-width:var(--select-filter-min-width);max-width:60%}.select--form{--_height: var(--select-form-height-mobile);--_pad-x: var(--select-form-padding-x-mobile);--_font: var(--select-form-font-size-mobile);--_radius: var(--select-form-radius);display:block;width:100%;min-width:0;max-width:none}@media(min-width:48rem){.select{--_height: var(--select-filter-height);--_font: var(--select-filter-font-size);--_icon: var(--select-icon-size);--_opt-h: var(--select-option-height);--_opt-pad-x: var(--select-option-padding-x);--_panel-max-h: var(--select-panel-max-height);--_panel-radius: var(--select-panel-radius);max-width:var(--select-filter-max-width)}.select--form{--_height: var(--select-form-height);--_pad-x: var(--select-form-padding-x);--_font: var(--select-form-font-size);max-width:none}}.select-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--select-filter-gap)}.select__trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;box-sizing:border-box;height:var(--_height);padding:0 var(--_pad-x);font-family:var(--font-family-sans);font-size:var(--_font);line-height:var(--font-line-height-normal);text-align:left;background-color:var(--select-filter-bg);border:1px solid var(--select-filter-border);border-radius:var(--_radius);cursor:pointer;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.select--form .select__trigger{background-color:var(--select-form-bg);border-color:transparent}.select__trigger:focus-visible{outline:2px solid transparent;outline-offset:2px;border-color:var(--focus-ring);box-shadow:0 0 0 1px var(--focus-ring)}.select__trigger:disabled,.select__trigger[aria-disabled=true]{opacity:.5;cursor:not-allowed}.select__trigger[aria-invalid=true]{border-color:var(--select-border-invalid)}.select__trigger[aria-invalid=true]:focus-visible{border-color:var(--select-border-invalid);box-shadow:0 0 0 1px var(--select-border-invalid)}.select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--select-value);font-weight:var(--font-weight-regular)}.select__value--placeholder{color:var(--select-placeholder);font-weight:var(--font-weight-regular)}.select__caret{flex:none;width:var(--_icon);height:var(--_icon);background-color:var(--select-caret);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m3.5 6 4.5 4.5L12.5 6'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m3.5 6 4.5 4.5L12.5 6'/%3E%3C/svg%3E") no-repeat center / contain;transition:transform .15s ease-out}.select__trigger[aria-expanded=true] .select__caret{transform:rotate(180deg)}.select__panel{position:absolute;left:0;top:calc(100% + var(--select-panel-offset));z-index:50;box-sizing:border-box;width:max-content;min-width:100%;max-width:min(var(--select-panel-max-width),calc(100vw - var(--space-8)));margin:0;padding:var(--space-1);list-style:none;max-height:var(--_panel-max-h);overflow-y:auto;background-color:var(--select-panel-bg);border:1px solid var(--select-panel-border);border-radius:var(--_panel-radius);box-shadow:var(--shadow-popover);animation:select-panel-in .15s ease-out}.select__panel[hidden]{display:none}.select__panel--up{top:auto;bottom:calc(100% + var(--select-panel-offset));animation-name:select-panel-in-up}.select__panel[data-closing]{animation:select-panel-out .1s ease-in forwards;pointer-events:none}@keyframes select-panel-in{0%{opacity:0;transform:translateY(calc(-1 * var(--space-1)))}}@keyframes select-panel-in-up{0%{opacity:0;transform:translateY(var(--space-1))}}@keyframes select-panel-out{to{opacity:0}}.select__option{position:relative;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;box-sizing:border-box;min-height:var(--_opt-h);padding:calc((var(--_opt-h) - 1.25rem) / 2) var(--_opt-pad-x);border-radius:var(--radius-sm);font-family:var(--font-family-sans);font-size:var(--_font);line-height:1.25rem;color:var(--select-option-text);cursor:pointer;-webkit-user-select:none;user-select:none}.select__option:hover,.select__option[data-active=true]{background-color:var(--select-option-hover-bg)}.select__option[aria-selected=true]{background-color:var(--select-option-selected-bg);padding-right:calc(var(--_opt-pad-x) + 1.25rem)}.select__option[aria-selected=true]:after{content:"";position:absolute;top:50%;right:var(--_opt-pad-x);width:1rem;height:1rem;transform:translateY(-50%);background-color:var(--select-option-check);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m3 8.5 3.5 3.5L13 5'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m3 8.5 3.5 3.5L13 5'/%3E%3C/svg%3E") no-repeat center / contain}.select__option[aria-disabled=true]{opacity:.5;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.select__panel{animation:none}.select__panel[data-closing]{display:none}.select__caret{transition:none}}.spinner{display:inline-flex;flex-direction:column;align-items:center;gap:var(--spinner-gap);font-family:var(--font-family-sans)}.spinner[hidden]{display:none}.spinner--block{display:flex;width:100%;justify-content:center}.spinner--center{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:fit-content;height:fit-content}.spinner__icon{display:block;width:var(--spinner-icon-size);height:var(--spinner-icon-size);animation:spinner-spin 1.2s linear infinite}.spinner__icon>svg,.spinner__icon>img{display:block;width:100%;height:100%}.spinner__icon--brand{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M15.8595 18.2535C15.0268 15.3673 12.2503 12.8819 11.0014 12C9.75256 12.7216 6.70073 15.6078 6.07627 18.4941C5.3896 21.6678 9.5444 23.545 11.0014 20.1777C11.834 23.545 16.9002 21.8614 15.8595 18.2535Z' fill='%231569B2'/%3E%3Cpath d='M15.8595 3.74646C15.0268 6.63271 12.2503 9.11809 11.0014 10C9.75256 9.27844 6.70073 6.39219 6.07627 3.50594C5.3896 0.332184 9.5444 -1.54499 11.0014 1.8223C11.834 -1.545 16.9002 0.138649 15.8595 3.74646Z' fill='%23EF9331'/%3E%3Cpath d='M3.74646 15.8598C6.63271 15.0271 9.11809 12.2506 10 11.0017C9.27844 9.75286 6.39219 6.70104 3.50594 6.07658C0.332184 5.38991 -1.54499 9.54471 1.8223 11.0017C-1.54499 11.8343 0.138649 16.9005 3.74646 15.8598Z' fill='%236E3892'/%3E%3Cpath d='M18.2535 15.8598C15.3673 15.0271 12.8819 12.2506 12 11.0017C12.7216 9.75286 15.6078 6.70104 18.4941 6.07658C21.6678 5.38991 23.545 9.54471 20.1777 11.0017C23.545 11.8343 21.8614 16.9005 18.2535 15.8598Z' fill='%2346B186'/%3E%3C/svg%3E") center / contain no-repeat}@keyframes spinner-spin{to{transform:rotate(360deg)}}.spinner .spinner__label{margin:0;font-size:var(--font-size-sm);line-height:var(--font-line-height-normal);color:var(--spinner-label)}@media(prefers-reduced-motion:reduce){.spinner__icon{animation:none}}.switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.switch>input{position:absolute;width:1px;height:1px;margin:0;opacity:0}.switch__slider{position:relative;flex:none;width:2.25rem;height:1.25rem;border-radius:var(--radius-full);background-color:var(--switch-track-off);transition:background-color .12s ease}.switch__slider:before{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:var(--radius-full);background-color:var(--switch-thumb);transition:transform .12s ease}.switch>input:checked+.switch__slider{background-color:var(--switch-track-on)}.switch>input:checked+.switch__slider:before{transform:translate(1rem)}.switch>input:focus-visible+.switch__slider{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--focus-ring)}.switch>input:disabled+.switch__slider{opacity:.5}.switch:has(>input:disabled){cursor:not-allowed}.switch__label{font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--font-line-height-normal);color:var(--text-primary)}@media(prefers-reduced-motion:reduce){.switch__slider,.switch__slider:before{transition:none}}.tabs{display:flex;align-items:flex-end;gap:var(--space-6)}.tab{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;padding:var(--space-3) 0;background:none;border:0;font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-tight);color:var(--tabs-text);white-space:nowrap;cursor:pointer;box-shadow:inset 0 -1px 0 var(--tabs-line);transition:color .12s ease,box-shadow .12s ease}.tab:hover{color:var(--tabs-text-active)}.tab--active,.tab[aria-selected=true]{color:var(--tabs-text-active);font-weight:var(--font-weight-semibold);box-shadow:inset 0 -2px 0 var(--tabs-line-active)}.tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.tab:disabled,.tab[aria-disabled=true]{color:var(--text-disabled);cursor:not-allowed}.toast{display:inline-flex;align-items:center;gap:var(--space-3);inline-size:max-content;min-inline-size:var(--toast-min-width);max-inline-size:min(var(--toast-max-width),calc(100vw - var(--space-8)));min-block-size:var(--toast-min-height);box-sizing:border-box;padding:var(--space-3) var(--space-4);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--font-line-height-normal);color:var(--toast-text);background-color:var(--toast-bg);border-radius:var(--radius-lg)}.toast-viewport{position:fixed;inset-block-end:var(--space-6);inset-inline:0;z-index:50;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none}.toast-viewport>.toast{pointer-events:auto}:root{--type-title-1-size: var(--font-size-3xl);--type-title-1-weight: var(--font-weight-semibold);--type-title-1-color: var(--text-primary);--type-title-2-size: var(--font-size-2xl);--type-title-2-weight: var(--font-weight-semibold);--type-title-2-color: var(--text-primary);--type-emphasis-size: var(--font-size-md);--type-emphasis-weight: var(--font-weight-semibold);--type-emphasis-color: var(--text-primary);--type-body-size: var(--font-size-sm);--type-body-weight: var(--font-weight-regular);--type-body-color: var(--text-primary);--type-tips-size: var(--font-size-xs);--type-tips-weight: var(--font-weight-regular);--type-tips-color: var(--text-subtle);--type-micro-size: var(--font-size-2xs);--type-micro-weight: var(--font-weight-regular);--type-micro-color: var(--text-micro)}.text-title-1{font-size:var(--type-title-1-size);font-weight:var(--type-title-1-weight);line-height:var(--font-line-height-tight);color:var(--type-title-1-color)}.text-title-2{font-size:var(--type-title-2-size);font-weight:var(--type-title-2-weight);line-height:var(--font-line-height-tight);color:var(--type-title-2-color)}.text-emphasis{font-size:var(--type-emphasis-size);font-weight:var(--type-emphasis-weight);line-height:var(--font-line-height-normal);color:var(--type-emphasis-color)}.text-tips{font-size:var(--type-tips-size);font-weight:var(--type-tips-weight);line-height:var(--font-line-height-normal);color:var(--type-tips-color)}.text-micro{font-size:var(--type-micro-size);font-weight:var(--type-micro-weight);line-height:var(--font-line-height-normal);color:var(--type-micro-color)}.text-display{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-tight)}.text-heading{font-size:var(--type-title-1-size);font-weight:var(--type-title-1-weight);line-height:var(--font-line-height-tight);color:var(--type-title-1-color)}.text-section{font-size:var(--type-title-2-size);font-weight:var(--type-title-2-weight);line-height:var(--font-line-height-tight);color:var(--type-title-2-color)}.text-subsection{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight)}.text-lead{font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-normal)}.text-body-lg{font-size:var(--type-emphasis-size);font-weight:var(--type-emphasis-weight);line-height:var(--font-line-height-normal);color:var(--type-emphasis-color)}.text-body{font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--font-line-height-normal);color:var(--type-body-color)}.text-caption{font-size:var(--type-tips-size);font-weight:var(--type-tips-weight);line-height:var(--font-line-height-normal);color:var(--type-tips-color)}:root{font-family:var(--font-family-sans, sans-serif);color:var(--text-primary);background:var(--color-neutral-50);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden;background:var(--color-neutral-50)}a{color:inherit;text-decoration:none}.player-home{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(135deg,var(--color-white) 0%,var(--bg-subtle) 58%,var(--color-purple-100) 100%)}.player-home__glow{position:absolute;width:min(55vw,680px);aspect-ratio:1;right:-18vw;top:-22vw;border:1px solid var(--color-purple-200);border-radius:50%;box-shadow:0 0 0 44px var(--color-purple-50),0 0 0 45px var(--color-purple-100);opacity:.7}.player-nav,.player-home__content{position:relative;z-index:1;width:min(1200px,calc(100% - 48px));margin-inline:auto}.player-nav{display:flex;align-items:center;justify-content:space-between;padding:28px 0}.player-brand{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:.01em}.player-brand__mark{display:grid;width:34px;height:34px;place-items:center;color:var(--color-white);background:var(--color-black);border-radius:10px}.player-nav__status,.player-eyebrow{color:var(--text-accent);font-size:11px;font-weight:700;letter-spacing:.14em}.player-home__content{padding:clamp(88px,16vh,180px) 0 120px}.player-eyebrow{margin:0 0 22px}.player-home h1{max-width:760px;margin:0;font-size:clamp(42px,7vw,92px);line-height:.98;letter-spacing:0}.player-home__copy{max-width:540px;margin:32px 0 0;color:var(--text-subtle);font-size:18px;line-height:1.55}.player-home__rule{width:min(260px,60vw);height:1px;margin:58px 0 22px;background:var(--border-accent)}.player-home__note{margin:0;color:var(--text-micro);font-size:13px}.game-shell{display:flex;min-height:100vh;flex-direction:column;background:var(--color-neutral-900)}.game-shell__bar{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px;color:var(--color-white);background:var(--color-black)}.game-shell__back,.game-shell__meta,.game-shell__actions{display:flex;align-items:center;gap:10px}.game-shell__back{color:var(--color-white);font-size:13px;font-weight:700}.game-shell__meta{min-width:0;flex:1;justify-content:center}.game-shell__mode{color:var(--color-purple-300);font-size:12px;font-weight:700}.game-shell__game-id{max-width:28vw;overflow:hidden;color:var(--color-neutral-300);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.game-shell__stage{position:relative;display:grid;min-height:0;flex:1;place-items:stretch;background:var(--color-neutral-800)}.game-shell__frame{width:100%;min-height:calc(100vh - 64px);border:0;opacity:0;transition:opacity .18s ease}.game-shell__frame--loaded{opacity:1}.game-shell__loading{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:14px;color:var(--color-neutral-300);font-size:13px;pointer-events:none}.game-shell__spinner{width:24px;height:24px;border:2px solid var(--color-neutral-600);border-top-color:var(--color-purple-400);border-radius:50%;animation:player-spin .8s linear infinite}.game-shell .btn--outline{color:var(--color-white);border-color:var(--color-neutral-500)}.game-shell .btn--outline:hover{background:var(--color-neutral-800)}@keyframes player-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.player-nav,.player-home__content{width:min(100% - 32px,1200px)}.player-nav{padding-top:20px}.player-nav__status{display:none}.game-shell__bar{min-height:58px;padding:10px 12px}.game-shell__back span,.game-shell__actions .btn span{display:none}.game-shell__meta{justify-content:flex-start}.game-shell__frame{min-height:calc(100vh - 58px)}}
