.layered-character{pointer-events:none;width:100%;height:100%;display:block;position:relative}.layered-character__fallback{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.layered-character[data-layered-state=ready]>.layered-character__fallback{visibility:hidden}.layered-character__layer{visibility:hidden;pointer-events:none;position:absolute}.layered-character[data-layered-state=ready]>.layered-character__layer{visibility:visible}.layered-character__layer>img{pointer-events:none;width:100%;height:100%;display:block}.mentor-fox-actor{pointer-events:none;width:100%;height:150%;display:block}.mentor-fox-actor>.mentor-fox-portrait{aspect-ratio:1;transform-origin:50% 40%;width:100%;height:auto;margin-inline:auto;display:block;position:relative}.mentor-fox-portrait__base{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.mentor-fox-portrait__overlay{pointer-events:none;position:absolute}.mentor-fox-portrait__overlay>img{pointer-events:none;width:100%;height:100%;display:block}.mentor-fox-actor[data-idle-motion=on][data-gesture=none]>.mentor-fox-portrait{animation:4.8s ease-in-out infinite mentor-breathe}.mentor-fox-actor [data-layer-id=mouth-open]>img,.mentor-fox-actor [data-layer-id=eyes-closed]>img{opacity:0}.mentor-fox-actor[data-idle-motion=on][data-gesture=none] [data-layer-id=eyes-closed]>img{animation:5.4s step-end infinite mentor-eye-closed}.mentor-fox-actor[data-speech=speaking] [data-layer-id=mouth-open]>img{animation:.32s step-end infinite mentor-mouth-open}.mentor-fox-actor[data-gesture=affirm]>.mentor-fox-portrait{animation:mentor-affirm-actor .65s var(--ease-playful) 1 both}.mentor-fox-actor[data-gesture=reassure]>.mentor-fox-portrait{animation:mentor-reassure-actor 1.2s var(--ease-playful) 1 both}.mentor-fox-actor[data-paused=true],.mentor-fox-actor[data-paused=true] *{animation-play-state:paused!important}@keyframes mentor-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}@keyframes mentor-eye-closed{0%,47%,52%,to{opacity:0}48%,51%{opacity:1}}@keyframes mentor-mouth-open{0%,49%{opacity:0}50%,to{opacity:1}}@keyframes mentor-affirm-actor{0%,to{transform:translateY(0)scale(1)}32%{transform:translateY(-1.2%)scale(1.012)}62%{transform:translateY(.4%)scale(.998)}}@keyframes mentor-reassure-actor{0%,to{transform:translateY(0)rotate(0)}35%{transform:translateY(.6%)rotate(-1deg)}72%{transform:translateY(-.2%)rotate(.4deg)}}@keyframes mentor-reduced-affirm-actor{to{transform:translateY(-.8%)scale(1.006)}}@keyframes mentor-reduced-reassure-actor{to{transform:translateY(.3%)}}@media (prefers-reduced-motion:reduce){.mentor-fox-actor>.mentor-fox-portrait{animation:none!important}.mentor-fox-actor [data-layer-id=eyes-closed]>img{opacity:0;animation:none!important}.mentor-fox-actor[data-gesture=affirm]>.mentor-fox-portrait{animation:mentor-reduced-affirm-actor 1ms var(--ease-playful) 1 both!important}.mentor-fox-actor[data-gesture=reassure]>.mentor-fox-portrait{animation:mentor-reduced-reassure-actor 1ms var(--ease-playful) 1 both!important}.mentor-fox-actor[data-paused=true]>.mentor-fox-portrait{animation-play-state:paused!important}}.monster-actor{pointer-events:none;width:100%;height:100%;display:block}.monster-portrait{transform-origin:50% 88%;pointer-events:none;width:100%;height:100%;display:block;position:relative}.monster-portrait__base{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.monster-actor[data-motion=hidden]{visibility:hidden;pointer-events:none}.monster-actor[data-motion=hidden],.monster-actor[data-motion=hidden] *{animation:none!important}.monster-actor[data-motion=hidden] .monster-portrait{visibility:hidden!important}.battle-monster__motion{pointer-events:none;display:block;position:absolute;inset:0}.battle-monster__motion>.monster-actor{transition:filter var(--motion-feedback) var(--ease-playful)}.battle-monster__motion[data-tone=comeback]>.monster-actor{filter:grayscale(.72)saturate(.58)}.battle-monster__motion[data-motion=hidden]>.battle-monster__stripe{visibility:hidden;pointer-events:none;animation:none!important}.battle-monster__motion[data-motion=enter]{animation:monster-enter .55s var(--ease-playful) 1 both, monster-nervous 3.8s .55s ease-in-out infinite}.battle-monster__motion[data-motion=nervous]{animation:3.8s ease-in-out .55s infinite monster-nervous}.battle-monster__motion[data-tone=comeback][data-motion=nervous]{animation:none!important}.battle-monster__motion[data-motion=brace]{animation:monster-brace .5s var(--ease-playful) 1 both}.battle-monster__motion[data-motion=surprise]{animation:monster-surprise .4s var(--ease-playful) 1 both}.battle-monster__motion[data-motion=settle]{animation:monster-settle .6s var(--ease-playful) 1 both}.battle-monster__motion[data-motion=happy]{animation:monster-happy .65s var(--ease-playful) 1 both}.battle-monster__motion[data-motion=retreat]{animation:.8s ease-in both monster-retreat}.battle-monster__motion[data-motion=return]{animation:monster-return .55s var(--ease-playful) 1 both, monster-nervous 3.8s .55s ease-in-out infinite}.battle-monster__motion[data-motion=reunited]{animation:monster-reunited .65s var(--ease-playful) 1 both}.battle-monster__motion[data-motion=farewell]{animation:monster-farewell .8s var(--ease-playful) 1 both}.battle-monster:not([data-card-focus=none])>.battle-monster__motion[data-motion=nervous]{animation:none!important}.monster-actor[data-motion=retreat]>.monster-portrait{animation:monster-whole-retreat-lookback .256s var(--ease-playful) 1 both}.monster-actor[data-monster-id=double-bag-squirrel][data-motion=happy]>.monster-portrait{animation:squirrel-whole-happy 1.4s var(--ease-playful) 1 both}.battle-monster__motion[data-paused=true],.battle-monster__motion[data-paused=true] *{animation-play-state:paused!important}@keyframes monster-enter{0%{opacity:0;transform:translateY(18%)scale(.96)}to{opacity:1;transform:none}}@keyframes monster-nervous{0%,to{transform:scale(1)}50%{transform:scale(.99,1.012)}}@keyframes monster-brace{0%{transform:scale(1)}to{transform:scale(.96,.92)translateY(3%)}}@keyframes monster-surprise{0%{transform:scale(.96,.92)}55%{transform:translateY(-4%)scale(1.04)}to{transform:translateY(-2%)scale(1.01)}}@keyframes monster-settle{0%{transform:translateY(-2%)scale(1.01)}to{transform:none}}@keyframes monster-happy{0%,to{transform:none}48%{transform:translateY(-3%)scale(1.01,.99)}}@keyframes monster-retreat{0%,32%{opacity:1;transform:none}to{opacity:.72;transform:translate(-10%)scale(.98)}}@keyframes monster-whole-retreat-lookback{0%{transform:none}to{transform:translate(1%)rotate(1.5deg)}}@keyframes monster-return{0%{opacity:.2;transform:translateY(5%)scale(.94)}to{opacity:1;transform:none}}@keyframes monster-reunited{0%{transform:none}55%{transform:translateY(-4%)scale(1.02)}to{transform:translateY(-1%)scale(1.01)}}@keyframes monster-farewell{0%{transform:none}45%{transform:rotate(2deg)}72%,to{transform:rotate(-1deg)}}@keyframes squirrel-whole-happy{0%,to{transform:none}35%{transform:translate(-1%,-2%)rotate(-.6deg)}47.8571%{transform:translate(1%,-2%)rotate(.6deg)}}@media (prefers-reduced-motion:reduce){.monster-actor>.monster-portrait{animation:none!important}.monster-actor[data-motion=retreat]>.monster-portrait{animation:monster-whole-retreat-lookback 1ms var(--ease-playful) 1 both!important}.battle-monster__motion[data-motion=enter],.battle-monster__motion[data-motion=brace],.battle-monster__motion[data-motion=surprise],.battle-monster__motion[data-motion=settle],.battle-monster__motion[data-motion=happy],.battle-monster__motion[data-motion=retreat],.battle-monster__motion[data-motion=return],.battle-monster__motion[data-motion=reunited],.battle-monster__motion[data-motion=farewell]{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.battle-monster__motion[data-motion=nervous]{animation:none!important}.battle-monster__motion[data-motion=enter]{animation:monster-enter 1ms var(--ease-playful) 1 both!important}.battle-monster__motion[data-motion=return]{animation:monster-return 1ms var(--ease-playful) 1 both!important}.battle-monster__motion[data-paused=true],.battle-monster__motion[data-paused=true] .monster-portrait{animation-play-state:paused!important}}.home-layout{z-index:3;inset:var(--space-4);column-gap:var(--space-3);grid-template-rows:40px 222px 64px minmax(88px,1fr) 32px;grid-template-columns:1fr;align-items:center;row-gap:0;display:grid;position:absolute}.home-title{padding:var(--space-1) var(--space-4);border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-surface) 92%, transparent);font-size:var(--text-instruction);text-align:center;grid-column:1/-1;justify-self:center;margin:0;font-weight:900;line-height:1}.home-mentor{place-self:center;width:260px;height:200px;display:block;overflow:hidden}.home-actions{justify-content:center;align-items:center;gap:var(--space-5);grid-column:1/-1;display:flex}.home-actions>button{min-width:calc(var(--target-min) * 2.5);min-height:var(--target-min)}.home-comeback-action{place-items:center;gap:var(--space-1);display:grid}.home-comeback-action__title{font-size:var(--text-control);font-weight:900;line-height:1}.home-comeback-action__count{font-size:var(--text-support);font-weight:700;line-height:1}.home-levels{place-content:start center;place-self:stretch center;align-items:center;column-gap:var(--space-5);row-gap:var(--space-4);width:100%;min-width:0;max-width:944px;padding:0;flex-wrap:wrap;grid-column:1/-1;margin:0;padding-block-start:var(--space-5);list-style:none;display:flex;overflow-x:hidden}.home-levels>li{flex:184px;min-width:184px;max-width:224px}.home-level-card{width:100%;min-width:var(--target-min);min-height:var(--target-min);place-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-4);border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-card);color:var(--color-ink);background:color-mix(in srgb, var(--color-surface) 92%, transparent);box-shadow:0 var(--space-1) 0 var(--color-ink);cursor:pointer;display:grid}.home-level-card[aria-disabled=true]{border-color:var(--color-berry);cursor:not-allowed;opacity:.76}fieldset:disabled .home-level-card{cursor:not-allowed;opacity:.58;box-shadow:none}.home-level-card[data-shake]{animation:home-card-shake var(--motion-feedback) var(--ease-playful)}.home-level-card__name{font-size:var(--text-control);font-weight:900;line-height:1.1}.home-level-card__status{font-size:var(--text-support);font-weight:700;line-height:1.1}.home-level-card__stars{justify-content:center;gap:var(--space-1);color:var(--color-gold);-webkit-text-stroke:1px var(--color-gold-outline);text-shadow:0 1px 1px var(--color-gold-outline);font-size:var(--text-control);line-height:1;display:flex}.home-captured{padding:var(--space-1) var(--space-3);border-radius:var(--radius-round);background:color-mix(in srgb, var(--color-surface) 92%, transparent);font-size:var(--text-support);text-align:center;grid-column:1/-1;place-self:end center;margin:0;font-weight:700;line-height:1.2}.result-stage__actions{justify-content:center;align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.hunt-result{--hunt-result-monster-size:clamp(112px, 20vmin, 180px)}@media (width<=1100px){.result-stage.hunt-result{width:calc(100% - var(--target-min) - var(--target-min) - var(--space-6) - var(--space-6) - var(--space-3) - var(--space-3))}}.hunt-result__monsters{justify-content:center;align-items:end;gap:var(--space-6);width:100%;margin:0;padding:0;list-style:none;display:flex}.hunt-result__monster{justify-items:center;gap:var(--space-2);opacity:0;animation:hunt-result-pop-in var(--motion-celebrate) var(--ease-playful) var(--hunt-result-delay) both;display:grid}.hunt-result[data-paused=true] .hunt-result__monster{animation-play-state:paused}.hunt-result__monster>img{width:var(--hunt-result-monster-size);height:var(--hunt-result-monster-size);object-fit:contain;display:block}.hunt-result__monster-name{font-size:var(--text-control);text-align:center;font-weight:900;line-height:1.1}@keyframes hunt-result-pop-in{0%{transform:translateY(var(--space-4)) scale(.84);opacity:0}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes home-card-shake{0%,to{transform:translate(0)}25%{transform:translateX(calc(0px - var(--space-2)))}75%{transform:translateX(var(--space-2))}}@media (prefers-reduced-motion:reduce){.home-level-card[data-shake]{opacity:1;animation:none;transform:none}.hunt-result__monster{opacity:1;animation:none;transform:none}}.viewport-gate{min-height:100dvh}.viewport-gate>p[role=status]{min-height:100dvh;padding:var(--space-6);color:var(--color-ink);background:var(--color-bg);font-size:var(--text-instruction);text-align:center;place-items:center;margin:0;font-weight:700;line-height:1.35;display:grid}.lesson-viewport{width:100dvw;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-color:var(--color-bg);background-image:radial-gradient(circle at 15% 25%, color-mix(in srgb, var(--color-primary) 10%, transparent) 0 var(--space-1), transparent var(--space-2)), radial-gradient(circle at 82% 70%, color-mix(in srgb, var(--color-mint) 18%, transparent) 0 var(--space-1), transparent var(--space-3));background-size:var(--space-7) var(--space-7), var(--space-8) var(--space-8);place-items:center;display:grid;overflow:hidden}.lesson-stage{width:min(100%, calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 16 / 9));aspect-ratio:16/9;border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-card);background-color:var(--color-surface);max-height:100%;box-shadow:0 var(--space-2) 0 color-mix(in srgb, var(--color-ink) 20%, transparent);isolation:isolate;background-image:url(/assets/images/5-1/candy-workshop.webp);background-position:50%;background-size:cover;position:relative;overflow:hidden}.lesson-stage--recovery{align-content:start;justify-items:center;gap:var(--space-4);padding-top:var(--space-3);display:grid}.lesson-stage--recovery .lesson-guide{position:relative;top:auto;left:auto;transform:none}.lesson-guide{z-index:6;top:var(--space-3);border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-surface) 92%, transparent);grid-template-columns:clamp(88px,11vw,132px) minmax(0,1fr);align-items:center;width:min(78%,900px);min-height:clamp(84px,15%,116px);display:grid;position:absolute;left:50%;transform:translate(-50%)}.lesson-guide__portrait{align-self:stretch;overflow:hidden}.lesson-guide__portrait .mentor-fox-actor{width:100%;height:150%}.lesson-guide__message,.start-panel h1{color:var(--color-ink);font-size:var(--text-instruction);margin:0;font-weight:900;line-height:1.1}.lesson-guide__message{padding:var(--space-2) var(--space-5) var(--space-2) var(--space-3);text-align:left}.start-panel{z-index:3;justify-items:center;gap:var(--space-6);width:min(54%,620px);padding:var(--space-6);border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-surface) 92%, transparent);display:grid;position:absolute;top:18%;left:50%;transform:translate(-50%)}.start-panel h1{font-size:var(--text-title)}.start-panel__actions{justify-content:center;align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.result-stage{gap:var(--space-5);width:min(90%,1080px);padding:var(--space-6);top:7%}.result-stage__stars{justify-content:center;align-items:start;gap:var(--space-6);width:100%;margin:0;display:flex}.result-stage__star{min-width:0;color:var(--color-ink);font-size:var(--text-instruction);text-align:center;flex-direction:column;align-items:center;margin:0;font-weight:900;line-height:1.1;display:flex}.result-stage__star-icon{color:var(--color-gold);-webkit-text-stroke:1px var(--color-gold-outline);text-shadow:0 1px 1px var(--color-gold-outline);font-size:clamp(48px,7vmin,80px);line-height:1}.result-stage__rhyme{color:var(--color-ink);font-size:var(--text-equation);text-align:center;margin:0;font-weight:900;line-height:1.1}.primary-action{min-width:var(--target-min);min-height:var(--target-min);padding:var(--space-3) var(--space-6);border:var(--stroke-ui) solid var(--color-ink);border-radius:var(--radius-control);color:var(--color-bg);background:var(--color-primary);box-shadow:0 var(--space-1) 0 var(--color-ink);font-size:var(--text-control);cursor:pointer;transition:transform var(--motion-press) var(--ease-playful), background-color var(--motion-press) var(--ease-playful);font-weight:700;line-height:1.1}.primary-action:active{transform:translateY(var(--space-1));background:var(--color-primary-pressed);box-shadow:none}.primary-action:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}.audio-settings__trigger{z-index:11;top:var(--space-4);right:var(--space-6);width:var(--target-min);height:var(--target-min);border:var(--stroke-ui) solid var(--color-berry);border-radius:var(--radius-control);color:var(--color-berry);background:var(--color-surface);box-shadow:0 var(--space-1) 0 var(--color-berry);cursor:pointer;transition:transform var(--motion-press) var(--ease-playful), background-color var(--motion-press) var(--ease-playful);place-items:center;padding:0;display:grid;position:absolute}.audio-settings__trigger svg{width:var(--space-6);height:var(--space-6);pointer-events:none}.audio-settings__trigger:active{transform:translateY(var(--space-1));background:color-mix(in srgb, var(--color-surface) 88%, var(--color-berry));box-shadow:none}.audio-settings__state-description,.audio-settings__save-announcement{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.audio-settings__dismiss-layer{z-index:9;cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.audio-settings__panel{z-index:10;top:calc(var(--space-4) + var(--target-min) + var(--space-2));right:var(--space-6);width:clamp(280px,29%,360px);max-height:calc(100% - var(--space-3) - clamp(84px, 15%, 116px) - var(--space-3) - var(--space-5));overscroll-behavior:contain;scroll-padding:calc(var(--focus-ring) + var(--space-1));padding:var(--space-3) var(--space-4);border:var(--stroke-ui) solid var(--color-berry);border-radius:var(--radius-control);background:var(--color-surface);position:absolute;overflow-y:auto}.audio-settings__title{color:var(--color-ink);font-size:var(--text-control);text-align:left;margin:0;font-weight:900;line-height:1.2}.audio-settings__list{margin:var(--space-2) 0 0;padding:0;list-style:none}.audio-settings__row{min-height:var(--target-min);padding:var(--space-2) 0}.audio-settings__row+.audio-settings__row{border-top:var(--stroke-ui) solid color-mix(in srgb, var(--color-berry) 34%, var(--color-surface))}.audio-settings__label{min-height:var(--target-min);justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-control);cursor:pointer;font-weight:700;line-height:1.2;display:flex}.audio-settings__row-text{white-space:normal;min-width:0}.audio-settings__switch{appearance:none;border:var(--stroke-ui) solid var(--color-berry);border-radius:var(--radius-round);background:var(--color-surface);cursor:pointer;width:56px;height:36px;transition:background-color var(--motion-press) var(--ease-playful);flex:0 0 56px;margin:0;padding:0;position:relative}.audio-settings__switch:before{border-radius:var(--radius-round);background:var(--color-berry);content:"";width:24px;height:24px;transition:transform var(--motion-press) var(--ease-playful);position:absolute;top:0;left:0}.audio-settings__switch:checked{background:var(--color-berry)}.audio-settings__switch:checked:before{background:var(--color-surface);transform:translate(26px)}.audio-settings__switch:focus-visible{outline:var(--focus-ring) solid var(--color-focus);outline-offset:var(--space-1)}.audio-settings__runtime-status,.audio-settings__recovery p{font-size:var(--text-support);white-space:normal;margin:0;line-height:1.35}.audio-settings__runtime-status{color:var(--color-ink)}.audio-settings__recovery{justify-items:start;gap:var(--space-2);color:var(--color-berry);display:grid}.audio-settings__retry{min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:var(--stroke-ui) solid var(--color-berry);border-radius:var(--radius-control);color:var(--color-berry);background:var(--color-surface);font-size:var(--text-support);cursor:pointer;font-weight:700;line-height:1.2}.lesson-continue{z-index:5;right:var(--space-6);bottom:var(--space-5);position:absolute}.candy-bag-stage{--table-bag-size:clamp(190px, 22vw, 250px);--candy-art-size:calc(var(--table-bag-size) * .42);--table-bag-half-size:clamp(95px, 11vw, 125px);z-index:3;position:absolute;inset:21% 6% 3%}.candy-tray{z-index:4;justify-content:center;align-items:end;gap:var(--space-2);width:min(68%,700px);min-height:calc(var(--target-min) + var(--space-5));padding:var(--space-2);border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-surface) 88%, transparent);display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.candy-button{z-index:5;box-sizing:content-box;width:var(--candy-art-size);height:var(--candy-art-size);border:var(--stroke-ui) solid var(--color-ink);border-radius:var(--radius-control);background:var(--color-surface);cursor:grab;transition:transform var(--motion-snap) var(--ease-playful), box-shadow var(--motion-press) var(--ease-playful);flex:0 auto;place-items:center;padding:0;display:grid;position:relative}.candy-button[aria-pressed=true]{box-shadow:0 0 0 var(--focus-ring) var(--color-mint);border-style:dashed}.candy-button[data-dragging=true]{box-shadow:none;cursor:grabbing;background:0 0;border-color:#0000;outline:none}.candy-button:disabled{visibility:hidden;pointer-events:none}.candy-button img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.bag-cluster{z-index:2;bottom:calc(var(--target-min) + var(--space-8) + var(--space-7) + var(--space-2));justify-content:center;align-items:end;gap:var(--space-4);display:flex;position:absolute;left:50%;transform:translate(-50%)}.table-bag{width:var(--table-bag-size);height:var(--table-bag-size);flex:0 0 var(--table-bag-size);position:relative}.bag-mouth,.completed-bag,.fact-bag{background:0 0;border:0;place-items:center;display:grid;position:relative}.bag-mouth{border-radius:var(--radius-card);cursor:pointer;border:0;width:100%;height:100%;padding:0}.bag-mouth[data-selected-target=true]{outline:var(--stroke-ui) dashed var(--color-focus);outline-offset:calc(0px - var(--stroke-ui));box-shadow:inset 0 0 0 var(--focus-ring) var(--color-mint)}.bag-mouth[data-selected-target=true]:focus-visible{outline:var(--focus-ring) solid var(--color-focus);outline-offset:var(--space-1)}.bag-foreground{--bag-rim-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='white' fill-rule='evenodd' d='M0 0H100V100H0Z M13 29C14 14 28 7 50 7C72 7 86 14 87 29C86 38 72 47.5 50 48C28 47.5 14 38 13 29Z'/%3E%3C/svg%3E");clip-path:none;-webkit-mask-image:var(--bag-rim-mask);-webkit-mask-image:var(--bag-rim-mask);mask-image:var(--bag-rim-mask);z-index:3;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.bag-backdrop,.bag-foreground{object-fit:contain;pointer-events:none;width:100%;height:100%}.bag-backdrop{z-index:1;position:relative}.candy-pile{z-index:2;pointer-events:none;position:absolute;inset:0}.candy-pile img{width:var(--candy-art-size);height:var(--candy-art-size);object-fit:contain;position:absolute}.fact-bag .candy-pile img{width:42%;height:42%}.bag-count-status{top:calc(100% + var(--space-3));pointer-events:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-round);color:var(--color-bg);background:var(--color-berry);font-size:var(--text-support);white-space:nowrap;margin:0;font-weight:700;line-height:1.35;position:absolute;bottom:auto;left:50%;transform:translate(-50%)}.tap-bag-cue{bottom:calc(100% + var(--space-2));pointer-events:none;padding:var(--space-2) var(--space-4);border:var(--stroke-ui) solid var(--color-focus);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);font-size:var(--text-support);white-space:nowrap;margin:0;font-weight:700;line-height:1.35;position:absolute;left:50%;transform:translate(-50%)}.fact-bag{width:min(28%,280px);height:auto;position:absolute;top:28%;left:50%;transform:translate(-50%)}.completed-bags{align-items:start;width:min(56%,560px);height:auto;display:flex;position:absolute;top:28%;left:50%;transform:translate(-50%)}.completed-bags .fact-bag{width:50%;height:auto;position:relative;top:auto;left:auto;transform:none}.equation-reveal{z-index:4;position:absolute;inset:22% 4% 4%}.equation-reveal__bags{z-index:1;opacity:.72;justify-content:center;width:min(50%,500px);display:flex;position:absolute;top:4%;left:50%;transform:translate(-50%)}.equation-reveal__bags .fact-bag{width:50%;max-width:250px;position:relative;top:auto;left:auto;transform:none}.equation-reveal__value{z-index:3;min-width:44%;padding:var(--space-2) var(--space-5);border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-card);color:var(--color-ink);background:color-mix(in srgb, var(--color-surface) 94%, transparent);box-shadow:0 var(--space-2) 0 color-mix(in srgb, var(--color-ink) 18%, transparent);text-align:center;animation:equation-reveal-in var(--motion-feedback) var(--ease-playful) both;margin:0;font-size:clamp(3rem,8vw,7rem);font-weight:900;line-height:1;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.equation-reveal__status{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lesson-hint-target{outline:var(--focus-ring) solid var(--color-mint);outline-offset:var(--space-1);animation:lesson-hint-pulse var(--motion-celebrate) var(--ease-playful) infinite alternate}.lesson-stage--hint-highlight .candy-button:not(:disabled),.lesson-stage--hint-highlight .bag-mouth{box-shadow:0 0 0 var(--focus-ring) var(--color-mint)}.gesture-hint{z-index:9;aspect-ratio:1;pointer-events:none;opacity:1;place-items:center;width:clamp(72px,7vw,96px);display:grid;position:absolute}.gesture-hint img{width:100%;height:auto;display:block}.gesture-hint--bag-one,.gesture-hint--bag-two{top:calc(100% - var(--target-min) - var(--space-8) - var(--space-7) - var(--space-2) - var(--table-bag-half-size));animation:gesture-to-bag 2.2s var(--ease-playful) infinite}.gesture-hint--bag-one{--gesture-start-x:0px;left:50%}.gesture-hint--bag-two{--gesture-start-x:calc(0px - var(--table-bag-half-size) - var(--space-2));left:calc(50% + var(--table-bag-half-size) + var(--space-2))}.gesture-hint--continue{animation:gesture-to-continue 2.2s var(--ease-playful) infinite;bottom:5%;right:8%}.gesture-hint--skill-card{animation:gesture-to-skill-card 2.2s var(--ease-playful) infinite;bottom:8%;left:50%}.shield-battle-stage{z-index:4;position:absolute;inset:0;overflow:hidden}.battle-arena{z-index:2;height:49%;transition:opacity var(--motion-feedback) var(--ease-playful);position:absolute;top:17%;left:7%;right:7%}.battle-target-group{aspect-ratio:1;width:clamp(150px,22vw,270px);max-height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.battle-target-group--showcase{z-index:2}.battle-target-group--capture-card{z-index:3;animation:battle-capture-card-in .6s var(--ease-playful) both}.battle-target-group--capture-flight{z-index:3;animation:battle-capture-flight 1s var(--ease-playful) both}.battle-capture-card{z-index:4;inset:calc(0px - var(--space-2));pointer-events:none;border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-surface) 12%, transparent);box-shadow:0 var(--space-2) 0 color-mix(in srgb, var(--color-ink) 18%, transparent);position:absolute}.battle-monster{z-index:1;position:absolute;inset:0}.battle-monster__stripe{z-index:2;background:repeating-linear-gradient(-32deg, color-mix(in srgb, var(--color-comeback) 88%, transparent) 0 var(--space-2), transparent var(--space-2) var(--space-5));opacity:.72;pointer-events:none;display:block;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.number-shield{z-index:3;aspect-ratio:627/635;width:62%;color:var(--color-ink);font-size:var(--text-shield);place-items:center;font-weight:900;display:grid;position:absolute;bottom:-4%;left:50%;transform:translate(-50%)}.number-shield__art{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.number-shield__value{z-index:1;place-items:center;line-height:1;display:grid;position:absolute;inset:0}.number-shield__miss-mark{z-index:2;aspect-ratio:1;pointer-events:none;width:24%;position:absolute;top:8%;right:8%}.number-shield__miss-mark:before,.number-shield__miss-mark:after{width:100%;height:max(4px, var(--stroke-ui));border-radius:var(--radius-round);background:var(--color-primary);content:"";position:absolute;top:50%;left:50%}.number-shield__miss-mark:before{transform:translate(-50%,-50%)rotate(45deg)}.number-shield__miss-mark:after{transform:translate(-50%,-50%)rotate(-45deg)}.shield-battle-stage[data-feedback-step=shield-crack] .number-shield{animation:battle-shield-crack var(--motion-feedback) var(--ease-playful) both}.battle-skill-flight{z-index:5;top:var(--skill-flight-start-y);left:var(--skill-flight-start-x);min-width:var(--target-min);min-height:var(--target-min);padding:var(--space-2) var(--space-4);border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);box-shadow:0 0 0 var(--focus-ring) var(--color-mint);font-size:var(--text-control);animation:battle-skill-flight var(--motion-celebrate) var(--ease-playful) both;place-items:center;font-weight:900;display:grid;position:absolute}.battle-skill-cards{z-index:6;justify-content:center;align-items:stretch;gap:var(--space-6);height:29%;display:flex;position:absolute;bottom:3%;left:10%;right:10%}.battle-skill-card{width:min(31%,300px);min-width:calc(var(--target-min) * 2.4);min-height:var(--target-min);padding:var(--space-2) var(--space-4);border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-card);color:var(--color-ink);background:color-mix(in srgb, var(--color-surface) 96%, transparent);box-shadow:0 var(--space-2) 0 color-mix(in srgb, var(--color-ink) 22%, transparent);cursor:pointer;transition:opacity var(--motion-feedback) var(--ease-playful), transform var(--motion-press) var(--ease-playful), box-shadow var(--motion-feedback) var(--ease-playful);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);place-items:center;display:grid}.battle-skill-card:not(:disabled):active{transform:translateY(var(--space-1));box-shadow:0 var(--space-1) 0 color-mix(in srgb, var(--color-ink) 22%, transparent)}.battle-skill-card:focus-visible{outline:var(--focus-ring) solid var(--color-focus);outline-offset:var(--space-1)}.battle-skill-card--correct{border-style:double;border-color:var(--color-mint);box-shadow:0 0 0 var(--focus-ring) var(--color-mint)}.battle-skill-card--correction{border-style:dashed;border-color:var(--color-comeback);box-shadow:0 0 0 var(--focus-ring) color-mix(in srgb, var(--color-comeback) 56%, transparent)}.battle-skill-card--receded{opacity:.48;transform:scale(.96)}.battle-skill-card--glowing{animation:battle-card-glow var(--motion-feedback) var(--ease-playful) both}.battle-skill-card__name{font-size:var(--text-support);text-align:center;grid-column:1;place-self:end center;font-weight:700;line-height:1.1}.battle-skill-card__bags{grid-area:2/1;justify-content:center;justify-self:center;align-items:center;width:min(100%,210px);height:100%;display:flex}.battle-skill-card__bag{aspect-ratio:1;flex:0 50%;width:50%;margin-inline:-4%;position:relative}.battle-skill-card__bag .candy-pile img{width:42%;height:42%}.battle-skill-card__equation{font-size:var(--text-instruction);text-align:center;grid-area:3/1;place-self:start center;font-weight:900;line-height:1}.battle-equation,.battle-reunion{z-index:8;padding:var(--space-2) var(--space-5);border:var(--stroke-ui) solid var(--color-primary);border-radius:var(--radius-card);color:var(--color-ink);background:var(--color-surface);box-shadow:0 var(--space-2) 0 color-mix(in srgb, var(--color-ink) 18%, transparent);white-space:nowrap;animation:equation-reveal-in var(--motion-feedback) var(--ease-playful) both;margin:0;font-weight:900;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.battle-equation{font-size:var(--text-equation);top:42%;transform:translate(-50%,-50%)}.battle-reunion{border-color:var(--color-comeback);font-size:var(--text-instruction);top:-8%;bottom:auto}.battle-correction-bags{z-index:6;justify-content:center;align-items:center;gap:var(--space-3);width:min(40%,420px);height:37%;display:flex;position:absolute;top:23%;left:50%;transform:translate(-50%)}.battle-correction-bag{aspect-ratio:1;width:min(50%,210px);position:relative}.battle-correction-bag .candy-pile img{width:42%;height:42%}.shield-battle-stage--paused *,.shield-battle-stage--paused :before,.shield-battle-stage--paused :after{animation-play-state:paused!important}@keyframes equation-reveal-in{0%{opacity:0;transform:translate(-50%, calc(-50% + var(--space-5)))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes battle-card-glow{0%{box-shadow:0 0 0 0 var(--color-mint)}to{box-shadow:0 0 var(--space-5) var(--focus-ring) var(--color-mint)}}@keyframes battle-skill-flight{0%{opacity:1;transform:translate(-50%,-50%)rotate(-5deg)}to{opacity:.9;transform:translate(calc(-50% + var(--skill-flight-delta-x)), calc(-50% + var(--skill-flight-delta-y))) rotate(4deg)}}@keyframes battle-shield-crack{0%,to{transform:translate(-50%)}35%{transform:translateX(calc(-50% - var(--space-2)))}68%{transform:translateX(calc(-50% + var(--space-2)))}}@keyframes battle-capture-card-in{0%{opacity:.65;transform:translate(-50%)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes battle-capture-flight{0%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:.8;transform:translate(115%,-88%)scale(.32)}}@keyframes lesson-hint-pulse{0%{outline-color:var(--color-mint)}to{outline-color:var(--color-focus)}}@keyframes gesture-to-bag{0%,14%{opacity:.82;transform:translate(calc(-50% + var(--gesture-start-x)), calc(-50% + var(--table-bag-size))) rotate(-18deg)}28%{opacity:1}82%,to{opacity:.92;transform:translate(-50%,-50%)rotate(0)}}@keyframes gesture-to-continue{0%,14%{opacity:.82;transform:translate(-120%,-100%)rotate(-18deg)}28%,68%{opacity:1}82%,to{opacity:.88;transform:translate(20%,20%)rotate(0)}}@keyframes gesture-to-skill-card{0%,14%{opacity:.82;transform:translate(-50%,90%)rotate(-18deg)}28%,68%{opacity:1}82%,to{opacity:.88;transform:translate(-50%,-20%)rotate(0)}}@media (width>=1200px){.bag-cluster{bottom:calc(var(--target-min) + var(--space-8) + var(--space-7) + var(--space-2) + var(--space-2))}.gesture-hint--bag-one,.gesture-hint--bag-two{top:calc(100% - var(--target-min) - var(--space-8) - var(--space-7) - var(--space-2) - var(--space-2) - var(--table-bag-half-size))}}@media (forced-colors:active){.audio-settings__switch{background:canvas;border-color:buttontext}.audio-settings__switch:before{background:buttontext}.audio-settings__switch:checked{background:highlight;border-color:highlight}.audio-settings__switch:checked:before{background:highlighttext}.audio-settings__switch:focus-visible{outline-color:highlight}}@media (prefers-reduced-motion:reduce){:root{--motion-snap:1ms;--motion-feedback:1ms;--motion-celebrate:1ms}.primary-action:active,.audio-settings__trigger:active{transform:none}.audio-settings__switch,.audio-settings__switch:before,.candy-button{transition-duration:1ms}.equation-reveal__value{animation:none}.lesson-hint-target{animation-duration:1ms}.gesture-hint{opacity:.85;animation:none;transform:none}.battle-skill-card{transition-duration:1ms}.battle-skill-card--glowing,.number-shield,.battle-equation,.battle-reunion{animation:none}.battle-skill-flight{opacity:.9;transform:translate(calc(-50% + var(--skill-flight-delta-x)), calc(-50% + var(--skill-flight-delta-y)));animation:none}.battle-target-group--capture-card{opacity:1;animation:none;transform:translate(-50%)scale(1)}.battle-target-group--capture-flight{opacity:.8;animation:none;transform:translate(115%,-88%)scale(.32)}}@font-face{font-family:Noto Sans SC;src:url(/assets/fonts/noto-sans-sc-2.004-subset.woff2)format("woff2");font-style:normal;font-weight:500 900;font-display:swap}:root{--font-ui:"Noto Sans SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg:#fff8e8;--color-surface:#fffdf7;--color-ink:#3f2a22;--color-primary:#a9471f;--color-primary-pressed:#863815;--color-mint:#7dbe99;--color-berry:#73506f;--color-gold:gold;--color-gold-outline:#704000;--color-comeback:#77647b;--color-focus:#1f5fbf;--text-support:clamp(18px, 2.3vmin, 24px);--text-control:clamp(20px, 2.6vmin, 28px);--text-instruction:clamp(26px, 3.4vmin, 40px);--text-title:clamp(36px, 5vmin, 64px);--text-equation:clamp(48px, 7vmin, 88px);--text-shield:clamp(56px, 8vmin, 96px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-control:20px;--radius-card:28px;--radius-round:999px;--stroke-ui:3px;--target-min:64px;--focus-ring:4px;--motion-press:.12s;--motion-snap:.25s;--motion-feedback:.4s;--motion-celebrate:.6s;--ease-playful:cubic-bezier(.2, .8, .2, 1)}*,:before,:after{box-sizing:border-box}html,body{min-width:100%;min-height:100%;color:var(--color-ink);background-color:var(--color-bg);font-family:var(--font-ui);margin:0}body,#root{width:100%;min-height:100dvh}button{color:inherit;font:inherit}button:focus-visible{outline:var(--focus-ring) solid var(--color-focus);outline-offset:var(--space-1)}.secondary-action{min-width:var(--target-min);min-height:var(--target-min);padding:var(--space-3) var(--space-6);border:var(--stroke-ui) solid var(--color-berry);border-radius:var(--radius-control);color:var(--color-berry);background:var(--color-surface);box-shadow:0 var(--space-1) 0 var(--color-berry);font-size:var(--text-control);cursor:pointer;transition:transform var(--motion-press) var(--ease-playful);font-weight:700;line-height:1.1}.secondary-action:active{transform:translateY(var(--space-1));background:var(--color-bg);box-shadow:none}.secondary-action:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}@media (prefers-reduced-motion:reduce){.secondary-action:active{transform:none}}
