:root{--paper: #f3e6cc;--sheet: #fbf6ea;--ink: #1b2836;--ink-soft: #44566a;--cinnabar: #c3362b;--deep: #8e241c;--line: rgba(27, 40, 54, .14);--serif: "Songti SC", "STSong", "Noto Serif SC", serif;--sans: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;color:var(--ink);font-family:var(--sans);background:linear-gradient(90deg,rgba(195,54,43,.9) 0 14px,transparent 14px 22px,rgba(195,54,43,.45) 22px 24px,transparent 24px),repeating-linear-gradient(transparent,transparent 31px,rgba(27,40,54,.045) 32px),var(--paper);line-height:1.65}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,a{font:inherit}h1,h2,.brand strong,.story,.idea,.stamp,.node strong{font-family:var(--serif);font-weight:600;letter-spacing:.02em}h1{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.15;margin:.2rem 0 .8rem}a{color:inherit}:focus-visible{outline:2px solid var(--cinnabar);outline-offset:3px}.topbar{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem .4rem 2.4rem}.brand{display:flex;gap:.8rem;align-items:center;text-decoration:none}.brand small,.eyebrow,.quiet,.anchor,.timer,.node em,.module-mark small{color:var(--ink-soft)}.brand small,.brand strong{display:block}.brand-seal,.stamp{display:grid;place-items:center;width:52px;height:52px;border:3px solid var(--cinnabar);color:var(--cinnabar);border-radius:4px;transform:rotate(-8deg);box-shadow:inset 0 0 0 1px var(--cinnabar);font-family:var(--serif)}.nav{display:flex;flex-wrap:wrap;gap:.35rem .8rem}.nav a{text-decoration:none;padding:.15rem .2rem}.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--cinnabar)}.ink-meta{margin:0;display:flex;gap:.8rem}.account{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:0}.account input{background:transparent;border:0;border-bottom:1px solid var(--ink);color:var(--ink);padding:.1rem .15rem;min-width:11rem}.account button{background:transparent;border:0;color:var(--cinnabar);cursor:pointer;padding:0}.account-note{margin:0 0 .8rem;color:var(--ink-soft)}.sheet{width:min(1080px,calc(100% - 2.6rem));margin:0 auto 4rem;padding-left:.4rem}.home-play{display:grid;gap:.8rem}.home-tools{display:flex;justify-content:flex-end}.home-question-only{max-width:720px}.mission,.score-slip,.lesson,.detail,.stack{background:var(--sheet);border:1px solid var(--line);box-shadow:0 18px 40px #5030140f;padding:1.4rem 1.5rem 1.6rem}.mission{position:relative}.mission:after{content:"故事";position:absolute;right:1.2rem;top:1.2rem;color:var(--cinnabar);border:2px solid var(--cinnabar);padding:.2rem .45rem;transform:rotate(8deg);font-family:var(--serif)}.eyebrow{margin:0;letter-spacing:.18em;font-size:.78rem}.lead,.story{font-size:1.08rem}.story{margin:.4rem 0 1rem;padding:.9rem 1rem .9rem 1.1rem;background:#c3362b0d;border-left:3px solid var(--cinnabar)}.story-label{margin:0;color:var(--cinnabar);letter-spacing:.16em;font-size:.78rem}.idea{font-size:1.25rem}.anchor{font-size:.92rem}.actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.75rem 1.3rem;text-decoration:none;border:1px solid transparent;cursor:pointer}.btn.primary{background:var(--cinnabar);color:#fff8f2}.btn.ghost{background:transparent;border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.budget{font-family:var(--serif);font-size:4rem;line-height:.9;margin:.4rem 0}.budget small{font-size:1.1rem;margin-left:.3rem}.targets{list-style:none;padding:0;margin:1rem 0 0}.targets li{margin:.85rem 0}.target-line,.lesson-top,.map-head{display:flex;justify-content:space-between;gap:1rem;align-items:end}.target-line a{text-decoration:none}.target-line em{margin-left:.35rem;color:var(--cinnabar);font-style:normal}.target-line input{width:4.2rem;border:none;border-bottom:1px solid var(--ink);background:transparent;text-align:right}.meter{height:5px;background:#1b283614;margin:.3rem 0}.meter span{display:block;height:100%;background:var(--ink)}.trail{list-style:none;padding:0;margin:1.2rem 0 0}.module{display:grid;grid-template-columns:180px 1fr;gap:1rem;margin:0 0 1.6rem}.module-mark b{display:block;font-family:var(--serif);font-size:2rem;color:var(--cinnabar);line-height:1}.nodes{display:flex;flex-direction:column;gap:.9rem;position:relative;padding-left:1.4rem}.nodes:before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:2px dashed rgba(27,40,54,.35)}.node,.node.hollow{display:grid;place-items:center;text-align:center;text-decoration:none;border-radius:50%;border:2px solid var(--ink);background:var(--sheet);padding:.6rem;margin-left:.4rem}.node:nth-child(2n){margin-left:2.4rem}.node strong,.node em{display:block}.node em{font-style:normal;font-size:.78rem}.node.sealed{background:var(--cinnabar);color:#fff8f2;border-color:var(--deep)}.node.hollow{background:transparent;color:var(--ink-soft);border-style:dashed;cursor:pointer}.detail{margin-top:1rem}.phases{display:flex;gap:1rem;list-style:none;padding:0}.phases .now{color:var(--cinnabar);box-shadow:inset 0 -2px 0 var(--cinnabar)}.steps{padding-left:1.2rem}.example{white-space:pre-wrap;background:#1b28360a;padding:.8rem 1rem}.question{border:0;margin:0 0 1rem;padding:0;min-inline-size:0}.stem{font-size:1.35rem;line-height:1.45;margin:.35rem 0 .9rem;font-family:var(--serif)}.home-question{margin:.8rem 0 1rem;padding:.9rem 1rem .2rem;background:#fff;border:1px solid var(--ink)}.preview-choices{padding-left:1.2rem}.write-box{display:grid;gap:.4rem;margin:.6rem 0}.write-box textarea{min-height:4.5rem;border:1px solid var(--ink);background:#fff;padding:.6rem .7rem;resize:vertical}.diff-row{display:flex;gap:.45rem;margin:.2rem 0 .35rem}.diff{border-radius:999px;border:1px solid var(--line);background:#fff;padding:.4rem .9rem;cursor:pointer}.diff.warm.is-on{background:#2c6b58;color:#f4fff8;border-color:#2c6b58}.diff.fit.is-on{background:#9a7040;color:#fff8ee;border-color:#9a7040}.diff.push.is-on{background:var(--cinnabar);color:#fff8f2;border-color:var(--cinnabar)}.lesson-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:1rem;align-items:start}.question-pane{min-width:0}.teach-panel{border:1px dashed var(--line);padding:.8rem;background:#ffffff59}.teach-body{margin-top:.8rem}.phase-btn{background:transparent;border:0;padding:0;cursor:pointer;color:inherit}.diagram{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.diagram li{border-left:3px solid var(--cinnabar);padding:.2rem .55rem;background:#c3362b0f}.choices{display:grid;gap:.55rem}.choice{display:flex;gap:.8rem;text-align:left;padding:.75rem .9rem;background:transparent;border:1px solid var(--line);cursor:pointer}.choice span{font-family:var(--serif);color:var(--cinnabar)}.choice.is-picked{border-color:var(--ink)}.choice.is-right{background:#2c6b581f;border-color:#2c6b58}.choice.is-wrong{background:#c3362b14}.explain{background:#fff;padding:.7rem .8rem}.flip{width:min(420px,100%);height:230px;border:0;background:transparent;padding:0;perspective:800px;cursor:pointer}.flip-inner{position:relative;display:block;width:100%;height:100%;transition:transform .55s;transform-style:preserve-3d}.flip.is-back .flip-inner{transform:rotateY(180deg)}.face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;gap:.5rem;padding:1.2rem;backface-visibility:hidden;background:var(--sheet);border:1px solid var(--ink)}.face.back{transform:rotateY(180deg);white-space:pre-wrap}.face strong{font-family:var(--serif);font-size:1.5rem}.result{text-align:left}.stamp{width:92px;height:92px;font-size:1.6rem;animation:stamp .45s ease-out}.card-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}.memory{background:var(--sheet);border:1px solid var(--line)}.memory.due{border-color:var(--cinnabar)}.memory button{width:100%;text-align:left;background:transparent;border:0;padding:.9rem;cursor:pointer}.memory strong,.memory small,.memory em{display:block}.text-btn{background:transparent;border:0;color:var(--cinnabar);cursor:pointer;padding:0 .9rem .8rem}.timer.overtime{color:var(--cinnabar)}.map-head{display:block}.takeaway{font-weight:600}@keyframes stamp{0%{transform:scale(1.4) rotate(-18deg);opacity:0}to{transform:scale(1) rotate(-8deg);opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sheet{animation:rise .45s ease}@media(max-width:800px){.home-grid,.module,.lesson-split{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column;padding-left:1.6rem}.budget{font-size:3rem}}@media(prefers-reduced-motion:reduce){.sheet,.stamp,.flip-inner{animation:none;transition:none}}
