/*! tailwindcss v4.3.1 | 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-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-outline-style:solid;--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-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-6{height:calc(var(--spacing) * 6)}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-xs{max-width:var(--container-xs)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-line{border-color:var(--line)}.bg-accent{background-color:var(--accent)}.bg-surface{background-color:var(--surface)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-accent{color:var(--accent)}.text-bg{color:var(--bg)}.text-muted{color:var(--text-muted)}.text-text{color:var(--text)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.filter{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))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:border-line-hover:hover{border-color:var(--line-hover)}.hover\:text-accent:hover{color:var(--accent)}}.focus\:border-accent:focus{border-color:var(--accent)}}[data-theme=dark]{--bg:#0a0a0a;--surface:#161616;--text:#f7f3ee;--text-muted:#7c7c7c;--text-dim:#f7f3ee66;--line:#f7f3ee1f;--line-hover:#f7f3ee38;--accent:#ed892e;--accent-dim:#ed892e26}[data-theme=light]{--bg:#fbf7ef;--surface:#fffdf9;--text:#1a1a1a;--text-muted:#6e6a62;--text-dim:#1a181473;--line:#1a181424;--line-hover:#1a18143d;--accent:#bf5a12;--accent-dim:#bf5a121f}[data-theme]{background-color:var(--bg);color:var(--text)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mono{font-family:var(--font-mono)}.t-kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:500}:root{--night-1:oklch(22% .06 275);--night-2:oklch(30% .08 285);--night-3:oklch(38% .09 290);--card:oklch(98% .015 90);--card-ink:oklch(30% .05 285);--ink:oklch(96% .01 90);--ink-soft:oklch(80% .03 285);--star:oklch(87% .16 88);--star-deep:oklch(75% .15 70);--leaf:oklch(72% .15 145);--berry:oklch(68% .17 5);--font-display:"Fredoka", "Comic Sans MS", cursive;--font-body:"Nunito", "Trebuchet MS", sans-serif}.game-root,.screen{font-family:var(--font-body)}.screen-shell{position:fixed;top:0;right:0;bottom:0;left:0}.screen{color:var(--ink);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.screen-night{background:radial-gradient(60rem 30rem at 80% -10%,oklch(40% .1 300/.55),transparent 60%),radial-gradient(40rem 24rem at 8% 110%,oklch(35% .1 260/.6),transparent 60%),linear-gradient(180deg,var(--night-1),var(--night-2) 55%,var(--night-3))}.screen-night:before{content:"";pointer-events:none;opacity:.5;background-image:radial-gradient(2px 2px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 34% 8%,#fff 50%,#0000 51%),radial-gradient(3px 3px at 56% 22%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 72% 12%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 88% 28%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 20% 42%,#fff 50%,#0000 51%),radial-gradient(3px 3px at 94% 52%,#fff 50%,#0000 51%);animation:5s ease-in-out infinite alternate sky-shimmer;position:absolute;top:0;right:0;bottom:0;left:0}@keyframes sky-shimmer{0%{opacity:.3}to{opacity:.7}}h1,h2,h3,.btn-big,.kb-key,.target,.xpbar-badge{font-family:var(--font-display)}.btn-big{color:#351900;color:oklch(25% .06 60);background:linear-gradient(180deg,var(--star),var(--star-deep));cursor:pointer;border:none;border-radius:999px;padding:.8em 1.8em;font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:600;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 4px #a26000,0 10px 24px #10132c80;box-shadow:0 4px oklch(55% .13 65),0 10px 24px #10132c80}.btn-big:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px)scale(1.03);box-shadow:0 6px #a26000,0 14px 28px #10132c8c;box-shadow:0 6px oklch(55% .13 65),0 14px 28px #10132c8c}.btn-big:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #a26000,0 6px 14px #10132c66;box-shadow:0 1px oklch(55% .13 65),0 6px 14px #10132c66}.btn-big:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 4px #a26000,0 14px 28px #10132c8c,0 0 0 7px #ffcd4459;box-shadow:0 4px oklch(55% .13 65),0 14px 28px #10132c8c,0 0 0 7px oklch(87% .16 88/.35)}.btn-big:disabled{opacity:.45;cursor:default}.btn-quiet{font-family:var(--font-display);color:var(--ink);cursor:pointer;background:#ffffff1a;border:2px solid oklch(100% 0 0/.35);border-radius:999px;padding:.6em 1.4em;font-size:1.05rem;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.btn-quiet:hover{background:#fff3;border-color:#fff9;transform:translateY(-1px)}.btn-quiet:active{background:#ffffff24;transform:translateY(1px)}.btn-quiet:focus-visible{outline-offset:2px;background:#fff3;border-color:#e99b2ae6;outline:2px solid #0000;box-shadow:0 0 0 3px #e99b2acc}.btn-icon{cursor:pointer;background:#ffffff1f;border:2px solid oklch(100% 0 0/.3);border-radius:50%;width:3rem;height:3rem;font-size:1.5rem;transition:background .15s,transform .15s,border-color .15s}.btn-icon:hover{background:#ffffff40;border-color:#fff9;transform:scale(1.08)}.btn-icon:active{background:#ffffff2e;transform:scale(.95)}.btn-icon:focus-visible{outline-offset:2px;background:#ffffff40;border-color:#ffffffb3;outline:3px solid #fff}.btn-back{font-family:var(--font-display);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;align-self:flex-start;padding:.5rem 1rem;font-size:1.1rem;transition:color .15s,background .15s}.btn-back:hover{color:var(--ink);background:#ffffff1a}.btn-back:active{background:#ffffff0f;transform:translateY(1px)}.btn-back:focus-visible{outline:2px solid var(--star);outline-offset:2px;color:var(--ink);background:#ffffff1a}.speech{background:var(--card);max-width:26rem;color:var(--card-ink);border-radius:1.4rem;padding:1rem 1.3rem;font-size:clamp(1rem,1.4vw,1.08rem);font-weight:700;line-height:1.45;position:relative;box-shadow:0 1px 2px #0202104d,0 8px 22px #06082066,0 18px 44px #02021047}.speech:before{content:"";border:10px solid #0000;border-right-color:var(--card);border-left:0;position:absolute;top:40%;left:-10px}.speech-sm{padding:.8rem 1rem;font-size:.95rem}.picker{flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:68rem;margin:auto;padding:2rem;display:flex}.picker-tara{align-items:center;gap:1rem;animation:.7s both float-in;display:flex}.picker-title{letter-spacing:.01em;text-shadow:0 4px oklch(20% .06 280),0 8px 30px oklch(85% .16 88/.35);font-size:clamp(2.4rem,6vw,4.2rem);font-weight:700}.picker-sub{color:var(--star);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.6rem;font-size:1.2rem}.picker-cards{flex-wrap:wrap;justify-content:center;gap:1.4rem;display:flex}.picker-card{width:11.5rem;color:var(--ink);cursor:pointer;background:#ffffff14;border:3px solid oklch(100% 0 0/.2);border-radius:1.8rem;flex-direction:column;align-items:center;gap:.5rem;padding:1.4rem 1rem 1.2rem;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;animation:.6s both float-in;display:flex;box-shadow:0 2px 5px #0202104d,0 8px 18px #03031838}.picker-card:nth-child(2){animation-delay:80ms}.picker-card:nth-child(3){animation-delay:.16s}.picker-card:nth-child(4){animation-delay:.24s}.picker-card:hover{border-color:var(--star);background:#ffffff24;transform:translateY(-6px)rotate(-1deg)scale(1.04);box-shadow:0 6px 14px #02021066,0 20px 40px #06082080}.picker-card:active{transform:translateY(-2px)scale(1.01)}.picker-card:focus-visible{border-color:var(--star);background:#ffffff24;outline:none;transform:translateY(-4px)scale(1.03);box-shadow:0 6px 14px #02021066,0 20px 40px #06082080,0 0 0 4px #ffcd4466;box-shadow:0 6px 14px #02021066,0 20px 40px #06082080,0 0 0 4px oklch(87% .16 88/.4)}.picker-name{font-family:var(--font-display);font-size:1.35rem;font-weight:600}.picker-meta{color:var(--star);font-size:.95rem;font-weight:800}.picker-new{border-style:dashed;justify-content:center;min-height:13.4rem}.picker-plus{color:var(--star);font-size:3.4rem;line-height:1;font-family:var(--font-display)}@keyframes float-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.maker{grid-template-columns:minmax(16rem,1fr) minmax(22rem,1.3fr);align-items:center;gap:2.5rem;width:100%;max-width:74rem;margin:auto;padding:2rem clamp(1rem,4vw,4rem);display:grid}.maker .btn-back{grid-column:1/-1}.maker-preview{flex-direction:column;align-items:center;gap:1.4rem;display:flex}.maker-stage{aspect-ratio:1;background:radial-gradient(circle at 50% 38%,#ffffff29,#0000 70%),#ffffff12;border:3px solid oklch(100% 0 0/.18);border-radius:50%;place-items:center;width:min(19rem,60vw);animation:3.4s ease-in-out infinite gentle-bob;display:grid}.maker-tara{align-items:center;gap:.6rem;display:flex}.maker-panel{flex-direction:column;gap:.45rem;display:flex}.maker-h{color:var(--star);margin-top:.7rem;font-size:1.25rem;font-weight:600}.maker-row{flex-wrap:wrap;gap:.55rem;display:flex}.chip{cursor:pointer;background:#ffffff14;border:3px solid oklch(100% 0 0/.2);border-radius:1.2rem;padding:.3rem;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}.chip:hover{background:#ffffff24;border-color:#ffffff80;transform:scale(1.08)}.chip:active{transform:scale(.98)}.chip:focus-visible{border-color:var(--star);background:#ffffff24;outline:none;box-shadow:0 0 0 4px #ffcd4466;box-shadow:0 0 0 4px oklch(87% .16 88/.4)}.chip-on{border-color:var(--star);background:#ffcd442e;background:oklch(87% .16 88/.18);transform:scale(1.06)}.chip-text{font-family:var(--font-display);color:var(--ink);padding:.55rem 1rem;font-size:1.02rem}.swatch{cursor:pointer;border:3px solid oklch(100% 0 0/.3);border-radius:50%;width:2.9rem;height:2.9rem;transition:transform .15s,border-color .15s,box-shadow .15s}.swatch:hover{border-color:#fff9;transform:scale(1.14)}.swatch:active{transform:scale(1.02)}.swatch:focus-visible{border-color:#fff;outline:none;transform:scale(1.1);box-shadow:0 0 0 4px #ffcd448c;box-shadow:0 0 0 4px oklch(87% .16 88/.55)}.swatch.chip-on{border-color:#fff;transform:scale(1.1);box-shadow:0 0 0 4px #ffcd4480;box-shadow:0 0 0 4px oklch(87% .16 88/.5)}.maker-name{font-family:var(--font-display);color:var(--ink);background:#ffffff1a;border:3px solid oklch(100% 0 0/.25);border-radius:1.2rem;outline:none;width:100%;max-width:22rem;padding:.5em .9em;font-size:1.7rem;transition:border-color .15s,background .15s}.maker-name::placeholder{color:#ffffff80}.maker-name:focus{border-color:var(--star);background:#ffffff29}.maker-name:focus-visible{outline:3px solid var(--star);outline-offset:2px;border-color:var(--star)}.maker-panel .btn-big{align-self:flex-start;margin-top:1.1rem}.wardrobe-opt{display:inline-flex;position:relative}.wardrobe-locked{opacity:.5;cursor:default;filter:grayscale(.55)}.wardrobe-locked:hover{background:#ffffff14;border-color:#fff3;transform:none}.swatch.wardrobe-locked:hover{border-color:#ffffff4d;transform:none}.lock-badge{font-family:var(--font-display);color:#351900;color:oklch(25% .06 60);background:linear-gradient(180deg,var(--star),var(--star-deep));border:2px solid var(--night-1);pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;gap:.05rem;padding:.05rem .35rem;font-size:.72rem;line-height:1.5;display:inline-flex;position:absolute;top:-.4rem;right:-.4rem;box-shadow:0 2px 5px #00000059}@keyframes gentle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.map-top{z-index:2;flex-wrap:wrap;align-items:center;gap:1.2rem;padding:.9rem 1.4rem;display:flex}.map-me{font-family:var(--font-display);color:var(--ink);cursor:pointer;background:#ffffff14;border:3px solid oklch(100% 0 0/.2);border-radius:999px;align-items:center;gap:.7rem;padding:.25rem 1.1rem .25rem .35rem;font-size:1.25rem;transition:border-color .15s,background .15s,transform .15s;display:flex}.map-me:hover{border-color:var(--star);background:#ffffff26;transform:scale(1.03)}.map-me:active{background:#ffffff1f;transform:scale(.98)}.map-me:focus-visible{border-color:var(--star);background:#ffffff26;outline:none;box-shadow:0 0 0 4px #ffcd4466;box-shadow:0 0 0 4px oklch(87% .16 88/.4)}.map-actions{gap:.6rem;margin-left:auto;display:flex}.pan{overflow:hidden}.pan-hud{z-index:5;pointer-events:none;background:linear-gradient(#040517d9,#0000);position:absolute;inset:0 0 auto}.pan-hud>*{pointer-events:auto}.pan-scroll{scrollbar-width:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto hidden}.pan-scroll::-webkit-scrollbar{display:none}.pan-strip{height:100%;display:flex}.pan-land{flex:none;width:1150px;height:100%;position:relative}.pan-scene{width:calc(100% + 2px);height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.pan-land:last-child .pan-scene{width:100%}.pan-land-head{z-index:2;pointer-events:none;position:absolute;top:17%;left:6%}.pan-land-name{font-family:var(--font-display);color:var(--star);text-shadow:0 2px 14px oklch(10% .04 275/.85);font-size:clamp(1.6rem,3.2vw,2.1rem);font-weight:700}.pan-land-tag{color:#ffffffe0;text-shadow:0 2px 8px oklch(10% .04 275/.9);font-size:1rem;font-weight:800}.pan-path{pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.pan-path polyline{fill:none;stroke:#ffe6a299;stroke-width:.45px;stroke-dasharray:.1 2.4;stroke-linecap:round}.pan-spot{width:4.6rem;height:4.6rem;font-family:var(--font-display);color:#4a3200;cursor:pointer;background:radial-gradient(circle at 35% 30%,#ffe9a3,#f0b429);border:3px solid #fff3c4;border-radius:50%;font-weight:700;transition:transform .18s,box-shadow .18s;position:absolute;translate:-50% -50%;box-shadow:0 0 26px #fbd35f8c}.pan-spot-num{font-size:1.7rem}.pan-spot:hover:not(:disabled){transform:scale(1.12);box-shadow:0 0 38px #fbd35fcc}.pan-spot:active:not(:disabled){transform:scale(1.02)}.pan-spot:focus-visible{outline-offset:3px;outline:3px solid #fff;transform:scale(1.08);box-shadow:0 0 40px #fbd35fd9}.pan-spot-locked{color:#7d84a5;box-shadow:none;cursor:default;background:#262c47;border-color:#434a6e}.pan-spot-frontier{animation:1.6s ease-in-out infinite spot-pulse}@keyframes spot-pulse{50%{box-shadow:0 0 52px #ffda74f2;box-shadow:0 0 52px oklch(90% .15 90/.95)}}.pan-spot-gold{background:radial-gradient(circle at 35% 28%,#ffeeba,#fccb62 50%,#f6b943 75%,#f2b12f,#efa810);background:radial-gradient(circle at 35% 28%,color(xyz 0.808 0.859 0.414),#fccb62 50%,#f6b943 75%,#f2b12f,#efa810);border-color:#ffe294;border-color:oklch(92% .12 90);box-shadow:0 0 0 3px #f7b8288c,0 0 30px #fdc436d9}.pan-spot-gold:hover:not(:disabled){box-shadow:0 0 0 3px #ffc345b3,0 0 44px #ffcc59f2;box-shadow:0 0 0 3px oklch(85% .16 82/.7),0 0 44px oklch(87% .16 85/.95)}.pan-spot-stars{gap:1px;font-size:1rem;display:flex;position:absolute;bottom:-1.55rem;left:50%;translate:-50%}.pan-spot-stars em{color:#5b6180;text-shadow:0 1px 6px oklch(10% .04 275/.9);font-style:normal}.pan-spot-stars em.on{color:var(--star);text-shadow:0 0 10px oklch(87% .16 88/.8)}.pan-you{justify-items:center;animation:2.4s ease-in-out infinite gentle-bob;display:grid;position:absolute;bottom:calc(100% + 2px);left:50%;translate:-50%}.pan-you i{color:#fff;letter-spacing:.1em;text-shadow:0 2px 6px oklch(10% .04 275/.95);font-size:.75rem;font-style:normal;font-weight:900}.pan-friend{color:#ffffffeb;text-shadow:0 2px 6px oklch(10% .04 275/.9);justify-items:center;gap:2px;font-size:.85rem;font-weight:800;animation:3.2s ease-in-out infinite gentle-bob;display:grid;position:absolute;top:74%;right:8%}.pan-friend-mystery{opacity:.8;animation:none}.pan-friend-btn{cursor:pointer;background:0 0;border:none;border-radius:1rem;padding:.3rem;transition:transform .18s,box-shadow .18s,background .18s}.pan-friend-btn:hover{background:#ffffff1a;transform:scale(1.08);box-shadow:0 0 26px #fbd35f99}.pan-friend-btn:active{transform:scale(.96)}.pan-friend-btn:focus-visible{outline-offset:3px;background:#ffffff1f;outline:3px solid #fff;box-shadow:0 0 28px #fbd35fb3}.pan-friend-greet{animation:.6s ease-in-out friend-greet}@keyframes friend-greet{30%{transform:translateY(-10px)scale(1.14)}60%{transform:translateY(0)scale(1.06)}}.pan-q{width:3.2rem;height:3.2rem;font-family:var(--font-display);color:#8990b1;background:#181d37;border:2px solid oklch(40% .06 275);border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.pan-mist{z-index:3;text-align:center;color:#e0e4f2;pointer-events:none;background:linear-gradient(90deg,#04051773,#030415e0 30%);place-content:center;justify-items:center;gap:.4rem;font-size:1.15rem;font-weight:800;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.pan-mist-moon{font-size:2.2rem}.pan-arrow{z-index:6;color:#4a3200;cursor:pointer;background:#fbd35ff2;border:none;border-radius:50%;width:3.4rem;height:3.4rem;font-size:1.9rem;font-weight:900;line-height:1;transition:transform .15s,box-shadow .15s;position:absolute;top:50%;translate:0 -50%;box-shadow:0 0 22px #fbd35f80}.pan-arrow:hover{transform:scale(1.1);box-shadow:0 0 30px #fbd35fbf}.pan-arrow:active{transform:scale(.94)}.pan-arrow:focus-visible{outline-offset:3px;outline:3px solid #fff;transform:scale(1.06);box-shadow:0 0 30px #fbd35fbf}.pan-arrow-l{left:.8rem}.pan-arrow-r{right:.8rem}.pan-backto{z-index:6;cursor:pointer;color:#4a3200;background:#fbd35ff2;border:none;border-radius:999px;padding:.7rem 1.3rem;font-size:1rem;font-weight:900;transition:transform .15s,box-shadow .15s;position:absolute;bottom:1.2rem;left:50%;translate:-50%;box-shadow:0 3px 8px #02021066,0 0 22px #fbd35f80}.pan-backto:hover{transform:translateY(-2px);box-shadow:0 6px 14px #02021073,0 0 30px #fbd35fb3}.pan-backto:active{transform:translateY(0);box-shadow:0 2px 6px #02021066,0 0 20px #fbd35f8c}.pan-backto:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 6px 14px #02021073,0 0 30px #fbd35fb3}.star{color:#ffffff40}.star.on{color:var(--star);text-shadow:0 0 10px oklch(87% .16 88/.8)}@media(prefers-reduced-motion:reduce){.pan-spot-frontier,.pan-you,.pan-friend,.pan-friend-greet{animation:none}}.xpbar{align-items:center;gap:.6rem;min-width:13rem;display:flex}.xpbar-badge{background:linear-gradient(180deg,var(--star),var(--star-deep));color:#351900;color:oklch(25% .06 60);border-radius:999px;align-items:baseline;gap:.15rem;padding:.28rem .75rem;display:flex;box-shadow:0 2px #a26000,0 4px 10px #10132c66;box-shadow:0 2px oklch(55% .13 65),0 4px 10px #10132c66}.xpbar-lvl{font-size:.75rem;font-weight:600}.xpbar-num{font-size:1.2rem;font-weight:700}.xpbar-track{background:#ffffff26;border:2px solid oklch(100% 0 0/.2);border-radius:999px;flex:1;height:.9rem;overflow:hidden}.xpbar-fill{background:linear-gradient(90deg,var(--star-deep),var(--star));border-radius:999px;height:100%;transition:width .5s cubic-bezier(.22,1.2,.36,1);box-shadow:0 0 12px #ffcd44b3;box-shadow:0 0 12px oklch(87% .16 88/.7)}.xpbar-xp{color:var(--ink-soft);white-space:nowrap;font-size:.85rem;font-weight:800}.play{background:var(--night-1)}.backdrop{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.twinkle{animation:2.6s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:1}}.play-top{z-index:2;align-items:center;gap:1.2rem;padding:.9rem 1.4rem;display:flex;position:relative}.play-level-name{font-family:var(--font-display);text-shadow:0 2px 8px oklch(15% .05 275/.8);font-size:1.3rem;font-weight:600}.play-top .xpbar{max-width:20rem;margin-left:auto}.play-progress{z-index:2;background:#06082080;border:2px solid oklch(100% 0 0/.25);border-radius:999px;height:1rem;margin:0 1.4rem;position:relative}.play-progress-fill{background:linear-gradient(90deg,var(--leaf),var(--star));border-radius:999px;height:100%;transition:width .45s cubic-bezier(.22,1.2,.36,1)}.play-progress-star{color:var(--star);text-shadow:0 0 12px oklch(87% .16 88);font-size:1.5rem;transition:left .45s cubic-bezier(.22,1.2,.36,1);position:absolute;top:-.85rem}.play-stage{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.8rem;min-height:0;display:flex;position:relative}.play-buddies{align-items:flex-end;gap:.8rem;display:flex}.play-me{background:#ffffff24;border:3px solid oklch(100% 0 0/.25);border-radius:50%;padding:.4rem;animation:3s ease-in-out infinite gentle-bob}.target{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0507198c;border:3px solid oklch(100% 0 0/.2);border-radius:1.6rem;gap:.14em;padding:.15em .5em;font-size:clamp(3rem,9vw,6.5rem);font-weight:600;display:flex;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #02021059,0 18px 40px #02021080}.t-done{color:var(--leaf)}.t-now{color:var(--w-glow,var(--star));text-shadow:0 0 22px var(--w-glow,var(--star));animation:1s ease-in-out infinite pulse}.t-todo{color:#ffffff4d}.target-wobble{animation:.4s wobble}@keyframes pulse{50%{opacity:.5}}@keyframes wobble{0%,to{transform:translate(0)}25%{transform:translate(-10px)rotate(-1.5deg)}75%{transform:translate(10px)rotate(1.5deg)}}.streak{font-family:var(--font-display);color:var(--star);text-shadow:0 2px 10px oklch(15% .05 275);font-size:1.3rem;font-weight:600;animation:.3s both float-in}.play-kb{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.6rem;padding:.6rem 1rem 1.2rem;display:flex;position:relative}.kb{flex-direction:column;gap:.32rem;display:flex}.kb-row{gap:.32rem;display:flex}.kb-key{color:#1d1e39;border-bottom:4px solid var(--finger,oklch(70% .02 280));background:linear-gradient(#fff,#d4d6e5);border-radius:.55rem;place-items:center;width:clamp(2.1rem,3.6vw,3rem);height:clamp(2.1rem,3.6vw,3rem);font-size:clamp(.85rem,1.5vw,1.15rem);font-weight:600;transition:transform .1s,filter .1s;display:grid;position:relative;box-shadow:inset 0 0 0 2px #fff9,0 3px 6px #06082066}.kb-space{width:clamp(9rem,18vw,15rem)}.kb-next{background:linear-gradient(180deg,#fff9e6,var(--finger));box-shadow:0 0 0 3px #fff,0 0 22px var(--finger),0 6px 10px #06082080;z-index:1;animation:.9s ease-in-out infinite key-beckon;transform:translateY(-3px)scale(1.12)}.kb-pressed{filter:brightness(.92);transform:translateY(2px)scale(.96)}.kb-bump{background:#44465899;border-radius:999px;width:.7rem;height:.16rem;position:absolute;bottom:.4rem}@keyframes key-beckon{0%,to{transform:translateY(-3px)scale(1.12)}50%{transform:translateY(-6px)scale(1.16)}}.finger-badge{text-align:center;justify-items:center;gap:.5rem;width:9.5rem;animation:.35s both badge-pop;display:grid}.finger-badge-dot{background:var(--finger);width:3.6rem;height:3.6rem;box-shadow:0 0 24px var(--finger);border:4px solid #fff;border-radius:50%}.finger-badge-name{font-family:var(--font-display);color:#fff;text-shadow:0 2px 10px oklch(10% .04 275/.9);font-size:1.3rem;font-weight:700;line-height:1.15}.finger-badge-empty{visibility:hidden}@keyframes badge-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.kb-tapper{pointer-events:none;filter:drop-shadow(0 2px 6px oklch(10% .04 275/.6));width:1.5rem;animation:.9s ease-in-out infinite kb-tap;position:absolute;bottom:76%;left:50%;translate:-50%}@keyframes kb-tap{50%{transform:translateY(.55rem)}}.kb-hint-strong .kb-next{animation-duration:.45s}.hands{align-items:flex-end;gap:.8rem;display:flex}.hand{width:clamp(5rem,9vw,7.5rem);height:auto}.finger-active{filter:drop-shadow(0 0 6px #fff)}.story{z-index:3;flex:1;place-items:center;padding:1.5rem;display:grid;position:relative}.story-card{text-align:center;background:var(--card);max-width:34rem;color:var(--card-ink);border-radius:2.2rem;flex-direction:column;align-items:center;gap:1rem;padding:clamp(1.6rem,4vw,2.2rem) clamp(1.8rem,5vw,2.6rem);animation:.5s cubic-bezier(.22,1.4,.36,1) both card-pop;display:flex;box-shadow:inset 0 1px #fff9,0 2px 8px #02021059,0 30px 70px #0202108c}.story-text{font-size:clamp(1.05rem,2.2vw,1.25rem);font-weight:700;line-height:1.5}.intro-card{gap:.8rem;max-width:46rem}.press-hint{font-size:1.18rem;font-weight:800}.press-hint kbd{border:2.5px solid var(--star);min-width:2.2rem;height:2.2rem;font-family:var(--font-display);color:var(--star);vertical-align:middle;background:#222741;border-bottom-width:5px;border-radius:.55rem;place-items:center;margin:0 .35rem;font-size:1.25rem;transition:background .15s,color .15s,transform .15s;display:inline-grid}.press-hint kbd.kbd-hit{background:var(--star);color:#4a3200;border-bottom-width:2.5px;transform:translateY(2px)}.intro-kb{flex-direction:column;align-items:center;gap:.5rem;display:flex}.intro-kb .hand{width:4.6rem}.kb-pulse{background:linear-gradient(180deg,#fff9e6,var(--finger));animation:1.2s ease-in-out infinite key-pulse}@keyframes key-pulse{0%,to{transform:translateY(0);box-shadow:inset 0 0 0 2px #fff9,0 3px 6px #06082066}50%{box-shadow:0 0 0 3px #fff,0 0 20px var(--finger);transform:translateY(-4px)scale(1.1)}}@keyframes card-pop{0%{opacity:0;transform:scale(.7)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.done-card{max-width:38rem}.done-cheer{color:#a75c00;color:oklch(55% .15 60);font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700}.done-stars{gap:.6rem;font-size:3.4rem;display:flex}.done-star{color:#cbcddb;opacity:.4;transition:none;transform:scale(.6)}.done-star.pop{color:var(--star-deep);opacity:1;text-shadow:0 0 18px oklch(87% .16 88/.9);animation:.5s cubic-bezier(.22,1.6,.36,1) both star-pop}@keyframes star-pop{0%{transform:scale(.2)rotate(-40deg)}to{transform:scale(1)rotate(0)}}.done-xp{color:#514e80;font-size:1.15rem;font-weight:800}.done-friend{flex-direction:column;align-items:center;gap:.4rem;display:flex}.done-friend-text{font-size:1.15rem;font-weight:700}.done-tara{align-items:flex-end;gap:.6rem;display:flex}.done-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:.4rem;display:flex}.key-chip{letter-spacing:.06em;vertical-align:middle;background:#00000038;border:1.5px solid oklch(100% 0 0/.55);border-radius:.45rem;margin-left:.45rem;padding:.15rem .55rem;font-size:.72rem;font-weight:900}.done-actions .btn-quiet{color:#444367;border-color:#44436766}.done-actions .btn-quiet:hover{background:#4443671a}.confetti{pointer-events:none;z-index:50;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.confetti span{animation-name:confetti-fall;animation-timing-function:cubic-bezier(.3,.4,.6,.95);animation-fill-mode:both;position:absolute;top:-4vh}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}85%{opacity:1}to{transform:translateY(108vh) rotate(var(--spin,540deg));opacity:0}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-ease{syntax:"*";inherits:false}
