/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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;--spacing:.25rem;--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%;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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]){appearance:button}::file-selector-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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.z-2{z-index:2}.z-5\!{z-index:5!important}.table{display:table}}:root{--font-game:"Avenir Next", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-title:"Kaiti SC", "STKaiti", "Songti SC", serif;--ink:#4d3b2b;--muted:#8a735d;--paper:#fff9e9;--cream:#f9edcf;--gold:#e9aa32;--gold-dark:#b8751f;--teal:#527e75;--shadow:0 18px 55px #4d3b2b2e}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);font-family:var(--font-game), "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;overscroll-behavior:none;background:#dfd4ba}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,input:focus-visible{outline-offset:3px;outline:4px solid #437cc266}.game-shell{background:#f8efd8;width:100%;min-height:100dvh;position:relative;overflow:hidden}.map-screen,.path-screen,.level-screen{isolation:isolate;width:100%;height:100dvh;min-height:640px;position:relative;overflow:hidden}.map-art{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.map-wash{pointer-events:none;background:linear-gradient(90deg,#fffae829,#0000 42%),linear-gradient(#fffae80d,#4e62411a);position:absolute;inset:0}.top-bar{z-index:30;top:max(14px, env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left));right:max(18px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:center;gap:16px;height:66px;display:flex;position:absolute}.top-bar>*,.top-left{pointer-events:auto}.top-left{align-items:center;gap:12px;min-width:0;display:flex}.top-title{color:#58432e;text-overflow:ellipsis;white-space:nowrap;max-width:min(56vw,520px);font-size:clamp(15px,1.8vw,22px);overflow:hidden}.round-button,.profile-dot{color:#8d5d24;background:#fff9e5eb;border:2px solid #be862f8c;border-radius:50%;place-items:center;width:56px;height:56px;font-size:22px;font-weight:900;display:grid;box-shadow:0 6px 16px #533c1d29,inset 0 0 0 3px #ffffff8c}button.round-button{cursor:pointer;transition:transform .14s,box-shadow .14s}button.round-button:active{transform:scale(.9);box-shadow:0 2px 8px #533c1d2e}.total-stars{background:#fff9e5f0;border:2px solid #be862f80;border-radius:999px;align-items:center;gap:8px;min-width:138px;height:54px;padding:0 24px;display:flex;box-shadow:0 6px 18px #533c1d26,inset 0 0 0 3px #ffffff80}.total-stars span{color:#f3b72f;filter:drop-shadow(0 2px #b8791d);font-size:30px}.total-stars strong{font-size:23px}.total-stars small{color:#93775b;font-size:15px}.game-brand{z-index:3;color:#5f442b;filter:drop-shadow(0 2px #ffffffb3);flex-direction:column;display:flex;position:absolute;top:94px;left:clamp(28px,5vw,82px)}.game-brand strong{font-family:var(--font-title), serif;letter-spacing:.06em;font-size:clamp(26px,3.1vw,48px)}.brand-kicker{color:#a46f36;letter-spacing:.2em;font-size:10px;font-weight:900}.island-layer{z-index:8;pointer-events:none;position:absolute;inset:0}.island-marker{min-width:112px;color:var(--ink);pointer-events:auto;background:0 0;border:0;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.marker-pulse{color:#fff;background:#e48f51;border:4px solid #fff8daf2;border-radius:50%;place-items:center;width:clamp(54px,5vw,76px);height:clamp(54px,5vw,76px);font-size:clamp(20px,2.1vw,31px);font-weight:900;display:grid;box-shadow:0 0 0 5px #80481f29,0 10px 22px #4d361842}.island-marker.active{cursor:pointer}.island-marker.active .marker-pulse{animation:1.7s ease-in-out infinite islandPulse}.island-marker.active:active .marker-pulse{transform:scale(.9)}.island-marker.locked{opacity:.72}.island-marker.locked .marker-pulse{background:#777665d6;border-width:3px;font-size:20px}.marker-label{white-space:nowrap;background:#fffae8eb;border:1px solid #b4823f52;border-radius:13px;margin-top:7px;padding:5px 12px;font-size:12px;font-weight:900;line-height:1.1;box-shadow:0 4px 12px #4d3b2b21}.marker-label small{color:#9b7757;margin-top:3px;font-size:10px;font-weight:600;display:block}.map-hint{z-index:10;left:clamp(28px,7vw,110px);bottom:max(26px, env(safe-area-inset-bottom));box-shadow:var(--shadow);background:#fffbedf2;border:2px solid #e3bb72;border-radius:18px 18px 18px 5px;padding:13px 20px;font-size:15px;font-weight:700;position:absolute}.map-hint span{color:#a6652f}.welcome-card{z-index:40;background:linear-gradient(145deg,#fffceff7,#f8e8c5f5);border:2px solid #ba7f3075;border-radius:34px 12px;width:min(420px,42vw);padding:clamp(26px,4vw,48px);animation:.5s cubic-bezier(.2,.85,.2,1) both cardIn;position:absolute;top:50%;right:clamp(34px,7vw,110px);transform:translateY(-46%);box-shadow:0 26px 80px #422e1842,inset 0 0 0 5px #ffffff73}.welcome-card:before{content:"";pointer-events:none;border:1px dashed #bd843359;border-radius:24px 8px;position:absolute;inset:14px}.welcome-card>*{position:relative}.eyebrow,.task-step{color:#b37431;letter-spacing:.18em;font-size:11px;font-weight:900}.welcome-card h1{font-family:var(--font-title), serif;margin:12px 0;font-size:clamp(30px,4vw,54px);line-height:1.08}.welcome-card h1 em{color:#59857b;font-style:normal}.welcome-card p{color:#765f49;font-size:clamp(14px,1.5vw,18px);line-height:1.65}.goal-chips{flex-wrap:wrap;gap:8px;margin:20px 0 24px;display:flex}.goal-chips span{background:#fffaf0;border:1px solid #e2c990;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.primary-button{color:#684316;cursor:pointer;background:linear-gradient(#ffd75d,#efa72b);border:2px solid #c7851f;border-radius:18px;min-height:56px;padding:0 28px;font-size:17px;font-weight:900;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 7px #b87520,0 12px 26px #834f1433,inset 0 2px #ffffff8c}.primary-button:hover{filter:brightness(1.035)}.primary-button:active{transform:translateY(5px)scale(.985);box-shadow:0 2px #b87520,0 5px 12px #834f142e}.primary-button:disabled{color:#8d816d;cursor:not-allowed;filter:grayscale(.15);background:#d8ccb4;border-color:#baa98c;box-shadow:0 4px #a99a81}.welcome-card .primary-button{width:100%}.welcome-card .primary-button b{margin-left:10px;font-size:22px}@keyframes islandPulse{0%,to{box-shadow:0 0 0 5px #80481f29,0 10px 22px #4d361842}50%{box-shadow:0 0 0 15px #ffcf5238,0 12px 28px #4d36184d}}@keyframes cardIn{0%{opacity:0;transform:translateY(-40%)scale(.94)}to{opacity:1;transform:translateY(-46%)scale(1)}}.path-screen{background:linear-gradient(#eaf0dd,#f8eccd 65%,#ddc99e)}.path-backdrop{z-index:-2;filter:blur(4px)saturate(.78);background:linear-gradient(#fff9e68a,#fff5d7bd),url(/assets/game-home.png) 50%/cover;position:absolute;inset:0;transform:scale(1.02)}.path-screen:after{z-index:-1;content:"";background:radial-gradient(circle at 48% 55%,#fffae25c,#eeddb2b8);position:absolute;inset:0}.unit-heading{align-items:center;gap:18px;display:flex;position:absolute;top:98px;left:6vw;right:6vw}.unit-badge{color:#fff;background:#e48f51;border:4px solid #fff5d8;border-radius:50%;place-items:center;width:76px;height:76px;font-weight:900;display:grid;box-shadow:0 8px 20px #5b3a1e33}.unit-heading p{color:#a66b34;letter-spacing:.15em;margin:0;font-size:11px;font-weight:900}.unit-heading h1{font-family:var(--font-title), serif;margin:2px 0 0;font-size:clamp(28px,4vw,52px)}.unit-heading .star-row{margin-left:auto}.star-row{gap:5px;display:flex}.star{color:#d6c8aa;text-shadow:0 2px #aa9673;font-size:clamp(23px,2.6vw,38px);line-height:1}.star.earned{color:#ffc840;text-shadow:0 2px #b9791d;animation:.38s cubic-bezier(.2,.8,.2,1) both starPop}@keyframes starPop{0%{transform:rotate(-18deg)scale(.5)}70%{transform:rotate(5deg)scale(1.18)}to{transform:scale(1)}}.quest-path{position:absolute;inset:205px 6vw 110px}.path-line{background:repeating-linear-gradient(90deg,#e6bb55 0 22px,#fff0b6 22px 35px);border-radius:999px;width:84%;height:9px;position:absolute;top:48%;left:8%;transform:rotate(-2deg);box-shadow:0 0 14px #ffd96d}.quest-node{flex-direction:column;align-items:center;width:180px;display:flex;position:absolute;transform:translate(-50%,-50%)}.quest-node.node-1{top:60%;left:9%}.quest-node.node-2{top:35%;left:29%}.quest-node.node-3{top:59%;left:50%}.quest-node.node-4{top:34%;left:71%}.quest-node.node-5{top:57%;left:91%}.quest-node>button{background:var(--node-color);width:clamp(92px,9vw,124px);height:clamp(92px,9vw,124px);box-shadow:0 9px 0 var(--node-color), 0 16px 26px #48311838;border:5px solid #fff6da;border-radius:50%;place-items:center;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.quest-node>button{box-shadow:0 9px 0 color-mix(in srgb, var(--node-color), #6b4420 36%), 0 16px 26px #48311838}}.quest-node>button{cursor:pointer;transition:transform .16s,filter .16s}.quest-node>button:active{box-shadow:0 2px 0 var(--node-color), 0 7px 14px #48311838;transform:translateY(7px)scale(.96)}@supports (color:color-mix(in lab, red, red)){.quest-node>button:active{box-shadow:0 2px 0 color-mix(in srgb, var(--node-color), #6b4420 36%), 0 7px 14px #48311838}}.quest-node:not(.done):not(.locked)>button{animation:1.8s ease-in-out infinite nodeBob}.quest-node.done>button{background:#f4bc39}.quest-node.locked>button{filter:grayscale(.6);cursor:not-allowed;background:#aaa58e}.node-number{color:#fff;background:#76563c;border:3px solid #fff4d4;border-radius:50%;place-items:center;width:37px;height:37px;font-size:16px;font-weight:900;display:grid;position:absolute;top:-12px;left:-8px}.node-icon{filter:drop-shadow(0 3px #593a1c38);font-size:clamp(35px,4vw,52px)}.node-copy{text-align:center;background:#fffae8eb;border:1px solid #a4753840;border-radius:14px;margin-top:17px;padding:8px 13px;box-shadow:0 7px 18px #48311821}.node-copy strong,.node-copy small{white-space:nowrap;display:block}.node-copy strong{font-size:clamp(13px,1.4vw,17px)}.node-copy small{color:#8f765d;margin-top:3px;font-size:11px}@keyframes nodeBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.jiumi-tip{max-width:310px;box-shadow:var(--shadow);background:#fffaebf5;border:2px solid #e0b76f;border-radius:999px;align-items:center;gap:10px;padding:10px 16px 10px 10px;display:flex;position:absolute;bottom:26px;right:4vw}.cat-avatar{background:#e9decd;border-radius:50%;place-items:center;width:50px;height:50px;font-size:30px;display:grid}.jiumi-tip p{color:#765f48;margin:0;font-size:12px;line-height:1.45}.level-screen{background:linear-gradient(145deg,#f5eed9,#ded6b7)}.paper-speckles{opacity:.32;pointer-events:none;background-image:radial-gradient(#9d8357 .7px,#0000 .8px);background-size:11px 11px;position:absolute;inset:0}.level-layout{top:94px;left:clamp(18px,3vw,44px);right:clamp(18px,3vw,44px);bottom:max(18px, env(safe-area-inset-bottom));grid-template-columns:minmax(220px,29%) minmax(0,1fr);gap:clamp(16px,2.5vw,34px);display:grid;position:absolute}.guide-panel{box-shadow:var(--shadow);background:#f6e7c5;border:2px solid #ab7d3a59;border-radius:30px 10px;position:relative;overflow:hidden}.guide-art{background:linear-gradient(#0000 42%,#f9edcfe0 84%),url(/assets/characters.png) 10%/190% no-repeat;position:absolute;inset:0}.guide-panel .star-row{position:absolute;bottom:18px;left:20px}.guide-bubble{background:#fffcf0f0;border:2px solid #d7a95d;border-radius:18px 18px 18px 5px;padding:13px 15px;position:absolute;top:18px;left:14px;right:14px;box-shadow:0 8px 20px #442e1426}.guide-bubble span{color:#af7333;letter-spacing:.12em;font-size:10px;font-weight:900}.guide-bubble p{margin:5px 0 0;font-family:Georgia,serif;font-size:clamp(15px,1.7vw,21px);font-weight:700}.task-card{border:3px solid var(--accent);min-width:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.task-card{border:3px solid color-mix(in srgb, var(--accent), white 48%)}}.task-card{box-shadow:var(--shadow), inset 0 0 0 7px #ffffff6b;background:#fffcf0f5;border-radius:14px 34px}.task-card:before{background:var(--accent);content:"";width:100%;height:8px;position:absolute;top:0;left:0}.task-content{scrollbar-color:#d4b77e transparent;height:100%;padding:clamp(22px,3vw,38px);overflow-y:auto}.task-heading{grid-template-columns:1fr auto;align-items:end;column-gap:14px;margin-bottom:20px;display:grid}.task-heading .task-step{grid-column:1/-1}.task-heading h2{font-family:var(--font-title), serif;margin:5px 0 0;font-size:clamp(24px,3.1vw,42px);line-height:1.15}.task-heading p{color:#806a54;max-width:420px;margin:0;font-size:13px;line-height:1.55}.mini-progress{background:#eee3ca;border:2px solid #dbc9a2;border-radius:999px;height:22px;margin-bottom:18px;position:relative;overflow:hidden}.mini-progress span{border-radius:inherit;background:linear-gradient(90deg,#efad3c,#ffd75a);height:100%;transition:width .28s;display:block}.mini-progress b{color:#674715;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.word-grid{grid-template-columns:repeat(5,minmax(95px,1fr));gap:11px;display:grid}.word-card{min-height:116px;color:var(--ink);cursor:pointer;background:#fffaf0;border:2px solid #dfcda6;border-radius:17px 8px;flex-direction:column;justify-content:center;align-items:center;transition:transform .13s,border-color .18s,background .18s;display:flex;position:relative;box-shadow:0 4px #d6c39a}.word-card:active{transform:translateY(3px)scale(.98);box-shadow:0 1px #d6c39a}.word-card.mastered{background:#fff2c6;border-color:#e8a630}.food-emoji{font-size:32px}.word-card strong{margin-top:4px;font-family:Georgia,serif;font-size:17px}.word-card small{color:#9b8065;margin-top:4px;font-size:9px}.task-finish{min-width:min(330px,100%);margin:24px auto 8px;display:block}.npc-row{grid-template-columns:1.1fr .9fr;gap:12px;display:grid}.npc{background:#fff9e9;border:2px solid #d8c6a2;border-radius:16px;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.npc>span{color:#fff;background:#82a8b4;border-radius:50%;place-items:center;width:45px;height:45px;font-family:Georgia,serif;font-size:23px;font-weight:900;display:grid}.npc.sam>span{background:#d58a61}.npc b,.npc p{margin:0;display:block}.npc b{color:#a36c32;font-size:12px}.npc p{margin-top:2px;font-family:Georgia,serif;font-size:15px;font-weight:700}.npc button{cursor:pointer;background:#f4e2bb;border:0;border-radius:50%;width:40px;height:40px}.food-tray{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0;display:grid}.food-tray button{color:#604b36;cursor:pointer;background:#fff;border:2px solid #d8c49d;border-radius:13px;min-height:49px;font-family:Georgia,serif;font-weight:700}.food-tray button.selected{background:#dff1dd;border-color:#68a28a;box-shadow:0 0 0 3px #68a28a29}.sentence-stage{background:#fff2c9;border:2px solid #e4b85e;border-radius:17px;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;min-height:70px;padding:12px;display:grid}.sentence-stage strong{font-family:Georgia,serif;font-size:clamp(17px,2vw,24px)}.listen-sentence,.speak-confirm{color:#62503b;cursor:pointer;background:#fff;border:0;border-radius:12px;min-height:42px}.listen-sentence{width:42px}.speak-confirm{color:#fff;background:#6f9a8b;padding:0 14px;font-weight:800}.speak-confirm.confirmed,.meal-intro button.confirmed{background:#d89c35}.advice-box{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;display:grid}.advice-box p{grid-column:1/-1;margin:0;font-size:13px;font-weight:800}.advice-box button,.scenario-card button{color:#604b36;cursor:pointer;background:#fff;border:2px solid #d9c8a5;border-radius:12px;min-height:54px;padding:8px 12px;font-family:Georgia,serif;font-size:13px;line-height:1.25}button.correct{background:#dcf0d9!important;border-color:#70a778!important}button.wrong{animation:.22s shake;background:#f8ded7!important;border-color:#d4877d!important}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.scenario-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.scenario-card{background:#fff9ea;border:2px solid #dcc9a4;border-radius:18px 8px;padding:14px;transition:border-color .18s,transform .18s}.scenario-card.solved{border-color:#7ca87b;transform:translateY(-3px)}.scenario-top{align-items:center;gap:10px;min-height:62px;display:flex}.scenario-top>span{font-size:36px}.scenario-top small,.scenario-top strong{display:block}.scenario-top small{color:#af7135;font-size:10px;font-weight:900}.scenario-top strong{margin-top:3px;font-family:Georgia,serif;font-size:14px}.scenario-card button{width:100%;margin-top:8px}.spell-progress{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.spell-progress .star{font-size:clamp(15px,1.6vw,23px)}.spell-stage{text-align:center;background:#fff8e8;border:2px dashed #d9b86f;border-radius:24px;flex-direction:column;align-items:center;max-width:650px;margin:0 auto;padding:18px;display:flex}.spell-emoji{font-size:64px}.spell-stage>small{color:#a06c36;font-size:14px;font-weight:800}.big-listen{color:#fff;cursor:pointer;background:#6c9388;border:0;border-radius:999px;min-height:45px;margin:12px 0;padding:0 20px;font-weight:800}.spell-stage label{color:#8a765f;font-size:11px;font-weight:800}.spell-input-row{gap:8px;width:min(420px,100%);margin-top:6px;display:flex}.spell-input-row input{color:#4e3c29;letter-spacing:.12em;text-align:center;background:#fff;border:3px solid #d9c39b;border-radius:14px;flex:1;min-width:0;height:54px;font-family:Georgia,serif;font-size:25px;font-weight:800}.spell-input-row button{color:#fff;cursor:pointer;background:#e8a43a;border:0;border-radius:13px;width:82px;font-weight:900}.spell-input-row button:disabled{background:#c9bea9}.spell-message{color:#749069;min-height:21px;margin:9px 0 0;font-size:12px}.spell-message.try-again{color:#b46d55}.spell-complete{text-align:center;padding:46px 20px}.spell-complete span{font-size:70px}.spell-complete h3{font-family:var(--font-title), serif;margin:8px 0 3px;font-size:30px}.spell-complete p{color:#887057;margin:0}.meal-workbench{grid-template-columns:minmax(0,1fr) minmax(230px,.8fr);align-items:center;gap:20px;display:grid}.ingredient-tray{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.ingredient-tray button{color:#5f4a35;cursor:pointer;background:#fffaf0;border:2px solid #ddcaa2;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;min-height:96px;display:flex}.ingredient-tray button.selected{background:#e2f1dc;border-color:#6e9e84;transform:translateY(-3px);box-shadow:0 6px 14px #48644321}.ingredient-tray span{font-size:29px}.ingredient-tray b{font-family:Georgia,serif;font-size:14px}.ingredient-tray small{color:#9b8062;font-size:9px}.plate{text-align:center;background:radial-gradient(circle,#fffdf7 0 57%,#e5d5b0 58% 61%,#fff8e3 62%);border:16px solid #eadbb8;border-radius:50%;place-items:center;min-height:230px;padding:36px 24px;display:grid;box-shadow:0 15px 24px #4f391d26,inset 0 7px 12px #5d452614}.plate.healthy{border-color:#d6bd72;box-shadow:0 0 0 7px #ffcd402e,0 15px 24px #4f391d26}.plate-center{font-size:37px;line-height:1.5;display:block}.plate small{color:#8a745c;align-self:end;font-weight:800}.meal-intro{background:#fff2cb;border:2px solid #d7bd82;border-radius:15px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin-top:16px;padding:13px;display:grid}.meal-intro p{margin:0;font-family:Georgia,serif;font-size:15px;font-weight:700}.meal-intro button{color:#fff;cursor:pointer;background:#6c9688;border:0;border-radius:11px;min-height:42px;padding:0 13px;font-weight:800}.meal-intro button:disabled{cursor:not-allowed;background:#bcb19c}.reward-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#45321a85;place-items:center;padding:24px;animation:.22s both fadeIn;display:grid;position:fixed;inset:0}.reward-rays{aspect-ratio:1;background:repeating-conic-gradient(#ffda4b40 0deg 12deg,#0000 12deg 26deg);border-radius:50%;width:min(760px,90vw);animation:18s linear infinite rays;position:absolute}.reward-card{text-align:center;background:linear-gradient(145deg,#fffdf1,#f5dfaa);border:3px solid #e7b543;border-radius:38px 14px;width:min(460px,92vw);padding:40px;animation:.6s cubic-bezier(.15,.86,.18,1.18) both rewardIn;position:relative;overflow:hidden;box-shadow:0 30px 90px #331f0b61,inset 0 0 0 7px #ffffff7a}.reward-star{color:#ffc531;text-shadow:0 7px #b7791c,0 16px 25px #89561638;font-size:108px;line-height:.9;display:block}.reward-card>p:first-of-type{color:#ad7131;letter-spacing:.16em;margin:22px 0 3px;font-size:11px;font-weight:900}.reward-card h2{font-family:var(--font-title), serif;margin:0;font-size:38px}.reward-card p{color:#80674c}.reward-card .star-row{justify-content:center;margin:18px 0 25px}.reward-card .primary-button{width:100%}@keyframes fadeIn{0%{opacity:0}}@keyframes rays{to{transform:rotate(360deg)}}@keyframes rewardIn{0%{opacity:0;transform:translateY(40px)scale(.72)rotate(-3deg)}to{opacity:1;transform:none}}@media (width<=1100px){.word-grid{grid-template-columns:repeat(4,1fr)}.word-card{min-height:105px}.task-heading{display:block}.task-heading p{margin-top:7px}.quest-node{width:150px}}@media (width<=820px),(orientation:portrait){.map-screen,.path-screen,.level-screen{min-height:760px;overflow-y:auto}.map-art{object-position:42% center}.welcome-card{width:auto;padding:25px;inset:auto 20px 24px;transform:none}.welcome-card h1{font-size:34px}.game-brand{top:96px;left:22px}.island-marker{display:none}.map-screen:not(:has(.welcome-card)) .island-marker.active{display:flex;top:47%!important;left:52%!important}.level-layout{grid-template-columns:1fr;min-height:calc(100dvh - 110px);margin:0 16px 20px;position:relative;inset:92px auto auto}.guide-panel{min-height:220px}.guide-art{background-position:18% 44%;background-size:145%}.guide-panel .star-row{left:auto;right:18px}.task-card{min-height:620px;overflow:visible}.task-content{overflow:visible}.unit-heading{top:96px}.quest-path{min-height:520px;inset:205px 4vw 30px}.quest-node>button{width:90px;height:90px}.quest-node{width:120px}.node-copy{padding:6px 8px}.node-copy small,.jiumi-tip{display:none}.word-grid{grid-template-columns:repeat(3,1fr)}.scenario-grid,.meal-workbench{grid-template-columns:1fr}}@media (width<=590px){.top-bar{height:52px}.round-button,.profile-dot{width:46px;height:46px}.total-stars{min-width:106px;height:46px;padding:0 14px}.total-stars span{font-size:23px}.total-stars strong{font-size:18px}.top-title{display:none}.word-grid,.npc-row,.food-tray,.advice-box,.ingredient-tray{grid-template-columns:repeat(2,1fr)}.sentence-stage,.meal-intro{grid-template-columns:42px 1fr}.sentence-stage .speak-confirm,.meal-intro p{grid-column:1/-1}.unit-heading{left:18px;right:18px}.unit-heading .star-row{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
