:root{font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#19304f;background:#f7fbff;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{min-height:100vh;padding:16px 18px 92px;background:radial-gradient(circle at top left,rgba(255,209,102,.28),transparent 28rem),linear-gradient(180deg,#f7fbff,#edf7f4)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1440px;margin:0 auto 14px}.eyebrow{font-size:13px;font-weight:800;color:#ef6c35}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:26px}.status-pill,.primary-button,.soft-button,.icon-button,.chip,.tab,.segmented button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:8px;font-weight:800}.status-pill{padding:0 14px;background:#fff;color:#2e6a4f;box-shadow:0 8px 24px #204b7514}.license-reset{border:0;background:transparent;color:#1b66b2;font-size:12px;font-weight:800;padding:0}.license-loading{min-height:60vh;display:grid;place-items:center;color:#657891;font-weight:800}.activation-view{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:28px 0}.activation-card{width:min(720px,100%);background:#ffffffeb;border:1px solid rgba(82,130,181,.16);border-radius:8px;box-shadow:0 18px 44px #26588d29;padding:28px}.activation-copy{color:#52677f;line-height:1.7}.device-code-box{display:grid;gap:10px;margin:18px 0;padding:16px;border-radius:8px;background:#eef7ff}.device-code-box span,.license-input span{color:#657891;font-size:13px;font-weight:800}.device-code-box strong{font-size:clamp(20px,4vw,34px);letter-spacing:0;overflow-wrap:anywhere}.license-input{display:grid;gap:8px;margin:18px 0}.license-input textarea{width:100%;resize:vertical;border:1px solid rgba(82,130,181,.22);border-radius:8px;padding:12px;color:#19304f;background:#f8fbff;outline:0}.license-input textarea:focus{border-color:#3f8cff;box-shadow:0 0 0 3px #3f8cff1f}.activation-note{margin-top:14px;color:#657891;font-weight:800}.workspace{max-width:1440px;margin:0 auto}.reader-layout{display:grid;grid-template-columns:128px minmax(0,1fr) 310px;gap:14px;min-height:calc(100vh - 146px)}.page-rail,.learning-panel,.reader-toolbar,.flash-card,.dictation-card,.memory-grid,.match-board{background:#ffffffe0;border:1px solid rgba(82,130,181,.16);box-shadow:0 14px 36px #26588d1a}.page-rail{border-radius:8px;padding:10px;overflow:hidden}.search-box{display:flex;align-items:center;gap:6px;height:40px;padding:0 8px;border-radius:8px;background:#eef7ff}.search-box input,.page-input,.dictation-card input{border:0;outline:0;background:transparent;min-width:0;width:100%;color:#19304f}.thumb-list{display:grid;gap:8px;margin-top:10px;max-height:calc(100vh - 230px);overflow:auto;padding-right:2px}.thumb{position:relative;border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:#f7fbff}.thumb img{display:block;width:100%}.thumb span{position:absolute;right:4px;bottom:4px;min-width:24px;border-radius:8px;background:#19304fdb;color:#fff;font-size:12px;line-height:22px}.thumb.active{border-color:#3f8cff}.reader-main{min-width:0}.reader-toolbar{display:grid;grid-template-columns:44px minmax(120px,1fr) 44px 74px minmax(110px,180px);align-items:center;gap:8px;border-radius:8px;padding:8px;margin-bottom:10px}.page-title{display:flex;flex-direction:column;line-height:1.25}.page-title span{font-size:13px;color:#657891}.icon-button{width:44px;background:#e9f3ff;color:#1b66b2}.page-input{height:42px;padding:0 10px;border-radius:8px;background:#f2f7fb;font-weight:800;text-align:center}.zoom{width:100%}.book-scroll{height:calc(100vh - 220px);overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:10px}.book-page{position:relative;width:min(100%,760px);transform-origin:top center;transition:transform .16s ease;background:#fff;box-shadow:0 20px 50px #14365a29}.book-page img{display:block;width:100%;-webkit-user-select:none;user-select:none}.hotspot{position:absolute;border:2px solid rgba(63,140,255,0);background:#3f8cff00;border-radius:4px;padding:0}.hotspot:hover,.hotspot:focus-visible{border-color:#3f8cffe6;background:#3f8cff1f}.hotspot.vocabulary{background:#ffb00009;box-shadow:inset 0 0 0 1px #ffb0002e}.hotspot.vocabulary:hover,.hotspot.vocabulary:focus-visible{background:#ffb0001a;border-color:#ffb0006b;box-shadow:inset 0 0 0 1px #ffb00047}.learning-panel{position:relative;border-radius:8px;padding:18px;min-width:0}.close-panel{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:8px;background:#eef3f7}.panel-tag{display:inline-flex;padding:5px 10px;border-radius:8px;background:#fff2c7;color:#8f5a00;font-weight:800;margin-bottom:12px}.learning-panel h2{font-size:26px;line-height:1.25}.panel-actions,.dictation-actions,.card-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.primary-button{padding:0 16px;background:#3f8cff;color:#fff}.soft-button{padding:0 14px;background:#eef7ff;color:#1b66b2}.translation{margin:18px 0;color:#64748b;line-height:1.6}.linked-word{display:flex;gap:10px;padding:12px;border-radius:8px;background:#fff8df}.linked-word span{display:block;color:#657891;margin-top:4px}.panel-empty{display:grid;place-items:center;align-content:center;text-align:center;min-height:360px;color:#657891}.study-view,.practice-view,.games-view{max-width:980px;margin:0 auto}.filters{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px}.chip{flex:0 0 auto;padding:0 14px;background:#fff;color:#38506c;box-shadow:0 8px 20px #26588d14}.chip.active{background:#19304f;color:#fff}.flash-card{display:grid;place-items:center;min-height:420px;border-radius:8px;padding:30px;text-align:center}.flash-card h2{font-size:64px;margin-bottom:10px}.card-face{display:grid;gap:18px;justify-items:center}.card-face.back{max-width:620px;text-align:left;justify-items:start}.card-meta{display:flex;gap:10px;color:#ef9b00;font-weight:900}.phonetic{min-height:28px;color:#64748b}.morpheme.prefix{color:#1f72d2}.morpheme.plain{color:#19304f}.morpheme.root{color:#d92828}.morpheme.suffix{color:#e57b1f}.card-controls{justify-content:center;margin-top:16px;font-weight:900}.word-bank{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:8px;margin-top:18px}.word-pill{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-height:42px;padding:0 12px;border:1px solid rgba(63,140,255,.18);border-radius:8px;background:#fff;color:#19304f;font-weight:850;text-align:left}.word-pill.active{background:#e9f3ff;border-color:#3f8cff;color:#1b66b2}.dictation-card{display:grid;gap:18px;justify-items:center;border-radius:8px;padding:34px}.round-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#ffd166;font-weight:900}.listen-button{display:grid;place-items:center;gap:8px;width:150px;height:130px;border:0;border-radius:8px;background:#e8f7ef;color:#24734f;font-weight:900}.dictation-card input{max-width:520px;height:54px;padding:0 16px;border-radius:8px;background:#f2f7fb;text-align:center;font-size:22px;font-weight:800}.result{padding:12px 16px;border-radius:8px;font-weight:900}.result.right{background:#e7f8ef;color:#24734f}.result.wrong{background:#fff1e8;color:#b25322}.segmented{display:inline-flex;gap:4px;padding:4px;border-radius:8px;background:#e9f3ff;margin-bottom:14px}.segmented button{padding:0 16px;background:transparent;color:#38506c}.segmented button.active{background:#fff;color:#1b66b2}.difficulty-bar{display:flex;gap:8px;margin-bottom:12px}.memory-grid{position:relative;display:grid;gap:12px;border-radius:8px;padding:18px}.memory-grid-2x4,.memory-grid-3x4{grid-template-columns:repeat(4,minmax(0,1fr))}.memory-card,.match-item{min-height:86px;border:0;border-radius:8px;background:#3f8cff;color:#fff;font-size:20px;font-weight:900}.memory-card.visible{background:#fff;color:#19304f;border:2px solid #ffd166}.reset-game{grid-column:1 / -1}.match-board{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-radius:8px;padding:18px}.match-board>div{display:grid;gap:10px}.match-item{background:#fff;color:#19304f;border:2px solid transparent}.match-item.selected{border-color:#3f8cff;background:#e9f3ff}.match-item.done{background:#e7f8ef;color:#24734f}.match-feedback{grid-column:1 / -1;padding:10px 14px;border-radius:8px;background:#fff1e8;color:#b25322;font-weight:900;text-align:center}.tabbar{position:fixed;left:50%;bottom:16px;transform:translate(-50%);display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px;width:min(720px,calc(100vw - 28px));padding:8px;border-radius:12px;background:#fffffff0;box-shadow:0 14px 44px #1f48742e;z-index:20}.tab{min-height:58px;background:transparent;color:#52677f;flex-direction:column;font-size:13px}.tab.active{background:#19304f;color:#fff}.empty,.empty-card{display:grid;place-items:center;min-height:240px;color:#657891}@media(max-width:1100px){.reader-layout{grid-template-columns:96px minmax(0,1fr)}.learning-panel{grid-column:1 / -1}}@media(max-width:720px){.app-shell{padding:12px 10px 92px}.topbar{align-items:flex-start}.status-pill{display:none}h1{font-size:21px}.reader-layout{display:block}.page-rail{display:none}.reader-toolbar{grid-template-columns:42px 1fr 42px 62px}.zoom{display:none}.book-scroll{height:calc(100vh - 330px);padding:4px}.learning-panel{margin-top:10px;padding:14px}.flash-card h2{font-size:44px}.memory-grid,.match-board{grid-template-columns:repeat(2,minmax(0,1fr))}.tabbar{grid-template-columns:repeat(4,1fr)}.tab span{font-size:12px}}
