.modal-card.factory-editor-modal{width:min(1040px,96vw)}.factory-editor-intro{margin:0 0 18px;color:#526b6b;line-height:1.7}.factory-editor-section{padding:20px;margin:16px 0;border:1px solid #d3e4d9;border-radius:20px;background:#fffef8}.factory-editor-section h3{margin:0 0 12px;color:#315d58;font-size:20px}.factory-editor-section p{color:#5a716d;font-size:14px;line-height:1.7}.factory-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.factory-editor-modal .field{min-width:0}.factory-editor-modal input:not([type=checkbox]):not([type=file]),.factory-editor-modal select{min-height:46px;width:100%}.factory-editor-modal .btn,.factory-editor-modal .icon-btn{min-height:44px;min-width:44px}.factory-editor-toggles{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px}.factory-checkbox{display:flex;align-items:center;gap:9px;min-height:44px;color:#355953;font-weight:600}.factory-checkbox input,.factory-word-choice input{width:22px;height:22px;flex:0 0 22px;accent-color:#4c9380}.factory-editor-short{max-width:300px;margin-top:12px}.factory-memory-settings{margin-top:12px;padding:14px;border-radius:14px;background:#f3f2fb}.factory-editor-actions{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.factory-word-search{flex:1;min-width:200px!important}.factory-library-words{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:260px;overflow-y:auto;padding:5px 2px;margin-top:14px}.factory-word-choice{display:flex;align-items:center;gap:10px;min-height:58px;cursor:pointer;padding:8px 10px;border-radius:12px;background:#f1f6ef;border:1px solid #dbe8d8}.factory-word-choice span,.factory-custom-row>span{display:grid;gap:3px;min-width:0}.factory-word-choice b,.factory-custom-row b{overflow-wrap:anywhere;color:#365f58}.factory-word-choice small,.factory-custom-row small{color:#70857e;overflow-wrap:anywhere}.factory-word-choice:has(input:checked){background:#e4f2ea;border-color:#9bc9b3}.factory-custom-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}.factory-custom-list{display:grid;gap:8px;margin-top:14px}.factory-custom-only{margin-top:14px}.factory-custom-row{display:flex;align-items:center;gap:10px;border:1px solid #e6ddc8;border-radius:12px;padding:10px 12px;background:#fff9e9}.factory-custom-row>span{flex:1}.factory-custom-row .btn{font-size:13px}.factory-pool-status{display:grid;gap:7px;padding:16px 20px;border-radius:16px;background:#e5f4e8;border:1px solid #b6d9bc;color:#355d44}.factory-pool-status.is-short{background:#fff4d7;border-color:#e9d39a;color:#776027}.factory-pool-status span{font-size:14px;line-height:1.6}.factory-scheme-row{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:12px}.factory-scheme-row .field{flex:1;min-width:180px}.factory-editor-error{padding:14px 18px;color:#785123;background:#fff0cd;border:1px solid #e5c985;border-radius:12px;line-height:1.6}.factory-file-input{display:none}.factory-editor-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 0;border-top:1px solid #dbe6de;color:#58716a}.factory-editor-modal button:focus-visible,.factory-editor-modal input:focus-visible,.factory-editor-modal select:focus-visible{outline:3px solid #599cb1;outline-offset:3px}@media(max-width:760px){.factory-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.factory-library-words{grid-template-columns:repeat(3,minmax(0,1fr))}.factory-custom-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.factory-custom-inputs .btn{grid-column:1 / -1}}@media(max-width:480px){.factory-editor-section{padding:14px}.factory-editor-grid,.factory-custom-inputs{grid-template-columns:minmax(0,1fr)}.factory-library-words{grid-template-columns:repeat(2,minmax(0,1fr))}.factory-custom-row{flex-wrap:wrap}.factory-custom-row>span{flex-basis:100%}.factory-editor-bottom .btn{width:100%}}.factory-page{max-width:1700px;margin:auto;padding-bottom:24px;color:#36594f}.factory-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.factory-stage{position:relative;min-width:0;min-height:670px;border:2px solid #cdbb95;border-radius:32px;padding:22px 6%;background:#fff6dd var(--factory-workshop) center/cover no-repeat;box-shadow:0 7px #b8a68124;overflow:hidden;display:flex;flex-direction:column;align-items:center}.factory-stage-top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:1}.factory-shop-sign{font:italic 20px Georgia,serif;color:#516b56;background:#fff9e7ed;border:1px solid #dfcb9e;border-radius:10px;padding:10px 17px}.factory-progress{display:flex;align-items:center;gap:14px;padding:9px 16px;border-radius:20px;background:#fff9e7ee;font-weight:800;font-size:18px;color:#536e58}.factory-progress b{color:#856938;font-size:17px}.factory-prompt{height:176px;display:flex;align-items:center;justify-content:center;gap:18px;margin-top:10px;text-align:center;position:relative;z-index:1}.factory-prompt img{width:150px;height:150px;border-radius:26px;box-shadow:0 5px #8c9d7220}.factory-prompt>div{display:flex;flex-direction:column;align-items:center;gap:8px}.factory-prompt strong{font-size:clamp(34px,3vw,54px);font-weight:800;color:#476d59;line-height:1.15}.factory-prompt .factory-prompt-title{font:italic 30px Georgia,serif;color:#6e795c}.factory-prompt span{font-size:22px;color:#60745a}.factory-machine{position:relative;width:100%;max-width:820px;margin-top:-20px;aspect-ratio:760/340;flex-shrink:0}.factory-machine-art{position:absolute;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 5px 3px #6c694520)}.factory-slots{position:absolute;left:19.5%;right:19.5%;top:40%;height:32%;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.factory-slot{flex:0 1 76px;min-width:48px;height:76px;max-width:76px;background:#fffbed;border:3px solid #bacfb3;border-radius:15px;box-shadow:inset 0 5px 6px #a3b59b20,0 3px #fff8d6;font-family:Georgia,serif;font-weight:700;font-size:42px;color:#41674e;transition:background .2s,transform .2s}.factory-slot span{font-size:30px;color:#bcc9a7}.factory-slot.is-filled{background:#fffbdb;border-color:#acbd8b;animation:factory-letter-land .22s ease-out}.factory-slot.is-fixed{background:#e2eed6;color:#4e6854;border-style:dashed;box-shadow:none}.factory-slot:disabled{opacity:1}.factory-machine-plaque{position:absolute;left:50%;bottom:16%;transform:translate(-50%);font-size:11px;font-weight:800;letter-spacing:2px;color:#7e734e;white-space:nowrap}.factory-feedback{position:relative;z-index:1;background:#fffae7ee;border-radius:20px;padding:9px 17px;font-weight:700;font-size:18px;text-align:center;min-height:43px;margin-top:-9px;color:#567253}.factory-letter-tray{position:relative;z-index:1;width:100%;min-height:88px;padding:10px 12px;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.factory-tile{min-width:66px;width:70px;height:72px;border:2px solid #c3ac7f;border-bottom-width:6px;border-radius:14px;background:#fde4ab;color:#5b634f;font-family:Georgia,serif;font-size:40px;font-weight:700;box-shadow:inset 0 0 0 3px #fff7d97d,0 4px #756a3620;cursor:pointer;touch-action:none;transition:transform .15s,opacity .15s}.factory-tile:hover:not(:disabled){transform:translateY(-4px) rotate(-3deg)}.factory-tile:disabled{opacity:.3;cursor:default}.tile-color-1{background:#cce6d5;border-color:#91b9a1}.tile-color-2{background:#d9e8f3;border-color:#a0b7c9}.tile-color-3{background:#e6daed;border-color:#b9a8c5}.factory-stage-tools{position:relative;z-index:1;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:6px 0 0}.factory-stage-tools .btn{min-height:44px;padding:8px 12px;font-size:13px;background:#fffaf0ed}.factory-sidebar{display:flex;flex-direction:column;gap:14px;min-width:0}.factory-class-card{background:#fdf8ea;border:1px solid #ded7bd;border-radius:23px;padding:22px}.factory-class-card h2{font-size:21px;line-height:1.4;margin:8px 0;color:#52715b;overflow-wrap:anywhere}.factory-class-card p{font-size:14px;line-height:1.8;color:#74816b}.factory-scoreboard{display:flex;gap:10px}.factory-team{flex:1;text-align:center;padding:13px;background:#fcebd3;border:2px solid #e7d4ae;border-radius:20px;opacity:.75}.factory-team.blue{background:#e7f0f4;border-color:#c6d8e3}.factory-team.is-turn{opacity:1;box-shadow:0 0 0 3px #fffbef,0 0 0 5px #b8bd95}.factory-team span{display:block;font-size:15px;font-weight:700}.factory-team strong{display:block;font:700 42px Georgia,serif;margin-top:4px}.factory-side-tools{display:grid;grid-template-columns:1fr 1fr;gap:9px}.factory-side-tools .btn{font-size:13px;padding:10px 7px;min-height:46px}.factory-side-tools .btn:nth-last-child(-n+2){grid-column:1/-1}.factory-scoring-note,.factory-note{font-size:13px;line-height:1.8;padding:0 12px;color:#74806b}.factory-scoring-note{padding:12px;background:#f6f0df;border-radius:14px}.factory-note{margin-top:auto}.factory-animation-skip{position:absolute;bottom:12px;right:18px;z-index:3;min-height:44px!important;font-size:13px!important;padding:8px 13px!important}.factory-pause-shade{position:absolute;inset:0;background:#fff8e9ed;backdrop-filter:blur(4px);z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;font-size:26px;color:#627967}.factory-drag-ghost{position:fixed;z-index:10000;pointer-events:none;transform:translate(-50%,-50%) rotate(-8deg);width:70px;height:72px;display:grid;place-items:center;border:3px solid #c3ac7f;background:#ffedb7;border-radius:14px;font:700 40px Georgia,serif;box-shadow:0 8px 20px #52694f40;color:#47634d}.factory-result{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;background:#f9f2da;border:2px solid #d9c391;border-radius:24px;padding:24px;margin-top:20px;text-align:center}.factory-result h2{font-size:28px}.factory-result p{font-size:18px}.factory-stars{position:absolute;inset:0;pointer-events:none}.factory-stars i{position:absolute;left:calc(12% + var(--star-order)*9%);top:28%;font-size:32px;color:#efbc48;text-shadow:0 0 12px #fff5b5;animation:factory-star 1.4s ease-out both;animation-delay:calc(var(--star-order)*25ms)}.is-magic .factory-gear{animation:factory-gear 1.4s linear infinite}.is-magic .gear-1{animation-direction:reverse}.is-magic .factory-slot{animation:factory-slot-glow .8s ease-in-out both;animation-delay:calc(var(--slot-order)*.08s)}.is-wrong .factory-slots{animation:factory-gentle-shake .45s ease-in-out}.factory-page button:focus-visible{outline:3px solid #467f76;outline-offset:3px}.factory-page button{touch-action:manipulation}.factory-page .factory-tile{touch-action:none}@keyframes factory-letter-land{0%{transform:translateY(9px) scale(.9)}to{transform:none}}@keyframes factory-gear{to{transform:rotate(120deg)}}@keyframes factory-slot-glow{50%{background:#fff5a9;box-shadow:0 0 24px #f7d86c;transform:translateY(-3px)}}@keyframes factory-gentle-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes factory-star{0%{transform:translateY(70px) scale(.4);opacity:0}35%{opacity:1}to{transform:translateY(-80px) rotate(60deg);opacity:0}}@media(min-width:2100px){.factory-page{max-width:2040px}.factory-stage{min-height:950px;padding-top:32px}.factory-machine{max-width:1050px}.factory-prompt{height:250px}.factory-prompt img{width:210px;height:210px}.factory-tile{width:90px;height:90px;font-size:48px}.factory-slot{height:88px;max-width:88px;flex-basis:88px;font-size:46px}.factory-feedback{font-size:23px}.factory-layout{grid-template-columns:minmax(0,1fr) 320px;gap:26px}}@media(max-width:1500px){.factory-layout{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.factory-stage{min-height:570px;padding:16px 3%}.factory-prompt{height:134px;margin-top:4px}.factory-prompt img{width:116px;height:116px}.factory-machine{max-width:650px;margin-top:-14px}.factory-slot{height:64px;max-width:64px;flex-basis:64px;font-size:36px}.factory-slots{gap:6px}.factory-tile{width:60px;min-width:56px;height:64px;font-size:34px}.factory-letter-tray{gap:9px;min-height:78px}.factory-feedback{font-size:16px}.factory-class-card{padding:16px}.factory-stage-tools .btn{font-size:12px;padding:8px 9px}.factory-shop-sign{font-size:17px}.factory-machine-plaque{font-size:9px}}@media(max-width:1000px){.factory-layout{grid-template-columns:1fr}.factory-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.factory-sidebar>.btn,.factory-side-tools{grid-column:1/-1}.factory-side-tools{grid-template-columns:repeat(3,1fr)}.factory-side-tools .btn:nth-last-child(-n+2){grid-column:auto}.factory-stage{min-height:590px}.factory-page .game-heading{gap:14px;flex-wrap:wrap}}@media(max-width:600px){.factory-page .game-heading h1{font-size:26px}.factory-stage{padding:10px 2%;min-height:540px;border-radius:22px;background-position:55% center}.factory-shop-sign{font-size:13px;padding:8px}.factory-progress{font-size:14px;padding:8px}.factory-machine{width:100%;min-height:220px;margin-top:0;aspect-ratio:auto}.factory-machine-art{object-fit:fill}.factory-slots{left:7%;right:7%;top:36%;height:39%;gap:5px}.factory-slot{flex-basis:46px;min-width:44px;height:56px;font-size:29px;border-radius:10px}.factory-machine-plaque{bottom:12%;font-size:8px;letter-spacing:1px}.factory-prompt{height:110px}.factory-prompt img{width:92px;height:92px}.factory-prompt strong{font-size:30px}.factory-prompt .factory-prompt-title{font-size:20px}.factory-feedback{font-size:14px;margin-top:0;padding:9px}.factory-tile{width:52px;min-width:48px;height:56px;font-size:30px}.factory-letter-tray{gap:8px;padding:10px 5px}.factory-stage-tools{gap:5px;margin-bottom:30px}.factory-stage-tools .btn{font-size:11px;gap:3px}.factory-sidebar{display:flex}.factory-side-tools{display:grid;grid-template-columns:1fr 1fr}.factory-side-tools .btn:nth-last-child(-n+2){grid-column:1/-1}.factory-note{margin:0}.factory-result h2{font-size:23px}}@media(prefers-reduced-motion:reduce){.factory-page *{animation:none!important;transition:none!important}.is-magic .factory-slot{background:#fff5bd;box-shadow:0 0 10px #e2c271}.factory-stars i{opacity:1;top:10%}}@media(min-width:1001px)and (max-width:1500px){.game-page.factory-page{padding-bottom:0}.factory-slot{flex-basis:56px;max-width:56px}.factory-prompt{position:absolute;left:4%;top:95px;width:130px;height:160px;flex-direction:column;gap:8px;margin:0}.factory-prompt strong{font-size:30px;white-space:nowrap}.factory-prompt .factory-prompt-title{font-size:19px;white-space:normal}.factory-prompt img{width:110px;height:110px}.factory-prompt .btn{padding:8px 10px;font-size:12px;min-height:44px}.factory-prompt span{font-size:16px}.factory-machine{margin-top:14px}.factory-sidebar{gap:8px}.factory-class-card{padding:12px}.factory-class-card h2{font-size:18px;margin:5px 0}.factory-class-card p{font-size:12px;line-height:1.6}.factory-team{padding:8px}.factory-team strong{font-size:32px}.factory-scoring-note{padding:8px 10px;font-size:12px;line-height:1.55}.factory-side-tools{gap:7px}.factory-side-tools .btn{min-height:44px;padding:8px 6px;font-size:12px}.factory-note{font-size:11px;line-height:1.5}.factory-stage-tools{margin-top:4px}.factory-stage{padding-top:12px;padding-bottom:12px}.factory-letter-tray{margin-top:6px}}.kas-scene{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;isolation:isolate;background:#9d899f;color:#2e2835;font-family:Trebuchet MS,Microsoft YaHei,sans-serif;pointer-events:none}.kas-scene-svg,.kas-card-art{display:block;width:100%;height:100%}.kas-scene-svg{position:relative;overflow:hidden}.kas-palace-backdrop{position:absolute;inset:0;display:block;width:100%;height:100%}.kas-card-art{object-fit:contain}.kas-scene-cue{position:absolute;top:14%;left:13%;right:13%;display:flex;flex-direction:column;align-items:center;line-height:1}.kas-scene-cue strong{padding:7px 17px 8px;border:3px solid #2e2835;border-radius:5px;background:#f4ead0;box-shadow:0 4px #2e2835;font-size:clamp(27px,3.25vw,61px);font-weight:900;letter-spacing:-.8px}.kas-scene-cue span{margin-top:9px;padding:5px 11px 6px;border:2px solid #2e2835;border-radius:4px;background:#f0c952;font-size:clamp(15px,1.3vw,24px);font-weight:900}.kas-scene:is([data-phase=freeze],[data-phase=judge]) .kas-scene-cue strong{background:#aa3948;color:#fff6dd}.kas-scene[data-verdict=safe][data-phase=feedback] .kas-scene-cue strong{background:#c4e1c8;color:#24553e}.kas-scene[data-phase=won] .kas-scene-cue strong{background:#f0c952;font-size:clamp(24px,2.75vw,50px)}.kas-scene[data-paused=true] .kas-scene-cue strong{background:#fff6dd;color:#2e2835}.kas-assassin-creep{animation:kas-creep 90s linear both;animation-play-state:paused}.kas-assassin-bob{animation:kas-cycle-weight 1.16s ease-in-out infinite;animation-play-state:paused}.kas-leg,.kas-thigh,.kas-shin,.kas-foot,.kas-assassin-torso,.kas-assassin-arm,.kas-forearm{transform-box:view-box;transform-origin:0 0}.kas-leg-front{animation:kas-cycle-hip 1.16s ease-in-out infinite;animation-play-state:paused}.kas-leg-back{animation:kas-cycle-hip 1.16s ease-in-out -.58s infinite;animation-play-state:paused}.kas-thigh{animation:kas-cycle-thigh 1.16s ease-in-out infinite;animation-play-state:paused}.kas-shin{animation:kas-cycle-knee 1.16s ease-in-out infinite;animation-play-state:paused}.kas-foot{animation:kas-cycle-ankle 1.16s ease-in-out infinite;animation-play-state:paused}.kas-leg-back :is(.kas-thigh,.kas-shin,.kas-foot){animation-delay:-.58s}.kas-assassin-torso{transform-origin:0 -120px;animation:kas-cycle-lean 1.16s ease-in-out infinite;animation-play-state:paused}.kas-assassin-arm-front{transform-origin:17px -204px;animation:kas-cycle-arm-front 1.16s ease-in-out infinite;animation-play-state:paused}.kas-assassin-arm-back{transform-origin:-24px -205px;animation:kas-cycle-arm-back 1.16s ease-in-out infinite;animation-play-state:paused}.kas-forearm{transform-origin:19px -164px;animation:kas-cycle-wrist 1.16s ease-in-out infinite;animation-play-state:paused}.kas-scene[data-phase=read] :is(.kas-assassin-creep,.kas-assassin-bob,.kas-leg,.kas-thigh,.kas-shin,.kas-foot,.kas-assassin-torso,.kas-assassin-arm,.kas-forearm){animation-play-state:running}.kas-scene:is([data-phase=freeze],[data-phase=judge]) .kas-assassin-creep,.kas-scene:is([data-phase=freeze],[data-phase=judge]) .kas-assassin-creep *{animation-play-state:paused}.kas-king-head{transform-box:view-box;transform-origin:0 -288px;transform:scaleX(1)}.kas-king-body{transform-box:view-box;transform-origin:0 -12px;animation:kas-cycle-royal 2.32s ease-in-out infinite;animation-play-state:paused}.kas-king-shoe{transform-box:view-box;transform-origin:0 0}.kas-king-shoe-front{animation:kas-cycle-royal-shoe 2.32s ease-in-out infinite;animation-play-state:paused}.kas-king-shoe-back{animation:kas-cycle-royal-shoe 2.32s ease-in-out -1.16s infinite;animation-play-state:paused}.kas-scene:is([data-phase=ready],[data-phase=read]) :is(.kas-king-body,.kas-king-shoe){animation-play-state:running}.kas-scene:is([data-phase=freeze],[data-phase=judge],[data-phase=lost]) .kas-king-head,.kas-scene[data-phase=feedback][data-verdict=caught] .kas-king-head{transform:scaleX(-1);animation:kas-king-turn .16s steps(2,end) both}.kas-scene[data-phase=feedback][data-verdict=safe] .kas-king-head{animation:kas-king-return .48s ease-in-out both}.kas-king-eye-alert,.kas-assassin-alert-eyes,.kas-assassin-gasp,.kas-assassin-smile,.kas-king-finish-hand{display:none}.kas-scene:is([data-phase=freeze],[data-phase=judge],[data-phase=lost]) :is(.kas-king-eye-calm,.kas-assassin-eye-calm,.kas-assassin-grin),.kas-scene[data-phase=feedback][data-verdict=caught] :is(.kas-king-eye-calm,.kas-assassin-eye-calm,.kas-assassin-grin){display:none}.kas-scene:is([data-phase=freeze],[data-phase=judge],[data-phase=lost]) :is(.kas-king-eye-alert,.kas-assassin-alert-eyes,.kas-assassin-gasp),.kas-scene[data-phase=feedback][data-verdict=caught] :is(.kas-king-eye-alert,.kas-assassin-alert-eyes,.kas-assassin-gasp){display:inline}.kas-scene[data-phase=feedback][data-verdict=safe] .kas-assassin-grin,.kas-scene[data-phase=won] .kas-assassin-grin{display:none}.kas-scene[data-phase=feedback][data-verdict=safe] .kas-assassin-smile,.kas-scene[data-phase=won] :is(.kas-assassin-smile,.kas-king-finish-hand){display:inline}.kas-scene[data-phase=feedback][data-verdict=safe] .kas-relief-gesture{animation:kas-relief .65s ease-in-out both}.kas-scene[data-phase=feedback][data-verdict=caught] .kas-king-body,.kas-scene[data-phase=lost] .kas-king-body{animation:kas-royal-startle .32s ease-out both}.kas-alert{transform-box:fill-box;transform-origin:center;animation:kas-alert-pop .18s ease-out both}.kas-guard-position-left{transform:translate(calc(var(--kas-held-x,0px) - 79px))}.kas-guard-position-right{transform:translate(calc(var(--kas-held-x,0px) + 81px))}.kas-guard-arrival{animation:kas-guards-enter .3s ease-out both}.kas-scene:is([data-phase=lost],[data-phase=feedback][data-verdict=caught]) .kas-escort{animation:kas-escort-out 2s ease-in both}.kas-guard-bob{animation:kas-guard-weight .38s ease-in-out infinite}.kas-guard-leg-front,.kas-guard-leg-back{transform-box:view-box;transform-origin:0 -79px;animation:kas-guard-march .38s ease-in-out infinite}.kas-guard-leg-back,.kas-guard-right .kas-guard-bob{animation-delay:-.19s}.kas-scene[data-phase=won] .kas-celebrate-pose{transform-box:view-box;transform-origin:0 0;animation:kas-victory-bounce .72s ease-in-out 2 both}.kas-scene[data-phase=won] .kas-relief-gesture{transform-box:view-box;transform-origin:0 -120px;animation:kas-victory-bow .8s ease-in-out both}.kas-safe-reward,.kas-caught-marks{transform:translate(var(--kas-held-x,0px))}.kas-safe-reward{animation:kas-reward-appear .32s ease-out both}.kas-safe-ring{stroke-dasharray:8 10;animation:kas-safe-shine .8s ease-out both}.kas-safe-check{animation:kas-check-pop .35s ease-out both;transform-box:fill-box;transform-origin:center}.kas-celebration-star{transform-box:fill-box;transform-origin:center;animation:kas-star-dance 1.2s ease-in-out infinite;animation-delay:var(--star-delay)}.kas-medal{transform-box:fill-box;transform-origin:center;animation:kas-medal-pop .5s cubic-bezier(.2,.9,.2,1.2) both}.kas-escort-caption{position:absolute;left:12%;right:12%;bottom:2%;padding:5px 9px;border:2px solid #2e2835;border-radius:5px;background:#f8edcf;text-align:center;font-size:clamp(13px,1.1vw,21px);font-weight:800}.kas-read-beats{position:absolute;left:15%;right:15%;bottom:1.6%;display:flex;justify-content:center;align-items:center;gap:7px;color:#fff6dd;font-size:clamp(12px,1vw,19px);font-weight:800}.kas-read-beats i{width:8px;height:8px;border-radius:50%;background:#f4cc5a;animation:kas-beat 1.16s steps(2,end) infinite}.kas-read-beats i:nth-child(2n){animation-delay:.58s}.kas-read-beats span{padding:0 8px}.kas-scene[data-paused=true] *,.kas-scene[data-paused=true] *:before,.kas-scene[data-paused=true] *:after{animation-play-state:paused!important}.kas-scene-compact .kas-scene-cue strong{font-size:clamp(22px,2.45vw,43px)}.kas-scene-compact .kas-scene-cue span{font-size:clamp(12px,1.1vw,20px)}@keyframes kas-creep{0%{transform:translate(0)}to{transform:translate(220px)}}@keyframes kas-cycle-weight{0%,50%,to{transform:translateY(0)}25%,75%{transform:translateY(-5px)}}@keyframes kas-cycle-hip{0%,to{transform:rotate(-16deg)}22%,35%{transform:rotate(-77deg)}50%{transform:rotate(-10deg)}72%{transform:rotate(27deg)}87%{transform:rotate(16deg)}}@keyframes kas-cycle-thigh{0%,50%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(4deg)}}@keyframes kas-cycle-knee{0%,to{transform:rotate(10deg)}22%,35%{transform:rotate(112deg)}50%{transform:rotate(12deg)}72%{transform:rotate(-22deg)}87%{transform:rotate(-12deg)}}@keyframes kas-cycle-ankle{0%,50%,to{transform:rotate(6deg)}25%,35%{transform:rotate(-35deg)}75%{transform:rotate(-5deg)}}@keyframes kas-cycle-lean{0%,50%,to{transform:rotate(8deg)}25%,75%{transform:rotate(13deg)}}@keyframes kas-cycle-arm-front{0%,to{transform:rotate(-6deg)}25%{transform:rotate(-22deg)}50%{transform:rotate(-3deg)}75%{transform:rotate(13deg)}}@keyframes kas-cycle-arm-back{0%,to{transform:rotate(9deg)}25%{transform:rotate(22deg)}50%{transform:rotate(5deg)}75%{transform:rotate(-10deg)}}@keyframes kas-cycle-wrist{0%,50%,to{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(9deg)}}@keyframes kas-cycle-royal{0%,50%,to{transform:rotate(0)}25%{transform:rotate(.8deg)}75%{transform:rotate(-.7deg)}}@keyframes kas-cycle-royal-shoe{0%,50%,to{transform:translateY(0)}25%{transform:translateY(-3px)}}@keyframes kas-king-turn{0%{transform:scaleX(1)}45%{transform:scaleX(.12)}to{transform:scaleX(-1)}}@keyframes kas-king-return{0%,20%{transform:scaleX(-1) rotate(-5deg)}58%{transform:scaleX(-.15) rotate(0)}to{transform:scaleX(1)}}@keyframes kas-royal-startle{0%{transform:rotate(0)}45%{transform:rotate(4deg)}to{transform:rotate(1deg)}}@keyframes kas-relief{0%{transform:translateY(0)}40%{transform:translateY(5px)}to{transform:translateY(2px)}}@keyframes kas-guards-enter{0%{transform:translate(-90px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes kas-escort-out{0%,27%{transform:translate(0)}to{transform:translate(-740px)}}@keyframes kas-guard-weight{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes kas-guard-march{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes kas-victory-bounce{0%,50%,to{transform:translateY(0)}25%,75%{transform:translateY(-15px)}}@keyframes kas-victory-bow{0%{transform:rotate(0)}40%{transform:rotate(17deg)}to{transform:rotate(-5deg)}}@keyframes kas-alert-pop{0%{scale:.7}to{scale:1}}@keyframes kas-reward-appear{0%{opacity:0}to{opacity:1}}@keyframes kas-safe-shine{0%{stroke-dashoffset:24;opacity:.3}to{stroke-dashoffset:0;opacity:1}}@keyframes kas-check-pop{0%{scale:.5}to{scale:1}}@keyframes kas-medal-pop{0%{scale:.5;opacity:.2}to{scale:1;opacity:1}}@keyframes kas-star-dance{0%,to{scale:.9;rotate:-7deg}50%{scale:1.12;rotate:7deg}}@keyframes kas-beat{0%,to{opacity:.35}50%{opacity:1}}.kas-card-art .kas-leg-front{transform:rotate(-72deg)}.kas-card-art .kas-leg-front .kas-shin{transform:rotate(110deg)}.kas-card-art .kas-leg-front .kas-foot{transform:rotate(-30deg)}.kas-card-art .kas-leg-back{transform:rotate(12deg)}.kas-card-art .kas-assassin-torso{transform:rotate(10deg)}.kas-card-art *{animation:none!important}@media(max-width:700px){.kas-scene-cue strong{font-size:clamp(23px,5.1vw,35px);padding:5px 12px 7px;border-width:2px}.kas-scene-cue span{font-size:13px;margin-top:6px;padding:4px 8px}.kas-read-beats{gap:4px;font-size:12px}.kas-read-beats i{width:5px;height:5px}.kas-escort-caption{font-size:12px}}@media(prefers-reduced-motion:reduce){.kas-scene *,.kas-scene *:before,.kas-scene *:after{animation:none!important;transition:none!important}.kas-scene .kas-assassin-creep{transform:translate(25px)}.kas-scene .kas-leg-front{transform:rotate(-66deg)}.kas-scene .kas-leg-front .kas-shin{transform:rotate(105deg)}.kas-scene .kas-leg-front .kas-foot{transform:rotate(-30deg)}.kas-scene .kas-leg-back{transform:rotate(12deg)}.kas-scene .kas-assassin-torso{transform:rotate(10deg)}.kas-scene[data-phase=feedback][data-verdict=safe] .kas-king-head{transform:scaleX(1)}.kas-scene[data-phase=won] .kas-relief-gesture{transform:rotate(-5deg);transform-origin:0 -120px}}.kas-escort{animation:kas-escort-out 2s ease-in both;animation-play-state:paused}.kas-scene:is([data-phase=lost],[data-phase=feedback][data-verdict=caught]) .kas-escort{animation-play-state:running}.kas-safe-reward,.kas-caught-marks{transform:translate(var(--kas-feedback-x,0px))}.storybook-home{max-width:1880px;margin:auto;padding:24px clamp(28px,4.8vw,90px) 18px;height:auto;min-height:calc(100dvh - 88px);display:flex;flex-direction:column;gap:17px;color:#34554b}.storybook-intro{display:grid;grid-template-columns:.93fr 1.07fr;align-items:center;min-height:0;flex:0 0 clamp(220px,27vh,390px)}.storybook-kicker{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:800;letter-spacing:2px;color:#6c8475}.storybook-welcome h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(44px,5.1vh,76px);font-weight:700;line-height:1.06;letter-spacing:-2px;margin:13px 0 15px;color:#35584e}.storybook-welcome h1 span{color:#76998b;font-style:italic}.storybook-copy{font-size:clamp(14px,1.55vh,19px);line-height:1.85;color:#62786d}.storybook-greeting{display:inline-flex;gap:9px;align-items:center;font-size:13px;color:#6b806f;margin-top:16px;background:#f1eadb;padding:8px 13px;border-radius:24px}.storybook-greeting svg{color:#b28b45}.storybook-cover{height:100%;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:clip}.storybook-cover img{width:100%;height:100%;max-height:410px;object-fit:contain;mix-blend-mode:multiply;pointer-events:none;transform:scale(1.12);-webkit-mask-image:radial-gradient(ellipse 48% 48% at center,#000 76%,transparent 100%);mask-image:radial-gradient(ellipse 48% 48% at center,#000 76%,transparent 100%)}.storybook-games{flex:1 0 auto;min-height:0;display:flex;flex-direction:column;gap:12px}.storybook-section-label{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto}.storybook-section-label h2{font-size:19px;letter-spacing:1px;font-weight:700}.storybook-section-label>span{display:flex;align-items:center;gap:8px;font-size:13px;color:#7c8978}.storybook-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;gap:16px;flex:0 0 auto;min-height:0}.storybook-game{--book-accent:#779d89;--book-tint:#eaf1e7;border:1px solid #dfdfcc;position:relative;min-width:0;min-height:270px;padding:14px 17px 15px;border-radius:25px;background:#fffdf5;box-shadow:0 5px #e5dfcf65;display:flex;flex-direction:column;text-align:left;overflow:hidden;color:#36594f;transition:transform .18s,box-shadow .18s,border-color .18s}.storybook-game:hover{transform:translateY(-4px);border-color:var(--book-accent);box-shadow:0 9px #e5dfcf65}.storybook-game:focus-visible{outline:3px solid #4c8a79;outline-offset:4px}.book-game-art{position:relative;flex:1;min-height:65px;max-height:145px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;background:var(--book-tint);border-radius:60% 60% 24% 24%;isolation:isolate}.book-game-art:after{content:"";position:absolute;inset:7px;border:1px solid #ffffff8c;border-radius:inherit;pointer-events:none;z-index:-1}.book-game-art>img{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 3px 2px #52624810)}.book-game-art>svg{width:140px;height:120px;max-height:100%}.book-game-copy{flex:0 0 auto;min-width:0}.book-game-copy h2{font-size:clamp(20px,1.6vw,29px);line-height:1.15;font-weight:800;letter-spacing:-.6px}.book-game-chinese{font-size:15px;font-weight:600;color:#6b8173;margin-top:4px}.book-game-description{font-size:13px;line-height:1.55;color:#708275;margin-top:8px}.book-game-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:10px;font-size:11px;color:#78867a}.book-game-go{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;font-weight:800;color:#52766a}.book-chase{--book-tint:#eaf1f7;--book-accent:#7fa2c0}.book-picture{--book-tint:#edf2e4;--book-accent:#8ba275}.book-memory{--book-tint:#f0eaf6;--book-accent:#a38eb6}.book-sorting{--book-tint:#fcf0d9;--book-accent:#c6a268}.book-mystery{--book-tint:#f8e8e2;--book-accent:#c6978b}.book-mole{grid-column:span 2;flex-direction:row;align-items:center;gap:25px;padding:18px 28px;background:#edf4e9;border-color:#c9dccb}.book-mole .book-game-art{background:transparent;flex:0 0 42%;height:100%;max-height:none;margin:0;min-width:0}.book-mole .book-game-art:after{display:none}.book-mole .book-game-copy{flex:1}.book-mole .book-game-copy h2{font-size:clamp(22px,1.8vw,33px)}.book-mole .book-game-chinese{font-size:17px;color:#678a74}.book-mole .book-game-description{font-size:14px;line-height:1.7;max-width:300px}.book-mole .book-game-bottom{flex-wrap:wrap;gap:12px;margin-top:16px}.book-mole .book-game-go{min-height:44px;padding:10px 13px;background:#659382;color:#fffdf5;border-radius:14px;box-shadow:0 3px #456f6329;font-size:14px}.book-game-art .book-mole-character{width:auto;height:96%;max-width:100%;position:absolute;bottom:0;object-fit:contain;filter:none}.book-mole-hill{position:absolute;bottom:1px;left:0;right:0;height:37%;border-radius:50% 50% 30% 30%;background:#c6dfbf}.book-mole-sign{position:absolute;bottom:10px;left:50%;transform:translate(-50%) rotate(-5deg);background:#fff9e9;border:2px solid #d9c394;border-radius:9px;padding:5px 16px;font-family:Georgia,serif;font-size:25px;color:#5a7865;box-shadow:0 3px #8d986722}.book-game-art .book-mole-spark{position:absolute;right:0;top:7px;width:27px;height:27px;color:#b59a4d}.book-board{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:6px;background:#9cbdab;border:4px solid #d2dfca;border-radius:12px;transform:rotate(-7deg);width:128px;height:112px;max-height:95%;box-shadow:0 4px #799b8220}.book-board span{display:grid;place-items:center;border-radius:4px;background:#fffaf0;font-size:11px;color:#6b8173}.book-board .book-piece{background:#f0c58a;box-shadow:inset 0 -2px #d5a15c50;color:#75593a}.book-game-art .book-chase{display:flex;justify-content:space-between;align-items:end;position:relative;width:150px;height:115px;max-height:100%;padding:4px 10px}.book-chase .character{width:63px;max-height:90%;position:relative}.book-path{position:absolute;bottom:10px;inset-inline:3px;height:39px;background:#d2e0da;border:2px dashed #a1b9b3;border-radius:50%;transform:rotate(-10deg)}.book-preview-label{position:absolute;left:calc(50% + 17px);bottom:8px;padding:6px 13px;background:#fffaf0;border:2px solid #d5dab9;border-radius:10px;font-size:21px;font-weight:800;transform:rotate(8deg);color:#637b62;box-shadow:0 3px #7d95601c}.label-memory{background:#b8a8d2;color:#fff;border-color:#d5c9e7;font-size:29px;padding-inline:19px;transform:rotate(12deg)}.label-sorting{background:#eed194;border-color:#ddbd7f;border-radius:8px 8px 18px 18px;font-size:16px;color:#79653f}.storybook-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;flex:0 0 auto;font-size:12px;color:#7a8677}.storybook-footer>div{display:flex;gap:24px;flex-wrap:wrap}.storybook-footer span{display:inline-flex;align-items:center;gap:7px}.storybook-footer button{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #e2dfcb;border-radius:14px;background:#fffcf3;color:#6b7c69;font-size:12px}.storybook-footer button b{color:#456d5b}.storybook-footer button>span{color:#577b69;margin-left:6px;font-weight:700}.fairytale-preload{position:absolute;width:1px;height:1px;overflow:hidden;pointer-events:none;opacity:0}.fairytale-preload img{width:1px;height:1px}@media(min-width:2000px){.storybook-home{max-width:2300px;padding-inline:100px;gap:24px}.storybook-intro{flex-basis:390px}.storybook-cover img{max-height:450px}.storybook-grid{gap:22px}.storybook-game{padding:22px 26px;border-radius:30px}.book-game-art{max-height:185px}.book-game-art>img{width:133px;height:133px}.book-game-art>svg{width:180px;height:160px}.book-board{width:155px;height:142px}.book-board span{font-size:14px}.book-game-copy h2{font-size:33px}.book-game-chinese{font-size:20px}.book-game-description{font-size:17px}.book-game-bottom{font-size:14px;margin-top:18px}.book-game-go{font-size:16px}.book-mole .book-game-copy h2{font-size:37px}.book-mole .book-game-chinese{font-size:23px}.book-mole .book-game-description{font-size:18px;max-width:400px}.storybook-section-label h2{font-size:25px}.storybook-section-label>span,.storybook-footer,.storybook-footer button{font-size:16px}.book-mole .book-game-go{font-size:19px;padding:13px 20px}.book-mole-sign{font-size:32px}.book-game-art .book-chase{width:185px;height:145px}.book-chase .character{width:80px}}@media(min-width:1000px)and (max-height:850px){.storybook-home{min-height:calc(100dvh - 74px);padding:13px 40px 10px;gap:10px}.storybook-intro{flex-basis:177px}.storybook-kicker{font-size:10px;letter-spacing:1.5px}.storybook-welcome h1{font-size:40px;line-height:1.02;margin:9px 0}.storybook-copy{font-size:13px;line-height:1.6}.storybook-greeting{font-size:11px;margin-top:8px;padding:5px 10px}.storybook-games{gap:9px}.storybook-section-label h2{font-size:16px}.storybook-section-label>span{font-size:11px}.storybook-grid{gap:11px}.storybook-game{min-height:230px;border-radius:20px;padding:10px 13px}.book-game-art{min-height:48px;max-height:83px;margin-bottom:6px}.book-game-art>img{width:68px;height:68px}.book-game-art>svg{height:80px;width:95px}.book-board{width:85px;height:78px;gap:2px;border-width:3px;padding:3px}.book-board span{font-size:8px}.book-game-copy h2{font-size:21px}.book-game-chinese{font-size:14px;margin-top:3px}.book-game-description{font-size:12px;margin-top:5px}.book-game-bottom{font-size:10px;margin-top:6px}.book-game-go{font-size:11px;gap:3px}.book-game-art .book-chase{width:106px;height:79px}.book-chase .character{width:46px}.book-preview-label{font-size:17px;bottom:2px;padding:3px 10px}.label-memory{font-size:22px}.label-sorting{font-size:13px}.book-mole{gap:18px;padding:11px 20px}.book-mole .book-game-art{max-height:none;margin:0;flex-basis:37%}.book-mole .book-game-copy h2{font-size:25px}.book-mole .book-game-chinese{font-size:16px}.book-mole .book-game-description{font-size:13px;line-height:1.55}.book-mole .book-game-bottom{gap:9px;margin-top:10px}.book-mole .book-game-go{font-size:12px}.book-mole-sign{font-size:21px;bottom:8px}.storybook-footer,.storybook-footer button{font-size:11px}.storybook-footer>div{gap:16px}}@media(max-width:999px){.storybook-home{height:auto;min-height:calc(100dvh - 76px);padding:22px;gap:22px}.storybook-intro{flex:auto;grid-template-columns:1fr 1fr;min-height:220px}.storybook-welcome h1{font-size:42px}.storybook-copy{font-size:13px}.storybook-greeting{font-size:11px}.storybook-kicker{font-size:9px;letter-spacing:1px}.storybook-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:16px}.storybook-game{min-height:265px}.book-game-art{min-height:95px}.book-mole{min-height:235px}.storybook-footer{flex-wrap:wrap}.storybook-footer>div{gap:14px}.storybook-section-label>span{font-size:11px}.book-game-bottom{flex-wrap:wrap;gap:8px}}@media(max-width:600px){.storybook-intro{grid-template-columns:1fr;gap:8px}.storybook-cover{height:190px}.storybook-welcome h1{font-size:42px}.storybook-kicker{font-size:10px}.storybook-copy{font-size:13px}.storybook-home{padding:21px 16px}.storybook-section-label{align-items:start;flex-direction:column;gap:5px}.storybook-section-label h2{font-size:18px}.storybook-grid{gap:12px}.storybook-game{padding:12px 10px;border-radius:20px;min-height:245px}.book-game-copy h2{font-size:19px;overflow-wrap:anywhere}.book-game-chinese{font-size:13px}.book-game-description{font-size:12px}.book-game-bottom{font-size:10px}.book-game-go{min-height:44px}.book-game-art>img{width:70px;height:70px}.book-game-art>svg{width:100px;height:95px}.book-mole{gap:10px;padding:13px;min-height:205px}.book-mole .book-game-art{flex-basis:38%}.book-mole .book-game-copy h2{font-size:22px}.book-mole .book-game-chinese{font-size:15px}.book-mole .book-game-description{font-size:12px}.book-mole-sign{font-size:18px;padding:4px 10px}.storybook-footer>div{gap:11px}.storybook-footer button{font-size:11px}.storybook-footer button>span{margin-left:0}}@media(min-width:1000px)and (max-height:850px){.storybook-intro{flex-basis:196px}.storybook-welcome h1{font-size:38px;margin:7px 0}}@media(prefers-reduced-motion:reduce){.storybook-home *{animation:none!important;transition:none!important}.storybook-game:hover{transform:none}}.book-game-art>img.book-scene{width:100%;height:100%;max-width:270px;object-fit:contain;filter:none;padding:0 3px}.book-game-art:after{border-color:#fffaf099}.book-game-art{background:radial-gradient(ellipse at 50% 80%,var(--book-tint) 20%,#fffcf5 85%)}.storybook-cover:after{content:"";position:absolute;inset:12% 9% 7%;border-bottom:1px solid #dccfa64d;border-radius:50%;pointer-events:none}@media(min-width:2000px){.book-game-art>img.book-scene{max-width:320px}}@media(max-width:600px){.book-game-art>img.book-scene{max-width:160px}}.book-factory{--book-tint:#eff1dc;--book-accent:#9ca778}.book-factory .book-game-art{overflow:hidden;border-radius:22px}.book-factory .book-game-art .book-factory-world{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.8}.book-factory .book-game-art .factory-machine-art{position:relative;width:190px;height:110px;z-index:1}.book-factory-letters{position:absolute;z-index:2;font:700 22px Georgia,serif;color:#4f765e;letter-spacing:9px;left:50%;top:51%;transform:translate(-50%,-50%);white-space:nowrap}.book-reveal{--book-tint:#eee7f1;--book-accent:#b6a0bc}.book-train{--book-tint:#e7efda;--book-accent:#9cab7d}.book-jump{--book-tint:#e1efed;--book-accent:#8bb6aa}.book-reveal .book-game-art,.book-train .book-game-art,.book-jump .book-game-art{overflow:hidden;border-radius:19px;min-height:92px}.book-game-art>img.adventure-book-art{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 55%;padding:0;border-radius:inherit}@media(min-width:2000px){.book-reveal .book-game-art,.book-train .book-game-art,.book-jump .book-game-art{min-height:145px}}.gomoku-page,.chase-page{max-width:2240px;color:#3d6151;padding-top:25px}.gomoku-page .game-heading h1,.chase-page .game-heading h1{color:#436452}.gomoku-page .game-heading .eyebrow,.chase-page .game-heading .eyebrow{color:#93a584;letter-spacing:1.5px}.gomoku-page .rule-badge,.chase-page .rule-badge{background:#fcf7e8;border-color:#e6dfc2;color:#8a7d54;border-radius:17px}.gomoku-page .game-layout,.chase-page .game-layout{grid-template-columns:minmax(0,1fr) clamp(265px,20vw,340px);gap:28px}.gomoku-page .board-stage{background:radial-gradient(ellipse at 4% 6%,#bbd6b385,transparent 28%),radial-gradient(ellipse at 99% 95%,#c3d9ab70,transparent 28%),repeating-linear-gradient(12deg,#fcfaed13 0 1px,transparent 1px 5px),#edf2df;border:1px solid #d8dfc3;border-radius:30px;padding:18px;box-shadow:0 6px #b5c4a724}.gomoku-page .board-stage:before,.gomoku-page .board-stage:after{content:"";position:absolute;pointer-events:none;width:105px;height:195px;border-radius:70% 10% 70% 15%;border:1px solid #b6c7a440;transform:rotate(-23deg);background:radial-gradient(ellipse at 22% 21%,#92b79c42 0 12%,transparent 13%),radial-gradient(ellipse at 68% 40%,#bbcd8d50 0 15%,transparent 16%),radial-gradient(ellipse at 23% 66%,#a9c0a443 0 13%,transparent 14%);left:-37px;top:-48px}.gomoku-page .board-stage:after{inset:auto -36px -44px auto;transform:rotate(151deg)}.forest-canopy{position:absolute;inset:12px;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;color:#c9b071;font-size:25px;opacity:.75}.forest-canopy span:nth-child(2){align-self:flex-end;font-size:18px;color:#87a47c}.forest-canopy span:nth-child(3){margin-top:35px;font-size:18px}.forest-stage-story{position:absolute;left:8px;bottom:24px;width:clamp(125px,12vw,260px);max-width:23%;aspect-ratio:1;background-size:contain;background-position:center;background-repeat:no-repeat;pointer-events:none;z-index:0}.gomoku-page .gomoku-grid{position:relative;z-index:1;background:#d4d5b7;border:4px solid #dcd4b3;border-radius:23px;padding:11px;gap:6px;box-shadow:0 6px #bbc5a039,0 9px 24px #6780580c}.gomoku-page .gomoku-cell{background:#fffdf2;border:1px solid #e3dfc6;border-radius:12px;color:#41634d;box-shadow:0 2px #c5c9a847}.gomoku-page .gomoku-cell:not(:disabled):hover{background:#f9f6de;border-color:#afc294;box-shadow:0 3px #a8bb8848}.gomoku-page .cell-chinese{color:#889278}.gomoku-page .piece{width:96%;height:94%;border:2px solid #ddbb81;border-radius:45% 47% 44%;background:radial-gradient(ellipse at 28% 18%,#fff4ce 0,#f6d49b 21%,#ebbd83 71%,#dfac71);box-shadow:inset 0 -4px #d7a36b50,inset 0 2px 3px #fff5dd90,0 2px 3px #9a815523}.gomoku-page .piece-blue{border-color:#93b9cc;background:radial-gradient(ellipse at 28% 18%,#f0fbff 0,#c4e0ed 21%,#a4cadc 71%,#8ab5cc);box-shadow:inset 0 -4px #779fb750,inset 0 2px 3px #f2fbff90,0 2px 3px #557f9a23}.gomoku-page .owned-orange,.gomoku-page .owned-blue{color:#3b5948}.gomoku-page .owned-orange .cell-chinese,.gomoku-page .owned-blue .cell-chinese{color:#5f7059}.gomoku-page .winning-cell{outline:3px solid #d6ba68;outline-offset:1px;box-shadow:0 0 0 5px #fff0b66e;z-index:2}.gomoku-page .winning-cell:after{content:"";position:absolute;inset:5px;border:1px dashed #fff9ddba;border-radius:50%;pointer-events:none}.gomoku-page .winning-cell .piece{animation:forest-win-glow 1.4s ease-in-out infinite}.gomoku-page .win-star{right:2px;top:1px;color:#fff9de;font-size:20px;text-shadow:0 1px 0 #a88440,0 0 5px #ddbd7766}.forest-celebration .forest-canopy span{animation:forest-star-rise 1.2s ease-out both}.gomoku-page .game-sidebar .turn-card,.chase-page .game-sidebar .turn-card{border-radius:23px;background:#faf0dc;border-color:#e8d8b6;box-shadow:0 4px #d1c7a01a}.gomoku-page .game-sidebar .team-blue,.chase-page .game-sidebar .team-blue{background:#eaf2f7;border-color:#cfdeea}.gomoku-page .turn-card strong,.chase-page .turn-card strong{color:#94784c}.gomoku-page .turn-card.team-blue strong,.chase-page .turn-card.team-blue strong{color:#68889d}.gomoku-page .sidebar-label,.chase-page .sidebar-label{color:#96886b}.gomoku-page .team-blue .sidebar-label,.chase-page .team-blue .sidebar-label{color:#809aa9}.gomoku-page .turn-card p,.chase-page .turn-card p{color:#8c8870}.gomoku-page .team-blue p,.chase-page .team-blue p{color:#80939d}.gomoku-page .team-disc,.chase-page .team-disc{background:radial-gradient(circle at 35% 24%,#fff2cd,#e8bb79);box-shadow:inset 0 -2px #d6a8664d;border:1px solid #d8b477}.gomoku-page .team-disc.blue,.chase-page .team-disc.blue{background:radial-gradient(circle at 35% 24%,#eaf8ff,#a0c6dc);box-shadow:inset 0 -2px #7cabc74d;border-color:#98bacb}.gomoku-page .score-panel{background:#fffcf2;border-color:#e3dfc8;border-radius:22px}.gomoku-page .score-row b{color:#b9955c}.gomoku-page .blue-score b{color:#7c9eb4}.gomoku-page .score-row i{background:#dcb976}.gomoku-page .blue-score i{background:#99bbd0}.gomoku-page .score-row+.score-row,.gomoku-page .correct-summary{border-color:#ebe9d7}.gomoku-page .game-task,.chase-page .game-task{border:1px solid #dfe5c9;border-radius:20px;background:#edf2e1;color:#88a079}.gomoku-page .game-task b,.chase-page .game-task b{color:#708963}.gomoku-page .game-task p,.chase-page .game-task p{color:#7b8c6e}.gomoku-page .game-controls .btn,.chase-page .game-controls .btn{min-height:46px;font-size:13px}.gomoku-page .controls-row,.chase-page .controls-row{gap:8px}.gomoku-page .controls-row .btn,.chase-page .controls-row .btn{background:#fbfaf0;border:1px solid #e0e2cb;border-radius:14px}.gomoku-page .game-controls .exit-button{min-height:44px!important}.chase-page .chase-stage{border:1px solid #dce3ce;border-radius:29px;background:radial-gradient(ellipse at 0 100%,#d9e5cd70,transparent 35%),#f3f5e9;padding:17px;box-shadow:0 6px #b5c4a724}.chase-page .route-board{gap:8px;aspect-ratio:9/5}.chase-page .route-cell{background:#fffdf2;border-color:#dfdfc4;border-radius:16px;box-shadow:0 4px #cfd5b247;padding-bottom:10px}.chase-page .route-word{color:#41634d}.chase-page .route-cell small{color:#829077}.chase-page .route-number{color:#a5ae94;left:8px;top:7px}.chase-page .start-cell{background:#f0f5e2;border-color:#acbf96}.chase-page .target-cell{outline-color:#d8b565;background:#fff5d9;animation:forest-target-glow 1.15s ease-in-out infinite}.chase-page .route-center{background:#eaf0dc;border:1px solid #d8e1c6;border-radius:27px;margin:6px;isolation:isolate;padding:12px 18px;flex-direction:row;justify-content:flex-end;gap:12px}.chase-page .route-center:before{border-color:#c6d5b8;inset:11px;border-radius:20px}.town-illustration{position:relative;display:block;flex:0 1 48%;height:100%;max-height:350px;background-size:contain;background-position:center;background-repeat:no-repeat;z-index:1;pointer-events:none}.town-center-copy{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;min-width:0;max-width:50%;position:relative;z-index:1}.chase-page .center-kicker{font-size:clamp(8px,.62vw,12px);letter-spacing:1.2px;text-align:center;color:#879b7b}.chase-page .route-center h2{font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:clamp(30px,2.8vw,55px);color:#5e805c;letter-spacing:-1.2px;margin-top:11px}.chase-page .route-center h2 span{color:#8ca37a}.chase-page .center-characters{gap:9px;margin:10px 0 3px}.chase-page .center-characters .character{width:clamp(46px,4vw,85px)}.chase-page .chase-trail{font-size:26px;color:#a1b693}.chase-page .chase-trail>span{color:#d1ae62}.chase-page .route-center p{font-size:clamp(10px,.78vw,15px);color:#7c9270;letter-spacing:.5px;text-align:center}.chase-page .round-pills{max-width:100%;gap:5px;margin-top:10px}.chase-page .round-pills i{background:#d8e3c9;border-color:#c6d4b5}.chase-page .round-pills .round-done{background:#99b38a;border-color:#89a779}.chase-page .round-pills .round-current{background:#ddbb78;border-color:#d1ad64;box-shadow:0 0 0 3px #e7c78a25}.chase-page .route-token{width:clamp(22px,4.4cqw,70px)}.chase-page .route-token .character{filter:drop-shadow(0 3px 1px #60744a1a)}.chase-page .route-token>span{background:#779fba;color:#fffcf1;border:1px solid #678fa9;padding:2px 5px}.chase-page .token-thief>span{background:#c39c75;border-color:#b48e67}.chase-page .route-direction{color:#b0c297}.chase-page .dice-panel{background:#fffcf2;border:1px solid #e1dfc6;border-radius:23px;box-shadow:0 3px #c3ccb51a}.chase-page .dice{background:linear-gradient(135deg,#fffef7,#f8f0da);border:2px solid #ded3b0;border-radius:22px;box-shadow:0 5px #c9bb9538,inset 0 0 0 3px #fffdf670,0 8px 18px #5570400b}.chase-page .pip{background:#71977c;box-shadow:inset 0 -2px #52765e2e}.chase-page .roll-button{background:#7b9fb8;border:1px solid #7295ad;box-shadow:0 4px #557e9830;color:#fffdf5;border-radius:15px;min-height:50px}.chase-page .roll-button:hover:not(:disabled){background:#7094ad}.chase-page .roll-orange{background:#cda77b;border-color:#c09a6d;box-shadow:0 4px #a7825530}.chase-page .roll-orange:hover:not(:disabled){background:#c19b70}.chase-page .chase-stats{background:#fffcf2;border-color:#e1e1ca;border-radius:18px}.chase-page .chase-stats>div+div{border-color:#e5e6d2}.chase-page .chase-stats b{color:#73906a}.chase-page .chase-progress{color:#819175}.chase-page .chase-progress>small{color:#89967d}.chase-page .chase-progress i{background:#95b5cb}.chase-page .chase-progress i.orange{background:#d7b782}@keyframes forest-win-glow{50%{filter:brightness(1.05);transform:scale(.96)}}@keyframes forest-star-rise{0%{opacity:.1;transform:translateY(16px) scale(.7)}60%{opacity:1;transform:translateY(-10px) scale(1.15)}to{opacity:.75;transform:translateY(0) scale(1)}}@keyframes forest-target-glow{50%{outline-color:#efd9a1}}@media(min-width:2000px){.gomoku-page,.chase-page{padding:35px 95px 25px;max-width:2400px}.gomoku-page .game-layout,.chase-page .game-layout{grid-template-columns:minmax(0,1fr) 365px;gap:38px;height:calc(100dvh - 220px)}.gomoku-page .game-task p,.chase-page .game-task p{font-size:16px}.gomoku-page .game-controls .btn,.chase-page .game-controls .btn{min-height:56px;font-size:17px}.gomoku-page .gomoku-grid{max-width:1130px;width:min(100%,calc(100dvh - 260px));padding:15px;gap:8px}.gomoku-page .size-10{gap:6px;padding:11px}.gomoku-page .win-star{font-size:27px}.chase-page .route-board{gap:11px}.chase-page .route-center{gap:24px}.chase-page .town-illustration{max-height:520px}.chase-page .route-center h2{font-size:68px}.chase-page .center-characters .character{width:105px}.chase-page .center-kicker{font-size:13px}.chase-page .chase-trail{font-size:38px}.chase-page .round-pills i{width:11px;height:11px}.chase-page .round-pills{gap:7px;margin-top:14px}.chase-page .roll-button{font-size:21px;min-height:61px}}@media(min-width:1000px)and (max-height:850px){.gomoku-page,.chase-page{padding:16px 36px 18px}.gomoku-page .game-layout,.chase-page .game-layout{grid-template-columns:minmax(0,1fr) 265px;gap:20px;height:calc(100dvh - 178px);min-height:440px}.gomoku-page .board-stage{padding:15px;border-radius:25px}.gomoku-page .gomoku-grid{width:min(100%,calc(100dvh - 218px));padding:8px;gap:5px;border-width:3px;border-radius:18px}.gomoku-page .size-10{gap:3px;padding:5px}.gomoku-page .gomoku-cell{border-radius:9px}.gomoku-page .win-star{font-size:16px}.gomoku-page .game-sidebar,.chase-page .game-sidebar{gap:9px}.gomoku-page .turn-card,.chase-page .turn-card{padding:14px 17px}.gomoku-page .turn-card p,.chase-page .turn-card p{font-size:11px;line-height:1.6}.gomoku-page .game-controls .btn,.chase-page .game-controls .btn{min-height:44px;font-size:12px}.gomoku-page .controls-row .btn,.chase-page .controls-row .btn{font-size:11px}.chase-page .chase-stage{padding:12px}.chase-page .route-board{width:100%;gap:6px}.chase-page .route-cell{border-radius:11px;padding-bottom:8px}.chase-page .route-word{font-size:17px}.chase-page .route-word.long-word{font-size:13px}.chase-page .route-center{padding:10px 13px;margin:4px;gap:9px;border-radius:22px}.chase-page .center-kicker{font-size:8px;letter-spacing:.75px}.chase-page .route-center h2{font-size:32px;margin-top:7px}.chase-page .center-characters{gap:7px;margin:7px 0 2px}.chase-page .center-characters .character{width:53px}.chase-page .chase-trail{font-size:23px}.chase-page .route-center p{font-size:10px}.chase-page .round-pills{gap:4px;margin-top:7px}.chase-page .dice-panel{padding:12px;gap:10px}.chase-page .roll-button{min-height:46px;font-size:14px}.chase-page .game-task{padding:12px}.chase-page .game-task p{font-size:11px}.chase-page .chase-progress{font-size:10px}.chase-page .chase-progress>small{font-size:10px}}@media(max-width:999px){.forest-stage-story{display:none}.gomoku-page,.chase-page{padding:20px}.gomoku-page .game-layout,.chase-page .game-layout{display:flex;flex-direction:column;height:auto;min-height:0;gap:20px}.gomoku-page .game-sidebar,.chase-page .game-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:13px}.gomoku-page .gomoku-grid{max-width:630px;width:100%}.chase-page .chase-stage{padding:12px}.chase-page .route-board{width:100%;gap:5px}.chase-page .route-cell{border-radius:10px;padding-bottom:6px}.chase-page .route-center{padding:8px;margin:3px;gap:5px}.chase-page .route-center h2{font-size:clamp(21px,3.7vw,34px);margin-top:6px}.chase-page .center-kicker{font-size:7px;letter-spacing:.3px}.chase-page .center-characters .character{width:clamp(29px,5vw,48px)}.chase-page .center-characters{gap:6px;margin:5px 0 1px}.chase-page .chase-trail{font-size:19px}.chase-page .route-center p{font-size:9px}.chase-page .round-pills{margin-top:6px;gap:3px}.chase-page .round-pills i{width:5px;height:5px}.chase-page .route-number{font-size:7px;left:4px;top:4px}.chase-page .start-cell .route-number{font-size:6px}}@media(max-width:600px){.gomoku-page,.chase-page{padding:17px 14px 24px}.gomoku-page .game-heading h1,.chase-page .game-heading h1{font-size:22px}.gomoku-page .game-heading h1>span,.chase-page .game-heading h1>span{display:block;margin-left:0;margin-top:5px;font-size:12px}.gomoku-page .rule-badge,.chase-page .rule-badge{font-size:10px;padding:9px}.gomoku-page .board-stage{overflow-x:auto;justify-content:flex-start;padding:10px;border-radius:21px}.gomoku-page .gomoku-grid{min-width:344px;padding:5px;gap:3px;border-radius:15px;flex-shrink:0}.gomoku-page .size-10{min-width:481px}.gomoku-page .gomoku-cell{min-height:44px;min-width:44px;border-radius:7px}.gomoku-page .cell-word{font-size:12px}.gomoku-page .cell-word.long-word{font-size:10px}.gomoku-page .size-10 .cell-word{font-size:11px}.gomoku-page .size-10 .cell-word.long-word{font-size:9px}.gomoku-page .game-sidebar,.chase-page .game-sidebar{gap:10px}.gomoku-page .game-controls .btn,.chase-page .game-controls .btn{min-height:44px;font-size:11px}.gomoku-page .controls-row,.chase-page .controls-row{flex-wrap:wrap;gap:6px}.gomoku-page .controls-row .btn,.chase-page .controls-row .btn{flex-basis:100%}.chase-page .chase-stage{padding:7px;border-radius:19px}.chase-page .route-board{gap:3px}.chase-page .route-cell{border-radius:6px;padding-bottom:4px}.chase-page .route-center{gap:3px;padding:5px;margin:2px;border-radius:14px}.chase-page .route-center:before{inset:5px;border-radius:10px}.chase-page .town-illustration{flex-basis:48%}.chase-page .center-kicker{font-size:5px;letter-spacing:0}.chase-page .route-center h2{font-size:20px;letter-spacing:-.8px;margin-top:4px}.chase-page .center-characters{gap:3px;margin-top:3px}.chase-page .center-characters .character{width:25px}.chase-page .chase-trail{font-size:11px;letter-spacing:0}.chase-page .route-center p{font-size:7px;letter-spacing:0}.chase-page .round-pills{gap:2px;margin-top:3px}.chase-page .round-pills i{width:4px;height:4px}.chase-page .route-word{font-size:9px}.chase-page .route-word.long-word{font-size:7px}.chase-page .route-number{font-size:5px;left:2px;top:3px}.chase-page .start-cell .route-number{font-size:4px}.chase-page .route-token>span{font-size:5px;padding:1px 3px}}.gomoku-page .size-10 .gomoku-cell{padding:1px}.gomoku-page .size-10 .cell-word{padding:0 1px;flex-shrink:0;text-align:center}.gomoku-page .size-10 .cell-chinese{flex-shrink:0}@media(min-width:1000px){.gomoku-page .board-stage.board-size-10{padding-left:clamp(96px,5.5vw,132px);justify-content:flex-end}.gomoku-page .board-size-10 .forest-stage-story{width:clamp(80px,4.5vw,110px)}.gomoku-page .gomoku-grid.size-10{aspect-ratio:1.5;width:min(100%,calc((100dvh - 246px)*1.5));max-width:none}.gomoku-page .size-10 .gomoku-cell{min-height:0}.gomoku-page .size-10 .cell-word{font-size:clamp(13px,1.25vw,26px);letter-spacing:-.3px}.gomoku-page .size-10 .piece{width:auto;max-width:94%;height:94%;aspect-ratio:1}}@media(min-width:2000px){.gomoku-page .gomoku-grid.size-10{width:min(100%,calc((100dvh - 260px)*1.5))}}@media(min-width:1000px)and (max-height:850px){.gomoku-page .gomoku-grid.size-10{width:min(100%,calc((100dvh - 218px)*1.5))}}@media(prefers-reduced-motion:reduce){.gomoku-page *,.gomoku-page *:before,.gomoku-page *:after,.chase-page *,.chase-page *:before,.chase-page *:after{animation:none!important;transition:none!important}}.gomoku-heading-actions{display:flex;align-items:center;gap:12px}.gomoku-page .classroom-toggle{border-color:#9db899;background:#e5efda;color:#426549;font-weight:800;white-space:nowrap}.fairytale-shell.gomoku-classroom-shell>.app-header{display:none}.gomoku-page.classroom-mode{max-width:none;margin:0;padding:8px 12px 10px;height:100dvh;min-height:360px;display:flex;flex-direction:column;gap:8px}.gomoku-page.classroom-mode .game-heading{flex:none;min-height:44px;margin:0;gap:12px}.gomoku-page.classroom-mode .game-heading .eyebrow{display:none}.gomoku-page.classroom-mode .game-heading h1{font-size:20px;margin:0;letter-spacing:-.4px}.gomoku-page.classroom-mode .game-heading h1>span{font-size:13px;letter-spacing:0;margin-left:8px}.gomoku-page.classroom-mode .rule-badge{padding:8px 12px;font-size:12px;border-radius:12px;white-space:nowrap}.gomoku-page.classroom-mode .rule-badge span{font-size:11px}.classroom-tools{display:flex;gap:4px}.classroom-tools .icon-btn{width:44px;height:44px;background:#fffdf2;border:1px solid #d8dfc3;border-radius:12px}.gomoku-page.classroom-mode .classroom-toggle{min-height:44px;padding:9px 12px;font-size:13px}.gomoku-page.classroom-mode .game-layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;height:auto;min-height:0}.gomoku-page.classroom-mode .board-stage{container-type:size;min-width:0;min-height:0;padding:8px;overflow:auto;border-radius:20px;justify-content:safe center;align-items:safe center;box-shadow:none}.gomoku-page.classroom-mode .board-stage:before,.gomoku-page.classroom-mode .board-stage:after,.gomoku-page.classroom-mode .forest-stage-story,.gomoku-page.classroom-mode .forest-canopy{display:none}.gomoku-page.classroom-mode .gomoku-grid{width:min(100cqw,135cqh);aspect-ratio:1.35;max-width:none;min-width:360px;min-height:350px;flex-shrink:0;gap:4px;padding:6px;border-width:3px;border-radius:16px;box-shadow:none}.gomoku-page.classroom-mode .gomoku-grid.size-10{width:min(100cqw,175cqh);aspect-ratio:1.75;min-width:500px;min-height:483px;gap:3px;padding:5px}.gomoku-page.classroom-mode .gomoku-cell{min-height:44px;min-width:44px;padding:3px;border-radius:9px;overflow:hidden}.gomoku-page.classroom-mode .cell-word{font-size:clamp(20px,2.1vw,36px);letter-spacing:-.3px;padding:0 2px;width:100%;flex-shrink:0}.gomoku-page.classroom-mode .size-10 .cell-word{font-size:clamp(15px,1.7vw,29px)}.gomoku-page.classroom-mode .size-10 .gomoku-cell{padding:1px}.gomoku-page.classroom-mode .size-10 .cell-chinese{font-size:10px}.gomoku-page.classroom-mode .cell-word[data-word-overflow=true]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gomoku-page.classroom-mode .cell-chinese{font-size:clamp(10px,1vw,16px);line-height:1.2;margin-top:2px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.gomoku-page.classroom-mode .piece{width:auto;max-width:95%;height:94%;aspect-ratio:1}.gomoku-page.classroom-mode .game-sidebar{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto}.gomoku-page.classroom-mode .turn-card{padding:10px 12px;border-radius:15px}.gomoku-page.classroom-mode .sidebar-label{font-size:10px;letter-spacing:0}.gomoku-page.classroom-mode .turn-card strong{font-size:28px}.gomoku-page.classroom-mode .turn-card p,.gomoku-page.classroom-mode .game-task,.gomoku-page.classroom-mode .score-row small{display:none}.gomoku-page.classroom-mode .score-panel{padding:0 12px;border-radius:15px}.gomoku-page.classroom-mode .score-row{padding:12px 0}.gomoku-page.classroom-mode .score-row>span{font-size:16px}.gomoku-page.classroom-mode .score-row b{font-size:27px}.gomoku-page.classroom-mode .correct-summary{padding:9px 0;font-size:10px;gap:4px;flex-wrap:wrap}.gomoku-page.classroom-mode .game-controls{margin-top:auto;gap:8px}.gomoku-page.classroom-mode .game-controls .btn{min-height:44px;font-size:13px;padding:9px 10px}.gomoku-page.classroom-mode .controls-row{display:flex;flex-direction:column;gap:8px}.gomoku-page.classroom-mode .controls-row .btn{width:100%;flex:none}@media(min-width:2000px){.gomoku-page.classroom-mode{padding:12px 20px 16px;gap:12px}.gomoku-page.classroom-mode .game-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.gomoku-page.classroom-mode .cell-word{font-size:clamp(36px,2.1vw,56px)}.gomoku-page.classroom-mode .size-10 .cell-word{font-size:clamp(29px,1.7vw,44px)}.gomoku-page.classroom-mode .game-controls .btn{min-height:52px;font-size:17px}}@media(max-width:999px){.gomoku-page .game-heading{gap:12px;flex-wrap:wrap}.gomoku-heading-actions{flex-wrap:wrap;gap:8px}.gomoku-page.classroom-mode .game-heading h1>span,.gomoku-page.classroom-mode .rule-badge{display:none}.gomoku-page.classroom-mode .game-layout{grid-template-columns:minmax(0,1fr) 155px;gap:8px}.gomoku-page.classroom-mode .game-controls .btn{font-size:12px}}@media(max-width:700px),(max-height:500px){.gomoku-page.classroom-mode{height:auto;min-height:100dvh;padding:8px;gap:8px}.gomoku-page.classroom-mode .game-heading{flex-wrap:wrap;gap:8px}.gomoku-page.classroom-mode .game-heading h1{font-size:18px}.gomoku-page.classroom-mode .gomoku-heading-actions{gap:6px}.gomoku-page.classroom-mode .game-layout{display:flex;flex-direction:column;flex:none;gap:8px}.gomoku-page.classroom-mode .board-stage{height:min(75dvh,620px);min-height:360px;justify-content:flex-start;align-items:flex-start}.gomoku-page.classroom-mode .gomoku-grid{min-width:640px}.gomoku-page.classroom-mode .gomoku-grid.size-10{min-width:760px}.gomoku-page.classroom-mode .game-sidebar{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.gomoku-page.classroom-mode .game-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.gomoku-page.classroom-mode .controls-row{display:contents}.gomoku-page.classroom-mode .game-controls .btn{width:100%}}.matching-page{max-width:1900px;margin:auto}.matching-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:28px;align-items:start}.matching-stage{background:#fffdf6;border:1px solid #dde7d9;border-radius:25px;padding:18px 28px 14px;box-shadow:0 7px #dde7d945;min-width:0}.matching-instruction{text-align:center;display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.matching-instruction strong{font-size:clamp(21px,2.2vw,34px);letter-spacing:-.6px;color:#315e4d}.matching-instruction>span{font-size:14px;color:#718575}.matching-sidebar{display:flex;flex-direction:column;gap:14px}.matching-sidebar .game-task p{white-space:pre-line}.matching-sidebar .game-controls{margin-top:0}.matching-feedback{height:28px;text-align:center;padding-top:8px;font-size:14px;color:#7c8d7b}.feedback-correct{color:#2e8060;font-weight:800}.feedback-wrong{color:#b47348;font-weight:700}.matching-progress{padding:14px 0 8px;display:grid;gap:9px}.matching-progress>span{display:flex;justify-content:space-between;font-size:14px}.matching-progress small{font-size:11px;color:#7b8d7b}.matching-progress-track{height:9px;border-radius:20px;background:#eaf0e4;overflow:hidden}.matching-progress-track i{display:block;height:100%;border-radius:20px;background:#73b49a;transition:width .35s}.picture-board{position:relative;display:grid;grid-template-columns:42% 42%;justify-content:space-between;gap:0;isolation:isolate}.picture-column,.word-column{display:grid;gap:8px}.matching-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}.matching-connections path{fill:none;stroke:#78b89b;stroke-width:4;stroke-linecap:round;stroke-dasharray:1300;animation:draw-connection .65s ease-out both}.matching-connections circle{fill:#5c9e81}.picture-match-card{position:relative;min-height:58px;height:clamp(60px,7vh,96px);width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:2px solid #d9e8d9;border-radius:15px;background:linear-gradient(135deg,#f5f9ed,#fdfdf7);box-shadow:0 3px #d8e5d3;color:#274f45;padding:5px 12px;user-select:none}.picture-match-card img{height:100%;max-height:78px;width:auto;max-width:75%;object-fit:contain}.picture-word-card{background:linear-gradient(135deg,#eff5fc,#fbfcff);border-color:#d8e4f1;box-shadow:0 3px #d6e1ed}.picture-match-card:hover:not(:disabled){border-color:#81b498;background:#eef6e6}.picture-match-card.is-selected{border-color:#e8ac57;box-shadow:0 0 0 3px #f8dfa566,0 3px #d5aa6d;background:#fff8e5}.picture-match-card.is-matched{opacity:1;border-color:#8ab69b;background:#edf6eb;box-shadow:0 3px #d5e5ce}.picture-match-card.is-wrong{animation:match-shake .4s ease-in-out;border-color:#dca57b;background:#fff5ed}.matching-word{font-size:clamp(23px,2.3vw,38px);font-weight:800;line-height:1.1;text-align:center;letter-spacing:-.5px}.matching-word.long-word{font-size:clamp(20px,1.9vw,31px)}.matching-hint{font-size:13px;color:#66826b;white-space:nowrap}.pair-star{position:absolute;right:10px;color:#e4aa3f;font-size:25px;text-shadow:0 2px 0 #b97b3022}.star-burst{animation:match-star .65s ease-out}.memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;max-width:1200px;margin:auto}.memory-card{position:relative;display:block;height:clamp(96px,14.3vh,185px);padding:0;border:0;background:none;perspective:1100px;user-select:none;border-radius:18px;opacity:1!important}.memory-card-inner{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.75,.25,1)}.memory-card.is-open .memory-card-inner{transform:rotateY(180deg)}.memory-card-back,.memory-card-front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:17px;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid #c9dfd2;box-shadow:0 5px #cdded0;overflow:hidden}.memory-card-back{background:radial-gradient(circle at 25% 15%,#eff8e9 0,transparent 50%),linear-gradient(130deg,#dfeee0,#cde3d7);color:#497d68;gap:3px}.memory-card:nth-child(4n+2) .memory-card-back,.memory-card:nth-child(4n+3) .memory-card-back{background:radial-gradient(circle at 25% 15%,#f3f8fc 0,transparent 50%),linear-gradient(130deg,#e3eef8,#cbdff0);border-color:#ccdeee;color:#6386ab;box-shadow:0 5px #c8d9e8}.memory-card-back>span:not(.card-back-spark){font-size:34px;font-weight:800;line-height:1}.card-back-spark{font-size:24px;color:#8eb5a0}.memory-card-back small{letter-spacing:3px;font-size:10px;font-weight:800;opacity:.7}.memory-card-front{transform:rotateY(180deg);background:linear-gradient(140deg,#fffdf4,#fafaf2);padding:15px;gap:5px}.memory-card-front img{max-height:100%;width:100%;object-fit:contain;min-height:0}.memory-card-front .matching-word{font-size:clamp(21px,2.2vw,35px)}.memory-card-front .matching-word.long-word{font-size:clamp(18px,1.8vw,28px)}.memory-card:hover:not(:disabled) .memory-card-back{border-color:#70a88e;box-shadow:0 5px #9ebda9}.memory-card.is-matched .memory-card-front{border-color:#84b496;background:#eef7e9}.memory-card.is-wrong .memory-card-front{border-color:#d8a782;background:#fff4ea}.memory-matched-star{position:absolute;right:8px;top:5px;color:#dba140;font-size:24px;animation:match-star .65s ease-out}.memory-board.cards-8 .memory-card{height:clamp(130px,22vh,220px)}.memory-board.cards-12 .memory-card{height:clamp(110px,17vh,185px)}@keyframes match-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes match-star{0%{transform:scale(.3) rotate(-35deg);opacity:0}60%{transform:scale(1.6) rotate(15deg);opacity:1}to{transform:scale(1) rotate(0)}}@keyframes draw-connection{0%{stroke-dashoffset:1300}to{stroke-dashoffset:0}}@media(min-width:2000px){.matching-layout{grid-template-columns:minmax(0,1fr) 330px;gap:40px}.matching-sidebar{gap:20px}.matching-stage{padding:24px 42px}.picture-match-card{height:100px}.picture-match-card img{max-height:88px}.memory-card{height:195px}.matching-instruction{margin-bottom:24px}.matching-instruction>span,.matching-feedback{font-size:18px}.matching-word{font-size:40px}}@media(max-height:820px)and (min-width:1000px){.matching-page{padding-top:15px;padding-bottom:15px}.matching-page .game-heading{margin-bottom:16px}.matching-stage{padding:12px 22px 10px}.matching-instruction{margin-bottom:10px;gap:3px}.matching-instruction strong{font-size:24px}.matching-instruction>span{font-size:12px}.picture-column,.word-column{gap:6px}.picture-board.pairs-8 .picture-match-card{height:50px;min-height:50px;border-radius:12px;padding:3px 10px}.picture-board.pairs-8 .matching-word{font-size:25px}.picture-board.pairs-8 .matching-word.long-word{font-size:21px}.picture-board.pairs-6 .picture-match-card{height:65px}.picture-board.pairs-4 .picture-match-card{height:93px}.matching-sidebar{gap:11px}.matching-sidebar .turn-card{padding:17px}.matching-sidebar .turn-card p{font-size:11px}.matching-sidebar .score-panel{padding:5px 17px}.matching-sidebar .score-row{padding:9px 0}.matching-sidebar .game-task{padding:12px}.matching-sidebar .game-task p{font-size:11px}.matching-feedback{font-size:12px;height:24px}.memory-board{gap:11px}.memory-card{height:104px}.memory-board.cards-8 .memory-card{height:195px}.memory-board.cards-12 .memory-card{height:137px}.memory-card-front{padding:9px}}@media(max-width:999px){.matching-layout{grid-template-columns:1fr}.matching-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:15px}.matching-stage{padding:18px}.matching-instruction strong{font-size:24px}.picture-match-card{height:70px}.picture-board.pairs-8 .picture-match-card{height:62px}.memory-card{height:130px}.memory-board.cards-8 .memory-card{height:170px}.memory-board.cards-12 .memory-card{height:145px}}@media(max-width:540px){.matching-stage{padding:14px 10px;border-radius:18px}.matching-instruction strong{font-size:19px}.matching-instruction>span{font-size:11px}.picture-board{grid-template-columns:44% 44%}.picture-column,.word-column{gap:8px}.picture-match-card,.picture-board.pairs-8 .picture-match-card{height:62px;padding:5px;border-radius:12px;min-height:62px}.picture-match-card img{max-width:78%;height:48px}.matching-word{font-size:21px}.matching-word.long-word{font-size:16px}.matching-hint{font-size:10px}.picture-match-card .matching-hint{position:absolute;bottom:2px;background:#f6faf0d9;line-height:1.1}.pair-star{font-size:17px;right:3px;top:3px}.matching-feedback{font-size:10px;height:29px}.memory-board{gap:9px;grid-template-columns:repeat(4,minmax(0,1fr))}.memory-card{height:94px;border-radius:12px}.memory-board.cards-8 .memory-card{height:116px}.memory-board.cards-12 .memory-card{height:101px}.memory-card-back,.memory-card-front{border-radius:11px}.memory-card-front{padding:5px}.memory-card-front .matching-word{font-size:17px}.memory-card-front .matching-word.long-word{font-size:13px}.memory-card-back>span:not(.card-back-spark){font-size:25px}.card-back-spark{font-size:19px}.memory-card-back small{font-size:7px;letter-spacing:1px}.memory-matched-star{font-size:16px;top:2px;right:3px}.matching-sidebar{gap:10px}.matching-progress>span{font-size:12px}.matching-progress small{font-size:9px}.matching-sidebar .game-task{padding:10px}.matching-sidebar .game-controls .btn{font-size:11px}}.fairytale-shell .matching-page,.fairytale-shell .sorting-page{color:#35594a}.fairytale-shell .matching-page .game-heading,.fairytale-shell .sorting-page .game-heading{margin-bottom:18px}.fairytale-shell .matching-page .game-heading h1,.fairytale-shell .sorting-page .game-heading h1{color:#436452;letter-spacing:-.8px}.fairytale-shell .matching-page .eyebrow,.fairytale-shell .sorting-page .eyebrow{color:#91a17f;letter-spacing:1.5px}.fairytale-shell .fairytale-match-title{display:flex;align-items:center;gap:14px;min-width:0}.fairytale-shell .fairytale-match-vignette{display:block;width:90px;height:76px;flex:0 0 90px;background-size:contain;background-position:center;background-repeat:no-repeat;pointer-events:none}.fairytale-shell .picture-vignette{background-image:var(--art-picture)}.fairytale-shell .memory-vignette{background-image:var(--art-memory)}.fairytale-shell .sorting-vignette{background-image:var(--art-sorting)}.fairytale-shell .matching-page .rule-badge,.fairytale-shell .sorting-page .rule-badge{background:#fbf4e3;border-color:#e5ddc1;border-radius:17px;color:#8a7d58}.fairytale-shell .matching-page .rule-badge span,.fairytale-shell .sorting-page .rule-badge span{color:#988f75}.fairytale-shell .matching-stage,.fairytale-shell .sorting-stage{background:#fffdf4;border-color:#d9dfc7;border-radius:29px;box-shadow:0 7px #b8c8ad24}.fairytale-shell .matching-stage{padding-top:20px}.fairytale-shell .matching-instruction{border-bottom:1px solid #eae8d5;padding-bottom:12px;margin-bottom:16px;gap:7px}.fairytale-shell .matching-instruction strong{color:#4c7159;letter-spacing:-.5px}.fairytale-shell .matching-instruction>span{color:#879477}.fairytale-shell .picture-board{grid-template-columns:42% 42%;padding:3px 0 5px}.fairytale-shell .picture-column,.fairytale-shell .word-column{gap:9px}.fairytale-shell .picture-match-card{background:#fffaf0;border:2px solid #d7d5b9;border-radius:17px;box-shadow:0 4px #d4c8a73b;color:#43684e}.fairytale-shell .picture-word-card{background:#f1f6f9;border-color:#cddfea;box-shadow:0 4px #bdd4e244}.fairytale-shell .picture-match-card:before{content:"";position:absolute;inset:5px;border:1px solid #e9e5d1;border-radius:11px;pointer-events:none}.fairytale-shell .picture-word-card:before{border-color:#dfeaf0}.fairytale-shell .picture-match-card img{position:relative;z-index:1}.fairytale-shell .picture-match-card:hover:not(:disabled){background:#fff7e5;border-color:#bcb38c;box-shadow:0 4px #c4bda252;transform:translateY(-2px)}.fairytale-shell .picture-match-card.is-selected{border-color:#d9b567;background:#fff8e6;box-shadow:0 0 0 3px #f4d89055,0 4px #bdae7833}.fairytale-shell .picture-match-card.is-matched{background:#eff5e6;border-color:#a9c2a0;box-shadow:0 4px #b4cba344}.fairytale-shell .picture-match-card.is-wrong{background:#fff5ed;border-color:#d9b297}.fairytale-shell .matching-word{color:#42644f;z-index:1}.fairytale-shell .picture-word-card .matching-word{color:#517a8d}.fairytale-shell .pair-star,.fairytale-shell .memory-matched-star{color:#d1ad56;text-shadow:0 2px 0 #fff7d8;z-index:2}.fairytale-shell .pair-star{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:23px;background:#fffae8;right:8px}.fairytale-shell .matching-connections path{stroke:#a6bb9d;stroke-width:4}.fairytale-shell .matching-connections circle{fill:#c3ceae;stroke:#91ab8b;stroke-width:1.5}.fairytale-shell .matching-connections .connection-star{fill:#f0d185;stroke:#cdae60;stroke-width:1;stroke-linejoin:round;animation:fairytale-connection-star .55s ease-out both}.fairytale-shell .matching-feedback{height:32px;padding-top:10px;color:#869374;font-weight:600}.fairytale-shell .matching-feedback.feedback-correct{color:#65926b}.fairytale-shell .matching-feedback.feedback-wrong{color:#ad8563}.fairytale-shell .memory-card{border-radius:20px}.fairytale-shell .memory-card-inner{transition:transform .5s cubic-bezier(.2,.7,.25,1)}.fairytale-shell .memory-card-back,.fairytale-shell .memory-card-front{border-radius:19px;border:2px solid #c5d1b1;box-shadow:0 5px #b4c5a745}.fairytale-shell .memory-card-back{background:radial-gradient(ellipse at 20% 0,#fffaf2aa,transparent 75%),#e7efdc;color:#72916a;gap:4px}.fairytale-shell .memory-card:nth-child(4n+2) .memory-card-back,.fairytale-shell .memory-card:nth-child(4n+3) .memory-card-back{background:radial-gradient(ellipse at 20% 0,#fffaf2b0,transparent 75%),#e6edf6;border-color:#c5d6e3;box-shadow:0 5px #bccfdf44;color:#7491ab}.fairytale-shell .memory-card-back:before{content:"";position:absolute;inset:7px;border:1px dashed #b8c8a4;border-radius:12px;opacity:.8;pointer-events:none}.fairytale-shell .memory-card:nth-child(4n+2) .memory-card-back:before,.fairytale-shell .memory-card:nth-child(4n+3) .memory-card-back:before{border-color:#b6cadd}.fairytale-shell .memory-card-back .card-back-spark{width:76%;height:69%;max-width:180px;display:block;position:absolute;top:4%;left:12%;font-size:0}.fairytale-shell .memory-card-back .card-back-spark svg{display:block;width:100%;height:100%;overflow:visible}.fairytale-shell .memory-card-back>span:not(.card-back-spark){position:absolute;left:12px;top:11px;font-size:17px;line-height:1;font-weight:700;color:#79966b;background:#fffdf18a;min-width:22px;padding:4px;border-radius:7px}.fairytale-shell .memory-card:nth-child(4n+2) .memory-card-back>span:not(.card-back-spark),.fairytale-shell .memory-card:nth-child(4n+3) .memory-card-back>span:not(.card-back-spark){color:#7596ad}.fairytale-shell .memory-card-back small{position:absolute;bottom:13%;font-size:10px;letter-spacing:2px;opacity:.85}.fairytale-shell .memory-card-front{background:#fffbef;border-color:#d6d4b7;gap:6px}.fairytale-shell .memory-card-front:before{content:"";position:absolute;inset:5px;border:1px solid #eee6cc;border-radius:12px;pointer-events:none}.fairytale-shell .memory-card-front img,.fairytale-shell .memory-card-front .matching-hint,.fairytale-shell .memory-card-front .matching-word{position:relative;z-index:1}.fairytale-shell .memory-card:hover:not(:disabled) .memory-card-back{border-color:#96b58b;box-shadow:0 5px #a7bf9b66}.fairytale-shell .memory-card.is-matched .memory-card-front{border-color:#a6c398;background:#f0f6e7}.fairytale-shell .memory-card.is-wrong .memory-card-front{border-color:#d5b69c;background:#fff7ee}.fairytale-shell .matching-sidebar .turn-card,.fairytale-shell .sorting-sidebar .turn-card{background:#faf1dc;border-color:#e8dbbb;border-radius:23px;box-shadow:0 4px #d1c7a01a}.fairytale-shell .matching-sidebar .team-blue,.fairytale-shell .sorting-sidebar .team-blue{background:#eaf2f7;border-color:#d0dfea}.fairytale-shell .matching-sidebar .turn-card strong,.fairytale-shell .sorting-sidebar .turn-card strong{color:#977b4d}.fairytale-shell .matching-sidebar .team-blue strong,.fairytale-shell .sorting-sidebar .team-blue strong{color:#698a9e}.fairytale-shell .matching-sidebar .sidebar-label,.fairytale-shell .sorting-sidebar .sidebar-label{color:#9a8f71}.fairytale-shell .matching-sidebar .turn-card p,.fairytale-shell .sorting-sidebar .turn-card p{color:#958d74}.fairytale-shell .matching-sidebar .score-panel,.fairytale-shell .sorting-scores{background:#fffbf1;border-color:#e0dfc9;border-radius:22px}.fairytale-shell .matching-sidebar .score-row b{color:#baa068}.fairytale-shell .matching-sidebar .blue-score b{color:#7e9db4}.fairytale-shell .matching-progress-track,.fairytale-shell .sorting-progress>div{background:#e9efdc}.fairytale-shell .matching-progress-track i,.fairytale-shell .sorting-progress>div>i{background:#a6c198}.fairytale-shell .matching-sidebar .game-task,.fairytale-shell .sorting-sidebar .game-task{background:#eef2e3;border:1px solid #e0e5cb;border-radius:20px;color:#7f9472}.fairytale-shell .matching-sidebar .game-task b,.fairytale-shell .sorting-sidebar .game-task b{color:#6b8362}.fairytale-shell .matching-sidebar .game-task p,.fairytale-shell .sorting-sidebar .game-task p{color:#849176}.fairytale-shell .matching-page .game-controls .btn,.fairytale-shell .matching-page .game-controls .controls-row .btn,.fairytale-shell .sorting-page .game-controls .btn{min-height:44px;min-width:44px;border-radius:15px}.fairytale-shell .matching-page .game-controls .controls-row .btn{background:#fcfaf1;border:1px solid #e1e3cd}.fairytale-shell .sorting-instruction{background:#eef3e4;border:1px solid #e1e7cf;color:#718968;border-radius:18px}.fairytale-shell .sorting-playfield{position:relative;background:radial-gradient(ellipse at 10% 92%,#e8efdcb3,transparent 34%),radial-gradient(ellipse at 90% 92%,#f4ead2a6,transparent 36%)}.fairytale-shell .sorting-basket,.fairytale-shell .sorting-basket-1{background:#edf3e3;border:2px solid #c8d4b3;border-radius:27px;box-shadow:0 6px #bac9a438;color:#668255}.fairytale-shell .sorting-basket-1{background:#fbf0dc;border-color:#dfcdac;box-shadow:0 6px #d8c5a335;color:#9a8055}.fairytale-shell .sorting-basket:not(:disabled):hover{background:#e9f1dc;box-shadow:0 9px #bac9a438;transform:translateY(-3px);border-color:#abc394}.fairytale-shell .sorting-basket-1:not(:disabled):hover{background:#fff0d4;box-shadow:0 9px #d8c5a335;border-color:#ccb788}.fairytale-shell .sorting-basket:before{content:"";position:absolute;inset:7px;border:1px dashed #c5d3ae;border-radius:19px;pointer-events:none;opacity:.8}.fairytale-shell .sorting-basket-1:before{border-color:#ddc9a4}.fairytale-shell .sorting-basket-label{letter-spacing:-.5px;position:relative}.fairytale-shell .sorting-basket>small{color:#8d9c78;margin-top:7px;position:relative}.fairytale-shell .sorting-basket-1>small{color:#ab9671}.fairytale-shell .sorting-basket-drawing{width:clamp(145px,13.5vw,235px);height:clamp(123px,11.5vw,200px);margin:9px 0 5px;max-width:95%}.fairytale-shell .sorting-basket-drawing>svg{fill:none;overflow:visible}.fairytale-shell .sorting-basket-action{background:#fffdf1b0;color:#8b9679;min-height:34px;font-size:13px;padding:7px 12px;position:relative}.fairytale-shell .sorting-basket-1 .sorting-basket-action{color:#a18c66}.fairytale-shell .sorting-card{background:#fffbef;border-color:#d7d2b8;border-radius:27px;box-shadow:0 7px #c6bea033,0 14px 25px #7081570b}.fairytale-shell .sorting-card:before{content:"";position:absolute;inset:7px;border:1px solid #eee4c9;border-radius:19px;pointer-events:none}.fairytale-shell .sorting-card-number{color:#9ba481}.fairytale-shell .sorting-word{color:#476f53;z-index:1}.fairytale-shell .sorting-card-chinese{color:#89977b;z-index:1}.fairytale-shell .sorting-card-prompt{color:#969e82}.fairytale-shell .sorting-progress{color:#879576}.fairytale-shell .sorting-progress b{color:#74936a}.fairytale-shell .sorting-scores>div{color:#b69c66}.fairytale-shell .sorting-scores>div+div{color:#7d9db4;border-top-color:#ece9d6}.fairytale-shell .sorting-scores svg{fill:#f2d990;stroke:#d3b76b}.fairytale-shell .sorting-score-blue svg{fill:#bdd8ed;stroke:#8caabd}.fairytale-shell .sorting-correct-mark{background:#e7f0d8;color:#77a172;box-shadow:0 2px #bdcea448}.fairytale-shell .sorting-basket-stars{color:#d4b15c;text-shadow:0 2px 0 #fff9dc;letter-spacing:9px}.fairytale-shell .sorting-complete{color:#77976d}.fairytale-shell .sorting-complete>svg{color:#d4b667;fill:#f2d99b}@keyframes fairytale-connection-star{0%{opacity:0}60%{opacity:1}to{opacity:1}}@media(min-width:2000px){.fairytale-shell .fairytale-match-vignette{width:112px;height:94px;flex-basis:112px}.fairytale-shell .matching-page .game-heading,.fairytale-shell .sorting-page .game-heading{margin-bottom:23px}.fairytale-shell .matching-page .game-heading h1,.fairytale-shell .sorting-page .game-heading h1{font-size:38px}.fairytale-shell .matching-page .game-heading h1>span,.fairytale-shell .sorting-page .game-heading h1>span{font-size:20px}.fairytale-shell .matching-page .eyebrow,.fairytale-shell .sorting-page .eyebrow{font-size:13px}.fairytale-shell .matching-page .rule-badge,.fairytale-shell .sorting-page .rule-badge{font-size:18px}.fairytale-shell .matching-page .game-controls .btn,.fairytale-shell .matching-page .game-controls .controls-row .btn{min-height:54px;font-size:17px}.fairytale-shell .memory-card-back>span:not(.card-back-spark){font-size:22px;left:16px;top:14px}.fairytale-shell .memory-card-back small{font-size:13px}.fairytale-shell .matching-stage{padding-top:25px}.fairytale-shell .sorting-basket-drawing{width:230px;height:195px}.fairytale-shell .sorting-basket-action{font-size:18px}}@media(min-width:1000px)and (max-height:850px){.fairytale-shell .fairytale-match-title{gap:11px}.fairytale-shell .fairytale-match-vignette{width:66px;height:56px;flex-basis:66px}.fairytale-shell .matching-page .game-heading,.fairytale-shell .sorting-page .game-heading{margin-bottom:14px}.fairytale-shell .matching-stage{padding-top:12px}.fairytale-shell .matching-instruction{padding-bottom:9px;margin-bottom:11px;gap:4px}.fairytale-shell .picture-column,.fairytale-shell .word-column{gap:6px}.fairytale-shell .matching-feedback{height:26px;font-size:12px;padding-top:9px}.fairytale-shell .picture-match-card{border-radius:14px}.fairytale-shell .picture-match-card:before{inset:4px;border-radius:8px}.fairytale-shell .pair-star{font-size:18px;width:24px;height:24px;right:6px}.fairytale-shell .memory-card-back,.fairytale-shell .memory-card-front{border-radius:16px}.fairytale-shell .memory-card-back:before{inset:6px;border-radius:10px}.fairytale-shell .memory-card-back .card-back-spark{height:71%;top:2%}.fairytale-shell .memory-card-back>span:not(.card-back-spark){font-size:13px;left:8px;top:8px;min-width:19px;padding:3px}.fairytale-shell .memory-card-back small{bottom:10%;font-size:9px}.fairytale-shell .matching-sidebar .game-controls{gap:7px}.fairytale-shell .sorting-basket-drawing{width:155px;height:130px;margin:6px 0 2px}.fairytale-shell .sorting-basket,.fairytale-shell .sorting-basket-1{min-height:250px;padding-top:16px;padding-bottom:13px}.fairytale-shell .sorting-basket-action{font-size:12px;padding:6px 10px}.fairytale-shell .sorting-instruction{min-height:45px}.fairytale-shell .sorting-page .game-heading h1{font-size:25px}}@media(max-width:999px){.fairytale-shell .fairytale-match-vignette{width:72px;height:62px;flex-basis:72px}.fairytale-shell .fairytale-match-title,.fairytale-shell .matching-page .game-heading,.fairytale-shell .sorting-page .game-heading{gap:10px}.fairytale-shell .matching-instruction{padding-bottom:10px}.fairytale-shell .sorting-basket-drawing{width:170px;height:145px}.fairytale-shell .matching-sidebar .game-controls .btn{font-size:12px}}@media(max-width:600px){.fairytale-shell .fairytale-match-title{gap:7px}.fairytale-shell .fairytale-match-vignette{width:46px;height:48px;flex-basis:46px}.fairytale-shell .matching-page .game-heading h1,.fairytale-shell .sorting-page .game-heading h1{font-size:20px;letter-spacing:-.6px}.fairytale-shell .matching-page .game-heading h1>span,.fairytale-shell .sorting-page .game-heading h1>span{font-size:11px;letter-spacing:.5px}.fairytale-shell .matching-page .eyebrow,.fairytale-shell .sorting-page .eyebrow{font-size:7px;letter-spacing:.8px}.fairytale-shell .matching-page .rule-badge,.fairytale-shell .sorting-page .rule-badge{font-size:9px;padding:9px 7px;border-radius:13px;white-space:nowrap}.fairytale-shell .matching-page .rule-badge svg,.fairytale-shell .sorting-page .rule-badge svg{width:15px}.fairytale-shell .matching-stage{padding:14px 10px;border-radius:22px}.fairytale-shell .matching-instruction strong{font-size:18px}.fairytale-shell .matching-instruction>span{font-size:11px}.fairytale-shell .picture-match-card:before{inset:3px;border-radius:8px}.fairytale-shell .picture-match-card{border-radius:12px}.fairytale-shell .pair-star{width:21px;height:21px;font-size:16px;top:3px;right:3px}.fairytale-shell .memory-card-back,.fairytale-shell .memory-card-front{border-radius:12px}.fairytale-shell .memory-card-back:before{inset:4px;border-radius:8px}.fairytale-shell .memory-card-back .card-back-spark{width:89%;left:5.5%;height:70%;top:3%}.fairytale-shell .memory-card-back>span:not(.card-back-spark){font-size:11px;left:5px;top:5px;min-width:16px;padding:2px;border-radius:4px}.fairytale-shell .memory-card-back small{font-size:8px;bottom:10%;letter-spacing:1px}.fairytale-shell .matching-feedback{font-size:10px;min-height:32px;height:auto;padding-top:10px}.fairytale-shell .sorting-stage{border-radius:23px}.fairytale-shell .sorting-basket,.fairytale-shell .sorting-basket-1{border-radius:23px;min-height:215px;padding-top:17px}.fairytale-shell .sorting-basket-drawing{width:145px;height:123px;margin:5px 0 2px}.fairytale-shell .sorting-basket-label{font-size:23px}.fairytale-shell .sorting-basket-action{font-size:12px;padding:6px 10px}.fairytale-shell .sorting-basket:before{inset:6px;border-radius:15px}.fairytale-shell .sorting-card{border-radius:24px}.fairytale-shell .matching-page .game-controls .controls-row{flex-wrap:wrap}.fairytale-shell .matching-page .game-controls .controls-row .btn{width:100%;flex-basis:100%}.fairytale-shell .matching-page .game-controls .btn,.fairytale-shell .sorting-page .game-controls .btn{font-size:11px!important;min-height:44px!important}}@media(prefers-reduced-motion:reduce){.fairytale-shell .matching-page *,.fairytale-shell .matching-page *:before,.fairytale-shell .sorting-page *,.fairytale-shell .sorting-page *:before{animation:none!important;transition:none!important}}@media(min-width:2000px){.fairytale-shell .sorting-layout{min-height:calc(100dvh - 250px)}}@media(min-width:1000px)and (max-height:850px){.fairytale-shell .matching-page{padding-bottom:12px}.fairytale-shell .matching-stage{padding-top:10px;padding-bottom:8px}.fairytale-shell .matching-instruction{gap:4px;padding-bottom:7px;margin-bottom:9px}.fairytale-shell .matching-instruction strong{line-height:1.2}.fairytale-shell .matching-instruction>span{line-height:1.4}.fairytale-shell .picture-column,.fairytale-shell .word-column{gap:5px}.fairytale-shell .picture-board{padding-block:2px 4px}.fairytale-shell .matching-sidebar{gap:9px}.fairytale-shell .matching-sidebar .turn-card{padding:14px 17px}.fairytale-shell .matching-sidebar .score-row{padding-block:7px}.fairytale-shell .matching-sidebar .matching-progress{padding-top:8px;padding-bottom:6px;gap:6px}.fairytale-shell .matching-sidebar .game-task{padding:10px 12px}.fairytale-shell .sorting-sidebar{gap:8px}}@media(min-width:1000px){.fairytale-shell .picture-board{--picture-row-gap:6px;--picture-board-height:clamp(400px, calc(100dvh - 415px) ,940px)}.fairytale-shell .picture-board:is(.pairs-4,.pairs-6,.pairs-8) .picture-column,.fairytale-shell .picture-board:is(.pairs-4,.pairs-6,.pairs-8) .word-column{gap:var(--picture-row-gap)}.fairytale-shell .picture-board.pairs-4 .picture-match-card{height:min(210px,calc((var(--picture-board-height) - 3 * var(--picture-row-gap)) / 4))}.fairytale-shell .picture-board.pairs-6 .picture-match-card{height:min(152px,calc((var(--picture-board-height) - 5 * var(--picture-row-gap)) / 6))}.fairytale-shell .picture-board.pairs-8 .picture-match-card{height:calc((var(--picture-board-height) - 7 * var(--picture-row-gap)) / 8);min-height:55px}.fairytale-shell .picture-board .picture-match-card:not(.picture-word-card){padding:1px 10px;gap:6px}.fairytale-shell .picture-board .picture-match-card img{display:block;flex-shrink:0;width:auto;height:100%;max-height:none;max-width:calc(100% - 48px);object-fit:contain}.fairytale-shell .picture-board .picture-match-card .matching-hint{flex-shrink:0}}@media(min-width:2000px){.fairytale-shell .picture-board{--picture-board-height:min(940px, calc(100dvh - 490px) )}}@media(min-width:1000px)and (max-height:850px){.fairytale-shell .picture-board{--picture-row-gap:3px;--picture-board-height:475px}}.sorting-layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:28px;min-height:calc(100dvh - 224px)}.sorting-stage{background:#fffdf7;border:1px solid #dce6d6;border-radius:28px;box-shadow:0 7px #e1e9dc66;display:flex;flex-direction:column;padding:24px clamp(18px,2vw,36px);overflow:hidden;min-width:0}.sorting-instruction{display:flex;align-items:center;justify-content:center;gap:10px;font-size:clamp(16px,1.2vw,24px);font-weight:700;padding:12px 15px;border-radius:15px;background:#eef5e9;color:#4b7964;min-height:55px;text-align:center}.sorting-playfield{--sorting-flight:min(24vw,390px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:clamp(14px,2vw,36px);align-items:center;flex:1;min-height:370px;padding:35px 0}.sorting-basket{background:#e7eff9;border:2px solid #cedeed;border-radius:25px;padding:24px 10px 19px;min-height:282px;display:flex;align-items:center;flex-direction:column;color:#477cb1;position:relative;grid-column:1;grid-row:1;box-shadow:0 6px #d8e3ef;opacity:1!important;overflow:visible}.sorting-basket-1{grid-column:3;background:#fff0dc;border-color:#efdbbb;box-shadow:0 6px #eedecc;color:#b27934}.sorting-basket:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 10px #d8e3ef;background:#dcebf9}.sorting-basket-1:not(:disabled):hover{box-shadow:0 10px #eedecc;background:#ffe8c8}.sorting-basket-label{font-size:clamp(23px,1.9vw,36px);font-weight:800;display:block;line-height:1.1;word-break:normal;overflow-wrap:normal;letter-spacing:-1px}.sorting-basket>small{font-size:15px;margin-top:9px;color:#6c8192}.sorting-basket-1>small{color:#9d8668}.sorting-basket-drawing{display:block;position:relative;width:clamp(86px,9vw,174px);height:clamp(86px,9vw,174px);margin:15px 0 8px}.sorting-basket-drawing>svg{width:100%;height:100%;fill:#c1d9eb;position:relative;z-index:1}.sorting-basket-1 .sorting-basket-drawing>svg{fill:#f3ce97}.sorting-basket-drawing>i{position:absolute;background:#fffdf4;border:2px solid #8cb3d3;border-radius:6px;width:32%;height:43%;top:15%;left:15%;transform:rotate(-14deg)}.sorting-basket-drawing>i:nth-of-type(2){left:38%;transform:rotate(10deg);top:6%}.sorting-basket-drawing>i:nth-of-type(3){left:56%;transform:rotate(22deg);top:22%}.sorting-basket-1 .sorting-basket-drawing>i{border-color:#d2a665}.sorting-basket-action{font-size:15px;font-weight:700;display:flex;gap:13px;align-items:center;background:#fffdfb85;border-radius:30px;padding:8px 13px}.sorting-card-space{grid-column:2;grid-row:1;display:grid;place-items:center;align-self:stretch;position:relative;min-width:0}.sorting-card{background:#fffefc;border:2px solid #e1e5d7;box-shadow:0 7px #e8e9de,0 18px 36px #536b4310;position:relative;width:100%;max-width:410px;min-height:305px;aspect-ratio:.92;border-radius:27px;padding:38px 22px 22px;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:3;gap:15px}.sorting-card-number{position:absolute;left:19px;top:17px;font-size:12px;letter-spacing:1px;color:#9aab92;font-weight:700}.sorting-picture{display:block;width:100%;height:clamp(145px,14vw,285px);object-fit:contain;user-select:none;pointer-events:none}.sorting-word{display:block;text-align:center;font-size:clamp(33px,3.5vw,70px);font-weight:800;line-height:1.1;letter-spacing:-1px;color:#345f52;min-width:0}.sorting-card-chinese{font-size:18px;color:#7b8f7c;text-align:center}.sorting-card-prompt{color:#8d9a84;font-size:13px;text-align:center;position:absolute;bottom:18px}.sorting-correct-mark{position:absolute;right:15px;top:15px;width:37px;height:37px;border-radius:50%;background:#d7eddc;color:#4e996d;display:grid;place-items:center}.sorting-card-fly-left{animation:sorting-fly-left .62s cubic-bezier(.5,.05,.54,.9) forwards;pointer-events:none}.sorting-card-fly-right{animation:sorting-fly-right .62s cubic-bezier(.5,.05,.54,.9) forwards;pointer-events:none}.sorting-card-wrong{animation:sorting-shake .62s ease}.sorting-basket-celebrate{animation:sorting-basket-pop .62s ease}.sorting-basket-stars{position:absolute;top:-30px;left:0;right:0;font-size:32px;letter-spacing:12px;color:#e3b149;animation:sorting-stars .62s ease forwards;z-index:4}.sorting-progress{display:flex;align-items:center;gap:17px;color:#7c927e;font-size:13px;min-height:42px;flex-wrap:wrap}.sorting-progress b{color:#50826a;font-size:20px}.sorting-progress>div{height:12px;flex:1;min-width:80px;background:#e7eddf;border-radius:10px;overflow:hidden}.sorting-progress>div>i{display:block;height:100%;background:#80b498;border-radius:10px;transition:width .25s ease}.sorting-progress>small{font-size:11px;white-space:nowrap}.sorting-sidebar{display:flex;flex-direction:column;gap:20px;min-width:0}.sorting-scores{background:#fffdf7;border:1px solid #e3e8d8;border-radius:19px;padding:8px 18px}.sorting-scores>div{display:flex;align-items:center;gap:10px;padding:14px 0;font-size:15px;color:#bf8540}.sorting-scores>div+div{border-top:1px solid #e9ede2;color:#588dc1}.sorting-scores b{font-size:38px;line-height:1;margin-left:auto;font-weight:800}.sorting-scores svg{fill:#edb568;stroke:#d39a4e}.sorting-score-blue svg{fill:#9bc4e5;stroke:#6c9bc6}.sorting-controls{gap:10px;margin-top:auto}.sorting-controls .btn{width:100%;min-height:48px}.sorting-complete{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;color:#78a581}.sorting-complete>svg{color:#e7b659;fill:#fae1aa;animation:sorting-basket-pop 1s ease}.sorting-complete strong{font-size:clamp(30px,3vw,55px);line-height:1.2;letter-spacing:-1px}.sorting-complete span{font-size:15px;color:#7a937d}.sorting-empty{display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center;color:#6d8771;background:#f4f7ef;padding:25px 15px;border-radius:20px}.sorting-empty h2{font-size:20px}.sorting-empty p{font-size:13px;line-height:1.8}.sorting-empty .btn{font-size:14px}@keyframes sorting-fly-left{0%,12%{transform:scale(1)}35%{transform:translate(calc(var(--sorting-flight)*-.35),-30px) rotate(-10deg) scale(.9)}to{transform:translate(calc(var(--sorting-flight)*-1),75px) rotate(-20deg) scale(.18);opacity:0}}@keyframes sorting-fly-right{0%,12%{transform:scale(1)}35%{transform:translate(calc(var(--sorting-flight)*.35),-30px) rotate(10deg) scale(.9)}to{transform:translate(var(--sorting-flight),75px) rotate(20deg) scale(.18);opacity:0}}@keyframes sorting-shake{0%,to{transform:translate(0)}15%,45%{transform:translate(-10px) rotate(-2deg)}30%,60%{transform:translate(10px) rotate(2deg)}75%{transform:translate(-4px)}}@keyframes sorting-basket-pop{0%,to{transform:scale(1)}35%{transform:scale(1.05)}70%{transform:scale(.98)}}@keyframes sorting-stars{0%{transform:translateY(20px) scale(.6);opacity:0}25%{opacity:1}to{transform:translateY(-30px) scale(1.3);opacity:0}}@media(min-width:1700px){.sorting-layout{grid-template-columns:minmax(0,1fr) 320px;gap:34px}.sorting-stage{padding:30px 40px}.sorting-basket{min-height:370px;padding-top:32px}.sorting-card{max-width:470px;min-height:430px}.sorting-card-prompt{font-size:17px}.sorting-sidebar{gap:25px}.sorting-sidebar .turn-card strong{font-size:40px}.sorting-scores>div{font-size:19px;padding:21px 0}.sorting-scores b{font-size:48px}.sorting-progress{font-size:17px}.sorting-progress>small{font-size:14px}.sorting-controls .btn{font-size:17px;min-height:58px}}@media(max-height:800px)and (min-width:901px){.sorting-layout{min-height:calc(100dvh - 178px);gap:22px;grid-template-columns:minmax(0,1fr) 245px}.sorting-stage{padding:15px 19px;border-radius:22px}.sorting-instruction{font-size:15px;min-height:45px;padding:9px}.sorting-playfield{min-height:290px;padding:24px 0;gap:20px}.sorting-basket{min-height:235px;padding:20px 9px 15px}.sorting-basket-drawing{width:95px;height:95px;margin:14px 0 6px}.sorting-basket-label{font-size:24px}.sorting-basket>small{font-size:13px}.sorting-card{min-height:255px;max-width:300px;padding:34px 18px 28px}.sorting-picture{height:170px}.sorting-word{font-size:45px}.sorting-sidebar{gap:12px}.sorting-scores>div{padding:12px 0}.sorting-scores b{font-size:31px}.sorting-controls{gap:7px}.sorting-controls .btn{min-height:44px;font-size:13px}.sorting-progress{font-size:12px;gap:10px}.sorting-progress>small{font-size:10px}}@media(max-width:1000px)and (min-width:701px){.sorting-layout{grid-template-columns:1fr;min-height:0}.sorting-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sorting-controls{grid-column:2;grid-row:1/3}.sorting-card{max-width:300px}.sorting-stage{min-height:470px}.sorting-playfield{--sorting-flight:26vw}}@media(max-width:700px){.sorting-layout{display:flex;flex-direction:column;min-height:0;gap:22px}.sorting-stage{padding:15px 12px}.sorting-instruction{font-size:14px;padding:10px 7px;min-height:48px;gap:6px}.sorting-instruction svg{width:19px}.sorting-playfield{--sorting-flight:25vw;grid-template-columns:1fr 1fr;gap:15px 12px;min-height:0;padding:20px 0}.sorting-card-space{grid-column:1/3;grid-row:1;min-height:255px}.sorting-card{width:min(100%,270px);min-height:252px;aspect-ratio:1.1}.sorting-picture{height:158px}.sorting-word{font-size:43px}.sorting-card-prompt{font-size:12px}.sorting-basket{grid-row:2;grid-column:1;min-height:200px;padding:17px 7px 12px;border-radius:20px}.sorting-basket-1{grid-column:2}.sorting-basket-label{font-size:25px}.sorting-basket>small{font-size:13px}.sorting-basket-drawing{width:82px;height:82px;margin:10px 0 3px}.sorting-basket-action{font-size:13px;padding:6px 12px}.sorting-progress{gap:10px;font-size:12px}.sorting-progress>small{display:block;width:100%;text-align:center}.sorting-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sorting-controls{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;gap:10px}.sorting-sidebar .game-task{grid-column:1/3}.sorting-controls .btn{font-size:12px;min-height:46px}.sorting-scores>div{font-size:12px;padding:13px 0}.sorting-scores b{font-size:29px}.sorting-scores svg{width:19px}.sorting-card-fly-left{animation-name:sorting-fly-left-mobile}.sorting-card-fly-right{animation-name:sorting-fly-right-mobile}}@keyframes sorting-fly-left-mobile{0%,12%{transform:scale(1)}40%{transform:translate(calc(var(--sorting-flight)*-.5),80px) rotate(-8deg) scale(.7)}to{transform:translate(calc(var(--sorting-flight)*-1),210px) rotate(-15deg) scale(.15);opacity:0}}@keyframes sorting-fly-right-mobile{0%,12%{transform:scale(1)}40%{transform:translate(calc(var(--sorting-flight)*.5),80px) rotate(8deg) scale(.7)}to{transform:translate(var(--sorting-flight),210px) rotate(15deg) scale(.15);opacity:0}}@media(prefers-reduced-motion:reduce){.sorting-page *{animation-duration:.01ms!important;transition-duration:.01ms!important}}.mole-page{max-width:1950px;margin:auto}.mole-layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:26px;align-items:start}.mole-stage{border:1px solid #d3e1ca;border-radius:25px;background:#f6faee;box-shadow:0 7px #dce7d44d;overflow:hidden;min-width:0}.mole-garden-top{display:flex;align-items:center;justify-content:space-between;padding:11px 25px;color:#7a9771;background:#eef4e5;border-bottom:1px solid #dce8d0;font-size:10px;letter-spacing:2px;font-weight:800}.mole-garden-top>span:last-child{font-size:21px;color:#d4aa59;letter-spacing:9px}.mole-target{height:127px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:4px;background:radial-gradient(ellipse at center,#fffdf5,#f6faee 80%);position:relative;padding:10px 24px;max-width:100%}.mole-target-label{font-size:14px;color:#748a6c}.mole-target-word{font-size:clamp(40px,4vw,64px);font-weight:800;line-height:1.1;letter-spacing:-1.5px;color:#3f6b50;max-width:100%;text-align:center}.mole-target>small{font-size:13px;color:#7c9378}.mole-target-picture{height:127px;gap:1px}.mole-target-picture img{height:85px;width:125px;object-fit:contain}.mole-target-picture>small{position:absolute;bottom:12px;right:30px}.mole-listen{font-size:clamp(26px,3vw,43px);color:#72967c;letter-spacing:-.8px}.mole-listen span{color:#d3a24b;padding-left:6px}.mole-garden{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;padding:30px 22px 18px;background:linear-gradient(#f6faee 0 30%,#e4efcf 31%,#d9e7c5);min-height:305px;overflow:hidden}.mole-garden:before{content:"";position:absolute;inset:21% -10% auto;border-radius:50% 50% 0 0;background:#e4efcf;height:60%;z-index:-1;transform:rotate(-3deg)}.mole-garden:after{content:"";position:absolute;width:80%;height:20%;background:#dce9c7;border-radius:50%;bottom:0;right:-5%;z-index:-1}.mole-choice{position:relative;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;height:clamp(215px,27vh,340px);border:0;background:transparent;padding:0 5px 10px;min-width:0;border-radius:22px;opacity:1!important;transition:transform .2s;touch-action:manipulation;user-select:none}.mole-choice:focus-visible{outline:3px solid #6396c0;outline-offset:-2px;background:#fafff039}.garden-mole{width:100%;max-width:240px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.mole-sign{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:92%;height:clamp(106px,14vh,173px);padding:8px 9px;background:linear-gradient(140deg,#fffef7,#fff7e5);border:3px solid #d8b383;border-radius:16px;box-shadow:0 5px #b7946944;margin-bottom:0;transform:rotate(-3deg)}.mole-choice:nth-of-type(2n) .mole-sign{transform:rotate(3deg)}.mole-sign:before,.mole-sign:after{content:"";position:absolute;height:17px;width:23px;background:#caa788;border:1px solid #b28f70;top:55%;border-radius:10px}.mole-sign:before{left:-15px;transform:rotate(-15deg)}.mole-sign:after{right:-15px;transform:rotate(15deg)}.mole-sign img{height:100%;max-width:100%;object-fit:contain}.mole-choice-word{font-size:clamp(22px,2.3vw,36px);font-weight:800;line-height:1.1;letter-spacing:-.5px;text-align:center;color:#486e63;max-width:100%}.mole-number{position:absolute;right:10px;top:0;font-size:11px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;color:#698058;border:1px solid #bbcead;background:#f0f5e5;z-index:2}.mole-stars{position:absolute;top:-5px;color:#dfaa3c;font-size:31px;letter-spacing:5px;z-index:3;animation:mole-star .65s ease-out both;pointer-events:none;white-space:nowrap}.mole-correct{animation:mole-hop .6s ease-out}.mole-correct .mole-sign{border-color:#83b591;background:#f4ffe8}.mole-wrong .mole-sign{border-color:#deb087;background:#fff6ec}.mole-flower{position:absolute;font-size:43px;color:#e8b6b1;z-index:-1}.mole-flower-one{left:8px;top:11px;transform:rotate(-14deg)}.mole-flower-two{right:18px;bottom:1px;color:#e6ca6d;font-size:34px}.mole-feedback{min-height:40px;padding:10px 12px;text-align:center;font-size:14px;color:#738669;background:#e3edcf;font-weight:600}.mole-feedback-correct{color:#3f8661}.mole-feedback-wrong,.mole-feedback-timeout{color:#9b713f}.mole-progress{display:flex;align-items:center;gap:14px;padding:15px 24px;font-size:12px;background:#fbfcf4;color:#79936b}.mole-progress>div{flex:1;background:#e7eddc;border-radius:9px;height:8px;overflow:hidden}.mole-progress i{display:block;height:100%;background:#8abc96;border-radius:9px;transition:width .3s}.mole-progress>span,.mole-progress small{white-space:nowrap}.mole-timer{font-size:18px;font-weight:800;color:#7a9060;min-width:44px;text-align:right}.mole-sidebar{display:flex;flex-direction:column;gap:13px}.mole-sidebar .turn-card p{font-size:12px}.mole-scores{background:#fffdf5;border:1px solid #e0e6d8;border-radius:17px;padding:3px 18px}.mole-scores>div{display:flex;align-items:center;gap:10px;min-height:66px;color:#ca934d}.mole-scores>div+div{border-top:1px solid #e7ecdF}.mole-scores span{flex:1;font-size:15px;font-weight:700}.mole-scores b{font-size:32px}.mole-scores .mole-blue-score{color:#6796c1}.mole-teacher{display:flex;flex-direction:column;gap:6px;background:#eef3f9;border:1px solid #d6e2ed;border-radius:15px;padding:12px}.mole-teacher .sidebar-label{color:#708ca7;letter-spacing:.8px}.mole-teacher .btn{min-height:44px;font-size:13px;width:100%}.mole-teacher .btn-quiet{color:#6c89a4}.mole-controls{margin-top:0}.mole-controls .btn,.mole-controls .controls-row .btn{min-height:44px}.mole-empty{min-height:450px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:#638364;padding:40px;text-align:center}.mole-empty h2{font-size:27px}.mole-empty p{max-width:500px;line-height:1.8;font-size:16px}.mole-choice:before{content:"";position:absolute;bottom:0;width:91%;height:27px;border-radius:50%;background:#77654d;box-shadow:0 4px #bba67b,inset 0 4px #61523f}.garden-mole{top:-25px;bottom:auto}@keyframes mole-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-18px)}70%{transform:translateY(-5px)}}@keyframes mole-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes mole-star{0%{opacity:0;transform:scale(.5) translateY(10px)}50%{opacity:1;transform:scale(1.15) translateY(-6px)}to{opacity:1;transform:scale(1)}}@media(min-width:2000px){.mole-layout{grid-template-columns:minmax(0,1fr) 340px;gap:38px}.mole-sidebar{gap:21px}.mole-target,.mole-target-picture{height:170px}.mole-target-picture img{height:119px;width:150px}.mole-target-label{font-size:20px}.mole-garden{min-height:410px;padding:50px 35px 30px}.mole-choice{height:330px}.garden-mole{max-width:290px}.mole-sign{height:175px;max-width:250px}.mole-feedback{font-size:19px;min-height:50px}.mole-progress{font-size:17px;padding:22px 30px}.mole-progress small{font-size:15px}.mole-teacher .btn{min-height:53px;font-size:16px}.mole-scores>div{min-height:80px}}@media(max-height:820px)and (min-width:1000px){.mole-page{padding-top:13px;padding-bottom:13px}.mole-page .game-heading{margin-bottom:13px}.mole-layout{gap:22px;grid-template-columns:minmax(0,1fr) 266px}.mole-stage{border-radius:21px}.mole-garden-top{padding:8px 20px}.mole-target,.mole-target-picture{height:112px}.mole-target-word{font-size:46px}.mole-target-picture img{height:75px}.mole-garden{min-height:245px;padding:14px 20px 10px}.mole-choice{height:212px}.mole-sign{height:108px}.mole-choice-word{font-size:27px}.mole-feedback{min-height:36px;font-size:12px;padding:9px}.mole-progress{padding:12px 20px}.mole-sidebar{gap:9px}.mole-sidebar .turn-card{padding:14px 17px}.mole-sidebar .turn-card strong{font-size:25px}.mole-sidebar .turn-card p{font-size:11px}.mole-scores>div{min-height:49px}.mole-scores b{font-size:28px}.mole-sidebar .game-task{padding:11px}.mole-sidebar .game-task p{font-size:11px;line-height:1.5;margin-top:3px}.mole-teacher{padding:9px;gap:4px}.mole-teacher .btn{font-size:12px;min-height:44px}.mole-controls{gap:5px}.mole-empty{min-height:420px}}@media(max-width:999px){.mole-layout{grid-template-columns:1fr}.mole-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mole-garden{min-height:265px}.mole-choice{height:226px}.mole-sign{height:120px}.mole-target-word{font-size:42px}.mole-target-label{font-size:13px}.mole-choice-word{font-size:23px}.mole-teacher{grid-column:1}.mole-controls .controls-row{flex-wrap:wrap}}@media(max-width:600px){.mole-page .game-heading{gap:10px}.mole-page .game-heading h1{font-size:21px}.mole-page .rule-badge{font-size:10px;white-space:nowrap}.mole-garden{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px 12px 10px}.mole-choice{height:195px}.garden-mole{max-width:185px}.mole-sign{max-width:155px;height:92px}.mole-choice-word{font-size:24px}.mole-number{right:12px;font-size:10px}.mole-target-label{font-size:12px}.mole-target{padding:10px 15px}.mole-listen{font-size:26px}.mole-feedback{font-size:12px;min-height:47px}.mole-progress{padding:12px;gap:8px;font-size:11px}.mole-progress small{font-size:10px}.mole-sidebar{gap:10px}.mole-teacher .btn,.mole-controls .btn,.mole-controls .controls-row .btn{font-size:11px}.mole-empty{padding:25px;min-height:350px}}.mole-page{max-width:1870px;padding:26px clamp(28px,4.8vw,90px) 30px;color:#35594a}.mole-page .game-heading{margin-bottom:23px}.mole-page .game-heading h1{font-size:31px;letter-spacing:-.8px;color:#436452}.mole-page .game-heading h1>span{font-size:16px;color:#83927a}.mole-page .eyebrow{color:#93a584;font-size:11px;letter-spacing:1.6px;margin-bottom:9px}.mole-page .rule-badge{background:#fcf6e5;border-color:#e7ddbb;color:#8b7d52;border-radius:17px;padding:12px 16px}.mole-page .rule-badge span{color:#968d73}.mole-layout{grid-template-columns:minmax(0,1fr) 285px;gap:26px}.mole-stage{background:#fffdf4;border:1px solid #d7dfc7;border-radius:29px;box-shadow:0 7px #b5c4a71c;overflow:hidden}.mole-garden-top{padding:13px 26px;background:#eef3e5;border-bottom:1px solid #dce6cb;color:#758968;font-size:11px;letter-spacing:1.8px}.mole-garden-top>span:first-child{display:flex;align-items:center;gap:8px}.mole-garden-top>span:last-child{font-size:12px;color:#8b997a;letter-spacing:1px}.mole-target{height:155px;padding:13px 28px;gap:7px;background:#fffdf4;border-bottom:1px solid #eef0dd}.mole-target-label{font-size:16px;color:#809273;line-height:1.4}.mole-target-word{font-size:clamp(46px,4.1vw,70px);letter-spacing:-1px;color:#456d52}.mole-target>small{font-size:15px;color:#8a967b}.mole-target-picture{height:155px}.mole-target-picture img{height:102px;width:150px}.mole-listen{color:#6d967b;font-size:40px}.mole-garden{min-height:365px;background:#e4edcf url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201400%20440'%20fill='none'%3e%3ctitle%3eA%20quiet%20storybook%20word%20garden%3c/title%3e%3cdesc%3eOriginal%20vector%20illustration.%20Soft%20hills,%20rounded%20woodland,%20a%20little%20candy%20cottage%20and%20garden%20flowers%20frame%20a%20calm%20open%20space.%3c/desc%3e%3cdefs%3e%3clinearGradient%20id='garden-sky'%20x1='700'%20y1='0'%20x2='700'%20y2='440'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23eef5f5'/%3e%3cstop%20offset='.36'%20stop-color='%23fbfbef'/%3e%3cstop%20offset='1'%20stop-color='%23e7efda'/%3e%3c/linearGradient%3e%3clinearGradient%20id='garden-distant'%20x1='700'%20y1='103'%20x2='700'%20y2='348'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23e4eee1'/%3e%3cstop%20offset='1'%20stop-color='%23f0f2de'/%3e%3c/linearGradient%3e%3clinearGradient%20id='garden-meadow'%20x1='700'%20y1='170'%20x2='700'%20y2='440'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23e4edce'/%3e%3cstop%20offset='1'%20stop-color='%23e8eed5'/%3e%3c/linearGradient%3e%3clinearGradient%20id='garden-near'%20x1='700'%20y1='283'%20x2='700'%20y2='440'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23dce7c8'/%3e%3cstop%20offset='1'%20stop-color='%23d6e3c1'/%3e%3c/linearGradient%3e%3clinearGradient%20id='garden-mint'%20x1='52'%20y1='8'%20x2='127'%20y2='195'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23d2e6d7'/%3e%3cstop%20offset='1'%20stop-color='%23bcd7be'/%3e%3c/linearGradient%3e%3clinearGradient%20id='garden-cottage'%20x1='1247'%20y1='167'%20x2='1337'%20y2='236'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23fff6e1'/%3e%3cstop%20offset='1'%20stop-color='%23efe1c7'/%3e%3c/linearGradient%3e%3cpattern%20id='garden-paper'%20width='97'%20height='83'%20patternUnits='userSpaceOnUse'%3e%3cpath%20d='M6%2014h2m43%2011h2m29%2034h2M21%2070h2M67%2077h1'%20stroke='%23a79f82'%20stroke-opacity='.12'%20stroke-width='.7'%20stroke-linecap='round'/%3e%3cpath%20d='M31%2035h1m50-26h1M5%2051h1M57%2057h1'%20stroke='%23fffdf4'%20stroke-opacity='.65'%20stroke-width='1'%20stroke-linecap='round'/%3e%3c/pattern%3e%3cg%20id='garden-leaf-spray'%20stroke='%23a4b593'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M0%2035C1%2021%200%2012-3%200'/%3e%3cpath%20d='M-1%2022C-13%2022-17%2016-18%2010C-10%209-3%2012-1%2022Z'%20fill='%23c0d3a9'/%3e%3cpath%20d='M0%2015C10%2016%2017%2011%2018%205C10%203%204%206%200%2015Z'%20fill='%23cfdebb'/%3e%3cpath%20d='M-2%205C-9%206-14%200-12-7C-5-7-2-3-2%205Z'%20fill='%23d4e0bd'/%3e%3c/g%3e%3cg%20id='garden-flower'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M0%2018C-3%2030-1%2044-4%2051'%20stroke='%23a2b390'%20stroke-width='2'/%3e%3cpath%20d='M-2%2039C-16%2038-21%2029-17%2025C-7%2024-1%2031-2%2039Z'%20fill='%23bfd0a5'%20stroke='%23a6b790'%20stroke-width='1.6'/%3e%3cpath%20d='M-1%2031C10%2031%2015%2024%2013%2021C6%2020%200%2024-1%2031Z'%20fill='%23cbd8b1'%20stroke='%23a6b790'%20stroke-width='1.6'/%3e%3cpath%20d='M-1-4C-11-18-23-6-13%204C-30%2010-21%2026-8%2019C-3%2035%2013%2030%2011%2017C26%2019%2031%203%2016%200C19-16%203-20-1-4Z'%20fill='%23efc9bf'%20stroke='%23d7b8a7'%20stroke-width='1.8'/%3e%3cpath%20d='M-10%207C-8%202-1%200%204%203C10%206%2010%2012%206%2016C0%2021-12%2016-10%207Z'%20fill='%23f5dda0'%20stroke='%23d8c18d'%20stroke-width='1.4'/%3e%3cpath%20d='M-5%208l1-1m7%204%201-1'%20stroke='%23d3b27c'%20stroke-width='1.2'/%3e%3c/g%3e%3cg%20id='garden-mushroom'%20stroke='%23bfbaa0'%20stroke-width='1.7'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M-7%202C-6%2012-9%2023-6%2028C-3%2030%206%2030%208%2027C10%2021%206%2011%207%202Z'%20fill='%23f7eedc'/%3e%3cpath%20d='M-24%202C-20-12-11-22%201-21C15-22%2024-11%2026%202C14%208-12%2010-24%202Z'%20fill='%23e6bcb0'/%3e%3cpath%20d='M-23%202C-5-1%2011-1%2025%202'%20stroke='%23d0aa9d'/%3e%3cellipse%20cx='-9'%20cy='-8'%20rx='4'%20ry='3'%20fill='%23fff0d9'%20stroke='none'%20transform='rotate(-19%20-9%20-8)'/%3e%3cellipse%20cx='9'%20cy='-13'%20rx='3.5'%20ry='3'%20fill='%23fff0d9'%20stroke='none'/%3e%3cellipse%20cx='16'%20cy='-2'%20rx='2.7'%20ry='2'%20fill='%23fff0d9'%20stroke='none'/%3e%3cpath%20d='M-1%2010v13'%20stroke='%23e5d6bb'/%3e%3c/g%3e%3c/defs%3e%3cpath%20fill='url(%23garden-sky)'%20d='M0%200h1400v440H0z'/%3e%3c!--%20Soft%20sky%20shapes%20stay%20outside%20the%20central%20teaching%20space.%20--%3e%3cg%20stroke='%23ddd5b7'%20stroke-width='1.8'%20stroke-linecap='round'%20opacity='.8'%3e%3cpath%20d='M1260%208v-13m37%2022%209-9m-7%2045%2014%201m-93-37-8-9m-4%2043-14%201'/%3e%3cpath%20d='M1232%2027C1236%2010%201257%205%201271%2014C1288%2022%201294%2040%201285%2054C1277%2068%201256%2073%201242%2064C1228%2056%201227%2040%201232%2027Z'%20fill='%23f8e9b5'%20stroke='%23ead59a'/%3e%3cpath%20d='M1242%2027C1247%2018%201259%2015%201267%2020'%20stroke='%23fff6da'%20stroke-width='3'/%3e%3c/g%3e%3cg%20fill='%23fffdf3'%20stroke='%23dfe7dd'%20stroke-width='1.6'%20opacity='.84'%3e%3cpath%20d='M224%2034C219%2021%20232%2010%20243%2016C246%201%20265-1%20276%2010C288%205%20302%2015%20300%2027C317%2021%20332%2033%20329%2047C346%2049%20344%2067%20328%2069H227C209%2069%20205%2045%20224%2034Z'/%3e%3cpath%20d='M1031%2022C1031%207%201049%201%201060%2011C1066-1%201084-1%201090%2013C1106%207%201120%2018%201117%2031C1133%2030%201143%2044%201135%2055C1130%2063%201117%2065%201105%2065H1031C1015%2064%201016%2038%201031%2036Z'/%3e%3cpath%20d='M347%2087C345%2080%20352%2072%20360%2075C366%2062%20384%2065%20388%2077C401%2073%20412%2082%20409%2092C420%2095%20418%20106%20407%20108H357C344%20108%20338%2097%20347%2087Z'%20stroke='none'%20opacity='.6'/%3e%3c/g%3e%3cpath%20d='M0%20160C83%20125%20154%20123%20250%20150C328%20172%20387%20134%20462%20141C552%20146%20606%20180%20699%20160C804%20138%20906%20130%20999%20152C1100%20177%201168%20122%201268%20135C1324%20142%201369%20162%201400%20174V440H0Z'%20fill='url(%23garden-distant)'/%3e%3cpath%20d='M0%20207C99%20174%20186%20162%20276%20177C377%20194%20423%20216%20537%20211C698%20203%20775%20172%20883%20185C996%20199%201072%20202%201170%20181C1246%20165%201335%20176%201400%20197V440H0Z'%20fill='url(%23garden-meadow)'/%3e%3cpath%20d='M0%20319C135%20282%20216%20308%20348%20322C500%20339%20593%20308%20706%20319C850%20332%20978%20356%201100%20322C1216%20290%201316%20276%201400%20304V440H0Z'%20fill='url(%23garden-near)'/%3e%3cpath%20d='M0%20357C180%20329%20292%20380%20462%20383C653%20388%20780%20364%20957%20377C1121%20389%201256%20348%201400%20350V440H0Z'%20fill='%23e0e9cc'/%3e%3cpath%20d='M0%20211C52%20193%20102%20184%20151%20182M1199%20180c66-8%20120-1%20167%2012M18%20323c47-10%2086-12%20121-8m1124-20c52-5%2092%200%20124%2010'%20stroke='%23d0ddc2'%20stroke-width='2'%20stroke-linecap='round'%20opacity='.7'/%3e%3c!--%20The%20little%20woodland%20is%20drawn%20as%20one%20scene,%20with%20quieter%20inner%20edges.%20--%3e%3cg%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M-23%20210C-21%20124%206%2089%2030%2073C45%2092%2057%20123%2059%20159C79%20189%2084%20218%2076%20244L-23%20258Z'%20fill='%23d0dfc7'/%3e%3cpath%20d='M39%20225C44%20182%2050%20151%2064%20117C84%20140%2093%20173%2097%20221Z'%20fill='%23d9e4c8'/%3e%3cpath%20d='M79%20224C91%20167%20114%20135%20142%20125C164%20140%20174%20173%20183%20220Z'%20fill='%23d6e1c5'/%3e%3cpath%20d='M62%2080C69%20143%2061%20187%2059%20237C66%20243%2078%20244%2085%20238C81%20186%2088%20131%2088%2086Z'%20fill='%23d8c8a8'%20stroke='%23c3bea4'%20stroke-width='2'/%3e%3cpath%20d='M75%20201C73%20167%2075%20136%2076%20111M75%20145l-17-19m20%207%2014-22'%20stroke='%23c4b697'%20stroke-width='1.8'/%3e%3cpath%20d='M73%2010C42%204%2016%2024%2020%2047C-3%2052-7%2088%2012%2099C-1%20123%2015%20151%2039%20148C39%20172%2070%20181%2088%20162C111%20176%20135%20160%20132%20136C159%20128%20158%2099%20142%2087C153%2068%20139%2041%20117%2042C115%2019%2095%204%2073%2010Z'%20fill='url(%23garden-mint)'%20stroke='%23b5cbb6'%20stroke-width='2'/%3e%3cpath%20d='M38%2042c9-9%2020-11%2029-8m32-4c7%204%2011%2010%2013%2017M19%20105c4%209%209%2012%2018%2013m63%2027c8-1%2012-5%2016-12'%20stroke='%23e1eee0'%20stroke-width='3'%20opacity='.8'/%3e%3cpath%20d='M27%2086c3-4%209-5%2013-3m65%2012c5-6%2013-7%2017-4M50%20144c4%203%209%203%2013%201'%20stroke='%23abc5aa'%20stroke-width='1.7'/%3e%3cpath%20d='M140%20144C138%20177%20135%20211%20137%20231C140%20235%20148%20235%20151%20231C149%20208%20154%20176%20155%20143Z'%20fill='%23ded0b1'%20stroke='%23c8c2a8'%20stroke-width='1.8'/%3e%3cpath%20d='M148%20209l1-44m0%2014%2012-16'%20stroke='%23c3b596'%20stroke-width='1.6'/%3e%3cpath%20d='M143%2066C124%2059%20111%2069%20110%2083C92%2082%2084%20100%2094%20115C83%20134%2098%20152%20116%20150C123%20168%20144%20171%20157%20156C176%20166%20192%20153%20189%20137C206%20126%20200%20104%20184%20100C185%2079%20166%2068%20154%2073C152%2070%20148%2067%20143%2066Z'%20fill='%23dce5c8'%20stroke='%23c8d7b8'%20stroke-width='1.8'/%3e%3cpath%20d='M114%2091c6-5%2013-6%2020-3m33-4c6%203%2010%207%2011%2012m-65%2040c5%205%209%205%2014%204'%20stroke='%23edf0d9'%20stroke-width='2.6'/%3e%3cpath%20d='M0%20238C11%20222%2026%20222%2037%20229C42%20216%2064%20216%2072%20230C87%20218%20106%20225%20109%20240C128%20236%20143%20246%20147%20258L0%20273Z'%20fill='%23c4d5b4'%20stroke='%23b7caaa'%20stroke-width='1.8'/%3e%3cpath%20d='M8%20246c7-5%2013-5%2020-2m22-5c4%201%206%203%208%206m26-8c5%202%208%205%209%209'%20stroke='%23dbe5c9'%20stroke-width='2.5'/%3e%3c/g%3e%3cg%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M1349%20188C1360%20145%201378%20121%201400%20117V247H1327Z'%20fill='%23d6e2cc'/%3e%3cpath%20d='M1307%2090C1306%20142%201314%20192%201310%20230C1316%20236%201328%20234%201332%20229C1328%20181%201334%20139%201330%2094Z'%20fill='%23d9cdb0'%20stroke='%23c6c3ac'%20stroke-width='2'/%3e%3cpath%20d='M1321%20207l-1-76m0%2034-12-14m13%204%2013-19'%20stroke='%23c4b99d'%20stroke-width='1.8'/%3e%3cpath%20d='M1320%2030C1297%2023%201276%2033%201274%2053C1257%2052%201244%2072%201254%2090C1241%20109%201255%20134%201276%20134C1282%20154%201308%20161%201322%20146C1346%20156%201366%20142%201361%20119C1382%20109%201385%2086%201369%2074C1373%2052%201354%2034%201338%2038C1333%2033%201327%2030%201320%2030Z'%20fill='%23d9dfd6'%20stroke='%23c3d0bd'%20stroke-width='2'/%3e%3cpath%20d='M1284%2062c9-8%2015-9%2021-7m46%209c6%203%2010%207%2011%2012m-79%2051c5%208%2012%2010%2020%206'%20stroke='%23edf0df'%20stroke-width='3'/%3e%3cpath%20d='M1353%20137C1351%20174%201358%20218%201354%20244C1360%20248%201369%20246%201372%20242C1365%20209%201371%20175%201374%20139Z'%20fill='%23dccdaf'%20stroke='%23c7c0a6'%20stroke-width='1.8'/%3e%3cpath%20d='M1364%20228l-1-58m0%2018%2012-15'%20stroke='%23c5b69a'%20stroke-width='1.6'/%3e%3cpath%20d='M1362%2091C1344%2087%201332%2096%201333%20111C1318%20116%201316%20131%201324%20140C1314%20158%201326%20173%201342%20172C1347%20190%201368%20193%201380%20179C1397%20189%201413%20177%201410%20163C1427%20154%201422%20136%201407%20131C1413%20111%201396%2099%201383%20102C1378%2095%201372%2092%201362%2091Z'%20fill='%23ccddca'%20stroke='%23b8ceba'%20stroke-width='1.8'/%3e%3cpath%20d='M1342%20118c5-5%2012-7%2018-5m24%2035c7-3%2011-7%2013-12m-58%2024c4%204%209%205%2014%204'%20stroke='%23e7edda'%20stroke-width='2.5'/%3e%3cpath%20d='M1251%20240C1261%20225%201278%20225%201287%20235C1296%20222%201315%20225%201321%20237C1336%20226%201354%20234%201358%20247C1373%20236%201391%20243%201400%20255V280L1243%20274Z'%20fill='%23c3d4b3'%20stroke='%23b8caaa'%20stroke-width='1.8'/%3e%3cpath%20d='M1262%20247c5-4%2010-4%2015-2m61-1c6-1%2011%201%2014%205m28%203c4%200%208%201%2011%204'%20stroke='%23dce6ca'%20stroke-width='2.5'/%3e%3c/g%3e%3c!--%20A%20tiny%20cottage%20belongs%20to%20the%20woodland%20edge,%20away%20from%20the%20answer%20cards.%20--%3e%3cg%20stroke-linejoin='round'%20stroke-linecap='round'%3e%3cellipse%20cx='1249'%20cy='251'%20rx='76'%20ry='10'%20fill='%23cbd7b9'%20opacity='.5'/%3e%3cpath%20d='M1262%20157v-34h17v40'%20fill='%23e9d6c2'%20stroke='%23cbbba4'%20stroke-width='1.8'/%3e%3cpath%20d='M1257%20123h25v7h-25z'%20fill='%23dfc6b6'%20stroke='%23cbbba4'%20stroke-width='1.8'/%3e%3cpath%20d='M1209%20172C1206%20196%201208%20222%201210%20240C1240%20245%201269%20245%201296%20240L1295%20173Z'%20fill='url(%23garden-cottage)'%20stroke='%23c9bda1'%20stroke-width='2'/%3e%3cpath%20d='M1199%20177L1248%20130C1251%20127%201256%20128%201259%20131L1307%20175C1277%20186%201239%20177%201199%20177Z'%20fill='%23e9c7bb'%20stroke='%23c8aa99'%20stroke-width='2'/%3e%3cpath%20d='M1207%20173L1252%20135L1299%20175'%20stroke='%23f9e1cf'%20stroke-width='3'/%3e%3cpath%20d='M1217%20165l10%2010m1-20%2011%2018m2-28%2012%2025m0-32%2012%2034m3-21%209%2023m6-8%205%2012'%20stroke='%23d8b6a7'%20stroke-width='2'%20opacity='.75'/%3e%3cpath%20d='M1237%20241V209C1237%20185%201267%20185%201267%20209V242Z'%20fill='%23c2d6cb'%20stroke='%23aabdb0'%20stroke-width='1.8'/%3e%3cpath%20d='M1243%20239V210C1243%20194%201261%20194%201261%20210V239'%20stroke='%23d8e5d7'%20stroke-width='2'/%3e%3ccircle%20cx='1258'%20cy='220'%20r='2.2'%20fill='%23b3ab8d'/%3e%3cpath%20d='M1216%20194h13v17h-13zm58%200h13v17h-13z'%20fill='%23d1e3e3'%20stroke='%23c1bca1'%20stroke-width='1.6'/%3e%3cpath%20d='M1217%20202h11m-5-7v15m52-8h11m-6-7v15'%20stroke='%23f9f0d7'%20stroke-width='1.5'/%3e%3cpath%20d='M1214%20213h17m41%200h17'%20stroke='%23d3b69e'%20stroke-width='2'/%3e%3cpath%20d='M1233%20247C1243%20244%201261%20244%201271%20247L1280%20258C1261%20256%201243%20257%201225%20260Z'%20fill='%23ebdfbd'/%3e%3cpath%20d='M1240%20251l7-1m13%202%205%201'%20stroke='%23d9ccaa'%20stroke-width='1.5'/%3e%3cpath%20d='M1183%20237l1-32%207-6%207%206%201%2033m-14-8%2047%202m-47-13%2047%202m-18%2020-1-35%207-6%207%206%201%2035'%20fill='%23f2e5c8'%20stroke='%23cbbfa3'%20stroke-width='1.8'/%3e%3cpath%20d='M1286%20246C1284%20233%201289%20226%201295%20229C1300%20222%201309%20225%201309%20233C1317%20232%201321%20238%201317%20245Z'%20fill='%23bed0ae'%20stroke='%23b0c19f'%20stroke-width='1.6'/%3e%3c/g%3e%3c!--%20Small%20garden%20details%20are%20sparse%20and%20tucked%20into%20the%20borders.%20--%3e%3cg%20opacity='.95'%3e%3cuse%20href='%23garden-leaf-spray'%20transform='translate(159%20216)%20rotate(-14)%20scale(.82)'/%3e%3cuse%20href='%23garden-leaf-spray'%20transform='translate(1166%20230)%20rotate(23)%20scale(.7)'/%3e%3cuse%20href='%23garden-mushroom'%20transform='translate(54%20290)%20rotate(-8)%20scale(.74)'/%3e%3cuse%20href='%23garden-mushroom'%20transform='translate(86%20310)%20rotate(8)%20scale(.45)'/%3e%3cuse%20href='%23garden-mushroom'%20transform='translate(1349%20292)%20rotate(8)%20scale(.65)'/%3e%3cuse%20href='%23garden-flower'%20transform='translate(27%20344)%20rotate(-13)%20scale(.72)'/%3e%3cuse%20href='%23garden-flower'%20transform='translate(103%20383)%20rotate(15)%20scale(.6)'/%3e%3cuse%20href='%23garden-flower'%20transform='translate(1363%20359)%20rotate(-9)%20scale(.76)'/%3e%3cuse%20href='%23garden-flower'%20transform='translate(1317%20411)%20rotate(16)%20scale(.45)'/%3e%3cuse%20href='%23garden-leaf-spray'%20transform='translate(8%20391)%20rotate(-24)%20scale(.83)'/%3e%3cuse%20href='%23garden-leaf-spray'%20transform='translate(1394%20391)%20rotate(20)%20scale(.95)'/%3e%3c/g%3e%3cg%20stroke='%23b5c2a1'%20stroke-width='1.8'%20stroke-linecap='round'%20opacity='.65'%3e%3cpath%20d='M120%20260l-3-7m3%207%204-5m-7%20124-2-7m2%207%204-4m18%2043-1-7m1%207%204-5m1132-112-1-7m1%207%204-4m25%2079-2-7m2%207%204-4m-13%2052-1-8m1%208%204-6'/%3e%3cpath%20d='M7%20312l-3-6m3%206%204-4m1385%2022-1-7m1%207%204-5'/%3e%3c/g%3e%3cg%20stroke-linecap='round'%20stroke-linejoin='round'%20transform='translate(1142%2086)%20rotate(-13)'%3e%3cpath%20d='M0%204C-4-14-17-17-23-9C-29%200-17%2011-3%2011C-22%2015-20%2029-11%2029C-2%2029%200%2017%201%209'%20fill='%23e2d7e6'%20stroke='%23c9bccb'%20stroke-width='1.6'/%3e%3cpath%20d='M1%204C7-13%2020-14%2024-5C28%205%2017%2013%204%2011C20%2017%2016%2031%207%2027C1%2024%202%2015%201%209'%20fill='%23eed4cb'%20stroke='%23d5beb3'%20stroke-width='1.6'/%3e%3cpath%20d='M0%201l2%2014m-3-15-4-6m6%206%204-5'%20stroke='%23b1aa91'%20stroke-width='2'/%3e%3cpath%20d='M-10-5c-4%201-7%204-5%207m28-6c3%202%204%205%202%208'%20stroke='%23fff3e3'%20stroke-width='2.2'/%3e%3c/g%3e%3cpath%20d='M1155%20117C1168%20109%201168%20102%201164%2098C1160%2094%201151%2097%201153%20103C1158%20118%201181%20121%201196%20115'%20stroke='%23d7d0b6'%20stroke-width='1.4'%20stroke-dasharray='2%207'%20stroke-linecap='round'%20opacity='.6'/%3e%3cpath%20fill='url(%23garden-paper)'%20d='M0%200h1400v440H0z'/%3e%3c/svg%3e") center center/cover no-repeat;padding:28px 35px 22px;gap:20px;align-items:end}.mole-garden:before,.mole-garden:after{display:none}.mole-choice{height:310px;padding:0 0 22px;border-radius:25px;isolation:isolate}.mole-choice:before{bottom:2px;width:92%;height:30px;background:#879366;box-shadow:0 4px #c2c69b,inset 0 5px #6576485c;z-index:-1}.mole-choice .garden-mole{top:0;bottom:auto;left:50%;width:100%;height:245px;max-width:265px;display:block;background-size:contain;background-position:center;background-repeat:no-repeat;transform:translate(-50%);pointer-events:none;filter:drop-shadow(0 4px 0 #7a87631a)}.mole-sign{width:89%;max-width:239px;height:144px;padding:11px 13px;background:#fffdf2;border:3px solid #d6c59c;border-radius:19px;box-shadow:0 5px #b3a77c38;transform:rotate(-2deg);z-index:1}.mole-choice:nth-of-type(2n) .mole-sign{transform:rotate(2deg)}.mole-sign:before,.mole-sign:after{width:20px;height:14px;top:51%;background:#b89372;border-color:#a78365}.mole-sign:before{left:-13px}.mole-sign:after{right:-13px}.mole-sign img{width:100%;height:100%;max-width:143px}.mole-choice-word{font-size:clamp(27px,2.3vw,38px);color:#41674f;letter-spacing:-.5px}.mole-number{width:30px;height:30px;top:7px;right:5px;font-size:12px;color:#8a9775;background:#fffbed;border-color:#d4dcb7;z-index:3}.mole-choice:hover:not(:disabled){transform:translateY(-5px)}.mole-choice:focus-visible{outline:3px solid #5c8b78;outline-offset:1px;background:#fffaf029}.mole-correct .mole-sign{border-color:#86b395;background:#f8ffee;box-shadow:0 5px #78a97f45}.mole-wrong .mole-sign{border-color:#d7b29c;background:#fffaf2}.mole-stars{top:15px;left:50%;transform:translate(-50%);font-size:34px;color:#c8a456;text-shadow:0 2px #fff5d6;animation:storybook-stars .65s ease-out both}.mole-correct{animation:storybook-hop .6s ease-out}.mole-wrong{animation:mole-wiggle .4s ease-in-out}.mole-feedback{min-height:46px;background:#e8eed7;color:#728362;font-size:15px;padding:12px 16px;font-weight:600}.mole-feedback-correct{color:#4c805e;background:#e3efd5}.mole-feedback-wrong,.mole-feedback-timeout{color:#986f4d}.mole-progress{padding:17px 26px;color:#7b8c6b;background:#fffdf3;font-size:13px;gap:16px}.mole-progress>div{height:10px;background:#e9efdb}.mole-progress i{background:#9bbe95}.mole-progress small{font-size:12px}.mole-sidebar{gap:14px}.mole-sidebar .turn-card{border-radius:23px;background:#faf1dc;border-color:#e9dabb;box-shadow:0 4px #d1c7a01a;padding:22px}.mole-sidebar .team-blue{background:#eaf2f7;border-color:#cfdeea}.mole-sidebar .turn-card strong{font-size:31px;color:#95784b}.mole-sidebar .team-blue strong{color:#66879e}.mole-sidebar .sidebar-label{color:#9b8c6b;font-size:10px;letter-spacing:1.2px}.mole-sidebar .turn-card p{font-size:13px;line-height:1.8;color:#958c72}.mole-sidebar .team-disc{box-shadow:none}.mole-scores{border-radius:22px;background:#fffaf0;border-color:#e1dfc9;padding:4px 20px}.mole-scores>div{color:#b2975d;min-height:71px}.mole-scores .mole-blue-score{color:#7d9db6}.mole-scores svg{fill:#f2d98f;stroke:#d3b96d}.mole-scores .mole-blue-score svg{fill:#bdd8ed;stroke:#8cabc1}.mole-sidebar .game-task{background:#eef2e3;border-color:#dfe4c8;border-radius:20px;color:#7e9474;padding:17px}.mole-sidebar .game-task b{color:#6b8362;font-size:15px}.mole-sidebar .game-task p{font-size:12px;color:#859077;line-height:1.8}.mole-teacher{background:#edf3f5;border-color:#d3e1e3;border-radius:20px;padding:15px;gap:8px}.mole-teacher .sidebar-label{color:#829997}.mole-controls{gap:9px}.mole-controls .btn,.mole-controls .controls-row .btn{min-height:48px;font-size:13px}.mole-controls .controls-row{gap:7px}.mole-controls .controls-row .btn{border:1px solid #e0e2cb;background:#fbfaf0}.mole-controls .exit-button{min-height:44px!important;color:#8a9680}@keyframes storybook-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-13px)}70%{transform:translateY(-4px)}}@keyframes storybook-stars{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.6)}60%{opacity:1;transform:translate(-50%) translateY(-10px) scale(1.1)}to{opacity:1;transform:translate(-50%) translateY(-18px) scale(1)}}@media(min-width:2000px){.mole-page{max-width:2300px;padding:40px 100px}.mole-page .game-heading h1{font-size:40px}.mole-page .game-heading h1>span{font-size:21px}.mole-page .eyebrow{font-size:14px}.mole-layout{grid-template-columns:minmax(0,1fr) 355px;gap:36px}.mole-target,.mole-target-picture{height:190px}.mole-target-picture img{height:125px;width:170px}.mole-target-label{font-size:21px}.mole-target-word{font-size:85px}.mole-target>small{font-size:18px}.mole-garden{min-height:455px;padding:40px 40px 27px}.mole-choice{height:385px}.mole-choice .garden-mole{height:310px;max-width:335px}.mole-sign{height:177px;max-width:280px}.mole-sign img{max-width:177px}.mole-choice-word{font-size:44px}.mole-feedback{font-size:20px;min-height:56px;padding:16px}.mole-progress{font-size:18px;padding:25px 32px}.mole-progress small{font-size:16px}.mole-sidebar{gap:20px}.mole-sidebar .turn-card{padding:27px}.mole-sidebar .turn-card strong{font-size:40px}.mole-sidebar .turn-card p{font-size:16px}.mole-sidebar .sidebar-label{font-size:13px}.mole-scores>div{min-height:86px}.mole-scores span{font-size:20px}.mole-scores b{font-size:40px}.mole-sidebar .game-task b{font-size:20px}.mole-sidebar .game-task p{font-size:16px}.mole-controls .btn,.mole-controls .controls-row .btn,.mole-teacher .btn{font-size:17px;min-height:55px}.mole-garden-top{font-size:14px;padding:17px 32px}.mole-garden-top>span:last-child{font-size:16px}}@media(min-width:1000px)and (max-height:850px){.mole-page{padding:16px 40px 18px}.mole-page .game-heading{margin-bottom:16px;min-height:51px}.mole-page .game-heading h1{font-size:26px}.mole-page .game-heading h1>span{font-size:14px}.mole-page .eyebrow{font-size:10px;margin-bottom:7px}.mole-page .rule-badge{font-size:12px;padding:10px 13px}.mole-layout{grid-template-columns:minmax(0,1fr) 264px;gap:20px}.mole-garden-top{padding:10px 21px;font-size:10px}.mole-garden-top>span:last-child{font-size:11px}.mole-target,.mole-target-picture{height:116px;padding:9px 23px;gap:4px}.mole-target-word{font-size:47px}.mole-target-label{font-size:14px}.mole-target-picture img{height:78px;width:110px}.mole-target>small{font-size:13px}.mole-listen{font-size:31px}.mole-garden{min-height:276px;padding:15px 25px;gap:14px}.mole-choice{height:246px;padding-bottom:20px}.mole-choice .garden-mole{height:196px;max-width:215px}.mole-sign{height:114px;border-radius:16px;padding:8px 10px}.mole-sign img{max-width:116px}.mole-choice-word{font-size:28px}.mole-number{width:26px;height:26px;font-size:11px;top:4px;right:0}.mole-choice:before{height:23px}.mole-feedback{min-height:40px;padding:10px 12px;font-size:13px}.mole-progress{font-size:12px;padding:13px 21px}.mole-progress small{font-size:11px}.mole-sidebar{gap:10px}.mole-sidebar .turn-card{padding:15px 17px}.mole-sidebar .turn-card strong{font-size:26px}.mole-sidebar .turn-card p{font-size:12px;line-height:1.7}.mole-sidebar .sidebar-label{font-size:9px}.mole-scores>div{min-height:52px}.mole-scores b{font-size:29px}.mole-sidebar .game-task{padding:13px}.mole-sidebar .game-task b{font-size:14px}.mole-sidebar .game-task p{font-size:12px;line-height:1.65}.mole-teacher{padding:11px;gap:6px}.mole-teacher .btn{font-size:12px;min-height:44px}.mole-controls{gap:6px}.mole-controls .btn,.mole-controls .controls-row .btn{font-size:12px;min-height:44px}}@media(max-width:999px){.mole-page{padding:20px}.mole-layout{grid-template-columns:1fr}.mole-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mole-choice{height:260px}.mole-choice .garden-mole{height:205px}.mole-sign{height:123px}.mole-garden{min-height:310px;padding:25px 22px 20px;gap:15px}.mole-target-word{font-size:48px}.mole-choice-word{font-size:26px}.mole-page .game-heading h1{font-size:25px}.mole-page .game-heading h1>span{font-size:13px}.mole-target-label{font-size:14px}.mole-controls .controls-row{flex-wrap:wrap}}@media(max-width:600px){.mole-page{padding:17px 14px 24px}.mole-page .game-heading h1{font-size:22px}.mole-page .game-heading{gap:10px;margin-bottom:15px}.mole-page .eyebrow{font-size:8px;letter-spacing:1px}.mole-page .rule-badge{font-size:10px;padding:8px}.mole-garden-top{padding:10px 15px;font-size:9px}.mole-garden-top>span:last-child{display:none}.mole-garden{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 15px 16px;gap:17px 14px;background-size:auto 100%}.mole-choice{height:222px;padding-bottom:18px}.mole-choice .garden-mole{height:176px;max-width:194px}.mole-sign{height:101px;width:89%;padding:7px;border-width:2px;border-radius:15px}.mole-sign img{max-width:96px}.mole-choice-word{font-size:24px}.mole-number{top:0;right:0;width:25px;height:25px;font-size:10px}.mole-target,.mole-target-picture{height:136px;padding:10px 15px;gap:5px}.mole-target-label{font-size:12px}.mole-target-word{font-size:43px}.mole-target-picture img{height:85px}.mole-listen{font-size:25px}.mole-target>small{font-size:12px}.mole-feedback{font-size:12px;padding:11px;min-height:45px}.mole-progress{padding:13px;font-size:11px;gap:10px}.mole-progress small{font-size:10px}.mole-sidebar{gap:11px}.mole-sidebar .turn-card{padding:15px}.mole-sidebar .turn-card strong{font-size:23px}.mole-sidebar .sidebar-label{font-size:8px;letter-spacing:.7px}.mole-sidebar .turn-card p{font-size:11px}.mole-sidebar .game-task{padding:12px}.mole-sidebar .game-task b{font-size:12px}.mole-sidebar .game-task p{font-size:11px}.mole-scores{padding:4px 12px}.mole-scores>div{min-height:55px}.mole-scores span{font-size:13px}.mole-teacher{padding:10px}.mole-teacher .btn,.mole-controls .btn,.mole-controls .controls-row .btn{font-size:11px;min-height:44px}.mole-controls .controls-row .btn{width:100%}}.mole-page .mole-controls button.btn{min-height:44px;min-width:44px}@media(prefers-reduced-motion:reduce){.mole-page *,.mole-page *:before,.mole-page *:after{animation:none!important;transition:none!important}.mole-choice:hover:not(:disabled){transform:none}}.mystery-page{max-width:2000px;margin:auto}.mystery-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:26px;height:calc(100dvh - 203px);min-height:510px}.mystery-stage{display:flex;flex-direction:column;position:relative;min-width:0;min-height:0;background:radial-gradient(ellipse at 20% 10%,#fff8e5,transparent 58%),#fffdf6;border:1px solid #e2e4d5;border-radius:26px;padding:18px 25px 16px;box-shadow:0 6px #e1e6d945}.mystery-instruction{position:relative;text-align:center;display:flex;align-items:center;flex-direction:column;gap:6px;flex-shrink:0;color:#315e4d;margin-bottom:10px}.mystery-instruction>svg{position:absolute;left:7%;top:10px;color:#d8aa58;transform:rotate(-12deg)}.mystery-instruction strong{font-size:clamp(21px,2vw,33px);line-height:1.2;font-weight:800}.mystery-instruction>span{font-size:12px;color:#8e917f}.mystery-playfield{position:relative;flex:1;min-height:0;padding:3px 8px 8px}.mystery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(9px,1.4vh,19px) clamp(12px,1.6vw,25px);height:100%;max-width:1040px;margin:auto}.box-count-6 .mystery-grid{grid-template-rows:repeat(2,minmax(0,1fr))}.box-count-12 .mystery-grid{grid-template-rows:repeat(4,minmax(0,1fr))}.mystery-box{position:relative;min-width:44px;min-height:44px;padding:5px 16px 11px;border:1px solid #eadfc9;border-radius:19px;background:linear-gradient(145deg,#fffef8,#fff5de);box-shadow:0 4px #e9dfc4;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#a17a45;opacity:1!important}.mystery-box:nth-child(3n+2){background:linear-gradient(145deg,#fffefa,#eef4fa);border-color:#dbe4ee;box-shadow:0 4px #d7e2ea}.mystery-box:nth-child(3n){background:linear-gradient(145deg,#fffefa,#edf5e9);border-color:#dce5d4;box-shadow:0 4px #d8e4ce}.mystery-box:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 7px #e9dfc4;border-color:#d7b16b}.mystery-box-number{position:absolute;left:12px;top:9px;display:grid;place-items:center;min-width:24px;height:24px;border-radius:8px;background:#fffefa;color:#8a967d;font-size:13px;font-weight:800;border:1px solid #e6e6d7;z-index:2}.mystery-gift{height:calc(100% - 22px);width:100%;min-height:0;max-height:210px;overflow:visible;flex:1}.mystery-box-label{font-size:clamp(12px,1.1vw,17px);font-weight:800;line-height:1.1;flex-shrink:0;color:#7d826d;letter-spacing:.7px}.mystery-box.status-correct,.mystery-box.status-wrong{background:#eff3e9;border-color:#d9e2cd;box-shadow:0 3px #d8e0cd}.mystery-gift.is-completed{opacity:.35;filter:saturate(.45)}.mystery-box.status-correct .mystery-box-label{color:#54866a}.mystery-box.status-wrong .mystery-box-label{color:#8a907b}.mystery-box-stamp{position:absolute;top:42%;left:calc(50% - 21px);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#e6af42;background:#fff8d9;border:2px solid #f0d17c;transform:rotate(-8deg);box-shadow:0 2px #ddb96235}.status-wrong .mystery-box-stamp{color:#88a291;border-color:#c8d7c8;background:#f6f9f0}.mystery-gift.is-opening{animation:mystery-wiggle .38s ease-in-out}.mystery-gift.is-opening .mystery-gift-lid{transform-origin:85px 55px;animation:mystery-open .4s .25s ease-out forwards}.mystery-box.is-active{border-color:#e9b65e;box-shadow:0 0 0 3px #ffe2a9,0 4px #dfc387}.mystery-challenge{position:absolute;inset:5% 14%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse at 10% 5%,#fffae6,transparent 65%),#fffef8f7;border:3px solid #efd497;border-radius:26px;box-shadow:0 12px 35px #45614025;z-index:5;padding:22px 28px;animation:mystery-card-in .25s ease-out;overflow:hidden}.mystery-challenge-kicker{font-size:12px;color:#a28c65;font-weight:800;letter-spacing:1px;text-align:center}.mystery-word{font-size:clamp(38px,5vw,75px);font-weight:800;color:#315e4d;width:100%;text-align:center;line-height:1.15}.mystery-picture{width:min(70%,280px);height:58%;min-height:0;object-fit:contain}.mystery-chinese{font-size:19px;color:#87937c}.mystery-speaking{font-size:14px;color:#889782;text-align:center}.mystery-answer{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:9px 20px;border-radius:12px;background:#edf4e5;border:1px dashed #b0c5a7;text-align:center;font-size:15px;max-width:100%;color:#758571}.mystery-answer b{font-size:21px;color:#355e4b;overflow-wrap:anywhere}.mystery-reward{display:flex;align-items:center;flex-direction:column;gap:5px;position:relative;text-align:center;color:#cc983f}.mystery-reward>strong{font-size:clamp(23px,2.7vw,40px);font-weight:800;animation:mystery-celebrate .55s ease-out}.mystery-reward>span{font-size:17px;font-weight:700}.mystery-reward.reward-try{color:#897}.mystery-reward.reward-try>strong{animation:none}.mystery-particles{position:absolute;width:370px;max-width:75vw;height:190px;left:50%;bottom:-40px;transform:translate(-50%);pointer-events:none}.mystery-particles i{position:absolute;font-style:normal;font-size:24px;top:25%;animation:mystery-stars .7s ease-out both}.mystery-reward.reward-2>strong{color:#658aad}.mystery-reward.reward-3>strong{color:#9b85b8}.mystery-progress{display:grid;gap:8px;flex-shrink:0;padding:8px 4px 0;color:#84917c;font-size:13px}.mystery-progress>span{text-align:center}.mystery-progress b{color:#51846a}.mystery-progress>div{height:7px;border-radius:20px;background:#e9edde;overflow:hidden}.mystery-progress i{display:block;height:100%;background:#8cb89b;border-radius:20px;transition:width .25s}.mystery-sidebar{display:flex;flex-direction:column;gap:13px;min-width:0;min-height:0}.mystery-sidebar .turn-card{padding:17px 19px}.mystery-sidebar .turn-card p{font-size:11px;line-height:1.7;margin-top:8px}.mystery-scores{display:flex;gap:10px}.mystery-scores>div{flex:1;position:relative;padding:12px 14px;background:#fff3dc;border:1px solid #eddfbe;border-radius:14px;display:flex;flex-direction:column;color:#ad8148}.mystery-scores span{font-size:11px;font-weight:700}.mystery-scores b{font-size:32px;line-height:1.2;margin-top:4px;font-variant-numeric:tabular-nums}.mystery-scores svg{position:absolute;right:14px;bottom:15px;color:#e3b65c}.mystery-scores>.mystery-score-blue{background:#edf4fb;border-color:#d6e4ee;color:#638eaf}.mystery-scores>.mystery-score-blue svg{color:#83add0}.mystery-teacher{background:#fffdf6;border:1px solid #e3e7d8;border-radius:17px;padding:15px;display:flex;flex-direction:column;gap:11px;box-shadow:0 3px #e1e6d438}.mystery-teacher>span{font-size:12px;color:#829078;text-align:center;font-weight:700}.mystery-teacher>div{display:flex;gap:9px}.mystery-teacher .btn{min-height:49px;flex:1;padding:11px 8px;font-size:14px;white-space:nowrap}.mystery-teacher .mystery-correct{color:#fff;background:#528c71;border:1px solid #3e795e;box-shadow:0 3px #3b7057;font-weight:800}.mystery-teacher .mystery-wrong{color:#a87e4f;background:#fff1dc;border:1px solid #e5d2b5}.mystery-teacher>.btn{width:100%;min-height:44px;font-size:13px}.mystery-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto!important}.mystery-controls .btn{min-height:44px;font-size:12px;padding:9px 7px;gap:5px;white-space:nowrap}.mystery-controls .btn:last-child{grid-column:1/-1}.mystery-empty,.mystery-pause-cover{position:absolute;inset:0;background:#fffdf5f5;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:25px;text-align:center;z-index:10;color:#698372}.mystery-empty h2{font-size:25px}.mystery-empty p{max-width:440px;font-size:16px;line-height:1.8}.mystery-pause-cover strong{font-size:27px}.mystery-pause-cover{z-index:12;backdrop-filter:blur(4px)}.reward-1 .mystery-particles i{width:9px;height:18px;border-radius:2px;animation-name:mystery-confetti}.mystery-medal{position:absolute;right:-73px;top:-8px;color:#dfad42;filter:drop-shadow(0 3px 0 #cf964733);animation:mystery-celebrate .6s ease-out}.mystery-reward.reward-4>strong{color:#528f74}.reward-4 .mystery-particles{height:145px}.reward-4 .mystery-particles i{font-size:30px;animation-name:mystery-burst}.mystery-reward.reward-5>strong{color:#c88698}.reward-5 .mystery-particles i{font-size:15px;animation-name:mystery-confetti}@keyframes mystery-wiggle{0%,to{transform:rotate(0)}25%,75%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes mystery-open{0%{transform:translate(0) rotate(0)}to{transform:translate(-9px,-21px) rotate(-12deg)}}@keyframes mystery-card-in{0%{transform:translateY(8px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes mystery-celebrate{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes mystery-stars{0%{transform:translateY(40px) rotate(-15deg) scale(.5);opacity:0}25%{opacity:1}to{transform:translateY(-120px) rotate(55deg) scale(1.1);opacity:0}}@keyframes mystery-confetti{0%{transform:translateY(-100px) rotate(0);opacity:0}20%{opacity:1}to{transform:translateY(50px) rotate(180deg);opacity:0}}@keyframes mystery-burst{0%{transform:translateY(-40px) scale(.2);opacity:0}35%{transform:translateY(-80px) scale(1.2);opacity:1}to{transform:translateY(-120px) scale(.5);opacity:0}}@media(min-width:2000px){.mystery-layout{grid-template-columns:minmax(0,1fr) 350px;gap:40px}.mystery-stage{padding:26px 40px 22px}.mystery-sidebar{gap:20px}.mystery-grid{max-width:1300px}.mystery-scores b{font-size:43px}.mystery-teacher .btn{min-height:62px;font-size:18px}.mystery-controls .btn{min-height:52px;font-size:16px}.mystery-instruction>span{font-size:16px}.mystery-picture{width:min(65%,370px)}.mystery-challenge-kicker,.mystery-speaking{font-size:18px}.mystery-word{font-size:90px}}@media(max-height:820px)and (min-width:1000px){.mystery-page{padding-top:14px;padding-bottom:14px}.mystery-page .game-heading{margin-bottom:14px}.mystery-layout{height:calc(100dvh - 190px);min-height:490px;gap:22px;grid-template-columns:minmax(0,1fr) 280px}.mystery-stage{padding:14px 22px 12px}.mystery-instruction{gap:4px;margin-bottom:7px}.mystery-instruction strong{font-size:23px}.mystery-instruction>span{font-size:11px}.mystery-box{border-radius:15px;padding:3px 13px 7px}.mystery-box-number{left:8px;top:6px;height:22px;min-width:22px;font-size:12px}.mystery-sidebar{gap:11px}.mystery-sidebar .turn-card{padding:14px 17px}.mystery-sidebar .turn-card strong{font-size:27px}.mystery-sidebar .turn-card p{margin-top:5px}.mystery-scores>div{padding:10px 13px}.mystery-scores b{font-size:29px}.mystery-teacher{padding:12px;gap:9px}.mystery-teacher .btn{min-height:47px;font-size:13px}.mystery-teacher>.btn{min-height:44px;font-size:12px}.mystery-controls{gap:8px}.mystery-controls .btn{min-height:44px;padding:9px 6px;font-size:11px}.mystery-challenge{gap:11px;padding:17px 22px}.mystery-word{font-size:56px}.mystery-picture{height:53%;max-width:235px}.mystery-box-label{font-size:13px}.box-count-12 .mystery-box-label{font-size:11px}.box-count-12 .mystery-box-stamp{top:33%;width:35px;height:35px;left:calc(50% - 17px)}.mystery-progress{font-size:12px}}@media(max-width:999px){.mystery-layout{grid-template-columns:1fr;height:auto;min-height:0;gap:20px}.mystery-stage{min-height:600px}.mystery-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.mystery-controls{grid-column:2;grid-row:2/4}.mystery-teacher{grid-column:1}.mystery-box{min-height:125px}.box-count-12 .mystery-box{min-height:100px}.mystery-playfield{min-height:490px}.mystery-challenge{inset:5% 9%}.mystery-box-label{font-size:14px}.mystery-gift{max-height:125px}}@media(max-width:540px){.mystery-stage{padding:15px 10px;min-height:530px}.mystery-instruction strong{font-size:19px}.mystery-instruction>svg{display:none}.mystery-grid{gap:11px 9px}.mystery-playfield{padding:3px 1px 8px;min-height:400px}.mystery-box{min-height:115px;padding:3px 2px 7px;border-radius:12px}.mystery-box-number{left:4px;top:4px;min-width:19px;height:19px;font-size:11px}.mystery-box-label{font-size:11px}.mystery-box-stamp{width:33px;height:33px;left:calc(50% - 16px)}.mystery-sidebar{gap:12px}.mystery-teacher{padding:10px}.mystery-teacher>span{font-size:10px}.mystery-teacher>div{gap:5px}.mystery-teacher .btn{font-size:11px;padding:8px 4px}.mystery-teacher .btn svg{width:16px}.mystery-teacher>.btn{font-size:11px}.mystery-controls{gap:8px}.mystery-controls .btn{font-size:10px;gap:3px;padding:8px 3px}.mystery-controls .btn svg{width:16px}.mystery-sidebar .turn-card{padding:12px}.mystery-sidebar .turn-card strong{font-size:23px}.mystery-sidebar .turn-card p{font-size:10px}.mystery-scores>div{padding:10px}.mystery-scores span{font-size:10px}.mystery-scores b{font-size:28px}.mystery-scores svg{right:9px;width:17px}.mystery-challenge{inset:5% 3%;padding:17px 12px;gap:12px}.mystery-word{font-size:38px}.mystery-answer{padding:8px 13px;font-size:12px}.mystery-answer b{font-size:19px}.mystery-speaking{font-size:12px}.mystery-challenge-kicker{font-size:11px}.mystery-empty h2{font-size:20px}.mystery-empty p{font-size:13px}}@media(prefers-reduced-motion:reduce){.mystery-page *,.mystery-page *:before,.mystery-page *:after{animation:none!important;transition:none!important}.mystery-gift.is-opening .mystery-gift-lid{transform:translate(-9px,-21px) rotate(-12deg)}}.mystery-sidebar .mystery-controls{display:grid;grid-template-columns:1fr 1fr}.fairytale-shell .mystery-stage{isolation:isolate;background:radial-gradient(ellipse at 75% 0,#fff1ce70,transparent 42%),radial-gradient(ellipse at 0 100%,#e7eedc70,transparent 30%),#fffaf0;border-color:#dddcc6;border-radius:29px;box-shadow:0 6px #b8c9aa24}.fairytale-shell .mystery-stage:before,.fairytale-shell .mystery-stage:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:80px;height:170px;bottom:20px;background:radial-gradient(ellipse 13px 5px at 35% 42%,#abc3a249 97%,transparent),radial-gradient(ellipse 13px 5px at 56% 53%,#a4bea14a 97%,transparent),radial-gradient(ellipse 13px 5px at 32% 68%,#bdcc9a4a 97%,transparent),linear-gradient(82deg,transparent 46%,#b9c5a444 47% 48%,transparent 49%);transform:rotate(-8deg)}.fairytale-shell .mystery-stage:before{left:5px}.fairytale-shell .mystery-stage:after{right:5px;transform:scaleX(-1) rotate(-8deg)}.fairytale-shell .mystery-cottage{position:absolute;width:96px;height:96px;left:-8px;top:-16px;background:var(--art-mystery) center/contain no-repeat;pointer-events:none;opacity:.92}.fairytale-shell .mystery-instruction>svg{left:auto;right:6%;top:10px;color:#d6b46b}.fairytale-shell .mystery-instruction strong{color:#45664f}.fairytale-shell .mystery-instruction>span:not(.mystery-cottage){color:#77866b;font-size:13px}.fairytale-shell .mystery-box{background:radial-gradient(ellipse at 20% 10%,#fffdf8,transparent 80%),#faf1df;border-color:#e0d7bd;border-radius:22px;box-shadow:0 4px #cabe9c38;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.fairytale-shell .mystery-box:nth-child(3n+2){background:radial-gradient(ellipse at 20% 10%,#fffdf7,transparent 80%),#edf2f2;border-color:#d8e2de;box-shadow:0 4px #b4cac43b}.fairytale-shell .mystery-box:nth-child(3n){background:radial-gradient(ellipse at 20% 10%,#fffdf7,transparent 80%),#eff1e1;border-color:#dce1c7;box-shadow:0 4px #bfca9f38}.fairytale-shell .mystery-box:not(:disabled):hover{box-shadow:0 7px #c8bd9c38;border-color:#c6b178}.fairytale-shell .mystery-box:focus-visible{outline:3px solid #86ad99;outline-offset:3px}.fairytale-shell .mystery-box-number{background:#fffaf0;border:1px solid #dadbc0;color:#7b886a;min-width:27px;height:27px;border-radius:50%;box-shadow:0 1px #a3b28620}.fairytale-shell .mystery-gift{filter:drop-shadow(0 3px 0 #baab8130)}.fairytale-shell .mystery-box-label{color:#64795d;font-size:clamp(14px,1.1vw,18px);letter-spacing:.25px}.fairytale-shell .mystery-box.is-active{border-color:#d1b36e;box-shadow:0 0 0 3px #f4dfaf,0 4px #c5b786}.fairytale-shell .mystery-box.is-active:after{content:"";position:absolute;inset:5%;border-radius:18px;background:radial-gradient(ellipse at center,#fff3ca80,transparent 69%);pointer-events:none;mix-blend-mode:soft-light}.fairytale-shell .mystery-box.status-correct,.fairytale-shell .mystery-box.status-wrong{background:#eff2e6;border-color:#d4dec4;box-shadow:0 3px #bdcca43b}.fairytale-shell .mystery-gift.is-completed{opacity:.32;filter:saturate(.55)}.fairytale-shell .mystery-box-stamp{color:#c8a556;border-color:#ddc187;background:#fff6da;box-shadow:0 3px #b2a57d26}.fairytale-shell .status-wrong .mystery-box-stamp{color:#7e9a80;border-color:#c5d2bb;background:#f9fbef}.fairytale-shell .mystery-challenge{background:radial-gradient(ellipse at 50% 0,#fff0c65c,transparent 54%),#fffdf5fa;border:2px solid #dcc38b;box-shadow:0 7px #a3926920,0 17px 50px #4d5f3830;border-radius:28px}.fairytale-shell .mystery-challenge:before,.fairytale-shell .mystery-challenge:after{content:"✦";position:absolute;top:17px;left:20px;font-size:25px;line-height:1;color:#d5bd87;pointer-events:none}.fairytale-shell .mystery-challenge:after{inset:auto 20px 17px auto;font-size:19px;color:#b7c29c}.fairytale-shell .mystery-word{color:#3c624f}.fairytale-shell .mystery-challenge-kicker{color:#8a7c5c}.fairytale-shell .mystery-chinese,.fairytale-shell .mystery-speaking{color:#73856b}.fairytale-shell .mystery-answer{background:#edf2df;border-color:#bacaa8;color:#617857;border-radius:15px}.fairytale-shell .mystery-reward{color:#b69248}.fairytale-shell .mystery-medal{color:#c8a757}.fairytale-shell .mystery-reward.reward-2>strong{color:#7598ab}.fairytale-shell .mystery-reward.reward-3>strong{color:#9c89ae}.fairytale-shell .mystery-reward.reward-5>strong{color:#bd8f9b}.fairytale-shell .mystery-progress{color:#708467}.fairytale-shell .mystery-progress>div{height:9px;background:#e7ebd8;border:1px solid #dce2cc}.fairytale-shell .mystery-progress i{background:linear-gradient(90deg,#b2cba2,#85aa8d)}.fairytale-shell .mystery-sidebar .turn-card{background:#fff5df;border-color:#e7d8b5;border-radius:22px}.fairytale-shell .mystery-sidebar .turn-card.team-blue{background:#edf4f4;border-color:#d3e1dd}.fairytale-shell .mystery-scores>div{background:#fff1d8;border-color:#e6d6b1;border-radius:18px;color:#997d4d}.fairytale-shell .mystery-scores>.mystery-score-blue{background:#eef4f5;border-color:#d3e2e2;color:#6d91a1}.fairytale-shell .mystery-scores svg{color:#c7a55d}.fairytale-shell .mystery-scores>.mystery-score-blue svg{color:#97b7c2}.fairytale-shell .mystery-teacher{background:#fffcf3;border-color:#dce0c9;border-radius:22px;box-shadow:0 4px #b8caa026}.fairytale-shell .mystery-teacher>span{color:#718567}.fairytale-shell .mystery-teacher .mystery-correct{background:#7c9f87;color:#fffdf6;border-color:#71967b;box-shadow:0 3px #5e7f6245}.fairytale-shell .mystery-teacher .mystery-wrong{background:#fbf1dd;color:#947b54;border-color:#ddd0b3}.fairytale-shell .mystery-pause-cover,.fairytale-shell .mystery-empty{background:#fffaf0f5;color:#58745f;border-radius:23px}.fairytale-shell .mystery-empty>svg,.fairytale-shell .mystery-pause-cover>svg{color:#c6b076}@media(max-height:820px)and (min-width:1000px){.fairytale-shell .mystery-cottage{width:76px;height:76px;top:-10px;left:-6px}.fairytale-shell .mystery-box{border-radius:18px}.fairytale-shell .mystery-box-number{min-width:24px;height:24px}.fairytale-shell .mystery-box-label{font-size:14px}.fairytale-shell .box-count-12 .mystery-box-label{font-size:12px}.fairytale-shell .mystery-instruction>span:not(.mystery-cottage){font-size:12px}.fairytale-shell .mystery-challenge{gap:10px}}@media(min-width:2000px){.fairytale-shell .mystery-cottage{width:124px;height:124px;top:-28px}.fairytale-shell .mystery-instruction>span:not(.mystery-cottage){font-size:17px}.fairytale-shell .mystery-box-number{height:34px;min-width:34px;font-size:16px}.fairytale-shell .mystery-box-label{font-size:22px}}@media(max-width:999px){.fairytale-shell .mystery-cottage{width:78px;height:78px;left:-5px;top:-12px}.fairytale-shell .mystery-instruction>svg{display:none}}@media(max-width:540px){.fairytale-shell .mystery-cottage{display:none}.fairytale-shell .mystery-box{border-radius:15px}.fairytale-shell .mystery-box-number{min-width:22px;height:22px;font-size:11px}.fairytale-shell .mystery-box-label{font-size:12px}.fairytale-shell .mystery-instruction>span:not(.mystery-cottage){font-size:11px}.fairytale-shell .mystery-challenge:before{top:12px;left:12px;font-size:18px}.fairytale-shell .mystery-challenge:after{bottom:12px;right:12px;font-size:16px}}@media(prefers-reduced-motion:reduce){.fairytale-shell .mystery-page *,.fairytale-shell .mystery-page *:before,.fairytale-shell .mystery-page *:after{animation:none!important;transition:none!important}}.rhythm-page{max-width:2200px}.rhythm-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;height:calc(100dvh - 203px);min-height:515px}.rhythm-stage{position:relative;isolation:isolate;min-width:0;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 83% 0,#fff0cd6b,transparent 40%),radial-gradient(ellipse at 0 100%,#e5eed975,transparent 36%),#fffaf0;border:1px solid #dcdcc3;border-radius:28px;padding:15px 28px 17px;box-shadow:0 6px #b8c9aa24;overflow:hidden}.rhythm-stage:before,.rhythm-stage:after{content:"♪";position:absolute;z-index:-1;pointer-events:none;left:17px;bottom:22%;font-size:54px;color:#a0b6a622;transform:rotate(-16deg)}.rhythm-stage:after{content:"✦";left:auto;right:10px;bottom:61%;color:#d4b36e30;font-size:40px}.rhythm-stage-banner{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;min-height:64px;margin-bottom:9px}.rhythm-musicbox{width:92px;height:87px;flex-shrink:0;filter:drop-shadow(0 3px 0 #baa57d18)}.rhythm-stage-banner>.rhythm-musicbox{position:absolute;left:-3px;bottom:-4px}.rhythm-instruction{text-align:center;padding:0 83px}.rhythm-instruction>strong{display:block;font-size:clamp(20px,1.75vw,32px);font-weight:800;line-height:1.3;color:#466b54}.rhythm-instruction>span{display:block;font-size:12px;line-height:1.5;color:#879077;margin-top:6px}.rhythm-banner-star{position:absolute;right:16px;top:3px;font-size:34px;transform:rotate(15deg);color:#d8bc7e}.rhythm-live-strip{display:grid;grid-template-columns:130px minmax(0,1fr) 130px;align-items:center;gap:8px;flex-shrink:0;min-height:78px;margin-bottom:15px}.rhythm-round-badge,.rhythm-repeat-badge{display:flex;flex-direction:column;align-items:center;gap:1px;color:#84917b}.rhythm-round-badge>span,.rhythm-repeat-badge>span{font-size:11px;font-weight:700;letter-spacing:1px}.rhythm-round-badge>strong,.rhythm-repeat-badge>strong{font-size:35px;font-weight:800;font-variant-numeric:tabular-nums;color:#7c9478;line-height:1.25}.rhythm-round-badge small,.rhythm-repeat-badge small{font-size:17px;color:#9ba48b;font-weight:500}.rhythm-beat-display{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:78px;gap:3px;border-radius:22px;background:#f1f2e0;border:1px solid #e2e3cb}.rhythm-beat-display>span{font-size:11px;color:#8a8d73;letter-spacing:1px}.rhythm-beat-display>strong{font-size:42px;font-weight:800;color:#ac9154;line-height:1.1}.rhythm-beat-display.is-counting{background:#fff4d9;border-color:#e7d6a6}.rhythm-beat-display.is-counting>strong{animation:rhythm-count-pulse .28s ease-out}.rhythm-beat-display>.rhythm-current-word{font-size:clamp(24px,2.2vw,42px);width:100%;max-width:100%;padding-inline:10px;font-weight:800;line-height:1.12;color:#5b7c62}.rhythm-grid{position:relative;min-width:0;min-height:0;flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(13px,1.8vh,24px) clamp(14px,1.35vw,25px);padding:4px 4px 7px}.rhythm-cell{position:relative;min-width:0;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:33px 14px 23px;background:radial-gradient(ellipse at 10% 8%,#fffdf8,transparent 75%),#f7efdf;border:2px solid #e0d8bd;border-radius:23px;box-shadow:0 5px #cabc9d2c;transition:box-shadow .09s,border-color .09s,background .09s;isolation:isolate}.rhythm-cell:nth-child(n+5){background:radial-gradient(ellipse at 10% 8%,#fffdf8,transparent 75%),#edf1e5;border-color:#d8e0c9;box-shadow:0 5px #afc19b30}.rhythm-cell-number{position:absolute;left:13px;top:11px;font-size:13px;font-weight:700;color:#a69a7e;border:1px solid #e4dcc5;background:#fffaf0;border-radius:50%;width:26px;height:26px;display:grid;place-items:center}.rhythm-cell:nth-child(n+5) .rhythm-cell-number{color:#8ca082;border-color:#dce3cb}.rhythm-cell-word{font-size:clamp(38px,3.6vw,83px);line-height:1.12;font-weight:800;letter-spacing:-1px;display:block;width:100%;text-align:center;color:#526d52}.rhythm-cell .cell-chinese{font-size:clamp(14px,1.15vw,24px);margin-top:12px;color:#85927b;line-height:1.2;text-align:center}.rhythm-cell-star{position:absolute;right:10px;bottom:8px;font-size:19px;color:#cab58544;transition:color .09s}.rhythm-cell.is-active{background:radial-gradient(ellipse at 50% 0,#fff7dd,transparent 70%),#fff4d2;border:3px solid #cfad61;box-shadow:0 0 0 4px #f3dca46b,0 0 26px #ecd18e80,0 5px #baa56650;animation:rhythm-word-bounce .27s ease-out;z-index:2}.rhythm-cell.is-active .rhythm-cell-word{color:#3e654f}.rhythm-cell.is-active .rhythm-cell-number{color:#95752e;border-color:#dec58b;background:#fff6da}.rhythm-cell.is-active .rhythm-cell-star{color:#c7a255}.rhythm-cell:nth-child(n+5).is-active{background:radial-gradient(ellipse at 50% 0,#fffbea,transparent 70%),#e8f4df;border-color:#8ab19a;box-shadow:0 0 0 4px #bfdcc98a,0 0 26px #a8d7b475,0 5px #8fae9450}.rhythm-cell:nth-child(n+5).is-active .rhythm-cell-star{color:#83a28d}.rhythm-stage-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;padding-top:15px;font-size:12px;line-height:1.5;color:#8b937a}.rhythm-pips{display:flex;gap:8px}.rhythm-pips>i{width:9px;height:9px;border-radius:50%;background:#d9e2cb;transition:background .05s,box-shadow .05s}.rhythm-pips>i.is-active{background:#d0ac60;box-shadow:0 0 0 4px #f2e1b560}.rhythm-sidebar{display:flex;flex-direction:column;gap:13px;min-width:0;min-height:0}.rhythm-tempo-card{background:#fff4dd;border:1px solid #e3d6b4;border-radius:22px;padding:15px 22px 13px;color:#857551}.rhythm-tempo-card>.sidebar-label{font-size:11px;letter-spacing:1px;color:#958365}.rhythm-tempo-card>label{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:3px 0}.rhythm-tempo-card>label>input{width:102px;padding:0 4px;background:transparent;border:0;border-radius:8px;font-size:43px;line-height:1.2;font-weight:800;color:#9a8051;text-align:center;appearance:textfield}.rhythm-tempo-card>label>input::-webkit-inner-spin-button{appearance:none}.rhythm-tempo-card b{font-size:15px;font-weight:700;letter-spacing:1px}.rhythm-page input[type=range],.rhythm-editor-modal input[type=range]{width:100%;min-height:24px;padding:0;background:transparent;accent-color:#90ac8e;cursor:pointer}.rhythm-tempo-range{display:flex;justify-content:space-between;font-size:10px;color:#a3987a}.rhythm-tempo-card>p{font-size:10px;text-align:center;margin-top:6px;color:#9d9277}.rhythm-main-controls{display:flex;flex-direction:column;gap:10px}.rhythm-main-controls>.btn{width:100%;font-size:19px;min-height:55px;background:#799b83;border-color:#799b83}.rhythm-main-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rhythm-main-controls>div .btn{font-size:13px;min-height:44px;padding:9px 12px}.rhythm-audio-card{padding:14px 18px 12px;border:1px solid #dce2cd;border-radius:20px;background:#fffdf4;display:flex;flex-direction:column;gap:5px}.rhythm-audio-card>h3{display:flex;align-items:center;gap:7px;font-size:12px;color:#859078;margin-bottom:2px}.rhythm-audio-card>h3>span{margin-left:auto;font-size:10px;color:#a18c63}.rhythm-mix-toggle{display:flex;align-items:center;gap:8px;min-height:24px;font-size:12px;font-weight:600;color:#71866b}.rhythm-audio-card input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:#88a68b}.rhythm-audio-card>input[type=range]{min-height:20px}.rhythm-teacher-controls{display:flex;flex-direction:column;gap:9px;margin-top:auto}.rhythm-teacher-controls>.btn{width:100%;font-size:13px;min-height:44px}.rhythm-class-note{font-size:10px;color:#99a18a;display:flex;align-items:center;gap:6px;justify-content:center;flex-shrink:0}.rhythm-class-note svg{color:#c4ad70}.rhythm-celebration{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.rhythm-celebration i{position:absolute;top:25%;left:7%;font-style:normal;font-size:32px;color:#dab77c;animation:rhythm-celebrate 1.3s ease-out both}.rhythm-celebration i:nth-child(2){left:30%;top:42%;animation-delay:.12s;color:#b4c49a}.rhythm-celebration i:nth-child(3){left:50%;top:32%;animation-delay:.18s;font-size:43px}.rhythm-celebration i:nth-child(4){left:73%;top:48%;animation-delay:.25s;color:#bcb0ca}.rhythm-celebration i:nth-child(5){left:91%;top:31%;animation-delay:.08s}.rhythm-stage.is-complete .rhythm-instruction>strong{color:#aa8d4d}.rhythm-editor-modal{width:min(1120px,100%);padding:29px 30px}.rhythm-editor-intro{font-size:13px;color:#829077;line-height:1.8;margin:12px 0 20px}.rhythm-editor-section{margin-top:19px;padding:20px;background:#faf7eb;border:1px solid #e1dfc8;border-radius:20px}.rhythm-editor-section>h3,.rhythm-section-title>h3{font-size:17px;font-weight:800;color:#667e5e;line-height:1.4}.rhythm-editor-section>p{font-size:12px;color:#90947c;line-height:1.8;margin:7px 0 15px}.rhythm-editor-settings{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:15px;margin-top:16px}.rhythm-editor-modal .field{gap:7px;font-size:12px;font-weight:600;color:#819076}.rhythm-editor-modal .field>input,.rhythm-editor-modal .field>select{min-height:44px;padding:10px 11px;font-size:13px;border-color:#dadfc9;color:#566f50}.rhythm-checkbox{display:flex;align-items:center;gap:9px;min-height:44px;font-size:12px;color:#829174;margin-top:10px}.rhythm-slot-editors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rhythm-slot-editor{min-width:0;background:#fffdf5;border:1px solid #e0dfc9;border-radius:16px;padding:15px 13px;display:flex;flex-direction:column;gap:12px}.rhythm-slot-editor>h4{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;margin:0;gap:2px 8px;min-height:45px}.rhythm-slot-editor>h4>span{grid-row:span 2;font-size:17px;font-weight:800;display:grid;place-items:center;width:30px;height:33px;background:#f4e7c9;color:#a08c61;border-radius:10px}.rhythm-slot-editor>h4>b{font-size:18px;color:#60795c;overflow-wrap:anywhere}.rhythm-slot-editor>h4>small{font-size:10px;font-weight:500;color:#949982;overflow-wrap:anywhere}.rhythm-slot-editor>.btn{font-size:10px;padding:9px 5px;min-height:44px;margin-top:auto}.rhythm-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.rhythm-round-count{flex-direction:row;align-items:center;gap:10px!important}.rhythm-round-count>input{width:70px!important}.rhythm-round-editors{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.rhythm-round-editor{border:1px solid #dfe2cc;border-radius:16px;background:#fffdf4;padding:14px}.rhythm-round-header{display:flex;align-items:center;gap:18px;margin-bottom:12px}.rhythm-round-header>h4{font-size:14px;font-weight:800;color:#6e8668;margin:0;white-space:nowrap}.rhythm-round-header>label{display:flex;align-items:center;gap:8px;font-size:11px;color:#8b947d}.rhythm-round-header>label>input{width:60px;min-height:44px;border:1px solid #dee0cc;padding:8px;border-radius:10px;color:#65805f}.rhythm-round-actions{display:flex;align-items:center;gap:5px;margin-left:auto}.rhythm-round-actions>.icon-btn{width:44px;height:44px;border-radius:12px;border-color:#e4e4d2;background:#f9faee;color:#96a08a}.rhythm-arrangement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rhythm-arrangement-grid>.field{background:#f6f1e0;border-radius:12px;padding:10px}.rhythm-arrangement-grid>.field:nth-child(n+5){background:#eef2e4}.rhythm-arrangement-grid>.field>span{font-size:10px;color:#a39375}.rhythm-arrangement-grid>.field>select{font-size:14px;font-weight:700;min-height:44px;background:#fffcf3;padding:9px 7px}.rhythm-editor-audio{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:3px}.rhythm-editor-audio .field{margin-top:4px}.rhythm-editor-audio .field>input{min-height:24px}.rhythm-preset-row{display:flex;gap:12px;align-items:end;margin-top:13px}.rhythm-preset-row>.field{flex:1;min-width:0}.rhythm-preset-row>.btn{font-size:12px;white-space:nowrap;min-height:44px}.rhythm-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}.rhythm-editor-actions>.btn{font-size:12px}.rhythm-file-input{display:none}.rhythm-editor-error{background:#fff0e3;color:#a36d51;border:1px solid #e6cab3;border-radius:14px;padding:12px 16px;line-height:1.6;font-size:13px;margin:10px 0 18px}.rhythm-editor-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:15px 0 0;border-top:1px solid #e0e2ca}.rhythm-editor-bottom>span{font-size:12px;color:#8b957c}.rhythm-editor-bottom>.btn{font-size:13px;min-height:44px}.rhythm-import-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 15px;background:#edf1dd;border-radius:14px;font-size:12px;color:#718262;margin-bottom:17px}.rhythm-import-preview>.rhythm-preview-rounds{margin-bottom:20px}.rhythm-preview-modal{width:min(900px,100%)}.rhythm-preview-rounds{display:grid;grid-template-columns:1fr 1fr;gap:15px}.rhythm-preview-round{background:#faf5e5;border:1px solid #e3dcc3;border-radius:18px;padding:16px;min-width:0}.rhythm-preview-round>h3{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:800;color:#778b68;margin-bottom:12px}.rhythm-preview-round>h3>span{font-size:11px;font-weight:500;color:#99a08a}.rhythm-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.rhythm-mini-grid>div{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:44px;gap:4px;padding:8px 4px;background:#fffdf4;border:1px solid #e5dfcc;border-radius:10px;text-align:center;min-width:0}.rhythm-mini-grid>div:nth-child(n+5){background:#f0f4e5;border-color:#e0e4cb}.rhythm-mini-grid b{font-size:14px;line-height:1.2;color:#687f5f;overflow-wrap:anywhere;max-width:100%}.rhythm-mini-grid small{font-size:10px;color:#9a9f85}.rhythm-editor-finish{display:flex;margin-top:20px;margin-left:auto}@keyframes rhythm-word-bounce{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-4px) scale(1.018)}to{transform:translateY(0) scale(1)}}@keyframes rhythm-count-pulse{0%{transform:scale(.83)}55%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes rhythm-celebrate{0%{opacity:0;transform:translateY(100px) rotate(-20deg) scale(.4)}15%{opacity:1}to{opacity:0;transform:translateY(-150px) rotate(70deg) scale(1.2)}}@media(min-width:2000px){.rhythm-layout{grid-template-columns:minmax(0,1fr) 355px;gap:35px}.rhythm-stage{padding:25px 39px 24px}.rhythm-stage-banner{min-height:94px;margin-bottom:19px}.rhythm-stage-banner>.rhythm-musicbox{width:127px;height:120px}.rhythm-instruction{padding-inline:130px}.rhythm-instruction>span{font-size:16px}.rhythm-live-strip{grid-template-columns:160px minmax(0,1fr) 160px;min-height:102px;margin-bottom:24px}.rhythm-beat-display{min-height:98px}.rhythm-beat-display>span{font-size:14px}.rhythm-beat-display>strong{font-size:53px}.rhythm-round-badge>strong,.rhythm-repeat-badge>strong{font-size:47px}.rhythm-round-badge>span,.rhythm-repeat-badge>span{font-size:14px}.rhythm-round-badge small,.rhythm-repeat-badge small{font-size:21px}.rhythm-cell{border-radius:29px;padding:42px 24px 31px}.rhythm-cell-word{font-size:98px}.rhythm-cell-number{width:35px;height:35px;font-size:17px;top:16px;left:19px}.rhythm-cell-star{font-size:29px;right:17px;bottom:17px}.rhythm-stage-footer{font-size:17px;padding-top:25px}.rhythm-pips>i{width:12px;height:12px}.rhythm-sidebar{gap:19px}.rhythm-tempo-card{padding:22px 25px}.rhythm-tempo-card>label>input{font-size:58px;width:135px}.rhythm-tempo-card>.sidebar-label,.rhythm-tempo-card b{font-size:15px}.rhythm-tempo-card>p,.rhythm-tempo-range{font-size:13px}.rhythm-main-controls>.btn{font-size:24px;min-height:64px}.rhythm-main-controls>div .btn,.rhythm-teacher-controls>.btn{min-height:55px;font-size:17px}.rhythm-audio-card{padding:20px 22px;gap:8px}.rhythm-audio-card>h3,.rhythm-mix-toggle{font-size:16px;min-height:30px}.rhythm-class-note{font-size:13px}.rhythm-editor-modal{width:min(1300px,100%);padding:36px}.rhythm-editor-intro{font-size:15px}.rhythm-slot-editor>.btn{font-size:12px}}@media(max-height:820px)and (min-width:1000px){.rhythm-page{padding-top:14px;padding-bottom:14px}.rhythm-page .game-heading{margin-bottom:14px}.rhythm-layout{height:calc(100dvh - 190px);min-height:490px;gap:22px;grid-template-columns:minmax(0,1fr) 275px}.rhythm-stage{padding:11px 24px 13px}.rhythm-stage-banner{min-height:51px;margin-bottom:8px}.rhythm-stage-banner>.rhythm-musicbox{width:76px;height:74px;bottom:-7px}.rhythm-instruction{padding-inline:74px}.rhythm-instruction>strong{font-size:21px}.rhythm-instruction>span{font-size:10px;margin-top:4px}.rhythm-banner-star{font-size:26px;top:2px;right:0}.rhythm-live-strip{min-height:69px;grid-template-columns:105px minmax(0,1fr) 105px;margin-bottom:11px}.rhythm-beat-display{min-height:64px}.rhythm-beat-display>strong{font-size:34px}.rhythm-beat-display>.rhythm-current-word{font-size:28px}.rhythm-round-badge>strong,.rhythm-repeat-badge>strong{font-size:29px}.rhythm-grid{gap:15px}.rhythm-cell{border-radius:19px;padding:31px 10px 22px}.rhythm-cell-word{font-size:49px;letter-spacing:-.7px}.rhythm-cell-number{height:23px;width:23px;font-size:11px;left:10px;top:9px}.rhythm-stage-footer{padding-top:11px;font-size:10px}.rhythm-sidebar{gap:10px}.rhythm-tempo-card{padding:10px 18px 9px}.rhythm-tempo-card>label>input{font-size:36px}.rhythm-tempo-card>p{margin-top:3px}.rhythm-main-controls{gap:9px}.rhythm-main-controls>.btn{min-height:48px;font-size:17px}.rhythm-main-controls>div .btn{min-height:44px}.rhythm-audio-card{padding:11px 15px 9px;gap:3px}.rhythm-audio-card>h3{font-size:11px}.rhythm-mix-toggle{font-size:11px;min-height:23px}.rhythm-audio-card>input[type=range]{min-height:19px}.rhythm-teacher-controls{gap:7px}.rhythm-teacher-controls>.btn{font-size:11px}.rhythm-class-note{font-size:9px}.rhythm-editor-modal{padding:25px 27px}.rhythm-editor-section{padding:17px}}@media(max-width:999px){.rhythm-layout{grid-template-columns:1fr;height:auto;min-height:0}.rhythm-stage{min-height:545px}.rhythm-grid{min-height:340px}.rhythm-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rhythm-tempo-card{grid-column:1;grid-row:1/3}.rhythm-main-controls{grid-column:2;grid-row:1}.rhythm-audio-card{grid-column:2;grid-row:2}.rhythm-teacher-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rhythm-class-note{grid-column:1/-1}.rhythm-slot-editors,.rhythm-editor-settings{grid-template-columns:1fr 1fr}.rhythm-cell-word{font-size:clamp(28px,5vw,49px)}.rhythm-stage-banner>.rhythm-musicbox{width:74px;height:75px}.rhythm-instruction{padding-inline:75px}.rhythm-instruction>strong{font-size:20px}.rhythm-preview-rounds{grid-template-columns:1fr}}@media(max-width:600px){.rhythm-page{padding:17px 12px}.rhythm-page .game-heading{gap:10px}.rhythm-page .game-heading h1{font-size:23px}.rhythm-page .game-heading h1>span{display:block;margin:3px 0 0;font-size:11px}.rhythm-page .rule-badge{font-size:10px;padding:8px;gap:4px}.rhythm-page .rule-badge>span{display:none}.rhythm-stage{min-height:460px;padding:13px 12px;border-radius:22px}.rhythm-stage-banner{min-height:57px}.rhythm-stage-banner>.rhythm-musicbox{width:57px;height:59px;left:-7px;bottom:0}.rhythm-instruction{padding:0 35px 0 45px}.rhythm-instruction>strong{font-size:16px}.rhythm-instruction>span{font-size:9px}.rhythm-banner-star{right:1px;font-size:22px}.rhythm-live-strip{grid-template-columns:65px minmax(0,1fr) 65px;min-height:65px;gap:3px;margin-bottom:11px}.rhythm-round-badge>span,.rhythm-repeat-badge>span{font-size:9px;letter-spacing:0}.rhythm-round-badge>strong,.rhythm-repeat-badge>strong{font-size:24px}.rhythm-round-badge small,.rhythm-repeat-badge small{font-size:12px}.rhythm-beat-display{min-height:61px;border-radius:17px}.rhythm-beat-display>.rhythm-current-word{font-size:23px}.rhythm-beat-display>span{font-size:9px}.rhythm-beat-display>strong{font-size:30px}.rhythm-grid{min-height:258px;gap:10px;padding:4px 3px}.rhythm-cell{min-height:125px;border-radius:14px;padding:25px 4px 22px}.rhythm-cell-number{width:18px;height:18px;font-size:9px;left:7px;top:6px}.rhythm-cell-word{font-size:25px;letter-spacing:-.4px}.rhythm-cell .cell-chinese{font-size:11px;margin-top:7px}.rhythm-cell-star{font-size:13px;bottom:6px;right:6px}.rhythm-cell.is-active{box-shadow:0 0 0 3px #f3dca46b,0 0 18px #ecd18e60,0 4px #baa56640}.rhythm-stage-footer{font-size:9px;gap:6px}.rhythm-pips{gap:5px}.rhythm-pips>i{width:6px;height:6px}.rhythm-teacher-controls{grid-template-columns:1fr 1fr}.rhythm-teacher-controls>.btn:last-child{grid-column:1/-1}.rhythm-tempo-card{padding:14px}.rhythm-tempo-card>label>input{font-size:35px;width:89px}.rhythm-main-controls>.btn{font-size:15px}.rhythm-main-controls>div{gap:7px}.rhythm-main-controls>div .btn{font-size:10px;padding:8px 5px;gap:4px}.rhythm-main-controls>div .btn>svg{width:16px}.rhythm-audio-card{padding:12px;gap:3px}.rhythm-mix-toggle{font-size:11px}.rhythm-audio-card>h3{font-size:10px;gap:4px}.rhythm-audio-card>h3>span{font-size:9px}.rhythm-editor-modal{padding:25px 17px}.rhythm-editor-modal .modal-title{font-size:22px}.rhythm-editor-section{padding:15px 12px}.rhythm-slot-editors{grid-template-columns:1fr}.rhythm-editor-settings{gap:13px}.rhythm-round-header{gap:10px;flex-wrap:wrap}.rhythm-round-header>h4{font-size:12px}.rhythm-round-actions{gap:3px}.rhythm-round-actions>.icon-btn{width:44px;height:44px}.rhythm-round-header>label{font-size:10px}.rhythm-arrangement-grid{gap:7px}.rhythm-arrangement-grid>.field{padding:6px 4px}.rhythm-arrangement-grid>.field>select{font-size:11px;padding:9px 2px}.rhythm-section-title{flex-direction:column;align-items:start}.rhythm-round-count{flex-direction:row}.rhythm-editor-audio{gap:15px}.rhythm-preset-row{gap:8px;flex-wrap:wrap}.rhythm-preset-row>.field{flex-basis:100%}.rhythm-editor-bottom{align-items:stretch;flex-direction:column;gap:12px}.rhythm-editor-bottom>span{text-align:center}.rhythm-editor-bottom>.btn{width:100%}.rhythm-mini-grid b{font-size:12px}.rhythm-preview-round{padding:12px}.rhythm-preview-modal{padding:28px 19px}}@media(prefers-reduced-motion:reduce){.rhythm-page *,.rhythm-page *:before,.rhythm-page *:after{animation:none!important;transition:none!important}}.adventure-page{max-width:2380px;margin:0 auto;padding:20px 40px 26px;color:#4c695a}.adventure-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}.adventure-heading p{font-size:11px;letter-spacing:2.5px;color:#8b9478;font-weight:800}.adventure-heading h1{font-size:clamp(24px,2.2vw,40px);line-height:1.2;margin:6px 0}.adventure-heading h1 span{font-size:16px;font-weight:500;margin-left:12px;color:#7b8975}.adventure-heading>span{font-size:15px;border:1px solid #d9dfca;background:#fffaf0;padding:12px 20px;border-radius:18px}.adventure-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:stretch}.adventure-stage{min-width:0;position:relative;overflow:hidden;border:1px solid #dddac1;border-radius:28px;background:#fffaf0;box-shadow:0 6px #adbd9c25;padding:16px 22px;display:flex;flex-direction:column;align-items:center;gap:12px;isolation:isolate}.adventure-world{width:100%;height:120px;position:relative;border-radius:18px;overflow:hidden;background:#edf1dd;flex-shrink:0}.adventure-world img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}.adventure-world:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff8e9ee,#fff8e9ba 37%,transparent 70%);pointer-events:none}.adventure-world p{position:absolute;z-index:1;left:24px;top:28%;max-width:55%;font:italic 24px Georgia,serif;color:#5a704d;text-shadow:0 1px #fffaf0}.adventure-world small{display:block;font:13px system-ui,sans-serif;margin-top:8px}.adventure-progress{font-size:14px;color:#869176;min-height:23px}.adventure-sidebar{display:flex;flex-direction:column;gap:11px;min-width:0}.adventure-class-card{border:1px solid #dddec6;background:#fffaf0;padding:19px;border-radius:22px}.adventure-class-card p{font-size:12px;color:#8a9279}.adventure-class-card h2{font-size:21px;margin:7px 0;overflow-wrap:anywhere}.adventure-class-card>span,.adventure-sidebar>p{font-size:13px;line-height:1.7;color:#7d866f}.adventure-scores{display:flex;gap:10px}.adventure-scores>div{flex:1;padding:10px 16px;border-radius:19px;border:2px solid transparent;background:#f8ecda}.adventure-scores>div.blue{background:#e3eff1}.adventure-scores>div.is-turn{border-color:#afaa72}.adventure-scores span{display:block;font-size:13px}.adventure-scores strong{font-size:34px;line-height:1.2}.adventure-sidebar .btn{min-height:46px;justify-content:center}.adventure-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.adventure-actions .btn{min-height:48px;font-size:15px}.adventure-feedback{min-height:28px;text-align:center;font-size:16px;line-height:1.6;color:#6b8060}.adventure-shade{position:absolute;inset:0;background:#fffaf0ef;z-index:8;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;border-radius:inherit}.adventure-shade strong{font-size:30px}.adventure-result{display:grid;gap:9px;text-align:center;background:#eef3db;border:1px solid #d1d7b7;border-radius:18px;padding:18px}.adventure-result strong{font:25px Georgia,serif}.adventure-result span{font-size:14px}.reveal-frame{position:relative;width:min(40vh,440px);aspect-ratio:1;flex-shrink:0;box-sizing:content-box;border:14px solid #e5c584;border-radius:16px;outline:3px solid #c1a56f;box-shadow:inset 0 0 0 3px #fff4ce,0 7px #b9a17133;background:#fffaf0}.reveal-picture{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.reveal-covers{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--reveal-columns),1fr);grid-template-rows:repeat(var(--reveal-rows),1fr);gap:0}.reveal-cloud{position:relative;border:1px solid #fff8ebd9;background:radial-gradient(ellipse at 35% 25%,#faf1ff,#d8cde8 65%,#bfcddf);font-size:clamp(32px,4vw,64px);color:#fff4ad;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;opacity:1;transform:scale(1);transition:opacity .45s,transform .45s;box-shadow:inset 0 0 18px #fffaf0aa;text-shadow:0 2px 3px #b8a46b}.reveal-cloud.cloud-1{background:radial-gradient(ellipse at 40% 35%,#effbfa,#b8dcdf 70%,#aec9d0)}.reveal-cloud.cloud-2{background:radial-gradient(ellipse at 40% 35%,#fff7e0,#ecd9b0 70%,#dfcfaa)}.reveal-cloud small{font-size:12px;color:#6e7792;text-shadow:none}.reveal-cloud:focus-visible{outline:4px solid #4a7665;outline-offset:-5px}.reveal-cloud:disabled{cursor:default}.reveal-cloud.is-open{opacity:0;transform:scale(.8);pointer-events:none}.reveal-answer{min-height:43px;display:flex;align-items:center;gap:15px}.reveal-answer strong{font-size:clamp(26px,3vw,46px)}.reveal-answer span{font-size:18px}.reveal-idle{height:100%;display:grid;place-content:center;text-align:center;color:#b3b493;font:80px Georgia,serif}.reveal-idle span{font:23px Georgia,serif}.reveal-reward{position:absolute;inset:-27px;pointer-events:none;text-align:center;font-size:38px;letter-spacing:12px;color:#d6b15f;animation:adventure-stars .8s ease-out both}.adventure-editor{max-width:1040px!important;width:min(1040px,95vw)!important}.adventure-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.adventure-form label{display:flex;flex-direction:column;gap:7px;font-size:13px}.adventure-editor input:not([type=checkbox]):not([type=file]),.adventure-editor select,.adventure-editor textarea{width:100%;min-height:44px;padding:9px 12px;border:1px solid #cdd5bf;border-radius:10px;background:#fffef7;color:#4c695a;min-width:0}.adventure-checks{display:flex;flex-wrap:wrap;gap:19px;margin:20px 0}.adventure-checks label{display:flex;align-items:center;gap:8px;min-height:44px}.adventure-word-picker,.adventure-schemes{border-top:1px solid #dfe2d1;padding-top:17px;margin-top:20px}.adventure-word-picker p{font-size:13px;margin:8px 0 12px}.adventure-word-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:12px;max-height:230px;overflow-y:auto}.adventure-word-picker label{display:flex;align-items:center;gap:7px;padding:8px;min-height:44px;font-size:14px;flex-wrap:wrap}.unsupported-word{color:#9c9d90}.unsupported-word small{font-size:11px}.adventure-schemes>div{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}.adventure-schemes input,.adventure-schemes select{flex:1}.adventure-editor-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:24px;position:sticky;bottom:-20px;background:#fffaf0;padding:14px 0;z-index:2}.adventure-error{background:#fff0e7;color:#94523c;border:1px solid #e1c0af;border-radius:12px;padding:12px;margin:14px 0;font-size:14px}.adventure-editor input[type=checkbox]{width:19px;height:19px;accent-color:#678b70;flex-shrink:0}.adventure-page .btn:focus-visible{outline:3px solid #466f64;outline-offset:3px}@keyframes adventure-stars{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.train-prompt{display:flex;align-items:center;justify-content:center;gap:22px;min-height:144px;width:100%}.train-prompt>img{width:132px;height:132px;object-fit:contain;border-radius:20px;border:1px solid #dfdfc5;background:#fffdf5}.train-prompt>div{text-align:center}.train-prompt strong{display:block;font-size:clamp(22px,2.4vw,39px);line-height:1.4}.train-prompt span{display:block;font-size:18px;color:#8b9379;margin-top:8px}.train-prompt .btn{margin-top:12px}.train-track{position:relative;min-height:165px;width:100%;display:flex;align-items:end;padding-bottom:22px}.train-consist{width:100%;display:flex;align-items:end;gap:8px;position:relative;z-index:1;transform:none}.train-engine{width:120px;flex:0 0 120px;height:135px}.train-steam{opacity:0}.train-slots{display:flex;align-items:end;gap:10px;flex:1;min-width:0;padding-bottom:12px}.train-car{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0;max-width:170px;height:83px;background:#f6ecce;border:3px solid #d1bb8e;border-radius:15px 15px 8px 8px;box-shadow:inset 0 4px #fffaf0a0;font-size:clamp(16px,1.4vw,30px);color:#56705d;font-weight:800;padding:7px 3px;margin-bottom:4px;cursor:pointer}.train-car span{max-width:100%;overflow-wrap:anywhere}.train-car small{font-size:10px;color:#8a947b;line-height:1}.train-car i{position:absolute;width:20px;height:20px;border:3px solid #8c8266;background:#cbbd94;border-radius:50%;bottom:-13px;left:12%}.train-car i+i{left:auto;right:12%}.train-car:after{content:"";position:absolute;left:-12px;top:72%;width:11px;height:5px;background:#b5a37c}.train-car:disabled{cursor:default}.train-car:not(.filled){border-style:dashed;color:#c1c8a9;background:#f4f2e2}.train-car:focus-visible,.train-word:focus-visible{outline:3px solid #568677;outline-offset:3px}.train-car.car-1,.train-word.car-1{background:#e1ede8;border-color:#adc5b6}.train-car.car-2,.train-word.car-2{background:#eee3f1;border-color:#c6b4ce}.train-car.car-3,.train-word.car-3{background:#f4dfcf;border-color:#d9b89d}.train-rails{position:absolute;height:20px;bottom:10px;left:0;right:0;border-top:4px solid #b1b3a0;border-bottom:4px solid #b1b3a0;background:repeating-linear-gradient(90deg,transparent 0 10px,#d4c6a7 10px 21px,transparent 21px 31px);transform:perspective(300px) rotateX(18deg)}.train-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;min-height:70px;width:100%;padding:16px;border:1px solid #d5dbc3;border-radius:20px;background:#f0f2e4}.train-word{display:flex;align-items:center;gap:16px;border:2px solid #d2bc90;border-radius:13px;background:#f5e6bd;font-size:clamp(20px,1.6vw,29px);font-weight:700;min-height:60px;padding:10px 20px;color:#506b57;cursor:pointer;box-shadow:0 4px #a8b29924}.train-word small{font-size:15px;color:#859577}.train-word:disabled{opacity:.32;box-shadow:none;cursor:default}.train-departure .train-consist{animation:train-depart 1.55s ease-in forwards}.train-departure .train-steam{animation:train-steam 1.5s ease-out both}.sentence-bank{border-top:1px solid #dfe2d1;padding-top:15px;margin-top:16px}.sentence-bank>p{font-size:13px;line-height:1.7;margin:9px 0 12px}.sentence-bank h3{margin:14px 0}.sentence-bank-list{max-height:270px;overflow-y:auto;margin-top:14px;border:1px solid #d8dec9;border-radius:12px;padding:8px}.sentence-bank-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px;border-bottom:1px solid #e1e3d5}.sentence-bank-list label{display:flex;gap:12px;align-items:center;min-width:0}.sentence-bank-list small{display:block;color:#8b947f;margin-top:5px;font-size:12px}.sentence-bank-list .btn{font-size:13px;white-space:nowrap}.sentence-alternatives{display:block;font-size:13px;margin:15px 0}.sentence-alternatives textarea{display:block;margin-top:8px}.train-stage:has(.adventure-shade) .train-consist,.train-stage:has(.adventure-shade) .train-steam{animation-play-state:paused}@keyframes train-depart{0%,15%{transform:translate(0)}to{transform:translate(120%)}}@keyframes train-steam{0%{opacity:0;transform:translateY(10px)}25%{opacity:1}to{opacity:0;transform:translate(18px,-24px)}}@media(min-width:2000px){.adventure-layout{grid-template-columns:minmax(0,1fr) 340px;gap:30px}.adventure-world{height:160px}.adventure-sidebar .btn{min-height:58px;font-size:18px}.adventure-class-card h2{font-size:26px}.adventure-sidebar>p,.adventure-class-card>span{font-size:16px}.adventure-feedback{font-size:21px}.adventure-progress{font-size:18px}.reveal-frame{width:480px}.adventure-actions .btn{min-height:58px;font-size:18px}}@media(min-width:1000px)and (max-height:850px){.adventure-page{padding:12px 30px 20px}.adventure-heading{margin-bottom:12px}.adventure-heading h1{font-size:27px}.adventure-layout{gap:18px;grid-template-columns:minmax(0,1fr) 260px}.adventure-world{height:84px}.adventure-world p{font-size:20px;top:18%}.adventure-stage{gap:8px;padding:12px 16px}.reveal-frame{width:276px;border-width:10px}.adventure-sidebar{gap:8px}.adventure-class-card{padding:12px}.adventure-class-card h2{font-size:19px}.adventure-sidebar .btn{min-height:44px}.adventure-feedback{font-size:14px}.reveal-answer strong{font-size:30px}}@media(max-width:999px){.adventure-page{padding:16px}.adventure-heading{align-items:start;flex-direction:column}.adventure-heading h1 span{display:block;margin:5px 0}.adventure-layout{grid-template-columns:minmax(0,1fr)}.adventure-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.adventure-stage{padding:12px}.adventure-form{grid-template-columns:1fr 1fr}.adventure-world p{font-size:18px;left:14px}.adventure-world small{font-size:11px}.reveal-frame{width:min(65vw,340px)}.adventure-word-picker>div{grid-template-columns:1fr 1fr}.adventure-sidebar>p{grid-column:span 2}.adventure-editor-actions{bottom:-16px}.adventure-heading>span{display:none}}@media(max-width:480px){.adventure-heading h1{font-size:23px}.adventure-heading p{font-size:9px}.adventure-form{grid-template-columns:1fr}.adventure-world p{max-width:66%;font-size:16px}.adventure-feedback{font-size:14px}.adventure-stage{gap:9px}.adventure-actions .btn{font-size:13px;padding:10px}.adventure-schemes input,.adventure-schemes select{flex-basis:100%}.adventure-sidebar .btn{font-size:13px}}@media(prefers-reduced-motion:reduce){.adventure-page *{animation:none!important;transition:none!important}.reveal-cloud.is-open{transform:none}}@media(min-width:1000px)and (max-height:850px){.train-stage .adventure-world{height:68px}.train-prompt{min-height:92px;gap:12px}.train-prompt>img{width:88px;height:88px}.train-prompt strong{font-size:25px}.train-track{min-height:118px;padding-bottom:15px}.train-engine{width:88px;flex-basis:88px;height:105px}.train-car{height:65px;font-size:18px}.train-word{min-height:48px;padding:7px 13px;font-size:22px}.train-bank{padding:10px;min-height:68px;gap:10px}.train-stage .adventure-feedback{min-height:24px}.train-stage .adventure-actions .btn{min-height:44px;font-size:14px}.train-page .adventure-sidebar>p{font-size:12px;line-height:1.5}}@media(max-width:700px){.train-engine{width:66px;flex-basis:66px;height:84px}.train-slots{gap:5px;flex-wrap:wrap}.train-car{flex:0 0 calc(25% - 5px);min-width:54px;max-width:none;font-size:16px;height:61px;margin-bottom:18px}.train-prompt{min-height:100px}.train-prompt>img{width:80px;height:80px}.train-prompt strong{font-size:20px}.train-prompt span{font-size:14px}.train-word{min-height:50px;font-size:20px;padding:8px 13px}.train-track{min-height:135px}.train-bank{padding:10px;gap:9px}}.jump-prompt{display:flex;align-items:center;justify-content:center;gap:16px;min-height:95px;width:100%}.jump-prompt strong{font-size:clamp(28px,3vw,47px);color:#4c7866}.jump-prompt span{font-size:18px;color:#8a947b}.jump-prompt img{height:100px;width:100px;object-fit:contain;border:1px solid #d9dfc9;border-radius:15px;background:#fffdf4}.jump-prompt:has(img) strong{font-size:25px}.rainbow-river{position:relative;container-type:inline-size;width:100%;height:360px;min-height:330px;border:1px solid #d9e4d2;border-radius:30px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 55% 20%,#fffcf080,transparent 65%),linear-gradient(#f1f5e5 0 46%,#d6ebdf 46% 52%,#c4e3e3 52% 100%)}.river-waves{position:absolute;inset:55% 0 0;z-index:-1;background:repeating-radial-gradient(ellipse at 50% 10%,transparent 0 12px,#eef9eb88 13px 16px,transparent 17px 40px);transform:scaleX(1.5);opacity:.6;pointer-events:none}.river-rainbow{position:absolute;top:13px;left:30%;width:48%;height:160px;border-radius:50% 50% 0 0;border-top:14px solid #e7c5bc;box-shadow:0 -10px 0 -2px #e7d6a8,0 -19px 0 -3px #cddfb1,0 -28px 0 -4px #b9dcd8,0 -37px 0 -5px #d5cadf;opacity:.44;pointer-events:none}.river-bank{position:absolute;left:-2%;top:58%;width:15%;height:44%;border:2px solid #bec9a2;border-radius:30% 60% 0 0;background:linear-gradient(#c9dda8 0 14%,#d2bc92 15% 23%,#e1cf9e 24% 100%);z-index:-1}.river-bank span{position:absolute;left:17%;top:10px;color:#e9b79f;font-size:27px}.river-bank span+span{left:53%;top:34px;color:#f4e3a3}.river-far-bank{position:absolute;right:-5%;top:60%;width:12%;height:50%;border-radius:70% 0 0;background:#c5dcb2;border:2px solid #b8cba1;z-index:-1}.jump-rabbit{position:absolute;top:calc(58% - 96px);width:88px;height:104px;transform:translate(-50%);z-index:3;pointer-events:none;filter:drop-shadow(0 4px 1px #657b6330)}.jump-rabbit svg{height:100%;width:100%}.jump-rabbit.is-jumping{animation:rainbow-hop 1.55s ease-in-out both}.jump-friend{position:absolute;left:1%;bottom:8px;width:56px;height:68px;z-index:1;opacity:.65;pointer-events:none}.jump-friend svg{width:100%;height:100%}.jump-stars{position:absolute;left:50%;top:-20px;transform:translate(-50%);color:#caaa58;white-space:nowrap;font-size:25px}.jump-route{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.rainbow-stone{position:absolute;top:58%;transform:translate(-50%);width:15%;max-width:155px;min-width:88px;min-height:130px;padding:11px 7px 25px;border:3px solid #b4c9ad;border-radius:35% 32% 36% 33%;background:linear-gradient(#f1f6dc,#dbe9b8);box-shadow:0 10px #a4b79a,0 20px 9px #789e9040;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;color:#526f58}.rainbow-stone img{width:95px;height:95px;max-width:100%;border-radius:18px;object-fit:contain;pointer-events:none}.rainbow-stone strong{font-size:clamp(20px,1.7vw,31px);overflow-wrap:anywhere;text-align:center;line-height:1.2;max-width:100%}.rainbow-stone .stone-number{position:absolute;bottom:4px;font-size:11px;color:#7b8e69}.rainbow-stone.stone-1{background:linear-gradient(#e6f3f2,#bddbdc);border-color:#9dbcc2;box-shadow:0 10px #95b9bb,0 20px 9px #789e9040}.rainbow-stone.stone-2{background:linear-gradient(#fbefdb,#ecd9b4);border-color:#c7b68e;box-shadow:0 10px #bdaa81,0 20px 9px #789e9040}.rainbow-stone.stone-3{background:linear-gradient(#f3e7f6,#d7c3e3);border-color:#b9a3c6;box-shadow:0 10px #b4a0c1,0 20px 9px #789e9040}.rainbow-stone.stone-4{background:linear-gradient(#fae8dd,#e8c6b0);border-color:#c6a08f;box-shadow:0 10px #bc9b87,0 20px 9px #789e9040}.rainbow-stone:disabled{cursor:default}.rainbow-stone:focus-visible{outline:4px solid #4d8a76;outline-offset:5px}.rainbow-stone.is-right{border-color:#6b9f77;box-shadow:0 10px #87af7d,0 0 0 8px #f7e49b88,0 0 38px #e8d898}.rainbow-stone.is-wrong{border-color:#d0a186;animation:stone-wobble .35s ease-out}.rainbow-stone.is-wrong.wobble-alt{animation-name:stone-wobble-alt}.jump-teacher{background:#faf1de;border:1px dashed #c7bd94;border-radius:15px;padding:12px;font-size:13px}.jump-teacher summary{cursor:pointer;min-height:24px}.jump-teacher>div{padding-top:13px;display:flex;flex-direction:column;gap:8px}.jump-teacher strong{font-size:18px}.jump-stage:has(.adventure-shade) .jump-rabbit{animation-play-state:paused}@keyframes rainbow-hop{0%{transform:translate(calc(var(--jump-dx) - 50%))}50%{transform:translate(calc(var(--jump-half) - 50%),-90px)}to{transform:translate(-50%)}}@keyframes stone-wobble{0%,to{transform:translate(-50%) rotate(0)}30%{transform:translate(-50%) rotate(-3deg)}65%{transform:translate(-50%) rotate(3deg)}}@keyframes stone-wobble-alt{0%,to{transform:translate(-50%) rotate(0)}30%{transform:translate(-50%) rotate(-3deg)}65%{transform:translate(-50%) rotate(3deg)}}@media(min-width:2000px){.rainbow-river{height:490px}.rainbow-stone{min-height:175px;max-width:200px}.rainbow-stone img{width:135px;height:135px}.jump-rabbit{width:110px;height:130px;top:calc(58% - 119px)}}@media(min-width:1000px)and (max-height:850px){.jump-stage .adventure-world{height:67px}.jump-prompt{min-height:62px}.jump-prompt img{width:65px;height:65px}.jump-prompt strong{font-size:33px}.rainbow-river{height:316px;min-height:316px}.rainbow-stone{min-height:111px;max-width:130px}.rainbow-stone img{width:76px;height:76px}.jump-page .adventure-sidebar>p{font-size:12px;line-height:1.5}}@media(max-width:700px){.rainbow-river{height:310px;min-height:310px}.rainbow-stone{width:16%;min-width:52px;min-height:112px;padding:6px 4px 20px;border-width:2px;box-shadow:0 6px #a4b79a,0 12px 6px #789e9040}.rainbow-stone img{width:64px;height:64px;max-width:100%;border-radius:8px}.rainbow-stone strong{font-size:15px}.jump-rabbit{width:62px;height:75px;top:calc(58% - 69px)}.jump-friend{width:40px;height:49px}.jump-prompt strong{font-size:24px}.jump-prompt{min-height:80px}.river-rainbow{height:120px;width:54%;left:27%}}@media(prefers-reduced-motion:reduce){.adventure-page *{animation:none!important;transition:none!important}}.reveal-covers{grid-template-columns:repeat(var(--reveal-columns),minmax(0,1fr));grid-template-rows:repeat(var(--reveal-rows),minmax(0,1fr))}.reveal-cloud{min-width:0;min-height:0;line-height:1}.reveal-cloud:disabled,.rainbow-stone:disabled{opacity:1}.reveal-cloud.is-open:disabled{opacity:0}.king-page{--king-ink:#382d4a;--king-gold:#f7c94b;--king-teal:#237c70;color:var(--king-ink);padding:14px 28px 16px;max-width:2400px;margin:0 auto;height:calc(100dvh - 88px);min-height:620px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;font-family:Trebuchet MS,Microsoft YaHei,sans-serif}.king-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:67px}.king-title{display:flex;align-items:center;gap:14px}.king-title>svg{width:52px;height:52px;fill:#f7c94b;stroke:#382d4a;stroke-width:2}.king-title p{font-weight:900;font-size:17px;letter-spacing:1px}.king-title p span{font-size:11px;letter-spacing:2px;margin-left:10px;color:#746084}.king-title h1{font-size:32px;font-weight:900;line-height:1.2;margin-top:3px}.king-status{display:flex;gap:12px;align-items:center;font-size:21px;font-weight:800}.king-mode{background:#e5ddf1;border:2px solid #716285;padding:8px 18px;border-radius:10px}.king-team-tag{padding:9px 14px;border-radius:10px}.king-team-tag.blue{background:#d6eaf9;color:#245579}.king-team-tag.orange{background:#ffe0b2;color:#764015}.king-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(320px,1fr);gap:20px;min-height:0}.king-stage{border:3px solid var(--king-ink);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;background:#d3c3e1;min-height:0;box-shadow:0 5px #382d4a20}.king-route{display:flex;align-items:center;gap:12px;padding:11px 20px;background:#fff1bf;border-bottom:3px solid var(--king-ink);font-size:19px;font-weight:900;flex-shrink:0}.king-route>span{display:flex;align-items:center;gap:8px;white-space:nowrap}.king-route-track{display:flex;gap:5px;flex:1;height:21px;min-width:0}.king-route-track i{flex:1;background:#ddd0b1;border:2px solid #69523b;border-radius:4px}.king-route-track i.is-passed{background:#2f9e83}.king-route b{font-variant-numeric:tabular-nums}.king-cue{text-align:center;position:relative;z-index:1;padding:10px 12px 8px;min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;background:#f0e8f9;border-bottom:2px solid #382d4a}.king-cue strong{font-size:48px;line-height:1.02;font-weight:900;letter-spacing:-1px}.king-cue span{font-size:20px;font-weight:800;margin-top:3px}.cue-read{background:#f7c94b}.cue-freeze,.cue-judge{background:#de485b;color:#fff}.cue-feedback{background:#cef0d6}.king-page.phase-feedback:has(.kas-scene[data-verdict=caught]) .king-cue{background:#ffd2a7}.cue-won{background:#f7c94b}.cue-won strong{font-size:38px}.cue-lost{background:#f3d5d1}.king-read-beats{position:absolute;right:24px;top:25px;display:flex;gap:5px;height:29px;align-items:end}.king-read-beats i{width:7px;height:19px;background:#382d4a;border-radius:3px;animation:king-beat .65s ease-in-out infinite alternate}.king-read-beats i:nth-child(2){animation-delay:.18s}.king-read-beats i:nth-child(3){animation-delay:.35s}.king-read-beats i:nth-child(4){animation-delay:.5s}@keyframes king-beat{to{height:6px}}.king-scene-frame{position:relative;flex:1;min-height:0;overflow:hidden;background:#a191bc}.king-scene-frame>.kas-scene{width:100%;height:100%}.king-stage-caption{padding:9px 18px;background:#382d4a;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:17px;flex-shrink:0}.king-stage-caption strong{color:#f7dc83}.king-pause-sign{position:absolute;bottom:14px;left:14px;border:3px solid #382d4a;background:#fff1bf;border-radius:10px;padding:12px 18px;font-size:23px;font-weight:900;display:flex;gap:10px;align-items:center}.king-lesson{border:3px solid var(--king-ink);border-radius:14px;background:#fffdf3;display:flex;flex-direction:column;min-height:0;overflow:hidden}.king-lesson-label{padding:13px 20px;border-bottom:2px solid #b7abcb;background:#e5ddf1;display:flex;flex-direction:column;gap:3px}.king-lesson-label>span{font-size:13px;letter-spacing:2px;font-weight:900;color:#655276}.king-lesson-label>strong{font-size:21px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.15}.king-teaching-card{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;gap:8px;text-align:center}.king-picture{width:min(75%,290px);height:clamp(100px,17vh,240px);object-fit:contain;flex-shrink:1;min-height:70px}.king-word{font-size:clamp(64px,5.6vw,118px);font-weight:900;line-height:1.08;max-width:100%;overflow-wrap:anywhere;color:#382d4a}.king-word.is-long{font-size:clamp(52px,4vw,88px)}.king-word-text{white-space:normal}.king-target-letter{color:#9b2855;border-radius:4px;box-shadow:inset 0 -5px #f7c94b}.king-spelling{display:inline-flex;gap:.12em;flex-wrap:wrap;justify-content:center}.king-spelling>span{display:inline-block}.king-secondary-spelling{font-size:29px;line-height:1;font-weight:800;letter-spacing:3px;color:#6d5d83}.king-word-answer{font-size:27px;font-weight:800;color:#706078}.king-teaching-notes{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-width:0}.king-teaching-notes>p{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.king-chinese{font-size:24px}.king-phonetic{font-size:24px;color:#756487}.king-guess-prompt,.king-oral-prompt{font-size:25px;font-weight:800}.king-empty{font-size:23px;line-height:1.5}.king-team-scores{display:flex;gap:10px;padding:0 14px 10px}.king-score{flex:1;padding:9px 12px;border:2px solid #bbafc9;border-radius:9px;background:#f3f0f7;min-width:0}.king-score.is-current.blue{border-color:#3582b5;background:#e2f0fa}.king-score.is-current.orange{border-color:#c9762f;background:#ffecd6}.king-score>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:17px;font-weight:800}.king-score>div:first-child span{font-size:15px;white-space:nowrap}.king-hearts{display:flex;gap:5px;margin:5px 0;color:#92869f}.king-hearts .is-full{color:#ba375c;fill:#eb7194}.king-score-progress{font-size:14px}.king-rule{padding:8px 16px 11px;font-size:15px;line-height:1.45;color:#685577;background:#f2ebf8;border-top:1px solid #dacfe4}.king-result{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:#fff1bf;border-top:2px solid #382d4a;font-size:20px}.king-result svg{fill:#f7c94b}.king-result span{font-size:16px}.king-stage-caption:has(.king-result){padding:0}.king-stage-caption .king-result{width:100%;border:0;color:#382d4a}.king-stage-caption .king-result strong{color:#382d4a}.king-teacher-controls{background:#e5ddf1;border:2px solid #9382a8;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px #382d4a17}.king-primary-controls{display:grid;grid-template-columns:1fr 1.5fr 1.5fr 1fr;gap:12px}.king-secondary-controls{display:flex;gap:10px}.king-button{border:2px solid #6a597e;border-radius:9px;background:#fffdf4;color:#382d4a;min-height:56px;font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 16px;touch-action:manipulation;white-space:nowrap;box-shadow:0 3px #382d4a25}.king-button svg{width:23px;height:23px}.king-button:disabled{opacity:.48;box-shadow:none}.king-button:not(:disabled):hover{filter:brightness(1.06)}.king-button:focus-visible{outline:4px solid #1d6f9b;outline-offset:3px}.king-start{background:#f7c94b}.king-safe{background:#c8edce;border-color:#256a53;color:#18563b}.king-caught{background:#ffd0d7;border-color:#9b3452;color:#85263f}.king-next{background:#dceafc;border-color:#466e9c}.king-secondary-controls .king-button{flex:1}.king-button span{font-size:22px}.king-listen{max-width:180px}.king-page.is-paused .king-read-beats i{animation-play-state:paused!important}.fairytale-shell .king-editor.modal-card{max-width:1080px;width:calc(100vw - 36px);background:#fffdf5;border:3px solid #382d4a;border-radius:15px;color:#382d4a;max-height:92dvh;padding:26px}.king-editor .modal-title{color:#382d4a;font-size:29px}.king-editor-note{font-size:17px;line-height:1.5;margin:12px 0;color:#6b597d}.king-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.king-form label,.king-custom-label,.king-editor-row label{display:flex;flex-direction:column;gap:6px;font-size:18px;font-weight:800}.king-editor input:not([type=checkbox]),.king-editor select,.king-editor textarea{width:100%;border:2px solid #b3a2c4;border-radius:7px;background:#fff;min-height:52px;padding:10px 12px;color:#382d4a;font-size:18px}.king-editor textarea{resize:vertical}.king-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}.king-checks label{display:flex;align-items:center;gap:10px;min-height:52px;background:#eee7f7;padding:10px;border-radius:7px;font-size:18px}.king-editor input[type=checkbox]{width:25px;height:25px;accent-color:#7b4da0}.king-editor-section{margin-top:20px;border-top:2px solid #d6c9e4;padding-top:16px}.king-editor-section h3{font-size:23px;margin-bottom:7px}.king-editor-section>p{font-size:16px;line-height:1.5;margin:7px 0;color:#6b597d}.king-editor-button{min-height:56px;border:2px solid #7c658e;border-radius:8px;font-size:20px;font-weight:800;padding:10px 18px;background:#eee6f9;color:#382d4a}.king-editor-button.is-primary{background:#f7c94b;border-color:#382d4a}.king-editor-button:disabled{opacity:.5}.king-word-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:240px;overflow-y:auto;padding:9px 3px;margin:10px 0 16px}.king-word-picker label{min-height:56px;display:flex;align-items:center;gap:8px;padding:9px;background:#f4eff8;border-radius:7px;overflow-wrap:anywhere;font-size:18px}.king-word-picker small{font-size:12px;display:block;color:#756487}.king-word-picker .is-unsupported{opacity:.5}.king-editor-row{display:flex;gap:12px;align-items:end;margin-top:12px;flex-wrap:wrap}.king-editor-row>input,.king-editor-row>select,.king-editor-row>label{flex:1;min-width:160px}.king-editor-bottom{position:sticky;bottom:-26px;background:#fffdf5;padding:15px 0 5px;display:flex;justify-content:flex-end;gap:14px;border-top:2px solid #d6c9e4;margin-top:15px}.king-editor-error{padding:12px;background:#ffe3e5;color:#942b4a;font-size:18px;border:2px solid #c9677d;margin-top:14px}.book-king .book-game-art{background:#d4c5e7}.book-king .book-game-art svg{height:100%;width:100%;display:block;object-fit:cover}@media(min-width:1800px){.king-page{padding:22px 45px;gap:20px}.king-heading{min-height:85px}.king-title h1{font-size:42px}.king-title p{font-size:21px}.king-title>svg{width:65px;height:65px}.king-cue{min-height:105px}.king-cue strong{font-size:62px}.king-cue span{font-size:24px}.king-route{padding:15px 22px;font-size:23px}.king-teacher-controls{padding:14px;gap:12px}.king-button{min-height:66px;font-size:25px}.king-button span{font-size:25px}.king-lesson-label{padding:16px 24px}.king-lesson-label strong{font-size:26px}.king-score{padding:12px 18px}.king-score>div:first-child{font-size:21px}.king-rule{font-size:18px;padding:12px 20px}.king-team-scores{padding:0 20px 16px}.king-picture{height:clamp(200px,23vh,340px);width:min(78%,340px)}}@media(max-height:820px)and (min-width:1000px){.king-page{padding:10px 22px 12px;gap:10px}.king-heading{min-height:62px}.king-title h1{font-size:29px}.king-title p{font-size:15px}.king-cue{min-height:76px;padding:7px}.king-cue strong{font-size:43px}.king-cue span{font-size:18px}.king-route{padding:8px 13px;font-size:17px}.king-stage-caption{font-size:14px;padding:7px 12px}.king-lesson-label{padding:9px 15px}.king-lesson-label strong{font-size:18px}.king-teaching-card{padding:7px;gap:5px}.king-picture{height:105px}.king-lesson[data-mode=picture] .king-picture{height:150px;min-height:100px}.king-teaching-card.has-details .king-picture{height:85px;min-height:60px}.king-teaching-notes{gap:10px}.king-teaching-notes>p{font-size:22px}.king-word{font-size:64px}.king-word.is-long{font-size:52px}.king-word-answer{font-size:22px;line-height:1.2}.king-secondary-spelling{font-size:25px}.king-team-scores{padding:0 10px 6px;gap:7px}.king-score{padding:6px 8px}.king-score>div:first-child{font-size:16px}.king-hearts{margin:3px 0}.king-rule{font-size:13px;padding:6px 12px}.king-teacher-controls{padding:8px 10px;gap:8px}.king-button{padding:6px 12px}.king-primary-controls{gap:10px}.king-status{font-size:18px}}@media(max-width:999px){.king-page{height:auto;min-height:calc(100dvh - 88px);padding:18px;gap:16px}.king-heading{flex-wrap:wrap}.king-status{font-size:18px;flex-wrap:wrap}.king-layout{grid-template-columns:1fr}.king-stage{min-height:460px}.king-scene-frame{height:300px;flex:auto}.king-teaching-card{min-height:300px}.king-word{font-size:72px}.king-lesson{min-height:400px}.king-primary-controls{grid-template-columns:1fr 1fr}.king-secondary-controls{flex-wrap:wrap}.king-secondary-controls .king-button{flex:1 1 30%;max-width:none}.king-word-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.king-form,.king-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.king-title p span{display:none}}@media(max-width:600px){.king-page{padding:12px}.king-title{gap:10px}.king-title>svg{width:40px;height:40px}.king-title p{font-size:12px}.king-title h1{font-size:27px}.king-status{font-size:16px;gap:8px}.king-mode{padding:7px 11px}.king-stage{min-height:370px}.king-scene-frame{height:240px}.king-route{font-size:15px;padding:10px;gap:8px}.king-cue strong{font-size:43px}.king-cue span{font-size:17px}.king-read-beats{display:none}.king-stage-caption{font-size:12px;padding:8px}.king-layout{gap:14px}.king-button{font-size:22px;padding:8px;gap:5px;white-space:normal}.king-primary-controls .king-button{flex-wrap:wrap;gap:2px}.king-primary-controls .king-button span{font-size:17px;display:block;width:100%}.king-secondary-controls .king-button{flex-basis:45%}.king-form,.king-checks{grid-template-columns:1fr}.king-word-picker{grid-template-columns:1fr 1fr}.fairytale-shell .king-editor.modal-card{padding:18px;width:calc(100vw - 22px)}.king-editor-bottom{bottom:-18px}.king-editor-row{align-items:stretch}.king-editor-row>*{width:100%}.king-editor-bottom .king-editor-button{font-size:18px;padding-inline:12px}.king-picture{height:180px}.king-word{font-size:64px}.king-score>div:first-child{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.king-read-beats i{animation:none}.king-page *{scroll-behavior:auto;transition-duration:0s}}.king-page .king-route{background:#e8ddc6}.king-page .king-route-track i{background:#b9abb8;border-color:#655367}.king-page .king-route-track i.is-passed{background:#377d68}.king-page .cue-read{background:#efc965;color:#2e2835}.king-page .cue-freeze,.king-page .cue-judge{background:#aa3948;color:#fff9ec}.king-page .cue-feedback{background:#cce0c8}.king-page.phase-feedback:has(.kas-scene[data-verdict=caught]) .king-cue{background:#eac49c}.king-page .cue-won{background:#efc965}.king-page .king-stage-caption{background:#342d3e}.book-king .book-game-art{background:#9d899f}.app-shell.fairytale-shell{--story-cream:#fff9ef;--story-mint:#bcd9c5;--story-sky:#bbddef;--story-peach:#f3bda9;--story-lilac:#d9cbea;--story-gold:#f4d38a;background:radial-gradient(ellipse at 90% 0,#edf2e580,transparent 46%),#faf6ec;color:#35584e}.fairytale-shell .app-header{background:#fffaf0e6;border-bottom:1px solid #e7e4d3}.fairytale-shell .brand{color:#3e6154;min-height:44px}.fairytale-shell .brand b{color:#91a981}.fairytale-shell .brand-mark{transform:rotate(-8deg);border:2px solid #acc3a6;border-radius:12px;padding:4px;width:44px;height:44px;gap:3px;background:#fffcf3}.fairytale-shell .brand-mark i{border-radius:5px}.fairytale-shell .brand-mark i:nth-child(1){background:#a6cbb4}.fairytale-shell .brand-mark i:nth-child(2){background:#f1cf90}.fairytale-shell .brand-mark i:nth-child(3){background:#b9d8ea}.fairytale-shell .brand-mark i:nth-child(4){background:#e7bfba}.fairytale-shell .icon-btn{width:44px;height:44px;border-radius:15px;background:#fffdf6;border-color:#e8e5d6;color:#6d8171}.fairytale-shell .icon-btn:hover{background:#edf2e6;border-color:#b9cfb4}.fairytale-shell .header-settings{min-height:44px;border-radius:16px;background:#edf1e5;border-color:#dce4cf;color:#63795f}.fairytale-shell .header-divider{background:#e0e3d3}.fairytale-shell .modal-card{background:#fffcf4;border:1px solid #dddcc5;border-radius:29px;box-shadow:0 13px #718b7314,0 20px 80px #374b3726}.fairytale-shell .modal-close{min-width:44px;min-height:44px;border-radius:15px;background:#f1eee2}.fairytale-shell .modal-title{color:#436452}.fairytale-shell .modal-description{color:#73806b}.fairytale-shell .btn{min-height:44px;border-radius:15px}.fairytale-shell .btn-primary{background:#709681;color:#fffdf5;border-color:#709681;box-shadow:0 4px #4b775e30}.fairytale-shell .btn-secondary{background:#eef2e4;border-color:#ceddc4;color:#5c795d}.fairytale-shell .btn-quiet{color:#687d68}.fairytale-shell select,.fairytale-shell input,.fairytale-shell textarea{border-radius:12px;background:#fffef8;border-color:#dcdcc9}.fairytale-shell .result-trophy{color:#d4ae5c}.fairytale-shell .modal-backdrop{background:#3b534662;backdrop-filter:blur(5px)}@media(max-width:600px){.fairytale-shell .app-header{padding-inline:12px}.fairytale-shell .header-actions{gap:4px}.fairytale-shell .brand-mark{width:31px;height:34px;padding:3px;border-radius:9px;gap:2px}.fairytale-shell .brand{font-size:14px;letter-spacing:-.6px;gap:6px}.fairytale-shell .brand small{letter-spacing:0;font-size:7px}.fairytale-shell .icon-btn{width:44px;height:44px}.fairytale-shell .header-settings{padding:8px;min-width:44px;justify-content:center}.fairytale-shell .header-settings span,.fairytale-shell .header-divider,.fairytale-shell.view-game .brand small{display:none}.fairytale-shell.view-game .brand>span:last-child{max-width:75px;white-space:normal;line-height:1.1}}@media(max-width:600px){.fairytale-shell .app-header{height:112px;display:grid;grid-template-columns:1fr;grid-template-rows:44px 44px;gap:8px;padding:8px 16px}.fairytale-shell .brand{width:fit-content}.fairytale-shell .header-actions{width:100%;justify-content:space-between;gap:8px}.fairytale-shell .header-actions .icon-btn{width:44px;min-width:44px;height:44px;flex-shrink:0}.fairytale-shell.view-game .brand>span:last-child{max-width:none;white-space:nowrap;line-height:1.1}}.fairytale-shell button.btn,.fairytale-shell .toast button{min-width:44px;min-height:44px}.fairytale-shell .game-heading h1{color:#436452}.fairytale-shell .eyebrow{color:#899e80}.fairytale-shell .rule-badge{border-radius:17px;background:#fff8e7;border-color:#e4daba;color:#827453}.fairytale-shell .turn-card,.fairytale-shell .score-panel{border-radius:22px}.fairytale-shell .turn-card{background:#fbf0d9;border-color:#e6d4af}.fairytale-shell .turn-card.team-blue{background:#eaf2f8;border-color:#ccdfec}.fairytale-shell .game-task{border-radius:18px;background:#edf2e3}.fairytale-shell .game-task b{color:#667e60}.fairytale-shell .game-controls button{min-height:44px}.fairytale-shell .challenge-modal{background:#fffdf4}.fairytale-shell .challenge-word{color:#41684f}.fairytale-shell .answer-correct{background:#709681;box-shadow:0 3px #547b63}.fairytale-shell .answer-wrong{background:#f9e8da;border-color:#e8cbb8;color:#956d52}.fairytale-shell .result-modal{background:radial-gradient(ellipse at 50% 23%,#fff4d5 0,transparent 48%),#fffdf4}.fairytale-shell .result-modal .trophy{background:transparent;border-radius:0;box-shadow:none;width:116px;height:126px;margin:17px auto 9px}.story-medal{width:108px;height:119px;filter:drop-shadow(0 4px 0 #bda47718)}.fairytale-shell .result-english{color:#5e806a}.fairytale-shell .confetti i:nth-child(3n){width:12px;height:12px;clip-path:polygon(50% 0,62% 35%,100% 39%,71% 61%,80% 100%,50% 78%,20% 100%,29% 61%,0 39%,38% 35%)}.fairytale-shell .settings-page .panel{border-radius:24px;background:#fffdf4;border-color:#dfddc8}.fairytale-shell .settings-page .page-heading h1{color:#436452}.fairytale-shell .theme-tabs .btn,.fairytale-shell .word-row-actions .btn,.fairytale-shell .editor-actions .btn{min-width:44px;min-height:44px}.fairytale-shell .search-field{border-radius:14px;background:#f8f8ee}.fairytale-shell .badge{background:#e9efd9;color:#6c8060}.fairytale-shell .toast{border-radius:18px;background:#fffaf0}.fairytale-shell .setup-toggles label,.fairytale-shell .toggle-row{min-height:44px}.fairytale-shell .setup-toggles input,.fairytale-shell .toggle-row input{accent-color:#709681;min-height:20px;min-width:20px}.fairytale-shell .read-word{min-height:44px}.fairytale-shell .deck-note{background:#edf2df;border-color:#d8dfc5;border-radius:16px}.fairytale-shell .help-tip{background:#edf2df;border-radius:18px}@media(prefers-reduced-motion:reduce){.fairytale-shell *,.fairytale-shell *:before,.fairytale-shell *:after{animation:none!important;transition:none!important}}.view-castle{background:#fff9ef!important}.view-castle .toast{top:104px;bottom:auto}.castle-entrance{--castle-green:#416850;--castle-mint:#bdd6bc;--castle-gold:#f5d58b;height:calc(100dvh - 94px);min-height:560px;display:flex;flex-direction:column;align-items:center;padding:22px 28px 15px;overflow:hidden;color:var(--castle-green)}.castle-heading{text-align:center;flex:none;position:relative;z-index:2}.castle-kicker{display:flex;align-items:center;justify-content:center;gap:9px;color:#7d957c;font-size:12px;letter-spacing:2px;font-weight:650}.castle-heading h1{font-family:Microsoft YaHei,PingFang SC,Trebuchet MS,sans-serif;font-size:clamp(34px,3.2vw,64px);font-weight:800;letter-spacing:2px;line-height:1.3;margin:8px 0}.castle-heading h1 span{color:#517852}.castle-subtitle{font-size:clamp(16px,1.05vw,24px);color:#697e64;line-height:1.6}.castle-picture-space{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.castle-scene{height:100%;max-width:100%;aspect-ratio:3/2;position:relative;flex:none;isolation:isolate}.castle-background{width:100%;height:100%;object-fit:contain;display:block;user-select:none}.castle-gate{position:absolute;left:44.45%;top:53.65%;width:10.9%;height:24.05%;perspective:750px}.castle-door{position:absolute;width:50%;height:100%;object-fit:fill;top:0;backface-visibility:hidden;transition:transform 1.1s cubic-bezier(.25,.5,.25,1);filter:drop-shadow(0 1px 1px #5a724344)}.castle-door-left{left:0;transform-origin:0 50%}.castle-door-right{right:0;transform-origin:100% 50%}.castle-door-light{position:absolute;inset:0;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 65%,#fffce0,transparent 76%);opacity:0;transition:opacity .7s;box-shadow:0 0 35px #fff2a999}.castle-entrance[data-state=opening] .castle-door-left{transform:rotateY(-106deg)}.castle-entrance[data-state=opening] .castle-door-right{transform:rotateY(106deg)}.castle-entrance[data-state=opening] .castle-door-light{opacity:1}.castle-stars{position:absolute;inset:0;pointer-events:none}.castle-stars svg{position:absolute;width:clamp(12px,1.8vw,30px);fill:#f1c566;filter:drop-shadow(0 0 5px #fff5d1);opacity:0}.castle-entrance[data-state=opening] .castle-stars svg{animation:castle-sparkle 1.05s ease-out var(--star-delay) both}@keyframes castle-sparkle{0%{opacity:0;transform:translateY(18px) scale(.4)}30%{opacity:1}85%{opacity:.8}to{opacity:0;transform:translateY(-26px) scale(1.05)}}.castle-actions{flex:none;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;gap:10px;padding-top:3px}.castle-start{min-width:340px;min-height:66px;padding:15px 28px;display:flex;align-items:center;justify-content:center;gap:15px;border:2px solid #64836a;border-radius:24px;color:#fffdf1;background:#608367;box-shadow:0 5px #3e654b,0 9px 18px #37583f18;font-family:inherit;font-size:clamp(22px,1.5vw,32px);font-weight:800;letter-spacing:1px;touch-action:manipulation}.castle-start:hover:enabled{background:#52765a;transform:translateY(-1px)}.castle-start:active:enabled{transform:translateY(3px);box-shadow:0 2px #3e654b}.castle-start:disabled{cursor:wait;opacity:1}.castle-options{display:flex;justify-content:center;align-items:center;gap:22px;color:#546e55;font-size:16px;flex-wrap:wrap}.castle-skip{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:6px 8px;border-radius:12px;text-decoration:underline;text-underline-offset:4px;touch-action:manipulation}.castle-skip:hover{background:#e9efdf}.castle-option-divider{width:1px;height:18px;background:#c9d3bb}.entrance-preference{display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer;border-radius:10px;padding:4px}.entrance-preference input{width:20px;height:20px;accent-color:#608367;cursor:pointer}.castle-note{color:#72866b;font-size:14px;line-height:1.5;margin-top:-6px}.castle-start:focus-visible,.castle-skip:focus-visible,.return-castle:focus-visible{outline:3px solid #b48630;outline-offset:5px}.entrance-preference:has(input:focus-visible){outline:3px solid #b48630;outline-offset:2px}.return-castle{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:5px 10px;border:1px solid #d0dac4;border-radius:13px;background:#f5f7e9;color:#547356;font:inherit;white-space:nowrap}@media(min-width:2000px){.castle-entrance{padding-top:30px;padding-bottom:22px}.castle-actions{gap:14px}.castle-start{min-height:80px;min-width:470px}.castle-options{font-size:21px}.castle-note{font-size:18px}.castle-kicker{font-size:16px}}@media(min-width:1000px)and (max-height:850px){.castle-entrance{height:calc(100dvh - 74px);min-height:0;padding:14px 25px 10px}.castle-heading h1{font-size:38px;margin:5px 0}.castle-kicker{font-size:10px}.castle-subtitle{font-size:16px}.castle-actions{gap:6px}.castle-start{min-height:58px;font-size:23px;padding:10px 24px}.castle-note{font-size:12px}.castle-options{font-size:14px;gap:16px}}@media(max-width:999px){.castle-entrance{height:calc(100dvh - 76px);padding:15px 18px 12px;min-height:570px}.castle-heading h1{font-size:clamp(27px,4.2vw,39px);letter-spacing:1px}.castle-kicker{font-size:10px;letter-spacing:1px}.castle-subtitle{font-size:15px}.castle-scene{width:100%;height:auto;max-height:100%}.castle-options{gap:4px 10px;font-size:14px}.castle-start{min-width:0;font-size:23px;padding:14px 22px}.castle-actions{gap:8px}.castle-option-divider{display:none}}@media(max-width:600px){.castle-entrance{height:calc(100dvh - 112px);min-height:620px;padding:18px 12px 12px}.castle-heading h1{font-size:30px;letter-spacing:1px}.castle-heading h1 span{display:block}.castle-kicker{font-size:8px;letter-spacing:.8px}.castle-subtitle{max-width:290px;font-size:14px}.castle-actions{width:100%}.castle-start{width:min(100%,350px);font-size:21px;gap:9px;min-height:62px;padding-inline:12px}.castle-start svg{width:21px}.castle-options{flex-direction:column;gap:0}.castle-note{font-size:12px;margin-top:0}.castle-scene{width:100%;height:auto}}@media(max-height:520px)and (max-width:999px)and (min-width:601px){.castle-entrance{height:auto;min-height:calc(100dvh - 76px);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 15px}.castle-heading{grid-column:1;grid-row:1}.castle-heading h1{font-size:27px}.castle-subtitle{font-size:14px}.castle-picture-space{grid-column:2;grid-row:1/3}.castle-actions{grid-column:1;grid-row:2}.castle-start{font-size:18px;min-height:50px}.castle-scene{width:100%;height:auto}.castle-options{font-size:12px;gap:0}.castle-note{font-size:11px}}@media(prefers-reduced-motion:reduce){.castle-entrance *{animation:none!important;transition:none!important}.castle-start:hover:enabled{transform:none}}@media(min-width:1000px)and (max-height:850px){.view-castle .toast{top:84px}}@media(max-width:600px){.view-castle .toast{top:124px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){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{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.\!hidden{display:none!important}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{color:#214c43;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f6ee;font-family:Trebuchet MS,Segoe UI,Microsoft YaHei,sans-serif;font-weight:500}*{box-sizing:border-box}body{min-width:360px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{transition:background .18s,transform .18s,box-shadow .18s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #2a8b78}button:not(:disabled):active{transform:translateY(2px)}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}input[type=checkbox]{accent-color:#327764;cursor:pointer;flex-shrink:0;width:20px;height:20px}input[type=number]{font-variant-numeric:tabular-nums}button:disabled{opacity:.5}.app-shell{background:radial-gradient(at 85% 5%,#e7f0e7 0,#0000 45%),#f7f7ef;min-height:100dvh}.app-header{background:#fbfcf6bd;border-bottom:1px solid #214c4310;justify-content:space-between;align-items:center;height:88px;padding:0 clamp(24px,4.5vw,100px);display:flex}.brand{text-align:left;color:#214c43;letter-spacing:-.8px;white-space:nowrap;background:0 0;border:0;align-items:center;gap:13px;font-size:23px;font-weight:700;display:flex}.brand b{color:#508271}.brand small{letter-spacing:2px;color:#6f8c7f;margin-top:3px;font-size:10px;font-weight:500;display:block}.brand-mark{grid-template-columns:1fr 1fr;gap:4px;width:40px;height:40px;display:grid;transform:rotate(-8deg)}.brand-mark i{background:#448671;border-radius:5px}.brand-mark i:nth-child(2){background:#efac5f}.brand-mark i:nth-child(3){background:#6ea5d5}.brand-mark i:nth-child(4){background:#a5c9b3}.header-actions{align-items:center;gap:12px;display:flex}.icon-btn{color:#506d5e;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.icon-btn:hover{background:#e4ede1;border-color:#dae5d6}.header-settings{color:#456452;background:#edf1e6;border:1px solid #dce6d6;border-radius:13px;align-items:center;gap:9px;padding:11px 17px;font-size:13px;font-weight:700;display:flex}.header-settings:hover,.header-settings.is-active{background:#e0ebdd}.header-divider{background:#dfe6db;width:1px;height:24px;margin:0 5px}.eyebrow{letter-spacing:2px;color:#688774;align-items:center;gap:9px;font-size:11px;font-weight:800;display:flex}.live-dot{background:#7aaa86;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #83aa8112}.home-page{flex-direction:column;gap:clamp(16px,3vh,40px);max-width:1600px;height:calc(100dvh - 88px);margin:0 auto;padding:clamp(16px,3.7vh,48px) clamp(24px,4.5vw,88px) 18px;display:flex}.home-intro{flex:none;justify-content:space-between;align-items:center;display:flex;position:relative}.home-intro h1{letter-spacing:-2.6px;width:fit-content;margin:18px 0 17px;font-size:clamp(42px,5.3vh,78px);font-weight:800;line-height:1.06;position:relative}.home-intro h1>span{color:#5f937e}.heading-spark{color:#e8a354;font-size:.75em;font-style:normal;position:absolute;top:38px;right:-75px;transform:rotate(10deg)}.intro-copy{color:#708476;letter-spacing:.1px;font-family:Segoe UI,Microsoft YaHei,sans-serif;font-size:clamp(12px,1.5vh,17px);line-height:1.9}.intro-note{text-align:center;color:#667765;background:#fff6dc;border:1px solid #ebe4cc;border-radius:2px 2px 16px;width:250px;margin:8px 46px 0 0;padding:20px 22px 16px;position:relative;transform:rotate(5deg);box-shadow:0 8px 16px #4a675710}.note-pin{background:#c4d9bebe;width:58px;height:24px;position:absolute;top:-11px;left:95px;transform:rotate(-7deg)}.note-doodle{letter-spacing:-2px;color:#558377;font-family:Comic Sans MS,Trebuchet MS,cursive;font-size:32px}.intro-note p{margin-top:5px;font-size:14px;line-height:2}.intro-note b{font-size:11px;font-weight:500}.note-stars{color:#e0ac5e;letter-spacing:13px;margin-top:7px;font-size:23px}.note-stars span{color:#84aa8f}.game-entries{flex:1;grid-template-columns:1fr 1fr;gap:24px;min-height:280px;max-height:470px;display:grid}.game-entry{text-align:left;color:#214c43;border:1px solid #d9e5d9;border-radius:24px;align-items:center;gap:16px;width:100%;padding:clamp(20px,2.7vw,42px);display:flex;position:relative;overflow:hidden;box-shadow:0 8px #dce6d441,0 10px 25px #35604904}.gomoku-entry{background:#eaf3e5}.chase-entry{background:#eaf0f8;border-color:#dbe4ee;box-shadow:0 8px #d8e1ec60,0 10px 25px #35604904}.game-entry:hover{transform:translateY(-4px);box-shadow:0 12px #dce6d450,0 16px 35px #3560490a}.entry-copy{z-index:2;flex:0 0 49%;position:relative}.game-tag{letter-spacing:1.3px;color:#6b8c69;white-space:nowrap;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.game-tag>span{background:currentColor;border-radius:50%;width:5px;height:5px}.chase-entry .game-tag{color:#6389b1}.game-entry h2{letter-spacing:-1.3px;white-space:nowrap;margin:15px 0 3px;font-size:clamp(24px,2.2vw,36px);font-weight:800}.entry-chinese{color:#617d5e;letter-spacing:1.5px;font-size:15px;font-weight:600}.chase-entry .entry-chinese{color:#6c86a2}.entry-description{color:#6c8068;margin-top:19px;font-size:12px;line-height:1.95}.chase-entry .entry-description{color:#718299}.entry-meta{color:#87a07f;margin:12px 0 21px;font-size:10px;display:block}.chase-entry .entry-meta{color:#8fa3ba}.entry-action{color:#fff;background:#376f53;border-radius:12px;justify-content:space-between;align-items:center;gap:31px;padding:13px 15px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 4px #285943}.chase-entry .entry-action{background:#4b7eaf;box-shadow:0 4px #356a9b}.gomoku-preview{flex-shrink:0;width:51%;position:relative;right:-10px;transform:rotate(-7deg)}.preview-board{aspect-ratio:1;background:#fcf9ed;border:1px solid #d6dfc6;border-radius:11px;grid-template-columns:repeat(5,1fr);gap:3px;padding:8px;display:grid;box-shadow:0 6px #d1dabd,0 14px 22px #57764d20}.preview-cell{color:#6b8067;isolation:isolate;white-space:nowrap;background:#fffdf5;border:1px solid #e4e5d4;border-radius:4px;justify-content:center;align-items:center;font-size:clamp(8px,.77vw,12px);display:flex;position:relative}.preview-cell.orange-dot,.preview-cell.blue-dot{color:#fff;font-weight:700}.preview-cell.orange-dot:before,.preview-cell.blue-dot:before{content:"";z-index:-1;background:#eeab5d;border-radius:50%;width:86%;height:86%;position:absolute;box-shadow:inset 0 -3px #ce8d45}.preview-cell.blue-dot:before{background:#619ccf;box-shadow:inset 0 -3px #4a81b0}.preview-sticker{color:#d09145;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:4px;padding:8px 12px;font-size:10px;font-weight:700;display:flex;position:absolute;bottom:-16px;right:7px;transform:rotate(11deg);box-shadow:0 4px 12px #445a4020}.chase-preview{aspect-ratio:.9;width:49%;position:relative;right:-6px}.preview-track{width:100%;height:100%;position:relative}.preview-road{opacity:.75;border:16px solid #d8e4ed;border-radius:42%;position:absolute;inset:17% 3% 15%}.track-word{z-index:2;color:#6f8a9f;background:#fffdf8;border:1px solid #dae3e6;border-radius:9px;padding:9px 10px;font-size:11px;font-weight:700;position:absolute;transform:rotate(-7deg);box-shadow:0 3px #d1dce5}.track-word-0{top:7%;left:24%}.track-word-1{top:10%;right:6%;transform:rotate(7deg)}.track-word-2{top:39%;right:-5%}.track-word-3{bottom:21%;right:0;transform:rotate(5deg)}.track-word-4{bottom:1%;right:30%;transform:rotate(-2deg)}.track-word-5{bottom:16%;left:0}.track-word-6{top:41%;left:-9%;transform:rotate(-14deg)}.track-word-7{top:13%;left:-3%;transform:rotate(-15deg)}.character{width:100px;height:auto;display:block;overflow:visible}.preview-police{z-index:3;width:47%;position:absolute;top:40%;left:10%;transform:rotate(-8deg)}.preview-thief{z-index:3;width:43%;position:absolute;top:21%;right:11%;transform:rotate(7deg)}.chase-doodle{color:#7699b6;text-align:center;font-family:Comic Sans MS,Trebuchet MS,sans-serif;font-size:11px;line-height:1.3;position:absolute;top:0;left:19%;transform:rotate(7deg)}.home-footer{flex-shrink:0;justify-content:space-between;align-items:center;min-height:43px;display:flex}.footer-tips{color:#859185;align-items:center;gap:23px;font-size:11px;display:flex}.footer-tips span{align-items:center;gap:7px;display:flex}.footer-tips svg{color:#8fa78d}.library-link{color:#7a8e75;background:0 0;border:0;align-items:center;gap:8px;font-size:11px;display:flex}.library-link b{color:#517654;font-size:15px}.library-link>span{color:#4d7553;padding-left:13px}.btn{color:#315846;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:11px 18px;font-size:14px;font-weight:600;line-height:1.4;display:inline-flex}.btn-primary{color:#fff;background:#38745c;box-shadow:0 3px #285e49}.btn-primary:hover{background:#2b644d}.btn-secondary{background:#f7faf1;border-color:#d5e0d5;box-shadow:0 2px #dfe7db}.btn-secondary:hover{background:#eaf1e5}.btn-quiet{color:#73816e;background:0 0;border-color:#0000;padding:8px 11px}.btn-quiet:hover{background:#e8efe4}.btn:disabled{box-shadow:none}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#193b3450;justify-content:center;align-items:center;padding:24px;animation:.16s fade-in;display:flex;position:fixed;inset:0}.modal-card{background:#fffdf6;border:1px solid #fff;border-radius:25px;width:min(100%,560px);max-height:calc(100dvh - 48px);padding:34px;animation:.22s modal-in;position:relative;overflow:auto;box-shadow:0 24px 100px #163b3540}.modal-title{color:#244f43;letter-spacing:-.5px;padding-right:24px;font-size:25px;font-weight:800}.modal-close{z-index:1;position:absolute;top:15px;right:15px}.modal-description{color:#7c8d7d;margin:14px 0 24px;font-size:14px;line-height:1.8}.confirmation-actions{justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.field{color:#6b7c69;flex-direction:column;gap:9px;font-size:13px;font-weight:600;display:flex}input.field,select.field,textarea.field,.field input,.field select,.field textarea{color:#3e6251;background:#fcfcf5;border:1px solid #dce4d8;border-radius:10px;width:100%;min-height:46px;padding:12px 14px;font-weight:500}input.field,select.field,textarea.field{display:block}textarea.field{resize:vertical;max-height:300px;line-height:1.65}.setting-grid{grid-template-columns:1fr 1fr;gap:19px;display:grid}.full-field{grid-column:1/-1}.setup-toggles{color:#6a7e6c;flex-wrap:wrap;gap:15px;margin:25px 0;font-size:12px;display:flex}.setup-toggles label{align-items:center;gap:8px;display:flex}.deck-note{color:#6c825f;background:#eaf1e5;border:1px solid #dbe6d5;border-radius:12px;align-items:flex-start;gap:10px;margin:20px 0;padding:13px;font-size:12px;line-height:1.7;display:flex}.deck-note svg{flex-shrink:0;margin-top:1px}.note-error{color:#ae6149;background:#fff0e6;border-color:#f2d3c0}.start-button{width:100%;min-height:55px;font-size:16px}.setup-footnote{color:#97a18e;justify-content:center;align-items:center;gap:6px;margin-top:19px;font-size:10px;display:flex}.challenge-modal{text-align:center;width:min(100%,650px);padding:35px 36px}.challenge-modal .modal-title{letter-spacing:2px;color:#81917a;padding:0;font-size:16px;font-weight:600}.challenge-kicker{color:#6c806c;justify-content:center;align-items:center;gap:8px;margin-top:19px;font-size:14px;display:flex}.challenge-word{letter-spacing:-2px;color:#2f5c4c;overflow-wrap:anywhere;margin:28px 0 8px;font-size:clamp(40px,6vw,79px);font-weight:800;line-height:1.2}.challenge-translation{color:#6d8e7d;margin-top:10px;font-size:25px}.read-word{color:#6c876d;background:#f0f4e9;border:1px solid #e3e8d9;border-radius:99px;align-items:center;gap:7px;margin-top:19px;padding:9px 15px;font-size:12px;display:inline-flex}.teacher-label{color:#97a08e;margin:30px 0 12px;font-size:11px}.answer-actions{grid-template-columns:1fr 1fr;gap:14px;display:grid}.answer-actions .btn{min-height:61px;font-size:16px}.answer-wrong{color:#a96b4b;background:#fff0e5;border-color:#edd7c6;box-shadow:0 3px #e8d0ba}.answer-correct{color:#fff;background:#4a8769;box-shadow:0 3px #357254}.answer-correct:hover{background:#397758}.answer-wrong:hover{background:#fde7d6}.result-modal{text-align:center;padding:39px 34px;overflow:hidden}.result-modal .modal-title{padding:0;font-size:29px}.result-modal .trophy{color:#dca34b;background:#fff0c5;border-radius:50%;place-items:center;width:104px;height:104px;margin:24px auto 18px;display:grid;box-shadow:0 0 0 12px #fff6da}.result-english{letter-spacing:-.5px;margin-top:30px;font-size:22px;font-weight:700}.result-modal .btn{z-index:1;width:100%;margin-top:6px;position:relative}.result-modal .btn-quiet{margin-top:15px;font-size:12px}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{border-radius:2px;width:8px;height:16px;animation:2.6s ease-out forwards confetti-fall;position:absolute;top:-20px}.help-section{border-top:1px solid #e1e8d9;margin-top:20px;padding-top:20px}.help-section h3{font-size:17px;font-weight:700}.help-section ol{color:#6b816d;margin:11px 0;padding-left:22px;font-size:13px;line-height:1.9}.help-section li{margin:5px 0;padding-left:4px}.help-tip{color:#6c8065;background:#edf4e7;border-radius:14px;margin:19px 0;padding:16px;font-size:13px}.help-tip p{margin-top:6px;font-size:12px;line-height:1.8}.help-modal>.btn{width:100%}.toast{z-index:60;color:#527257;background:#fffdf4;border:1px solid #dfe8d9;border-radius:14px;align-items:center;gap:11px;max-width:min(650px,100% - 36px);padding:14px 17px;font-size:13px;animation:.2s fade-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #28483b25}.toast svg{flex-shrink:0}.toast button{color:#819077;background:0 0;border:0;padding:4px;display:flex}.game-page{max-width:2200px;margin:auto;padding:20px clamp(24px,3.5vw,88px) 16px}.game-heading{justify-content:space-between;align-items:center;min-height:59px;margin-bottom:20px;display:flex}.game-heading h1{letter-spacing:-.9px;margin-top:6px;font-size:28px;font-weight:800}.game-heading h1>span{color:#80917d;letter-spacing:1px;vertical-align:middle;margin-left:14px;font-size:14px;font-weight:500}.game-heading .eyebrow{font-size:9px}.rule-badge{color:#658163;background:#fdfcf4;border:1px solid #dce5d6;border-radius:12px;align-items:center;gap:9px;padding:11px 15px;font-size:13px;font-weight:600;display:flex}.rule-badge span{color:#93a18a;border-left:1px solid #dce5d6;padding-left:11px;font-size:11px}.game-layout{grid-template-columns:minmax(0,1fr) clamp(250px,21vw,340px);gap:clamp(20px,3vw,45px);height:calc(100dvh - 204px);min-height:450px;display:grid}.board-stage{background:#e6eee080;border:1px solid #dce6d5;border-radius:22px;justify-content:center;align-items:center;padding:14px;display:flex;position:relative;overflow:hidden}.gomoku-grid{aspect-ratio:1;background:#e4e4d2;border:1px solid #dbdeca;border-radius:14px;gap:6px;width:min(100%,100dvh - 238px);max-width:1050px;padding:10px;display:grid;box-shadow:0 6px #d8dec8,0 12px 30px #536e4810}.gomoku-cell{color:#456445;isolation:isolate;background:#fffdf3;border:1px solid #e4e2d0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:2px;transition:background .2s,border-color .2s,transform .2s;display:flex;position:relative;opacity:1!important}.gomoku-cell:not(:disabled):hover{background:#f6f5dc;border-color:#9aba86;transform:translateY(-2px);box-shadow:0 2px #c9d9b7}.cell-word{letter-spacing:-.5px;z-index:2;overflow-wrap:anywhere;max-width:100%;padding:0 2px;font-size:clamp(14px,1.5vw,26px);font-weight:700;line-height:1.1;position:relative}.cell-word.long-word{font-size:clamp(11px,1.12vw,19px)}.cell-chinese{color:#8c997c;z-index:2;overflow-wrap:anywhere;max-width:100%;margin-top:6px;font-family:Microsoft YaHei,sans-serif;font-size:clamp(9px,.73vw,14px);line-height:1.1;position:relative}.size-10{gap:4px;padding:7px}.size-10 .cell-word{letter-spacing:-.5px;font-size:clamp(11px,1.05vw,22px)}.size-10 .cell-word.long-word{font-size:clamp(10px,.88vw,17px)}.size-10 .cell-chinese{margin-top:4px;font-size:clamp(8px,.66vw,13px)}.piece{z-index:0;background:#f0ad59;border-radius:50%;width:93%;height:93%;animation:.27s piece-pop;position:absolute;box-shadow:inset 0 -5px #d49144,inset 0 3px 2px #ffd2a0,0 2px 5px #b1834326}.piece-blue{background:#72a7d8;box-shadow:inset 0 -5px #5088bc,inset 0 3px 2px #b5d6f4,0 2px 5px #497dae22}.owned-orange,.owned-blue{color:#fffdf6}.owned-orange .cell-chinese,.owned-blue .cell-chinese{color:#fff8e4}.winning-cell{outline-offset:1px;z-index:2;outline:3px solid #7f9c59}.winning-cell .piece{animation:1.3s ease-in-out infinite win-pulse}.win-star{color:#fffbe0;text-shadow:0 0 5px #bc9144;z-index:3;font-size:17px;position:absolute;top:0;right:1px}.game-sidebar{flex-direction:column;gap:clamp(10px,1.5vh,20px);min-width:0;display:flex}.turn-card{background:#fff0db;border:1px solid #ecd2ac;border-radius:17px;padding:19px 21px;box-shadow:0 3px #ead4b43b}.turn-card.team-blue{background:#e8f0fa;border-color:#cfdeec;box-shadow:0 3px #c9d8e53b}.sidebar-label{letter-spacing:1.2px;color:#b78b56;font-size:10px;font-weight:700}.team-blue .sidebar-label{color:#7295b3}.turn-card>div{align-items:center;gap:11px;margin-top:10px;display:flex}.turn-card strong{letter-spacing:-1px;color:#be8744;font-size:28px;font-weight:800}.turn-card.team-blue strong{color:#5585b3}.team-disc{background:#efac56;border-radius:50%;width:24px;height:24px;display:block;box-shadow:inset 0 -3px #d69446}.team-disc.blue{background:#72a7d8;box-shadow:inset 0 -3px #5088bc}.turn-card p{color:#a48e6c;margin-top:7px;font-size:12px;line-height:1.6}.team-blue p{color:#8299ad}.score-panel{background:#fffdf5;border:1px solid #e0e6d8;border-radius:17px;padding:7px 18px}.score-row{justify-content:space-between;align-items:center;padding:17px 0;display:flex}.score-row+.score-row{border-top:1px solid #edf0e4}.score-row>span{padding-left:17px;font-size:16px;font-weight:700;position:relative}.score-row i{background:#e5a458;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:0}.score-row small{color:#9eaa91;letter-spacing:.5px;margin-top:5px;font-size:9px;font-weight:500;display:block}.score-row b{text-align:center;color:#d99849;font-size:31px;line-height:1}.score-row b small{letter-spacing:0;font-size:10px}.blue-score i{background:#6e9ac9}.blue-score b{color:#6b99c4}.correct-summary{color:#95a18b;border-top:1px solid #edf0e4;justify-content:space-between;gap:5px;padding:15px 0;font-size:10px;display:flex}.correct-summary b{color:#75886c}.game-task{color:#809674;background:#eaf0e1;border-radius:13px;align-items:flex-start;gap:12px;padding:17px;display:flex}.game-task>svg{color:#85a478;flex-shrink:0}.game-task b{color:#6e8863;font-size:13px;display:block}.game-task p{color:#93a38b;margin-top:6px;font-size:12px;line-height:1.8}.game-controls{flex-direction:column;gap:8px;margin-top:auto;display:flex}.game-controls>.btn{width:100%}.controls-row{justify-content:space-between;gap:4px;display:flex}.controls-row .btn{white-space:nowrap;flex:1;gap:5px;min-height:40px;padding:10px 4px;font-size:12px}.exit-button{min-height:35px;font-size:12px}.chase-stage{justify-content:center;align-items:center;min-width:0;padding:11px 0;display:flex}.route-board{aspect-ratio:9/5;grid-template-rows:repeat(5,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;width:min(100%,180dvh - 405px);max-height:100%;padding:0;display:grid;position:relative}.route-cell{background:#fffdf3;border:1px solid #e2e6d8;border-radius:13px;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0;padding:9px 4px;display:flex;position:relative;box-shadow:0 4px #e0e6d7}.route-word{letter-spacing:-.6px;text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:clamp(14px,1.35vw,26px);font-weight:700;line-height:1.08}.route-word.long-word{font-size:clamp(11px,1.05vw,20px)}.route-cell small{color:#8b9a7f;font-size:clamp(8px,.7vw,14px);line-height:1}.route-number{color:#b2bbaa;letter-spacing:.8px;font-size:9px;font-weight:700;position:absolute;top:7px;left:9px}.start-cell{background:#f2f7e9;border:2px solid #a9c4a8}.start-cell .route-number{color:#8cab86;font-size:8px}.target-cell{outline-offset:1px;background:#fff2cf;outline:3px solid #e4b55f;animation:.8s ease-in-out infinite target-pulse}.route-center{background:#e8f0e6;border:1px solid #d9e4d5;border-radius:28px;flex-direction:column;grid-area:2/2/5/9;justify-content:center;place-self:stretch stretch;align-items:center;margin:7px;padding:15px;display:flex;position:relative;overflow:hidden}.route-center:before{content:"";pointer-events:none;border:1px dashed #cadcc5;border-radius:26px;position:absolute;inset:12px}.center-kicker{letter-spacing:2px;color:#8ea78a;z-index:1;font-size:clamp(8px,.8vw,13px);font-weight:700}.route-center h2{text-align:center;letter-spacing:-2px;color:#5f8666;margin-top:12px;font-size:clamp(29px,3.3vw,63px);font-weight:800;line-height:1.05}.route-center h2 span{color:#86a881}.center-characters{align-items:center;gap:18px;margin:12px 0 5px;display:flex}.center-characters .character{width:clamp(57px,5.3vw,106px)}.chase-trail{color:#a9baa2;letter-spacing:2px;font-size:35px}.chase-trail>span{color:#e3b16b;display:inline-block;transform:rotate(-8deg)}.route-center p{letter-spacing:1px;color:#91a28a;margin-top:3px;font-size:12px}.round-pills{flex-wrap:wrap;justify-content:center;gap:5px;max-width:80%;margin-top:13px;display:flex}.round-pills i{background:#d5e2cf;border:1px solid #cdddc6;border-radius:50%;width:8px;height:8px}.round-pills .round-current{background:#e7b571;border-color:#e7b571;box-shadow:0 0 0 3px #e8b87720}.round-pills .round-done{background:#7da281;border-color:#7da281}.route-token{z-index:5;pointer-events:none;flex-direction:column;align-items:center;width:clamp(37px,3.8vw,75px);transition:left .24s ease-in-out,top .24s ease-in-out;display:flex;position:absolute;transform:translate(-50%,-50%)}.route-token .character{filter:drop-shadow(0 3px 1px #35534915);width:100%}.route-token>span{color:#fff;z-index:1;white-space:nowrap;background:#548dbf;border-radius:20px;margin-top:-4px;padding:2px 5px;font-size:8px;line-height:1.2;position:relative}.token-thief>span{background:#da9747}.route-direction{color:#b3c5a7;pointer-events:none;font-size:26px;line-height:1;position:absolute}.dir-top{top:20.5%;left:49%}.dir-right{top:48%;right:11.5%}.dir-bottom{bottom:20.5%;left:49%}.dir-left{top:48%;left:11.5%}.dice-panel{background:#fffdf4;border:1px solid #dfe5d6;border-radius:17px;flex-direction:column;align-items:center;gap:15px;padding:14px;display:flex}.dice{background:#fffdf9;border:1px solid #dddccb;border-radius:18px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:5px;width:clamp(66px,8.5vh,105px);height:clamp(66px,8.5vh,105px);padding:14px;display:grid;box-shadow:0 5px #e4e2d1,0 8px 18px #5570400b}.pip{opacity:0;aspect-ratio:1;background:#658773;border-radius:50%;place-self:center;width:100%;max-width:17px}.pip.visible{opacity:1}.dice.is-rolling{animation:.19s linear infinite dice-roll}.roll-button{color:#fff;background:#4d88bd;width:100%;min-height:50px;font-size:16px;box-shadow:0 3px #3973a5}.roll-button:hover{background:#3b78ad}.roll-orange{background:#dc9b4f;box-shadow:0 3px #be803b}.roll-orange:hover{background:#cc8b42}.roll-button:disabled{opacity:.6}.chase-stats{background:#fafbf3;border:1px solid #dfe6d7;border-radius:13px;grid-template-columns:1fr 1fr;padding:12px 0;display:grid}.chase-stats>div{flex-direction:column;justify-content:center;align-items:center;display:flex}.chase-stats>div+div{border-left:1px solid #e0e6d7}.chase-stats span{color:#97a28b;font-size:10px}.chase-stats b{color:#718966;margin-top:4px;font-size:25px;font-weight:800;line-height:1}.chase-stats small{color:#a1ab97;font-size:11px;font-weight:500}.chase-progress{color:#8c9b81;flex-wrap:wrap;justify-content:space-between;gap:7px;padding:0 4px;font-size:10px;display:flex}.chase-progress span{align-items:center;gap:4px;display:flex}.chase-progress i{background:#76a3ce;border-radius:50%;width:6px;height:6px;display:inline-block}.chase-progress i.orange{background:#e3a153}.chase-progress>small{text-align:center;color:#99a28e;width:100%;font-size:10px}.chase-layout .game-sidebar{gap:clamp(8px,1.15vh,17px)}.chase-layout .game-task{padding:12px 15px}.chase-layout .game-task p{margin-top:3px;font-size:11px}.chase-layout .turn-card{padding:15px 19px}.settings-page{max-width:1600px;margin:auto;padding:30px clamp(24px,4.5vw,88px) 45px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.page-heading h1{letter-spacing:-1px;margin-top:9px;font-size:32px;font-weight:800}.page-heading p{color:#8b9980;margin-top:8px;font-size:13px;line-height:1.7}.panel{background:#fffdf6;border:1px solid #e1e7d9;border-radius:18px;padding:23px;box-shadow:0 3px #e4e9db52}.panel h2{letter-spacing:-.3px;font-size:19px;font-weight:700}.panel h3{font-size:16px;font-weight:700}.settings-page>section.setting-grid{grid-template-columns:repeat(3,1fr);margin-bottom:22px}.toggle-row{align-items:center;gap:14px;display:flex}.toggle-row strong{font-size:13px;display:block}.toggle-row small{color:#98a38c;margin-top:5px;font-size:10px;line-height:1.6;display:block}.settings-columns{grid-template-columns:minmax(0,1fr) 335px;gap:22px;display:grid}.word-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;display:flex}.badge{color:#80956e;vertical-align:middle;background:#eaf1e2;border-radius:99px;margin-left:7px;padding:5px 9px;font-size:10px}.settings-note{color:#9ca68f;margin-top:7px;font-size:11px;line-height:1.7}.editor-actions{gap:2px;display:flex}.editor-actions .btn{min-height:35px;padding:7px;font-size:11px}.theme-tabs{border-bottom:1px solid #e3e9dc;flex-wrap:wrap;gap:7px;margin:20px 0 18px;padding-bottom:18px;display:flex}.theme-tabs .btn{flex-direction:column;flex:1;gap:3px;min-width:60px;min-height:45px;padding:8px 10px;font-size:12px}.theme-tabs span{opacity:.7;font-size:9px}.theme-tabs .btn-primary{box-shadow:none}.search-field{color:#a2af96;background:#fafcf4;border:1px solid #dfe5d7;border-radius:10px;flex:1;align-items:center;gap:8px;padding:10px 12px;display:flex}.search-field input{color:#567550;outline-offset:6px;background:0 0;border:0;width:100%;min-width:60px;font-size:12px}.word-toolbar>select{max-width:132px;min-height:39px;padding:10px;font-size:11px}.word-table{scrollbar-width:thin;scrollbar-color:#c8d8bb transparent;height:clamp(300px,45vh,750px);overflow-y:auto}.word-row{border-bottom:1px solid #edf0e5;align-items:center;gap:12px;min-height:66px;padding:13px 0;display:flex}.word-row>div:first-child{flex:1;min-width:0}.word-row strong{color:#527347;overflow-wrap:anywhere;font-size:16px;font-weight:700;display:block}.word-row>div>span{color:#a0ac93;margin-top:3px;font-size:11px;display:block}.word-meta{color:#95a88a;text-align:center;width:40px;font-size:10px}.word-meta small{color:#b2bba3;margin-top:3px;font-size:9px;display:block}.word-row-actions{gap:0;display:flex}.word-row-actions .btn{border-radius:10px;min-height:36px;padding:8px}.word-row.is-editing{background:#eef4e5;border-radius:8px;padding-left:10px}.word-form{flex-direction:column;gap:14px;display:flex}.word-form>label,.word-form .setting-grid>label{color:#798d6d;flex-direction:column;gap:7px;font-size:12px;display:flex}.word-form label small{color:#a4af97;font-size:10px;display:inline}.word-form input,.word-form select{min-height:43px;padding:11px;font-size:13px}.word-form .word-toolbar{margin-bottom:1px}.word-form>.btn{margin-top:3px}.paste-section{border-top:1px solid #e7ecdf;margin-top:23px;padding-top:21px}.paste-section textarea{min-height:110px;margin:12px 0;font-size:12px}.paste-section>.btn{width:100%;font-size:12px}.settings-error{color:#a56148;background:#fff0e6;border:1px solid #f1d7c6;border-radius:10px;margin-top:16px;padding:12px;font-size:12px;line-height:1.7}.word-editor-panel>.settings-note{margin-top:18px}.empty-state{text-align:center;color:#a1af96;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-state h3{font-size:18px}.empty-state p{font-size:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes piece-pop{0%{opacity:0;transform:scale(.45)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes win-pulse{50%{filter:brightness(1.09);transform:scale(.97)}}@keyframes target-pulse{50%{outline-color:#edd395}}@keyframes dice-roll{0%{transform:rotate(-13deg)translateY(0)}50%{transform:rotate(15deg)translateY(-4px)}to{transform:rotate(-13deg)translateY(0)}}@keyframes confetti-fall{0%{opacity:1;top:-20px}to{opacity:.2;top:110%;transform:rotate(460deg)}}@media(min-width:2000px){.home-page{max-width:1900px}.home-intro h1{font-size:92px}.intro-copy{font-size:20px}.game-entries{max-height:630px}.game-entry h2{font-size:46px}.entry-chinese{font-size:22px}.entry-description{font-size:18px}.entry-meta{margin-bottom:27px;font-size:14px}.entry-action{padding:17px 22px;font-size:20px}.game-tag{font-size:13px}.game-entry{padding:50px}.preview-cell{font-size:17px}.track-word{padding:14px;font-size:17px}.home-footer,.footer-tips,.library-link{font-size:15px}.footer-tips{gap:35px}.intro-note{width:330px;padding:33px}.note-pin{left:135px}.note-doodle{font-size:44px}.intro-note p{font-size:20px}.intro-note b{font-size:15px}.game-heading h1{font-size:39px}.game-heading h1>span{font-size:20px}.turn-card strong{font-size:40px}.turn-card p{font-size:17px}.sidebar-label{font-size:13px}.score-row>span{font-size:22px}.score-row b{font-size:43px}.score-row small,.correct-summary{font-size:13px}.game-task b{font-size:18px}.game-task p,.chase-layout .game-task p{font-size:16px}.game-controls .btn{min-height:53px;font-size:17px}.chase-progress,.chase-progress>small{font-size:14px}.chase-stats b{font-size:36px}.chase-stats span{font-size:14px}.chase-layout .game-task{padding:20px}.dice-panel{padding:24px}.roll-button{min-height:61px;font-size:21px}.route-center p{font-size:17px}.route-token>span,.route-number{font-size:12px}.start-cell .route-number{font-size:11px}.rule-badge{font-size:18px}.rule-badge span{font-size:15px}}@media(max-height:820px)and (min-width:1000px){.app-header{height:74px}.home-page{gap:19px;height:calc(100dvh - 74px);padding-top:19px}.home-intro h1{margin:12px 0;font-size:43px}.home-intro .eyebrow{font-size:9px}.intro-copy{font-size:11px;line-height:1.8}.intro-note{width:210px;margin-right:30px;padding:12px 18px}.intro-note p{font-size:11px}.note-doodle{font-size:25px}.note-stars{margin-top:0;font-size:17px}.game-entries{gap:20px;min-height:290px}.game-entry{padding:24px}.game-entry h2{margin-top:12px;font-size:26px}.entry-description{margin-top:13px;font-size:11px}.entry-meta{margin:8px 0 15px}.entry-action{padding:10px 14px;font-size:12px}.home-footer{min-height:35px}.game-page{padding-top:15px}.game-heading{min-height:51px;margin-bottom:15px}.game-heading h1{font-size:25px}.game-layout{gap:25px;height:calc(100dvh - 171px);min-height:440px}.gomoku-grid{width:min(100%,100dvh - 207px)}.game-sidebar{gap:11px}.turn-card{padding:14px 17px}.turn-card strong{font-size:26px}.turn-card p{font-size:11px}.score-row{padding:12px 0}.score-row b{font-size:28px}.score-panel{padding:5px 15px}.correct-summary{padding:11px 0}.game-task{padding:12px 14px}.game-task p{margin-top:4px;font-size:11px}.game-controls .btn{min-height:41px;font-size:12px}.game-controls .btn-quiet{min-height:32px;font-size:11px}.chase-layout .turn-card{padding:12px 15px}.chase-layout .game-sidebar{gap:8px}.dice-panel{gap:11px;padding:10px}.dice{border-radius:15px;gap:3px;width:66px;height:66px;padding:11px}.roll-button{min-height:44px;font-size:14px}.chase-stats{padding:9px 0}.chase-stats b{font-size:23px}.chase-progress{gap:4px;font-size:9px}.chase-progress>small{font-size:9px}.chase-layout .game-task{padding:10px}.chase-layout .game-task p{font-size:10px}.route-board{gap:6px;width:min(100%,180dvh - 347.4px)}.route-cell{border-radius:9px;padding-bottom:8px}.route-word{font-size:17px}.route-word.long-word{font-size:13px}.route-token{width:43px}.route-center{margin:5px;padding:12px}.route-center h2{margin-top:8px;font-size:40px}.center-characters{margin-top:8px;margin-bottom:0}.center-characters .character{width:68px}.route-center p{font-size:10px}.center-kicker{font-size:9px}.round-pills{margin-top:9px}}@media(max-width:1150px)and (min-width:901px){.app-header{padding:0 28px}.home-page{padding-inline:28px}.entry-copy{flex-basis:52%}.game-entry{padding:24px 20px}.game-entry h2{font-size:25px}.gomoku-preview{width:48%;right:0}.chase-preview{width:46%}.game-layout{grid-template-columns:minmax(0,1fr) 235px}.footer-tips{gap:13px;font-size:10px}.intro-note{margin-right:20px}.heading-spark{right:-65px}}@media(max-width:900px){.app-header{height:76px;padding:0 22px}.brand{gap:9px;font-size:19px}.brand-mark{width:32px;height:32px}.brand small{letter-spacing:1px;font-size:8px}.header-actions{gap:3px}.header-settings{padding:9px}.header-settings span{display:none}.header-divider{margin:0 3px}.icon-btn{width:36px;height:38px}.home-page{gap:30px;height:auto;min-height:calc(100dvh - 76px);padding:30px 24px 25px}.home-intro h1{font-size:48px}.intro-note{width:185px;margin-right:15px;padding:15px 10px}.note-pin{left:62px}.intro-note p{font-size:11px}.intro-note b{font-size:9px}.intro-copy{font-size:12px}.game-entries{grid-template-columns:1fr;gap:23px;min-height:0;max-height:none}.game-entry{min-height:320px;padding:32px}.entry-copy{flex-basis:52%}.game-entry h2{font-size:33px}.gomoku-preview{width:39%;max-width:245px;margin-left:auto;right:0}.preview-cell{font-size:12px}.chase-preview{aspect-ratio:1;width:39%;max-width:245px;margin-left:auto}.track-word{font-size:12px}.home-footer{flex-wrap:wrap;gap:20px}.footer-tips{flex-wrap:wrap;gap:15px;font-size:10px}.game-page{padding:18px 20px 24px}.game-heading h1{font-size:25px}.game-heading h1>span{margin:5px 0 0;font-size:12px;display:block}.rule-badge{gap:5px;padding:9px;font-size:11px}.rule-badge span{display:none}.game-layout{flex-direction:column;gap:20px;height:auto;min-height:0;display:flex}.board-stage{padding:10px}.gomoku-grid{width:100%;max-width:620px}.cell-word{font-size:clamp(12px,2.9vw,22px)}.cell-word.long-word{font-size:clamp(10px,2.1vw,17px)}.size-10 .cell-word{font-size:clamp(10px,2vw,17px)}.size-10 .cell-word.long-word{font-size:clamp(8px,1.65vw,14px)}.game-sidebar{grid-template-columns:1fr 1fr;gap:14px;display:grid}.turn-card{padding:15px}.score-row{padding:8px 0}.score-row>span{font-size:13px}.score-row b{font-size:24px}.correct-summary{padding:8px 0;font-size:9px}.game-task{padding:12px}.game-controls{margin:0}.game-controls .btn{min-height:41px;font-size:12px}.controls-row .btn{font-size:10px}.exit-button{min-height:30px!important}.chase-stage{padding:0;overflow:visible}.route-board{gap:5px;width:100%}.route-cell{border-radius:7px;gap:2px;padding:5px 2px;box-shadow:0 2px #dfe5d6}.route-word{letter-spacing:-.2px;font-size:clamp(10px,2vw,16px)}.route-word.long-word{font-size:clamp(8px,1.6vw,13px)}.route-number{font-size:6px;top:4px;left:3px}.start-cell .route-number{font-size:5px}.route-token{width:clamp(25px,4.5vw,42px)}.route-token>span{margin-top:-3px;padding:1px 3px;font-size:6px}.route-center{border-radius:17px;margin:2px;padding:8px}.route-center:before{border-radius:12px;inset:7px}.route-center h2{letter-spacing:-1px;margin-top:6px;font-size:clamp(23px,4.5vw,36px)}.center-kicker{letter-spacing:1px;font-size:7px}.center-characters{gap:8px;margin:6px 0 0}.center-characters .character{width:clamp(33px,7vw,57px)}.chase-trail{font-size:22px}.route-center p{margin-top:1px;font-size:8px}.round-pills{gap:3px;margin-top:6px}.round-pills i{width:5px;height:5px}.route-direction{font-size:15px}.chase-layout .game-sidebar{grid-template-columns:1fr 1fr;gap:12px}.dice-panel{grid-area:1/2/3;gap:13px;padding:12px}.chase-stats{padding:10px}.chase-progress{grid-column:1/3;padding:0}.chase-layout .game-task{grid-column:1}.chase-layout .game-controls{grid-column:2}.settings-page{padding:24px}.settings-columns{grid-template-columns:1fr}.settings-page>section.setting-grid{grid-template-columns:1fr;gap:18px}.word-table{height:400px}.page-heading h1{font-size:26px}.page-heading .btn{font-size:11px}.word-toolbar{gap:10px}.panel{padding:18px}}@media(max-width:540px){.app-header{padding:0 13px}.brand{gap:7px;font-size:15px}.brand small{letter-spacing:.7px;font-size:7px}.brand-mark{gap:3px;width:28px;height:28px}.header-divider{display:none}.header-actions{gap:0}.header-actions .icon-btn{width:31px}.header-actions .icon-btn svg{width:18px}.header-settings{background:0 0;border:0;padding:8px}.home-page{padding:24px 20px}.home-intro h1{letter-spacing:-2px;font-size:40px}.home-intro .eyebrow{letter-spacing:1px;font-size:8px}.heading-spark{font-size:.6em;top:33px;right:-36px}.intro-note{display:none}.intro-copy{font-size:11px}.game-entry{border-radius:19px;gap:6px;min-height:285px;padding:25px 22px}.game-entry h2{letter-spacing:-.9px;font-size:24px}.game-tag{letter-spacing:.5px;font-size:7px}.entry-chinese{font-size:13px}.entry-description{margin-top:13px;font-size:10px}.entry-meta{margin:8px 0 17px;font-size:9px}.entry-action{gap:15px;padding:10px 11px;font-size:11px}.gomoku-preview{width:45%;right:-8px}.preview-cell{font-size:7px}.preview-board{gap:2px;padding:5px}.preview-sticker{padding:5px 7px;font-size:7px;right:0}.chase-preview{width:42%;right:0}.track-word{padding:6px;font-size:8px}.chase-doodle{font-size:8px}.preview-road{border-width:11px}.library-link{font-size:10px}.footer-tips{gap:12px;font-size:9px}.modal-card{border-radius:20px;padding:25px 21px}.modal-title{font-size:22px}.modal-description{font-size:12px}.setting-grid{gap:12px}.setup-toggles{gap:13px;margin:19px 0;font-size:11px}.setup-footnote{font-size:8px}.challenge-modal{padding:29px 23px}.challenge-word{letter-spacing:-1.5px;font-size:46px}.answer-actions{gap:10px}.answer-actions .btn{gap:4px;min-height:54px;padding:11px 6px;font-size:12px}.answer-actions svg{width:18px}.game-page{padding:17px 14px 22px}.game-heading{margin-bottom:17px}.game-heading h1{font-size:22px}.rule-badge{font-size:10px}.gomoku-grid{border-radius:9px;gap:3px;padding:5px}.gomoku-cell{border-radius:4px}.cell-word{font-size:12px}.cell-word.long-word{font-size:9px}.cell-chinese{margin-top:3px;font-size:8px}.size-10 .cell-word{letter-spacing:-.4px;font-size:9px}.size-10 .cell-word.long-word{font-size:7px}.size-10 .cell-chinese{font-size:6px}.piece{box-shadow:inset 0 -2px #d49144}.piece-blue{box-shadow:inset 0 -2px #5088bc}.turn-card strong{font-size:23px}.sidebar-label{font-size:8px}.turn-card p,.game-task p{font-size:10px}.game-task b{font-size:11px}.game-task>svg{width:17px}.game-task{gap:6px}.controls-row{flex-wrap:wrap}.controls-row .btn{gap:3px;padding:7px 2px;font-size:9px}.controls-row .btn svg{width:14px}.score-panel{padding:5px 12px}.score-row small{font-size:7px}.game-sidebar{gap:9px}.correct-summary{line-height:1.7;display:block}.correct-summary>span{display:block}.center-kicker{font-size:5px}.route-center h2{margin-top:5px;font-size:22px;line-height:1}.center-characters{gap:6px;margin-top:3px}.center-characters .character{width:31px}.chase-trail{font-size:16px}.route-center p{letter-spacing:0;font-size:6px}.round-pills{margin-top:4px}.route-cell{gap:1px;padding-bottom:5px}.route-word{font-size:9px}.route-word.long-word{font-size:7px}.route-token{width:22px}.route-token>span,.route-cell small{font-size:5px}.route-board{gap:3px}.route-direction{font-size:11px}.settings-page{padding:24px 16px}.page-heading{align-items:flex-start;gap:10px}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.page-heading .btn{white-space:nowrap;gap:4px;min-height:38px;padding:9px}.page-heading .btn svg{width:15px}.theme-tabs{gap:3px}.theme-tabs .btn{min-width:48px;padding:7px 4px;font-size:10px}.theme-tabs span{font-size:7px}.word-row-actions .btn{padding:7px}.word-row strong{font-size:14px}.word-row{gap:9px}.word-toolbar>.settings-note{display:none}.confirmation-actions .btn{padding-inline:12px;font-size:12px}}.game-heading h1,.game-heading .eyebrow{line-height:1.1}.word-text{overflow-wrap:normal;word-break:normal;width:100%}.word-atom{white-space:nowrap;display:inline-block}.route-board{container-type:inline-size}.route-token{width:clamp(16px,4.3cqw,70px)}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.home-page{gap:clamp(12px,1.7vh,24px);max-width:1800px;padding-top:clamp(16px,2vh,28px)}.home-intro h1{margin:12px 0;font-size:clamp(34px,4.8vh,68px)}.intro-note{width:220px;padding:12px 20px}.junior-entries{flex:0 0 clamp(154px,19vh,250px);order:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-height:145px;display:grid}.game-entries{order:1;min-height:240px;max-height:380px}.home-footer{order:3}.game-entry{padding:clamp(18px,2.1vw,34px)}.game-entry h2{margin-top:10px}.entry-description{margin-top:12px}.entry-meta{margin:8px 0 14px}.junior-entry{color:#214c43;text-align:left;background:#e9f3ed;border:1px solid #d5e4db;border-radius:22px;align-items:center;gap:18px;min-width:0;padding:20px;display:flex;box-shadow:0 5px #dce6d450}.junior-memory{background:#eef2fb;border-color:#dbe3f0}.junior-sorting{background:#fff0db;border-color:#ebddc2}.junior-entry:hover{transform:translateY(-3px);box-shadow:0 8px #dce6d450}.junior-entry h2{letter-spacing:-.7px;font-size:clamp(20px,1.65vw,31px);font-weight:800;line-height:1.2}.junior-chinese{color:#617e6f;margin-top:5px;font-size:14px}.junior-description{color:#607d71;margin-top:10px;font-size:12px;line-height:1.7}.junior-meta{color:#366e58;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;font-size:11px;font-weight:700;display:flex}.junior-preview{flex:0 0 100px;height:112px;position:relative}.junior-preview img{object-fit:contain;filter:drop-shadow(0 5px 2px #214c4312);width:90px;height:90px}.preview-pair,.preview-flip,.preview-basket{background:#fffdf6;border:2px solid #fff;border-radius:10px;padding:7px 13px;font-size:18px;font-weight:800;position:absolute;bottom:0;right:-7px;transform:rotate(-7deg);box-shadow:0 4px #d5dfd1}.preview-flip{color:#fff;background:#6e9cc5;font-size:29px;right:0;transform:rotate(12deg)}.preview-basket{color:#4f4b36;background:#e4b867;border-radius:6px 6px 20px 20px}@media(min-width:851px)and (max-height:850px){.home-page{gap:12px;padding-bottom:12px}.home-intro h1{margin:8px 0;font-size:36px}.home-intro .eyebrow{font-size:9px}.intro-copy{font-size:11px;line-height:1.65}.intro-note{width:190px;padding:8px 16px}.intro-note .note-doodle{font-size:24px}.intro-note p{font-size:11px}.note-stars{margin-top:0;font-size:17px}.game-entries{min-height:225px}.game-entry{padding:18px 24px}.game-entry h2{font-size:25px}.entry-description{margin-top:8px;font-size:11px}.entry-meta{margin:6px 0 10px}.entry-action{padding:8px 12px}.gomoku-preview{max-width:210px;margin-left:auto}.chase-preview{max-width:220px;margin-left:auto}.junior-entries{flex-basis:154px}.junior-entry{gap:12px;padding:13px 16px}.junior-preview{flex-basis:75px;height:95px}.junior-preview img{width:74px;height:74px}.junior-description{margin-top:7px;font-size:11px}.junior-meta{margin-top:9px;font-size:10px}}@media(max-width:1100px)and (min-width:851px){.junior-preview{flex-basis:66px}.junior-preview img{width:65px;height:70px}.junior-entry{gap:10px;padding:14px}.junior-entry h2{font-size:19px}}@media(max-width:850px){.home-page{gap:22px;height:auto}.junior-entries{flex:auto;grid-template-columns:1fr}.junior-entry{gap:24px;min-height:156px}.junior-entry h2{font-size:26px}.junior-meta{max-width:290px}.game-entries{max-height:none}}@media(prefers-reduced-motion:reduce){.junior-entry:hover{transform:none}}.storage-warning{color:#925038;background:#fff0e6;border:1px solid #edcbb6;border-radius:12px;margin:0 0 18px;padding:14px 18px;font-size:14px;line-height:1.7}.junior-entries{flex-basis:clamp(240px,29vh,400px);grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;min-height:220px}.junior-entry{grid-column:span 2;gap:14px;padding:12px 20px}.junior-mole,.junior-mystery{grid-column:span 3}.junior-mole{background:#e6efd9;border-color:#d3dfc2}.junior-mystery{background:#f2eefa;border-color:#ddd6ee}.junior-preview{flex-basis:90px;height:95px}.junior-preview svg{width:100%;height:100%}.junior-entry h2{font-size:clamp(18px,1.4vw,28px)}.junior-description{margin-top:5px}.junior-meta{margin-top:7px}.timer-field>span:last-child{align-items:center;gap:10px;min-height:44px;display:flex}@media(min-width:851px)and (max-height:850px){.home-page{gap:9px;padding-top:12px}.home-intro h1{margin:5px 0;font-size:32px}.game-entries{min-height:210px}.junior-entries{flex-basis:220px;gap:9px}.junior-entry{gap:10px;padding:8px 14px}.junior-preview{flex-basis:74px;height:78px}.junior-preview img{width:65px;height:65px}.junior-entry h2{font-size:19px}.junior-chinese{margin-top:2px;font-size:12px}.junior-description{margin-top:3px;font-size:10px}.junior-meta{margin-top:4px;font-size:10px}}@media(max-width:850px){.junior-entries{flex:auto;grid-template-columns:1fr}.junior-entry{grid-column:span 1;padding:18px 22px}.junior-entry h2{font-size:25px}.junior-preview{flex-basis:95px;height:100px}}@media(min-width:1000px)and (max-height:820px){.picture-board.pairs-8 .picture-match-card{height:55px;min-height:55px;padding:2px 10px}.picture-board.pairs-8 .picture-column,.picture-board.pairs-8 .word-column{gap:5px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
