/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-500:oklch(69.6% .17 162.48);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-800:oklch(27.9% .041 260.031);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-bold:700;--font-weight-black:900;--tracking-widest:.1em;--radius-xl:.75rem;--radius-2xl:1rem;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.\!mb-0{margin-bottom:calc(var(--spacing) * 0)!important}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.min-h-screen{min-height:100vh}.w-12{width:calc(var(--spacing) * 12)}.w-32{width:calc(var(--spacing) * 32)}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.max-w-md{max-width:var(--container-md)}.\!flex-none{flex:none!important}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.\!cursor-default{cursor:default!important}.cursor-pointer{cursor:pointer}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-xl{border-radius:var(--radius-xl)}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-amber-300{border-color:var(--color-amber-300)}.border-slate-200{border-color:var(--color-slate-200)}.\!bg-emerald-500{background-color:var(--color-emerald-500)!important}.\!bg-slate-300{background-color:var(--color-slate-300)!important}.\!bg-slate-400{background-color:var(--color-slate-400)!important}.\!bg-violet-500{background-color:var(--color-violet-500)!important}.\!bg-white{background-color:var(--color-white)!important}.bg-amber-50{background-color:var(--color-amber-50)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-violet-400{--tw-gradient-from:var(--color-violet-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky-400{--tw-gradient-to:var(--color-sky-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-3{padding:calc(var(--spacing) * 3)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.\!px-3{padding-inline:calc(var(--spacing) * 3)!important}.px-4{padding-inline:calc(var(--spacing) * 4)}.\!py-1\.5{padding-block:calc(var(--spacing) * 1.5)!important}.\!py-2{padding-block:calc(var(--spacing) * 2)!important}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.\!text-violet-600{color:var(--color-violet-600)!important}.\!text-white{color:var(--color-white)!important}.\!text-white\/80{color:#fffc!important}@supports (color:color-mix(in lab,red,red)){.\!text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)!important}}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-orange-500{color:var(--color-orange-500)}.text-red-500{color:var(--color-red-500)}.text-sky-400{color:var(--color-sky-400)}.text-sky-500{color:var(--color-sky-500)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-800{color:var(--color-slate-800)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}[x-cloak]{display:none!important}:root{--c-lp:#f9a8d4;--c-lr:#fdba74;--c-lm:#fde047;--c-li:#86efac;--c-ri:#67e8f9;--c-rm:#93c5fd;--c-rr:#c4b5fd;--c-rp:#f0abfc;--c-th:#d1d5db}.finger-lp{background-color:var(--c-lp)}.finger-lr{background-color:var(--c-lr)}.finger-lm{background-color:var(--c-lm)}.finger-li{background-color:var(--c-li)}.finger-ri{background-color:var(--c-ri)}.finger-rm{background-color:var(--c-rm)}.finger-rr{background-color:var(--c-rr)}.finger-rp{background-color:var(--c-rp)}.finger-th{background-color:var(--c-th)}.vkb{width:fit-content;margin:1rem auto 0}.vkb-row{justify-content:center;gap:4px;margin-bottom:4px;display:flex}.vkb-key{color:#334155;opacity:.55;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:.9rem;font-weight:700;transition:transform 80ms,opacity 80ms;display:flex;position:relative;box-shadow:0 2px #00000026}.vkb-space{width:14rem;font-size:.75rem}.vkb-shift{width:4rem;font-size:1rem}.vkb-main{line-height:1}.vkb-sub{opacity:.8;font-size:.7rem;line-height:1}.vkb-home:after{content:"";background:#475569;border-radius:1px;width:.8rem;height:2px;position:absolute;bottom:4px}.vkb-active{opacity:1;outline-offset:1px;z-index:1;outline:3px solid #0ea5e9;transform:scale(1.18)}.vkb-error{opacity:1;background-color:#f87171!important}.hands{margin-top:.75rem}.hand-svg{width:96px;height:110px}.hand-finger,.hand-palm{fill:#fde8d7;stroke:#e2b894;stroke-width:1.5px}.hand-active{fill:#fb923c;stroke:#ea580c}.hands-label{text-align:center;color:#ea580c;min-height:1.5rem;font-size:.95rem;font-weight:700}.prompt{background:#fff;border-radius:1rem;flex-wrap:wrap;justify-content:center;gap:1px;max-height:9rem;padding:1rem 1.5rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.8rem;line-height:2.4rem;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000001a}.tk{color:#94a3b8;text-align:center;border-radius:4px;min-width:.6em;padding:0 2px}.tk-label{color:#7c3aed;background:#f5f3ff;border-radius:6px;align-self:center;margin-left:.8em;padding:0 6px;font-size:.75em;font-weight:900}.tk-space{min-width:.8em}.tk-done{color:#16a34a}.tk-current{color:#0c4a6e;background:#bae6fd;animation:1s infinite pulse-cur}.tk-error{color:#b91c1c;background:#fecaca;animation:.25s shake}@keyframes pulse-cur{50%{background:#7dd3fc}}@keyframes shake{25%{transform:translate(-2px)}75%{transform:translate(2px)}}.game-hud{color:#475569;justify-content:center;gap:1.5rem;margin-bottom:.75rem;font-weight:700;display:flex}.hud-item b{color:#0284c7;font-size:1.1rem}.coach{text-align:right;z-index:10;position:fixed;bottom:1rem;right:1rem}.coach-avatar{filter:drop-shadow(0 2px 4px #0003);font-size:3.5rem}.coach-bubble{color:#334155;background:#fff;border-radius:1rem 1rem .25rem;max-width:16rem;margin-bottom:.25rem;padding:.5rem .9rem;font-size:.95rem;font-weight:700;box-shadow:0 2px 8px #00000026}.island-title{color:#0369a1;margin-bottom:.75rem;font-size:1.3rem;font-weight:900}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem;display:grid}.lesson-card{cursor:pointer;background:#fff;border-radius:1rem;flex-direction:column;align-items:center;gap:.25rem;padding:.9rem .5rem;font-weight:700;transition:transform .12s;display:flex;box-shadow:0 2px 6px #00000014}.lesson-card:hover:not(:disabled){transform:translateY(-3px)scale(1.03)}.lesson-locked{opacity:.45;cursor:not-allowed}.lesson-title{color:#334155;font-size:.85rem}.lesson-stars{color:#f59e0b;letter-spacing:2px}.btn-primary{color:#fff;cursor:pointer;background:#0ea5e9;border-radius:9999px;padding:.6rem 1.5rem;font-weight:900;transition:transform .1s;box-shadow:0 3px #0369a1}.btn-primary:hover{transform:scale(1.05)}.btn-soft{color:#0369a1;cursor:pointer;background:#e0f2fe;border-radius:9999px;padding:.6rem 1.2rem;font-weight:700}.stat-box{color:#475569;background:#fff;border-radius:1rem;padding:.9rem 1.4rem;font-weight:700;box-shadow:0 2px 6px #00000014}.stat-box b{color:#0284c7;font-size:1.3rem}.quest-panel{background:#fffbeb;border:2px dashed #fcd34d;border-radius:1rem;padding:.9rem 1.2rem}.quest-item{color:#92400e;background:#fff;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .9rem;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 1px 3px #00000014}.quest-done{color:#065f46;background:#d1fae5}.quest-prog{color:#b45309;background:#fef3c7;border-radius:9999px;padding:.05rem .5rem;font-size:.75rem;font-weight:900}.lesson-special{background:linear-gradient(135deg,#ede9fe,#e0f2fe)}.badge-grid{margin-top:1rem;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.75rem;max-width:40rem;margin-inline:auto;display:grid}.badge-cell{opacity:.4;color:#64748b;background:#fff;border-radius:1rem;flex-direction:column;align-items:center;gap:.25rem;padding:.8rem .4rem;display:flex;box-shadow:0 2px 6px #00000014}.badge-owned{opacity:1;color:#1e293b;outline:2px solid #fcd34d}.badge-pop{color:#92400e;background:#fef3c7;border-radius:1rem;padding:.6rem 1rem;animation:.4s pop-in}@keyframes pop-in{0%{transform:scale(0)}80%{transform:scale(1.15)}to{transform:scale(1)}}.board{background:#fff;border-radius:1rem;padding:1rem 1.25rem;box-shadow:0 2px 6px #00000014}.board-title{color:#0369a1;margin-bottom:.5rem;font-weight:900}.board-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:.6rem;padding:.4rem 0;font-weight:700;display:flex}.board-row:last-child{border-bottom:none}.board-rank{text-align:center;width:2rem}.modal-mask{z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:#fff;border-radius:1.25rem;width:min(22rem,90vw);padding:1.5rem;box-shadow:0 10px 40px #0003}.setting-row{cursor:pointer;justify-content:space-between;align-items:center;padding:.5rem 0;font-weight:700;display:flex}.setting-row input{accent-color:#0ea5e9;width:1.3rem;height:1.3rem}.toast-stack{z-index:100;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;top:.75rem;left:50%;transform:translate(-50%)}.toast{color:#fff;white-space:nowrap;background:#1e293b;border-radius:9999px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:700;animation:.3s pop-in;box-shadow:0 4px 12px #00000040}.tab{color:#64748b;cursor:pointer;background:#f1f5f9;border-radius:.75rem;flex:1;padding:.5rem;font-weight:900}.tab-active{color:#fff;background:#0ea5e9}.input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:.75rem;outline:none;padding:.55rem .9rem;font-weight:700}.input:focus{border-color:#0ea5e9}.fall-canvas{border-radius:1rem;width:min(720px,100%);margin:0 auto;display:block;box-shadow:0 2px 8px #0000001a}.ime-target{font-family:system-ui,Microsoft JhengHei,sans-serif}.ime-input{text-align:center;background:#fff;border:3px solid #bae6fd;border-radius:1rem;outline:none;width:min(34rem,100%);margin:1rem auto 0;padding:.8rem 1.2rem;font-family:system-ui,Microsoft JhengHei,sans-serif;font-size:1.4rem;font-weight:700;display:block}.ime-input:focus{border-color:#0ea5e9}.pet-img-sm{border-radius:50%;width:2.2rem;height:2.2rem;box-shadow:0 1px 3px #00000026}.pet-img-md{border-radius:50%;width:6.5rem;height:6.5rem;box-shadow:0 3px 8px #00000026}.pet-img-lg{border-radius:50%;width:10rem;height:10rem;box-shadow:0 4px 12px #00000026}.badge-img{border-radius:50%;width:3.5rem;height:3.5rem}.coach-img{border-radius:50%;width:84px;height:84px;box-shadow:0 2px 6px #0003}.coach-preview-img{border-radius:50%;width:150px;height:150px;box-shadow:0 4px 12px #00000026}.coach-anim-bounce{animation:.7s 2 coach-bounce}.coach-anim-sway{animation:.9s ease-in-out 3 coach-sway}.coach-anim-wiggle{animation:.4s 4 coach-wiggle}.coach-talking{animation:.32s ease-in-out infinite coach-talk}@keyframes coach-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)scale(1.06)}}@keyframes coach-sway{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes coach-wiggle{0%,to{transform:translate(0)}50%{transform:translate(5px)rotate(3deg)}}@keyframes coach-talk{0%,to{transform:scaleY(1)}50%{transform:scaleY(.94)scaleX(1.02)}}.coach-wear{line-height:1;position:absolute}.coach-avatar .coach-wear{font-size:30px}.coach-avatar .coach-wear-hat{top:1px;left:50%;transform:translate(-50%)rotate(-8deg)}.coach-avatar .coach-wear-face{top:22px;left:50%;transform:translate(-50%)}.coach-avatar .coach-wear-hand{bottom:0;right:-8px}.coach-avatar{display:inline-block;position:relative}.coach-preview{filter:drop-shadow(0 3px 6px #00000026);display:inline-block;position:relative}.coach-preview .coach-wear{font-size:52px}.coach-preview .coach-wear-hat{top:4px;left:50%;transform:translate(-50%)rotate(-8deg)}.coach-preview .coach-wear-face{top:42px;left:50%;transform:translate(-50%)}.coach-preview .coach-wear-hand{bottom:4px;right:-14px}.btn-mini{color:#fff;cursor:pointer;background:#0ea5e9;border-radius:9999px;padding:.25rem .8rem;font-size:.8rem;font-weight:900}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem;display:grid}.menu-card{cursor:pointer;background:#fff;border-radius:1.25rem;flex-direction:column;align-items:center;gap:.35rem;padding:1.6rem 1rem;transition:transform .12s;display:flex;box-shadow:0 3px 10px #00000014}.menu-card:hover{transform:translateY(-4px)scale(1.02)}.menu-name{color:#0369a1;font-size:1.15rem;font-weight:900}.menu-desc{color:#64748b;font-size:.85rem;font-weight:700}.menu-progress{color:#f59e0b;margin-top:.3rem;font-size:.9rem;font-weight:900}.menu-card-race{background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:0 3px 10px #ef44444d}.menu-card-race .menu-progress{color:#fff}.player-chip{background:#fff;border-radius:9999px;padding:.4rem 1rem;font-weight:700;box-shadow:0 2px 6px #00000014}.race-tracks{flex-direction:column;gap:.5rem;display:flex}.race-track{align-items:center;gap:.6rem;display:flex}.race-name{text-align:right;white-space:nowrap;text-overflow:ellipsis;width:7.5rem;font-size:.85rem;font-weight:700;overflow:hidden}.race-bar{background:#e0f2fe;border-radius:9999px;flex:1;height:1.8rem;position:relative}.race-runner{font-size:1.3rem;transition:left .3s linear;position:absolute;top:50%;transform:translateY(-50%)}.race-rank{color:#0284c7;width:4.5rem;font-size:.85rem;font-weight:900}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
