*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.right-6{right:1.5rem}.top-6{top:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[calc\(100vh-2rem\)\]{min-height:calc(100vh - 2rem)}.min-h-screen{min-height:100vh}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.overflow-hidden{overflow:hidden}.text-balance{text-wrap:balance}.rounded-2xl{border-radius:1rem}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.bg-amber-50\/80{background-color:#fffbebcc}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-sky-50{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-white\/80{background-color:#fffc}.bg-\[radial-gradient\(circle_at_top_left\,\#fff7ed_0\,\#fef3c7_26\%\,\#e0f2fe_58\%\,\#f5f3ff_100\%\)\]{background-image:radial-gradient(circle at top left,#fff7ed 0,#fef3c7 26%,#e0f2fe 58%,#f5f3ff)}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.font-dyslexia{font-family:Atkinson Hyperlegible,Inter,ui-sans-serif,system-ui,sans-serif}.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.leading-tight{line-height:1.25}.text-rose-800{--tw-text-opacity: 1;color:rgb(159 18 57 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-teal-800{--tw-text-opacity: 1;color:rgb(17 94 89 / var(--tw-text-opacity, 1))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-panel{--tw-shadow: 0 20px 60px rgba(59, 64, 122, .16);--tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-white\/70{--tw-ring-color: rgb(255 255 255 / .7)}.ring-white\/80{--tw-ring-color: rgb(255 255 255 / .8)}.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)}.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)}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.58}.icon-button{display:inline-flex;min-height:44px;min-width:44px;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgb(226 232 240 / .9);background:#ffffffdb;color:#334155;box-shadow:0 8px 26px #0f172a14;transition:transform .16s ease,background .16s ease}.icon-button:hover{transform:translateY(-1px);background:#fff}.danger-icon-button{border-color:#fecacaf2;background:#fff1f2;color:#be123c}.danger-icon-button:hover{background:#ffe4e6}.exit-game-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;border:1px solid rgb(254 202 202 / .95);background:#fff1f2;color:#be123c;padding:.55rem .85rem;font-size:.88rem;font-weight:950;box-shadow:0 8px 26px #be123c1f;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.exit-game-button:hover{transform:translateY(-1px);background:#ffe4e6;box-shadow:0 12px 30px #be123c2e}.logout-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.42rem;border-radius:999px;border:1px solid rgb(203 213 225 / .9);background:#ffffffdb;color:#334155;padding:.55rem .85rem;font-size:.88rem;font-weight:950;box-shadow:0 8px 26px #0f172a14;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.logout-button:hover{transform:translateY(-1px);background:#fff;box-shadow:0 12px 30px #0f172a1f}.primary-button,.secondary-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.55rem;border-radius:999px;padding:.75rem 1.15rem;font-weight:900;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-button{border:0;background:linear-gradient(135deg,#0f766e,#2563eb);color:#fff;box-shadow:0 12px 34px #2563eb3d}.primary-button.generating{background:linear-gradient(100deg,#fff0 20%,#ffffff47 48%,#fff0 74%),linear-gradient(135deg,#0f766e,#2563eb);background-size:240% 100%,100% 100%;animation:buttonGenerating 1.35s ease-in-out infinite}.primary-button.generating svg{animation:sendGlide 1.15s ease-in-out infinite}.secondary-button{border:1px solid rgb(203 213 225 / .9);background:#fff;color:#334155}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.field{display:grid;gap:.45rem;color:#334155;font-weight:800}.field input,.field select,.answer-box{min-height:48px;width:100%;border-radius:1rem;border:1px solid rgb(203 213 225);background:#ffffffe6;padding:.7rem .9rem;color:#0f172a;outline:none}.story-starter-box{min-height:132px;resize:vertical;line-height:1.55}.field input:focus,.field select:focus,.answer-box:focus,.action-input input:focus{border-color:#0f766e;box-shadow:0 0 0 4px #14b8a629}.landing-stage{position:relative;overflow:hidden;border-radius:2rem;padding:clamp(1.2rem,3vw,2.4rem);background:linear-gradient(90deg,#082f49c7,#082f4973 42%,#082f4924 74%),url(/hero-slides/ocean.png) center / cover no-repeat;box-shadow:inset 0 0 0 1px #fff6,0 28px 72px #0f172a33}.landing-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 22%,rgb(250 204 21 / .36),transparent 15rem),radial-gradient(circle at 72% 18%,rgb(125 211 252 / .28),transparent 16rem),linear-gradient(180deg,#0f172a14,#0f172a2e);pointer-events:none}.landing-topbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:1rem}.landing-login-button,.landing-kicker{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;font-weight:950}.landing-login-button{min-height:42px;border:1px solid rgb(255 255 255 / .62);background:#ffffffe6;color:#0f172a;padding:.55rem .95rem;box-shadow:0 10px 28px #0f172a29}.landing-content{position:relative;z-index:1;display:grid;min-height:calc(100vh - 8rem);grid-template-columns:minmax(0,1fr) minmax(20rem,32rem);align-items:start;gap:clamp(1.5rem,4vw,4rem);padding-top:clamp(1rem,4vh,3rem)}.landing-copy{max-width:47rem;color:#fff}.landing-kicker{margin-top:1.25rem;background:#ffffff29;color:#ecfeff;padding:.55rem .9rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-copy h1{margin:0;font-size:clamp(3.5rem,8vw,7.6rem);font-weight:1000;line-height:.9;letter-spacing:0;text-shadow:0 12px 34px rgb(15 23 42 / .36)}.landing-copy p{margin-top:1.1rem;max-width:42rem;color:#ffffffeb;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:750;line-height:1.65}.landing-actions{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.8rem}.landing-login-panel{align-self:end;min-height:15rem}.landing-login-panel .login-card{margin-top:0}.login-stage{position:relative;display:grid;grid-template-rows:auto 1fr;align-items:end;overflow:hidden;border-radius:2rem;padding:clamp(1.5rem,4vw,3.5rem);background:linear-gradient(90deg,#082f49c7,#082f4980 38%,#082f491f 72%),linear-gradient(180deg,#0f172a14,#0f172a3d),url(/hero-slides/door.png) center / cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff6b,0 28px 72px #0f172a33}.login-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 18%,rgb(250 204 21 / .38),transparent 16rem),radial-gradient(circle at 86% 12%,rgb(125 211 252 / .28),transparent 15rem),radial-gradient(circle at 74% 86%,rgb(244 114 182 / .24),transparent 18rem);pointer-events:none}.login-hero-copy{position:relative;z-index:1;max-width:44rem}.login-hero-copy h1{color:#fff;font-size:clamp(3.25rem,8vw,7.6rem);font-weight:1000;line-height:.9;letter-spacing:0;text-shadow:0 12px 34px rgb(15 23 42 / .36)}.login-card{position:relative;z-index:1;width:min(100%,38rem);margin-top:clamp(2rem,18vh,9rem);border-radius:1.5rem;border:1px solid rgb(255 255 255 / .68);background:radial-gradient(circle at 92% 18%,rgb(250 204 21 / .26),transparent 7rem),linear-gradient(135deg,#ffffffeb,#dbeafed6);padding:clamp(1.2rem,2.4vw,1.75rem);box-shadow:0 22px 58px #0f172a42;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card:before,.login-card:after{content:"";position:absolute;top:50%;width:1.3rem;height:1.3rem;border-radius:999px;background:#0f172a57;transform:translateY(-50%)}.login-card:before{left:-.65rem}.login-card:after{right:-.65rem}.login-card-ribbon{width:-moz-fit-content;width:fit-content;border-radius:999px;background:linear-gradient(135deg,#fef3c7,#f9a8d4);padding:.45rem .8rem;color:#0f766e;font-size:.82rem;font-weight:1000;text-transform:uppercase}.login-card-copy{margin-top:.9rem;color:#334155;font-size:1rem;font-weight:850;line-height:1.6}.login-card .field span{color:#0f172a}.login-card .field input{border-color:#0e749038;background:#ffffffd1;box-shadow:inset 0 1px #ffffffe6}.login-primary-button{background:linear-gradient(135deg,#0f766e,#0891b2,#2563eb)}.login-secondary-button{border-color:#0e74902e;background:#ffffffbd;color:#0f172a}@media(max-width:720px){.landing-stage{min-height:calc(100vh - 1rem);padding:1rem}.landing-content{min-height:auto;grid-template-columns:1fr;padding-top:2.5rem}.landing-copy h1{font-size:clamp(3rem,16vw,4.8rem)}.login-stage{min-height:calc(100vh - 1rem);padding:1.2rem}.login-card{margin-top:2rem}}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;border-radius:1.1rem;background:#e2e8f0;padding:.3rem}.segmented button{min-height:42px;border:0;border-radius:.85rem;background:transparent;color:#475569;font-weight:900;text-transform:capitalize}.segmented button.active{background:#fff;color:#0f766e;box-shadow:0 4px 16px #0f172a17}.panel-scene{position:relative;overflow:hidden;border-radius:1.5rem;background:linear-gradient(180deg,#bae6fd,#fde68a 58%,#bbf7d0);box-shadow:inset 0 0 0 1px #ffffffb3}.scene-sky,.scene-library,.scene-puppy,.scene-sparkles{position:absolute;inset:0}.scene-library:before{content:"";position:absolute;left:14%;right:18%;bottom:12%;height:46%;border-radius:2rem 2rem .8rem .8rem;background:linear-gradient(135deg,#fef3c7,#f9a8d4);box-shadow:inset 0 0 0 8px #ffffff8c,0 22px 42px #0f172a24}.scene-library:after{content:"";position:absolute;left:45%;bottom:12%;width:12%;height:28%;border-radius:1rem 1rem 0 0;background:#0f766e}.scene-puppy:before{content:"";position:absolute;right:16%;bottom:15%;width:14%;aspect-ratio:1;border-radius:50% 50% 45% 45%;background:#fff7ed;box-shadow:-18px 15px #ffedd5,17px 13px #ffedd5,0 31px 0 -4px #2563eb;animation:bob 1.6s ease-in-out infinite}.scene-sparkles:before,.scene-sparkles:after{content:"";position:absolute;width:9px;height:9px;border-radius:999px;background:#fff;box-shadow:80px 60px #fef08a,260px 90px #bfdbfe,430px 45px #f0abfc,560px 130px #99f6e4;animation:drift 3.5s ease-in-out infinite}.adventure-slideshow{position:relative;display:grid;min-height:min(360px,42vh);overflow:hidden;border-radius:1.5rem;background:#0f172a;box-shadow:inset 0 0 0 1px #ffffff80,0 18px 44px #0f172a24;isolation:isolate}.adventure-slideshow:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#0f172aa3,#0f172a4d 48%,#0f172a14);pointer-events:none}.adventure-slide-image{position:absolute;inset:0;z-index:1;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.adventure-image-placeholder{position:absolute;inset:0;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;background:radial-gradient(circle at 78% 22%,rgb(254 240 138 / .28),transparent 24%),linear-gradient(135deg,#0f172a,#164e63 52%,#312e81);padding:1rem}.adventure-image-placeholder span{border-radius:.7rem;background:linear-gradient(100deg,transparent 24%,rgb(255 255 255 / .2) 48%,transparent 72%),linear-gradient(135deg,#ffffff14,#7dd3fc1f);background-size:220% 100%,100% 100%;box-shadow:inset 0 0 0 1px #ffffff14;animation:placeholderShimmer 2.4s ease-in-out infinite}.adventure-image-placeholder i{position:absolute;inset:0;display:block;background:linear-gradient(90deg,transparent 0 44%,rgb(255 255 255 / .24) 50%,transparent 56% 100%);transform:translate(-110%);animation:generationScan 2.8s ease-in-out infinite}.adventure-slide-copy{position:relative;z-index:4;max-width:18rem;align-self:end;margin:auto auto 2.75rem 1rem}.adventure-slide-copy span{display:inline-flex;border-radius:999px;background:#ecfeffe0;padding:.35rem .65rem;color:#0f766e;font-size:.75rem;font-weight:950}.adventure-slide-copy h2{margin:.7rem 0 0;color:#fff;font-size:clamp(1.55rem,3.5vw,2.35rem);font-weight:950;line-height:1.05;text-shadow:0 3px 18px rgb(15 23 42 / .44)}.adventure-slide-copy p{margin-top:.55rem;color:#ffffffeb;font-weight:750;line-height:1.45;text-shadow:0 2px 14px rgb(15 23 42 / .48)}.slide-dots{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:5;display:flex;justify-content:center;gap:.4rem}.slide-dots button{width:.65rem;height:.65rem;border:0;border-radius:999px;background:#ffffffb8;box-shadow:0 3px 10px #0f172a1f}.slide-dots button.active{width:1.55rem;background:#0f766e}.game-layout{display:grid;gap:1rem;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.game-topbar{display:flex;align-items:center;gap:.75rem;border-radius:1.4rem;background:#ffffffd1;padding:.75rem;box-shadow:0 14px 40px #0f172a1f}.game-topbar h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,2vw,1.35rem);font-weight:950;color:#0f172a}.story-thread{margin-top:.35rem;height:9px;overflow:hidden;border-radius:999px;background:radial-gradient(circle at 1.5rem 50%,#14b8a6 0 4px,transparent 5px),radial-gradient(circle at 3.8rem 50%,#60a5fa 0 4px,transparent 5px),radial-gradient(circle at 6.1rem 50%,#f472b6 0 4px,transparent 5px),linear-gradient(90deg,#14b8a647,#60a5fa38,#f472b63d)}.game-main{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}.story-column,.side-column{display:grid;align-content:start;gap:1rem;min-height:0;overflow:hidden}.story-column{grid-template-rows:minmax(0,1fr) auto auto auto}.book-feed{display:grid;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;gap:.85rem;border-radius:1.5rem;background:linear-gradient(90deg,rgb(120 113 108 / .12) 0 1px,transparent 1px calc(100% - 1px),rgb(120 113 108 / .12) calc(100% - 1px)),linear-gradient(180deg,#fffdf7,#fff7ed);padding:clamp(.7rem,1.6vw,1rem);box-shadow:inset 0 0 0 1px #78716c29,0 20px 60px #3b407a24;scrollbar-width:thin;scrollbar-color:#93c5fd rgb(255 255 255 / .25)}.book-feed::-webkit-scrollbar{width:10px}.book-feed::-webkit-scrollbar-thumb{border-radius:999px;background:#93c5fd}.book-feed::-webkit-scrollbar-track{border-radius:999px;background:#ffffff40}.book-beat{display:grid;gap:.7rem;border-radius:1.1rem;background:linear-gradient(90deg,rgb(15 23 42 / .035) 0 1px,transparent 1px),linear-gradient(180deg,#fffefb,#fffbeb);background-size:100% 100%,34px 100%;padding:clamp(.75rem,1.7vw,1rem);box-shadow:inset 0 0 0 1px #78716c1f,0 10px 30px #0f172a14}.story-generating-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem;border-radius:1rem;background:radial-gradient(circle at 16% 20%,rgb(20 184 166 / .18),transparent 30%),linear-gradient(135deg,#f8fafc,#eff6ff 52%,#fdf2f8);padding:.85rem;box-shadow:inset 0 0 0 1px #7dd3fc57,0 12px 32px #0f172a14}.story-generating-pages{position:relative;width:5.5rem;height:4.1rem}.story-generating-pages span{position:absolute;inset:.2rem .35rem;border-radius:.5rem;background:linear-gradient(100deg,transparent 20%,rgb(255 255 255 / .75) 48%,transparent 72%),linear-gradient(180deg,#fffefb,#dbeafe);background-size:220% 100%,100% 100%;box-shadow:inset 0 0 0 1px #3b82f629,0 10px 20px #0f172a17;transform-origin:left center;animation:pageDraft 1.9s ease-in-out infinite}.story-generating-pages span:nth-child(2){animation-delay:.18s;transform:translate(.32rem) rotate(4deg)}.story-generating-pages span:nth-child(3){animation-delay:.36s;transform:translate(.64rem) rotate(8deg)}.story-generating-copy{display:grid;gap:.35rem;min-width:0;color:#0f172a;font-weight:950}.story-generating-copy span{font-size:.95rem}.story-generating-copy strong{position:relative;display:block;width:min(16rem,100%);height:.55rem;overflow:hidden;border-radius:999px;background:#ffffffc7;box-shadow:inset 0 0 0 1px #3b82f61f}.story-generating-copy strong em{position:absolute;inset:0;width:46%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#60a5fa,#f472b6);box-shadow:0 0 18px #60a5fa4d;animation:storyProgressSweep 1.45s ease-in-out infinite}.story-generating-copy b{display:inline-flex;gap:.25rem;align-items:center}.story-generating-copy i{display:block;width:.42rem;height:.42rem;border-radius:999px;background:#14b8a6;animation:writingDots 1s ease-in-out infinite}.story-generating-copy i:nth-child(2){animation-delay:.16s;background:#60a5fa}.story-generating-copy i:nth-child(3){animation-delay:.32s;background:#f472b6}.book-heading{display:grid;gap:.15rem;scroll-margin-block-start:.85rem}.book-heading span,.player-command span{color:#0f766e;font-size:.8rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.book-heading h2{margin:0;color:#1e293b;font-size:clamp(1.2rem,1.8vw,1.7rem);font-weight:950;line-height:1.15}.player-command{position:relative;justify-self:end;display:grid;gap:.25rem;margin:0;max-width:min(74%,38rem);border-radius:1.15rem 1.15rem .25rem;background:linear-gradient(135deg,#0f766e,#2563eb);padding:.7rem .9rem;color:#fff;font-weight:850;box-shadow:0 10px 24px #2563eb2e}.player-command:after{content:"";position:absolute;right:-.35rem;bottom:0;width:.8rem;height:.8rem;background:#2563eb;clip-path:polygon(0 0,100% 100%,0 100%)}.player-command span{color:#ccfbf1e6;font-size:.68rem}.learning-panel{display:grid;gap:.8rem;border-radius:1rem;background:linear-gradient(135deg,#ecfeffeb,#eff6ffe6),#f8fafc;padding:clamp(.8rem,1.8vw,1rem);box-shadow:inset 0 0 0 1px #0e749024,0 10px 26px #0e749014}.learning-panel.passed{background:radial-gradient(circle at 92% 12%,rgb(250 204 21 / .22),transparent 24%),linear-gradient(135deg,#f0fdfaf2,#fff7edeb)}.learning-panel.needs-work{background:linear-gradient(135deg,#fffbebf0,#eff6ffe6)}.learning-panel-top{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.learning-kicker{margin:0 0 .1rem;color:#0f766e;font-size:.78rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.learning-panel h3{margin:0;color:#0f172a;font-size:clamp(1.02rem,1.5vw,1.25rem);font-weight:950;line-height:1.2}.learning-question,.learning-feedback,.learning-correction,.learning-model-answer,.learning-prize{margin:0;border-radius:.9rem;padding:.75rem .85rem;line-height:1.5}.learning-question{background:#ffffffb8;color:#1e293b;font-weight:800}.story-next-step{margin:.85rem 0 0;border:1px solid rgb(20 184 166 / .34);border-radius:1rem;background:linear-gradient(135deg,#ecfeffeb,#dbeafedb);padding:.85rem 1rem;color:#0f766e;font-weight:900;line-height:1.5;box-shadow:inset 0 0 0 1px #ffffffb8,0 8px 18px #0e749014}.learning-answer-form,.learning-result{display:grid;gap:.7rem}.learning-answer{min-height:104px}.score-badge{display:grid;min-width:4.2rem;place-items:center;border-radius:.9rem;background:#fff;padding:.45rem .55rem;color:#0f766e;box-shadow:inset 0 0 0 1px #0e74901f}.score-badge strong{font-size:1.45rem;line-height:1}.score-badge span{color:#475569;font-size:.78rem;font-weight:900}.score-meter{height:.55rem;overflow:hidden;border-radius:999px;background:#e2e8f0e6}.score-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#60a5fa,#f472b6);transition:width .35s ease}.learning-feedback{background:#f0fdfaeb;color:#115e59;font-weight:850}.learning-correction{background:#fffbebf0;color:#92400e;font-weight:800}.learning-model-answer{background:#ffffffb8;color:#334155}.learning-prize{display:flex;align-items:center;gap:.45rem;background:linear-gradient(135deg,#fef3c7,#fecdd3);color:#9f1239;font-weight:950}.learning-scoreboard{display:grid;gap:.7rem}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.score-grid span{display:grid;min-width:0;border-radius:.75rem;background:#f8fafc;padding:.55rem .35rem;color:#64748b;text-align:center;font-size:.72rem;font-weight:900;line-height:1.15}.score-grid strong{color:#0f766e;font-size:1.12rem;line-height:1}@media(min-width:1024px){.game-main{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.side-column{overflow-y:auto;overscroll-behavior:contain;padding-right:.1rem}}.visual-panel{position:relative;min-height:clamp(280px,48vh,520px);overflow:hidden;border-radius:1.5rem;background:#bfdbfe;box-shadow:0 20px 60px #3b407a29;isolation:isolate}.book-beat .visual-panel{width:min(100%,800px);max-width:800px;aspect-ratio:4 / 3;min-height:0;border-radius:.9rem;box-shadow:0 12px 34px #3b407a24}.book-beat .visual-panel figcaption{display:none}.visual-panel figcaption{position:absolute;left:1rem;top:1rem;z-index:5;max-width:calc(100% - 2rem);border-radius:999px;background:#ffffffd6;padding:.5rem .8rem;font-weight:950;color:#0f172a;box-shadow:0 8px 24px #0f172a1f}.generated-scene-image{position:absolute;inset:0;z-index:2;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;background:#fffdf7}.visual-placeholder{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:.55rem;background:radial-gradient(circle at 18% 20%,rgb(255 255 255 / .82),transparent 32%),radial-gradient(circle at 78% 26%,rgb(204 251 241 / .36),transparent 30%),linear-gradient(135deg,#fffaf0,#eef7ff 48%,#f7f0ff);padding:clamp(.8rem,2vw,1.2rem);overflow:hidden}.visual-panel[data-image-status=retrying] .visual-placeholder{background:radial-gradient(circle at 18% 20%,rgb(255 255 255 / .82),transparent 32%),radial-gradient(circle at 78% 26%,rgb(204 251 241 / .42),transparent 30%),linear-gradient(135deg,#fffaf0,#e0f2fe 48%,#fae8ff)}.visual-placeholder:before,.visual-placeholder:after{content:"";position:absolute;pointer-events:none}.visual-placeholder:before{inset:1rem;z-index:3;border-radius:.9rem;background:linear-gradient(90deg,transparent 0 49.5%,rgb(30 41 59 / .2) 49.5% 50.5%,transparent 50.5% 100%),linear-gradient(180deg,transparent 0 49.5%,rgb(30 41 59 / .2) 49.5% 50.5%,transparent 50.5% 100%);opacity:.42;animation:panelFrameBreathe 2.4s ease-in-out infinite}.visual-placeholder:after{left:8%;right:8%;top:18%;z-index:4;height:18%;border-radius:999px;background:linear-gradient(90deg,transparent,rgb(20 184 166 / .36),rgb(96 165 250 / .3),rgb(244 114 182 / .28),transparent);filter:blur(10px);transform:translate(-28%) rotate(-5deg);animation:paintSweep 2.2s ease-in-out infinite}.visual-placeholder span{border-radius:.65rem;background:radial-gradient(circle at 30% 34%,rgb(15 23 42 / .08),transparent 13%),linear-gradient(100deg,transparent 24%,rgb(255 255 255 / .62) 48%,transparent 72%),linear-gradient(135deg,#94a3b81f,#14b8a617);background-size:100% 100%,220% 100%,100% 100%;box-shadow:inset 0 0 0 1px #64748b14;opacity:.68;animation:placeholderShimmer 1.9s ease-in-out infinite,panelPulse 2.6s ease-in-out infinite}.visual-placeholder span:nth-child(2){animation-delay:.18s}.visual-placeholder span:nth-child(3){animation-delay:.32s}.visual-placeholder span:nth-child(4){animation-delay:.48s}.visual-placeholder i,.visual-placeholder b,.visual-placeholder em{position:absolute;display:block;pointer-events:none}.visual-placeholder em{left:1.25rem;right:1.25rem;top:50%;z-index:5;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgb(15 118 110 / .42),transparent);transform:translateY(-50%) scaleX(.14);transform-origin:left center;animation:panelInking 2.2s ease-in-out infinite}.visual-placeholder i{inset:0;background:linear-gradient(90deg,transparent 0 44%,rgb(255 255 255 / .42) 48%,rgb(125 211 252 / .2) 50%,transparent 56% 100%);transform:translate(-110%);animation:generationScan 2.8s ease-in-out infinite}.visual-placeholder b{left:50%;top:50%;width:8px;height:8px;border-radius:999px;background:#fffc;box-shadow:-180px -54px #14b8a638,-94px 62px #60a5fa33,106px -42px #f472b62e,184px 48px #facc1533,18px 74px #a78bfa2e;animation:generationParticles 2.6s ease-in-out infinite}.panel-texture{position:absolute;inset:0;z-index:1;background-image:radial-gradient(rgb(255 255 255 / .35) 1px,transparent 1px),linear-gradient(135deg,rgb(255 255 255 / .18),transparent);background-size:18px 18px,100% 100%;mix-blend-mode:soft-light}.bg-town{background:linear-gradient(180deg,#bae6fd,#fef3c7 58%,#bbf7d0)}.bg-library{background:linear-gradient(180deg,#dbeafe,#f5d0fe 46%,#fef3c7)}.bg-craft_shop{background:linear-gradient(180deg,#fed7aa,#fde68a 46%,#fecdd3)}.bg-puppy_park{background:linear-gradient(180deg,#bbf7d0,#d9f99d 52%,#fef3c7)}.bg-ocean{background:linear-gradient(180deg,#7dd3fc,#a7f3d0 48%,#fde68a)}.bg-festival{background:linear-gradient(180deg,#c4b5fd,#f9a8d4 45%,#fde68a)}.bg-mystery_room{background:linear-gradient(180deg,#c7d2fe,#ddd6fe,#f5d0fe)}.panel-sun{position:absolute;right:10%;top:9%;width:6rem;aspect-ratio:1;border-radius:999px;background:#fef08abf;filter:blur(1px)}.panel-ground{position:absolute;inset:auto -5% -16%;height:40%;border-radius:50% 50% 0 0;background:#ffffff47}.panel-props{position:absolute;left:8%;right:8%;bottom:12%;z-index:3;display:flex;flex-wrap:wrap;gap:.6rem}.panel-object{border-radius:1rem;background:#ffffffb8;padding:.5rem .7rem;font-size:.85rem;font-weight:900;color:#334155;box-shadow:0 8px 20px #0f172a1f;animation:glow 2.4s ease-in-out infinite}.panel-characters{position:absolute;inset:0;z-index:4}.character{position:absolute;display:block;filter:drop-shadow(0 16px 22px rgb(15 23 42 / .18))}.character-player{left:24%;bottom:17%;width:4.5rem;height:8.2rem;border-radius:2rem 2rem 1.4rem 1.4rem;background:linear-gradient(180deg,#fef3c7 0 25%,#38bdf8 25% 70%,#475569 70%)}.character-player:before{content:"";position:absolute;left:50%;top:-1.5rem;width:3.3rem;aspect-ratio:1;transform:translate(-50%);border-radius:999px;background:#fde68a;box-shadow:inset 0 -8px #92400e}.character-mochi{right:18%;bottom:14%;width:5rem;height:3.6rem;border-radius:999px 999px 1.3rem 1.3rem;background:#fff7ed;animation:wag 1.2s ease-in-out infinite}.character-mochi:before,.character-mochi:after{content:"";position:absolute;border-radius:999px}.character-mochi:before{left:.9rem;top:-1.8rem;width:3rem;height:2.7rem;background:#fff7ed;box-shadow:-.9rem .4rem #fed7aa,.9rem .4rem #fed7aa,0 2.35rem 0 -.75rem #2563eb}.character-mochi:after{right:-1rem;top:.4rem;width:1.4rem;height:.65rem;background:#fff7ed;transform-origin:left center;animation:tail .55s ease-in-out infinite alternate}.character-mrs_quill,.character-pip,.character-mayor_maple,.character-book{bottom:18%;width:4.5rem;height:7rem;border-radius:2rem 2rem 1rem 1rem}.character-mrs_quill{left:8%;background:linear-gradient(180deg,#e2e8f0 0 26%,#0f766e 26% 72%,#334155 72%)}.character-pip{left:14%;bottom:15%;width:3.7rem;height:5.6rem;background:linear-gradient(180deg,#fde68a 0 26%,#f97316 26% 78%,#7c2d12 78%)}.character-mayor_maple{left:10%;background:linear-gradient(180deg,#fde68a 0 26%,#16a34a 26% 76%,#334155 76%)}.character-book{left:44%;bottom:22%;width:5.5rem;height:4.2rem;border-radius:.8rem;background:linear-gradient(135deg,#a78bfa,#f0abfc);animation:bookFloat 2s ease-in-out infinite}.character-book:after{content:"";position:absolute;left:46%;top:0;bottom:0;width:.35rem;background:#ffffff80}.panel-sparkle-field:before{content:"";position:absolute;inset:12% 8% auto auto;z-index:2;width:7px;height:7px;border-radius:999px;background:#fff;box-shadow:-70px 80px #fef08a,-210px 45px #fff,-340px 115px #bfdbfe,-470px 72px #f0abfc,-530px 160px #99f6e4;animation:drift 4s ease-in-out infinite}.panel-fireworks:before,.panel-fireworks:after{content:"";position:absolute;z-index:6;width:10rem;aspect-ratio:1;border-radius:999px;background:repeating-conic-gradient(from 10deg,#f472b6 0 10deg,transparent 10deg 24deg,#facc15 24deg 34deg,transparent 34deg 52deg);-webkit-mask:radial-gradient(circle,transparent 0 24%,black 25% 42%,transparent 43%);mask:radial-gradient(circle,transparent 0 24%,black 25% 42%,transparent 43%);animation:boom 1.4s ease-out infinite}.panel-fireworks:before{right:12%;top:16%}.panel-fireworks:after{left:18%;top:22%;animation-delay:.35s}.story-copy{border-radius:0;background:transparent;padding:0;box-shadow:none}.story-copy p{margin:0;color:#1e293b;font-size:clamp(1rem,1.45vw,1.16rem);line-height:1.62}.stretch-chip{display:grid;gap:0;max-width:min(100%,22rem);border-radius:1rem;background:#ecfeff;padding:.45rem .55rem;color:#155e75;box-shadow:inset 0 0 0 1px #0e749014}.stretch-chip.open{padding:.65rem .75rem}.stretch-chip-heading{display:flex;align-items:center;gap:.35rem}.stretch-word-button{border:0;border-radius:999px;background:transparent;padding:.15rem .25rem;color:#155e75;font:inherit;font-weight:950}.stretch-word-button:hover,.stretch-word-button:focus-visible{background:#0e74901a;outline:none}.stretch-chip-detail p{margin-top:.35rem;font-size:.95rem;line-height:1.45}.stretch-chip-detail .word-parts{border-radius:.75rem;background:#ffffffa3;padding:.35rem .5rem;color:#0f766e;font-weight:800}.stretch-chip-detail small{display:block;margin-top:.25rem;color:#475569}.word-audio-button{display:inline-grid;width:1.55rem;height:1.55rem;place-items:center;border:0;border-radius:999px;background:#0e74901f;color:#0e7490}.word-audio-button:hover{background:#0e749033}.hint-helper{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.hint-toggle{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgb(20 184 166 / .42);border-radius:999px;background:#ffffffdb;padding:.55rem .8rem;color:#0f766e;font-weight:900;box-shadow:0 10px 24px #0f172a14}.hint-toggle:hover,.hint-toggle:focus-visible,.hint-toggle.open{background:#f0fdfaf5;outline:none}.hint-list{display:flex;flex-wrap:wrap;gap:.45rem}.action-hint-list{flex-wrap:nowrap;gap:.35rem;overflow-x:auto;padding-bottom:.1rem;scrollbar-width:thin}.hint-pill{border-radius:999px;border:1px dashed rgb(20 184 166 / .55);background:#f0fdfae6;padding:.55rem .75rem;font-weight:850;color:#0f766e;-webkit-user-select:none;-moz-user-select:none;user-select:none}.action-hint-list .hint-pill{flex:0 0 auto;padding:.45rem .62rem;font-size:.86rem;line-height:1.1;white-space:nowrap}.action-input{display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr) auto;border-radius:1.25rem;background:#ffffffdb;padding:.65rem;box-shadow:0 12px 36px #0f172a1a}.action-input.busy{background:linear-gradient(100deg,#fff0 20%,#ffffff80 48%,#fff0 74%),#ffffffe0;background-size:240% 100%,100% 100%;animation:actionBusySweep 1.6s ease-in-out infinite}.action-input.question-mode{background:linear-gradient(135deg,#ecfeffe6,#eff6ffeb),#ffffffe6;box-shadow:0 12px 36px #0f172a1a,inset 0 0 0 1px #0e749029}.action-text-field{position:relative;min-width:0}.action-input input{min-height:54px;min-width:0;width:100%;border:1px solid transparent;border-radius:999px;background:#f8fafc;padding:0 1rem;outline:none}.action-input.question-mode input{background:#ffffffdb}.action-generation-strip{position:absolute;left:1rem;right:1rem;bottom:.48rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.28rem;pointer-events:none}.action-generation-strip span{height:.18rem;border-radius:999px;background:linear-gradient(90deg,#14b8a633,#60a5fa9e,#f472b638);transform-origin:left center;animation:actionSegmentDraft 1.15s ease-in-out infinite}.action-generation-strip span:nth-child(2){animation-delay:.12s}.action-generation-strip span:nth-child(3){animation-delay:.24s}.action-generation-strip span:nth-child(4){animation-delay:.36s}.speech-notice{position:absolute;left:1rem;top:-1.45rem;color:#0f766e;font-size:.78rem;font-weight:850}.action-controls{display:flex;gap:.5rem}.speech-button,.hint-icon-button{display:inline-flex;min-height:54px;width:54px;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,#ecfeff,#dbeafe);padding:0;color:#0f766e;font-weight:950;box-shadow:inset 0 0 0 1px #0e749029}.speech-button{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hint-icon-button:hover,.hint-icon-button:focus-visible,.speech-button:hover,.speech-button:focus-visible{background:linear-gradient(135deg,#f0fdfa,#dbeafe);outline:none;box-shadow:inset 0 0 0 1px #0e749047,0 10px 22px #0e74901a}.speech-button.listening{background:linear-gradient(135deg,#fef3c7,#fecdd3);color:#9f1239;animation:pulseMic 1s ease-in-out infinite}.speech-button:disabled,.hint-icon-button:disabled{opacity:.5}.action-hint-list{grid-column:1 / -1}@media(max-width:520px){.action-input{grid-template-columns:1fr}.action-controls{justify-content:end}}.tool-panel{border-radius:1.25rem;background:#ffffffd6;padding:1rem;box-shadow:0 12px 36px #0f172a1a}.tool-panel h2{display:flex;align-items:center;gap:.45rem;font-size:1rem;font-weight:950;color:#0f172a}.prize-note{margin:.45rem 0 0;color:#64748b;font-size:.82rem;font-weight:750;line-height:1.35}.prize-tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.75rem}.prize-tally span{display:grid;min-width:0;justify-items:center;border-radius:.75rem;background:#f8fafc;padding:.45rem .25rem;color:#64748b;font-size:.68rem;font-weight:850;line-height:1.1}.prize-tally strong{color:#0f766e;font-size:1.05rem;font-weight:950}.collection-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:42px;margin-top:.75rem;border:1px solid rgb(20 184 166 / .24);border-radius:.9rem;background:linear-gradient(135deg,#ecfeff,#eff6ff);color:#0f766e;font-weight:950;box-shadow:0 8px 20px #0e749014}.collection-button:disabled{cursor:not-allowed;opacity:.55}.item-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.55rem}.item-card,.empty-note,.prize-box{min-height:44px;border-radius:.9rem;padding:.65rem;font-weight:850}.item-card{background:#fef3c7;color:#92400e}.empty-note{background:#f1f5f9;color:#64748b}.prize-box{position:relative;display:grid;justify-items:center;gap:.3rem;border:0;overflow:hidden;background:linear-gradient(180deg,#fff7ed,#fff1f2);color:#7f1d1d;text-align:center;box-shadow:inset 0 0 0 1px #fb718529,0 10px 24px #7f1d1d14;animation:bounceTiny 1.8s ease-in-out infinite}.prize-box.open{background:linear-gradient(180deg,#ecfeff,#eff6ff);color:#0f766e;box-shadow:inset 0 0 0 1px #0e749029,0 10px 24px #0f766e14;animation:none}.present-graphic{position:relative;width:min(88px,100%);height:68px;margin-top:.1rem;filter:drop-shadow(0 10px 12px rgb(127 29 29 / .12))}.present-bow{position:absolute;left:50%;top:0;z-index:4;width:38px;height:20px;transform:translate(-50%)}.present-bow span{position:absolute;top:5px;width:20px;height:15px;border:5px solid #db2777;background:#fce7f3}.present-bow span:first-child{right:50%;border-radius:999px 999px 0;transform:rotate(18deg)}.present-bow span:last-child{left:50%;border-radius:999px 999px 999px 0;transform:rotate(-18deg)}.present-lid{position:absolute;left:7px;right:7px;top:20px;z-index:3;height:17px;border-radius:.45rem .45rem .18rem .18rem;background:linear-gradient(90deg,transparent 43%,#fce7f3 43% 57%,transparent 57%),linear-gradient(135deg,#fbbf24,#fb7185);box-shadow:inset 0 2px #ffffff6b,0 4px #9f12392e;transform-origin:18% 100%;transition:transform .18s ease,top .18s ease}.present-box-body{position:absolute;left:12px;right:12px;bottom:2px;height:38px;border-radius:.18rem .18rem .62rem .62rem;background:linear-gradient(135deg,#facc15,#fb7185);box-shadow:inset 0 -8px #9f12391f,inset 0 2px #ffffff40}.present-ribbon-vertical,.present-ribbon-horizontal{position:absolute;background:#fce7f3;box-shadow:inset -2px 0 #db277729}.present-ribbon-vertical{left:50%;top:0;bottom:0;width:13px;transform:translate(-50%)}.present-ribbon-horizontal{left:0;right:0;top:12px;height:10px}.present-label{max-width:100%;overflow-wrap:anywhere;color:inherit;font-weight:950;line-height:1.15}.prize-box small{display:block;overflow:hidden;color:#64748b;font-size:.68rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.prize-box.open .present-graphic{filter:drop-shadow(0 10px 12px rgb(15 118 110 / .13))}.prize-box.open .present-lid{top:12px;transform:rotate(-14deg) translate(-8px,-3px);background:linear-gradient(90deg,transparent 43%,#ccfbf1 43% 57%,transparent 57%),linear-gradient(135deg,#67e8f9,#60a5fa)}.prize-box.open .present-box-body{background:linear-gradient(135deg,#67e8f9,#60a5fa)}.prize-box.open .present-bow span,.prize-box.open .present-ribbon-vertical,.prize-box.open .present-ribbon-horizontal{border-color:#0f766e;background:#ccfbf1}.collection-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#0f172a7a;padding:clamp(1rem,4vw,2rem);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.collection-modal{width:min(860px,100%);max-height:min(760px,calc(100vh - 2rem));overflow:hidden;border-radius:1.4rem;background:radial-gradient(circle at 14% 12%,rgb(20 184 166 / .16),transparent 16rem),radial-gradient(circle at 86% 16%,rgb(244 114 182 / .14),transparent 14rem),linear-gradient(180deg,#fffefb,#f8fafc);box-shadow:inset 0 0 0 1px #fffc,0 30px 90px #0f172a57}.collection-modal-header{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:clamp(1rem,2.5vw,1.4rem);border-bottom:1px solid rgb(148 163 184 / .18)}.collection-modal-header span{color:#0f766e;font-size:.8rem;font-weight:1000;letter-spacing:0;text-transform:uppercase}.collection-modal-header h2{margin:.1rem 0 0;color:#0f172a;font-size:clamp(1.45rem,3vw,2.2rem);font-weight:1000;line-height:1.05}.collection-grid{display:grid;max-height:min(610px,calc(100vh - 9rem));grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;overflow-y:auto;padding:clamp(1rem,2.5vw,1.4rem)}.collection-token-card{display:grid;min-width:0;justify-items:center;gap:.55rem;border-radius:1rem;background:#ffffffb8;padding:.95rem;text-align:center;box-shadow:inset 0 0 0 1px #94a3b829,0 14px 28px #0f172a14}.collection-token-card strong{max-width:100%;overflow-wrap:anywhere;color:#0f172a;font-size:.95rem;font-weight:1000;line-height:1.15}.collection-token-card small{display:-webkit-box;overflow:hidden;color:#64748b;font-size:.73rem;font-weight:750;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:3}.collection-token{--token-a: #14b8a6;--token-b: #60a5fa;--token-c: #ecfeff;--token-delay: 0s;position:relative;display:grid;place-items:center;width:88px;height:88px;border-radius:999px;background:radial-gradient(circle at 34% 24%,rgb(255 255 255 / .92),transparent 15%),radial-gradient(circle at 50% 58%,var(--token-c),transparent 56%),conic-gradient(from 24deg,var(--token-a),var(--token-b),var(--token-a));color:#fff;box-shadow:inset 0 0 0 6px #ffffff9e,inset 0 -12px 18px #0f172a29,0 14px 26px #0f172a29;isolation:isolate;animation:collectionTokenFloat 2.2s ease-in-out var(--token-delay) infinite}.collection-token-ring{position:absolute;inset:10px;border-radius:inherit;border:3px solid rgb(255 255 255 / .62);box-shadow:inset 0 0 0 1px #0f172a14}.collection-token-face{position:relative;z-index:2;display:grid;place-items:center;width:54px;height:54px;border-radius:999px;background:linear-gradient(180deg,#ffffff57,#ffffff1f),#0f172a24;box-shadow:inset 0 0 0 1px #ffffff52,0 8px 16px #0f172a1f}.collection-token-spark{position:absolute;width:9px;height:9px;border-radius:999px;background:#fef3c7;box-shadow:0 0 12px #fef3c7;animation:collectionTokenSpark 1.8s ease-in-out infinite}.collection-token-spark-one{right:8px;top:22px}.collection-token-spark-two{left:16px;bottom:18px;animation-delay:.36s}@keyframes collectionTokenFloat{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}@keyframes collectionTokenSpark{0%,to{opacity:.42;transform:scale(.75)}50%{opacity:1;transform:scale(1.22)}}@media(prefers-reduced-motion:reduce){.collection-token,.collection-token-spark{animation:none}}.answer-box{min-height:120px;resize:vertical;line-height:1.55}.celebration-overlay{position:fixed;right:clamp(1rem,4vw,2.5rem);bottom:6.75rem;z-index:50;max-width:min(18rem,calc(100vw - 2rem));border-radius:999px;background:#0f766e;padding:.85rem 1.15rem;color:#fff;font-weight:950;box-shadow:0 18px 54px #0f766e52}.center-screen{display:grid;min-height:calc(100vh - 2rem);place-items:center;gap:1rem;text-align:center}.dashboard-band{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.dashboard-band>div,.skill-row{border-radius:1.2rem;background:#ffffffdb;padding:1rem;box-shadow:0 12px 36px #0f172a1a}.metric-label,.skill-row small{color:#64748b;font-size:.9rem;font-weight:850}.metric-value{margin-top:.2rem;color:#0f172a;font-size:2rem;font-weight:950}.skill-row{display:grid;gap:.25rem}.skill-row span{overflow-wrap:anywhere;font-weight:900;color:#0f172a}.toggle-row{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #e2e8f0;font-weight:900;color:#334155}.toggle-row input{width:1.35rem;height:1.35rem;accent-color:#0f766e}.contrast-more{background:#fff!important;color:#020617}.contrast-more .story-copy,.contrast-more .tool-panel,.contrast-more .game-topbar{background:#fff;border:2px solid #0f172a}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@keyframes wag{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes tail{0%{transform:rotate(-16deg)}to{transform:rotate(20deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@keyframes glow{0%,to{transform:translateY(0);box-shadow:0 8px 20px #0f172a1f}50%{transform:translateY(-3px);box-shadow:0 12px 28px #14b8a62e}}@keyframes bookFloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes boom{0%{opacity:.95;transform:scale(.2)}to{opacity:0;transform:scale(1.08)}}@keyframes bounceTiny{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes pulseMic{0%,to{box-shadow:inset 0 0 0 1px #9f123929,0 0 #f472b642}50%{box-shadow:inset 0 0 0 1px #9f123929,0 0 0 8px #f472b600}}@keyframes placeholderShimmer{0%,to{background-position:180% 0,0 0;opacity:.46}50%{background-position:20% 0,0 0;opacity:.68}}@keyframes generationScan{0%{transform:translate(-115%);opacity:0}18%,72%{opacity:1}to{transform:translate(115%);opacity:0}}@keyframes panelFrameBreathe{0%,to{opacity:.28}50%{opacity:.52}}@keyframes generationParticles{0%,to{transform:translate(-50%,-50%) scale(.92);opacity:.42}50%{transform:translate(-50%,-50%) scale(1.12);opacity:.78}}@keyframes storyProgressSweep{0%{transform:translate(-72%)}50%{transform:translate(76%)}to{transform:translate(232%)}}@keyframes panelInking{0%{transform:translateY(-50%) scaleX(.12);opacity:0}18%,72%{opacity:.9}to{transform:translateY(-50%) scaleX(1);opacity:0}}@keyframes paintSweep{0%{transform:translate(-48%) rotate(-5deg) scaleX(.72);opacity:0}22%,76%{opacity:1}to{transform:translate(48%) rotate(-5deg) scaleX(1.05);opacity:0}}@keyframes panelPulse{0%,to{transform:scale(.992)}50%{transform:scale(1.008)}}@keyframes pageDraft{0%,to{background-position:180% 0,0 0;opacity:.72}50%{background-position:20% 0,0 0;opacity:1}}@keyframes writingDots{0%,to{transform:translateY(0);opacity:.42}50%{transform:translateY(-.28rem);opacity:1}}@keyframes buttonGenerating{0%,to{background-position:180% 0,0 0}50%{background-position:20% 0,0 0}}@keyframes sendGlide{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(.18rem,-.12rem) rotate(-8deg)}}@keyframes actionBusySweep{0%,to{background-position:180% 0,0 0}50%{background-position:20% 0,0 0}}@keyframes actionSegmentDraft{0%,to{transform:scaleX(.24);opacity:.28}50%{transform:scaleX(1);opacity:.92}}@media(min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:items-center{align-items:center}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-\[0\.85fr_1\.15fr\]{grid-template-columns:.85fr 1.15fr}.lg\:grid-cols-\[0\.95fr_1\.05fr\]{grid-template-columns:.95fr 1.05fr}.lg\:items-center{align-items:center}}
