@charset "UTF-8";
:root{--ink:#263d35;--muted:#747c72;--green:#246653;--green-dark:#194f40;--mint:#e7f0e6;--cream:#f6f5ee;--yellow:#eed284;--line:#e5e5da;--red:#d95e50;--shadow:0 9px 26px #374e3510;font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--cream);font-size:15px;line-height:1.6}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #d49c2c;outline-offset:4px}button{color:inherit}a{color:var(--green)}button svg{pointer-events:none}.app-shell{max-width:1320px;margin:auto;padding:0 44px}.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:800;font-size:18px;letter-spacing:1px}.brand-sub{display:block;font-size:10px;letter-spacing:3px;font-weight:500;color:var(--muted);margin-top:-3px}.brand-block{display:grid;grid-template-columns:repeat(2,10px);gap:5px;padding:9px;border-radius:10px;background:var(--green);box-shadow:0 4px 0 #184d3e;transform:rotate(-7deg)}.brand-block i{width:10px;height:10px;border-radius:50%;background:#9cc7a7;box-shadow:0 2px 1px #163e3a66}.toolbar{display:flex;gap:9px;align-items:center}.tool-button{background:transparent;border:1px solid #dedfd4;border-radius:9px;padding:7px 11px;font-size:12px;min-height:38px;white-space:nowrap}.tool-button:hover{background:#e9ecdf}.tool-button[aria-pressed=true]{background:var(--mint);border-color:#a5c1aa}.tool-button span[aria-hidden]{font-size:15px;padding-right:2px}.rest-button{background:#fffdf6}.intro{display:flex;align-items:center;justify-content:space-between;margin:33px 0 26px}.eyebrow{font-size:12px;color:var(--green);letter-spacing:1.3px;font-weight:600;display:flex;gap:7px;align-items:center}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--green)}h1{font-size:clamp(29px,3.3vw,43px);line-height:1.35;letter-spacing:1px;margin:8px 0 7px;font-weight:850}h1>span{color:var(--green)}.intro p{font-size:14px;color:var(--muted);margin:0}.captain-tag{display:flex;gap:12px;align-items:center;border:1px solid #e4d6ac;padding:11px 23px 11px 16px;border-radius:13px;background:#fbf4dc;transform:rotate(3deg);margin-right:10px}.captain-icon{display:grid;place-items:center;background:var(--yellow);border:1px dashed #bc913c;border-radius:50%;width:38px;height:38px;font-size:23px;color:#8e671f}.captain-tag small{font-size:10px;color:#997a40;display:block;letter-spacing:2px}.captain-tag strong{font-size:16px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:25px}.step{background:#eeeee6;border:1px solid transparent;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 15px;border-radius:11px;position:relative;min-height:76px}.step-number{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid #d2d6c9;font-size:14px;font-weight:700;flex-shrink:0;color:#8e9586}.step strong{display:block;font-size:14px}.step small{display:block;font-size:10px;color:#979d91;margin-top:1px}.step:disabled strong{color:#8d9588}.step.active{background:var(--green);color:white;box-shadow:0 5px 10px #24665316}.step.active .step-number{background:#4f8870;border-color:#74a28b;color:#fff}.step.active small{color:#c6dccb}.step.completed:not(.active){background:#e5ede0;border-color:#d4e1ca}.step.completed:not(.active) .step-number{color:var(--green);background:#fbfff6;border-color:#bccfb3}.step-check{margin-left:auto;font-size:14px;color:var(--green)}.step.active .step-check{color:white}.game-layout{display:grid;grid-template-columns:326px minmax(0,1fr);gap:23px;align-items:start}.mission-panel{display:flex;flex-direction:column;gap:17px}.teacher-card{background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:22px 22px 14px;box-shadow:var(--shadow)}.teacher-heading{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px dashed var(--line)}.teacher-avatar{font-size:26px;display:grid;place-items:center;border-radius:50%;background:#f3e9d2;width:44px;height:44px}.teacher-heading strong{font-size:13px;display:block}.teacher-heading>div>span{font-size:10px;color:var(--muted);display:block;margin-top:1px;letter-spacing:1px}.icon-button{background:none;border:1px solid var(--line);width:33px;height:33px;border-radius:50%;font-size:12px;margin-left:auto;color:var(--green)}.teacher-message{padding:20px 0 12px;min-height:145px}.mission-kicker{font-size:10px;font-weight:700;letter-spacing:1px;color:#858c76}h2{line-height:1.55;margin:6px 0 8px;font-size:21px;letter-spacing:.2px}.teacher-message p{margin:0;font-size:13px;color:#747b6d;line-height:1.9}.clue-card{background:#f2f3e9;border-radius:10px;padding:12px 14px;font-size:13px;margin:0 0 17px;display:flex;flex-direction:column;gap:7px;min-height:64px}.clue-row{display:flex;align-items:center;gap:8px;justify-content:space-between}.clue-row strong{font-size:17px;color:var(--green)}.clue-row .clue-direction{font-size:13px;color:#8a917c}.clue-equation{font-size:21px;font-weight:700;letter-spacing:2px;line-height:1.8;text-align:center}.clue-equation .red{color:var(--red)}.clue-note{font-size:11px;color:#737b6c;text-align:center}.task-actions{display:flex;flex-direction:column;gap:9px}.primary-button,.secondary-button{width:100%;border-radius:9px;min-height:46px;padding:10px 15px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:650}.primary-button{background:var(--green);border:1px solid var(--green);color:#fff;box-shadow:0 3px 0 #134737}.primary-button:hover{background:var(--green-dark)}.primary-button:active{transform:translateY(2px);box-shadow:none}.primary-button:disabled{background:#a2b5a7;border-color:#a2b5a7;box-shadow:none;color:#fff}.primary-button span{margin-left:auto}.secondary-button{background:#fffefa;border:1px solid #cdd8c6;color:var(--green)}.secondary-button:hover{background:#edf3e6}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.choice-button{background:#fffef8;border:1.5px solid #d6ddce;border-radius:9px;padding:11px 7px;min-height:48px;font-size:20px;font-weight:700}.choice-button:hover{background:#e9f2e1;border-color:#7fa58c}.choice-button.correct{background:#e2efda;border-color:#5a8b66}.choice-button.try{background:#fff0d9;border-color:#d5aa57}.choice-grid.word-choices{grid-template-columns:1fr}.word-choices .choice-button{font-size:14px;min-height:44px;padding:9px}.feedback{font-size:12px;line-height:1.8;min-height:24px;margin:13px 0 9px;color:var(--green)}.feedback.hint{color:#8d6528}.mission-footer{display:flex;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px dashed var(--line)}.text-button{background:none;border:0;padding:2px 0;font-size:11px;color:#7a826e;text-decoration:none;min-height:28px}.text-button:hover{color:var(--green);text-decoration:underline}.discovery-card{background:#eeefe1;border:1px solid #e2e5d3;border-radius:13px;padding:18px 21px}.section-label{display:flex;align-items:center;gap:8px;color:var(--green)}.section-label>span{font-size:20px}h3{font-size:13px;margin:0}.empty-discovery{font-size:12px;color:#8d947e;line-height:1.9;margin:8px 0 0}.discovery-item{font-size:12px;margin:11px 0 0;padding-top:10px;border-top:1px dashed #d4dcc5;display:flex;align-items:flex-start;gap:9px}.discovery-tick{font-size:11px;background:#dae6ca;color:var(--green);border-radius:50%;width:18px;height:18px;text-align:center;flex-shrink:0}.discovery-item strong{font-size:14px;display:block}.discovery-item small{font-size:10px;color:#848d75}.problem-card{font-size:12px;border:1px solid var(--line);border-radius:10px;background:#f9f9f2;padding:12px 16px}.problem-card summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;color:#717c68}.problem-card summary::-webkit-details-marker{display:none}.problem-card p{line-height:1.9;margin:12px 0 0}.problem-note{color:#8a917c;font-size:10px}.play-card{background:#fffefa;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:22px 28px 0;overflow:hidden}.play-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-overline{font-size:8px;letter-spacing:1.7px;color:#9b9f8e}.play-heading h2{font-size:19px;line-height:1.5;margin:2px 0}.play-heading h2 span{font-size:10px;display:inline-block;color:#8b947e;border:1px solid #e0e5d5;padding:1px 8px;margin-left:7px;border-radius:5px;vertical-align:middle;font-weight:500;letter-spacing:.5px}.placed-counter{background:#f1f3e8;border-radius:7px;display:flex;align-items:center;gap:6px;font-size:10px;padding:5px 11px;white-space:nowrap;color:#7b866d}.placed-counter strong{font-size:19px;line-height:1.3;color:var(--green);font-variant-numeric:tabular-nums}.counter-dot,.caption-dot{width:5px;height:5px;display:inline-block;background:#91ad7f;border-radius:50%}.board-wrap{position:relative;max-width:628px;margin:24px auto 0;padding:31px 34px 56px}.board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));aspect-ratio:1;isolation:isolate;border:1px solid #d9d9c3;border-radius:9px;background:#e8e9d8;box-shadow:0 6px 0 #d5d8bc,0 13px 23px #57623d0c;padding:5px;gap:2px;position:relative}.cell{aspect-ratio:1;min-width:0;background:#f2f1e0;border:0;position:relative;padding:0;display:flex;align-items:center;justify-content:center;border-radius:3px;touch-action:manipulation;overflow:visible;user-select:none}.cell::before{content:"";width:34%;height:34%;background:#e9e9d5;border-radius:50%;border-top:1px solid #e0e1cb;box-shadow:0 1px 0 #fff9;position:absolute;left:33%;top:33%;z-index:-1}.cell:not(.occupied):not(.target){cursor:default}.cell.target{background:#dfe8c7;cursor:pointer;border:1px dashed #b1c28f}.cell.target:hover{background:#c9dcad}.footprints{width:20px;height:20px;opacity:.55;display:flex;gap:3px;align-items:center;transform:rotate(-14deg);pointer-events:none}.footprints i{display:block;width:7px;height:15px;border-radius:65% 45% 40% 35%;background:#8c9e6d}.footprints i:nth-child(2){transform:translateY(-4px)}.cell.occupied{background:#e4e8d0;cursor:pointer}.cell.lulu-cell{background:#f7d9b7!important;box-shadow:inset 0 0 0 1.5px #dcaa69;z-index:2}.cell.dim .person{opacity:.28}.cell.counting{background:#c0d6a8!important;outline:2px solid #70965c;outline-offset:-1px;z-index:3}.cell.counting.lulu-cell{background:#f8cf9e!important;outline-color:#ca7e3d}.cell.row-mark{background:#cfdfb3}.cell.col-mark{background:#c2dad6}.cell.hint-cell{outline:3px solid #cc9940;outline-offset:-3px}.person{width:79%;height:92%;max-width:44px;position:relative;filter:drop-shadow(0 2px 0 #424e3a26);pointer-events:none;overflow:visible}.person .torso{fill:#5c6867}.person .arm{fill:#74817b}.person .leg{fill:#465553}.person .head{fill:#e7cb82}.person .head-top{fill:#d5b76f}.person.other-person .torso{fill:#b3bbb0}.person.other-person .arm{fill:#c7ccbf}.person.other-person .leg{fill:#929e93}.person.other-person .head{fill:#e0d3ab}.person.other-person .head-top{fill:#d3c69f}.person.lulu-person .torso{fill:#d95549}.person.lulu-person .arm{fill:#e5705d}.person.lulu-person .leg{fill:#ad4339}.person.lulu-person .head{fill:#f3d486}.person.lulu-person .head-top{fill:#d9b767}.person .face{fill:none;stroke:#5a4e36;stroke-width:1.2;stroke-linecap:round}.person .eye{fill:#5a4e36}.person.lulu-person .shirt-detail{fill:#fff1c9}.person .shirt-detail{fill:#e2e7d8}.count-badge{position:absolute;right:-3px;top:-5px;display:grid;place-items:center;background:#246653;color:#fff;border:2px solid #fffefa;border-radius:50%;height:24px;min-width:24px;font-size:12px;font-weight:800;z-index:5;box-shadow:0 2px 4px #31533125}.count-badge.double{background:var(--red);font-size:10px;min-width:27px}.lulu-label{position:absolute;bottom:-5px;font-size:8px;line-height:14px;background:#c24d3f;color:white;border-radius:3px;padding:0 4px;z-index:4;white-space:nowrap}.direction{position:absolute;color:#80906f;font-size:12px;font-weight:600;line-height:22px}.direction-front{top:0;left:50%;transform:translateX(-50%);display:flex;gap:6px}.direction-back{bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.direction-left{top:49%;left:-3px;font-size:10px}.direction-right{top:49%;right:-3px;font-size:10px}.board-caption{position:absolute;bottom:-2px;left:0;width:100%;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#859173;line-height:20px;text-align:center}.board-legend{display:flex;align-items:center;justify-content:center;gap:23px;margin:22px 0 20px;font-size:10px;color:#7d8673;flex-wrap:wrap}.board-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:2px;display:inline-block}.legend-dot.lulu{background:#d95e50}.legend-dot.peer{background:#63706a}.legend-dot.other{background:#b3bcae}.board-bottom{font-size:10px;color:#929986;padding:14px 0;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.page-footer{padding:24px 0 28px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#969d89}.page-footer>span{display:flex;align-items:center;gap:7px}.page-footer i{height:5px;width:5px;display:inline-block;border-radius:50%;background:#a6b68e}.answer-form{display:flex;flex-direction:column;gap:12px}.answer-line{display:flex;justify-content:center;align-items:center;gap:7px;font-size:19px;font-weight:700;margin:5px 0}.answer-line input{min-width:0;width:53px;max-width:23%;height:51px;border:1.5px solid #b6c8a9;border-radius:8px;background:#fffffb;text-align:center;font-size:21px;color:var(--green);font-weight:700;-moz-appearance:textfield}.answer-line input::-webkit-inner-spin-button,.answer-line input::-webkit-outer-spin-button{-webkit-appearance:none}.answer-line small{font-size:11px;white-space:nowrap;font-weight:400}.answer-labels{display:flex;justify-content:center;gap:15px;font-size:10px;color:#819073}.counter-equation{font-size:13px;letter-spacing:1px;text-align:center;color:var(--green);font-weight:600}.finish-badge{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;margin-bottom:7px}.finish-badge>span{font-size:35px;color:#be923c}.finish-badge strong{display:block;font-size:18px;color:var(--green)}.finish-badge small{font-size:10px;color:#839073}.mini-progress{height:5px;background:#e2e7d7;border-radius:9px;overflow:hidden;margin:2px 0 5px}.mini-progress span{display:block;height:100%;background:#85a16d;border-radius:9px;transition:width .2s}.progress-caption{text-align:center;font-size:10px;color:#8a947a}.action-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-two button{font-size:12px;padding:8px 4px}.review-note{padding:5px 0;font-size:11px;color:#839073}.hidden{display:none!important}dialog{border:1px solid #dfe3d3;border-radius:20px;background:#fffef7;color:var(--ink);padding:36px;box-shadow:0 20px 80px #17392833;max-height:88dvh;overflow-y:auto}dialog::backdrop{background:#233c3273;backdrop-filter:blur(3px)}.small-dialog{max-width:410px;text-align:center}.small-dialog .eyebrow{justify-content:center}.dialog-illustration{font-size:49px;margin:10px 0 15px}.small-dialog h2{font-size:24px;margin-top:12px}.small-dialog p{font-size:13px;color:#7c8771;line-height:2;margin:14px 0 25px}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;width:32px;height:32px;font-size:25px;color:#87917b}.guide-dialog{max-width:620px;font-size:14px;line-height:1.95}.guide-dialog h2{font-size:25px}.guide-dialog p{color:#75806e}.guide-dialog ol{padding-left:22px}.guide-dialog li{padding:7px 0 7px 5px}.guide-note{font-size:12px;background:#edf1e3;border-radius:10px;padding:17px 20px}.source-note{font-size:11px}.noscript{position:fixed;inset:20px;background:#fff5df;padding:50px;border:3px solid #ba973f;z-index:20}.new-piece{animation:place-piece .24s ease-out}.celebrate{animation:gentle-glow 1s ease-out}.hint-pulse{animation:gentle-glow 1.3s ease-out}.pressed-hint{background:#f5e9c8!important}@keyframes place-piece{from{opacity:.3;transform:translateY(-7px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gentle-glow{0%,100%{box-shadow:0 6px 0 #d5d8bc}50%{box-shadow:0 6px 0 #c6d4a8,0 0 0 5px #ead08299}}[data-motion="reduce"] *,[data-motion="reduce"] *::before,[data-motion="reduce"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1400px){.app-shell{padding:0 38px}.game-layout{grid-template-columns:340px minmax(0,1fr);gap:28px}.board-wrap{max-width:650px}.teacher-card{padding:24px 25px 14px}.intro{margin-top:38px}}
@media(max-width:1050px){.app-shell{padding:0 26px}.game-layout{grid-template-columns:290px minmax(0,1fr);gap:16px}.teacher-card{padding:18px 17px 12px}.play-card{padding:18px 15px 0}.step{padding:11px;gap:9px}.step strong{font-size:12px}.step small{font-size:9px}.board-wrap{padding-left:27px;padding-right:27px}.person{width:84%;height:95%}.board-legend{gap:12px;font-size:9px}.count-badge{height:21px;min-width:21px;font-size:10px}.play-heading h2{font-size:17px}.placed-counter{padding:5px 8px;gap:4px}.section-overline{font-size:7px}}
@media(max-width:800px){.app-shell{max-width:680px;padding:0 20px}.topbar{min-height:78px}.brand{font-size:16px;gap:10px}.brand-block{grid-template-columns:repeat(2,8px);gap:4px;padding:8px}.brand-block i{width:8px;height:8px}.tool-button{font-size:10px;padding:5px 7px;min-height:34px}.toolbar{gap:6px}.intro{margin:25px 0 22px}.intro p{font-size:12px}.captain-tag{padding:8px 12px;gap:8px;margin-right:4px}.captain-icon{width:30px;height:30px;font-size:18px}.captain-tag small{font-size:8px}.captain-tag strong{font-size:12px}.steps{gap:6px;margin-bottom:18px}.step{min-height:62px;padding:9px 8px;gap:7px;justify-content:center}.step-number{width:25px;height:25px;font-size:11px}.step strong{font-size:11px}.step small{display:none}.step-check{display:none}.game-layout{display:flex;flex-direction:column;gap:16px}.mission-panel{display:contents}.teacher-card{width:100%;padding:15px 18px 12px;order:0}.teacher-heading{padding-bottom:10px}.teacher-avatar{width:34px;height:34px;font-size:21px}.teacher-heading strong{font-size:12px}.teacher-heading>div>span{font-size:9px}.teacher-message{padding:12px 0 10px;min-height:auto}.mission-kicker{font-size:9px}.teacher-message h2{font-size:20px;margin:3px 0 5px}.teacher-message p{font-size:12px}.clue-card{padding:10px 12px;margin-bottom:12px;min-height:0;flex-direction:row;justify-content:space-around;gap:15px;flex-wrap:wrap}.clue-row{gap:10px;font-size:12px}.clue-row strong{font-size:16px}.clue-equation{font-size:19px;line-height:1.6}.clue-note{align-self:center}.feedback{min-height:0;margin:8px 0;font-size:11px}.feedback:empty{display:none}.mission-footer{padding-top:7px}.task-actions .primary-button,.task-actions .secondary-button{min-height:44px}.discovery-card{order:2;width:100%;padding:14px 18px}.discovery-item{display:inline-flex;vertical-align:top;border-top:0;border-left:1px dashed #d2dbc3;margin-right:13px;padding:0 0 0 13px;font-size:11px}.discovery-item:first-child{border-left:0;padding-left:0}.empty-discovery{font-size:11px}.empty-discovery br{display:none}.problem-card{order:3;width:100%}.play-card{order:1;width:100%;padding:18px 20px 0}.board-wrap{max-width:560px;margin-top:17px;padding:29px 28px 51px}.board-legend{margin-top:17px;margin-bottom:15px;font-size:10px;gap:20px}.board-bottom{font-size:10px;padding:11px 0}.board-caption{bottom:-2px;font-size:10px}.direction-back{bottom:25px}.board{gap:2px;padding:5px}.cell{min-height:0}.person{width:79%;height:92%}.placed-counter{font-size:10px}.play-heading h2{font-size:18px}.section-overline{font-size:8px}.page-footer{padding-top:20px}.answer-line input{width:62px;max-width:23%}.answer-form{max-width:360px;width:100%;margin:auto}.word-choices{max-width:420px;width:100%;margin:auto}.choice-grid:not(.word-choices){max-width:390px;width:100%;margin:auto}.task-actions{max-width:100%}.task-actions>.primary-button,.task-actions>.secondary-button{max-width:420px;margin:0 auto}.finish-badge{padding:2px}.progress-caption{font-size:10px}}
@media(max-width:450px){.app-shell{padding:0 13px}.brand{font-size:14px}.brand-sub{font-size:8px;letter-spacing:2px}.topbar{gap:8px}.toolbar{gap:5px}.tool-button{font-size:9px;padding:4px 6px}.tool-button span[aria-hidden]{display:none}.intro{align-items:center;gap:8px}.eyebrow{font-size:10px;letter-spacing:.5px}.intro h1{font-size:30px;letter-spacing:0}.intro p{font-size:11px;max-width:230px}.captain-tag{padding:7px 8px;gap:5px}.captain-icon{width:25px;height:25px;font-size:15px}.captain-tag strong{font-size:10px}.captain-tag small{font-size:7px;letter-spacing:1px}.step{gap:5px;padding:8px 5px;min-height:52px;border-radius:8px}.step strong{font-size:10px}.step-number{width:20px;height:20px;font-size:10px}.play-card{padding:14px 12px 0}.board-wrap{padding:29px 23px 51px}.board{gap:1.5px;padding:4px}.person{width:90%;height:100%}.count-badge{top:-4px;right:-3px;min-width:18px;height:18px;font-size:9px;border-width:1.5px}.count-badge.double{min-width:22px;font-size:8px}.lulu-label{font-size:7px;line-height:11px;bottom:-4px;padding:0 3px}.board-legend{gap:12px;font-size:9px}.board-bottom{font-size:9px}.board-caption{font-size:9px}.direction-left,.direction-right{font-size:9px}.section-overline{font-size:6px}.play-heading h2{font-size:16px}.placed-counter{font-size:9px;padding:4px 7px;gap:4px}.placed-counter strong{font-size:17px}.play-heading h2 span{font-size:8px;margin-left:3px;padding:0 5px}.teacher-card{padding:14px 15px 10px}.teacher-message h2{font-size:19px}.clue-card{gap:10px}.clue-row{font-size:11px;gap:7px}.clue-row strong{font-size:16px}.clue-direction{font-size:11px!important}.page-footer{font-size:9px}.page-footer .text-button{font-size:10px}.guide-dialog{margin:14px;max-width:calc(100% - 28px);padding:28px 22px;font-size:12px}.guide-dialog h2{font-size:21px}dialog.small-dialog{margin:auto 18px;width:calc(100% - 36px);padding:30px 24px}.source-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:801px) and (max-height:900px){.topbar{min-height:65px}.intro{margin:18px 0 17px}h1{font-size:34px;margin:4px 0}.intro p{font-size:12px}.steps{margin-bottom:18px}.step{min-height:61px;padding-top:9px;padding-bottom:9px}.teacher-card{padding-top:16px}.teacher-heading{padding-bottom:11px}.teacher-message{padding:13px 0 10px;min-height:115px}.teacher-message h2{font-size:20px}.clue-card{margin-bottom:12px;padding:9px 12px;gap:3px}.feedback{margin:8px 0;min-height:0}.feedback:empty{display:none}.mission-footer{padding-top:8px}.discovery-card{padding:12px 18px}.discovery-item{margin-top:7px;padding-top:7px}.play-card{padding-top:16px}.board-wrap{max-width:min(100%,calc(100dvh - 284px));margin-top:10px;padding-top:26px;padding-bottom:46px}.direction-back{bottom:22px}.board-caption{font-size:10px;bottom:-5px}.board-legend{margin:16px 0 11px}.board-bottom{padding:9px 0}.page-footer{padding:15px 0}.section-overline{font-size:7px}.play-heading h2{font-size:17px}.person{width:84%;height:96%}.lulu-label{font-size:7px;line-height:11px}.count-badge{height:20px;min-width:20px;font-size:10px}.count-badge.double{font-size:8px;min-width:23px}}

/* 读题与出题：重要信息先用黑字，按孩子的节奏逐步标蓝。 */
.problem-card{background:#fafbf5;border:1px solid #dfe5d4;border-radius:12px;padding:18px 20px;margin:0 0 22px;color:#111;font-size:19px;scroll-margin-top:16px}
.problem-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px}.problem-heading h2{font-size:18px;line-height:1.6;margin:0;color:#111}.problem-card #problem-text{font-size:22px;line-height:2;letter-spacing:.3px;margin:7px 0 10px;color:#111;overflow-wrap:anywhere}.problem-position,.problem-condition{color:#111;font-weight:650;border-radius:3px;padding:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.problem-number{font-size:1.12em;font-weight:800;line-height:1}.highlight-button{border:1.5px solid #aac4c8;background:#eff6f7;color:#154f68;min-height:42px;padding:7px 13px;border-radius:9px;font-weight:700;font-size:15px;white-space:nowrap}.highlight-button:hover{background:#dceff5}.highlight-button[aria-pressed=true]{background:#e4f1ff;border-color:#80addd;color:#1559aa}.highlight-status{font-size:14px!important;line-height:1.8!important;margin:9px 0 0!important;color:#3e5555}.direction,.direction-left,.direction-right{color:#111;font-size:16px;white-space:nowrap}.direction-left{left:-10px}.direction-right{right:-10px}.clue-row{font-size:16px;color:#111}.clue-row strong{color:#111;font-size:23px}.clue-row .clue-direction{font-size:17px;color:#111}.clue-equation,.counter-equation,.clue-equation .red,.placed-counter strong,.answer-line input,.discovery-item strong{color:#111}.count-badge,.count-badge.double{color:#111;background:#d4e3b8}.count-badge.double{background:#f5c6a3}.clue-note{font-size:13px;color:#394b3d}.teacher-message h2{font-size:24px}.teacher-message p{font-size:16px;color:#283c32}.teacher-heading strong{font-size:15px}.mission-kicker{font-size:12px}.feedback{font-size:14px}.primary-button,.secondary-button{font-size:16px}.word-choices .choice-button{font-size:16px}.choice-button{color:#111;font-size:24px}.progress-caption{font-size:13px}.board-caption{font-size:13px}.board-legend{font-size:12px}.board-bottom{font-size:12px}.text-button{font-size:13px}.discovery-item{font-size:14px}.discovery-item strong{font-size:17px}.discovery-item small{font-size:12px}.step strong{font-size:16px}.step small{font-size:12px}.placed-counter{font-size:12px}.empty-discovery{font-size:14px}
[data-highlights="1"] .problem-position,[data-highlights="2"] .problem-position,[data-highlights="2"] .problem-condition{color:#075bcc;background:#e8f1ff;text-decoration:underline;text-decoration-color:#86b5ef;text-underline-offset:4px}
[data-highlights="1"] .direction,[data-highlights="2"] .direction,[data-highlights="1"] .clue-row strong,[data-highlights="2"] .clue-row strong,[data-highlights="1"] .clue-direction,[data-highlights="2"] .clue-direction,[data-highlights="1"] .count-badge,[data-highlights="2"] .count-badge{color:#075bcc}
.settings-dialog{width:540px;max-width:calc(100% - 32px);padding:34px;color:#111}.settings-dialog h2{font-size:26px;margin-top:10px}.settings-description{font-size:16px;margin:13px 0 20px}.settings-button{font-weight:700;background:#e9f0e0;border-color:#c5d4ba}.name-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 8px}.character-button{font-size:22px;font-weight:700;border:1.5px solid #d2dbc9;border-radius:11px;background:#fafcf4;min-height:72px;padding:12px;color:#111}.character-button:hover,.character-button[aria-pressed=true]{border-color:var(--green);background:#e6f0de;box-shadow:inset 0 0 0 1px var(--green)}.position-fields{display:flex;flex-direction:column;gap:12px}.position-fields>label{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px dashed #dfe5d5;padding:0 0 12px;font-size:17px;line-height:1.6}.position-input{display:flex;align-items:center;gap:8px;font-size:14px}.position-input input{width:67px;height:48px;border:1.5px solid #bdcbb1;border-radius:8px;font-size:23px;font-weight:700;text-align:center;color:#111;background:#fffef7}.position-input input[aria-invalid=true]{border:2px solid #c74a34;background:#fff1e9}.settings-help{font-size:13px;color:#526451;line-height:1.9;margin:16px 0 8px}.settings-error{font-size:14px;color:#ae3b24;line-height:1.8;margin:10px 0;min-height:0}.settings-error:empty{display:none}.settings-back{display:block;margin:14px auto 4px;color:var(--green);font-size:14px}.settings-footnote{font-size:12px;color:#66735e;text-align:center;margin:8px 0 0}
@media(max-width:1050px){.game-layout{grid-template-columns:310px minmax(0,1fr)}.step strong{font-size:14px}.step small{font-size:10px}.problem-card{padding:16px}.problem-card #problem-text{font-size:20px}.problem-heading h2{font-size:16px}.board-wrap{padding-left:37px;padding-right:37px}.direction-left{left:0}.direction-right{right:0}.direction,.direction-left,.direction-right{font-size:14px}.board-legend{font-size:10px;gap:12px}}
@media(max-width:800px){.problem-card{margin-bottom:18px;padding:14px 16px}.problem-card #problem-text{font-size:21px;line-height:1.95}.problem-heading h2{font-size:17px}.problem-heading{gap:9px}.highlight-button{font-size:14px;padding:7px 10px}.teacher-message h2{font-size:23px}.teacher-message p{font-size:16px}.clue-card{gap:16px}.clue-row{font-size:16px}.clue-row strong{font-size:23px}.step strong{font-size:12px}.step small{display:none}.board-caption{font-size:12px}.board-bottom{font-size:11px}.board-legend{font-size:11px}.direction,.direction-left,.direction-right{font-size:15px}.board-wrap{padding-left:34px;padding-right:34px}.discovery-item strong{font-size:16px}.discovery-item small{font-size:12px}}
@media(max-width:450px){.toolbar{gap:4px}.tool-button{font-size:10px;padding:4px 6px}.brand{font-size:12px;gap:7px}.brand-block{padding:6px;gap:3px;grid-template-columns:repeat(2,7px)}.brand-block i{width:7px;height:7px}.brand-sub{font-size:7px;letter-spacing:1px}.topbar{gap:6px}.problem-card{padding:13px 12px}.problem-card #problem-text{font-size:20px}.problem-heading h2{font-size:16px}.highlight-button{font-size:12px;min-height:38px;padding:6px 9px}.highlight-status{font-size:12px!important}.teacher-message h2{font-size:22px}.teacher-message p{font-size:15px}.step strong{font-size:10px}.direction,.direction-left,.direction-right{font-size:13px}.board-wrap{padding-left:29px;padding-right:29px}.board-caption{font-size:11px}.board-legend{font-size:10px;gap:10px}.board-bottom{font-size:10px}.settings-dialog{padding:30px 20px;max-width:calc(100% - 24px)}.settings-dialog h2{font-size:23px}.name-grid{gap:10px}.character-button{min-height:63px;font-size:21px}.position-fields>label{font-size:15px;gap:5px}.position-input{gap:5px}.position-input input{width:55px;font-size:21px}.settings-description{font-size:15px}}
.teacher-message{min-height:0;padding-bottom:14px}.mission-support{margin:16px 0 12px}.mission-support #mission-description{font-size:16px;line-height:1.9;color:#283c32;margin:0}.mission-support .clue-card{margin:12px 0 0}.cell.placeable{cursor:pointer}.cell.placeable:hover:not(.target){background:#e7ead5}
@media(max-width:800px){.teacher-message{padding-bottom:12px}.mission-support{margin:13px 0 10px}}
@media(max-width:450px){.mission-support #mission-description{font-size:15px}}
.formula-number{display:inline-flex;align-items:center;justify-content:center;vertical-align:baseline;min-width:1.05em;margin:0;padding:1px 2px;border:1px solid transparent;border-radius:5px;background:transparent;color:#111;font:inherit;font-weight:inherit;line-height:1.45;letter-spacing:inherit;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:#b8c8aa;text-underline-offset:4px;touch-action:manipulation}.formula-number:hover,.formula-number.formula-active{color:#075bcc;border-color:#659fd4;background:#e0edff;text-decoration-color:#337ec4}.formula-number:disabled{cursor:default}.formula-help{font-size:11px;line-height:1.8;text-align:center;color:#657c60;margin-top:4px}.clue-equation{white-space:normal}.board.formula-preview-active .cell.formula-lit{background:#d8eaff!important;outline:2px solid #397fbd;outline-offset:-2px;z-index:4}.board.formula-preview-active .cell.formula-lit.lulu-cell{background:#f6d6b5!important;outline:3px solid #397fbd;outline-offset:-3px}.board.formula-preview-active .cell.formula-lit .person{opacity:1}.board.formula-preview-active .cell.formula-muted .person{opacity:.16}.board.formula-preview-active .count-badge:not(.formula-duplicate-badge){display:none}.board.formula-preview-active .formula-duplicate-badge{background:#f5c6a3;display:grid;color:#111}
.brand-and-modes{display:flex;align-items:center;gap:27px;min-width:0}.logic-modes{display:flex;align-items:center;gap:5px;padding:4px;background:#e8eddf;border:1px solid #d6e0ca;border-radius:12px;flex-shrink:0}.logic-mode{border:1px solid transparent;border-radius:8px;background:transparent;color:#4c6250;padding:8px 15px;min-height:41px;white-space:nowrap;font-size:15px;font-weight:750}.logic-mode:hover{background:#f6f9f0}.logic-mode[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white;box-shadow:0 2px 4px #234d2e18}.logic-guide{background:#edf3e5;color:#2d5f42!important;padding:11px 15px;border-radius:9px;font-weight:650}.zero-count-note{font-size:12px;color:#66775f;text-align:center}
@media(max-width:1100px){.brand-and-modes{gap:15px}.logic-mode{font-size:14px;padding:7px 11px}.toolbar{gap:6px}.topbar{flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:12px}.toolbar{margin-left:auto}}
@media(max-width:800px){.brand-and-modes{width:100%;justify-content:space-between;gap:12px}.logic-mode{font-size:15px;padding:7px 13px}.topbar{min-height:120px}.toolbar{margin-top:0}.logic-modes{padding:3px}}
@media(max-width:450px){.logic-mode{font-size:14px;padding:6px 10px;min-height:38px}.logic-modes{gap:3px;border-radius:10px}.brand-and-modes{gap:8px}.topbar{padding-top:12px;padding-bottom:10px}.logic-guide{font-size:13px}}

/* Keep the navigation toggle visible without changing puzzle progress. */
.intro{gap:24px}.captain-tag{flex-shrink:0}.captain-tag>div{min-width:0}
.intro .solving-tools{margin:6px 0 0;font-size:12px;line-height:1.7;color:#6f571d;max-width:none}
.solving-tools b,.solving-tools span{display:block}.solving-tools span{white-space:nowrap}
@media(max-width:600px){.intro{display:flex;flex-direction:column;align-items:stretch;gap:14px}.captain-tag{display:flex;transform:none;margin:0;padding:12px 14px;gap:12px}.captain-tag small{font-size:10px}.captain-tag strong{font-size:15px}.intro .solving-tools{font-size:13px}}
.navigation-tools{display:flex;align-items:center;gap:inherit;flex-wrap:wrap;justify-content:flex-end}
.toolbar{flex-wrap:wrap;justify-content:flex-end}
.navigation-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;min-height:40px;padding:7px 11px;border:1px solid #b6cbb0;border-radius:9px;background:#e9f0e1;color:var(--green);font:inherit;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}
.navigation-toggle:hover{background:#dfead8}.navigation-toggle:focus-visible{outline:3px solid #d49c2c;outline-offset:4px}
.navigation-toggle[aria-expanded=false] svg{transform:rotate(180deg)}
[data-navigation-region][hidden]{display:none!important}
[data-sidebar-region][hidden]{display:none!important}
.sidebar-collapsed .game-layout{grid-template-columns:minmax(0,1fr)}
.navigation-collapsed .topbar{justify-content:flex-end;min-height:64px;padding:12px 0;margin-bottom:8px;border-bottom:0}
@media(max-width:560px){.navigation-toggle{font-size:11px;padding:7px 9px}.navigation-collapsed .topbar{min-height:60px;padding:10px 0}}
