:root{--brand: #ff7a59;--brand-2: #ffb26b;--ink: #43384f;--ink-soft: #7a6f8f;--card: #ffffff;--bg: #fff7ea;--green: #2fbf71;--yellow: #f7b32b;--red: #ff6b6b;--violet: #7c5cff;--sky: #4ecdc4;--radius: 18px;--shadow: 0 8px 26px rgba(124, 92, 255, .1)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,system-ui,-apple-system,sans-serif;color:var(--ink);background:linear-gradient(160deg,#fff3de,#ffe9ee 45%,#e8f3ff)}button{font-family:inherit;cursor:pointer;border:none;color:inherit}.home{max-width:720px;margin:0 auto;padding:40px 20px 60px;display:flex;flex-direction:column;gap:22px;height:100%;justify-content:center}.home-hero{text-align:center}.hero-emoji{font-size:54px;filter:drop-shadow(0 6px 12px rgba(255,122,89,.3))}.home-hero h1{font-size:34px;margin:8px 0 4px;background:linear-gradient(90deg,#ff7a59,#ff5ea8,#7c5cff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin:0;color:var(--ink-soft);font-size:16px}.hero-tip{margin:10px auto 0;max-width:520px;font-size:13px;color:var(--ink-soft);background:#ffffffa6;border-radius:999px;padding:6px 16px;display:inline-block}.home-card{background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:24px 26px;display:flex;flex-direction:column;gap:12px}.field-label{font-size:14px;font-weight:700;margin-top:4px}.name-input{border:2px solid #f1e6d8;border-radius:14px;padding:12px 16px;font-size:16px;outline:none;background:#fffdf9;transition:border-color .2s}.name-input:focus{border-color:var(--brand)}.loading-hint{color:var(--ink-soft);font-size:14px}.lesson-picker{display:flex;flex-direction:column;gap:10px}.lesson-chip{display:grid;grid-template-columns:44px 1fr;gap:2px 12px;align-items:center;text-align:left;background:#fdf6ea;border:2px solid transparent;border-radius:16px;padding:12px 16px;transition:all .15s}.lesson-chip:hover{transform:translateY(-1px)}.lesson-chip.active{border-color:var(--brand);background:#fff1e6}.lesson-emoji{font-size:30px;grid-row:1 / 3}.lesson-name{font-size:17px;font-weight:800}.lesson-meta{font-size:12px;color:var(--ink-soft)}.error-text{color:var(--red);font-size:14px}.btn-start,.btn-continue,.btn-exit{border-radius:999px;font-weight:800;font-size:18px;color:#fff;background:linear-gradient(90deg,var(--brand),#ff5ea8);box-shadow:0 8px 20px #ff5a8c59;padding:14px 20px;width:100%;transition:transform .1s,opacity .2s}.btn-start:disabled{opacity:.45;cursor:not-allowed}.btn-start:not(:disabled):hover,.btn-continue:hover{transform:translateY(-2px) scale(1.01)}.cta-pending{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font-size:13px;font-weight:700;vertical-align:middle;color:#fff;background:#ffffff47;border:1px solid rgba(255,255,255,.45)}.learn{height:100dvh;max-width:900px;margin:0 auto;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;background:#ffffffe6;border-bottom:1px solid #f3e7d9}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.btn-back{background:transparent;font-weight:700;color:var(--ink-soft);padding:6px 10px;border-radius:10px}.btn-back:hover{background:#f3ecff;color:var(--violet)}.lesson-tag{font-weight:800;font-size:17px;display:flex;flex-direction:column;line-height:1.2}.lesson-by{font-size:12px;color:var(--ink-soft);font-weight:500}.topbar-right{display:flex;align-items:center;gap:12px}.hud{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #f3e7d9;padding:6px 12px;border-radius:999px;font-size:14px;font-weight:600}.hud-mastery b{font-size:16px}.hud-mastery i{font-style:normal}.hud-mastery .green{color:var(--green)}.hud-mastery .yellow{color:var(--yellow)}.hud-mastery .red{color:var(--red)}.who{font-weight:700;font-size:14px;background:#fff0f4;padding:6px 12px;border-radius:999px;white-space:nowrap}.lt-profile-tag{display:inline-flex;align-items:center;max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;color:#7c4dfc;background:#f3ecff;border:1px solid #e0d2fb;padding:5px 11px;border-radius:999px;cursor:default}.steps-strip{display:flex;align-items:center;gap:6px;padding:10px 18px;background:#fffdf8;border-bottom:1px solid #f3e7d9;overflow-x:auto}.step-chip{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:13px;font-weight:600;color:#c4b7cf;background:#f4f0f8;white-space:nowrap}.step-chip.reached{color:#5a4a70;background:#ffe9dd}.step-chip-emoji{font-size:14px}.steps-strip-right{margin-left:auto;font-size:12px;color:var(--ink-soft);white-space:nowrap}.learn-volbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:10px 18px 12px;background:linear-gradient(90deg,#fff9ea,#fffdf6);border-bottom:1px solid #f3e7d9}.lvb{flex:1 1 250px;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:2px 10px;background:#fff;border:1px solid #f1e3cd;border-radius:12px;padding:7px 12px 9px;box-shadow:0 3px 10px #7c5cff0f}.lvb-lab{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#5c4878}.lvb-ico{font-style:normal;font-size:16px;line-height:1}.lvb-val{margin-left:auto;display:flex;align-items:baseline;gap:3px}.lvb-val b{font-size:19px;color:#4d3a68;line-height:1.1}.lvb-cap{font-style:normal;font-size:12px;color:var(--ink-soft)}.lvb-meter{flex-basis:100%;display:block;height:6px;background:#f4e9d4;border-radius:99px;margin-top:2px;overflow:hidden}.lvb-meter em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd23d,#ff7a59);transition:width .5s ease}.lvb:nth-child(2) .lvb-meter em{background:linear-gradient(90deg,#7c5cff,#5e9cff)}.lvb-book{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;color:#b08a4a}.topbar.learn-top{flex-direction:column;align-items:stretch;gap:3px;padding:7px 16px 8px}.topbar.learn-top .topbar-right{flex-wrap:wrap;justify-content:flex-end;gap:8px}.lt-row{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;min-width:0}.lt-toolsrow{align-items:center}.lt-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.topbar.learn-top .lt-actions .ls-btn{padding:5px 12px;font-size:12.5px;gap:5px;letter-spacing:0;box-shadow:0 4px 10px #2fbf7140}.topbar.learn-top .lt-actions .lb-entry,.topbar.learn-top .lt-actions .vt-join-btn,.topbar.learn-top .lt-actions .learn-fb-btn,.topbar.learn-top .lt-actions .history-entry,.topbar.learn-top .lt-actions .care-in-top{padding:5px 11px;font-size:12.5px;line-height:1.2;white-space:nowrap}.topbar.learn-top .lt-actions .praise-bell{padding:4px 8px}.lt-mastery{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #f1e6f5;padding:4px 11px;border-radius:999px;font-size:12.5px;font-weight:700;color:#5c4878;white-space:nowrap}.lt-mastery b{font-size:15px;color:#4d3a68}.lt-mastery .dot{width:8px;height:8px;border-radius:50%;display:inline-block;font-style:normal}.lt-mastery .dot.green{background:var(--green)}.lt-mastery .dot.yellow{background:var(--yellow)}.lt-mastery .dot.red{background:var(--red)}.lt-stats{flex:none}.lt-stat{position:relative;display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #f3e7d9;border-radius:10px;padding:4px 9px 7px;font-size:12px;font-weight:700;color:#b08a4a;white-space:nowrap;line-height:1.15}.lt-stat b{font-size:14px;color:#4d3a68;padding:0 1px}.lt-stat .cap{font-style:normal;color:#b3a184;font-weight:600}.lt-stat .lt-minibar{position:absolute;left:7px;right:7px;bottom:3px;height:3px;border-radius:99px;background:#f5ead6;overflow:hidden}.lt-stat .lt-minibar em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd23d,#ff8a3d)}.lt-stat.prog{color:#6a5b9e;border-color:#e6dcf5}.lt-stat.prog .lt-minibar em{background:linear-gradient(90deg,#7c5cff,#5e9cff)}.learn-stepsline{display:flex;align-items:center;gap:10px;padding:4px 18px 6px;background:#fffdf8;border-bottom:1px solid #f3e7d9;overflow-x:auto;scrollbar-width:none}.learn-stepsline::-webkit-scrollbar{display:none}.ldots{display:flex;align-items:center;flex:1;min-width:0}.ldot{position:relative;flex:none;width:15px;height:15px;border-radius:50%;border:2px solid #e4d8ed;background:#fff;color:#c3b4d2;display:inline-flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:800;line-height:1}.ldot+.ldot{margin-left:17px}.ldot+.ldot:before{content:"";position:absolute;left:-19px;top:50%;width:19px;height:2px;background:#ece2f2;margin-top:-1px}.ldot.done{background:#2fbf71;border-color:#2fbf71;color:#fff}.ldot.done:before{background:#b7e6cd}.ldot.cur{border-color:#f5a623;box-shadow:0 0 0 3px #f5a62338;color:#b96a00}.lsl-cur{flex:none;font-size:12px;color:var(--ink-soft);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.lsl-tag{flex:none;margin-left:auto;font-size:11.5px;color:#b08a4a;font-weight:800;white-space:nowrap}.chat-scroll{flex:1;overflow-y:auto;padding:18px 18px 10px;display:flex;flex-direction:column;gap:14px}.review-card{align-self:stretch;border-radius:18px;padding:14px 18px;border:1.5px solid transparent;animation:pop .35s ease}.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}.review-card-tag{font-size:13px;font-weight:900;padding:4px 14px;border-radius:999px}.review-card-basis{font-size:11.5px;opacity:.75;font-weight:600}.review-card-text{font-size:15px;line-height:1.9;white-space:pre-line;font-weight:600}.review-card.review_pass{background:linear-gradient(120deg,#eef0ff,#f7ecff);border-color:#d8c6f7}.review-card.review_pass .review-card-tag{background:linear-gradient(90deg,#7c5cff,#b45cff);color:#fff}.review-card.review_pass .review-card-text{color:#4a3a78}.review-card.review_fail{background:linear-gradient(120deg,#fff3e6,#ffeef2);border-color:#f6cdb4}.review-card.review_fail .review-card-tag{background:linear-gradient(90deg,#ff7a3d,#ff9a5c);color:#fff}.review-card.review_fail .review-card-text{color:#7a4026}.banner{align-self:center;text-align:center;background:linear-gradient(120deg,#ffe3d3,#ffeef6);border:1px dashed #ffb08f;border-radius:20px;padding:14px 24px;max-width:560px;animation:pop .35s ease}.banner-title{font-size:20px;font-weight:900;color:#d2573a}.banner-sub{margin-top:4px;font-size:15px;font-weight:700;color:#8a5a4a}.banner-goal{margin-top:8px;font-size:13px;color:#a4715f;background:#ffffffb3;border-radius:999px;padding:4px 14px;display:inline-block}.subj-politics .banner-goal{display:none}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.msg-row{display:flex;gap:10px;animation:pop .3s ease}.avatar{width:42px;height:42px;flex:none;border-radius:14px;background:linear-gradient(140deg,#7c5cff,#ff7ad9);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 10px #7c5cff40}.bubble{background:#fff;border-radius:6px 18px 18px;padding:14px 18px;box-shadow:var(--shadow);max-width:78%;line-height:1.75}.typing-dots{display:inline-flex;gap:4px;padding:6px 2px}.typing-dots i{width:8px;height:8px;border-radius:50%;background:var(--brand-2);animation:blink 1s infinite ease-in-out}.typing-dots i:nth-child(2){animation-delay:.2s}.typing-dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.25}50%{opacity:1}}.bubble-text{font-size:15.5px}.bubble-text:empty:before{content:"…";color:#d9cfe6}.busy-tip{align-self:center;font-size:13px;color:var(--ink-soft);background:#ffffffb3;border-radius:999px;padding:6px 14px}.quiz-block{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px 18px;border-left:6px solid var(--violet);animation:pop .35s ease}.quiz-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px}.quiz-step-tag{font-size:13px;font-weight:800;color:#fff;background:linear-gradient(90deg,var(--violet),#ff5ea8);border-radius:999px;padding:4px 12px}.quiz-lead{font-size:14px;color:var(--ink-soft)}.quiz-wrap{display:flex;flex-direction:column;gap:12px}.quiz-prompt{font-size:16.5px;font-weight:700;line-height:1.7;white-space:pre-line}.mc-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.mc-option{display:flex;align-items:center;gap:10px;text-align:left;background:#faf6ff;border:2px solid #eee6f7;border-radius:14px;padding:12px 14px;font-size:15px;font-weight:600;transition:all .15s}.mc-option:not(:disabled):hover{border-color:var(--violet);background:#f3ecff}.mc-option:disabled{cursor:default;opacity:.55}.mc-option.is-answer{border-color:var(--green);background:#e8fbf0;color:#1f7a4d;opacity:1}.mc-option.is-chosen{border-color:var(--green)}.mc-key{width:28px;height:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e5dcf7;color:#5b3bb5;font-weight:900}.mc-option.is-answer .mc-key{background:var(--green);color:#fff}.mc-options.locked .mc-option:not(.is-answer){opacity:.5}.quiz-note{border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.7;display:flex;gap:8px;align-items:flex-start}.note-ok{background:#e8fbf0;color:#1f7a4d}.note-hint{background:#fff6e5;color:#96610a}.note-reveal{background:#f3ecff;color:#5b3bb5;border:1px dashed #b79be0}.note-icon{font-size:18px}.quiz-hint{font-size:13px;color:#96610a;background:#fff6e5;padding:8px 12px;border-radius:12px}.sort-list{display:flex;flex-direction:column;gap:8px}.sort-row{display:flex;align-items:center;gap:10px;background:#faf6ff;border:2px solid #eee6f7;border-radius:14px;padding:10px 12px}.sort-index{width:26px;height:26px;flex:none;border-radius:50%;background:var(--brand);color:#fff;font-weight:900;font-size:14px;display:inline-flex;align-items:center;justify-content:center}.sort-text{flex:1;font-size:15px;font-weight:600}.sort-arrows button{background:#efe9fb;color:#5b3bb5;border-radius:8px;width:30px;height:30px;font-size:11px}.sort-arrows button:disabled{opacity:.35}.proof-given,.proof-claim{border-radius:12px;padding:9px 12px;font-size:14.5px;font-weight:600;line-height:1.55;margin-bottom:8px}.proof-given{background:#f2f7ff;border:1px solid #dbe7ff;color:#2b4a8a}.proof-claim{background:#fff7ec;border:1px solid #ffe2bf;color:#8a5a1a}.proof-stage{margin-top:14px;border-top:1px dashed #ece5f6;padding-top:12px}.proof-stage.inq-locked{opacity:.75}.proof-stage-head{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:800;color:#4a3a6a;margin-bottom:10px}.proof-stage-no{width:22px;height:22px;flex:none;border-radius:50%;background:#efe9fb;color:#5b3bb5;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.proof-blanks{display:flex;flex-direction:column;gap:12px}.proof-blank{background:#fbf9ff;border:2px solid #eee6f7;border-radius:14px;padding:10px 12px}.proof-blank.locked{background:#f7f5fb}.proof-blank-line{font-size:15px;font-weight:700;color:#3f2d63;margin-bottom:8px;line-height:1.5}.proof-blank-ask{display:flex;flex-direction:column;gap:8px}.proof-blank-tag{align-self:flex-start;font-size:12.5px;font-weight:800;color:#8a6bbf;background:#f1ebfd;border-radius:999px;padding:3px 10px}.quiz-actions{display:flex;justify-content:flex-end}.btn-rainbow{background:linear-gradient(90deg,#7c5cff,#ff5ea8);color:#fff;font-weight:800;border-radius:999px;padding:10px 22px;font-size:15px}.btn-rainbow:disabled{opacity:.45}.match-board{display:flex;flex-direction:column;gap:14px}.match-row{border-radius:14px;padding:10px 14px;background:#faf6ff;border:2px solid #eee6f7;display:flex;flex-direction:column;gap:8px}.match-row.locked{background:#f4f1f8}.match-label{font-weight:800;font-size:15px}.match-opts{display:flex;flex-wrap:wrap;gap:8px}.match-opt{background:#fff;border:2px solid #e3d9f2;border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;transition:all .12s}.match-opt:not(:disabled):hover{border-color:var(--violet);background:#f3ecff}.match-opt:disabled{opacity:.5;cursor:default}.match-result .quiz-note{padding:6px 2px}.tree{display:flex;flex-direction:column;align-items:center;gap:12px}.tree-root{font-size:18px;font-weight:900;color:#fff;background:linear-gradient(135deg,#4ecdc4,#7c5cff);border-radius:999px;padding:10px 26px;box-shadow:0 6px 16px #4ecdc459}.tree-branches{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.tree-branch{min-width:250px;background:#fffaf3;border:2px dashed #ffc9a3;border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.tree-slot{display:flex;align-items:center;gap:6px;font-weight:800}.tree-box{display:flex;gap:8px}.tree-input{flex:1;border:2px solid #f1e6d8;border-radius:10px;padding:8px 10px;font-size:14px;outline:none}.tree-input:focus{border-color:var(--brand)}.tree-submit{background:var(--brand);color:#fff;font-weight:700;border-radius:10px;padding:0 14px}.tree-submit:disabled{opacity:.4}.tree-done{display:inline-flex;align-items:center;padding:0 12px;border-radius:10px;background:#e8f8ee;color:#237a48;font-size:13px;font-weight:700;white-space:nowrap}.tree-tip{align-self:center;font-size:12px;color:var(--ink-soft)}.calc-steps{display:flex;flex-direction:column;gap:14px}.calc-step{border:2px solid #eee6f7;border-radius:14px;padding:12px 14px;background:#fdfbff;display:flex;flex-direction:column;gap:10px}.calc-step.locked{background:#f7f5fb;border-color:#e4dcef}.calc-step-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calc-step-no{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e5dcf7;color:#5b3bb5;font-size:13px;font-weight:900}.calc-step-label{font-size:14px;font-weight:800;color:#3f2d63}.calc-step-prompt{font-size:13.5px;color:var(--ink-soft)}.calc-step-done{margin-left:auto;color:var(--green);font-weight:900}.calc-fraction{display:flex;flex-direction:column;gap:6px}.calc-frac-field{display:flex;align-items:center;gap:10px}.calc-frac-tag{flex:none;width:96px;font-size:13px;font-weight:700;color:#5b3bb5}.calc-frac-bar{height:2px;background:#d9cdf0;border-radius:2px;margin:2px 0 2px 106px}.calc-select{flex:1;min-width:0;background:#fff;border:2px solid #eee6f7;border-radius:12px;padding:9px 12px;font-size:14px;font-weight:600;color:inherit}.calc-select:disabled{opacity:.6}.calc-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calc-input{flex:1;min-width:120px;background:#fff;border:2px solid #eee6f7;border-radius:12px;padding:9px 12px;font-size:14px;font-weight:600}.calc-input:disabled{opacity:.6}.calc-unit{flex:0 0 96px}.calc-submit{flex:none;align-self:flex-start;border:none;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:800;color:#fff;background:linear-gradient(90deg,var(--violet),#ff5ea8);cursor:pointer}.calc-submit:disabled{opacity:.5;cursor:default}.calc-error-tag{align-self:flex-start;font-size:12.5px;font-weight:800;color:#b4325a;background:#ffe9f0;border-radius:999px;padding:4px 12px}.exp-card{margin:10px 0 4px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px 18px;border-left:6px solid #4b9fe1;display:flex;flex-direction:column;gap:12px;animation:pop .35s ease}.exp-intro{font-size:14px;line-height:1.75;color:var(--ink-soft)}.exp-phases{display:flex;flex-wrap:wrap;gap:6px}.exp-phase{font-size:12px;font-weight:700;color:#7a6a9a;background:#f3eefb;border-radius:999px;padding:4px 10px}.exp-phase.active{color:#fff;background:linear-gradient(90deg,#4b9fe1,#6b8fd6)}.exp-scene{width:100%;max-height:260px;background:#fbf9ff;border-radius:14px}.exp-equip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.exp-equip-item{display:flex;align-items:center;gap:8px;text-align:left;background:#faf6ff;border:2px solid #eee6f7;border-radius:14px;padding:10px 12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.exp-equip-item:hover{border-color:#4b9fe1}.exp-equip-item.picked{border-color:var(--green);background:#e8fbf0;color:#1f7a4d}.exp-equip-emoji{font-size:18px}.exp-panel,.exp-table-wrap{display:flex;flex-direction:column;gap:12px}.exp-row{display:flex;align-items:center;gap:12px}.exp-label{flex:none;width:84px;font-size:13.5px;font-weight:700;color:#3f2d63}.exp-row input[type=range]{flex:1;accent-color:#4b9fe1}.exp-value{flex:none;min-width:76px;font-size:13px;font-weight:700;color:#4b6fd6;text-align:right}.exp-tip{font-size:13.5px;line-height:1.7;border-radius:12px;padding:9px 12px}.exp-tip.ok{color:#1f7a4d;background:#e8fbf0}.exp-tip.bad{color:#b4325a;background:#ffe9f0}.exp-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-plain,.btn-stop{border:none;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer}.btn-plain{color:#6b5a8e;background:#f0ebf8}.btn-stop{color:#fff;background:#e2653f}.btn-plain:disabled,.btn-stop:disabled{opacity:.5;cursor:default}.exp-progress{font-size:13.5px;font-weight:700;color:#3f2d63}.exp-runs{display:flex;flex-wrap:wrap;gap:6px}.exp-run-chip{font-size:12px;font-weight:700;color:#4b6fd6;background:#eef3fd;border-radius:999px;padding:4px 10px}.exp-table{width:100%;border-collapse:collapse;font-size:13.5px}.exp-table th,.exp-table td{border:1px solid #eee6f7;padding:8px 10px;text-align:center}.exp-table th{background:#f6f2fd;font-weight:800;color:#3f2d63}.exp-notes{display:flex;flex-direction:column;gap:6px}.exp-note{font-size:13px;line-height:1.7;border-radius:12px;padding:8px 12px}.exp-note.ok{color:#1f7a4d;background:#e8fbf0}.exp-note.bad{color:#b4325a;background:#ffe9f0}.exp-task{display:flex;flex-direction:column;gap:6px;background:#f2f7ff;border-left:4px solid #4b9fe1;border-radius:12px;padding:10px 14px;font-size:13.5px;line-height:1.7;color:#35506e}.exp-task-row{display:flex;gap:8px;align-items:flex-start}.exp-task-tag{flex:none;font-weight:800;color:#2f6fb0}.exp-ctrl{display:flex;align-items:center;gap:8px}.exp-ctrl-label{flex:none;width:84px;font-size:13.5px;font-weight:700;color:#3f2d63}.exp-ctrl-btn{flex:none;width:32px;height:32px;border:2px solid #ddd2f0;background:#fff;border-radius:10px;font-size:17px;font-weight:800;color:#5b3bb5;cursor:pointer;line-height:1}.exp-ctrl-btn:not(:disabled):hover{border-color:#7c5cd6;background:#f6f1ff}.exp-ctrl-btn:disabled{opacity:.4;cursor:default}.exp-range{flex:1;min-width:80px;accent-color:#4b9fe1}.exp-ctrl-value{flex:none;min-width:62px;text-align:right;font-size:13px;font-weight:800;color:#4b6fd6}.exp-status{font-size:13px;font-weight:700;color:#8b7aa8}.exp-status.ok{color:#1f7a4d}.exp-equip-check{margin-left:auto;color:var(--green);font-weight:900}.demo-card{margin:10px 0 4px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 18px 16px;border-left:6px solid #7c5cd6;display:flex;flex-direction:column;gap:10px;animation:pop .35s ease}.demo-head{display:flex;align-items:center;gap:10px}.demo-tag{font-size:13px;font-weight:800;color:#fff;background:linear-gradient(90deg,#7c5cd6,#4b9fe1);border-radius:999px;padding:4px 12px}.demo-step{font-size:12.5px;font-weight:700;color:#7a6a9a}.demo-spacer{flex:1}.demo-auto{border:2px solid #ddd2f0;background:#fff;border-radius:999px;padding:4px 14px;font-size:12.5px;font-weight:800;color:#5b3bb5;cursor:pointer;transition:all .15s}.demo-auto:hover{border-color:#7c5cd6;background:#f6f1ff}.demo-auto.on{border-color:#4b9fe1;background:#e8f3fd;color:#2f6fb0}.demo-replay-tag{margin-left:6px;font-size:11.5px;font-weight:800;color:#2f6fb0;background:#e8f3fd;border-radius:999px;padding:2px 8px}.vac-scene{width:100%;max-height:270px;background:#fbfdff;border-radius:14px}.vac-conclude{display:flex;flex-direction:column;gap:10px;margin-top:4px}.vac-conclude-q{font-size:14.5px;font-weight:700;color:#3f2d63;line-height:1.7}.btn-rainbow.off{background:#f0ebf8;color:#6b5a8e}.vac-mute{border:2px solid #ddd2f0;background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:#6b5a8e;cursor:pointer;white-space:nowrap}.vac-mute.off{background:#f4f1fa;color:#9a8cb8}.exp-readout{margin-top:10px;border:1.5px solid #e2e7fa;border-radius:14px;overflow:hidden}.exp-readout-head{padding:8px 14px;background:#f4f6ff;font-size:13px;font-weight:800;color:#4a5fd6}.exp-readout-rows{display:flex;flex-direction:column}.exp-readout-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:8px 14px;font-size:13.5px;color:#3f2d63;border-top:1px solid #eef1fb}.exp-readout-freq{font-weight:800;color:#4a7ee0}.exp-readout-tone{min-width:52px;text-align:right;color:#8b93ad}.bal-weights{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto}.bal-weight{border:2px solid #e2e7fa;background:#fff;border-radius:10px;padding:6px 12px;font-size:13px;font-weight:700;color:#3f2d63;cursor:pointer}.bal-weight:hover:not(:disabled){border-color:#b9c4f5;background:#f6f8ff}.bal-weight.used,.bal-weight:disabled{opacity:.38;cursor:not-allowed}.bal-weight.placed{border-color:#f0c98a;background:#fdf6e9;color:#8a5a12}.bal-weight.placed:hover:not(:disabled){border-color:#e08a2f;background:#fbeed6}.bal-pan-row .bal-weights{border:1.5px dashed #f0c98a;border-radius:12px;padding:6px 8px;background:#fffdf7}.bal-x{color:#d9603a;margin-right:2px}.bal-empty{font-size:12.5px;color:#a8b0c4;align-self:center}.exp-steps{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.exp-step{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 6px;border-radius:999px;border:1.5px solid #e2e7fa;background:#fff;font-size:12.5px;font-weight:700;color:#a8b0c4}.exp-step i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#eef1fa;color:#8b93ad;font-style:normal;font-size:11px}.exp-step.now{border-color:#4a5fd6;color:#4a5fd6;background:#f4f6ff}.exp-step.now i{background:#4a5fd6;color:#fff}.exp-step.done{border-color:#b6e6cb;color:#2b8f66;background:#f5fdf9}.exp-step.done i{background:#35b37e;color:#fff}.exp-stage{margin-top:12px;border:1.5px solid #e2e7fa;border-radius:14px;padding:12px 14px}.exp-stage.done{border-color:#b6e6cb;background:#f7fdfa}.exp-stage-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.exp-stage-head b{font-size:14px;color:#3f2d63}.exp-stage-head span{font-size:12.5px;color:#8b93ad}.demo-scene{width:100%;max-height:260px;background:#fbf9ff;border-radius:14px}.demo-caption{font-size:14.5px;line-height:1.7;font-weight:600;color:#3f2d63;background:#f4f0fd;border-radius:12px;padding:9px 13px;min-height:42px}.demo-progress{display:flex;gap:6px;align-items:center}.demo-dot{width:8px;height:8px;border-radius:999px;background:#ddd2f0}.demo-dot.done{background:#7c5cd6}.demo-dot.now{background:#4b9fe1;box-shadow:0 0 0 3px #e4f0fc}.math-board{max-height:340px;touch-action:none;-webkit-user-select:none;user-select:none}.math-grab{cursor:grab}.math-grab:active{cursor:grabbing}.math-hint{font-size:11px;fill:#8b93ad}.math-vertex-label{font-size:15px;font-weight:700;fill:#3f2d63}.math-angle-label{font-size:12px;font-weight:700;fill:#5a4a70;pointer-events:none}.math-guide-label{font-size:12px;font-weight:700;fill:#4a7ee0}.math-readout{font-size:12.5px;font-weight:700;fill:#5a4a70}.math-readout-sum{font-size:13.5px;font-weight:800;fill:#7c5cd6}.math-tasks{display:flex;flex-direction:column;gap:6px;margin:10px 0}.math-task{display:flex;align-items:baseline;gap:8px;font-size:13px;color:#8b93ad}.math-task.done{color:#2f8f63}.math-task-mark{flex:none;width:14px;font-weight:700}.math-task-title{flex:none;font-weight:700}.math-task-tip{font-size:12.5px;color:#8b93ad}.math-task.done .math-task-tip{color:#6bbd97}.demo-eq{margin:8px 0 0;padding:9px 12px;border:1.5px solid #e2e7fa;border-left:4px solid #4a7ee0;border-radius:12px;background:#f8faff;display:flex;flex-direction:column;gap:4px}.demo-eq-line{font-size:13px;color:#4a5570;line-height:1.6;font-variant-numeric:tabular-nums}.demo-eq-line.final{font-weight:800;color:#7c5cd6}.expr-card{display:flex;flex-direction:column;gap:9px}.expr-tip-toggle{align-self:flex-start;padding:2px 0;border:none;background:none;font-size:12.5px;font-weight:700;color:#4a7ee0}.expr-tip-toggle:hover{color:#2f5fc0;text-decoration:underline}.expr-tip{font-size:12.5px;color:#6b6386;line-height:1.7;background:#f7f9ff;border-radius:10px;padding:7px 10px}.expr-tip code{background:#eef3ff;border-radius:4px;padding:0 4px;color:#4a7ee0;font-size:12.5px}.expr-row{display:flex;gap:8px;align-items:stretch}.expr-input{flex:1;min-width:0;padding:10px 12px;border:1.5px solid #d9e2f7;border-radius:11px;font-size:15px;color:#3f2d63;background:#fff;font-variant-numeric:tabular-nums}.expr-input:focus{outline:none;border-color:#4a7ee0;box-shadow:0 0 0 3px #e8f0fd}.expr-submit{flex:none;padding:0 18px}.expr-keys{display:flex;flex-wrap:wrap;gap:6px}.expr-key{min-width:40px;padding:5px 9px;border:1.5px solid #d9e2f7;border-radius:9px;background:#fff;color:#3f4a68;font-size:13.5px;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums}.expr-key:hover{border-color:#4a7ee0;color:#4a7ee0}.expr-key-wide{font-size:12.5px;font-weight:600;color:#6b6386}.expr-verdict{display:flex;gap:8px;align-items:baseline;padding:8px 11px;border-radius:10px;font-size:13px;line-height:1.65}.expr-verdict.ok{background:#f2fbf6;color:#1f7a4d}.expr-verdict.wrong{background:#fff8f0;color:#a05a1a}.expr-verdict.reveal{background:#f7f4ff;color:#6b5aa0}.expr-verdict-tag{flex:none;font-weight:800}.expr-explain{font-size:13px;color:#4a5570;line-height:1.7;background:#f8faff;border-left:3px solid #4a7ee0;border-radius:8px;padding:8px 11px}.math-figure{display:block;width:100%;max-width:340px;margin:0 auto 8px;background:#fbf9ff;border-radius:12px}.math-figure.math-figure-img{display:block;width:auto;max-width:min(100%,460px);max-height:min(320px,42vh);height:auto;object-fit:contain}.math-figure-fallback{max-width:340px;margin:0 auto 8px;padding:10px 12px;border:1px dashed #c9a6d8;border-radius:12px;background:#fdf7ff;color:#7a5a8a;font-size:13px;line-height:1.7}.quiz-source{display:inline-block;margin-bottom:6px;padding:2px 8px;border-radius:999px;background:#f0ecfb;color:#6b5aa0;font-size:12px;font-weight:700}.note-skip{margin:8px 0 10px;padding:10px 12px;border-left:4px solid #b9a6e8;border-radius:8px;background:#faf7ff;color:#5a4a70;font-size:13.5px;line-height:1.7}.example-prompt{display:flex;gap:8px;align-items:baseline;margin:4px 0 10px;padding:9px 12px;border-radius:12px;background:#f7f9ff;font-size:13.5px;color:#3f3a55;line-height:1.65}.example-prompt-tag{flex:none;font-weight:800;color:#4a7ee0}.example-board{margin-top:8px;padding:10px 12px;border:1.5px solid #e2e7fa;border-radius:14px;background:#fdfdff;display:flex;flex-direction:column;gap:9px}.example-phase{display:flex;gap:9px;align-items:flex-start}.example-phase-tag{flex:none;min-width:30px;padding:1px 6px;border-radius:7px;background:#eef3ff;color:#4a7ee0;font-size:11.5px;font-weight:800;text-align:center}.example-lines{display:flex;flex-direction:column;gap:3px}.example-line{font-size:13px;color:#44506e;line-height:1.7;font-variant-numeric:tabular-nums}.example-line.final{font-weight:800;color:#7c5cd6}.proof-board{border:1.5px solid #e2e7fa;border-radius:16px;padding:12px 14px;background:#fdfdff;display:flex;flex-direction:column;gap:10px}.proof-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.proof-tag{font-size:12.5px;font-weight:800;color:#4a7ee0}.proof-title{font-size:13.5px;font-weight:700;color:#3f2d63}.proof-stepno{font-size:12px;color:#8b93ad}.proof-body{display:flex;gap:12px;align-items:stretch;max-height:324px}.proof-figure{flex:1 1 52%;min-width:0;background:#fbf9ff;border-radius:12px;display:flex;align-items:center;justify-content:center}.proof-figure .math-figure{max-height:300px}.proof-svg{width:100%;height:auto;max-height:300px}.proof-algebra{width:100%;padding:12px 14px;display:flex;flex-direction:column;gap:12px}.proof-formula{display:flex;gap:8px;align-items:baseline;padding:7px 10px;border-radius:10px;background:#fff8ec;border-left:3px solid #e08a2f;font-size:13px;color:#6b4a1a;line-height:1.6;word-break:break-word}.proof-formula-tag{flex:none;font-weight:800;color:#d0812a}.proof-expr{flex:1;display:flex;align-items:center;justify-content:center;min-height:96px;padding:10px 4px;font-size:17px;font-weight:700;color:#3f2d63;line-height:1.9;text-align:center;word-break:break-word;font-variant-numeric:tabular-nums}.proof-expr-glow{font-style:normal;color:#d0812a;background:#fff3dd;border-radius:6px;padding:0 4px;box-shadow:0 0 0 1.5px #f3c98b inset}.proof-write{flex:1 1 48%;min-width:0;max-height:none;overflow-y:auto;padding:8px 10px;border-radius:12px;background:#f8faff;border-left:3px solid #4a7ee0}.proof-claim{font-size:12.5px;font-weight:700;color:#3f3a55;margin-bottom:7px;padding-bottom:6px;border-bottom:1px dashed #d7e0f5;line-height:1.6}.proof-write-group{display:flex;gap:7px;align-items:flex-start;margin-bottom:7px;opacity:.62;animation:proof-in .35s ease-out}.proof-write-group.current{opacity:1}.proof-write-no{flex:none;width:17px;height:17px;border-radius:50%;background:#e3ebfb;color:#4a7ee0;font-size:11px;font-weight:800;text-align:center;line-height:17px}.proof-write-group.current .proof-write-no{background:#4a7ee0;color:#fff}.proof-write-lines{display:flex;flex-direction:column;gap:2px;min-width:0}.proof-write-line{font-size:13px;color:#3f4a68;line-height:1.75;font-variant-numeric:tabular-nums;word-break:break-word}.proof-write-line.final{font-weight:800;color:#7c5cd6}@keyframes proof-in{0%{opacity:0;transform:translateY(4px)}to{opacity:.62;transform:none}}.proof-say{display:flex;gap:8px;align-items:baseline;padding:9px 12px;border-radius:12px;background:#fff8ec;border-left:3px solid #e08a2f;font-size:13.5px;color:#6b4a1a;line-height:1.7}.proof-say-tag{flex:none;font-weight:800;color:#d0812a}.proof-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.proof-btn{padding:5px 12px;border-radius:9px;border:1.5px solid #d9e2f7;background:#fff;color:#3f4a68;font-size:13px;font-weight:700;cursor:pointer}.proof-btn:not(:disabled):hover{border-color:#4a7ee0;color:#4a7ee0}.proof-btn:disabled{opacity:.4;cursor:not-allowed}.chem-demo-board .chem-demo-stage{display:flex;justify-content:center;background:#f4f7fc;border-radius:12px;padding:6px 4px}.chem-demo-board .chem-demo-stage .vac-scene{width:100%;max-width:520px}.chem-demo-board--compact{gap:8px}.chem-demo-board--compact .chem-demo-head{gap:6px;min-width:0}.chem-demo-board--compact .proof-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.chem-demo-board--compact .chem-demo-prompt{font-style:normal;font-weight:500;color:#8b93ad;font-size:12px}.chem-demo-board--compact .chem-demo-say{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin:0}.chem-demo-board--compact .chem-demo-say .proof-say-tag{flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chem-demo-board--compact .chem-demo-say-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.45;font-size:13px}.proof-controls .demo-progress{flex:1;justify-content:center}.inq-levels{display:flex;flex-direction:column;gap:12px}.inq-level{border:2px solid #eee6f7;border-radius:14px;padding:12px 14px;background:#fdfbff;display:flex;flex-direction:column;gap:10px}.inq-level.locked{background:#f7f5fb}.inq-level.inq-locked{opacity:.75;border-style:dashed}.inq-head{display:flex;align-items:center;gap:8px}.inq-badge{font-size:12.5px;font-weight:800;color:#fff;background:linear-gradient(90deg,#7c5cd6,#b06ad6);border-radius:999px;padding:4px 12px}.inq-title{font-size:13.5px;font-weight:700;color:#3f2d63}.inq-done{margin-left:auto;color:var(--green);font-weight:900}.inq-lock-hint{font-size:13px;color:#8577a3}.inq-body{display:flex;flex-direction:column;gap:10px}.inq-prompt{font-size:14.5px;line-height:1.75;font-weight:600;color:var(--ink)}.inq-text-row{display:flex;gap:8px}.inq-text-row .tree-input{flex:1}.inq-explain{font-size:13.5px;line-height:1.75;color:#3f2d63;background:#f4f0fd;border-radius:12px;padding:9px 12px}.diag{width:100%;max-width:520px;margin-top:12px;background:#fbf9ff;border:2px solid #eee6f7;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;text-align:left}.diag-title{font-size:13.5px;font-weight:800;color:#3f2d63}.diag-dims{display:flex;flex-direction:column;gap:6px}.diag-dim{display:flex;align-items:center;gap:8px;font-size:12.5px}.diag-name{flex:0 0 96px;color:#5a4a70;font-weight:700}.diag-bar{flex:1;height:8px;background:#ede7f7;border-radius:999px;overflow:hidden}.diag-bar>i{display:block;height:100%;border-radius:999px}.diag-bar>i.ok{background:#35b37e}.diag-bar>i.mid{background:#e0a63a}.diag-bar>i.low{background:#e2653f}.diag-rate{flex:0 0 42px;text-align:right;font-weight:800}.diag-rate.ok{color:#1f7a4d}.diag-rate.mid{color:#96610a}.diag-rate.low{color:#b4325a}.diag-count{flex:0 0 44px;text-align:right;color:#8b7aa8}.diag-tip{font-size:13px;line-height:1.75;border-radius:12px;padding:9px 12px}.diag-tip.ok{color:#1f7a4d;background:#e8fbf0}.diag-tip.warn{color:#96610a;background:#fff6e5}.narr-progress-note{margin-top:8px;font-size:12.5px;font-weight:700;color:#6b5a8e;background:#f4f0fd;border-radius:999px;padding:4px 12px;display:inline-block}.info-card{align-self:center;display:flex;gap:10px;align-items:center;max-width:560px;background:#fff6e5;border:1px solid #ffd9a0;border-radius:16px;padding:12px 18px;font-size:15px;animation:pop .35s ease}.hist-card{display:flex;gap:8px;align-items:flex-start;max-width:620px;background:#f7f7fb;border:1px dashed #dcd8ea;border-radius:14px;padding:8px 12px;font-size:13px;color:#5b5570;opacity:.95}.hist-card.me{flex-direction:row-reverse;background:#f1f8f2;border-color:#cfe6d4}.hist-card.system{background:#fbf7ec;border-color:#ecdcc0}.hist-avatar{flex:none;font-size:15px;line-height:1.4}.hist-body{min-width:0}.hist-title{font-weight:800;color:#4b4570;margin-bottom:2px;white-space:pre-wrap}.hist-text{white-space:pre-wrap;line-height:1.55;color:#6b6480}.info-card.retry.boss{background:#fff7ee;border-color:#ffc48a;align-items:flex-start}.info-card.retry.boss b{color:#b3541e}.boss-retry-bar{height:8px;background:#ffe4c7;border-radius:99px;margin:8px 0;overflow:hidden}.boss-retry-bar .meter-bar{height:100%;background:linear-gradient(90deg,#ff9a3d,#ff6d3d)}.finish-card{text-align:center;background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:560px;align-self:center;width:100%;animation:pop .4s ease}.finish-card.pass{border:3px solid #ffe08a;background:linear-gradient(180deg,#fffbe8,#fff)}.finish-card.keep{border:3px solid #b9e3ff;background:linear-gradient(180deg,#eef9ff,#fff)}.finish-emoji{font-size:48px}.finish-title{font-size:24px;font-weight:900}.finish-badge{background:linear-gradient(90deg,#ffd34d,#ff9d5c);color:#7a4d00;font-weight:800;padding:6px 18px;border-radius:999px;font-size:15px}.finish-meter{height:16px;width:80%;background:#f0ecf6;border-radius:999px;overflow:hidden}.meter-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#4ecdc4,#7c5cff,#ff5ea8);transition:width .8s ease}.finish-nums{font-size:14px;color:var(--ink-soft);font-weight:600}.finish-msg{font-size:15px;line-height:1.8;color:#5a4a70;white-space:pre-line}.finish-reward{display:flex;align-items:center;gap:12px;margin-top:4px;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#fff6e3,#ffeccd);border:1.5px solid #f0c377}.finish-reward-emoji{font-size:30px;line-height:1}.finish-reward-txt{display:flex;flex-direction:column;gap:3px}.finish-reward-txt b{font-size:15px;color:#9a6410}.finish-reward-txt i{font-size:13.5px;font-style:normal;color:#b3801f;font-weight:600}.btn-exit{width:auto;padding:10px 34px;font-size:16px}.cta-bar{padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid #f3e7d9;display:flex;justify-content:center}.btn-continue{width:auto;min-width:180px;padding:12px 34px;font-size:17px}.cta-hint,.cta-end{color:var(--ink-soft);font-size:14px;font-weight:600}@media (max-width: 560px){.who,.lesson-by{display:none}}.learn{max-width:1440px}.learn-body{flex:1;min-height:0;display:flex;gap:12px;padding:12px 14px 0}.reader-col{flex:0 0 40%;min-width:340px;min-height:0;display:flex;transition:flex-basis .3s ease,min-width .3s ease,width .3s ease}.talk-col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0;background:#ffffffbf;border-radius:20px;overflow:hidden;border:1px solid #f0e4d6;transition:flex-basis .3s ease,min-width .3s ease,width .3s ease}.learn-body.min-reader .reader-col{flex:0 0 34px;min-width:34px}.learn-body.min-reader .talk-col{flex:1 1 auto}.learn-body.min-talk .talk-col{flex:0 0 34px;min-width:34px}.learn-body.min-talk .reader-col{flex:1 1 auto;min-width:340px}.pane-rail{flex:1;min-height:0;display:flex;align-items:stretch;justify-content:center;background:linear-gradient(180deg,#fffdf5,#f7ecd6);border-radius:20px;border:1px solid #f0e0c8;overflow:hidden}.pane-rail .pane-rail-btn{flex:1;border:none;background:transparent;color:#8a6a45;font-size:13px;font-weight:900;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:background .2s}.pane-rail .pane-rail-btn:hover{background:#fff0c899}.pane-rail .pane-rail-btn .exp{font-size:16px;writing-mode:horizontal-tb}.pane-rail.talk{background:linear-gradient(180deg,#fff,#f4edff);border-color:#e4d8f0}.pane-rail.talk .pane-rail-btn{color:#6b5a88}.talk-head{flex:none;height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 14px;background:#ffffffe6;border-bottom:1px solid #f3e7d9}.talk-head-title{font-size:12.5px;font-weight:900;color:#8a7a9a;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.talk-head .col-min-btn{flex:none}.talk-col .chat-scroll{padding:14px 16px 8px}.reader-loading{color:var(--ink-soft);padding:40px 20px;font-size:15px}.learn-switch{position:relative;flex:none;z-index:42}.ls-btn{display:flex;align-items:center;gap:7px;padding:8px 16px;border:0;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,#2ec47a,#12a068);box-shadow:0 6px 16px #2fbf7152;color:#fff;font-size:15px;font-weight:900;letter-spacing:1px;white-space:nowrap;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.ls-btn:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 9px 20px #2fbf7161}.ls-btn:active{transform:translateY(0)}.ls-btn:disabled{opacity:.7;cursor:wait;transform:none}.ls-ico{font-size:17px;line-height:1}.ls-txt,.ls-busy{line-height:1}.ls-caret{width:7px;height:7px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translateY(-1px);transition:transform .2s ease}.ls-caret.open{transform:rotate(225deg) translate(-1px,-1px)}.lls-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.lls-pop{position:absolute;left:0;right:auto;top:calc(100% + 10px);width:340px;max-width:calc(100vw - 40px);z-index:41;background:#fff;border:1px solid #e6dcc8;border-radius:14px;box-shadow:0 18px 44px #3c2e1438;overflow:hidden;display:flex;flex-direction:column;max-height:min(60vh,480px)}.lls-vol{flex:none;display:flex;flex-direction:column;gap:2px;padding:10px 14px 8px;background:#fff9ec;border-bottom:1px dashed #ead9ba}.lls-vol span{font-size:11px;color:var(--ink-soft)}.lls-vol b{font-size:14px;color:#6b4a2a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lls-list{overflow-y:auto;overflow-x:hidden;padding:6px;display:flex;flex-direction:column;gap:2px;min-width:0}.lls-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:10px;background:transparent;cursor:pointer;text-align:left;min-width:0}.lls-item:hover{background:#fdf3e3}.lls-item.active{background:#e9f7ef}.lls-emoji{flex:none;font-size:16px}.lls-name{flex:1 1 auto;min-width:0;font-size:14px;font-weight:600;color:var(--ink);overflow:hidden}.lls-no{flex:none;padding:2px 7px;border-radius:6px;background:#e86a12;color:#fff;font-size:12px;font-weight:800;letter-spacing:.3px;white-space:nowrap}.lls-item.active .lls-name{color:#14804c}.lls-sub{display:block;font-style:normal;font-size:11.5px;font-weight:500;color:var(--ink-soft);margin-top:2px;line-height:1.3}.lls-cur{flex:none;font-size:11px;color:#14804c;font-weight:800;background:#d9f2e4;padding:2px 8px;border-radius:999px}.lls-err{flex:none;padding:8px 12px;font-size:12px;color:#c0392b;background:#fdecec;border-top:1px solid #f5d7d7}.care-in-top{border:0;cursor:pointer;background:linear-gradient(135deg,#ffe3ee,#ffd0e3);color:#c2185b;font-size:13px;font-weight:800;padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 10px #ff78aa40;transition:transform .12s ease}.care-in-top:hover{transform:translateY(-1px)}.learn-fb-btn{border:0;cursor:pointer;background:linear-gradient(135deg,#4ea8de,#3a7bd5);color:#fff;font-size:13px;font-weight:800;padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 10px #4a90e247;transition:transform .12s ease,filter .12s ease}.learn-fb-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.learn-fb-pop{width:min(620px,100%)}.learn-fb-list{display:flex;flex-direction:column;gap:10px}.learn-fb-row{background:#fff;border:1px solid #e3eef9;border-radius:12px;padding:10px 12px}.learn-fb-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.learn-fb-src{flex:none;font-size:11px;font-weight:800;padding:2px 10px;border-radius:999px;white-space:nowrap}.learn-fb-src.src-session{background:#e5f7ed;color:#14804c}.learn-fb-src.src-reading{background:#e8f2fd;color:#1d72c2}.learn-fb-src.src-care{background:#ffe3ee;color:#c2185b}.learn-fb-time{flex:none;font-size:11px;color:var(--ink-soft)}.learn-fb-title{font-size:13.5px;line-height:1.6;color:var(--ink);font-weight:800}.learn-fb-sub{font-size:12.5px;line-height:1.6;color:var(--ink-soft);margin-top:2px}.learn-fb-note{margin-top:8px;display:flex;flex-direction:column;gap:5px}.learn-fb-like{align-self:flex-start;color:#1d72c2;font-weight:700;font-size:13px;background:#e8f2fd;border-radius:999px;padding:3px 10px}.learn-fb-comment{font-size:13px;line-height:1.7;color:#3d4a5c;background:#f2f6fb;border-radius:10px;padding:6px 10px}.learn-care-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#3c1e3c6b;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.learn-care-pop{width:min(640px,100%);max-height:82vh;background:#fff;border-radius:20px;box-shadow:0 20px 60px #3c143c59;display:flex;flex-direction:column;overflow:hidden}.learn-care-head{flex:none;display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(90deg,#ffe3ee,#fff0f6);border-bottom:1px solid #f5d7e6}.learn-care-head b{font-size:16px;color:#a61b5e}.learn-care-hint{flex:1;font-size:12px;color:#c2568a}.learn-care-x{border:0;background:#ffffffb3;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:13px;color:#a61b5e}.learn-care-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px;background:#fff8fb;overscroll-behavior:contain}.route-busy{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#fff7ea80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.route-busy-card{display:flex;flex-direction:column;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:26px 34px;box-shadow:0 20px 60px #7c5cff2e;border:1px solid #efe6fa;max-width:92%}.route-busy-txt{font-size:16px;font-weight:700;color:var(--ink);white-space:nowrap}.route-busy-card.err{border-color:#f6cbcb}.route-busy-card.err .route-busy-txt{color:#b3341c;font-size:14px;white-space:normal;text-align:center}.reader-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#fffdf5,#fff7e8);border-radius:20px;border:1px solid #f0e0c8;overflow:hidden;box-shadow:0 10px 30px #b48c501f}.reader-toolbar{flex:none;padding:3px 10px 4px;background:#fff9ec;border-bottom:1px dashed #ead9ba;display:flex;flex-direction:column;gap:2px}.rtool{flex:none;display:flex;flex-direction:column;gap:3px;padding:5px 8px 6px;background:linear-gradient(180deg,#fffaf0,#fff6e4);border-bottom:1px solid #f0e0c0}.rtool-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-height:20px}.rtool-row-1{row-gap:3px}.rtool-gap,.rtool-divider{flex:none;width:1px;height:13px;background:#ead9ba;margin:0 2px}.rtool-gap{width:5px;background:transparent;margin:0}.rtool-divider{margin:0 3px}.rtool-spacer{flex:1 1 auto;min-width:6px}.rt-zoom{width:21px;height:19px;border-radius:6px;background:#fff;border:1px solid #ddcba9;font-size:13px;font-weight:900;line-height:1;color:#8a6a45;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.rt-zoom:hover:not(:disabled){background:#fff1d8}.rt-zoom:disabled{opacity:.35;cursor:default}.rt-pct{min-width:40px;height:19px;padding:0 5px;border-radius:6px;background:#fff;border:1px solid #e6d8c0;font-size:11px;font-weight:800;color:#6a5b9e;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:default;flex:none}.rt-pct.resetable{cursor:pointer;border-color:#cbb3e8}.rt-pct.resetable:hover{background:#f3ecff}.rt-group-label{font-size:10px;font-weight:700;color:#b39a72;margin-right:1px}.rate-select{display:inline-flex;align-items:center;gap:4px;flex:none}.rate-select-label{font-size:10px;font-weight:800;color:#b39a72}.rate-select-box{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;border:1px solid #ddcba9;border-radius:6px;background:#fff;color:#8a6a45;font-size:11px;font-weight:800;padding:2px 3px;cursor:pointer;max-width:78px;outline:none;line-height:1.3}.rate-select-box:focus{border-color:#d4b98c}.talk-head-actions{display:flex;align-items:center;gap:8px;flex:none}.talk-head .rate-select-label{color:#8a7a9a}.talk-head .rate-select-box{border-color:#e0d4ef;color:#6d4fc0}.talk-head .rate-select-box:focus{border-color:#cbb3e8}.rt-rate{display:inline-flex;background:#f1e7d0;border-radius:6px;padding:1px;gap:1px}.rt-rate-btn{background:transparent;border:0;border-radius:5px;font-size:10.5px;font-weight:800;color:#8a7a5f;padding:2px 7px;line-height:1.2;cursor:pointer}.rt-rate-btn.active{background:#fff;color:#c45a2b;box-shadow:0 1px 4px #966e282e}.rt-speak{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#2ec47a,#12a068);color:#fff;font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 10px;line-height:1.2;cursor:pointer;white-space:nowrap;box-shadow:0 3px 8px #2fbf7140;flex:none}.rt-speak.on{background:linear-gradient(135deg,#f5a623,#e08d00);box-shadow:0 3px 8px #f5a6234d}.rt-speak:hover{filter:brightness(1.05)}.rt-stop{width:22px;height:19px;border-radius:6px;background:#fff;border:1px solid #ecd9f7;font-size:11px;line-height:1;color:#6b5a88;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.rt-stop:hover{background:#f7f0ff}.rt-stop.ghost{border-style:dashed}.rt-audio-tag{display:inline-flex;align-items:center;background:linear-gradient(135deg,#4a90e2,#2f6fc4);color:#fff;font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 9px;line-height:1.2;flex:none;white-space:nowrap}.rt-audio{height:28px;max-width:260px;min-width:170px;flex:none}.rt-ai-tag{display:inline-flex;align-items:center;gap:4px;background:#fdeee2;border:1px solid #ffc9a3;color:#c45a2b;border-radius:999px;padding:1px 4px 1px 9px;font-size:11px;font-weight:700;white-space:nowrap;flex:none}.rt-ai-tag i{font-style:normal}.rt-ai-tag button{border:0;background:#fff;color:#a6451e;font-size:11px;font-weight:800;border-radius:999px;padding:1px 7px;cursor:pointer;margin:1px}.rt-ai-tag button:hover{background:#fff1e4}.rt-meta{flex:none;font-size:11px;font-weight:800;color:#8a7a5f;white-space:nowrap}.rtool-row-2{gap:6px;padding:0 2px}.rt-page{flex:none;font-size:11px;font-weight:800;color:#8a6a45;background:#fff;border:1px solid #eee0c6;border-radius:999px;padding:2px 10px;white-space:nowrap}.rt-page i{font-style:normal;font-weight:600;color:#b39a72;margin-left:4px}.rt-min,.rt-top{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:800;border-radius:999px;padding:2px 9px;cursor:pointer;line-height:1.4;white-space:nowrap}.rt-min{background:#fff;border:1px solid #e6d8c2;color:#8a6a45}.rt-min:disabled{opacity:.35;cursor:not-allowed}.rt-top{background:linear-gradient(135deg,#f5a623,#e08d00);color:#fff;box-shadow:0 3px 8px #f5a6234d}.rt-top:hover{filter:brightness(1.06)}.tool-row{display:flex;align-items:center;gap:6px;min-height:0}.tool-row-title{justify-content:space-between;height:21px}.reader-title{font-weight:900;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden}.tool-title-right{display:flex;align-items:center;gap:6px;flex:none}.view-seg{display:flex;background:#f3ead8;border-radius:999px;padding:2px;gap:2px}.view-seg-btn{background:transparent;border-radius:999px;padding:2px 8px;font-size:11.5px;line-height:1.2;font-weight:700;color:var(--ink-soft)}.view-seg-btn.active{background:#fff;color:#b0562a;box-shadow:0 1px 6px #b4783c33}.col-min-btn{width:24px;height:21px;border-radius:7px;background:#fff;border:1.5px solid #e6d8c2;color:#8a6a45;font-size:14px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center}.col-min-btn:hover:not(:disabled){background:#fff1dc;border-color:#d4b98c}.col-min-btn:disabled{opacity:.35;cursor:not-allowed}.tool-row-zoom{height:21px;gap:4px}.zoom-btn{width:24px;height:20px;border-radius:6px;background:#fff;border:1.5px solid #d9c9ae;font-size:14px;font-weight:900;line-height:1;color:#8a6a45;display:inline-flex;align-items:center;justify-content:center}.zoom-btn:hover:not(:disabled){background:#fff6e0}.zoom-btn:disabled{opacity:.35;cursor:not-allowed}.zoom-pct{min-width:40px;text-align:center;font-size:11.5px;font-weight:900;color:#7c5cff}.zoom-reset{font-size:10.5px;font-weight:700;color:#a08a6a;border:1px dashed #d9c9ae;border-radius:999px;padding:1px 7px;background:transparent}.zoom-reset:hover{color:#c45a2b;border-color:#ffc9a3}.tool-row-play{height:24px;gap:4px}.pl-btn{width:24px;height:22px;border-radius:7px;background:#fff;border:1.5px solid #ecd9f7;font-size:12px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:#6b5a88;flex:none}.pl-btn:hover{background:#f7f0ff}.pl-btn.restart{font-size:14px;color:#b0562a}.pl-chip{flex:none;font-size:10.5px;font-weight:700;color:#c45a2b;border:1px dashed #ffc9a3;background:#fff3e6;border-radius:999px;padding:1px 7px;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-range{flex:1;min-width:0;height:14px;margin:0 2px;accent-color:#7c5cff;cursor:pointer}.pl-range:disabled{cursor:default;opacity:.55}.pl-status{flex:none;min-width:56px;text-align:center;font-size:10.5px;font-weight:700;color:#a08a6a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-status.paused{color:#c45a2b;animation:blink 1.2s infinite}.pl-rate{flex:none;display:flex;gap:2px}.pl-rate .rate-btn{border-radius:6px;background:#fff;border:1.5px solid #eee2f5;font-weight:800;font-size:10.5px;line-height:1.2;padding:2px 5px;color:var(--ink-soft)}.pl-rate .rate-btn.active{background:var(--violet);border-color:var(--violet);color:#fff}.reader-pdf-miss{flex:none;margin:0 0 14px;font-family:sans-serif;font-size:13px;line-height:1.6;color:#7a5b12;background:#fff7d9;border:1px solid #f3dc9b;border-radius:12px;padding:9px 12px}.reader-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 26px;scroll-behavior:smooth}.text-mode{font-family:Kaiti SC,STKaiti,KaiTi,"Noto Serif SC",serif;font-size:19px;line-height:2.05;color:#38302a}.para{position:relative;margin:0 0 1.1em;text-align:justify;padding-left:1.4em;cursor:pointer;border-radius:8px;transition:background .3s}.para-block-head{display:flex;align-items:baseline;gap:8px;margin:1.1em 0 .55em;padding:5px 10px;border-left:3px solid #b9c4f5;border-radius:0 8px 8px 0;background:linear-gradient(90deg,#eef2fc,#eef2fc00)}.para-block-head:first-child{margin-top:0}.para-block-tag{flex:0 0 auto;font-size:11.5px;font-weight:800;letter-spacing:.4px;color:#4a5fd6;background:#e2e8fa;border-radius:6px;padding:1px 7px}.para-block-title{font-size:12.5px;color:#6b6386;line-height:1.5}.para-block-head.listening{border-left-color:#7cc4d8;background:linear-gradient(90deg,#eaf7fa,#eaf7fa00)}.para-block-head.listening .para-block-tag{color:#217a91;background:#d8eef4}.para-block-head.reading{border-left-color:#9ec89a;background:linear-gradient(90deg,#eef8ec,#eef8ec00)}.para-block-head.reading .para-block-tag{color:#3d7a37;background:#ddefda}.para-block-head.exercise{border-left-color:#e0b070;background:linear-gradient(90deg,#fdf5e8,#fdf5e800)}.para-block-head.exercise .para-block-tag{color:#96631a;background:#f7e9cf}.para:hover{background:#fff3d6}.para-no{position:absolute;left:0;top:.35em;font-size:11px;color:#b99b73;font-family:sans-serif;font-weight:700;-webkit-user-select:none;user-select:none}@keyframes paraFlash{0%{background:#fff3bf}45%{background:#ffe79a}to{background:transparent}}.para.flash{animation:paraFlash 2.2s ease both;border-radius:8px}.para.reading{background:#fff8dd;box-shadow:inset 3px 0 #f7b32b}.sent{border-radius:6px;padding:1px 2px}.sent.active{background:#ffe082;box-shadow:0 1px 6px #ffc83c80}.text-mode-tip{margin-top:18px;font-family:sans-serif;font-size:12.5px;color:#a08a6a;background:#fff9ec;border:1px dashed #ead9ba;border-radius:12px;padding:8px 12px;text-align:center}.reader-body.pdf-mode{display:flex;flex-direction:column;padding:0}.pdf-focus-banner{flex:none;display:flex;align-items:center;gap:10px;background:#fff3bf;color:#7a5a00;font-weight:700;font-size:13px;padding:8px 14px;margin:10px 12px 4px;border-radius:12px}.pdf-focus-banner button{background:#7c5cff;color:#fff;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:800}.pdf-view{flex:1;min-height:0;display:flex;flex-direction:column}.pdf-toolbar{flex:none;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 10px}.pdf-btn{background:#fff;border:1.5px solid #ead9ba;border-radius:999px;padding:6px 14px;font-weight:800;font-size:13px;color:#8a6a45}.pdf-btn:disabled{opacity:.35;cursor:not-allowed}.pdf-page-ind{font-size:14px;font-weight:800;color:#5a4a70}.pdf-page-ind i{font-style:normal;font-size:12px;color:#a08a6a;margin-left:4px}.pdf-canvas-wrap{flex:1;min-height:0;overflow:auto;position:relative;background:repeating-linear-gradient(45deg,#eae4d8,#eae4d8 12px,#e6e0d3 12px,#e6e0d3 24px);padding:14px 12px 20px;scroll-behavior:smooth}.pdf-page{width:max-content;max-width:100%;margin:0 auto 22px}.pdf-page-cap{text-align:center;font-size:12px;font-weight:700;color:#a08a6a;background:#fffdf7;border:1px dashed #ead9ba;border-radius:999px;padding:2px 14px;margin:0 auto 8px;width:max-content}.pdf-page-canvas{background:#fff;box-shadow:0 6px 24px #00000040;width:max-content;max-width:100%;margin:0 auto;position:relative}.pdf-canvas{display:block;background:#fff}.pdf-canvas.loading{opacity:.35}.pdf-page-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#a08a6a;background:#ffffff59;pointer-events:none}.pdf-loading-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffffeb;border-radius:999px;padding:8px 18px;font-weight:700;font-size:14px}.pdf-hint{flex:none;text-align:center;font-size:12px;color:#a08a6a;padding:6px}.para-chip{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:#8a5a2a;background:#fff3bf;border-radius:999px;padding:3px 12px}.msg-row.me{justify-content:flex-end}.me-bubble{background:linear-gradient(135deg,#ffe0d0,#ffd9e8);border-radius:18px 6px 18px 18px;color:#6b3a20;font-weight:600}.me-avatar{background:linear-gradient(140deg,#ffb26b,#ff7a59)}.read-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);border:1px dashed #e6c9ee;padding:16px 18px;display:flex;flex-direction:column;gap:12px;margin-top:2px}.read-head{font-weight:900;font-size:16px;color:#7c5cff}.listen-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);border:1px dashed #cfe3ff;padding:16px 18px;display:flex;flex-direction:column;gap:12px;margin-top:2px}.listen-controls{display:flex;gap:10px;flex-wrap:wrap}.listen-play{font-size:15px;padding:10px 16px}.listen-hint{font-size:13px;color:#3a68d8;background:#f0f6ff;border-radius:10px;padding:8px 12px;line-height:1.6}.listen-hint-inline{font-size:12px;color:#99a}.shadow-btn.mic.read-record{background:#22a06b;color:#fff}.read-done-tag{font-size:13px;color:#177a3f;background:#e7f8ee;border-radius:999px;padding:4px 10px;font-weight:600}.read-fb{border-radius:12px;padding:10px 12px;font-size:13px;display:flex;flex-direction:column;gap:6px}.read-fb.ok{background:#eefbf1;color:#177a3f}.read-fb.no{background:#fff7ef;color:#8a5a17}.read-fb-main{font-weight:600}.read-fb-comment{color:#556}.listen-lines{border:1px solid #e3ecfa;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;background:#fbfdff}.listen-line{display:flex;gap:8px;align-items:baseline;font-size:14px;flex-wrap:wrap}.listen-who{font-weight:800;color:#4a7cf7;flex:none;min-width:48px}.listen-en{color:#223;font-weight:600}.listen-cn{color:#99a;font-size:12px}.shadow-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);border:1px dashed #bcd7ff;padding:16px 18px;display:flex;flex-direction:column;gap:12px;margin-top:2px}.shadow-intro{background:#f2f8ff;border:1px dashed #bcd7ff;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.7;color:#335}.shadow-list{display:flex;flex-direction:column;gap:10px}.shadow-row{border:1px solid #e3ecfa;border-radius:14px;padding:10px 12px;background:#fbfdff}.shadow-row.done{border-color:#b9e6c6;background:#f4fdf6}.shadow-row-top .shadow-en{font-weight:700;font-size:15px;color:#223}.shadow-row-top .shadow-cn{font-size:12px;color:#889;margin-top:2px}.shadow-why{display:inline-block;margin-top:4px;font-size:12px;color:#3a68d8;background:#eef3fc;border-radius:999px;padding:2px 10px}.shadow-row-ops{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.shadow-btn{cursor:pointer;border:0;border-radius:9px;padding:6px 12px;font-size:13px;font-weight:600}.shadow-btn.primary{background:#4a7cf7;color:#fff}.shadow-btn.danger{background:#ff5470;color:#fff}.shadow-btn.ghost{background:#eef3fc;color:#3a68d8}.shadow-btn.save{align-self:flex-start;background:#2e9e5b;color:#fff}.shadow-btn:disabled{opacity:.5;cursor:not-allowed}.shadow-tip{font-size:12px;color:#99a}.shadow-score{font-size:15px;font-weight:700;margin-left:auto;color:#3a68d8}.shadow-fb{margin-top:8px;font-size:12px;color:#177a3f;background:#eefbf1;border-radius:8px;padding:6px 10px}.shadow-summary{font-size:13px;color:#177a3f;background:#eefbf1;border-radius:10px;padding:8px 12px}.trans-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);border:1px dashed #d9c6ff;padding:16px 18px;display:flex;flex-direction:column;gap:12px;margin-top:2px}.trans-list{display:flex;flex-direction:column;gap:10px}.trans-row{border:1px solid #e6defa;border-radius:14px;padding:10px 12px;background:#fdfbff}.trans-row.done{border-color:#b9e6c6;background:#f4fdf6}.trans-cn{font-weight:700;font-size:15px;color:#223;margin-bottom:8px}.trans-no{color:#7c5cff;margin-right:4px}.trans-input-row{display:flex;gap:8px;flex-wrap:wrap}.trans-input{flex:1 1 240px;border:1px solid #cfdcf2;border-radius:10px;padding:8px 10px;font-size:14px;outline:none}.trans-input:focus{border-color:#8ab4ff}.trans-tip{color:#99a;font-size:13px}.trans-ref{font-size:13px;color:#445;background:#f4f6ff;border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:4px;margin-top:8px}.trans-ref-line{-webkit-user-select:text;user-select:text}.trans-ref-note{font-size:12px;color:#8b8fa3}.trans-lock-hint{align-self:center;font-size:12px;color:#a08c5a;background:#fdf6e6;border-radius:999px;padding:4px 10px;white-space:nowrap}.trans-result{margin-top:8px;border-radius:10px;padding:8px 12px;font-size:13px;display:flex;flex-direction:column;gap:6px}.trans-result.ok{background:#eefbf1;color:#177a3f}.trans-result.no{background:#fff7ef;color:#8a5a17}.trans-verdict{font-weight:600}.trans-err{color:#8a5a17}.trans-err-span{font-weight:700;color:#b3541e}.trans-reactions{display:flex;gap:8px;flex-wrap:wrap}.trans-done{font-size:13px;color:#177a3f;background:#eefbf1;border-radius:10px;padding:8px 12px}.chat-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);border:1px dashed #a8e0c0;padding:16px 18px;display:flex;flex-direction:column;gap:12px;margin-top:2px}.chat-bubbles{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding:4px}.chat-bubble{display:flex;gap:8px;align-items:flex-start}.chat-bubble.me{flex-direction:row-reverse}.chat-who{font-size:18px;width:26px;text-align:center;flex:none}.chat-bubble-box{background:#f0f4ff;border-radius:12px;padding:8px 12px;max-width:78%;font-size:14px;color:#223;white-space:pre-wrap}.chat-bubble.me .chat-bubble-box{background:#e7f8ee}.chat-typing{font-size:12px;color:#99a;padding-left:34px}.chat-hints{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chat-hints-title{font-size:12px;color:#889;width:100%}.chat-hint-chip{cursor:pointer;border:1px dashed #9cc;background:#f6fdf9;color:#177a3f;border-radius:999px;padding:4px 10px;font-size:12px}.chat-hint-chip:hover{background:#eafaf1}.chat-hint-chip:disabled{opacity:.5;cursor:not-allowed}.chat-turns{font-size:12px;color:#8a6;font-weight:600}.chat-help-tip{font-size:12px;color:#3a68d8;background:#eef3fc;border-radius:8px;padding:6px 10px}.chat-input-row{display:flex;gap:8px}.shadow-btn.mic{background:#22a06b;color:#fff;flex:none}.chat-tool-row{display:flex;align-items:center;gap:12px}.chat-speak-toggle{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#668;cursor:pointer}.chat-review{display:flex;flex-direction:column;gap:8px}.chat-used{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:#556}.chat-used-chip{background:#e7f8ee;color:#177a3f;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.chat-used-chip.alt{background:#eef3fc;color:#3a68d8}.chat-ended{font-size:13px;color:#556}.chat-finish{align-self:flex-start}.read-prompt{font-size:14.5px;line-height:1.8;color:#5a4a70;background:#f6f1ff;border-radius:14px;padding:10px 14px}.rec-panel{display:flex;flex-direction:column;align-items:center;gap:10px}.rec-panel.recording{padding:14px;border-radius:16px;background:#fff0f0}.rec-dot{width:16px;height:16px;border-radius:50%;background:var(--red);animation:blink 1s infinite}.rec-time{font-weight:900;font-size:22px;letter-spacing:2px;color:#c0392b}.btn-rec{border-radius:999px;font-weight:800;font-size:15px;padding:10px 24px;color:#fff}.btn-rec.start{background:linear-gradient(90deg,#ff6b6b,#ff7a59);box-shadow:0 6px 16px #ff6b6b59}.btn-rec.stop{background:#c0392b}.btn-rec.submit{background:linear-gradient(90deg,#2fbf71,#4ecdc4);box-shadow:0 6px 16px #2fbf714d}.btn-rec.retry{background:#efe9fb;color:#5b3bb5}.rec-tip{font-size:12.5px;color:var(--ink-soft)}.rec-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.rec-preview{width:100%;max-width:420px}.rec-panel.uploading{color:var(--ink-soft);font-weight:600}.grade{border-radius:16px;background:#fff6e5;border:1px solid #ffd9a0;padding:12px 16px;display:flex;flex-direction:column;gap:6px;animation:pop .35s ease}.grade.good{background:#e8fbf0;border-color:#9fe3bd}.grade-stars{font-size:22px;letter-spacing:3px}.grade-stars .on{color:#ffc53d;text-shadow:0 0 6px rgba(255,197,61,.6)}.grade-stars .on~span:not(.on){color:#e5d9c0}.grade-stars span:not(.on){color:#e5d9c0}.grade-stars b{font-size:15px;margin-left:10px;color:#96610a}.grade-time{font-size:13px;color:var(--ink-soft)}.grade-comment{font-size:15px;line-height:1.8;font-weight:600}.grade-note{font-size:12px;color:var(--ink-soft)}.narr-speak-bar{margin-top:12px;padding-top:9px;border-top:1px dashed #efe3f7;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.narr-speak-btn{background:linear-gradient(90deg,#7c5cff,#ff7ad9);border:none;border-radius:999px;padding:6px 14px;color:#fff;font-weight:800;font-size:13px;box-shadow:0 3px 10px #7c5cff47}.narr-speak-btn.ghost{background:#fff;color:#7a6f8f;border:1.5px solid #e4d8f0;box-shadow:none}.narr-speaking-hint{font-size:12.5px;font-weight:800;color:#7c5cff;animation:blink 1.2s infinite}.narr-speaking-hint.paused{animation:none;color:#c45a2b}.bubble-text .bubble-voice{border-radius:6px;padding:1px 0}.bubble-text .bubble-voice.active{background:#ffe082;box-shadow:0 1px 8px #ffc83c8c;padding:1px 2px}@media (max-width: 900px){.learn-body{flex-direction:column}.reader-col{width:100%;min-width:0;height:46%}.talk-col{height:54%}.col-min-btn{display:none}.learn-body.min-reader .reader-col{flex:0 0 46px;min-width:0}.learn-body.min-reader .talk-col{flex:1 1 54%;height:auto}.learn-body.min-talk .talk-col{flex:0 0 46px;min-width:0}.learn-body.min-talk .reader-col{flex:1 1 46%;width:100%;height:auto}.pane-rail-btn{writing-mode:horizontal-tb;letter-spacing:1px}}.btn-teacher{align-self:center;background:#ffffffd9;border:2px solid #ead9c2;color:#a05a2c;font-weight:800;font-size:14px;border-radius:999px;padding:8px 18px;box-shadow:0 4px 12px #a05a2c1f;transition:transform .15s,background .2s}.btn-teacher:hover{background:#fff;transform:translateY(-1px)}.teacher{height:100%;display:flex;flex-direction:column;overflow:hidden}.teacher-topbar{display:flex;align-items:center;gap:10px;padding:12px 18px;background:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid #f3e7d9}.teacher-title{font-weight:900;font-size:18px;display:flex;align-items:baseline;gap:10px}.teacher-title-sub{font-weight:500;font-size:12px;color:var(--ink-soft)}.teacher-stats{margin-left:auto;display:flex;gap:8px}.teacher-stats span{background:#fff1e3;color:#a05a2c;font-weight:700;font-size:12px;padding:4px 12px;border-radius:999px}.teacher-tabs{display:flex;gap:8px;padding:12px 18px 0}.teacher-tabs button{border-radius:12px 12px 0 0;padding:9px 20px;font-weight:800;font-size:15px;background:#fff9;color:var(--ink-soft)}.teacher-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 -3px 0 var(--brand) inset}.teacher-filter{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border-bottom:1px solid #f3e7d9;flex-wrap:wrap}.tf-input,.tf-select{border:2px solid #f1e6d8;border-radius:12px;padding:8px 12px;font-size:14px;background:#fffdf9;outline:none;min-width:200px}.tf-input:focus,.tf-select:focus{border-color:var(--brand)}.tf-select{min-width:170px}.btn-ghost{background:#f4ecff;color:var(--violet);font-weight:700;font-size:13px;border-radius:999px;padding:7px 16px}.btn-ghost:hover{background:#e9dcff}.teacher-body{flex:1;min-height:0;overflow:auto;padding:14px 18px 24px}.teacher-empty{text-align:center;color:var(--ink-soft);font-size:14px;padding:40px 0}.teacher-legends{padding:0 18px 14px;font-size:12px;color:var(--ink-soft)}.legend-item{background:#ffffffb3;border-radius:999px;padding:4px 12px}.teacher-list{display:flex;flex-direction:column;gap:10px}.record-row,.progress-row{background:#fff;border-radius:16px;box-shadow:0 3px 10px #7c5cff0f;overflow:hidden}.record-row-main,.progress-row-main{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;text-align:left;font-size:14px;flex-wrap:wrap}.record-row-main:hover,.progress-row-main:hover{background:#fffaf3}.rr-time,.pr-count{color:var(--ink-soft);font-size:13px;min-width:128px}.rr-student{font-weight:800;min-width:120px}.rr-lesson,.pr-lesson{font-weight:700;color:#a05a2c;flex:1;min-width:140px}.rr-mastery,.pr-mastery{min-width:110px}.rr-mastery b,.pr-mastery b{font-size:15px}.rr-mastery b.green,.pr-mastery b.green,.td-meter b.green{color:var(--green)}.rr-mastery b.yellow,.pr-mastery b.yellow,.td-meter b.yellow{color:var(--yellow)}.rr-mastery b.red,.pr-mastery b.red,.td-meter b.red{color:var(--red)}.rr-open{color:var(--violet);font-weight:700;font-size:13px}.pr-fail-n{font-size:12px;color:var(--red);background:#ffecec;padding:2px 8px;border-radius:999px;font-weight:700}.st-pill{font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;min-width:62px;text-align:center}.st-run{background:#e4f3ff;color:#2a7fb8}.st-retry{background:#fff1d6;color:#b07512}.st-pass{background:#ddf6e9;color:#14834c}.st-fail{background:#ffe8e8;color:#c43d3d}.record-row-detail{border-top:1px dashed #f0e3d3;padding:14px 16px 18px;background:#fffdf9}.teacher-detail{display:flex;flex-direction:column;gap:14px}.teacher-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.td-title{font-weight:900;font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.td-sub{font-size:13px;color:var(--ink-soft);margin-top:3px}.td-meter{background:#fff;border:1px solid #f1e6d8;border-radius:14px;padding:12px 14px}.td-meter-label{font-size:14px}.td-meter-label b{font-size:20px;margin:0 4px 0 6px}.td-meter-label i{font-style:normal;font-size:10px}.td-meter-label i.green{color:var(--green)}.td-meter-label i.yellow{color:var(--yellow)}.td-meter-label i.red{color:var(--red)}.td-meter-hint{margin-left:10px;font-size:12px;color:var(--ink-soft)}.td-meter-track{height:8px;border-radius:999px;background:#f2ecff;margin:8px 0 4px;overflow:hidden}.td-meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#4ecdc4,#7c5cff,#ff5ea8);transition:width .6s ease}.td-meter-nums{font-size:12px;color:var(--ink-soft)}.td-block{display:flex;flex-direction:column;gap:8px}.td-block-title{font-weight:900;font-size:14px;color:#a05a2c}.td-exp{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;background:#f6f9ff;border:1px solid #dbe6fb}.td-exp-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.td-exp-head b{font-size:14px;color:#3a4a7a}.td-exp-score{font-size:12.5px;font-weight:800;padding:2px 10px;border-radius:10px}.td-exp-score.ok{color:#177a3f;background:#e6f7ee}.td-exp-score.mid{color:#a8670f;background:#fdf3e3}.td-exp-score.bad{color:#b3391c;background:#fdeceb}.td-exp-time{margin-left:auto;font-size:12px;color:#8b93ad}.td-exp-aim{font-size:12.5px;color:#6b7a9c}.td-exp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px}.td-exp-cell{display:flex;align-items:baseline;gap:6px;font-size:12.5px;min-width:0}.td-exp-cell span{color:#8b93ad;flex:none}.td-exp-cell b{color:#3a4a7a;font-weight:700;word-break:break-all}.readings-list{display:flex;flex-direction:column;gap:8px}.reading-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #f1e6d8;border-radius:12px;padding:8px 12px;flex-wrap:wrap}.reading-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:260px}.grade-stars.sm{font-size:15px;letter-spacing:1px}.grade-stars.sm b{font-size:12px;margin-left:4px;color:#96610a}.reading-time{font-size:12px;color:var(--ink-soft)}.reading-comment{font-size:13px;color:#7a5b33;flex:1;min-width:200px}.reading-audio{height:36px;max-width:320px;flex:1}.unit-rows{display:flex;flex-direction:column;gap:8px}.unit-row{background:#fff;border:1px solid #f1e6d8;border-radius:12px;padding:8px 12px}.unit-main{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.unit-title{font-weight:700;font-size:13.5px;flex:1;min-width:220px}.unit-point{font-size:12px;color:var(--ink-soft);white-space:nowrap}.unit-subs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.unit-sub{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px}.u-correct{background:#ddf6e9;color:#14834c}.u-revealed{background:#fff1d6;color:#b07512}.u-wrong{background:#ffe8e8;color:#c43d3d}.u-na{background:#f0ecf7;color:#8a7fa0}.td-block-hint{font-weight:400;font-size:12px;color:var(--ink-soft);margin-left:8px}.unit-rows-detail{display:flex;flex-direction:column;gap:6px;margin-top:8px}.unit-cell{background:#faf7f2;border-radius:10px;padding:7px 10px}.unit-cell-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.unit-cell-label{font-weight:700;font-size:13px}.unit-cell-answers{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:4px;font-size:12.5px;color:var(--ink-soft)}.unit-cell-answers b{color:var(--ink);font-weight:600}.unit-fb-bar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed #efe3d2}.fb-like{border:1px solid #e8d9c3;background:#fff;border-radius:999px;font-size:12.5px;padding:3px 12px;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:5px}.fb-like.on{background:#fff4e2;border-color:#f2c14e;color:#9a6a00}.fb-like:disabled,.fb-comment-btn:disabled{opacity:.6;cursor:not-allowed}.fb-count{background:#ffdf9c;border-radius:999px;font-size:11px;font-weight:700;min-width:18px;text-align:center;padding:0 4px;line-height:18px}.fb-comment-btn{border:1px solid #d9cfe8;background:#fff;border-radius:999px;font-size:12.5px;padding:3px 12px;color:var(--ink);cursor:pointer}.fb-comment-editor{flex-basis:100%;display:flex;flex-direction:column;gap:6px}.fb-comment-editor textarea{width:100%;border:1px solid #e0d4c2;border-radius:10px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fffdf9;resize:vertical}.fb-comment-actions{display:flex;justify-content:flex-end;gap:8px}.fb-teacher-note{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 12px;margin-top:8px;background:#fff8ec;border:1px solid #f4dfae;border-radius:10px;padding:7px 10px;font-size:12.5px;color:#8a6d21}.fb-reviewed{font-weight:700;color:#b07512;white-space:nowrap}.fb-note-comment{flex:1;min-width:220px}.unit-fb-comment{margin-top:6px;font-size:12.5px;color:#8a6d21;background:#fff8ec;border-radius:8px;padding:4px 8px;display:inline-block}.ra-chapter-title{font-weight:800;font-size:12.5px;color:var(--ink-soft);margin:10px 2px 6px}.ra-row .unit-sub{white-space:nowrap}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px;font-size:13.5px}.id-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:13px}.id-list li::marker{color:var(--brand)}.home-entry-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.center-filter{padding:10px 18px}.center-filter .tf-input{max-width:320px;flex:1}.center-body{overflow-y:auto}.center-hello{display:flex;flex-direction:column;align-items:center;gap:4px}.sc-emoji{font-size:56px;line-height:1}.sc-tip{color:var(--ink-soft);font-size:13px}.sc-card{background:#fff;border-radius:18px;box-shadow:0 3px 12px #7c5cff12;overflow:hidden;border:1.5px solid transparent;transition:border-color .2s}.sc-card.open{border-color:#e4cda9}.sc-card-main{display:flex;align-items:center;gap:16px;padding:16px 18px;flex-wrap:wrap}.sc-cover{width:64px;height:64px;flex:0 0 64px;border-radius:16px;background:linear-gradient(135deg,#fff3e0,#ffe3cf);display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:inset 0 0 0 1.5px #f0dcc2}.sc-info{flex:1 1 320px;min-width:260px;display:flex;flex-direction:column;gap:6px}.sc-title-row{display:flex;align-items:center;gap:10px}.sc-title{font-size:17px;font-weight:900;color:#5b3a1a}.sc-sub{font-size:12.5px;color:var(--ink-soft)}.sc-meter{display:flex;align-items:center;gap:8px}.sc-meter-track{flex:1;max-width:320px;height:8px;background:#f1ede6;border-radius:999px;overflow:hidden}.sc-meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffb26b,#e2703a);transition:width .5s}.sc-mastery{font-size:14px;font-weight:900;min-width:46px;text-align:right}.sc-mastery.green{color:var(--green)}.sc-mastery.yellow{color:var(--yellow)}.sc-mastery.red{color:var(--red)}.sc-flags{display:flex;gap:6px;flex-wrap:wrap}.sc-flag{font-size:12px;font-weight:800;padding:2px 10px;border-radius:999px}.sc-flag.wrong{background:#ffecec;color:#c43d3d}.sc-flag.weak{background:#f0ecf7;color:#7a5fd0}.sc-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto}.btn-primary-sc{background:linear-gradient(135deg,#ff9d5c,#ed6a3d);color:#fff;border:none;border-radius:999px;padding:9px 18px;font-weight:900;font-size:14px;box-shadow:0 4px 12px #ed6a3d47;transition:transform .15s,box-shadow .2s;white-space:nowrap}.btn-primary-sc:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ed6a3d57}.sc-session{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #7c5cff0d}.sc-session-main{width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;background:#fdfbf7;text-align:left;font-size:13.5px}.sc-session-main:hover{background:#fff8ef}.sc-retry{font-size:12px;color:#b07512;background:#fff1d6;border-radius:999px;padding:2px 9px;font-weight:700}.sc-session-detail{padding:14px;border-top:1px dashed #efe2cf;background:#fff}.sc-session .rr-time{min-width:150px}.care-panel{margin-top:22px;background:#fff6f7;border:1.5px dashed #f0a9b5;border-radius:18px;padding:16px 18px 18px;text-align:left}.care-panel.violet{background:#f6f3ff;border-color:#cbb6f5}.care-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.care-title{font-size:17px;font-weight:900;color:#b34a5e;letter-spacing:.5px}.care-panel.violet .care-title{color:#6d4fc0}.care-sub{font-size:12.5px;color:var(--ink-soft);flex:1;min-width:180px}.care-reload{border:none;background:transparent;color:var(--ink-soft);font-size:17px;cursor:pointer}.care-reload:disabled{opacity:.4}.care-empty{font-size:13px;color:var(--ink-soft);padding:8px 2px}.care-list{display:flex;flex-direction:column;gap:10px}.care-task{display:flex;justify-content:space-between;gap:14px;background:#fff;border-radius:14px;padding:12px 14px;border:1px solid #ffe0e4}.care-panel.violet .care-task{border-color:#e4d9fb}.care-task.submitted{border-color:#bfe6d3}.care-task-main{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px}.care-task-title{font-weight:800;font-size:14.5px;color:#5b3a1a}.care-task-content{font-size:13px;color:var(--ink);white-space:pre-wrap}.care-task-hint{font-size:12.5px;color:#8a6d21;background:#fff7e3;border-radius:8px;padding:3px 8px;align-self:flex-start}.care-task-date{font-size:11.5px;color:var(--ink-soft)}.care-task-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;min-width:150px;max-width:250px}.care-status{font-size:12px;font-weight:700;color:#14834c;background:#ddf6e9;border-radius:999px;padding:3px 10px;white-space:nowrap}.care-status.wait{color:#8a6d21;background:#fff1d6}.care-time{font-size:11px;color:var(--ink-soft)}.care-thumb{width:120px;display:block;border-radius:8px;overflow:hidden;border:1px solid #eee0cd}.care-thumb img{width:100%;height:78px;object-fit:cover;display:block}.care-btn{font-size:12.5px;padding:5px 12px}.care-error{margin-top:8px}.care-file{font-size:12.5px}.care-teacher{display:flex;flex-direction:column;gap:14px}.care-publish-form{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.care-publish-form input.tf-input{width:100%}.care-publish-form button{justify-self:start}.care-publish-msg{margin-top:8px;font-size:12.5px;color:#14834c}.td-reload{margin-left:auto;font-size:12px}.care-sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:10px}.care-sub-card{background:#fff;border:1px solid #f1e6d8;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.care-sub-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.care-sub-student{font-weight:800;font-size:13.5px}.care-sub-time{font-size:11px;color:var(--ink-soft)}.care-sub-task{font-size:12.5px;color:#8a6d21}.care-sub-thumb{border-radius:8px;overflow:hidden;border:1px solid #eee0cd}.care-sub-thumb img{width:100%;height:120px;object-fit:cover;display:block}.care-sub-state{font-size:11.5px;color:#14834c}.care-sub-card .unit-fb-bar{margin-top:8px;align-items:center}.care-sub-card .unit-fb-comment{margin-top:6px;font-size:12.5px}.btn-vcall{border:none;cursor:pointer;font-size:13px;font-weight:800;padding:8px 16px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#2f9e7f,#1f7a8c);box-shadow:0 3px 10px #1f7a8c40}.btn-vcall:hover{filter:brightness(1.08)}.home-vcall-row{text-align:center;margin:10px 0 2px}.home-vcall-row .btn-vcall{background:linear-gradient(135deg,#2f9e7f,#1f7a8c);padding:10px 22px;font-size:14px}.vcall-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#141e268c;display:flex;align-items:center;justify-content:center;padding:18px}.vcall-card{width:min(960px,96vw);background:#0f1f2a;border-radius:18px;border:1px solid #24485a;overflow:hidden;box-shadow:0 18px 60px #00000073;color:#eaf6f1}.vcall-head{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#122e3b;border-bottom:1px solid #1d4050}.vcall-title{font-weight:900;font-size:15px}.vcall-state{font-size:12px;padding:3px 10px;border-radius:999px;background:#ffffff14}.vcall-head .btn-ghost{margin-left:auto;color:#9fb8c4}.vcall-intro{padding:26px 30px 30px;display:flex;flex-direction:column;gap:10px}.vcall-intro .name-input{max-width:320px}.field-label{font-size:12.5px;color:#9fb8c4}.vcall-intro-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px}.vcall-divider{color:#5f7f8d;font-size:12px}.vcall-join{display:flex;gap:8px;flex:1;min-width:300px}.vcall-join .tf-input{max-width:280px;background:#0a1820;border:1px solid #2c5466;color:#eaf6f1}.vcall-error{padding:30px;display:flex;flex-direction:column;gap:14px;color:#ffd9a8}.vcall-room{display:flex;flex-direction:column;padding:12px 14px 14px;gap:10px}.vcall-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px}.vcall-code{font-size:14px;color:#ffe1a8}.vcall-code b{letter-spacing:2px}.vcall-code .btn-ghost{margin-left:6px}.vcall-members{color:#9fb8c4;margin-left:auto}.vcall-peer{color:#8ff0cf;font-weight:700}.vcall-stage{position:relative;background:#000;border-radius:14px;aspect-ratio:16/9;overflow:hidden}.vcall-remote{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.vcall-remote-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#8fb3c2;font-size:15px;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(47,158,127,.18),transparent 60%),#0a1820}.vcall-local{position:absolute;right:14px;bottom:14px;width:27%;max-width:220px;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:2px solid #2b6c7e;background:#12232e;box-shadow:0 4px 14px #0006}.vcall-local-tag{position:absolute;right:16px;bottom:16px;margin-top:0;font-size:10px;background:#0009;color:#cfe8ff;padding:2px 7px;border-radius:6px;pointer-events:none}.vcall-ctrl{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.vcall-btn{border:none;cursor:pointer;border-radius:999px;font-size:13px;font-weight:800;padding:9px 18px;background:#1d4050;color:#eaf6f1}.vcall-btn.off{background:#5a2b35;color:#ffd0cf}.vcall-btn.hang{background:#b3424f;color:#fff}.vcall-btn:hover{filter:brightness(1.1)}.vcall-notice{font-size:12px;color:#ffd9a8;text-align:center;padding:2px 16px 12px}.vcall-engine-row{display:flex;gap:8px;flex-wrap:wrap}.vcall-engine-opt{border:1px solid #2c5466;background:#0a1820;color:#b8d0da;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:999px;cursor:pointer}.vcall-engine-opt.active{background:#2f9e7f;border-color:#3ec7a1;color:#fff}.vcall-engine-note{font-size:11.5px;color:#8fb3c2;line-height:1.6}.vcall-engine-note.ok{color:#8ff0cf}.vcall-local-trtc{overflow:hidden;padding:0}.vcall-local-trtc video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:12px}.lb-entry,.learn-fb-btn,.vt-join-btn,.history-entry,.care-in-top{position:relative}.nt-badge{position:absolute;top:-8px;right:-8px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:#ff4d4f;color:#fff;font-size:10.5px;font-weight:900;line-height:16px;text-align:center;border:1.5px solid #fff;box-shadow:0 2px 6px #ff4d4f66;pointer-events:none;white-space:nowrap}.nt-badge:empty{display:none}.rguide-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 12px 2px}.rguide-btn{border:0;cursor:pointer;background:linear-gradient(135deg,#7c5cff,#5e7cff);color:#fff;font-size:12.5px;font-weight:800;padding:7px 14px;border-radius:999px;box-shadow:0 4px 12px #7c5cff4d;white-space:nowrap}.rguide-btn:disabled{opacity:.55;cursor:not-allowed}.rguide-hint{font-size:11.5px;color:#9a8fb0}.msg-row .guide-card .bubble{border-color:#d9cdf5;background:#faf7ff}.btn-guide-recall{border:0;cursor:pointer;background:linear-gradient(135deg,#36c5f0,#7c5cff);color:#fff;font-size:13px;font-weight:900;padding:10px 18px;border-radius:999px;margin-bottom:10px;box-shadow:0 4px 12px #7c5cff4d}.btn-guide-recall:disabled{opacity:.6;cursor:not-allowed}.vclass-overlay{z-index:80}.vclass-card{width:min(1100px,96vw);height:min(88vh,780px);background:#fbfaff;border-radius:18px;box-shadow:0 18px 60px #23124047;display:flex;flex-direction:column;overflow:hidden}.vclass-card .vcall-intro{overflow:auto;padding-bottom:22px}.vclass-card .vcall-code b{color:#4d3a68}.vclass-room{flex:1;min-height:0;display:flex;flex-direction:column;padding:10px 14px 12px;gap:8px;position:relative}.vclass-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#5c4878;font-size:13px}.vclass-members{color:#7a6598;font-weight:600}.vclass-self{position:absolute;right:18px;top:46px;width:168px;border-radius:12px;overflow:hidden;z-index:5;border:2px solid rgba(90,155,255,.5);box-shadow:0 6px 18px #23124040;background:#12232e;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.vclass-self:active{cursor:grabbing}.vclass-card.teacher .vclass-self{left:18px;right:auto}.vclass-self .vcall-local{position:static;width:100%;height:120px}.vclass-self-name{position:absolute;left:6px;bottom:4px;color:#fff;font-size:11.5px;background:#00000073;padding:1px 7px;border-radius:999px;max-width:90%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.vclass-teacher-body{flex:1;min-height:0;display:flex;flex-direction:row;gap:12px;padding-top:4px}.vclass-grid{flex:1;min-width:0;display:grid;gap:10px;align-content:start;overflow:auto}.vclass-grid.cols-2{grid-template-columns:repeat(2,1fr)}.vclass-grid.cols-3{grid-template-columns:repeat(3,1fr)}.vclass-empty{color:#8b7aa5;background:#f1ebfb;border:1px dashed #cdbde6;border-radius:12px;display:flex;align-items:center;justify-content:center;min-height:120px;grid-column:1 / -1;font-size:14px}.vclass-empty.small{min-height:46px;font-size:12.5px}.vclass-tile{position:relative;aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;background:#10222e;border:2px solid transparent;min-height:120px}.vclass-tile.main{flex:1;min-height:240px;width:100%}.vclass-tile.compact{width:150px;aspect-ratio:4 / 3;flex-shrink:0}.vclass-tile.raised{border-color:#ffb020;box-shadow:0 0 0 3px #ffb02059}.vclass-tile.asking{border-color:#36c5f0;box-shadow:0 0 0 3px #36c5f066}.vclass-tile-video{width:100%;height:100%;object-fit:cover;background:#10222e}.vclass-tile-video.vclass-tile-trtc video{width:100%;height:100%;object-fit:cover}.vclass-tile-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#9fc2d0;font-size:12.5px;padding:8px;text-align:center}.vclass-tile-name{position:absolute;left:6px;bottom:5px;right:6px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;color:#fff;font-size:12px;background:#00000080;padding:3px 8px;border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vclass-tile-role{font-size:13px}.vclass-chip{display:inline-flex;align-items:center;gap:2px;font-size:10.5px;font-weight:800;padding:0 6px;height:16px;border-radius:999px;font-style:normal}.vclass-chip.muted{background:#ff4d4f;color:#fff}.vclass-chip.camoff{background:#7a5a8c;color:#fff}.vclass-chip.raised{background:#ffb020;color:#4a2c00}.vclass-chip.asking{background:#36c5f0;color:#003a4a}.vclass-roster{width:300px;min-width:280px;max-width:320px;overflow:auto;background:#fff;border:1px solid #ece3f6;border-radius:12px;padding:10px}.vclass-roster-title{font-weight:800;color:#4d3a68;margin-bottom:8px;font-size:13px}.vclass-roster-row{display:flex;align-items:center;gap:6px;padding:7px 8px;border-radius:10px;background:#faf7ff;margin-bottom:6px;flex-wrap:wrap}.vclass-roster-row.asking{outline:2px solid rgba(54,197,240,.45)}.vclass-roster-row.raised{outline:2px solid rgba(255,176,32,.45)}.vclass-roster-name{font-weight:700;color:#3d3152;font-size:13px;min-width:64px;display:inline-flex;align-items:center;gap:4px}.vclass-roster-status{font-size:15px}.vclass-roster-status.off{opacity:.5}.vclass-row-btn{border:0;cursor:pointer;background:#efe7fb;color:#5c4878;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px}.vclass-row-btn:hover{background:#e3d5f6}.vclass-row-btn.danger{background:#ffe4e1;color:#c0392b}.vclass-row-btn.hot{background:#d7f1fa;color:#0a6f8f}.vclass-student-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:auto}.vclass-main-empty{flex:1;min-height:200px;display:flex;align-items:center;justify-content:center;background:#10222e;color:#9fc2d0;border-radius:12px;font-size:14px}.vclass-thumbs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 6px}.vclass-ctrl{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;padding:6px 0 2px}.vclass-ctrl .vcall-btn.raise.on{background:#ffb020;color:#4a2c00}.vclass-ctrl .vcall-btn.ask.done{background:#36c5f0;color:#003a4a;cursor:default}.vclass-create{width:100%;margin-top:6px;padding:12px;font-size:15px}.vclass-join{width:100%;margin-top:10px}.vclass-join input{min-width:200px}@media (max-width: 860px){.vclass-teacher-body{flex-direction:column}.vclass-roster{width:100%;max-width:none;min-width:0}.vclass-self{width:120px}.vclass-self .vcall-local{height:86px}}.lls-pop-sw{width:380px}.lls-pop>.lls-groups,.lls-pop>.lls-list{flex:1 1 auto;min-height:0}.lls-pop-sw .lls-groups,.lls-pop-sw .lls-list{max-height:46vh}.lls-groups{overflow-y:auto;overflow-x:hidden;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}.lls-groups>.llg{flex:none}.llg{border-radius:12px;border:1px solid #f0e4cd;background:#fffdf7}.llg.cur{border-color:#d8e6d9;background:#f6fbf4}.llg.lock{background:#f6f4f0;border-color:#e4e0d8}.llg-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:transparent;cursor:pointer;text-align:left;min-width:0}.llg.lock .llg-head{cursor:not-allowed}.llg-head .llg-emoji{flex:none;font-size:16px}.llg-head .llg-name{flex:1 1 auto;min-width:0;font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llg.lock .llg-head .llg-name{color:#9b93a5}.llg-n{flex:none;font-size:11px;color:var(--ink-soft)}.llg-cur{flex:none;font-size:11px;color:#14804c;background:#e4f3e9;border-radius:999px;padding:1px 8px}.llg-lock{flex:none;font-size:10.5px;color:#a3512f;background:#fdece2;border-radius:999px;padding:1px 8px;white-space:nowrap}.llg-head .ls-caret{flex:none}.llg-list{display:flex;flex-direction:column;gap:1px;padding:0 4px 4px;border-top:1px dashed #eee3cf}.lls-item.lock{opacity:.62;cursor:not-allowed}.lls-item.lock:hover{background:transparent}.visual-block{margin:10px 0 14px}.visual-collapsed{display:flex;align-items:center;gap:10px;margin:8px 0 12px;padding:8px 12px;border:1px dashed rgba(120,140,190,.45);border-radius:12px;background:#f5f8ffb3;color:#4b5563;font-size:13px}.visual-collapsed .vc-emoji{font-size:18px}.visual-collapsed .vc-text{flex:1 1 auto;min-width:0}.visual-collapsed .vc-text em{margin-left:8px;font-style:normal;font-size:12px;color:#6b7280}.visual-collapsed .vc-open{flex:0 0 auto;border:1px solid rgba(120,140,190,.5);background:#fff;color:#374151;border-radius:8px;padding:4px 10px;font-size:12.5px;cursor:pointer}.visual-collapsed .vc-open:hover{background:#eef2ff}.hv-board{--hv-accent: #1d7d78;border:1px solid #cfe6e4;border-radius:16px;background:linear-gradient(180deg,#f7fdfd,#eef8f7);padding:12px 14px 10px}.hv-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.hv-emoji{font-size:20px;line-height:1.35}.hv-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hv-meta b{font-size:15px;font-weight:900;color:#14343a}.hv-done-tag{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:#e3f5ee;color:#1d7d78;font-size:11.5px;font-style:normal;font-weight:700;vertical-align:1px}.hv-meta span{font-size:12.5px;color:#4b6b73}.hv-acts{display:flex;gap:8px;flex-shrink:0}.hv-btn{border:1px solid #bcd9d7;background:#fff;color:#1d7d78;border-radius:9px;padding:5px 11px;font-size:12.5px;cursor:pointer}.hv-btn:hover{background:#eef8f7}.hv-btn-go{background:var(--hv-accent);border-color:var(--hv-accent);color:#fff;font-weight:700}.hv-btn-go:hover{background:var(--hv-accent);filter:brightness(1.08)}.hv-frame{position:relative;margin-top:10px;height:clamp(340px,58vh,560px);border:1px solid #d6e6e5;border-radius:12px;overflow:hidden;background:#0f172a}.hv-board.is-graphic .hv-frame{height:clamp(440px,calc(100vh - 92px),1000px)}.hv-board.is-graphic .hv-head{padding:4px 10px;min-height:0;justify-content:flex-end}.hv-board.is-graphic .hv-acts .hv-btn{padding:4px 10px;font-size:12px}.hv-board:fullscreen,.hv-board.is-immersive{display:flex;flex-direction:column;height:100%;margin:0;padding:12px 14px 10px;border:0;border-radius:0;background:#fff}.hv-board.is-immersive{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000}.hv-board:fullscreen .hv-frame,.hv-board.is-immersive .hv-frame{flex:1;min-height:0;height:auto}.hv-iframe{width:100%;height:100%;border:0;display:block}.hv-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 24px;text-align:center;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e2e8f0;font-size:13.5px}.hv-cover b{font-size:15px}.hv-cover span{max-width:34em;font-size:12.5px;line-height:1.6;opacity:.78}.hv-cover-load{letter-spacing:1px}.hv-foot{margin-top:8px;font-size:12.5px;color:#4b6b73}.hv-foot.is-done{color:#1d7d78;font-weight:700}.hg-board{--hv-accent: #1d7d78;border:1px solid #cfe6e4;border-radius:16px;background:linear-gradient(180deg,#f7fdfd,#eef8f7);padding:12px 14px 10px}.hg-board-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.hg-board-emoji{font-size:20px;line-height:1.35}.hg-board-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hg-board-meta b{font-size:15px;font-weight:900;color:#14343a}.hg-board-meta span{font-size:12.5px;color:#4b6b73}.hg-board-acts{display:flex;gap:8px;flex-shrink:0}.hg-board-frame{position:relative;margin-top:10px;height:clamp(380px,64vh,620px);border:1px solid #d6e6e5;border-radius:12px;overflow:hidden;background:#0f172a}.hg-iframe{width:100%;height:100%;border:0;display:block}.hg-board-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:12px 14px;border:1px dashed #bcd9d7;border-radius:12px;background:#f2fbfa;font-size:13.5px;color:#1d5f5b}.game-block{margin:10px 0 14px}.hg-round{--hg-accent: #1d7d78;--hg-soft: #e8f6f5;border:1px solid #cfe6e4;border-radius:16px;background:linear-gradient(180deg,#f7fdfd,#eef8f7);padding:12px 14px 14px}.hg-head-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hg-head-title{font-weight:900;font-size:15px;color:#14343a}.hg-head-score{font-size:13px;color:#2a5560}.hg-head-score b{color:var(--hg-accent);font-size:15px}.hg-head-acc{font-size:12px;font-weight:700;border-radius:999px;padding:2px 8px}.hg-head-acc.ok{color:#0f766e;background:#d8f3ef}.hg-head-acc.low{color:#b91c1c;background:#fee2e2}.hg-head-bar{height:6px;border-radius:999px;background:#dceceb;margin:8px 0 6px;overflow:hidden}.hg-head-bar i{display:block;height:100%;background:linear-gradient(90deg,#35b0a8,#1d7d78);transition:width .25s ease}.hg-head-sub{font-size:12px;color:#5d7c82}.hg-points{margin-top:6px;font-size:12px;color:#4b6b72}.hg-point{display:inline-block;margin:0 4px 4px 0;padding:1px 8px;border-radius:999px;background:#fff;border:1px solid #cfe6e4;color:#1d7d78;font-weight:600}.hg-lead{margin:8px 0 4px;font-size:13px;color:#3c5b62}.hg-question{margin:10px 0 12px;font-size:15px;line-height:1.75;font-weight:600;color:#16323a}.hg-msg{margin-top:10px;font-size:13.5px;font-weight:700;color:#1d7d78}.hg-tip{margin-top:10px;font-size:11.5px;color:#7b959b}.hg-opts{display:grid;gap:8px}.hg-opt{text-align:left;padding:11px 14px;border-radius:12px;border:1px solid #cfe6e4;background:#fff;font-size:14px;line-height:1.6;color:#1c3a42;cursor:pointer;transition:all .14s ease}.hg-opt:hover:not(:disabled){border-color:#7fc9c3;transform:translateY(-1px)}.hg-opt.picked{border-color:#7fc9c3}.hg-opt.right{background:#dcf5ef;border-color:#34a99f;color:#0f5f59;font-weight:700}.hg-opt.wrong{background:#fde8e8;border-color:#e08a8a;color:#9b2b2b}.hg-opt:disabled{cursor:default;opacity:.96}.hg-holes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.hg-hole{min-height:74px;border-radius:14px;border:2px dashed #cfe6e4;background:#f2fbfa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px;font-size:13px;color:#8aa8ad;cursor:default;transition:all .18s ease}.hg-hole .hg-mole{font-size:22px;opacity:.25;transition:all .18s ease}.hg-hole.up{border-style:solid;border-color:#34a99f;background:#fff;color:#14343a;font-weight:700;cursor:pointer;transform:translateY(-3px);box-shadow:0 8px 18px #1d7d782e}.hg-hole.up .hg-mole{opacity:1}.hg-hole.right{background:#dcf5ef;border-color:#34a99f}.hg-hole.wrong{background:#fde8e8;border-color:#e08a8a}.hg-hole-text{text-align:center;line-height:1.45}.hg-orbit{position:relative;height:210px;border-radius:14px;background:radial-gradient(circle at 50% 50%,#eafafa,#dff2f1);overflow:hidden}.hg-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:34px}.hg-ball{position:absolute;max-width:42%;padding:8px 10px;border-radius:12px;border:1px solid #9fd6d0;background:#fff;font-size:12.5px;line-height:1.4;cursor:pointer;box-shadow:0 6px 14px #1d7d781f;animation:hg-converge 3.4s ease-in forwards}.hg-ball.c0{left:2%;top:4%}.hg-ball.c1{right:2%;top:4%;animation-delay:.15s}.hg-ball.c2{left:2%;bottom:4%;animation-delay:.3s}.hg-ball.c3{right:2%;bottom:4%;animation-delay:.45s}@keyframes hg-converge{0%{transform:translate(0)}70%{transform:translate(0)}to{transform:translate(0);opacity:.9}}.hg-ball.right{background:#dcf5ef;border-color:#34a99f;font-weight:700}.hg-ball.wrong{background:#fde8e8;border-color:#e08a8a}.hg-lanes{display:grid;gap:10px}.hg-lane{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid #cfe6e4;background:repeating-linear-gradient(90deg,#fff,#fff 22px,#f4fbfa 22px,#f4fbfa 44px);font-size:13.5px;line-height:1.55;cursor:pointer}.hg-lane.right{background:#dcf5ef;border-color:#34a99f;font-weight:700}.hg-lane.wrong{background:#fde8e8;border-color:#e08a8a}.hg-lane-flag{flex:none}.hg-hand{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.hg-card{padding:14px 12px;border-radius:14px;border:1px solid #cfe6e4;background:#fff;font-size:13px;line-height:1.5;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:all .14s ease}.hg-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 20px #1d7d7824}.hg-card-arrow{color:#8aa8ad;font-size:12px}.hg-card.right{background:#dcf5ef;border-color:#34a99f;font-weight:700}.hg-card.wrong{background:#fde8e8;border-color:#e08a8a}.hg-pairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.hg-pair-card{min-height:58px;padding:8px 10px;border-radius:12px;border:1px solid #cfe6e4;background:#fff;font-size:13px;line-height:1.4;cursor:pointer;transition:all .14s ease}.hg-pair-card.side-a{border-left:4px solid #35b0a8}.hg-pair-card.side-b{border-left:4px solid #f0a03c}.hg-pair-card:hover:not(:disabled){transform:translateY(-2px)}.hg-pair-card.picked{box-shadow:0 0 0 3px #35b0a847}.hg-pair-card.matched{background:#dcf5ef;border-color:#34a99f;color:#0f5f59;opacity:.55;cursor:default}.hg-pair-card.wrong{animation:hg-shake .4s;background:#fde8e8;border-color:#e08a8a}@keyframes hg-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.hg-film{display:flex;gap:8px;overflow-x:auto;padding:8px 4px 10px}.hg-frame{flex:none;width:132px;min-height:86px;border-radius:8px;border:2px dashed #b9dcd8;background:#fff;padding:8px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;cursor:pointer;transition:all .14s ease}.hg-frame-year{font-weight:900;color:#1d7d78;font-size:14px}.hg-frame-slot{font-size:11.5px;color:#8aa8ad;line-height:1.4}.hg-frame.filled{border-style:solid;border-color:#34a99f;background:#f2fbfa}.hg-frame.filled .hg-frame-slot{color:#0f5f59;font-weight:700}.hg-frame.wrong{border-color:#e08a8a;background:#fdeaea;animation:hg-shake .4s}.hg-tray{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.hg-polaroid{padding:9px 12px;border-radius:8px;border:1px solid #e0d6c4;background:#fffdf7;font-size:13px;cursor:pointer;box-shadow:0 3px 8px #78643c1f;transition:all .14s ease}.hg-polaroid:nth-child(odd){transform:rotate(-1.5deg)}.hg-polaroid:nth-child(2n){transform:rotate(1.5deg)}.hg-polaroid:hover:not(:disabled){transform:translateY(-3px) rotate(0)}.hg-polaroid.picked{box-shadow:0 0 0 3px #35b0a859}.hg-polaroid.done{opacity:.45;cursor:default}.hg-seq-consume{display:grid;gap:10px}.hg-seq-target{font-size:13px;color:#3c5b62}.hg-seq-target b{color:#1d7d78}.hg-seq-pool{display:flex;flex-wrap:wrap;gap:8px}.hg-seq-chip{padding:9px 12px;border-radius:10px;border:1px solid #cfe6e4;background:#fff;font-size:13px;cursor:pointer;transition:all .14s ease}.hg-seq-chip:hover:not(:disabled){transform:translateY(-2px)}.hg-seq-chip.next{border-color:#f0a03c;box-shadow:0 0 0 3px #f0a03c38}.hg-seq-chip.done{background:#dcf5ef;border-color:#34a99f;color:#0f5f59;opacity:.6;cursor:default}.hg-seq-chip.wrong{animation:hg-shake .4s;background:#fde8e8;border-color:#e08a8a}.hg-hint{margin-top:8px;font-size:12.5px;color:#1d7d78;font-weight:600}.hg-done{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 12px;text-align:center}.hg-done-emoji{font-size:44px}.hg-done b{font-size:17px;color:#14343a}.hg-done span{font-size:13px;color:#5d7c82}.hg-done button{margin-top:6px}.subj-ai .talk-head-title{letter-spacing:.02em}.subj-ai.learn-body{flex-direction:row!important}.subj-ai.learn-body>.talk-col{order:1;flex:0 0 40%;min-width:280px}.subj-ai.learn-body>.reader-col{order:2;background:#f3f7f5;flex:0 0 60%;min-width:320px}.subj-ai.learn-body.min-reader>.talk-col{flex:1 1 auto;min-width:0}.subj-ai.learn-body.min-talk>.reader-col{flex:1 1 auto;min-width:0}.subj-ai.learn-body.min-reader>.reader-col{flex:0 0 34px;min-width:34px}.subj-ai.learn-body.min-talk>.talk-col{flex:0 0 34px;min-width:34px}@media (max-width: 900px){.subj-ai.learn-body{flex-direction:column!important}}.ai-wb{display:flex;flex-direction:column;height:100%;min-height:0;padding:10px 12px 12px;gap:8px;box-sizing:border-box}.ai-ext-lab{gap:12px}.ai-ext-open-btn{display:block;width:100%;border:none;border-radius:14px;padding:16px 18px;font-size:17px;font-weight:800;letter-spacing:.02em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#1f8f62,#146b4a);box-shadow:0 6px 16px #146b4a47}.ai-ext-open-btn:hover{filter:brightness(1.05)}.ai-ext-open-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ai-ext-opened-hint{margin:0;font-size:13px;color:#1f4d3c;font-weight:600}.ai-ext-opened-hint.soft{color:#5a7a6c;font-weight:500}.ai-ext-warn{margin:0;color:#a33;font-size:13px}.ai-ext-steps{margin:0;padding:10px 12px 10px 28px;background:#eef6f1;border:1px solid #c5ddd0;border-radius:12px;color:#1f4d3c;font-size:14px;line-height:1.55}.ai-ext-steps li+li{margin-top:8px}.ai-ext-steps strong{display:block}.ai-ext-steps span{display:block;margin-top:2px;color:#3d6354;font-size:13px;font-weight:500}.ai-ext-phenom{display:flex;flex-direction:column;gap:10px;padding-top:4px}.ai-ext-phenom-row{padding:8px 10px;background:#fff;border:1px solid #d0e2d8;border-radius:10px}.ai-ext-phenom-q{font-size:13.5px;font-weight:700;color:#1f4d3c;margin-bottom:6px}.zoomable-img{position:relative;display:block;width:100%;padding:0;border:none;background:transparent;cursor:zoom-in;text-align:inherit}.zoomable-img img{display:block;width:100%;height:auto;border-radius:10px}.zoomable-img-hint{position:absolute;right:8px;bottom:8px;padding:3px 9px;border-radius:999px;background:#0c14119e;color:#fff;font-size:12px;font-weight:700;opacity:.9;transition:opacity .15s ease;pointer-events:none}.zoomable-img:hover .zoomable-img-hint,.zoomable-img:focus-visible .zoomable-img-hint{opacity:1}.img-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:180px;padding:14px;border:2px dashed #c5d9ce;border-radius:12px;background:#f7fbf8;color:#5a7a6c;font-size:12.5px;line-height:1.5;text-align:center}.img-missing-icon{font-size:28px}.img-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;flex-direction:column;background:#0a120fe6;animation:img-lightbox-in .16s ease-out}@keyframes img-lightbox-in{0%{opacity:0}to{opacity:1}}.img-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;color:#eaf5ef;font-size:13.5px}.img-lightbox-actions{display:flex;align-items:center;gap:8px}.img-lightbox-actions button{padding:5px 11px;border:1px solid rgba(255,255,255,.34);border-radius:8px;background:#ffffff14;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.img-lightbox-actions button:hover{background:#ffffff2e}.img-lightbox-actions button.close{border-color:#e0503b;background:#e0503b}.img-lightbox-scale{min-width:48px;text-align:center;font-variant-numeric:tabular-nums;color:#bfd8cc}.img-lightbox-stage{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:8px 12px}.img-lightbox-stage img{display:block;border-radius:8px;object-fit:contain}.img-lightbox-tip{margin:0;padding:8px;text-align:center;color:#9fbdb0;font-size:12.5px}.ai-ext-shots{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #cfe0d6;border-radius:12px;background:#fff}.ai-ext-shots.on{border-color:#7fb79b;box-shadow:0 0 0 3px #2f8f6b1f}.ai-ext-shots-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;color:#1f4d3c}.ai-ext-shots-count{font-size:12.5px;font-weight:700;color:#5a7a6c;font-variant-numeric:tabular-nums}.ai-ext-shot-stage{display:flex;align-items:center;gap:6px}.ai-ext-shot-figure{flex:1;min-width:0}.ai-ext-shot-figure .zoomable-img img{max-height:300px;object-fit:contain;background:#0f1b17}.ai-ext-shot-nav{flex:0 0 auto;width:30px;height:48px;border:1px solid #9bb8a8;border-radius:10px;background:#fff;color:#1f4d3c;font-size:20px;font-weight:800;line-height:1;cursor:pointer}.ai-ext-shot-nav:hover{background:#eef6f1}.ai-ext-shot-caption{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:#1f4d3c}.ai-ext-shot-caption span{color:#3d6354;font-size:13px;line-height:1.5}.ai-ext-shot-dots{display:flex;gap:6px;justify-content:center}.ai-ext-shot-dots button{width:26px;height:26px;border:1px solid #9bb8a8;border-radius:50%;background:#fff;color:#1f4d3c;font-size:12px;font-weight:700;cursor:pointer}.ai-ext-shot-dots button.on{border-color:#1f8f62;background:#1f8f62;color:#fff}.ai-ext-steps li{cursor:pointer;border-radius:8px}.ai-ext-steps li.on{background:#dff0e7;box-shadow:inset 0 0 0 1px #9ccbb2}.ai-ext-step-shot{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#dff0e7;color:#146b4a;font-size:11.5px;font-style:normal;font-weight:700}.ai-wb-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ai-wb-modules{display:flex;flex-wrap:wrap;gap:4px}.ai-wb-mod{font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:#dce8e2;color:#5a7268}.ai-wb-mod.on{background:#2f8f6b;color:#fff}.ai-wb-mod.done{background:#b7d8c8;color:#1f4d3c}.ai-wb-text-fold{border:0;background:transparent;color:#5a7268;font-size:12px;cursor:pointer;text-decoration:underline}.ai-wb-min{border:1.5px solid #c5d9ce;background:#fff;color:#3d5c4e;border-radius:8px;padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.ai-wb-min:hover:not(:disabled){background:#eef7f2;border-color:#9dc4b1}.ai-wb-min:disabled{opacity:.4;cursor:not-allowed}.ai-wb-text-preview{margin:0;max-height:120px;overflow:auto;padding:8px 10px;background:#fff;border:1px solid #c5d9ce;border-radius:8px;font-size:12px;line-height:1.55;white-space:pre-wrap;color:#3d5c4e}.ai-wb-hint{background:#fff;border:1px solid #c5d9ce;border-radius:10px;padding:8px 12px}.ai-wb-hint p{margin:0;font-size:13.5px;line-height:1.55;color:#1f4d3c;font-weight:600}.ai-wb-hint p+p{margin-top:4px;font-weight:500;color:#3d5c4e}.ai-wb-tabs{display:flex;gap:6px}.ai-wb-tabs button{border:1px solid #9bb8a8;background:#fff;border-radius:8px;padding:5px 12px;font-size:13px;cursor:pointer;color:#1f4d3c}.ai-wb-tabs button.on{background:#2f8f6b;border-color:#2f8f6b;color:#fff;font-weight:700}.ai-wb-stage{flex:1;min-height:0;overflow:auto;background:#fff;border:1px solid #c5d9ce;border-radius:12px}.ai-wb-stage .ai-exp-card{margin:0;border:0;border-radius:12px;min-height:100%}.ai-wb-idle{padding:24px 16px;color:#5a7268;font-size:14px;line-height:1.7}.ai-wb-table-wrap{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:10px}.ai-wb-table{width:100%;border-collapse:collapse;font-size:12.5px}.ai-wb-table th,.ai-wb-table td{border-bottom:1px solid #e2ebe6;padding:8px 10px;text-align:left;color:#14343a!important;font-size:13.5px;line-height:1.45;vertical-align:middle}.ai-wb-table th{background:#eef6f1;color:#1f4d3c!important;position:sticky;top:0;font-weight:800}.ai-wb-table-visible td b{color:#1f7a4d!important;font-size:14px}.ai-wb-stage[hidden],.ai-wb-table-wrap[hidden]{display:none!important}.ai-wb-table-wrap .ai-c-phenom{margin-bottom:4px}.ai-wb-table-wrap .ai-c-phenom-id,.ai-wb-table-wrap .ai-c-phenom-text{color:#1f4d3c;font-weight:600}.ai-wb-empty{text-align:center;color:#8aa698;padding:20px 8px!important}.ai-wb-table-note{margin:0;font-size:12px;color:#5a7268;line-height:1.5}.subj-ai .ai-chat-workbench-tip{margin:10px 16px;padding:10px 12px;background:#e7f5ee;border:1px solid #b7cfc3;border-radius:10px;font-size:13.5px;color:#1f4d3c}.ai-face-lab{gap:10px}.ai-face-switch{display:flex;flex-wrap:wrap;gap:8px}.ai-face-pill{border:1px solid #9bb8a8;background:#fff;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700;color:#1f4d3c;cursor:pointer}.ai-face-pill.on{background:#2f8f6b;border-color:#2f8f6b;color:#fff}.ai-face-main{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1.15fr);gap:10px;align-items:stretch}.ai-face-photo{display:flex;flex-direction:column;gap:6px;padding:8px;background:#fff;border:1px solid #c5d9ce;border-radius:12px}.ai-face-photo .zoomable-img img{max-height:300px;object-fit:contain;background:#eef3f8}.ai-face-photo-cap{font-size:13px;color:#35584a}.ai-face-panels{display:flex;flex-direction:column;gap:8px;min-width:0}.ai-face-panel{border:1px solid #d6e3da;border-radius:12px;padding:8px 10px;background:#fff;display:flex;flex-direction:column;gap:4px}.ai-face-panel.ok{border-color:#9fd0b6;background:#f4fbf7}.ai-face-panel.bad{border-color:#efb9bf;background:#fdf6f6}.ai-face-panel header{display:flex;align-items:center;gap:8px}.ai-face-panel header em{font-style:normal;font-weight:800;font-size:13.5px;color:#1f4d3c}.ai-face-panel-body{margin:0;font-size:12.5px;line-height:1.5;color:#52685e}.ai-face-panel-facts{margin:0;font-size:12.5px;line-height:1.5;color:#24352e;background:#ffffffb8;border-radius:8px;padding:5px 8px}.ai-face-panel-verdict{margin:0;font-size:13px;color:#24352e}.ai-face-panel-caveat{margin-left:4px;font-size:12px;color:#8a6a20}.ai-face-boundary{display:flex;flex-direction:column;gap:3px;padding:8px 11px;border-radius:10px;border:1px dashed #b6c9de;background:#f4f8fd;font-size:12.5px;line-height:1.6;color:#2f4a63}.ai-face-boundary b{font-size:13px;color:#1f3c55}.ai-face-warn{padding:9px 12px;border-radius:10px;border:1px solid #e8b96a;background:#fff8e8;color:#7a4c00;font-size:13px;line-height:1.6}.ai-face-warn code,.ai-face-missing code{background:#0000000f;padding:1px 5px;border-radius:5px;font-size:12px}.ai-face-missing{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:200px;justify-content:center;padding:14px;border:2px dashed #e8b96a;border-radius:10px;background:#fffbf2;color:#7a4c00;font-size:12.5px;line-height:1.65}.ai-face-missing.probing{border-style:solid;border-color:#d9e6df;background:#f7fbf9;color:#5a7a6c;align-items:center}.ai-face-missing-icon{font-size:26px}.ai-face-missing-tried{color:#9a7a45;font-size:11.5px;word-break:break-all}.ai-face-pic{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:8px;text-align:center}.ai-face-pic img{width:100%;max-width:260px;height:auto;display:block;margin:0 auto;border-radius:8px}.ai-face-panels{display:flex;flex-direction:column;gap:8px}.ai-face-panel{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:10px 12px}.ai-face-panel header{font-size:13px;font-weight:800;color:#1f4d3c;margin-bottom:4px}.ai-face-panel p{margin:0;font-size:13px;line-height:1.55;color:#24352e}.ai-face-rule-text{color:#5a7268!important}.ai-face-verdict{margin-top:8px;font-size:15px;font-weight:800;display:flex;flex-direction:column;gap:2px}.ai-face-verdict span{font-size:12.5px;font-weight:500;color:#5a7268}.ai-face-panel.ok .ai-face-verdict{color:#1f7a4d}.ai-face-panel.bad .ai-face-verdict{color:#b33a3a}.ai-face-table-block{display:flex;flex-direction:column;gap:6px}.ai-face-table{border:1px solid #c5d9ce;border-radius:10px;overflow:hidden;background:#fff}.ai-face-thead,.ai-face-trow{display:grid;grid-template-columns:40px repeat(3,minmax(0,1fr));gap:6px;align-items:center;padding:6px 8px;font-size:12.5px}.ai-face-thead{background:#eef6f1;font-weight:700;color:#1f4d3c}.ai-face-trow{border-top:1px solid #e2ebe6;cursor:pointer}.ai-face-trow.on{background:#e7f5ee;outline:2px solid #2f8f6b;outline-offset:-2px}.ai-face-tid{font-weight:800;color:#1f4d3c}.ai-face-trow select{width:100%;font-size:12px;padding:4px 2px;border:1px solid #9bb8a8;border-radius:6px;background:#fff;color:#1f4d3c}@media (max-width: 900px){.ai-face-main{grid-template-columns:1fr}}.ai-audio-target{margin:8px 0 0;font-size:14.5px;color:#1f4d3c}.ai-audio-target b{font-size:16px}.ai-audio-steps{margin:8px 0 0;padding-left:1.25em;font-size:12.5px;line-height:1.55;color:#3d5c4e}.ai-audio-steps li+li{margin-top:2px}.ai-audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-audio-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:10px 12px;border:1px solid #c5d9ce;border-radius:12px;background:#fff;cursor:pointer;text-align:left}.ai-audio-card.on{border-color:#2f8f6b;box-shadow:0 0 0 2px #2f8f6b40;background:#e7f5ee}.ai-audio-card.heard{border-color:#7aab93}.ai-audio-id{font-weight:800;color:#1f4d3c;font-size:14px}.ai-audio-sit{font-size:12.5px;color:#3d5c4e;line-height:1.35}.ai-audio-real{display:inline-block;padding:1px 8px;border-radius:999px;background:#eef6ff;border:1px solid #b6cbe6;color:#2f4a63;font-size:11.5px;font-weight:700}.ai-text-answer{padding:10px 12px;border-radius:12px;border:1px solid #cfe0d6;background:#f7fbf9}.ai-text-reveal{width:100%;border:1px dashed #7fb79b;border-radius:10px;background:#fff;color:#1f4d3c;padding:10px 12px;font-size:13.5px;font-weight:700;cursor:pointer}.ai-text-reveal:hover{background:#eef6f1}.ai-text-answer-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13.5px;color:#1f4d3c}.ai-text-tag{padding:1px 9px;border-radius:999px;font-size:11.5px;font-weight:700;background:#e7f5ee;color:#146b4a;border:1px solid #b7d8c8}.ai-text-tag.ambiguous{background:#fff4e0;color:#8a5a10;border-color:#e8c58a}.ai-text-tag.nonsense{background:#fdeef0;color:#8a2b34;border-color:#e9b3ba}.ai-text-answer-main{margin:0 0 6px;font-size:14px;line-height:1.65;font-weight:600;color:#1f3c33}.ai-text-answer-note{margin:0 0 6px;font-size:12.5px;line-height:1.7;color:#3d5c4e}.ai-text-answer-lesson{margin:0;font-size:12.5px;font-weight:700;color:#146b4a}.ai-audio-now{font-size:12.5px;color:#3d5c4e}.ai-audio-warn{color:#b33a3a;font-weight:700}.ai-audio-play{display:inline-block;border:1px solid #9bb8a8;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700;color:#1f4d3c;background:#fff;cursor:pointer}.ai-audio-play.playing{background:#2f8f6b;border-color:#2f8f6b;color:#fff}.ai-audio-out{margin:6px 0 0;font-size:12.5px;color:#3d5c4e;line-height:1.5}.ai-text-pills{display:flex;flex-wrap:wrap;gap:8px}.ai-text-main{display:flex;flex-direction:column;gap:10px}.ai-text-source{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:12px 14px}.ai-text-source header{font-size:13px;font-weight:800;color:#1f4d3c;margin-bottom:6px}.ai-text-source p{margin:0;font-size:15px;line-height:1.65;color:#14343a}.ai-exp-card{margin:12px 16px 18px;padding:14px 16px 16px;border-radius:14px;background:linear-gradient(165deg,#f7fbff,#eef6f2);border:1px solid #c5d9ce;display:flex;flex-direction:column;gap:12px}.ai-exp-label{font-size:12px;font-weight:800;color:#2f6b55;margin-bottom:4px}.ai-exp-speak p,.ai-exp-hint{margin:0;font-size:14.5px;line-height:1.75;color:#24352e;white-space:pre-wrap}.ai-exp-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ai-exp-checklist label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;cursor:pointer}.ai-exp-checklist input{margin-top:4px;flex:none}.ai-exp-checklist-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ai-exp-checklist-tips li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:#5a7268}.ai-exp-checklist-tips li.done{color:#2f6b55}.ai-tip-mark{flex:none;width:1.1em;font-weight:800;color:#2f8f6b}.ai-exp-record-note textarea{width:100%;box-sizing:border-box;border:1px solid #b7cfc3;border-radius:10px;padding:8px 10px;font:inherit;resize:vertical;background:#fff}.ai-exp-branches{display:flex;flex-direction:column;gap:6px}.ai-exp-branch-row{display:flex;flex-wrap:wrap;gap:8px}.ai-exp-branch-btn{border:1px solid #8fb9a3;background:#fff;color:#2f6b55;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}.ai-exp-branch-btn:hover{background:#e7f5ee}.ai-exp-tip{display:flex;gap:8px;align-items:flex-start;background:#fff8e8;border:1px solid #e6d3a0;border-radius:10px;padding:8px 10px;font-size:13.5px;line-height:1.6}.ai-exp-tip-tag{flex:none;font-weight:800;color:#9a6b12}.ai-exp-tip-text{flex:1}.ai-exp-tip-close{border:0;background:transparent;cursor:pointer;font-size:16px;line-height:1;color:#9a6b12}.ai-exp-done{align-self:flex-start;border:0;border-radius:12px;padding:10px 18px;font-weight:700;font-size:14px;color:#fff;background:#2f8f6b;cursor:pointer}.ai-exp-done:disabled{opacity:.45;cursor:not-allowed}.ai-auto-summary{background:#e7f5ee;border:1px solid #b7cfc3;border-radius:10px;padding:8px 10px;font-size:13.5px;line-height:1.65;color:#1f4d3c;margin-bottom:6px}.ai-exp-table{display:flex;flex-direction:column;gap:12px}.ai-exp-table-row{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:10px 12px;display:grid;gap:8px}.ai-exp-table-head{font-weight:800;color:#1f4d3c;font-size:14px}.ai-exp-table-row label{display:grid;grid-template-columns:56px 1fr;gap:8px;align-items:center;font-size:13px}.ai-exp-table-row input,.ai-exp-table-row select{border:1px solid #b7cfc3;border-radius:8px;padding:6px 8px;font:inherit;background:#fafdfb}.ai-fallback{margin:0 12px 8px;border:1px solid #c5d9ce;border-radius:12px;background:#f4faf7;overflow:hidden}.ai-fallback-bar{display:flex;gap:0}.ai-fallback-bar button{flex:1;border:0;background:transparent;padding:8px 10px;font-size:13px;font-weight:700;color:#2f6b55;cursor:pointer;border-bottom:2px solid transparent}.ai-fallback-bar button.on{background:#e7f5ee;border-bottom-color:#2f8f6b}.ai-fallback-body{padding:10px 12px 12px;font-size:13px;line-height:1.7;color:#24352e;border-top:1px solid #c5d9ce}.ai-fallback-body h4{margin:0 0 6px;font-size:13.5px}.ai-fallback-body ul{margin:0;padding-left:1.1em}.ai-exp-clean{gap:14px}.ai-role-banner{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:12px 14px}.ai-role-name{font-size:16px;font-weight:800;color:#1f4d3c;margin-bottom:6px}.ai-role-purpose{margin:0 0 6px;font-size:14.5px;line-height:1.7;color:#24352e}.ai-role-how{margin:0;font-size:13px;color:#5a7268}.ai-progress-line{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#2f6b55}.ai-progress-bar{flex:1;height:8px;border-radius:999px;background:#dce8e2;overflow:hidden}.ai-progress-bar>i{display:block;height:100%;background:#2f8f6b}.ai-program-panel{width:100%;box-sizing:border-box;background:#f3f6ff;border:1px solid #c5d0ef;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.ai-program-title{font-weight:800;color:#2a3f7a;font-size:13.5px}.ai-program-rows{font-size:14px;line-height:1.7;color:#24355a}.ai-program-out{margin-top:6px;padding:8px 10px;background:#fff;border-radius:8px}.ai-insight{background:#e7f5ee;border:1px solid #b7cfc3;border-radius:12px;padding:12px 14px}.ai-insight p{margin:6px 0 0;line-height:1.7}.ai-exp-hint.muted{color:#7a8f86}.ai-exp-done.soft{background:#fff;color:#2f6b55;border:1px solid #8fb9a3}.ai-gallery-nav.simple{justify-content:center;gap:16px}.ai-fallback.compact{margin:0 12px 8px;border:none;background:transparent}.ai-fallback-toggle{border:0;background:transparent;color:#7a8f86;font-size:12.5px;cursor:pointer;text-decoration:underline}.ai-exp-table.simple .ai-exp-table-row{grid-template-columns:1fr}.ai-exp-table-row.chips{gap:10px}.ai-chip-block{display:flex;flex-direction:column;gap:6px}.ai-chip-label{font-size:12.5px;font-weight:700;color:#3d5c4e}.ai-chip-row{display:flex;flex-wrap:wrap;gap:8px}.ai-chip{border:1px solid #9bb8a8;background:#fff;color:#1f4d3c;border-radius:10px;padding:8px 12px;font:inherit;font-size:13.5px;cursor:pointer;line-height:1.35}.ai-chip.on{background:#2f8f6b;border-color:#2f8f6b;color:#fff;font-weight:700}.ai-chip:disabled{opacity:.85;cursor:default}.ai-learn-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 720px){.ai-learn-compare{grid-template-columns:1fr}}.ai-learn-col h4{margin:0 0 8px;font-size:14px;color:#1f4d3c}.ai-learn-card{border-radius:12px;padding:12px;border:1px solid #c5d9ce;background:#fff;font-size:13.5px;line-height:1.55;color:#24352e;min-height:100%}.ai-learn-card.rule{background:#f3f6ff;border-color:#c5d0ef}.ai-learn-card.examples{background:#eefaf3;border-color:#b7d8c8}.ai-learn-tag{display:inline-block;font-size:12px;font-weight:800;color:#2f6b55;margin-bottom:8px}.ai-learn-card.rule .ai-learn-tag{color:#2a3f7a}.ai-learn-card ul{margin:0 0 8px;padding-left:1.2em}.ai-learn-note{margin:8px 0 0;font-size:12.5px;color:#5a7268}.ai-learn-bridge{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.65;color:#24352e}.ai-learn-bridge ul{margin:8px 0;padding-left:1.2em}.ai-learn-q{display:flex;flex-direction:column;gap:8px}.ai-learn-ok{margin:0;font-size:13.5px;color:#1f4d3c;background:#e7f5ee;border-radius:8px;padding:8px 10px}.ai-lane-tip.muted{display:block;margin-top:4px;margin-left:0;color:#5a7268;font-size:12px}.ai-learn-pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ai-learn-dot{width:32px;height:32px;border-radius:999px;border:1px solid #9bb8a8;background:#fff;color:#1f4d3c;font-weight:800;font-size:13px;cursor:pointer}.ai-learn-dot.on{background:#2f8f6b;border-color:#2f8f6b;color:#fff}.ai-learn-dot.done{background:#b7d8c8;border-color:#8fb9a3}.ai-learn-page h4{margin:0 0 10px;font-size:15px;color:#1f4d3c}.ai-learn-page p{margin:0 0 10px;font-size:14px;line-height:1.7;color:#24352e}.ai-learn-pile{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.ai-learn-pile span{background:#eefaf3;border:1px solid #b7d8c8;border-radius:8px;padding:6px 10px;font-size:13px;color:#1f4d3c}.ai-learn-bullets,.ai-learn-steps{margin:0 0 10px;padding-left:1.3em;font-size:14px;line-height:1.75;color:#24352e}.ai-learn-compare.tight{margin-top:8px}.ai-learn-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.ai-learn-nav .ai-exp-done{flex:1;min-width:140px}.ai-split-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px;margin-bottom:4px}.ai-split-head b{display:block;font-size:15px;color:#1f4d3c;margin-bottom:2px}.ai-split-head span{font-size:13px;color:#5a7268;line-height:1.5}.ai-progress-line.compact{min-width:120px;font-size:12.5px}.ai-split{display:grid;grid-template-columns:minmax(160px,.95fr) minmax(220px,1.15fr);gap:14px;align-items:start}.ai-split-left{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;position:sticky;top:8px}.ai-split-left .ai-gallery-img{width:100%;border-radius:8px;background:#eef3f8}.ai-split-left .ai-gallery-img img{max-height:340px;object-fit:contain;border-radius:8px;background:#eef3f8}.ai-std-box{border-radius:8px;padding:8px 10px;background:#f3f6f4;border:1px dashed #b7cfc3;display:flex;flex-direction:column;gap:2px;font-size:13px;color:#7a8f86}.ai-std-box.on{background:#e7f5ee;border-style:solid;color:#1f4d3c}.ai-std-box span{font-size:12px;font-weight:700;color:#5a7268}.ai-std-box b{font-size:14.5px}.ai-split-right{display:flex;flex-direction:column;gap:10px;min-width:0}.ai-lane{border:1px solid #c5d9ce;border-radius:12px;padding:10px 12px;background:#f7faf8;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s,opacity .15s}.ai-lane header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ai-lane header em{font-style:normal;font-weight:800;font-size:14px;color:#1f4d3c}.ai-lane header small{font-size:12px;color:#7a8f86}.ai-lane.wait{opacity:.55;background:#f0f3f1}.ai-lane.active{border-color:#2f8f6b;box-shadow:0 0 0 2px #2f8f6b2e;background:#fff;opacity:1}.ai-lane.done{opacity:1;background:#fff;border-color:#8fb9a3}.ai-lane-actions{display:flex;flex-wrap:wrap;gap:8px}.ai-lane-actions .ai-judge-btn{flex:1 1 auto;min-width:88px;padding:8px 10px;font-size:13.5px}.ai-lane-result{font-size:14px;line-height:1.5;color:#24352e}.ai-lane-meta{font-size:13px;color:#3d5c4e}.ai-lane-tip{display:inline-block;margin-left:6px;font-size:12px;color:#a05050}.ai-lane-wait{font-size:12.5px;color:#8aa698}.ai-next-wide{width:100%;margin-top:2px}@media (max-width: 720px){.ai-split{grid-template-columns:1fr}.ai-split-left{position:static}.ai-split-left .ai-gallery-img{max-height:220px}}.ai-phase-pills{display:inline-flex;gap:4px;margin-left:6px}.ai-phase-pills i{font-style:normal;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:#dce8e2;color:#5a7268}.ai-phase-pills i.on{background:#2f8f6b;color:#fff}.ai-phase-pills i.done{background:#b7d8c8;color:#1f4d3c}.ai-phase-block{width:100%;display:flex;flex-direction:column;gap:10px;align-items:stretch}.ai-phase-title{font-weight:800;font-size:14px;color:#1f4d3c;text-align:center}.ai-verdict-flash{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.55}.ai-verdict-flash.ok{border-color:#6dbf8f;background:#eefaf3}.ai-verdict-flash.bad{border-color:#e0a0a0;background:#fff5f5}.ai-verdict-flash.soft{border-color:#e0c878;background:#fffbeb}.ai-verdict-std{color:#3d5c4e;font-size:13.5px}.ai-mark{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:800}.ai-mark.ok{background:#2f8f6b;color:#fff}.ai-mark.bad{background:#c44;color:#fff}.ai-mark.soft{background:#c9a227;color:#fff}.ai-tri-compare{width:100%;margin-top:8px;background:#f3faf6;border:1px solid #b7cfc3;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.ai-tri-title{font-weight:800;color:#1f4d3c;text-align:center}.ai-tri-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-tri-grid>div{background:#fff;border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-size:13px}.ai-tri-grid>div span{color:#5a7268;font-size:12px}.ai-tri-grid>div b{color:#1f4d3c}.ai-tri-grid>div.std{grid-column:1 / -1;background:#e7f5ee}.ai-tri-grid>div i{font-style:normal;align-self:flex-start;margin-top:2px;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:800;color:#fff}.ai-tri-grid>div i.ok{background:#2f8f6b}.ai-tri-grid>div i.bad{background:#c44}.ai-tri-grid>div i.soft{background:#c9a227}.ai-compare-log{margin-top:8px}.ai-log-grid{max-height:240px;overflow:auto;border:1px solid #c5d9ce;border-radius:10px;background:#fff;font-size:12.5px}.ai-log-row{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:0;align-items:center;border-bottom:1px solid #e2ebe6;min-height:36px}.ai-log-row:last-child{border-bottom:0}.ai-log-row.head{position:sticky;top:0;z-index:1;background:#eef6f1;color:#1f4d3c;font-weight:800;min-height:32px}.ai-log-row.head>div{padding:6px 8px}.ai-log-id{padding:6px 8px;font-weight:700;color:#1f4d3c;text-align:center}.ai-log-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 8px;min-width:0}.ai-log-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#24352e;min-width:0}.ai-log-cell .ai-mark{margin-left:0;flex-shrink:0;justify-self:end}.ai-gallery{display:flex;flex-direction:column;gap:10px}.ai-gallery-stage{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;align-items:center}.ai-gallery-img{width:min(100%,280px);border:1px solid #e2ebe6;border-radius:10px;background:#f4f7fb}.ai-gallery-img img{width:100%;height:auto;border-radius:10px}.ai-gallery-cap{font-size:13.5px;color:#35584a}.ai-gallery-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ai-gallery-actions.col{flex-direction:column;align-items:stretch;width:100%}.ai-judge-btn{border:0;border-radius:10px;padding:9px 14px;font-weight:700;font-size:13.5px;cursor:pointer;color:#fff}.ai-judge-btn:disabled{opacity:.45;cursor:not-allowed}.ai-judge-btn.cat{background:#2f8f6b}.ai-judge-btn.no{background:#c45c6a}.ai-judge-btn.maybe{background:#c49a2c}.ai-judge-btn.ai{background:#4b7fd6}.ai-rule-banner{width:100%;box-sizing:border-box;background:#eef6ff;border:1px dashed #8fb0d8;border-radius:8px;padding:8px 10px;font-size:13px;color:#2a4d72;text-align:center}.ai-rule-hints{display:flex;gap:16px;font-size:13px;color:#35584a;font-weight:700}.ai-ai-reply{background:#f0f4ff;border-radius:8px;padding:10px 12px;font-size:14px;color:#24355a;text-align:center}.ai-gallery-nav{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-gallery-nav>button{border:1px solid #b7cfc3;background:#fff;border-radius:8px;padding:6px 10px;font-size:12.5px;cursor:pointer;color:#2f6b55}.ai-gallery-nav>button:disabled{opacity:.4;cursor:not-allowed}.ai-gallery-dots{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:160px}.ai-dot{width:10px;height:10px;border-radius:50%;border:2px solid #9aa7a0;padding:0;background:#fff;cursor:pointer}.ai-dot.miss{background:#fff;border-color:#9aa7a0}.ai-dot.ok{background:#2f8f6b;border-color:#2f8f6b}.ai-dot.cur{box-shadow:0 0 0 3px #2f8f6b59}.ai-pending-hint{margin:0;font-size:13px;line-height:1.55;color:#9a6b12;background:#fff8e8;border:1px solid #e6d3a0;border-radius:8px;padding:8px 10px}.ai-pending-ok{margin:0;font-size:13px;color:#2f6b55;font-weight:700}.ai-judged-tag,.ai-pending-tag{margin-left:8px;font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px}.ai-judged-tag{background:#e7f5ee;color:#2f6b55}.ai-pending-tag{background:#fff0f0;color:#b4325a}.ai-exp-steps{margin:4px 0 0;padding-left:1.2em;font-size:13.5px;line-height:1.65;color:#35584a}.ai-exp-force{align-self:flex-start;margin-top:4px;border:1px dashed #c49a2c;background:#fffaf0;color:#8a6a10;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer}.ai-exp-force:hover{background:#fff3d6}.lhub-ai{min-height:100%}.ai-cur-vol-row{padding:8px 16px 0;background:#eef6f2}.ai-cur{min-height:100%;padding:12px 16px 28px;background:linear-gradient(180deg,#eef6f2,#f7faf8 40%,#fff);box-sizing:border-box}.ai-cur-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.ai-cur-title{display:flex;align-items:center;gap:10px}.ai-cur-logo{font-size:28px}.ai-cur-title b{display:block;font-size:17px;color:#14343a}.ai-cur-sub{font-size:12.5px;color:#5a7268}.ai-cur-books{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.ai-cur-book{text-align:left;border:1px solid #b7cfc3;background:#fff;border-radius:12px;padding:10px 14px;cursor:pointer;min-width:180px}.ai-cur-book b{display:block;color:#1f4d3c;font-size:13.5px}.ai-cur-book span{font-size:12px;color:#5a7268}.ai-cur-book.on{border-color:#2f8f6b;background:#e7f5ee;box-shadow:0 0 0 1px #2f8f6b}.ai-cur-units{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.ai-cur-unit{border:1px solid #c5d9ce;background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;color:#1f4d3c}.ai-cur-unit i{font-style:normal;margin-left:6px;color:#8aa698;font-size:11px}.ai-cur-unit.on{background:#2f8f6b;border-color:#2f8f6b;color:#fff}.ai-cur-unit.on i{color:#d7efe4}.ai-cur-goal{margin:0 0 12px;font-size:13.5px;color:#3d5c4e;line-height:1.55}.ai-cur-err{color:#b33a3a;font-size:13px}.ai-cur-empty{padding:28px;text-align:center;color:#8aa698;background:#fff;border-radius:12px;border:1px dashed #c5d9ce}.ai-cur-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.ai-cur-card{background:#fff;border:1px solid #c5d9ce;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.ai-cur-card.ready-live{border-color:#7ec8a3}.ai-cur-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.ai-cur-code{font-weight:800;color:#2f8f6b;font-size:13px}.ai-cur-type{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#eef3f8;color:#3d5c4e}.ai-cur-type.t-experience{background:#e7f5ee;color:#1f7a4d}.ai-cur-type.t-tool{background:#e8f0ff;color:#2a4f9b}.ai-cur-type.t-project{background:#fff4e5;color:#9a5b12}.ai-cur-type.t-review{background:#f3e8ff;color:#6b3fa0}.ai-cur-card h3{margin:0;font-size:14.5px;line-height:1.45;color:#14343a}.ai-cur-card p{margin:0;flex:1;font-size:12.5px;color:#5a7268;line-height:1.5}.ai-cur-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-cur-ready{font-size:12px;color:#5a7268}.ai-cur-card-foot button{border:0;background:#2f8f6b;color:#fff;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer}.ai-cur-card-foot button:disabled{opacity:.5;cursor:not-allowed}.ai-cur-preview{border:0;background:transparent;color:#5a7268;font-size:12px;text-decoration:underline;cursor:pointer;text-align:left;padding:0}.ai-tpl{min-height:100%;display:flex;flex-direction:column;background:#f3f7f5}.ai-tpl-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-bottom:1px solid #c5d9ce;flex-wrap:wrap}.ai-tpl-bar-main{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.ai-tpl-bar-main b{font-size:14px;color:#14343a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-tpl-badge{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap}.ai-tpl-badge.exp{background:#e7f5ee;color:#1f7a4d}.ai-tpl-badge.tool{background:#e8f0ff;color:#2a4f9b}.ai-tpl-badge.project{background:#fff4e5;color:#9a5b12}.ai-tpl-badge.review{background:#f3e8ff;color:#6b3fa0}.ai-tpl-cta{border:0;background:#2f8f6b;color:#fff;border-radius:8px;padding:7px 14px;font-weight:700;cursor:pointer}.ai-tpl-ready{font-size:12px;color:#8aa698}.ai-tpl-split{flex:1;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);min-height:0}.ai-tpl-split-rev{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr)}.ai-tpl-work{padding:12px;overflow:auto;display:flex;flex-direction:column;gap:12px}.ai-tpl-chat{border-right:1px solid #c5d9ce;background:#fff;display:flex;flex-direction:column;min-height:280px}.ai-tpl-chat-head{padding:12px 14px;font-weight:800;color:#1f4d3c;border-bottom:1px solid #e2ebe6}.ai-tpl-chat-body{padding:14px;font-size:13.5px;line-height:1.65;color:#3d5c4e}.ai-tpl-keys{color:#2f8f6b;font-weight:600}.ai-tpl-hint{background:#fff;border:1px solid #c5d9ce;border-radius:10px;padding:8px 12px}.ai-tpl-hint p{margin:0;font-size:13.5px;font-weight:600;color:#1f4d3c;line-height:1.55}.ai-tpl-hint p+p{margin-top:4px;font-weight:500;color:#3d5c4e}.ai-tpl-block{background:#fff;border:1px solid #c5d9ce;border-radius:12px;padding:12px}.ai-tpl-block h3{margin:0 0 10px;font-size:14px;color:#1f4d3c}.ai-tpl-compare{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1.05fr);gap:10px}.ai-tpl-placeholder-list{margin:0;padding-left:1.2em;color:#5a7268;line-height:1.7;font-size:14px}.ai-tpl-ph-box{min-height:88px;border:1px dashed #b7cfc3;border-radius:10px;padding:14px;color:#8aa698;font-size:13.5px;background:#f7faf8}.ai-tpl-ph-code{font-family:ui-monospace,Consolas,monospace;white-space:pre-wrap;color:#3d5c4e}.ai-tpl-miss{padding:24px}.ai-c-imgsw{display:flex;flex-direction:column;gap:8px}.ai-c-imgsw-pills{display:flex;flex-wrap:wrap;gap:6px}.ai-c-imgsw-pill{border:1px solid #9bb8a8;background:#fff;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;color:#1f4d3c;cursor:pointer}.ai-c-imgsw-pill.on{background:#2f8f6b;border-color:#2f8f6b;color:#fff}.ai-c-imgsw-stage{text-align:center;background:#f7faf8;border:1px solid #c5d9ce;border-radius:10px;padding:8px}.ai-c-imgsw-stage img{width:100%;max-width:240px;height:auto;display:block;margin:0 auto;border-radius:8px}.ai-c-imgsw-cap{margin-top:6px;font-size:12.5px;font-weight:700;color:#5a7268}.ai-c-panels{display:flex;flex-direction:column;gap:8px}.ai-c-panel{border:1px solid #c5d9ce;border-radius:10px;padding:10px 12px;background:#f7faf8}.ai-c-panel header{font-size:13px;font-weight:800;color:#1f4d3c;margin-bottom:4px}.ai-c-panel-body{margin:0;font-size:12.5px;color:#5a7268;line-height:1.5}.ai-c-panel-verdict{margin-top:8px;font-size:15px;font-weight:800;display:flex;flex-direction:column;gap:2px}.ai-c-panel-verdict span{font-size:12px;font-weight:500;color:#5a7268}.ai-c-panel.ok .ai-c-panel-verdict{color:#1f7a4d}.ai-c-panel.bad .ai-c-panel-verdict{color:#b33a3a}.ai-c-phenom{border:1px solid #c5d9ce;border-radius:10px;overflow:hidden}.ai-c-phenom-head,.ai-c-phenom-row{display:grid;gap:6px;align-items:center;padding:6px 8px;font-size:12.5px}.ai-c-phenom-head{background:#eef6f1;font-weight:700;color:#1f4d3c}.ai-c-phenom-row{border-top:1px solid #e2ebe6;cursor:pointer;background:#fff}.ai-c-phenom-row.on{background:#e7f5ee;outline:2px solid #2f8f6b;outline-offset:-2px}.ai-c-phenom-id{font-weight:800;color:#1f4d3c}.ai-c-phenom-text{color:#3d5c4e}.ai-c-phenom-row select{width:100%;font-size:12px;padding:4px 2px;border:1px solid #9bb8a8;border-radius:6px;background:#fff;color:#1f4d3c}.ai-c-phenom-empty{padding:18px;text-align:center;color:#8aa698;font-size:13px}@media (max-width: 900px){.ai-tpl-split,.ai-tpl-split-rev{grid-template-columns:1fr}.ai-tpl-chat{border-right:0;border-bottom:1px solid #c5d9ce}.ai-tpl-compare{grid-template-columns:1fr}}.module-switch{display:flex;flex-direction:column;gap:10px}.module-card{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);border:2px solid transparent}.module-card.active{border-color:#ffe1c7}.module-card>div{display:flex;flex-direction:column;gap:3px}.module-card b{font-size:16px}.module-card span.module-emoji{font-size:26px}.module-card div span:not(.module-emoji){font-size:13px;color:var(--ink-soft)}.module-go{display:flex;align-items:center;gap:12px;width:100%;background:linear-gradient(90deg,#0f7a5c,#12a176);color:#fff;border-radius:16px;padding:14px 18px;text-align:left;box-shadow:0 8px 20px #12a17647;transition:transform .15s ease}.module-go:hover{transform:translateY(-1px)}.module-go b{font-size:16px}.module-go .module-arrow{margin-left:auto;font-size:15px;font-weight:700}.module-go div span:not(.module-emoji){font-size:13px;opacity:.88}.readhome{height:100%;display:flex;flex-direction:column;background:linear-gradient(175deg,#f4fbf7,#eef7ee 40%,#fbf3e2)}.readhome-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;background:#0d5c46;color:#fff;box-shadow:0 4px 16px #0d5c4640}.readhome-topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.readhome-topbar .btn-back{background:#ffffff29;color:#fff;border-radius:10px;padding:6px 12px;font-size:14px}.readhome-topbar .btn-back:hover{background:#ffffff47}.readhome-title{display:flex;align-items:center;gap:10px}.readhome-title .readhome-logo{font-size:26px}.readhome-title b{font-size:17px;display:block}.readhome-sub{font-size:12px;opacity:.82}.readhome-name{display:flex;align-items:center;gap:8px}.readhome-name label{font-size:13px;opacity:.9}.readhome-name .name-input.small{width:150px;padding:6px 10px;border-radius:9px;border:none;font-size:14px}.readhome-hero{padding:14px 22px 0}.readhome-hero-tip{background:#fff7e3;border:1px dashed #e6c26a;color:#7a5c17;border-radius:12px;padding:8px 14px;font-size:14px;margin:0}.readhome-body{flex:1;overflow:auto;padding:16px 22px 40px;max-width:1080px;width:100%;margin:0 auto}.readhome-section-title{font-size:16px;font-weight:700;margin:6px 0 12px;color:#0d5c46}.readhome-shelf{display:flex;flex-direction:column;gap:16px}.rbook-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0d5c461f;padding:18px;border:1px solid #e2efe7;transition:box-shadow .2s ease}.rbook-card.open{box-shadow:0 14px 34px #0d5c462e}.rbook-card-main{display:flex;gap:18px}.rbook-cover{flex:none;width:132px;height:184px;display:flex;align-items:center;justify-content:center;font-size:64px;background:linear-gradient(150deg,#fff3cf,#ffe9f1 60%,#dceeff);border-radius:12px;border:1px solid #f2e2bb;box-shadow:inset 0 0 0 3px #fff,0 8px 18px #00000014}.rbook-info{flex:1;min-width:0}.rbook-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rbook-title{font-size:24px;margin:0;color:#16403a}.rbook-genre{font-size:12px;color:#0d5c46;background:#e3f3ea;padding:2px 8px;border-radius:99px;font-weight:600}.rbook-author{color:var(--ink-soft);font-size:14px;margin-top:2px}.rbook-brief{color:#5c665f;font-size:14px;line-height:1.65;margin:10px 0 12px;max-width:760px}.rbook-meters{display:flex;flex-direction:column;gap:8px;max-width:560px}.rbook-meter{display:flex;align-items:center;gap:10px}.rbook-meter-track{flex:1;height:10px;border-radius:99px;background:#e9efe9;overflow:hidden}.rbook-meter-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#12a176,#6fd08c);transition:width .5s ease}.rbook-meter-txt{font-size:13px;color:#37463f;white-space:nowrap}.rbook-stats{display:flex;gap:8px;flex-wrap:wrap}.rbook-stat{font-size:13px;background:#f3f8f4;border:1px solid #e0ece2;border-radius:99px;padding:3px 10px}.rbook-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.btn-primary-sc{background:linear-gradient(90deg,#f5a623,#f7c948);color:#4d3200;font-weight:700;font-size:15px;border-radius:12px;padding:9px 18px;box-shadow:0 6px 16px #f7a62359}.btn-primary-sc:hover{filter:brightness(1.05)}.rbook-expand{margin-top:16px;padding-top:14px;border-top:1px dashed #dfe9df}.rexp-title{font-size:14px;font-weight:700;color:#0d5c46;margin-bottom:10px}.rexp-map{display:flex;flex-wrap:wrap;gap:8px}.rexp-node{display:flex;flex-direction:column;align-items:center;gap:4px;width:96px;padding:8px 6px;border-radius:12px;background:#f6f8f5;border:1px solid #e6ece6;font-size:11px;color:#66705f;text-align:center;line-height:1.3}.rexp-node.done{background:#e5f5ec;border-color:#9fd9b8;color:#16603f}.rexp-node.cur{border-color:#f5a623;box-shadow:0 0 0 2px #f5a62340;background:#fff8e8}.rexp-node.lock{opacity:.55}.rexp-node-no{font-size:16px;font-weight:700}.rexp-node-txt{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rexp-badges{margin-top:14px}.rexp-badges-list{display:flex;gap:10px;flex-wrap:wrap}.rexp-badge{display:flex;align-items:center;gap:8px;background:#fff7e0;border:1px solid #f1d789;border-radius:12px;padding:8px 12px;font-size:13px;color:#7a5a0e}.rexp-badge .rexp-badge-emoji{font-size:20px}.rexp-badge-desc{font-size:11px;opacity:.8}.rexp-badge.locked{background:#f5f6f3;border-color:#e2e4df;color:#9aa39a}.rexp-badges-empty{color:var(--ink-soft);font-size:14px}.reading-topbar{background:linear-gradient(90deg,#0d5c46,#127a5c)}.reading-topbar .lesson-tag{color:#fff}.reading-topbar .lesson-by{color:#ffffffd1}.reading-topbar .btn-back{color:#eafff6}.reading-topbar .btn-back:hover{background:#ffffff29;color:#fff}.reading-topbar .lt-mapbtn{display:inline-flex;align-items:center;gap:6px;background:#ffffff29;border:1px solid rgba(255,255,255,.4);color:#fff;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .15s ease}.reading-topbar .lt-mapbtn:hover{background:#ffffff47}.reading-topbar .lt-actions .ls-btn{background:linear-gradient(135deg,#16a172,#0d8c63);box-shadow:0 4px 10px #0d8c634d}.reading-topbar .rmap-ctrl .lls-pop{top:calc(100% + 8px);right:0;left:auto}.rmap-pop{width:min(440px,calc(100vw - 40px))}.rmap-body{padding:10px 14px 12px;max-height:46vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.rmap-body .reading-map{justify-content:flex-start}.rmap-node.big{width:26px;height:26px;font-size:11px;font-weight:800;border:0;cursor:pointer;padding:0}.rmap-node.big:disabled{cursor:default}.rmap-hint{margin-top:8px;font-size:12px;color:#0b6b4f;background:#eef9f3;border-radius:8px;padding:6px 10px;line-height:1.6}.lt-donechip{display:inline-flex;align-items:center;background:#e9f9ef;border:1px solid #bfe9d0;color:#14804c;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;white-space:nowrap}.reading-steps{background:#f6fbff}.reading-steps-left{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.reading-map-label{font-weight:700;color:#16403a}.reading-map{display:flex;gap:4px;flex-wrap:wrap}.rmap-node{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;background:#eef2ee;border:1px solid #dde4dd;color:#b6c0b4;line-height:1}.rmap-node.cur{background:#f5a623;color:#fff;border-color:#e09512;box-shadow:0 0 0 3px #f5a6234d}.rmap-node.passed{background:#12a176;border-color:#0d8c67;color:#fff}.rmap-node.lock{opacity:.6}.reading-map-hint{font-size:13px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-body.reading-body>.reader-col{flex:0 0 60%;min-width:460px}.learn-body.reading-body>.talk-col{flex:1 1 auto}.learn-body.reading-body.min-reader>.reader-col{flex:0 0 34px;min-width:34px}.learn-body.reading-body.min-reader>.talk-col{flex:1 1 auto}.learn-body.reading-body.min-talk>.talk-col{flex:0 0 34px;min-width:34px}.learn-body.reading-body.min-talk>.reader-col{flex:1 1 auto;min-width:460px}.reading-body .talk-head{background:linear-gradient(90deg,#0f7a5c,#17a075)}.talk-head-sub{color:#ffffffd9;font-size:12px;margin-left:auto}.msg-row.storyteller .avatar{background:#fff3cf}.bubble-tag{font-size:11px;color:#0d7a58;background:#e4f5ea;border-radius:99px;padding:2px 10px;display:inline-block;margin-bottom:6px;font-weight:600}.btn-voice{margin-top:10px;background:#0f7a5c;color:#fff;border-radius:99px;font-size:13px;padding:6px 14px;box-shadow:0 4px 10px #0f7a5c40}.btn-voice:hover{filter:brightness(1.1)}.btn-voice.on{background:#d9534f}.hud-pos{color:#fff;font-size:13px;background:#ffffff29;border-radius:99px;padding:3px 10px}.hud-done{color:#9ff0c8;font-size:13px;font-weight:700}.light-quiz{background:#fff;border:1px solid #e4e9e2;border-radius:16px;padding:14px 16px;box-shadow:0 6px 18px #0000000d}.light-quiz.done{border-color:#9fd9b8;background:#fbfffc}.lq-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.lq-lead{font-size:13px;color:#7a5c17;background:#fff7e0;border-radius:99px;padding:3px 12px}.lq-tag{font-size:12px;color:#0d5c46;background:#e6f5ec;padding:2px 9px;border-radius:99px}.lq-prompt{font-size:16px;font-weight:600;margin:6px 0 12px;line-height:1.55}.lq-opts{display:flex;flex-direction:column;gap:8px}.lq-opt{display:flex;gap:10px;align-items:flex-start;text-align:left;background:#f7f9f6;border:1.5px solid #e4eae3;border-radius:12px;padding:10px 12px;font-size:14px;transition:all .12s ease}.lq-opt:hover:not(:disabled){border-color:#12a176;background:#f0faf4}.lq-opt.ok{border-color:#12a176;background:#e2f6ea;color:#0d5c46}.lq-opt.bad{border-color:#ff8a8a;background:#fff0f0}.lq-opt.dim{opacity:.55}.lq-opt-id{font-weight:800;background:#eef1ed;border-radius:8px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;flex:none}.lq-opt.ok .lq-opt-id{background:#12a176;color:#fff}.lq-opt-tick{color:#12a176;font-weight:800}.lq-match{display:flex;flex-direction:column;gap:10px}.lq-match-row{border:1px solid #e4eae3;border-radius:12px;padding:8px;background:#fafcf9}.lq-match-row.ok{background:#e2f6ea;border-color:#9fd9b8}.lq-match-label{font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:8px}.lq-match-opts{display:flex;gap:6px;flex-wrap:wrap}.lq-opt.mini{background:#fff;border:1.5px solid #dfe6dd;padding:6px 10px;border-radius:99px;font-size:13px}.lq-opt.mini.ok{border-color:#12a176;background:#e2f6ea}.lq-opt.mini.dim{opacity:.5}.lq-warn{color:#c4572a;font-size:13px;margin-top:8px}.lq-sort-zone{min-height:46px;border:2px dashed #cfdacf;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px;background:#fbfdfa}.lq-sort-zone.has{border-color:#12a176;border-style:solid}.lq-sort-empty{color:#9aa49b;font-size:13px;text-align:center;padding:12px 0}.lq-sort-chip{background:#0f7a5c;color:#fff;border-radius:10px;padding:8px 12px;font-size:14px;text-align:left}.lq-sort-chip.ok{background:#12a176}.lq-sort-chip.bad{background:#d9534f}.lq-sort-pool{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.lq-sort-pick{background:#fff;border:1.5px solid #cfdacf;border-radius:99px;padding:6px 12px;font-size:13px;text-align:left}.lq-sort-pick:hover{border-color:#12a176}.lq-tree-root{font-weight:800;color:#0d5c46;background:#eaf6ee;border-radius:10px;padding:8px 12px;margin-bottom:10px}.lq-tree-branches{display:flex;flex-direction:column;gap:8px}.lq-tree-branch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lq-tree-label{font-weight:600;min-width:92px}.lq-tree-branch.bad .lq-tree-label{color:#c4572a}.lq-tree-input{flex:1;min-width:180px;border:1.5px solid #dfe6dd;border-radius:10px;padding:7px 10px;font-size:14px;font-family:inherit}.lq-tree-input:focus{outline:none;border-color:#12a176}.lq-tree-answer{color:#0d7a58;font-weight:700}.lq-tree-branch .btn-ghost{background:#0f7a5c;color:#fff;border-radius:99px;font-size:13px;padding:6px 12px}.lq-tree-branch.ok{background:#e2f6ea;border-radius:10px;padding:6px 10px}.lq-pass{margin-top:12px;background:#e2f6ea;color:#0d5c46;border-radius:12px;padding:10px 12px;font-weight:700}.lq-explain{margin-top:10px;font-size:13px;color:#55695e;background:#f0f6f1;border-radius:10px;padding:8px 12px;line-height:1.6}.lq-explain.dim{color:#8a6d3b;background:#fff8e6}.lq-explain .btn-ghost{background:#f5a623;color:#fff}.recbar-slot{padding:6px 12px 2px;background:#f2faf4;border-bottom:1px solid #e3efe5}.recbar2{position:relative;border:1px solid #d6e8db;border-radius:10px;padding:4px 8px 5px;background:#fff;display:flex;flex-direction:column;gap:2px;transition:border-color .2s ease,box-shadow .2s ease}.recbar2.on{border-color:#f0a05a;box-shadow:0 0 0 2px #f0a05a29}.recbar2-top{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}.recbar2-label{flex:none;font-size:12.5px;font-weight:800;color:#16403a;white-space:nowrap}.recbar2-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#c3ccc5;transition:background .2s ease}.recbar2-dot.live{background:#2fbf71;box-shadow:0 0 0 3px #2fbf712e;animation:recbar2pulse 1.4s infinite}@keyframes recbar2pulse{0%,to{box-shadow:0 0 0 2px #2fbf7147}50%{box-shadow:0 0 0 5px #2fbf7114}}.recbar2-state{flex:none;font-size:11.5px;font-weight:700;color:#7b8f83;white-space:nowrap}.recbar2-spacer{flex:1 1 auto;min-width:4px}.recbar2-btn{flex:none;border:0;border-radius:999px;font-size:12.5px;font-weight:800;padding:4px 12px;line-height:1.3;cursor:pointer;white-space:nowrap}.recbar2-btn.start{background:linear-gradient(135deg,#16a172,#0d8c63);color:#fff;box-shadow:0 3px 8px #0d8c6347}.recbar2-btn.stop{background:#d9534f;color:#fff}.recbar2-btn.again{background:#f5a623;color:#fff}.recbar2-btn:hover{filter:brightness(1.05)}.recbar2-busy{flex:none;font-size:12px;font-weight:700;color:#8a7a5f}.recbar2-gear{flex:none;width:24px;height:22px;border-radius:7px;background:#fff;border:1px solid #dce8df;font-size:14px;line-height:1;color:#5f7a6a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.recbar2-gear:hover,.recbar2-gear.active{background:#eef6f0;border-color:#b8d4c0;color:#0f7a5c}.recbar2-cfg{position:absolute;right:6px;top:calc(100% + 4px);z-index:40;width:232px;background:#fff;border:1px solid #dce8df;border-radius:12px;box-shadow:0 14px 34px #1e503c29;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.recbar2-cfg-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:700;color:#2f4a3c}.recbar2-cfg-row input[type=checkbox]{width:15px;height:15px;accent-color:#0f7a5c}.recbar2-cfg-seg{display:inline-flex;background:#edf4ef;border-radius:7px;padding:1px;gap:1px}.recbar2-cfg-seg button{border:0;background:transparent;border-radius:6px;font-size:11.5px;font-weight:800;color:#6a7f72;padding:2px 9px;cursor:pointer}.recbar2-cfg-seg button.active{background:#fff;color:#0f7a5c;box-shadow:0 1px 4px #14643c29}.recbar2-cfg-done{align-self:flex-end;border:0;background:#0f7a5c;color:#fff;border-radius:999px;padding:4px 16px;font-size:12.5px;font-weight:800;cursor:pointer}.recbar2-hint{font-size:11.5px;color:#8ba095;display:flex;align-items:center;gap:8px;min-height:15px;overflow:hidden;white-space:nowrap}.recbar2-hint>span,.recbar2-hint>.recbar2-err{overflow:hidden;text-overflow:ellipsis}.recbar2-clock{font-size:13px;font-variant-numeric:tabular-nums;color:#c4531b;font-weight:800;flex:none}.recbar2-chip{font-size:11px;color:#6a7f72;background:#eef4ef;border-radius:99px;padding:1px 8px;flex:none}.recbar2-chip.ok{color:#0d7a58;font-weight:700}.recbar2-err{color:#d9534f;font-weight:700}.recbar{border:1.5px solid #cfe7d6;border-radius:14px;padding:10px 12px;background:#fff;transition:border-color .2s ease}.recbar.on{border-color:#f0a05a;box-shadow:0 0 0 3px #f0a05a26}.recbar-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;flex-wrap:wrap}.recbar-title{font-weight:800;color:#16403a}.recbar-desc{font-size:11px;color:#8ba095}.recbar-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recbar-clock{font-size:16px;font-variant-numeric:tabular-nums;color:#c4531b}.recbar-cam{font-size:12px;color:#6a7f72;background:#eef4ef;border-radius:99px;padding:2px 8px}.recbar-ok{font-size:13px;color:#0d7a58;font-weight:700}.recbar-hint{font-size:11px;color:#9aa49b}.recbar .btn-rec.start{background:#0f7a5c;color:#fff;border-radius:99px;padding:7px 16px;font-size:14px;font-weight:700}.recbar .btn-rec.stop{background:#d9534f;color:#fff;border-radius:99px;padding:6px 14px;font-size:13px}.recbar-status.ok{color:#0d7a58;font-size:14px;font-weight:600}.recbar-status.ok .btn-ghost{margin-left:4px;color:#0f7a5c;text-decoration:underline}.rec-dot{width:10px;height:10px;border-radius:50%;background:#f04f4f;animation:recblink 1s infinite}@keyframes recblink{0%,to{opacity:1}50%{opacity:.25}}.cta-bar.reading-cta{gap:10px;flex-wrap:wrap}.btn-fun{background:linear-gradient(90deg,#7c5cff,#9d7bff);color:#fff;font-size:14px;font-weight:700;border-radius:12px;padding:10px 16px;box-shadow:0 6px 14px #7c5cff4d}.btn-fun:disabled{opacity:.45;cursor:not-allowed}.cta-sub{width:100%;font-size:12px;color:#8ba095}.rfinish{background:linear-gradient(180deg,#fffdf5,#f2fbf4)!important;border-color:#cfe7d6!important}.rfinish-coins{font-size:17px;margin:10px 0 4px}.rfinish-coins b{color:#b8860b;font-size:24px}.rfinish-badges{margin-left:6px;color:#0d7a58;font-weight:700}.rfinish-note{font-size:12px;color:#9aa49b;font-weight:400}.rfinish-progress{font-size:14px;color:#37463f}.rfinish-map{margin-top:14px}.rfinish-map-label{font-weight:700;color:#0d5c46;margin-right:8px;font-size:14px}.learn-loading.center{display:flex;align-items:center;justify-content:center;height:100%;font-size:18px;color:var(--ink-soft)}.read-list{display:flex;flex-direction:column}.read-row .rr-reading-progress b{color:#0d7a58}.rr-coins{font-size:14px}.rr-badges{display:inline-flex;align-items:center;gap:4px}.rr-badges i{font-style:normal;font-size:12px;color:#8a6d3b;background:#fff4d6;border-radius:99px;padding:1px 8px}.rr-video-n{color:#b45309;font-weight:700}.video-row{display:block;border-bottom:1px solid #eef2ee;padding:8px 0}.rv-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:6px}.rv-tag{font-weight:700;color:#16403a}.rv-meta{font-size:12px;color:#8ba095}.rv-player{width:100%;max-width:460px;border-radius:10px;background:#111}.teacher-empty.small{padding:6px 0;font-size:13px}.read-row .rr-time{display:none}@media (max-width: 1080px){.rbook-card-main{flex-direction:column;align-items:flex-start}.rbook-cover{width:108px;height:150px}}.rrec-pop{width:min(640px,100%);max-height:82vh;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:20px}.rrec-pop .learn-care-head{flex:none}.rrec-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 18px;background:#fbf7ff}.rrec-clear-bar{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:#fff6f9;border-bottom:1px solid #f6dbe9}.rrec-clear-txt{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:#a04273;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rrec-clear-btn{flex:none;border:1px solid #f3b6cf;background:#fff;color:#b10f4e;border-radius:999px;font-size:12.5px;font-weight:800;padding:5px 14px;cursor:pointer;transition:background .15s ease}.rrec-clear-btn:hover:not(:disabled){background:#ffe3ee}.rrec-clear-btn:disabled{opacity:.5;cursor:not-allowed}.rrec-msg{flex:none;padding:8px 16px;font-size:12.5px;font-weight:700;color:#177a3f;background:#f1faf4;border-bottom:1px solid #d5ecd9}.rrec-list{display:flex;flex-direction:column;gap:12px}.rrec-row{background:#fff;border:1px solid #e7defa;border-radius:14px;padding:12px 14px;box-shadow:0 2px 8px #7c5cff0d}.rrec-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.rrec-book{font-size:14.5px;font-weight:800;color:#4d3a68}.rrec-time{font-size:11px;color:var(--ink-soft)}.rrec-meter{margin-top:9px}.rrec-meter .rbook-meter-track{height:8px}.rrec-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.rrec-chip{font-size:12px;color:#37463f;background:#f1f8f3;border:1px solid #dcebe0;border-radius:99px;padding:3px 10px}.rrec-chip b{font-weight:800}.rrec-last{margin-top:8px;font-size:12px;color:#8a6d3b;background:#fff8e6;border-radius:8px;padding:4px 10px}.rrec-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.rrec-badge{font-size:12px;font-weight:600;color:#8a4b0a;background:#fff1d6;border:1px solid #ffd591;border-radius:999px;padding:3px 10px}.rbook-card.lock{opacity:.72}.rbook-card.lock .rbook-cover{background:#ece9e1;color:#b6ada0}.rbook-lock-tag{display:block;margin-top:2px;font-size:10px;color:#b05330;background:#fdece2;border-radius:99px;padding:1px 6px;width:fit-content}.rbook-lock-txt{flex:none;font-size:11px;font-weight:600;color:#b05330;background:#fdece2;border-radius:99px;padding:2px 9px;white-space:nowrap}.rbook-lock-actions{font-size:13px;font-weight:600;color:#b05330}.task-block{margin:10px 0 4px;border:1px solid #e4ddf3;border-radius:14px;padding:10px 12px;background:#fbfaff}.task-block-tag{display:inline-block;font-size:12px;font-weight:800;color:#5b3fa8;background:#efe9ff;border-radius:999px;padding:3px 10px;margin-bottom:8px}.task-block .listen-card,.task-block .shadow-card{border:none;padding:0;background:transparent}.rfinish-breakdown{margin:6px 0 2px;font-size:13px;color:#6b5a88}.read-fb-hint{margin-top:6px;font-size:12px;color:#6b5a88}.cta-err{display:block;margin-top:6px;font-size:12px;color:#c0392b}.nar-speaking{display:inline-flex;align-items:center;margin-top:6px;font-size:12px;color:#2f6fc4;background:#eef5ff;border-radius:999px;padding:2px 10px}.listen-progress{margin-top:8px}.listen-progress-bar{height:6px;border-radius:999px;background:#ece6f7;overflow:hidden}.listen-progress-bar>i{display:block;height:100%;background:linear-gradient(135deg,#4a90e2,#2f6fc4);transition:width .3s}.listen-progress-txt{display:block;margin-top:4px;font-size:12px;color:#6b5a88}.nar-line{line-height:1.75}.nar-line+.nar-line{margin-top:2px}.nar-line.note{margin-top:6px;padding:4px 8px;border-left:3px solid #b79cf0;background:#f6f2ff;border-radius:6px;font-size:13px;color:#5b4a86}.btn-continue.mini{padding:3px 10px;font-size:12px;margin-left:8px;border:none}.login-root{min-height:100%;display:flex;align-items:center;justify-content:center;padding:28px 16px}.login-card{width:100%;max-width:560px;background:#fffdf9;border:1px solid rgba(124,92,255,.12);border-radius:26px;box-shadow:0 20px 60px #7c5cff29;overflow:hidden}.login-brand{padding:34px 34px 22px;text-align:center;background:linear-gradient(135deg,#fff3de,#ffe9ee 60%,#eef1ff)}.login-logo{font-size:46px;filter:drop-shadow(0 6px 12px rgba(255,122,89,.3));animation:hub-bob 3.2s ease-in-out infinite}.login-title{margin:10px 0 6px;font-size:30px;letter-spacing:2px;background:linear-gradient(90deg,#ff7a59,#ff5ea8,#7c5cff);-webkit-background-clip:text;background-clip:text;color:transparent}.login-sub{margin:0;color:var(--ink-soft);font-size:13px}.login-body{padding:24px 34px 30px;display:flex;flex-direction:column;gap:10px}.login-phone{letter-spacing:3px}.sms-row{display:flex;gap:10px}.sms-input{flex:1;letter-spacing:6px;text-align:center;font-weight:700}.sms-send-btn{flex-shrink:0;border:0;border-radius:14px;padding:0 16px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(90deg,#7c5cff,#5e7cff);box-shadow:0 6px 14px #7c5cff47;cursor:pointer;transition:transform .1s,opacity .2s}.sms-send-btn:hover:not(:disabled){transform:translateY(-1px)}.sms-send-btn.disabled{opacity:.55;cursor:not-allowed}.sms-hint{font-size:11px;color:var(--ink-soft);background:#f2fbff;border:1px solid #d5ecf7;border-radius:10px;padding:6px 10px}.sms-hint.ok{background:#eefbea;border-color:#cdecc4;color:#337e2b}.sms-row:has(+.sms-hint){margin-bottom:0}.role-options{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:stretch;gap:12px}.role-option{flex:1 1 0;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;border-radius:14px;background:#fff;border:2px solid #efe9f6;text-align:center;transition:all .16s;overflow:hidden}.role-option.active{border-color:var(--violet);background:#f5f1ff;box-shadow:0 6px 18px #7c5cff24}.role-check{font-size:14px;color:var(--violet);line-height:1}.role-emoji{font-size:19px;line-height:1}.role-text{min-width:0;max-width:100%}.role-text b{display:block;font-size:14px;white-space:nowrap}.role-note{font-size:11px;color:var(--ink-soft);background:#fbf3ff;border-radius:10px;padding:8px 10px}.login-error{text-align:center}.login-submit{width:100%;margin-top:6px}@media (max-width: 520px){.login-root{align-items:flex-start;padding:14px 12px;overflow-y:auto}.login-card{border-radius:20px}.login-brand{padding:18px 18px 12px}.login-logo{font-size:36px}.login-title{font-size:24px;margin:8px 0 4px}.login-body{padding:14px 18px 22px;gap:8px}.sms-row{flex-wrap:wrap}.sms-input{flex:1 1 100%;min-width:0}.sms-send-btn{flex:1 1 100%;height:46px;font-size:15px;letter-spacing:2px;border-radius:12px}}@keyframes hub-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.splash3d{height:100%;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 700px at 20% 10%,#3b2d78,#191238 48%,#0c0a1c);color:#fff}.splash3d.role-teacher{background:radial-gradient(1200px 700px at 80% 20%,#124a3c,#0b1f2c 55%,#081019)}.splash3d-stage{position:relative;width:90%;max-width:720px;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;perspective:900px}@keyframes splash-final-pulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.splash3d.role-student.merged:before{content:"";position:absolute;width:min(80vmin,640px);height:min(80vmin,640px);border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.4),rgba(255,122,89,.12) 55%,transparent 72%);top:50%;left:50%;transform:translate(-50%,-50%);animation:mc-halo 4.2s ease-in-out infinite;pointer-events:none}@keyframes mc-halo{50%{transform:translate(-50%,-50%) scale(1.16);opacity:.75}}.splash-merged{max-width:1000px;width:94%;min-height:300px;position:relative;z-index:1}.mc-grid{display:flex;align-items:center;justify-content:center}.mc-cell{display:flex;align-items:center}.mc-frag{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;line-height:1.25;font-weight:800;opacity:0;transform:translateY(28px) scale(.9);animation:mc-rise 1s cubic-bezier(.16,.84,.3,1.18) forwards}@keyframes mc-rise{to{opacity:1;transform:translateY(0) scale(1)}}.mc-text,.mc-hero-core{display:flex;flex-direction:column;align-items:center}.mc-char{display:block;line-height:1.18}.mc-frag.mc-a{font-size:clamp(26px,5vw,50px);color:#fff;text-shadow:0 0 30px rgba(255,255,255,.22);animation-delay:.15s;margin:0 clamp(12px,2vw,32px)}.mc-frag.mc-b{font-size:clamp(15px,min(3.4vh,2.6vw),26px);color:#ffffffe6;animation-delay:.55s;margin:0 clamp(12px,2vw,32px)}.mc-frag.mc-hero{animation-delay:.95s;gap:14px;margin-left:clamp(12px,2vw,32px)}.mc-hero-core .mc-char{font-size:clamp(40px,min(11vh,10vw),92px);font-weight:900;background:linear-gradient(180deg,#ffe9a8,#ffd76a 22%,#ff7a59 58%,#ff5ea8 82%,#8f7bff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(255,122,89,.55));animation:splash-final-pulse 1.1s ease-in-out infinite alternate}.mc-sub{color:#ffffffb8;font-size:clamp(11px,1.4vw,14px);font-weight:600;letter-spacing:2px;white-space:nowrap}.mc-divider{width:2px;height:clamp(120px,34vh,300px);flex-shrink:0;background:linear-gradient(180deg,#fff0,#ffffff4d,#fff0);opacity:0;animation:mc-fade .8s ease .85s forwards}@keyframes mc-fade{to{opacity:1}}@media (max-height: 560px){.mc-frag.mc-a{font-size:20px;margin:0 8px}.mc-frag.mc-b{font-size:13px;margin:0 8px}.mc-hero-core .mc-char{font-size:30px}}@media (max-width: 620px){.mc-frag.mc-a{font-size:clamp(20px,5.6vw,32px);margin:0 8px}.mc-frag.mc-b{font-size:clamp(12px,3vh,18px);margin:0 8px}.mc-hero-core .mc-char{font-size:clamp(30px,9vw,48px)}.mc-sub{font-size:10px}}.splash3d.role-teacher.merged{background:radial-gradient(1200px 700px at 20% 10%,#3b2d78,#191238 48%,#0c0a1c)}.splash3d.role-teacher.merged:before{content:"";position:absolute;width:min(90vmin,760px);height:min(90vmin,760px);border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.4),rgba(255,122,89,.12) 55%,transparent 72%);top:50%;left:50%;transform:translate(-50%,-50%);animation:mc-halo 4.2s ease-in-out infinite;pointer-events:none}.teacher-merged{max-width:980px;width:96%}.tc-cols{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.4vw,20px);min-height:min(86vh,780px);padding:3vh 0}.tc-cell{display:flex;align-items:center}.tc-cell .mc-divider{height:clamp(90px,30vh,240px);margin:0 clamp(2px,.5vw,8px)}.tc-frag .mc-char{font-size:clamp(14px,min(3.1vh,2vw),27px);color:#fffffff2;text-shadow:0 0 26px rgba(255,255,255,.22);line-height:1.3}.tc-frag.hero{gap:10px;margin-left:clamp(4px,1vw,14px)}.tc-frag.hero .mc-char{font-size:clamp(24px,min(6vh,4.4vw),54px);font-weight:900;line-height:1.18;background:linear-gradient(180deg,#ffe9a8,#ffd76a 20%,#ff8a5c 60%,#ff5ea8 90%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 20px rgba(255,122,89,.55));animation:splash-final-pulse 1.1s ease-in-out infinite alternate}@media (max-width: 760px){.tc-frag .mc-char{font-size:clamp(11px,2.4vw,18px);line-height:1.2}.tc-frag.hero .mc-char{font-size:clamp(19px,5vw,34px);line-height:1.15}}@media (max-height: 560px){.tc-cols{min-height:92vh;padding:1vh 0}.tc-frag .mc-char{font-size:14px;line-height:1.15}.tc-frag.hero .mc-char{font-size:24px;line-height:1.1}}.splash-skip{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#ffffff73;font-size:12px;letter-spacing:1px}.portrait-root{min-height:100%;display:flex;align-items:flex-start;justify-content:center;padding:30px 14px 60px}.portrait-card{width:100%;max-width:680px;background:#fffdf9;border:1px solid rgba(124,92,255,.12);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.portrait-head{padding:30px 30px 20px;text-align:center;background:linear-gradient(135deg,#f2ecff,#ffeef2)}.portrait-logo{font-size:40px}.portrait-head h1{margin:8px 0 6px;letter-spacing:3px}.portrait-sub{margin:0 auto;max-width:480px;color:var(--ink-soft);font-size:13px}.portrait-body{padding:22px 30px 30px;display:flex;flex-direction:column;gap:10px}.pt-section-label{display:flex;gap:8px;align-items:center;background:#f4f8ff;border-radius:12px;padding:10px 12px;color:#3d5a8c;font-size:13px;cursor:pointer}.pt-section-label input{width:16px;height:16px;accent-color:var(--violet)}.pt-section{background:#fff;border:1px solid #f0e7f8;border-radius:16px;padding:14px 14px 12px}.pt-section-title{font-weight:800;font-size:14px;margin-bottom:10px}.pt-chips{display:flex;flex-wrap:wrap;gap:8px}.pt-chip{border:1.5px solid #e6def0;background:#fff;border-radius:999px;padding:7px 13px;font-size:13px;transition:all .14s}.pt-chip.on{background:linear-gradient(90deg,#f2ecff,#ffe6ef);border-color:var(--violet);color:#5a3fc0;font-weight:700}.pt-textarea{min-height:72px;resize:vertical;font-family:inherit}.pt-save{width:100%;margin-top:6px}.pt-tip{margin:0;text-align:center;font-size:12px;color:var(--ink-soft)}.pt-head-edit{position:relative}.pt-back{position:absolute;left:16px;top:16px;border:0;background:#ffffffb3;color:#6b5a88;border-radius:999px;padding:7px 14px;font-weight:800;cursor:pointer}.pt-back:hover{background:#fff}.portrait-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:340;background:#2a16406b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow-y:auto}.portrait-overlay .portrait-root{min-height:100%}.portrait-overlay .portrait-card{box-shadow:0 24px 70px #28143c66}.set-edit-btn{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #e6def5;background:linear-gradient(90deg,#faf7ff,#fff);border-radius:14px;padding:12px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease;text-align:left}.set-edit-btn:hover{background:#f4edff;border-color:#cdb8f5}.set-edit-ico{font-size:26px;flex:none}.set-edit-txt{flex:1;display:flex;flex-direction:column;gap:2px}.set-edit-txt b{font-weight:900;color:#4d3a68}.set-edit-txt i{font-style:normal;font-size:12px;color:var(--ink-soft)}.set-edit-arrow{font-size:22px;color:#b6a6d6;flex:none}.voice-row .voice-now{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px;max-width:46%;min-width:0}.voice-now{font-weight:900;color:#4d3a68;font-size:13px}.voice-now-desc{font-style:normal;font-size:10.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.voice-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:620;background:#140c2473;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center}.voice-card{width:min(440px,92vw);max-height:84vh;background:#fff;border-radius:18px;box-shadow:0 20px 60px #23124047;display:flex;flex-direction:column;padding-bottom:12px}.voice-card .pc-head{padding:12px 16px 8px}.voice-sub{padding:0 16px 8px;font-size:12px;color:var(--ink-soft);line-height:1.5;border-bottom:1px solid #f0e9fa}.voice-list{flex:1;min-height:0;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:6px}.voice-item{display:flex;align-items:center;border:1px solid #ece3f6;border-radius:12px;background:#fcfaff;overflow:hidden}.voice-item.active{border-color:#b9a3ee;background:#f3edff;box-shadow:0 2px 8px #7c5cff1f}.voice-opt{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:10px;cursor:pointer;text-align:left}.voice-check{flex:none;width:20px;color:#7c5cff;font-weight:900}.voice-name{flex:none;font-weight:900;color:#4d3a68;font-size:14px}.voice-desc{flex:1;min-width:0;font-size:12px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-preview{flex:none;width:42px;height:100%;min-height:42px;border:0;border-left:1px solid #ece3f6;background:#fff;color:#7c5cff;cursor:pointer;font-size:15px}.voice-preview:hover{background:#f1eaff}.voice-preview:disabled{opacity:.5;cursor:not-allowed}.shome{max-width:980px;margin:0 auto;min-height:100%;padding:22px 18px 26px;display:flex;flex-direction:column;gap:14px}.shome-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fffdf8;border-radius:22px;box-shadow:var(--shadow);padding:16px 20px;border:1px solid rgba(124,92,255,.1)}.shome-avatar-side{display:flex;align-items:center;gap:14px}.shome-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#ff9d7a,#ff5ea8);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;box-shadow:0 6px 16px #ff5ea852;border:3px solid #fff}.shome-avatar img{width:100%;height:100%;object-fit:cover}.shome-rank-name{font-size:20px;font-weight:900;background:linear-gradient(90deg,#ff7a59,#b45cff);-webkit-background-clip:text;background-clip:text;color:transparent}.shome-rank-sub{font-size:12px;color:var(--ink-soft);margin-top:2px}.shome-total-coin{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fff6df,#ffe9c0);border:1px solid rgba(240,176,40,.4);border-radius:999px;padding:8px 16px;box-shadow:0 6px 16px #f0b0282e}.shome-total-coin-icon{font-size:22px;line-height:1}.shome-total-coin-val{font-size:22px;font-weight:900;color:#a86a00;line-height:1}.shome-total-coin-label{font-size:12px;font-weight:800;color:#b57f1e}.shome-cta-row.shome-cta-single{grid-template-columns:1fr}.shome-cta-row.shome-cta-single .shome-cta{width:100%}.shome-cta-row.shome-cta-triple{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.shome-cta.shome-go-lab{background:linear-gradient(135deg,#6f8cff,#4a5fd6);box-shadow:0 10px 24px #5a6edc47}.shome-cta.shome-go-lab:hover{box-shadow:0 14px 30px #5a6edc57}.labh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:linear-gradient(180deg,#f6f8ff,#eef2fc);overflow:hidden}.labh-top{display:flex;align-items:center;gap:16px;padding:16px 26px;background:#fff;border-bottom:1px solid #e4e8f5;flex:0 0 auto}.labh-title{display:flex;align-items:center;gap:12px}.labh-logo{font-size:30px;line-height:1}.labh-title b{display:block;font-size:21px;color:#2c3a63;letter-spacing:1px}.labh-sub{font-size:13px;color:#8b93ad}.labh-body{flex:1 1 auto;overflow-y:auto;padding:22px 26px 60px}.labh-group{margin-bottom:26px}.labh-group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.labh-group-head b{font-size:16.5px;color:#2c3a63}.labh-group-head span{font-size:12.5px;color:#9aa2ba}.labh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.labh-card{display:flex;align-items:center;gap:12px;text-align:left;padding:16px 18px;border-radius:18px;border:2px solid #e2e7fa;background:#fff;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.labh-card:hover{transform:translateY(-2px);border-color:#b9c4f5;box-shadow:0 10px 22px #5a6edc24}.labh-card-emoji{font-size:26px;line-height:1}.labh-card-main{flex:1 1 auto;min-width:0}.labh-card-main b{display:block;font-size:15.5px;color:#2c3a63;margin-bottom:3px}.labh-card-main i{display:block;font-style:normal;font-size:12.5px;color:#8b93ad;line-height:1.55}.labh-card-go{flex:0 0 auto;font-size:12.5px;font-weight:800;color:#4a5fd6;white-space:nowrap}.labh-run{display:flex;flex-direction:column;height:100%;overflow:hidden}.labh-run-top{display:flex;align-items:center;gap:16px;padding:14px 26px;background:#fff;border-bottom:1px solid #e4e8f5;flex:0 0 auto}.labh-run-title{flex:1 1 auto;min-width:0}.labh-run-title b{display:block;font-size:17px;color:#2c3a63}.labh-run-sec{margin-left:10px;font-size:12.5px;font-weight:500;color:#9aa2ba}.labh-run-title span{font-size:12.5px;color:#8b93ad}.labh-again{flex:0 0 auto;border:2px solid #d8dff7;background:#fff;border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:800;color:#4a5fd6;cursor:pointer}.labh-again:hover{border-color:#b9c4f5;background:#f4f6ff}.labh-again.on{border-color:#35b37e;color:#2b8f66}.labh-run-body{flex:1 1 auto;overflow-y:auto;padding:20px 26px 60px}.labh-done{max-width:860px;margin:0 auto 12px;padding:12px 16px;border-radius:14px;background:#eafaf1;border:1.5px solid #b6e6cb;color:#247d55;font-size:14px;font-weight:700}.labh-done-coin{display:inline-block;margin:0 4px;padding:1px 9px;border-radius:999px;background:#fff6dd;border:1.5px solid #f3d68a;color:#a4761a;font-weight:900;animation:labh-coin-pop .45s ease}.labh-done-hint{margin-left:4px;font-weight:600;font-size:13px;color:#6d9b84}@keyframes labh-coin-pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.labh-card.done{background:#fdfaf1;border-color:#f0e4c4}.labh-card.done .labh-card-go{color:#a4761a}.demoh-card.watched{background:#fdfaf1;border-color:#f0e4c4}.demoh-card.watched .demoh-card-go{color:#a4761a;font-weight:800}.demoh-run-coin{padding:4px 10px;border-radius:999px;background:#fff6dd;border:1.5px solid #f3d68a;color:#a4761a;font-size:13px;font-weight:900;white-space:nowrap}.labh-session-coin{margin-left:auto;padding:4px 12px;border-radius:999px;background:#fff6dd;border:1.5px solid #f3d68a;color:#a4761a;font-size:13px;font-weight:900;white-space:nowrap}.shome-stats{background:#fff;border:1px solid #f0e8fa;border-radius:18px;box-shadow:var(--shadow);padding:4px 18px 10px}.shome-stat{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 0 6px}.shome-stat+.shome-stat{border-top:1px dashed #efe6f8}.shome-stat-label{display:flex;align-items:center;gap:7px;font-weight:800;color:#5c4878;font-size:15px}.shome-stat-icon{font-size:19px;line-height:1}.shome-stat-val{margin-left:auto;display:flex;align-items:baseline;gap:2px}.shome-stat-val b{font-size:22px;color:#4d3a68}.shome-stat-cap{font-size:12px;color:var(--ink-soft)}.shome-meter{flex-basis:100%;display:block;height:7px;background:#f1e9fa;border-radius:99px;margin-top:6px;overflow:hidden}.shome-meter em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffc93d,#ff7a59);transition:width .5s ease}.shome-stat.credit .shome-meter em{background:linear-gradient(90deg,#7c5cff,#5e7cff)}.shome-stat.hours .shome-meter em{background:linear-gradient(90deg,#36c5f0,#5a9bff)}.shome-grad-banner{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:12px 14px;border-radius:16px;background:linear-gradient(120deg,#fff4d6,#ffe7e0);border:1px solid #ffd9a8;color:#8a4b0a}.shome-grad-emoji{font-size:22px}.shome-grad-txt{display:flex;flex-direction:column;flex:1}.shome-grad-txt b{font-size:15px}.shome-grad-txt i{font-style:normal;font-size:12px;opacity:.75;margin-top:2px}.shome-grad-x{border:0;background:#fff9;border-radius:50%;width:24px;height:24px;cursor:pointer;color:#a4630f}.shome-class-banner{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:11px 14px;border-radius:16px;background:linear-gradient(120deg,#e8f3ff,#e4f8ff);border:1px solid #b9dcff;color:#0b5a8a}.shome-class-emoji{font-size:22px}.shome-class-txt{display:flex;flex-direction:column;flex:1}.shome-class-txt b{font-size:14.5px}.shome-class-txt i{font-style:normal;font-size:12px;opacity:.75;margin-top:2px}.shome-class-join{border:0;cursor:pointer;background:#1677ff;color:#fff;font-weight:800;font-size:13px;padding:7px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 10px #1677ff59}.shome-class-join:hover{filter:brightness(1.06)}.rp-overlay{z-index:260}.rp-card{width:min(880px,96vw);height:min(86vh,760px)}.rp-body{padding:8px 18px 18px;overflow-y:auto;height:calc(100% - 66px)}.rp-vol-sel{display:flex;align-items:center;gap:10px;margin-bottom:12px}.rp-vol-sel label{font-size:13px;font-weight:800;color:#5c4878;white-space:nowrap}.rp-vol-sel select{flex:1;max-width:360px;padding:7px 10px;border:1px solid #e3d8f1;border-radius:10px;background:#fff;color:#3d3152;font-size:13.5px;font-weight:600}.rp-hero{background:linear-gradient(135deg,#7c5cff,#5e7cff);border-radius:16px;color:#fff;padding:16px 18px}.rp-title-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.rp-title{font-size:17px;letter-spacing:1px}.rp-progress-txt{font-size:12.5px;opacity:.92}.rp-progress-track{height:14px;border-radius:999px;background:#ffffff40;margin-top:12px;overflow:hidden}.rp-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffd76a,#ffc53d);transition:width .5s ease}.rp-progress-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:10px;flex-wrap:wrap}.rp-progress-pct{font-size:22px;font-weight:900}.rp-progress-note{font-size:12px;opacity:.85}.rp-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.rp-sum-item{background:#fbf8ff;border:1px solid #ece3f6;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.rp-sum-label{font-size:12px;color:#7a6598}.rp-sum-val{font-size:24px;font-weight:900}.rp-sum-val.green,.rp-mastery.green,.rp-kp-mastery.green,.rp-lesson-mastery.green{color:#0f9d58}.rp-sum-val.yellow,.rp-mastery.yellow,.rp-kp-mastery.yellow,.rp-lesson-mastery.yellow{color:#d99b0a}.rp-sum-val.red,.rp-mastery.red,.rp-kp-mastery.red,.rp-lesson-mastery.red{color:#e5484d}.rp-sum-val.gray,.rp-mastery.gray,.rp-kp-mastery.gray,.rp-lesson-mastery.gray{color:#9a8fb0}.rp-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.rp-ov-item{border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.rp-ov-item.ok{background:#eaf9f0;color:#0f7a4e}.rp-ov-item.mid{background:#fdf4e0;color:#a9770a}.rp-ov-item.no{background:#fdecec;color:#b23b3f}.rp-ov-item b{font-size:13px}.rp-ov-item span{font-size:20px;font-weight:900}.rp-sec{margin-top:14px;border:1.5px solid #ece3f6;border-radius:14px;background:#fff;overflow:hidden}.rp-sec-warn{border-color:#ffd8a8;background:#fffaf2}.rp-sec-sum{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:15px;font-weight:900;color:#4d3a68;-webkit-user-select:none;user-select:none}.rp-sec-sum::-webkit-details-marker{display:none}.rp-sec-sum:hover{background:#faf7fe}.rp-sec-warn .rp-sec-sum{color:#b45309}.rp-sec-warn .rp-sec-sum:hover{background:#fff3e4}.rp-sec-title{flex:0 1 auto}.rp-sec-meta{flex:1 1 auto;font-size:12px;font-weight:600;color:#8b7aa8;text-align:right}.rp-sec-warn .rp-sec-meta{color:#b9895a}.rp-sec-chev{flex:0 0 auto;font-size:13px;color:#a08cc0;transition:transform .18s}.rp-sec[open]>.rp-sec-sum>.rp-sec-chev{transform:rotate(180deg)}.rp-sec-body{padding:2px 14px 12px;border-top:1px dashed #f0e8fa}.rp-sec-warn>.rp-sec-body{border-top-color:#ffe9c9}.rp-lesson-need{border-top-color:#ffe9c9}.rp-lesson-need .rp-lesson-name{color:#92400e;font-weight:800}.rp-lesson-tests{font-size:12px;font-weight:800;padding:1px 7px;border-radius:999px;white-space:nowrap}.rp-lesson-tests.ok{background:#e7f7ec;color:#157347}.rp-lesson-tests.need{background:#fff1e0;color:#b45309}.rp-lesson-tests.shine{background:#eef2ff;color:#4338ca}.rp-lesson-link{text-decoration:none;cursor:pointer;border-radius:10px;transition:background .15s}.rp-lesson-link:hover{background:#fff3e0}.rp-lesson-link:hover .rp-lesson-learn{text-decoration:underline}.hg-board-gate{margin:10px 0 0;padding:10px 12px;border:1.5px solid #ffd8a8;border-radius:12px;background:#fffaf2;display:flex;flex-direction:column;gap:6px}.hg-board-gate b{color:#b45309}.hg-board-gate span{font-size:13px;color:#92400e;line-height:1.6}.hg-board-gate-actions{display:flex;gap:8px;margin-top:2px}.rp-unit{border:1px solid #ece3f6;border-radius:14px;margin-bottom:10px;padding:8px 12px;background:#fff}.rp-unit-name{font-size:13px;font-weight:800;color:#7a6598;padding:4px 2px 8px}.rp-lesson{display:flex;align-items:center;gap:8px;padding:7px 4px;border-top:1px dashed #f0e8fa}.rp-lesson-emoji{font-size:16px}.rp-lesson-name{flex:1;font-weight:700;color:#3d3152;font-size:13.5px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rp-lesson-kp{color:#7a6598;font-size:12.5px;font-weight:800}.rp-lesson-learn{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px}.rp-lesson-learn.st-ok{background:#eaf9f0;color:#0f7a4e}.rp-lesson-learn.st-run{background:#fdf4e0;color:#a9770a}.rp-lesson-learn.st-todo{background:#f0edf5;color:#7a6b90}.rp-lesson-mastery{min-width:46px;text-align:right;font-size:14px;font-weight:900}.rp-kp-legend{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.rp-kp-legend-item{font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px}.rp-kp-legend-item.green{background:#eaf9f0;color:#0f7a4e}.rp-kp-legend-item.yellow{background:#fdf4e0;color:#a9770a}.rp-kp-legend-item.red{background:#fdecec;color:#b23b3f}.rp-kp-group{border:1px solid #ece3f6;border-radius:12px;margin-bottom:8px;background:#fff}.rp-kp-group-sum{list-style:none;cursor:pointer;padding:10px 14px;font-weight:800;color:#4d3a68;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;gap:10px}.rp-kp-group-sum::-webkit-details-marker{display:none}.rp-kp-group-sum:before{content:"▸";margin-right:6px;color:#b3a3cd}.rp-kp-group[open] .rp-kp-group-sum:before{content:"▾"}.rp-kp-group-meta{font-size:12px;color:#7a6598;font-weight:700}.rp-kp-list{padding:0 8px 8px}.rp-kp-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-top:1px dashed #f3eefa}.rp-kp-status{flex-shrink:0;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;min-width:58px;text-align:center}.rp-kp-status.green{background:#eaf9f0;color:#0f7a4e}.rp-kp-status.yellow{background:#fdf4e0;color:#a9770a}.rp-kp-status.red{background:#fdecec;color:#b23b3f}.rp-kp-name{flex:1;color:#3d3152;font-size:13px}.rp-kp-mastery{min-width:44px;text-align:right;font-weight:900;font-size:13px}.rp-sugg{list-style:none;margin:0;padding:0}.rp-sugg li{background:#fbf8ff;border:1px solid #ece3f6;border-left:4px solid #7c5cff;border-radius:10px;padding:10px 14px;margin-bottom:8px;color:#4d3a68;font-size:13.5px;line-height:1.6}.rp-empty{color:#9a8fb0;font-size:13px;padding:14px 4px}@media (max-width: 720px){.rp-summary,.rp-overview{grid-template-columns:1fr}}.shome-navrow{display:flex;justify-content:space-around;background:#fffdf8;border-radius:18px;box-shadow:var(--shadow);padding:6px 8px;border:1px solid rgba(124,92,255,.1)}.shome-nav{position:relative;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;color:var(--ink-soft);padding:8px 18px;border-radius:12px;cursor:pointer}.shome-nav:hover{background:#f5efff;color:var(--violet)}.shome-nav-icon{font-size:24px}.shome-nav-label{font-weight:700}.shome-picker{display:flex;flex-direction:column;gap:8px;margin-top:4px}.shome-pick-label{font-size:13px;font-weight:700;color:#7c5cff;letter-spacing:1px;margin-left:4px}.shome-picker .shome-vol{width:100%}.shome-vol{position:relative;display:flex;align-items:center;justify-content:center;background:#fffdf8;border:1px solid rgba(124,92,255,.14);border-radius:16px;box-shadow:var(--shadow);padding:15px 46px}.shome-vol-sel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.shome-vol-name{font-size:21px;font-weight:900;color:#4d3a68;letter-spacing:1px}.shome-soon{margin-left:10px;font-size:12px;font-weight:700;color:#a08c5a;background:#fdf6e6;border-radius:999px;padding:3px 10px;white-space:nowrap}.shome-vol-caret{position:absolute;right:18px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid #8d74c9;border-bottom:2px solid #8d74c9;transform:rotate(45deg);pointer-events:none}.shome-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:auto}.shome-cta{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 12px;border-radius:24px;border:none;color:#fff;font-size:22px;font-weight:900;letter-spacing:3px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.shome-cta:hover{transform:translateY(-2px)}.shome-cta.shome-go-learn{background:linear-gradient(135deg,#2ec47a,#12a068);box-shadow:0 10px 24px #2fbf7147}.shome-cta.shome-go-learn:hover{box-shadow:0 14px 30px #2fbf7157}.shome-cta.shome-go-read{background:linear-gradient(135deg,#7c5cff,#5e7cff);box-shadow:0 10px 24px #7c5cff47}.shome-cta.shome-go-read:hover{box-shadow:0 14px 30px #7c5cff57}.shome-cta-emoji{font-size:30px}.shome-cta-main{line-height:1}.shome-cta:disabled{opacity:.55;cursor:not-allowed;transform:none}.ph-toast{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c2480;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:300}.ph-toast-card{background:#fff;width:min(340px,88vw);border-radius:22px;padding:26px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 20px 60px #00000040}.ph-emoji{font-size:40px}.ph-toast-card b{font-size:18px}.ph-toast-card span{color:var(--ink-soft);font-size:12px}.pc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c2480;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:400;padding:20px}.pc-card{background:#fffdf9;width:min(460px,94vw);max-height:92vh;overflow-y:auto;border-radius:24px;box-shadow:0 24px 70px #0000004d;padding:22px 24px 24px}.pc-head{display:flex;align-items:center;justify-content:space-between}.pc-head h3{margin:0}.pc-avatar-zone{margin:14px 0 4px;text-align:center}.pc-avatar{width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,#ff9d7a,#ff5ea8);display:inline-flex;align-items:center;justify-content:center;font-size:40px;font-weight:800;color:#fff;overflow:hidden;border:4px solid #fff;box-shadow:0 8px 20px #ff5ea84d}.pc-avatar img{width:100%;height:100%;object-fit:cover}.pc-avatar-actions{margin-top:10px}.pc-avatar-hint{display:block;font-size:11px;color:var(--ink-soft);margin-top:6px}.pc-msg{text-align:center;color:var(--green);font-weight:700;font-size:13px}.pc-info{margin-top:12px;border:1px solid #efe5fa;border-radius:16px;overflow:hidden}.pc-row{display:flex;justify-content:space-between;padding:11px 14px;border-bottom:1px dashed #f0e8fa}.pc-row:last-child{border-bottom:none}.pc-row span{color:var(--ink-soft)}.pc-ok{color:var(--green)}.pc-vols{margin-top:14px}.pc-vols-title{font-weight:800;margin-bottom:8px}.pc-vol-list{display:flex;flex-wrap:wrap;gap:8px}.pc-vol{border:1px solid #dfd2ef;border-radius:999px;padding:6px 12px;background:#faf6ff;font-size:12px}.pc-vols-empty{font-size:12px;color:var(--ink-soft)}.pc-guide{margin-top:18px;background:linear-gradient(135deg,#f7f2ff,#eef6ff);border:1px solid #e2d6f5;border-radius:16px;padding:14px 16px;max-height:380px;overflow-y:auto}.pc-guide-title{font-weight:900;color:#5c4878;font-size:14.5px;margin-bottom:10px}.pc-guide-empty{color:#8b7aa5;font-size:12.5px;line-height:1.7}.pc-guide-summary{margin:0 0 10px;font-size:13px;font-weight:700;color:#7c4dfc;line-height:1.6}.pc-guide-section{margin-top:10px}.pc-guide-section-title{font-size:12.5px;font-weight:800;color:#5c4878;margin-bottom:5px}.pc-guide-list{list-style:none;margin:0;padding:0}.pc-guide-list li{position:relative;font-size:12.5px;color:#3f3352;line-height:1.65;padding-left:14px;margin-bottom:4px}.pc-guide-list li:before{content:"·";position:absolute;left:3px;color:#b39de0;font-weight:900}.pc-guide-list.empower li:before{content:"💛";left:0;font-size:10px}.pc-guide-list.avoid li:before{content:"✕";left:0;color:#d98a8e;font-size:10px}.pc-foot{margin-top:18px;text-align:center}.lhub{max-width:980px;margin:0 auto;min-height:100%;padding:16px 18px 40px;display:flex;flex-direction:column;gap:14px}.lhub-topbar{display:flex;align-items:center;gap:14px;background:#fffdf8;border-radius:18px;box-shadow:var(--shadow);padding:12px 18px;border:1px solid rgba(124,92,255,.1)}.lhub-logo{font-size:26px}.lhub-title{display:flex;align-items:center;gap:12px;flex:1}.lhub-title b{font-size:18px}.lhub-sub{display:block;font-size:12px;color:var(--ink-soft);margin-top:2px}.lhub-who{font-weight:700;color:#6a51c4}.lhub-body{display:flex;flex-direction:column;gap:14px}.lhub-vol-row{background:#fffdf8;border-radius:18px;padding:14px 18px;border:1px solid #f0e8fa}.lhub-vols{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.lhub-vol{display:flex;align-items:center;gap:8px;border:1.5px solid #eadff5;border-radius:14px;padding:9px 13px;background:#fff;transition:all .14s}.lhub-vol.active{border-color:var(--violet);background:linear-gradient(135deg,#f2ecff,#ffe6ef);box-shadow:0 6px 14px #7c5cff24}.lhub-vol-emoji{font-size:20px}.lhub-vol-name{font-size:13px;font-weight:700}.lhub-vol-n{font-size:11px;color:var(--violet);background:#efe9ff;border-radius:999px;padding:2px 8px}.lhub-lesson-section{background:#fffdf8;border-radius:20px;padding:18px;box-shadow:var(--shadow);border:1px solid rgba(124,92,255,.1);display:flex;flex-direction:column;gap:12px}.lhub-lesson-title{font-size:16px;font-weight:900}.lhub-soon{font-size:12px;color:#c08a3e}.lhub-picker{display:flex;flex-wrap:wrap}.lhub-picker .lesson-chip{flex:1 1 260px}.teacher-tool-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:linear-gradient(120deg,#eef0ff,#f7ecff);border:1px solid #ddd3f5;border-radius:16px;padding:10px 14px}.teacher-tool-note{font-size:12px;color:#6a51c4;margin-left:4px}.btn-feedback{background:linear-gradient(135deg,#4ecdc4,#2fb4a4);color:#fff;font-weight:700;padding:9px 16px;border-radius:12px;box-shadow:0 6px 14px #4ecdc44d}.teacher-studentbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fffdf8;border:1px solid rgba(124,92,255,.12);border-radius:16px;box-shadow:0 6px 20px #7c5cff14;padding:10px 16px}.tsb-label{font-weight:800}.tsb-select{border:1px solid #dcd0ec;border-radius:10px;padding:8px 12px;background:#fbf8ff;color:var(--ink);min-width:150px}.tsb-hint{font-size:12px;color:var(--ink-soft)}.tf-input-static{padding:9px 14px;background:#f6f1fc;border:1px dashed #d5c6ec;border-radius:10px;font-size:13px;color:#6a51c4}.teacher-stats .tstat{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #efe6fb;border-radius:14px;padding:8px 14px;font-size:13px;color:var(--ink-soft);box-shadow:0 4px 12px #7c5cff14}.teacher-stats .tstat b{color:#5a3fc0;font-size:17px}.teacher-boot{margin-top:10px;background:#fffdf8;border:1px solid rgba(124,92,255,.12);border-radius:20px;box-shadow:0 8px 26px #7c5cff1a;padding:14px 18px 18px}.teacher-boot-vols .field-label{margin-bottom:8px}.teacher-vol-chips{display:flex;flex-wrap:wrap;gap:10px}.teacher-vol-chip{display:flex;align-items:center;gap:8px;border:1.5px solid #eadff5;border-radius:14px;padding:9px 14px;background:#fff;transition:all .14s}.teacher-vol-chip.active{border-color:var(--violet);background:linear-gradient(135deg,#f2ecff,#ffe6ef);box-shadow:0 6px 14px #7c5cff24}.tv-emoji{font-size:20px}.tv-name{font-size:13px;font-weight:700}.tv-n{font-size:11px;color:var(--violet);background:#efe9ff;border-radius:999px;padding:2px 8px}.teacher-boot-btns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.teacher-boot-btns .teacher-go{min-height:74px}.fb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c2480;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:500;padding:18px}.fb-card{background:#fffdf9;width:min(860px,96vw);max-height:92vh;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;box-shadow:0 24px 70px #0000004d}.fb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:linear-gradient(135deg,#f2ecff,#ffeef2);border-bottom:1px solid #eee3f8}.fb-title{font-weight:900;font-size:17px}.fb-sub{display:block;font-size:12px;color:var(--ink-soft);margin-top:3px;font-weight:400}.fb-tabs{display:flex;gap:6px;padding:10px 20px 0;background:#fffdf9;border-bottom:1px solid #f0e8fa}.fb-tabs button{padding:9px 16px;border-radius:12px 12px 0 0;background:transparent;font-weight:700;color:var(--ink-soft)}.fb-tabs button.active{background:#f5f1ff;color:#5a3fc0;box-shadow:inset 0 -3px 0 var(--violet)}.fb-body{flex:1;overflow-y:auto;padding:16px 20px 22px}.fb-tab{display:flex;flex-direction:column;gap:12px}.fb-tab-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fb-tab-title{font-weight:800}.grade-list{display:flex;flex-direction:column;gap:12px}.grade-row{border:1px solid #efe5fa;background:#fff;border-radius:16px;padding:12px 14px}.grade-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.grade-student{font-weight:800}.grade-task{font-size:12px;color:var(--ink-soft)}.grade-state{margin-left:auto;font-size:12px;padding:3px 10px;border-radius:999px;background:#fff1e1;color:#c97b1b;font-weight:700}.grade-state.done{background:#e5f9ee;color:#14925b}.grade-body{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.grade-thumb{width:120px;height:88px;border-radius:12px;overflow:hidden;display:block}.grade-thumb img{width:100%;height:100%;object-fit:cover}.grade-review{flex:1;min-width:260px;display:flex;flex-direction:column;gap:8px}.grade-input{width:100%;border:1px solid #e3d6f0;border-radius:12px;padding:9px 12px;font-family:inherit;font-size:13px;resize:vertical}.btn-primary-sc{background:linear-gradient(90deg,var(--brand),#ff5ea8);color:#fff;border-radius:12px;padding:10px 18px;font-weight:700;align-self:flex-start}.btn-primary-sc:disabled{opacity:.55;cursor:not-allowed}.up-btn{display:inline-block;margin-top:10px}.up-btn.disabled{opacity:.55}.care-publish-msg{background:#eafaf1;color:#14925b;border-radius:10px;padding:8px 12px;font-size:13px}.teacher-empty.small{font-size:12px;padding:10px 0}@media (max-width: 768px){.role-options{flex-wrap:wrap}.role-option{flex:1 1 100%}}@media (max-width: 760px){.role-options,.teacher-boot-btns{grid-template-columns:1fr}.shome-vol-name{font-size:17px}.shome-cta{font-size:19px;letter-spacing:2px;padding:20px 10px}.shome-cta-emoji{font-size:26px}}.tvadmin{height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:12px 16px 14px;max-width:1280px;margin:0 auto;box-sizing:border-box}.tvadmin-top{display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,#fff,#f6f1ff);border:1px solid #ede4fb;border-radius:18px;padding:12px 16px;flex:none}.tvadmin-identity{display:flex;align-items:center;gap:10px;min-width:0}.tvadmin-identity h1{font-size:19px;font-weight:900;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tvadmin-badge{flex:none;background:linear-gradient(135deg,#7c5cff,#5e7cff);color:#fff;font-size:13px;font-weight:900;padding:6px 12px;border-radius:999px;box-shadow:0 6px 14px #7c5cff47}.tvadmin-controls{flex:none;display:flex;flex-direction:column;align-items:stretch;gap:6px;background:#fff;border:1px solid #efe8fb;border-radius:16px;padding:10px 12px 12px;box-shadow:var(--shadow)}.tvc-row{display:flex;align-items:flex-end;gap:6px 10px;flex-wrap:wrap}.tvc-row.tvc-filters .tvc{min-width:128px;flex:1 1 128px;max-width:240px}.tvc-row.tvc-actions{align-items:center;padding-top:8px;border-top:1px dashed #f0e8fa}.tvc-row.tvc-actions .tvc-vcall,.tvc-row.tvc-actions .tvc-ov,.tvc-row.tvc-actions .tvc-refresh{margin-left:0}.tvc-row.tvc-actions .tvc-seg-btn{padding:6px 14px}.tvc{display:flex;flex-direction:column;gap:4px;min-width:150px}.tvc-label{font-size:12px;font-weight:800;color:var(--ink-soft)}.tvc-sel{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;border:1px solid #e6dcf5;border-radius:10px;background:#faf8ff;padding:7px 10px;font-size:14px;font-weight:600;color:var(--ink);min-height:36px;cursor:pointer}.tvc-mode{flex-direction:row;align-items:center;gap:8px}.tvc-seg{display:inline-flex;background:#efe9fb;border-radius:999px;padding:3px}.tvc-seg-btn{border:0;background:transparent;padding:6px 18px;border-radius:999px;font-size:14px;font-weight:800;color:var(--ink-soft);cursor:pointer;transition:all .15s ease}.tvc-seg-btn.active{background:#fff;color:var(--violet);box-shadow:0 3px 8px #7c5cff2e}.tvc-refresh{border:1px solid #e2d8f0;background:#faf8ff;border-radius:999px;padding:8px 16px;font-weight:800;font-size:13px;color:var(--violet);cursor:pointer}.tvc-vcall{margin-left:auto;border:0;cursor:pointer;background:linear-gradient(135deg,#ff7a59,#f55e3c);color:#fff;font-size:13px;font-weight:900;padding:8px 16px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 14px #ff6e5052;transition:transform .12s ease,filter .12s ease}.tvc-vcall:hover{transform:translateY(-1px);filter:brightness(1.05)}.tvc-vcall.active{filter:brightness(1.12);box-shadow:0 8px 18px #ff6e5066}.tvc-refresh:hover{background:#f3ecff}.tvc-err{flex-basis:100%}.tvadmin-record{flex:none;display:flex;flex-direction:column;gap:8px;min-height:0}.tvadmin-split{display:flex;align-items:stretch;gap:14px;margin-top:6px;min-height:0;flex:1 1 auto}.tvadmin-split-left{flex:0 0 45%;width:45%;min-width:0;display:flex;flex-direction:column;background:#fffdf6;border:1px solid #efe4d0;border-radius:18px;overflow:hidden;min-height:480px}.tvadmin-split-left>.reader-panel{flex:1;min-height:0;border-radius:0 0 18px 18px}.tvadmin-left-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:13px;font-weight:800;color:#5c4878;background:#f6efe1;border-bottom:1px solid #eadcc6}.tvadmin-left-meta{font-size:11px;color:#9a86a8;font-weight:600}.tvadmin-left-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#9a86a8;font-size:14px;padding:24px;text-align:center}.tvadmin-split-right{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden;position:relative}.tvadmin-right-tabs{flex:none;display:flex;align-items:stretch;gap:4px;padding:0 2px;background:#fbf9ff;border-bottom:1px solid #ece4fa}.tvadmin-right-tab{flex:1 1 auto;border:0;background:transparent;border-bottom:2px solid transparent;color:#7a6a99;font-size:13.5px;font-weight:800;padding:7px 12px 8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:color .15s ease,border-color .15s ease,background .15s ease}.tvadmin-right-tab:hover{color:#4b3a78;background:#f4eefd}.tvadmin-right-tab.active{color:#6d4fc0;border-bottom-color:#6d4fc0;background:#fff}.tvadmin-right-tab-badge{min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:#ff5d8f;color:#fff;font-size:10.5px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;line-height:1}.tvadmin-right-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.tvadmin-right-body>.tvadmin-record{flex:none}.tvadmin-right-body>.tvadmin-care.embedded{flex:1 1 auto;border:0;box-shadow:none;overflow:visible}.tvadmin-right-body>.tvadmin-care.embedded .tvadmin-care-collapse{grid-template-rows:1fr;flex:1 1 auto}.tvadmin-right-body>.tvadmin-care.embedded .tvadmin-care-inner{overflow:visible}.tvadmin-right-body>.tvadmin-care.embedded .tvadmin-care-pad{opacity:1;transform:none}.tvadmin-care-subhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:2px 0 4px}.tvadmin-care-collapse{min-height:0;flex:1 1 auto}.tvadmin-care.open .tvadmin-care-inner{overflow-y:auto;overflow-x:hidden;min-height:0}.tvadmin-split{transition:gap .3s ease}.tvadmin-split-left,.tvadmin-split-right{transition:flex-basis .3s ease,width .3s ease,flex .3s ease}.tvadmin-rail{flex:0 0 46px;width:46px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:12px 0;background:linear-gradient(180deg,#fffdf6,#f6efe1);border:1px solid #efe4d0;border-radius:16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.tvadmin-rail:hover{background:#fdf3e4}.tvadmin-rail.rail-right{background:linear-gradient(180deg,#f4efff,#ece3fb);border-color:#e3d8f4}.tvadmin-rail.rail-right:hover{background:#f0e7fd}.tvadmin-rail-vert{writing-mode:vertical-rl;font-size:13px;font-weight:800;color:#6d4fc0;letter-spacing:2px}.tvadmin-rail-open{border:none;background:#6d4fc01a;color:#6d4fc0;border-radius:999px;font-size:11px;padding:3px 8px;cursor:pointer}.tvadmin-collapse-btn{flex:none;margin-left:auto;border:1px solid #d8c9ef;background:#f6f1ff;color:#6d4fc0;border-radius:999px;font-size:11.5px;padding:3px 10px;cursor:pointer;transition:background .2s ease}.tvadmin-collapse-btn:hover:not(:disabled){background:#eadffb}.tvadmin-collapse-btn:disabled{opacity:.4;cursor:not-allowed}.tvadmin-collapse-btn.right{flex:none;margin-left:auto;align-self:center}.tvadmin-left-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tvadmin-split.p-left .tvadmin-split-left,.tvadmin-split.p-right .tvadmin-split-right{display:none}.tvadmin-split.p-left .tvadmin-split-right,.tvadmin-split.p-right .tvadmin-split-left{flex:1 1 auto;width:auto}.tvadmin-record-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tvadmin-record-head h2{font-size:17px;font-weight:900;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tvadmin-record-stu{color:var(--violet)}.tvadmin-record-lesson{font-size:13px;font-weight:800;color:#4d3a68;background:#fff0f4;border-radius:999px;padding:3px 10px}.tvadmin-record-aside{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tvadmin-agg{font-size:12.5px;color:var(--ink-soft);background:#fff;border:1px solid #f0e8fa;border-radius:999px;padding:5px 12px}.tvadmin-subj-filter{font-size:12.5px;font-weight:700;color:#4a5fd6;background:#eef2ff;border:1px solid #d4ddff;border-radius:999px;padding:5px 12px;white-space:nowrap}.tvadmin-subj-note{margin-top:8px;font-size:12.5px;color:#8b93ad}.tvadmin-learn-body,.tvadmin-read-body,.tvr-sessions{display:flex;flex-direction:column;gap:10px}.tvr-session{background:#fff;border:1px solid #efe8fb;border-radius:16px;box-shadow:0 6px 18px #7c5cff12;overflow:hidden}.tvr-sess-head{width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 14px;border:0;background:linear-gradient(180deg,#fdfcff,#f9f6ff);cursor:pointer;text-align:left;font-size:14px}.tvr-sess-head:hover{background:#f6f1ff}.tvr-sess-time{font-weight:800;color:var(--ink-soft);font-size:13px}.tvr-sess-student{font-weight:900;color:#4d3a68;background:#fff0f4;border-radius:999px;padding:2px 10px;font-size:12.5px}.tvr-sess-mastery{font-weight:900;color:#4d3a68}.tvr-sess-coins{font-weight:700}.tvr-sess-retry{font-size:12px;color:#c0392b;background:#fdecec;border-radius:999px;padding:2px 10px}.tvr-sess-open{margin-left:auto;font-weight:800;color:var(--violet);font-size:13px}.tvr-sess-body{border-top:1px dashed #e6dcf5;padding:10px 14px 14px;background:#fffdfd}.tvr-sess-body .teacher-detail{max-height:640px;overflow-y:auto}.tvr-books{display:flex;flex-direction:column;gap:10px}.tvr-book{background:#fff;border:1px solid #efe8fb;border-radius:16px;box-shadow:0 6px 18px #7c5cff12;overflow:hidden}.tvr-book-head{width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 14px;border:0;background:linear-gradient(180deg,#fefcff,#f6f3ff);cursor:pointer;text-align:left}.tvr-book-head:hover{background:#f6f1ff}.tvr-book-title{font-weight:900;font-size:15px;color:#4d3a68}.tvr-book-stu{font-style:normal;font-weight:700;color:var(--ink-soft);margin-left:6px;font-size:13px}.tvr-book-prog,.tvr-book-coins,.tvr-book-badges{font-size:13px;font-weight:700}.tvr-book-badges i{font-style:normal;font-size:11px;color:var(--ink-soft);margin-left:2px}.tvr-book-body{border-top:1px dashed #e6dcf5;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.tv-block{background:#fdfbff;border:1px solid #f0e8fa;border-radius:14px;padding:12px 14px}.tv-block-title{font-weight:900;font-size:15px;margin-bottom:8px}.tvadmin-care{flex:none;background:#fff;border:1px solid #f6dbe9;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px #ff78aa14}.tvadmin-care-head{width:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:0;background:linear-gradient(180deg,#fff7fb,#fff0f6);cursor:pointer;padding:14px 16px;text-align:left;transition:background .2s ease}.tvadmin-care-head:hover{background:linear-gradient(180deg,#ffeef6,#ffe3ee)}.tvadmin-care-title{font-size:17px;font-weight:900;color:#a61b5e}.tvadmin-care-badge{flex:none;font-size:12px;font-weight:800;color:#8a5aa0;background:#f1e8fb;border:1px solid #e0d2f2;border-radius:999px;padding:3px 11px;white-space:nowrap}.tvadmin-care-badge.hot{color:#b10f4e;background:#ffe3ee;border-color:#ffb9d4}.tvadmin-care-sub{font-size:12px;color:#c2568a}.tvadmin-care-caret{margin-left:auto;flex:none;font-size:12px;font-weight:800;color:#a61b5e;background:#fff;border:1px solid #f3cfdf;border-radius:999px;padding:5px 13px;box-shadow:0 2px 6px #ff78aa26;transition:background .2s ease,color .2s ease}.tvadmin-care-caret.open{background:#a61b5e;color:#fff;border-color:#a61b5e}.tvadmin-care-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.tvadmin-care-collapse.open{grid-template-rows:1fr}.tvadmin-care-inner{overflow:hidden;min-height:0}.tvadmin-care-pad{padding:2px 16px 16px;opacity:0;transform:translateY(-4px);transition:opacity .28s ease,transform .28s ease}.tvadmin-care.open .tvadmin-care-pad{opacity:1;transform:translateY(0)}.tvadmin-care-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.care-attach{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.care-attach-btn{border:1px dashed #e0b8cc;color:#a04273;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;background:#fff7fb}.care-attach-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#a04273;font-weight:700}.care-publish-btn{align-self:end}.tvadmin-care-lists{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.care-task-mini-list{display:flex;flex-direction:column;gap:6px}.care-task-mini{border:1px solid #f4e3ea;border-radius:10px;padding:8px 10px;background:#fffdfd}.care-task-mini-t{font-weight:800;font-size:13px;color:#7a2745}.care-task-mini-c{font-size:12px;color:var(--ink-soft);margin-top:2px}.care-task-mini-m{font-size:11px;color:#b78b9e;margin-top:3px}.care-link{color:#c2185b;font-weight:800;text-decoration:underline}.sc-chat{display:flex;flex-direction:column;gap:8px;padding:4px 0}.sc-row{display:flex;align-items:flex-start;gap:8px}.sc-avatar{flex:none;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ffb26b,#ff7a59);color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #ff7a594d}.sc-bubble{flex:1;min-width:0;background:#fff;border:1px solid #f3e7db;border-radius:4px 14px 14px;padding:8px 12px}.sc-row.sc-me{flex-direction:row-reverse}.sc-row.sc-me .sc-bubble{background:#eef7f0;border-color:#d5ecd9;border-radius:14px 4px 14px 14px}.sc-row.sc-me .sc-avatar{background:linear-gradient(135deg,#5ecb7a,#3aa75b)}.sc-bubble-title{font-weight:900;font-size:13.5px;color:#6b4a2a;margin-bottom:3px}.sc-bubble-sub{font-size:13px;color:var(--ink-soft)}.sc-bubble-goal{font-size:12.5px;color:#b3722a;margin-top:3px}.sc-bubble-text{font-size:14px;line-height:1.8;color:var(--ink);white-space:pre-wrap}.sc-task{background:#fff9ec;border-color:#f0e0c8}.sc-card{background:#f4efff;border-color:#e4d9f5}.sc-row.sc-sys{justify-content:center}.sc-sys-badge{flex:none;font-size:13px}.sc-sys-text{font-size:13px;color:var(--ink-soft);background:#faf7ef;border-radius:999px;padding:4px 12px}.sr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;background:#2a164080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}.sr-card{width:min(820px,100%);max-height:88vh;background:#fff;border-radius:20px;box-shadow:0 24px 70px #28143c66;display:flex;flex-direction:column;overflow:hidden}.sr-head{flex:none;display:flex;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(120deg,#fff,#f6f1ff);border-bottom:1px solid #ece3f7}.sr-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sr-title b{font-size:17px;color:var(--ink)}.sr-sub{font-size:12px;color:var(--ink-soft)}.sr-head-actions{display:flex;align-items:center;gap:6px}.sr-x{border:0;background:#f2edf8;color:#6b5a88;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:14px}.sr-loading,.sr-empty{padding:40px 20px;text-align:center;color:var(--ink-soft)}.sr-empty p{font-weight:800;font-size:16px;color:var(--ink)}.sr-empty span{font-size:13px}.sr-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain}.sr-group{flex:0 0 auto;border:1px solid #efe8fb;border-radius:16px;background:#fdfbff;overflow:hidden}.sr-group-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#f7f2ff;border-bottom:1px dashed #e5daf5}.sr-group-info{flex:1;min-width:0}.sr-group-title{font-weight:900;color:#4d3a68}.sr-group-meta{font-size:12px;color:var(--ink-soft);margin-top:2px}.sr-group-actions{display:flex;gap:8px;align-items:center}.sr-learn{font-size:13px;padding:7px 14px}.sr-clear{border:1px solid #f2cdcd;background:#fff;color:#c0392b;font-size:12.5px;font-weight:800;border-radius:999px;padding:7px 13px;cursor:pointer;transition:background .15s ease}.sr-clear:hover{background:#fdecec}.sr-clear:disabled{opacity:.5;cursor:wait}.sr-sessions{padding:6px 12px 10px;display:flex;flex-direction:column;gap:6px}.sr-session{border:1px solid #efe8fb;border-radius:12px;background:#fff}.sr-session-main{width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 12px;border:0;background:transparent;cursor:pointer;text-align:left}.sr-session-main:hover{background:#faf7ff}.sr-session-time{font-size:13px;font-weight:800;color:var(--ink-soft)}.sr-session-mastery{font-weight:900;color:#4d3a68}.sr-session-coins{font-weight:700;font-size:13px}.sr-retry{font-size:11.5px;color:#c0392b;background:#fdecec;border-radius:999px;padding:2px 10px}.sr-open{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--violet)}.sr-session-detail{border-top:1px dashed #e5daf5;padding:10px 12px 12px;background:#fffdfd}.sr-session-detail .teacher-detail{max-height:520px;overflow-y:auto}.sr-msg{flex:none;margin:0 18px 12px;font-size:13px;color:#14804c;background:#eafaf1;border-radius:10px;padding:8px 12px;text-align:center}.error-text.sr-msg{color:#c0392b;background:#fdecec}@media (max-width: 980px){.tvadmin-care-form,.tvadmin-care-lists{grid-template-columns:1fr}}@media (max-width: 680px){.tvadmin{height:auto;max-height:none;overflow-y:visible}.tvadmin-controls{flex-direction:column;align-items:stretch}.tvc-refresh,.tvc-vcall,.tvadmin-agg,.tvadmin-record-aside{margin-left:0}.tvadmin-split{flex-direction:column}.tvadmin-split-left{flex:none;width:100%;min-height:320px;max-height:52vh}}.vtutor-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#2a164080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px}.vtutor-card{width:min(400px,100%);background:#fff;border-radius:20px;box-shadow:0 24px 70px #28143c66;padding:22px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;animation:pop .25s ease}.vtutor-wide{width:min(520px,100%);text-align:left;align-items:stretch}.vtutor-ring{font-size:54px;line-height:1;animation:vtutorPulse 1.2s ease-in-out infinite}@keyframes vtutorPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.vtutor-title{font-size:17px;font-weight:900;color:#3c2b55}.vtutor-sub{font-size:13px;color:var(--ink-soft);line-height:1.6}.vtutor-actions{display:flex;gap:12px;margin-top:4px}.vtutor-ok{border:0;cursor:pointer;background:linear-gradient(135deg,#2ec47a,#12a068);color:#fff;font-weight:800;font-size:15px;padding:10px 26px;border-radius:999px;box-shadow:0 6px 16px #2fbf714d}.vtutor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.vtutor-x{border:0;background:#f2edf8;color:#6b5a88;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:14px}.vtutor-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft);padding:6px 12px;background:#faf8ff;border-radius:999px}.vtutor-status .dot{width:9px;height:9px;border-radius:50%;background:#c6c2ce;flex:none}.vtutor-status .dot.on{background:#2ec47a;box-shadow:0 0 0 4px #2ec47a2e}.vtutor-list{margin-top:8px}.vtutor-list-title{font-size:13px;font-weight:900;color:#3c2b55;margin-bottom:6px}.vtutor-empty{font-size:13px;color:var(--ink-soft);background:#faf7f0;border:1px dashed #e6dcc8;border-radius:12px;padding:12px;line-height:1.7}.vtutor-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #efe8fb;border-radius:12px;margin-bottom:6px;background:#fdfbff}.vtutor-row.sel{border-color:#c9b6f5;background:#f6f1ff}.vtutor-name{font-weight:800;color:#4d3a68}.vtutor-tag{font-size:11px;color:var(--violet);background:#ede4ff;border-radius:999px;padding:2px 8px;font-weight:800}.vtutor-call{margin-left:auto;border:0;cursor:pointer;background:linear-gradient(135deg,#ff7a59,#f55e3c);color:#fff;font-weight:800;font-size:13px;padding:6px 14px;border-radius:999px}.vtutor-call:disabled{opacity:.5;cursor:not-allowed}.vtutor-note{margin-top:6px;font-size:13px;color:#b05a2a;background:#fff4e8;border-radius:10px;padding:8px 12px}.vtutor-hint{margin-top:4px;font-size:11.5px;color:#b0a6c0}.vt-join-btn{border:0;cursor:pointer;background:linear-gradient(135deg,#ffb347,#ff7a3c);color:#fff;font-size:13px;font-weight:900;padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 12px #ff8c464d;transition:transform .12s ease,filter .12s ease}.vt-join-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.lb-card{width:min(560px,100%);max-height:86vh;background:#fff;border-radius:20px;box-shadow:0 24px 70px #28143c66;display:flex;flex-direction:column;overflow:hidden}.lb-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;background:linear-gradient(120deg,#fff,#fff3ef);border-bottom:1px solid #f3e2da}.lb-title{font-size:17px;color:#3c2b55}.lb-sub{font-size:12px;color:var(--ink-soft);display:block;margin-top:2px}.lb-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}.lb-row{flex:0 0 auto;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #f0e8fb;border-radius:14px;padding:10px 12px}.lb-row.self{border:1px solid #f7c5b2;background:linear-gradient(90deg,#fff7f2,#fffdfc)}.lb-avatar-img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}.lb-avatar-txt{flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#ffb26b,#ff7a59);color:#fff;font-weight:900}.lb-who{min-width:0;flex:1;display:flex;flex-direction:column}.lb-name{font-weight:900;color:#3c2b55;display:flex;align-items:center;gap:6px}.lb-me{font-size:11px;font-weight:800;color:#fff;background:#ff7a59;border-radius:999px;padding:1px 8px}.lb-rank{font-size:12.5px;font-weight:700}.lb-stats{display:flex;gap:8px;flex-wrap:wrap}.lb-stat{font-size:12.5px;font-weight:800;color:#5c4878;background:#faf8ff;border-radius:999px;padding:3px 8px;white-space:nowrap}.lb-enc{flex:none;border:0;cursor:pointer;background:linear-gradient(135deg,#ffd86b,#ffb347);color:#7a4a0a;font-weight:800;font-size:13px;padding:7px 12px;border-radius:999px;white-space:nowrap;transition:transform .12s ease}.lb-enc:hover{transform:translateY(-1px)}.lb-enc.done{background:#e6e6ec;color:#8a8a95;cursor:default}.lb-enc:disabled{opacity:.6;cursor:wait}.lb-empty{text-align:center;color:var(--ink-soft);padding:20px 10px;font-size:13px;line-height:1.7}.lb-empty p{font-weight:800;color:#5c4878;font-size:15px;margin-bottom:4px}.lb-foot{flex:none;text-align:center;font-size:11.5px;color:#b0a6c0;border-top:1px solid #f3eef7;padding:8px}.praise-bell{position:relative;border:0;cursor:pointer;background:#fff;border:1px solid #f0e8fb;border-radius:999px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:#5c4878;transition:background .15s ease}.praise-bell:hover{background:#faf7ff}.praise-bell-ico{font-size:17px;line-height:1}.praise-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:#ff4d4f;border:2px solid #fff}.praise-num{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;border-radius:999px;background:#ff4d4f;color:#fff;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0 4px;border:1px solid #fff}.lb-entry{border:0;cursor:pointer;background:linear-gradient(135deg,#36c5f0,#5a9bff);color:#fff;font-size:13px;font-weight:900;padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 12px #5a9bff4d;transition:transform .12s ease,filter .12s ease}.lb-entry:hover{transform:translateY(-1px);filter:brightness(1.05)}.history-entry{border:0;cursor:pointer;background:linear-gradient(135deg,#43b97f,#12a068);color:#fff;font-size:13px;font-weight:900;padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 12px #2fbf714d;transition:transform .12s ease,filter .12s ease}.history-entry:hover{transform:translateY(-1px);filter:brightness(1.05)}.history-entry.clean-toggle{background:linear-gradient(135deg,#9aa9b8,#7d8b99);box-shadow:0 4px 12px #7d8b9947}.history-entry.clean-toggle.on{background:linear-gradient(135deg,#22d3ee,#0ea5b7);box-shadow:0 4px 12px #0ea5b757}.praise-card{width:min(460px,100%);max-height:76vh;background:#fff;border-radius:20px;box-shadow:0 24px 70px #28143c66;display:flex;flex-direction:column;overflow:hidden}.praise-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}.praise-item{display:flex;align-items:center;gap:10px;background:#fffdf5;border:1px solid #f3e7d2;border-radius:12px;padding:8px 12px}.praise-ava{flex:none;width:34px;height:34px;border-radius:50%;object-fit:cover}.praise-ava.txt{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffd86b,#ffb347);color:#7a4a0a;font-weight:900}.praise-txt{flex:1;font-size:13.5px;color:#3c2b55}.praise-txt b{margin-right:4px}.praise-time{font-size:11.5px;color:#b0a6c0;flex:none}.set-card{width:min(520px,92vw)}.set-row{display:flex;align-items:center;gap:14px;padding:14px 0}.set-info{flex:1}.set-label{font-weight:900;color:#3c2b55;font-size:15px}.set-hint{font-size:12.5px;color:var(--ink-soft);line-height:1.7;margin-top:4px}.switch{flex:none;width:52px;height:30px;border-radius:999px;border:0;background:#d6d3e0;position:relative;cursor:pointer;transition:background .2s ease}.switch.on{background:#2ec47a}.switch-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000040;transition:left .2s ease}.switch.on .switch-knob{left:25px}.set-msg{font-size:13px;color:#14804c;background:#eafaf1;border-radius:10px;padding:8px 12px;margin-top:4px}.set-tip{margin-top:12px;font-size:12px;color:#b0a6c0;border-top:1px dashed #e8e0f0;padding-top:10px}.tvc-ov{margin-left:auto;border:1px solid #e2d8f0;background:#faf8ff;border-radius:999px;padding:8px 16px;font-weight:800;font-size:13px;color:var(--violet);cursor:pointer}.tvc-ov:hover,.tvc-ov.active{background:#f3ecff}.tvc-ov.tvc-guide{margin-left:0;background:linear-gradient(135deg,#f3ecff,#eef6ff);border-color:#ddd0f4}.tvc-ov.tvc-auth{margin-left:0;background:linear-gradient(135deg,#fff6e8,#ffeef0);border-color:#f3dfc4}.auth-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c2473;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:560}.auth-card{width:min(880px,96vw);height:min(94vh,1000px);min-height:420px;background:#fff;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #23124047}.auth-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-bottom:1px solid #f0e9fa}.auth-head b{font-size:15px;color:#4d3a68}.auth-sub{display:block;font-size:11.5px;color:#8b7aa5;margin-top:2px}.auth-x{flex:none;border:0;background:#f4effa;border-radius:50%;width:30px;height:30px;cursor:pointer;color:#6b5688}.auth-top{flex:1 1 auto;min-height:0;max-height:47vh;overflow-y:auto}.auth-guide{background:#fdf9ff;border-bottom:1px dashed #eadcf7;padding:6px 18px;font-size:11.5px;color:#6d5a89;line-height:1.7}.auth-guide-line:before{content:"🔑 "}.auth-create{padding:10px 18px 8px;border-bottom:1px solid #f0e9fa}.auth-create-title{font-weight:800;color:#5c4878;font-size:13.5px;margin-bottom:6px}.auth-form{display:flex;gap:8px;flex-wrap:wrap}.auth-form .name-input{width:170px}.auth-sel{padding:7px 10px;border:1px solid #e3d8f1;border-radius:10px;background:#fff;color:#3d3152;font-weight:600}.auth-vol-row{display:flex;align-items:flex-start;gap:8px;margin:8px 0;flex-wrap:wrap}.auth-vol-label{font-size:12px;color:#7a6598;font-weight:700;line-height:26px}.auth-vols{display:flex;gap:6px;flex-wrap:wrap}.auth-subj-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.auth-subj-block{border:1px solid #eee3fa;background:#fcfaff;border-radius:12px;padding:6px 10px 8px}.auth-subj-head{font-size:12px;font-weight:800;color:#6d4fc0;margin-bottom:5px}.auth-row-subj{display:flex;align-items:flex-start;gap:8px;border-top:1px dashed #eee3fa;padding:5px 2px}.auth-row-subj-name{flex:0 0 84px;font-size:11.5px;font-weight:800;color:#6d4fc0;line-height:24px;white-space:nowrap}.auth-row-subj-vols{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.auth-vol-cell{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.auth-exp-tag{font-size:10.5px;color:#9a7b4f;background:#fff6e3;border:1px solid #f0d9ae;border-radius:999px;padding:1px 7px}.auth-exp-tag.expired{color:#c0392b;background:#fdecea;border-color:#f0b4ab}.auth-renew{font-size:11px;border:1px solid #b9a7e8;background:#f4efff;color:#6d4fc0;border-radius:8px;padding:2px 7px;cursor:pointer}.auth-renew:hover{background:#e9dffb}.auth-vol-per .auth-vols{flex-direction:column;align-items:stretch}.auth-vol-exp{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid #ece1f8;border-radius:10px;padding:4px 8px;background:#fdfcff}.auth-vol-exp-name{min-width:120px;font-size:12px;font-weight:700;color:#5c4878}.auth-vol-hint{font-size:11px;color:#9b8bb4;margin-top:4px;line-height:1.5}.auth-bridge-btn{font-size:12px;border:1px solid #f0a8c8;background:linear-gradient(135deg,#fff0f6,#ffe3ef);color:#c2186b;border-radius:9px;padding:4px 10px;cursor:pointer;font-weight:700}.auth-bridge-btn:hover{background:linear-gradient(135deg,#ffe0ee,#ffd0e5)}.auth-bridge-btn.parent{border-color:#a8cdf0;background:linear-gradient(135deg,#eff7ff,#e0efff);color:#1a5fa8}.auth-bridge-btn.parent:hover{background:linear-gradient(135deg,#e0efff,#cfe4fb)}.auth-bridge-warn{font-size:11px;font-weight:800;color:#a3512f;background:#fdece2;border-radius:999px;padding:1px 8px;white-space:nowrap}.auth-bridge-summary{margin-top:6px;font-size:12px;color:#b0688a;background:#fff6fa;border:1px dashed #f3c8dc;border-radius:8px;padding:5px 10px}.auth-bridge-card{width:min(640px,94vw)}.auth-bridge-tip{font-size:12.5px;color:#8a5aa0;background:#f7f1ff;border:1px solid #e6d7f5;border-radius:10px;padding:8px 12px;line-height:1.6;margin:8px 0}.auth-bridge-list{display:flex;flex-wrap:wrap;gap:8px;max-height:46vh;overflow:auto;padding:8px 2px}.auth-bridge-chip{font-size:13px;padding:7px 12px}.auth-bridge-chip .auth-phone{color:#9a86b8;font-size:11.5px}.auth-bridge-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.auth-bridge-actions .auth-save{width:auto;padding:8px 22px}.auth-vol-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #e3d8f1;background:#faf8ff;border-radius:999px;padding:3px 9px;font-size:11.5px;color:#5c4878;cursor:pointer}.auth-vol-chip input{accent-color:#7c5cff}.auth-save{border:0;cursor:pointer;background:linear-gradient(135deg,#43b97f,#12a068);color:#fff;font-weight:900;font-size:14px;padding:9px 22px;border-radius:999px;box-shadow:0 4px 12px #2fbf714d}.auth-save:disabled{opacity:.6;cursor:not-allowed}.auth-notice{padding:8px 18px;font-size:12.5px;color:#0f7a4e;background:#f2fbf6}.auth-list-head{flex:none;display:flex;align-items:center;gap:10px;padding:8px 18px 6px}.auth-list-head b{color:#4d3a68}.auth-search{max-width:240px;margin-left:auto;height:32px}.auth-list{flex:1 1 auto;min-height:0;max-height:47vh;overflow-y:auto;padding:4px 18px 16px}.auth-empty{color:#a394bd;font-size:13px;padding:18px 4px}.auth-row{border:1px solid #ece3f6;border-radius:12px;margin-bottom:8px;padding:10px 12px;background:#fcfaff}.auth-row-main{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.auth-row-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.auth-role{font-size:11px;font-weight:900;padding:2px 9px;border-radius:999px}.auth-role.student{background:#eaf9f0;color:#0f7a4e}.auth-role.teacher{background:#fdeeea;color:#b0523e}.auth-row-title b{color:#3d3152;font-size:14px}.auth-phone{color:#9a8fb0;font-size:12px}.auth-row-meta{display:flex;gap:12px;font-size:12px;color:#7a6598;flex-wrap:wrap}.auth-time{font-weight:700;color:#0f7a4e}.auth-row-vols{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 2px}.auth-mini{border:1px solid #e6dcf4;background:#fff;border-radius:999px;padding:3px 9px;font-size:11.5px;color:#8a77a5;cursor:pointer}.auth-mini.on{background:#eaf9f0;border-color:#bfe7d2;color:#0f7a4e;font-weight:700}.auth-del{border:0;cursor:pointer;background:#fff0ee;color:#c0392b;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px}.auth-exp-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.auth-dt{padding:6px 10px;border:1px solid #e3d8f1;border-radius:10px;font-size:13px;color:#3d3152}.auth-quick{border:1px solid #e3d8f1;background:#faf8ff;border-radius:999px;padding:4px 12px;font-size:12px;color:#5c4878;cursor:pointer;font-weight:700}.auth-quick.ghost{color:#a394bd}.auth-exp{font-size:11.5px;font-weight:800;padding:2px 9px;border-radius:999px}.auth-exp.forever{background:#eaf9f0;color:#0f7a4e}.auth-exp.limit{background:#fdf4e0;color:#a9770a}.auth-row.editing{outline:2px solid #c7b3ee}.auth-row-ops{display:flex;gap:8px;margin-top:4px;justify-content:flex-end}.auth-edit{border:0;cursor:pointer;background:#eef4ff;color:#2f6fd6;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px}.auth-mini:disabled{opacity:.5;cursor:not-allowed}.tvadmin-ov-guide{border:0;cursor:pointer;background:#f3ecff;color:#7c4dfc;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;margin-left:4px}.tvadmin-ov-guide:hover{background:#e5d8fb}.tguide-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c2473;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:500}.tguide-card{width:min(720px,95vw);max-height:86vh;background:#fff;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #23124040}.tguide-head{padding:14px 18px 6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid #f0e9fa}.tguide-head b{font-size:15px;color:#4d3a68}.tguide-sub{font-size:12px;color:#8b7aa5;flex:1}.tguide-x{border:0;background:#f4effa;border-radius:50%;width:28px;height:28px;cursor:pointer;color:#6b5688}.tguide-stu-select{padding:10px 18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tguide-stu-select .name-input{max-width:220px}.tguide-stu-chips{display:flex;gap:6px;flex-wrap:wrap;max-height:84px;overflow-y:auto}.tguide-chip{border:1px solid #e5dbf3;background:#faf8ff;color:#5c4878;font-size:12px;font-weight:700;border-radius:999px;padding:4px 11px;cursor:pointer}.tguide-chip.active{background:#7c5cff;border-color:#7c5cff;color:#fff}.tguide-empty{font-size:12px;color:#a394bd}.tguide-body{flex:1;overflow-y:auto;padding:6px 18px 18px}.tguide-summary{font-size:14px;font-weight:800;color:#7c4dfc;line-height:1.6;margin:6px 0 12px}.tguide-col{margin-top:12px}.tguide-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tguide-block-title{font-size:13px;font-weight:900;color:#4d3a68;margin-bottom:6px}.tguide-list{list-style:none;margin:0;padding:0}.tguide-list li{position:relative;font-size:13px;color:#3f3352;line-height:1.65;padding:5px 10px;background:#fbf9ff;border:1px solid #f0e9fa;border-radius:9px;margin-bottom:5px}.tguide-list.empower li{border-left:4px solid #e2c35a}.tguide-list.avoid li{border-left:4px solid #e59ba0}.tguide-hint2{margin-top:8px;font-size:12px;color:#a394bd}@media (max-width: 640px){.tguide-cols{grid-template-columns:1fr}}.tvadmin-ov{background:#fff;border:1px solid #efe8fb;border-radius:16px;padding:12px 14px;box-shadow:var(--shadow)}.tvadmin-ov-head{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:900;color:#4d3a68;margin-bottom:8px}.tvadmin-ov-table{display:flex;flex-direction:column}.tvadmin-ov-row{display:flex;align-items:center;gap:10px;padding:7px 6px;border-bottom:1px dashed #f0e8fa;font-size:13px}.tvadmin-ov-row:last-child{border-bottom:0}.tvadmin-ov-ava{flex:none;width:30px;height:30px;border-radius:50%;object-fit:cover}.tvadmin-ov-ava.txt{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffb26b,#ff7a59);color:#fff;font-weight:900;font-size:13px}.tvadmin-ov-name{min-width:100px;font-weight:900;color:#3c2b55}.tvadmin-ov-rank{flex:1;color:#6b5a88;font-weight:700}.tvadmin-ov-num{min-width:78px;text-align:right;font-weight:800;color:#5c4878}.shop-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#301c3c80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:18px}.shop{width:min(680px,100%);max-height:92vh;background:#fffdf8;border-radius:22px;box-shadow:0 26px 80px #28143c66;display:flex;flex-direction:column;overflow:hidden}.shop-head{flex:none;display:flex;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(120deg,#fff8e1,#ffe9ef);border-bottom:1px solid #f2e3ce}.shop-head-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.shop-emoji{font-size:22px}.shop-title{font-size:19px;font-weight:900;color:#4d3a24}.shop-coin{flex:none;background:linear-gradient(135deg,#ffd23d,#ff9d2e);color:#6b4700;border:0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px #ffaa2859}.shop-coin:hover{filter:brightness(1.05)}.shop-x{flex:none;width:28px;height:28px;border-radius:50%;border:0;background:#fffc;color:#8a6a45;font-size:15px;font-weight:900;cursor:pointer}.shop-body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 20px;display:flex;flex-direction:column;gap:10px}.shop-sec{background:#fff;border:1px solid #f0e2ce;border-radius:16px;overflow:hidden;flex:none}.shop-sec-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:#fffaf1;padding:11px 16px;text-align:left;cursor:pointer;transition:background .15s ease}.shop-sec-head:hover{background:#fff4e2}.shop-sec-title{font-size:15px;font-weight:900;color:#4d3a24}.shop-sec-caret{flex:none;font-size:11.5px;font-weight:800;color:#b08a4a;background:#fff;border:1px solid #eed9b4;border-radius:999px;padding:3px 11px}.shop-sec-caret.open{color:#fff;background:#f0a05a;border-color:#f0a05a}.shop-sec-body{padding:12px 14px 16px;border-top:1px dashed #f0e0c6;display:flex;flex-direction:column;gap:10px}.shop-balance{font-size:14px;color:#6b5a3a;display:flex;align-items:baseline;gap:10px;background:#fff8e8;border:1px solid #f4e3b6;border-radius:12px;padding:8px 12px}.shop-balance b{font-size:22px;color:#c46b00}.shop-balance-tip{font-size:12px;color:#b08a4a}.shop-cash-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.shop-cash-lab{flex:none;font-size:13px;font-weight:700;color:#5a4a30;width:132px}.shop-num{width:90px!important;flex:none!important}.shop-sm{flex:none;padding:6px 14px;font-size:13px}.shop-est{font-size:13px;color:#8a6a45}.shop-est b{color:#c46b00;font-size:15px}.shop-voucher-btn{align-self:flex-start;margin-top:2px}.shop-ok{color:#14804c;font-size:13.5px;font-weight:700;background:#e8f7ee;border-radius:10px;padding:8px 12px}.shop-voucher{background:#fdf6e3;border:1.5px dashed #e6b963;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.shop-voucher-title{font-size:13px;font-weight:900;color:#8a5a10}.shop-voucher-text{font-size:13px;line-height:1.7;color:#4d3a24;word-break:break-all;background:#fff;border-radius:10px;padding:9px 11px;border:1px solid #f0dfbe}.shop-copy{align-self:flex-start;color:#b0562a}.shop-voucher-note{font-size:11.5px;color:#a08a5a}.shop-rewards{display:flex;flex-direction:column;gap:8px}.shop-reward-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fbfaf4;border:1px solid #eee2cd;border-radius:12px}.shop-reward-row.custom{background:#f7f5ff;border-color:#e2d8f5}.shop-reward-info{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.shop-reward-info b{font-size:14px;color:#4d3a24}.shop-reward-info span{font-size:12.5px;color:#c46b00;font-weight:800}.shop-done-chip{flex:none;font-size:12px;font-weight:800;color:#14804c;background:#e2f5ea;border-radius:999px;padding:4px 11px}.shop-no-coin{flex:none;font-size:12px;font-weight:800;color:#b3a48c}.shop-del{flex:none;width:22px;height:22px;border:0;border-radius:50%;background:#ffe3e3;color:#c0392b;font-size:15px;line-height:1;cursor:pointer}.shop-del:disabled{opacity:.4}.shop-empty{color:#a08a6a;font-size:13.5px;padding:10px 2px}.shop-empty.small{font-size:12.5px}.shop-add{border-top:1px dashed #eee0c6;padding-top:12px;display:flex;flex-direction:column;gap:8px}.shop-add-title{font-size:13px;font-weight:800;color:#5a4a30}.shop-add-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.shop-add-row .tf-input{flex:1 1 150px;min-width:120px}.shop-add-row .shop-num{flex:none!important;width:110px!important}.shop-records{display:flex;flex-direction:column;gap:8px}.shop-record-row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #eee2cd;border-radius:12px;padding:9px 12px}.shop-record-main{flex:1;min-width:0}.shop-record-top{display:flex;align-items:center;gap:8px}.shop-rec-type{font-size:12px;font-weight:800;border-radius:999px;padding:2px 9px}.shop-rec-type.cash{background:#fff2dd;color:#b0562a}.shop-rec-type.reward{background:#eef1ff;color:#5a4fc0}.shop-rec-status{font-size:11px;font-weight:800;border-radius:999px;padding:2px 9px}.shop-rec-status.pending{background:#fff6d6;color:#b38600}.shop-rec-status.completed{background:#e2f5ea;color:#14804c}.shop-record-line{margin-top:6px;font-size:13.5px;color:#4d3a24}.shop-record-line b{color:#c46b00}.shop-record-code{margin-top:3px;font-size:12px;color:#8a6a45;font-family:ui-monospace,monospace}.shop-record-time{margin-top:3px;font-size:11px;color:#b09a76}.shop-confirm{flex:none;color:#0f7a5c;border-color:#bfe0ce}.shop-help{width:min(520px,100%);max-height:86vh;background:#fff;border-radius:20px;box-shadow:0 24px 70px #28143c66;display:flex;flex-direction:column;overflow:hidden}.shop-help-body{flex:1;min-height:0;overflow-y:auto;padding:8px 16px;display:flex;flex-direction:column}.shop-help-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px dashed #f0e6d8}.shop-help-row:last-child{border-bottom:none}.shop-help-ico{flex:none;font-size:20px;width:30px;text-align:center}.shop-help-txt{flex:1;display:flex;flex-direction:column;gap:2px}.shop-help-txt b{font-size:14px;color:#4d3a24}.shop-help-txt span{font-size:12.5px;color:#8a7a60;line-height:1.5}.shop-help-foot{flex:none;padding:12px 18px;background:linear-gradient(120deg,#fff8e1,#fff0e2);border-top:1px solid #f2e3ce;font-size:15px;color:#6b5a3a;text-align:right}.shop-help-foot b{font-size:22px;color:#c46b00}.shop-toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%);z-index:500;background:#2b241ce6;color:#fff;font-size:13.5px;font-weight:700;border-radius:999px;padding:9px 20px;box-shadow:0 10px 30px #0000004d;max-width:80vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shome-lock-msg{text-align:center;font-size:13px;font-weight:600;color:#b05330;background:#fff3ec;border:1px dashed #f0c9b4;border-radius:12px;padding:8px 12px;margin-top:10px}.shome-cta:disabled{opacity:.6;cursor:not-allowed}.lhub-vol.lock{opacity:.62;background:#f1efea;border-color:#ddd8ce;cursor:not-allowed;filter:grayscale(.9)}.lhub-vol.lock .lhub-vol-name{color:#8f887c}.auth-row-vols+.auth-row-vols{margin-top:4px}.auth-mini-book{font-size:12px!important}.help-card{width:min(680px,94vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.help-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px;border-bottom:1px dashed #f0e0c8}.help-title{margin:0;font-size:18px;color:#4d3a68}.help-sub{font-size:12px;color:var(--ink-soft);margin-top:3px}.help-head-btns{display:flex;align-items:center;gap:8px;flex:none}.help-speak{border:0;cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(90deg,#ff7a59,#ff5ea8);box-shadow:0 4px 12px #ff7a594d}.help-speak.on{background:linear-gradient(90deg,#5a6579,#3d4557)}.help-body{flex:1;min-height:0;overflow-y:auto;padding:12px 20px 20px;display:flex;flex-direction:column;gap:10px}.help-hero{display:flex;align-items:center;gap:10px;background:linear-gradient(120deg,#fff3de,#ffe9ee);border:1px solid #ffe2cc;border-radius:14px;padding:12px 14px}.help-hero-emoji{font-size:30px}.help-hero b{display:block;color:#4d3a68;font-size:14px}.help-hero i{display:block;font-style:normal;color:var(--ink-soft);font-size:12.5px;margin-top:2px}.help-sec{display:flex;gap:12px;background:#fffdf8;border:1px solid #f0e0c8;border-radius:14px;padding:12px 14px}.help-sec-no{flex:none;font-size:22px;font-weight:900;color:#f4b183;line-height:1.1}.help-sec-body{flex:1;min-width:0}.help-sec-title{font-weight:900;color:#4d3a68;font-size:14.5px;margin-bottom:4px}.help-line{margin:0 0 4px;font-size:13px;line-height:1.85;color:#4a3f33}.help-line:last-child{margin-bottom:0}.help-slogan{text-align:center;font-weight:900;font-size:15px;color:#7c5cff;background:#f4f0ff;border-radius:999px;padding:10px 12px}.demoh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8f6ff,#eff0fc);overflow:hidden}.demoh-top{display:flex;align-items:center;gap:16px;padding:16px 26px;background:#fff;border-bottom:1px solid #e6e4f5;flex:0 0 auto}.demoh-title{display:flex;align-items:center;gap:12px}.demoh-logo{font-size:30px;line-height:1}.demoh-title b{display:block;font-size:21px;color:#2c3a63;letter-spacing:1px}.demoh-sub{font-size:13px;color:#8b93ad}.demoh-filters{flex:0 0 auto;display:flex;gap:8px;padding:12px 26px 0}.demoh-chip{border:2px solid #ddd9f2;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800;color:#6b5fa8;cursor:pointer;transition:border-color .14s ease,background .14s ease}.demoh-chip:hover{border-color:#c3b9ee}.demoh-chip.on{border-color:#7c5cd6;background:#f3efff;color:#5b3fb0}.demoh-body{flex:1 1 auto;overflow-y:auto;padding:16px 26px 60px}.demoh-group{margin-bottom:26px}.demoh-group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.demoh-group-head b{font-size:16.5px;color:#2c3a63}.demoh-group-head span{font-size:12.5px;color:#9aa2ba}.demoh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.demoh-card{display:flex;align-items:center;gap:12px;text-align:left;padding:16px 18px;border-radius:18px;border:2px solid #e4e0f8;background:#fff;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.demoh-card:hover{transform:translateY(-2px);border-color:#c3b9ee;box-shadow:0 10px 22px #7c5cd629}.demoh-card-tag{flex:0 0 auto;font-size:11.5px;font-weight:800;border-radius:8px;padding:4px 8px;white-space:nowrap}.demoh-card-tag.derive{color:#1d7a6b;background:#e4f7f2}.demoh-card-tag.example{color:#a8620f;background:#fdf1e0}.demoh-card-main{flex:1 1 auto;min-width:0}.demoh-card-main b{display:block;font-size:15.5px;color:#2c3a63;margin-bottom:3px}.demoh-card-main i{display:block;font-style:normal;font-size:12.5px;color:#8b93ad}.demoh-card-go{flex:0 0 auto;font-size:12.5px;font-weight:800;color:#7c5cd6;white-space:nowrap}.demoh-run{display:flex;flex-direction:column;height:100%;overflow:hidden}.demoh-run-top{display:flex;align-items:center;gap:16px;padding:14px 26px;background:#fff;border-bottom:1px solid #e6e4f5;flex:0 0 auto}.demoh-run-title{flex:1 1 auto;min-width:0}.demoh-run-title b{display:block;font-size:17px;color:#2c3a63}.demoh-run-tag{margin-left:10px;font-size:11.5px;font-weight:800;border-radius:8px;padding:3px 8px;color:#1d7a6b;background:#e4f7f2}.demoh-run-title span{font-size:12.5px;color:#8b93ad}.demoh-run-ops{flex:0 0 auto;display:flex;gap:8px}.demoh-again,.demoh-goto{border:2px solid #ddd9f2;background:#fff;border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:800;color:#7c5cd6;cursor:pointer;white-space:nowrap}.demoh-again:hover,.demoh-goto:hover{border-color:#c3b9ee;background:#f6f3ff}.demoh-goto{border-color:transparent;background:linear-gradient(135deg,#8a6ce8,#6a49cf);color:#fff}.demoh-goto:hover{border-color:transparent;background:linear-gradient(135deg,#7d5ee0,#5c3cc0)}.demoh-run-body{flex:1 1 auto;overflow-y:auto;padding:20px 26px 60px}.demoh-run-body .proof-board{max-width:1180px;margin:0 auto}.shome-cta.shome-go-demo{background:linear-gradient(135deg,#9a7bf0,#6a49cf);box-shadow:0 10px 24px #7c5cd647}.shome-cta.shome-go-demo:hover{box-shadow:0 14px 30px #7c5cd657}.shome-cta.shome-go-word{background:linear-gradient(135deg,#f0a03c,#d97a1c);box-shadow:0 10px 24px #d97a1c47}.shome-cta.shome-go-word:hover{box-shadow:0 14px 30px #d97a1c57}.wgh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:linear-gradient(180deg,#fffaf3,#fdf1e4);overflow:hidden}.wgh-top{display:flex;align-items:center;gap:16px;padding:16px 26px;background:#fff;border-bottom:1px solid #f0e4d4;flex:0 0 auto}.wgh-title{display:flex;align-items:center;gap:12px}.wgh-logo{font-size:30px;line-height:1}.wgh-title b{display:block;font-size:21px;color:#5a3a17;letter-spacing:1px}.wgh-sub{font-size:13px;color:#b09779}.wgh-body{flex:1 1 auto;overflow-y:auto;padding:22px 26px 60px}.wgh-group{margin-bottom:26px}.wgh-group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.wgh-group-head b{font-size:16.5px;color:#5a3a17}.wgh-group-head span{font-size:12.5px;color:#b09779}.wgh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.wgh-card{display:flex;align-items:center;gap:12px;text-align:left;padding:16px 18px;border-radius:18px;border:2px solid #f2e3cd;background:#fff;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.wgh-card:hover:not(:disabled){transform:translateY(-2px);border-color:#eccb9a;box-shadow:0 10px 22px #d97a1c24}.wgh-card:disabled{opacity:.6;cursor:default}.wgh-card.locked,.wgh-card.soon{background:#fbf7f1;border-style:dashed}.wgh-card-tag{flex:0 0 auto;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap}.wgh-card-tag.played,.wgh-card-tag.playable{background:#f0a03c29;color:#b96f10}.wgh-card-tag.done{background:#22c55e24;color:#1c8a48}.wgh-card-tag.locked,.wgh-card-tag.soon{background:#96969624;color:#8a8a8a}.wgh-card-main{flex:1 1 auto;min-width:0}.wgh-card-main b{display:block;font-size:15.5px;color:#5a3a17;margin-bottom:3px}.wgh-card-main i{display:block;font-style:normal;font-size:12.5px;color:#b09779;line-height:1.55}.wgh-card-go{flex:0 0 auto;font-size:12.5px;font-weight:800;color:#d97a1c;white-space:nowrap}.wgh-foot{margin-top:6px;padding:14px 16px;border-radius:14px;background:#f0a03c14;border:1px dashed rgba(217,122,28,.3);font-size:12.5px;line-height:1.7;color:#8a6a45}.wgh-run-hint{margin-bottom:14px;padding:11px 14px;border-radius:12px;background:#f0a03c14;border:1px dashed rgba(217,122,28,.3);font-size:12.5px;line-height:1.7;color:#8a6a45}.wgh-notice{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:320;padding:10px 18px;border-radius:12px;background:#3c280ce6;color:#ffe9c9;font-size:13.5px;font-weight:600;max-width:88vw;text-align:center}.fsg{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.fsg-top{display:flex;align-items:center;gap:16px;padding:12px 26px;background:#fff;border-bottom:1px solid #f0e4d4;flex:0 0 auto}.fsg-title{flex:1 1 auto;min-width:0}.fsg-title b{display:block;font-size:17px;color:#5a3a17}.fsg-title>span{font-size:12.5px;color:#b09779}.fsg-chip{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:800;background:#f0a03c29;color:#b96f10;vertical-align:middle}.fsg-ops{display:flex;align-items:center;gap:12px;flex:0 0 auto}.fsg-combo{font-size:13px;font-weight:800;color:#d97a1c}.fsg-progress{font-size:13px;color:#8a6a45}.fsg-progress b{font-size:16px;color:#d97a1c}.fsg-again,.fsg-go{border:none;border-radius:10px;cursor:pointer;font-weight:800}.fsg-again{padding:7px 14px;font-size:12.5px;background:#fdf1e4;color:#b96f10;border:1px solid #f0dcc0}.fsg-again:hover{background:#fbe6cc}.fsg-go{padding:11px 20px;font-size:14.5px;color:#fff;background:linear-gradient(135deg,#f0a03c,#d97a1c);box-shadow:0 8px 20px #d97a1c4d}.fsg-go:hover{box-shadow:0 12px 26px #d97a1c61}.fsg-meter{flex:0 0 auto;height:6px;background:#f4e8d8;overflow:hidden}.fsg-meter i{display:block;height:100%;border-radius:0 999px 999px 0;background:linear-gradient(90deg,#f5c26b,#d97a1c);transition:width .3s ease}.fsg-msg{flex:0 0 auto;padding:9px 26px;font-size:13px;color:#8a6a45;background:#fffdf9;border-bottom:1px solid #f6ecdd}.fsg-film{position:relative;flex:0 0 38%;min-height:168px;background:linear-gradient(180deg,#1b2030,#232a3d);border-top:6px solid #12172a;border-bottom:6px solid #12172a;box-shadow:inset 0 0 30px #00000080;overflow:hidden;cursor:grab;touch-action:pan-y}.fsg-film:active{cursor:grabbing}.fsg-film-track{height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.fsg-film-track::-webkit-scrollbar{display:none}.fsg-film-inner{display:flex;align-items:center;gap:0;height:100%;padding:0 70px;min-width:max-content}.fsg-nudge{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:62px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#0a0e1ab8;color:#dbe4ff;font-size:22px;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease}.fsg-nudge:hover{background:#1e2842e6;border-color:#f5c26b99}.fsg-nudge.left{left:8px}.fsg-nudge.right{right:8px}.fsg-frame{flex:0 0 168px;width:168px;height:100%;padding:10px 14px;position:relative}.fsg-frame+.fsg-frame{border-left:1px solid rgba(255,255,255,.06)}.fsg-frame:before,.fsg-frame:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:7px;height:calc(100% - 28px);background:repeating-linear-gradient(180deg,rgba(255,255,255,.5) 0 5px,transparent 5px 11px);opacity:.55;pointer-events:none}.fsg-frame:before{left:3px}.fsg-frame:after{right:3px}.fsg-frame-body{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:2px dashed #7b8bb5;border-radius:6px;background:#0c101cb8;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.fsg-frame-tag{font-size:10.5px;letter-spacing:1px;color:#8fa0cc}.fsg-frame-slot{font-size:16px;font-weight:700;color:#e8edff;text-align:center;line-height:1.35;word-break:break-word}.fsg-frame.drag-over .fsg-frame-body{border-color:#f5c26b;background:#5a3e0c8c;box-shadow:0 0 18px #f5c26b80}.fsg-frame.filled .fsg-frame-body{border-style:solid;border-color:#4ade80;background:#0c3c24bf;box-shadow:0 0 16px #4ade8059}.fsg-frame.filled .fsg-frame-slot{color:#a7f3c8;font-size:15px}.fsg-tray-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:10px 22px 16px}.fsg-tray-title{flex:0 0 auto;font-size:12.5px;color:#b09779;margin-bottom:8px;text-align:center}.fsg-tray{flex:1 1 auto;min-height:0;display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start;justify-content:center;overflow-y:auto;padding:12px;border-radius:14px;border:1px dashed #eccb9a;background:#fff9}.fsg-card{flex:0 0 auto;width:118px;padding:7px 7px 11px;background:#fff;border:1px solid #eadfcd;border-radius:3px;box-shadow:0 4px 12px #785a2829;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .16s ease,opacity .25s ease}.fsg-card:nth-child(odd){transform:rotate(-1.6deg)}.fsg-card:nth-child(2n){transform:rotate(1.4deg)}.fsg-card:active{cursor:grabbing}.fsg-card-photo{height:48px;display:flex;align-items:center;justify-content:center;font-size:22px;border-radius:2px;margin-bottom:6px;background:linear-gradient(140deg,#ffe9c9,#f7d3a4)}.fsg-card-caption{font-size:13px;font-weight:700;color:#5a3a17;text-align:center;line-height:1.3;word-break:break-word}.fsg-pos{font-style:normal;font-weight:600;font-size:11px;color:#b09779}.fsg-card.placed{opacity:0;pointer-events:none}.fsg-card.dragging{opacity:.35}.fsg-card.reject{animation:fsg-shake .4s ease;border-color:#e88b8b}@keyframes fsg-shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-7px) rotate(-2deg)}75%{transform:translate(7px) rotate(2deg)}}.fsg-clone{position:fixed;z-index:340;pointer-events:none;width:118px;padding:7px 7px 11px;background:#fff;border:2px solid #f0a03c;border-radius:3px;box-shadow:0 12px 30px #785a2859;font-size:13px;font-weight:700;color:#5a3a17;text-align:center;transform:rotate(-2deg);word-break:break-word}.fsg-done{position:fixed;top:0;right:0;bottom:0;left:0;z-index:330;display:flex;align-items:center;justify-content:center;padding:20px;background:#281a088c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fsg-done-card{width:100%;max-width:400px;padding:26px 24px;border-radius:20px;background:#fff;border:1px solid #f2dcbd;box-shadow:0 24px 50px #5a3c1447;text-align:center}.fsg-done-emoji{display:block;font-size:44px;line-height:1;margin-bottom:10px}.fsg-done-card b{display:block;font-size:19px;color:#5a3a17;margin-bottom:8px}.fsg-done-sub{display:block;font-size:13.5px;color:#8a6a45;line-height:1.7;margin-bottom:18px}.fsg-done-ops{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}@media (max-width: 640px){.wgh-top,.fsg-top{padding:10px 14px;gap:10px}.wgh-body{padding:14px 14px 40px}.fsg-film{flex:0 0 34%;min-height:132px}.fsg-frame{flex:0 0 112px;width:112px;padding:8px 10px}.fsg-frame-slot{font-size:13.5px}.fsg-tray-wrap{padding:8px 12px 12px}.fsg-card,.fsg-clone{width:92px}.fsg-card-photo{height:38px;font-size:18px}.fsg-card-caption{font-size:11.5px}.fsg-msg{padding:7px 14px;font-size:12px}}.spg{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.spg-top{display:flex;align-items:center;gap:16px;padding:12px 26px;background:#fff;border-bottom:1px solid #f0e4d4;flex:0 0 auto}.spg-title{flex:1 1 auto;min-width:0}.spg-title b{display:block;font-size:17px;color:#5a3a17}.spg-title>span{font-size:12.5px;color:#b09779}.spg-chip{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:800;background:#f0a03c29;color:#b96f10;vertical-align:middle}.spg-ops{flex:0 0 auto;display:flex;align-items:center;gap:10px}.spg-passed-tag{font-size:12.5px;font-weight:800;padding:4px 9px;border-radius:999px;color:#2f7a45;background:#eaf7ee;border:1px solid #c5e6d0}.spg-again{padding:7px 14px;font-size:12.5px;font-weight:800;border-radius:10px;cursor:pointer;background:#fdf1e4;color:#b96f10;border:1px solid #f0dcc0}.spg-again:hover{background:#fbe6cc}.spg-progress{font-size:13px;color:#8a6a45}.spg-progress b{font-size:16px;color:#d97a1c}.spg-meter{flex:0 0 auto;height:6px;background:#f4e8d8;overflow:hidden}.spg-meter i{display:block;height:100%;background:linear-gradient(90deg,#f5c26b,#d97a1c);transition:width .3s ease}.spg-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:268px 1fr;gap:0;overflow:hidden}.spg-picker{display:flex;flex-direction:column;min-height:0;border-right:1px solid #f2e3cd;background:#fffdf9}.spg-zone-title{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:800;color:#8a5a1e;flex:0 0 auto}.spg-zone-no{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#f0a03c33;color:#b96f10;font-size:12px}.spg-zone-hint{margin-left:auto;font-size:11.5px;font-weight:600;color:#b09779}.spg-word-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 10px 14px}.spg-word{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;margin-bottom:5px;border:1px solid #f2e3cd;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .13s ease,background .13s ease}.spg-word:hover{border-color:#eccb9a;background:#fffaf2}.spg-word.cur{border-color:#f0a03c;background:#fff5e6}.spg-word.done{background:#f4fbf5;border-color:#b7e3c2}.spg-check{flex:0 0 auto;font-size:14px;color:#d97a1c}.spg-word.done .spg-check{color:#34a853}.spg-word-cn{flex:1 1 auto;font-size:13.5px;color:#5a3a17}.spg-word.done .spg-word-cn{color:#4a7a55}.spg-word-ok{flex:0 0 auto;font-size:12px}.spg-main{min-height:0;overflow-y:auto;padding:4px 22px 18px}.spg-blank{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;min-height:220px;color:#b09779;text-align:center}.spg-blank-emoji{font-size:34px}.spg-blank b{font-size:15px;color:#8a5a1e}.spg-blank span{font-size:12.5px}.spg-zone{background:#fff;border:1px solid #f2e3cd;border-radius:14px;padding:6px 14px 16px;margin-bottom:14px}.spg-zone-mem{border-color:#d9e6f5;background:#fbfdff;animation:spg-rise .32s ease}@keyframes spg-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spg-slots{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0 4px}.spg-slot{width:46px;height:52px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#5a3a17;border:2px dashed #dcC4a0;border-bottom-width:4px;border-radius:10px;background:#fffdf8;cursor:default;transition:border-color .13s ease,background .13s ease,transform .13s ease}.spg-slot.filled{border-style:solid;border-color:#7cc98f;background:#f1fbf3;cursor:pointer}.spg-slot.over{border-color:#f0a03c;background:#fff3e0;transform:translateY(-2px)}.spg-slot.bad{border-color:#e2726f;background:#fdeeee;animation:spg-shake .4s ease}.spg-slot.magnet{border-style:solid;border-color:#7fb2e8;background:#eaf3fd}.spg-slot.magnet.near{border-color:#4a90d9;background:#dceafa;box-shadow:0 0 0 3px #4a90d92e;transform:translateY(-3px) scale(1.05)}.spg-zone-mem.holding{animation:spg-hold 1s ease}@keyframes spg-hold{0%{box-shadow:inset 0 0 0 2px #7cc98f00}35%{box-shadow:inset 0 0 0 2px #7cc98fbf}to{box-shadow:inset 0 0 0 2px #7cc98f00;opacity:.45}}.spg-slot-wide{width:96px;font-size:20px}@keyframes spg-shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}.spg-ok-tag{font-size:12.5px;font-weight:800;color:#34a853}.spg-word-hint{margin-top:10px;padding:9px 12px;border-radius:10px;background:#f0a03c1a;border:1px dashed rgba(217,122,28,.4);font-size:12.5px;line-height:1.65;color:#8a5a1e;animation:spg-rise .32s ease}.spg-chunk-pool{display:flex;flex-wrap:wrap;gap:10px;min-height:46px;padding:10px;border-radius:12px;border:1px dashed #c9dbf0;background:#ffffffb3}.spg-chunk{padding:8px 14px;font-size:19px;font-weight:800;color:#2f4f74;background:#eaf3fd;border:1px solid #bcd6f0;border-bottom-width:3px;border-radius:9px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.spg-chunk:active{cursor:grabbing}.spg-chunk.dragging{opacity:.4}.spg-pool-empty{font-size:12.5px;color:#9aa2ba;align-self:center}.spg-chunk-note{margin-top:8px;padding:10px 12px;border-radius:10px;background:#2f4f740f;border:1px dashed rgba(47,79,116,.25);font-size:12.5px;line-height:1.7;color:#3f5a7d}.spg-clone{position:fixed;z-index:340;pointer-events:none;padding:8px 14px;font-size:20px;font-weight:800;color:#fff;background:#f0a03c;border-radius:9px;box-shadow:0 12px 28px #785a2859}.spg-bank{margin-top:12px;padding:10px 12px 12px;border:1px solid #eef0f4;border-radius:12px;background:linear-gradient(180deg,#fcfdff,#f7f9fc)}.spg-bank-title{font-size:12px;color:#b09779;text-align:center;margin-bottom:8px}.spg-bank-rows{display:flex;flex-direction:column;gap:6px;align-items:center}.spg-bank-row{display:flex;gap:6px}.spg-letter{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:#5a3a17;background:linear-gradient(180deg,#fffdf7,#f7ead6);border:1px solid #e2cba6;border-bottom-width:3px;border-radius:9px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .12s ease,box-shadow .12s ease}.spg-letter:active{cursor:grabbing;transform:translateY(1px)}.spg-letter.dragging{opacity:.4}.spg-letter.pulse{animation:spg-pop .3s ease}@keyframes spg-pop{0%{transform:scale(.86)}60%{transform:scale(1.06)}to{transform:scale(1)}}.wgc{margin:10px 0 4px;padding:16px 18px;border:1px solid #e6ddff;border-radius:16px;background:linear-gradient(160deg,#faf7ff,#f4f7ff)}.wgc.passed{border-color:#b7e3c2;background:linear-gradient(160deg,#f4fbf5,#f7fdf8)}.wgc-intro{font-size:13.5px;line-height:1.75;color:#4a4463;margin-bottom:14px}.wgc-unavailable{font-size:13px;line-height:1.7;color:#8a6a45;background:#fdf5e8;border:1px dashed #e0b070;border-radius:10px;padding:10px 12px;margin-bottom:14px}.wgc-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px;color:#6b6386}.wgc-head-count b{font-size:19px;color:#6a49cf}.wgc-meter{display:block;height:8px;margin:8px 0 14px;border-radius:999px;background:#e8e5f5;overflow:hidden}.wgc-meter em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#6366f1);transition:width .4s ease}.wgc.passed .wgc-meter em{background:linear-gradient(90deg,#4ade80,#22c55e)}.wgc-stages{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.wgc-stage{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;background:#ffffffbf;border:1px solid #e9e4f7;font-size:13px}.wgc-stage.done{border-color:#c3e8cd}.wgc-stage.locked{opacity:.72}.wgc-stage-tag{flex:0 0 auto;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap}.wgc-stage-tag.done{background:#22c55e26;color:#1c8a48}.wgc-stage-tag.playable{background:#8b5cf626;color:#6a49cf}.wgc-stage-tag.locked{background:#96969629;color:#8a8a8a}.wgc-stage-name{flex:1 1 auto;min-width:0;color:#4a4463;line-height:1.45}.wgc-stage-note{flex:0 0 auto;font-size:11.5px;color:#9a94b0;white-space:nowrap}.wgc-ops{display:flex;flex-wrap:wrap;gap:10px}.wgc-btn-go,.wgc-btn-check{padding:10px 18px;border:none;border-radius:11px;cursor:pointer;font-size:14px;font-weight:800}.wgc-btn-go{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;box-shadow:0 8px 20px #6366f147}.wgc-btn-go:hover{box-shadow:0 12px 26px #6366f15c}.wgc-btn-check{background:#fff;color:#5a4a9a;border:1.5px solid #cdc4ee}.wgc-btn-check:hover{border-color:#9b8bd8}.wgc.passed .wgc-btn-check{background:linear-gradient(135deg,#34c06a,#22a35a);color:#fff;border-color:transparent;box-shadow:0 8px 20px #22a35a47}.wgc-tip{margin-top:12px;font-size:12px;line-height:1.65;color:#8a83a8}.spg-toast{position:fixed;left:50%;bottom:118px;transform:translate(-50%);z-index:330;padding:9px 18px;border-radius:12px;background:#22783ceb;color:#eafff0;font-size:13.5px;font-weight:700}.spg-done{position:fixed;top:0;right:0;bottom:0;left:0;z-index:330;display:flex;align-items:center;justify-content:center;padding:20px;background:#281a088c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.spg-done-card{width:100%;max-width:420px;padding:28px 24px;border-radius:20px;background:#fff;border:1px solid #f2dcbd;box-shadow:0 24px 50px #5a3c1447;text-align:center}.spg-done-emoji{display:block;font-size:46px;line-height:1;margin-bottom:10px}.spg-done-card b{display:block;font-size:20px;color:#5a3a17;margin-bottom:8px}.spg-done-sub{display:block;font-size:13.5px;color:#8a6a45;line-height:1.7;margin-bottom:18px}.spg-done-ops{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.spg-go{padding:11px 22px;border:none;border-radius:10px;cursor:pointer;font-size:14.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#f0a03c,#d97a1c);box-shadow:0 8px 20px #d97a1c4d}.spg-go:hover{box-shadow:0 12px 26px #d97a1c61}@media (max-width: 760px){.spg-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.spg-picker{border-right:none;border-bottom:1px solid #f2e3cd}.spg-word-list{display:flex;overflow-x:auto;overflow-y:hidden;padding:0 10px 10px;gap:6px}.spg-word{flex:0 0 auto;width:auto;margin-bottom:0;white-space:nowrap}.spg-main{padding:4px 12px 14px}.spg-bank{padding:8px 8px 10px}.spg-letter{width:30px;height:34px;font-size:15px;border-radius:7px}.spg-bank-row{gap:4px}.spg-slot{width:38px;height:44px;font-size:20px}.spg-slot-wide{width:78px;font-size:16px}.spg-toast{bottom:92px}}.shome-cta-row.shome-cta-quad{grid-template-columns:repeat(4,1fr)}.shome-cta-row.shome-cta-quad .shome-cta{padding:18px 8px;font-size:18px;letter-spacing:1.5px;border-radius:20px;gap:8px}.shome-cta-row.shome-cta-quad .shome-cta-emoji{font-size:24px}@media (max-width: 760px){.shome-cta-row.shome-cta-quad{grid-template-columns:repeat(2,1fr)}}.shome-cta.shome-go-framework{background:linear-gradient(135deg,#2fa8a0,#1d7d78);box-shadow:0 10px 24px #1d7d7847}.shome-cta.shome-go-framework:hover{box-shadow:0 14px 30px #1d7d7857}.shome-cta.shome-go-video{background:linear-gradient(135deg,#e0685f,#c04237);box-shadow:0 10px 24px #c0423747}.shome-cta.shome-go-video:hover{box-shadow:0 14px 30px #c0423757}.shome-cta.shome-go-game{background:linear-gradient(135deg,#d95aa8,#ab3d80);box-shadow:0 10px 24px #ab3d8047}.shome-cta.shome-go-game:hover{box-shadow:0 14px 30px #ab3d8057}.hmh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8fcff,#edf4fb);overflow:hidden}.hmh-top{flex:none;display:flex;align-items:center;gap:14px;padding:14px 20px;background:#fff;border-bottom:1px solid #e4ecf6}.hmh-title{display:flex;align-items:center;gap:12px;min-width:0}.hmh-logo{font-size:30px;line-height:1}.hmh-title b{display:block;font-size:19px;color:#1f2d3d}.hmh-sub{display:block;margin-top:2px;font-size:12px;color:#7a8a9c}.hmh-body{flex:1;overflow-y:auto;width:100%;max-width:1180px;margin:0 auto;padding:18px 20px 44px}.hmh-hint{font-size:13px;color:#6b7b8d;background:#fff;border:1px solid #e4ecf6;border-radius:14px;padding:12px 16px;margin-bottom:16px}.hmh-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;text-align:center;color:#6b7b8d}.hmh-empty-emoji{font-size:48px}.hmh-empty b{font-size:17px;color:#1f2d3d}.hmh-empty span{font-size:13px}.hmh-empty-path{margin-top:6px;font-size:11px;color:#9aa8b6;background:#fff;border:1px dashed #d9e3ef;border-radius:8px;padding:4px 10px;word-break:break-all}.hmh-lines{display:grid;gap:16px}.hmh-line{background:#fff;border:1px solid #e4ecf6;border-top:4px solid #2fa8a0;border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px #1f2d3d0d}.hmh-line-head b{font-size:17px;color:#1f2d3d}.hmh-line-head span{display:block;margin-top:4px;font-size:13px;color:#6b7b8d;line-height:1.7}.hmh-nodes{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.hmh-node{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:start}.hmh-node-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:#2fa8a0}.hmh-node-main b{font-size:14px;color:#24313f}.hmh-node-era{margin-left:8px;font-size:11px;font-style:normal;font-weight:600;color:#8a99a8;background:#f2f6fb;border-radius:6px;padding:1px 6px}.hmh-node-main span{display:block;margin-top:2px;font-size:12.5px;color:#6b7b8d;line-height:1.7}.hmh-groups{display:grid;gap:14px}.hmh-group{background:#fff;border:1px solid #e4ecf6;border-radius:16px;padding:14px 16px;box-shadow:0 6px 18px #1f2d3d0d}.hmh-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px dashed #e4ecf6}.hmh-group-head b{font-size:15px;color:#1f2d3d}.hmh-group-head span{font-size:12px;color:#8a99a8}.hmh-videos,.hmh-games{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.hmh-video{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:#f7fafd;border:1px solid #eaf1f8;color:#24313f;font-size:13.5px;text-decoration:none;transition:background .14s ease,border-color .14s ease}.hmh-video:hover{background:#eef6fc;border-color:#cfe3f4}.hmh-video-play{flex:none;color:#c04237;font-size:12px}.hmh-video-name{min-width:0}.hmh-game{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:#fdf7fb;border:1px solid #f6e6f0}.hmh-game-emoji{flex:none;font-size:18px;line-height:1.2}.hmh-game-main b{font-size:14px;color:#24313f}.hmh-game-main span{display:block;margin-top:2px;font-size:12px;color:#8a6b80}.hmh-section-title{margin:16px 0 8px;font-size:13px;font-weight:800;color:#14343a;letter-spacing:.5px}.hmh-section-title:first-child{margin-top:4px}.hmh-launch{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;margin-bottom:10px;border-radius:16px;border:1px solid #cfe6e4;background:linear-gradient(135deg,#fff,#f2fbfa);cursor:pointer;transition:all .15s ease}.hmh-launch:hover{transform:translateY(-2px);border-color:#7fc9c3;box-shadow:0 10px 24px #1d7d7824}.hmh-launch-emoji{font-size:30px;flex:none}.hmh-launch-main{flex:1;min-width:0}.hmh-launch-main b{display:block;font-size:15px;color:#14343a}.hmh-launch-main span{display:block;margin-top:3px;font-size:12.5px;color:#5d7c82;line-height:1.6}.hmh-launch-tag{margin-left:8px;font-size:10.5px;font-style:normal;font-weight:800;color:#fff;background:linear-gradient(135deg,#35b0a8,#1d7d78);border-radius:6px;padding:1px 6px;vertical-align:2px}.hmh-launch-go{flex:none;font-size:12.5px;font-weight:700;color:#1d7d78;white-space:nowrap}.hmh-lines-hint{margin:2px 0 6px;font-size:12.5px;color:#4b6b72}.hmh-unit{border:1px solid #cfe6e4;border-radius:16px;background:linear-gradient(135deg,#fff,#f6fcfb);margin-bottom:10px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.hmh-unit.open{border-color:#7fc9c3;box-shadow:0 10px 24px #1d7d781f}.hmh-unit-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 15px;border:0;background:transparent;cursor:pointer}.hmh-unit-head:hover{background:#35b0a80f}.hmh-unit-no{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,#35b0a8,#1d7d78)}.hmh-unit-main{flex:1;min-width:0}.hmh-unit-main b{display:block;font-size:14.5px;color:#14343a}.hmh-unit-main span{display:block;margin-top:3px;font-size:12px;color:#5d7c82}.hmh-unit-caret{flex:none;font-size:15px;color:#1d7d78}.hmh-unit-body{padding:2px 12px 4px;border-top:1px dashed #d8ecea}.hmh-empty-inline{padding:18px;text-align:center;font-size:13px;color:#8aa8ad;background:#fff;border:1px dashed #d9e3ef;border-radius:12px}.hmh-note{margin-top:14px;font-size:11.5px;line-height:1.75;color:#8aa8ad;background:#fff;border:1px solid #eaf1f8;border-radius:12px;padding:10px 14px}.hmh-note code{background:#f2f6fb;border-radius:4px;padding:0 4px;font-size:11px}.hmh-video-lib{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;max-height:58vh;overflow-y:auto;padding-right:4px}.hmh-video-group{border:1px solid #e6eef7;border-radius:12px;padding:8px 10px;background:#fff}.hmh-video-lesson{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:700;color:#2f5d76;margin-bottom:5px}.hmh-video-n{flex-shrink:0;font-size:11px;font-weight:600;color:#8aa8ad}.hmh-video-link{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:6px 8px;border:none;border-radius:8px;background:transparent;color:#46606e;font-size:12px;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.hmh-video-link:hover{background:#eef6ff;color:#1d4e63}.hmh-video-icon{flex-shrink:0}.hmh-video-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hmh-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}.hmh-game-card{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:14px 14px 12px;border-radius:14px;border:1px solid #cfe6e4;background:#fff;cursor:pointer;text-align:left;transition:all .15s ease}.hmh-game-card:hover{transform:translateY(-3px);border-color:#7fc9c3;box-shadow:0 10px 22px #1d7d7826}.hmh-game-card-icon{font-size:26px}.hmh-game-card b{font-size:14px;color:#14343a}.hmh-game-card span{font-size:11.5px;color:#5d7c82;line-height:1.55}.hmh-game-card em{margin-top:4px;font-size:11.5px;font-style:normal;font-weight:700;color:#1d7d78}.hmh-src{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.hmh-src-btn{padding:9px 14px;border-radius:999px;border:1px solid #cfe6e4;background:#fff;font-size:12.5px;color:#3c5b62;cursor:pointer;transition:all .14s ease}.hmh-src-btn:hover{border-color:#7fc9c3;transform:translateY(-1px)}.hmh-src-btn.on{background:linear-gradient(135deg,#35b0a8,#1d7d78);border-color:transparent;color:#fff;font-weight:700;box-shadow:0 6px 16px #1d7d7838}.shome-cta.shome-go-wrongbook{background:linear-gradient(135deg,#f06a6a,#c9484e);box-shadow:0 10px 24px #c9484e47}.shome-cta.shome-go-wrongbook:hover{box-shadow:0 14px 30px #c9484e57}.shome-cta.shome-go-poetry{position:relative;background:linear-gradient(135deg,#b0803f,#8a5a2b);box-shadow:0 10px 24px #8a5a2b47}.shome-cta.shome-go-poetry:hover{box-shadow:0 14px 30px #8a5a2b57}.shome-cta-badge{position:absolute;top:8px;right:10px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#a63a2b;color:#fff;font-size:12px;font-weight:900;letter-spacing:0;line-height:20px;text-align:center;box-shadow:0 2px 6px #a63a2b66}.wbk{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff6f6,#f3f5ff);overflow:hidden}.wbk-top{display:flex;align-items:center;gap:16px;padding:16px 26px;background:#fff;border-bottom:1px solid #f0e2e2;flex:0 0 auto}.wbk-title{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}.wbk-x{border:0;background:#f2edf8;color:#6b5a88;border-radius:50%;width:34px;height:34px;flex:0 0 auto;cursor:pointer;font-size:15px;line-height:1}.wbk-logo{font-size:30px;line-height:1}.wbk-title b{display:block;font-size:21px;color:#4a2c2c}.wbk-sub{font-size:13px;color:#8a7a7a}.wbk-body{flex:1 1 auto;overflow-y:auto;width:100%;max-width:920px;margin:0 auto;padding:20px 22px 60px;display:flex;flex-direction:column;gap:18px}.wbk-empty{margin:60px auto 0;max-width:460px;text-align:center;display:flex;flex-direction:column;gap:8px;color:#6b5b5b}.wbk-empty-emoji{font-size:46px}.wbk-empty b{font-size:19px;color:#43384f}.wbk-empty i{font-style:normal;font-size:13px;color:#8a7a8a;line-height:1.7}.wbk-group{display:flex;flex-direction:column;gap:10px}.wbk-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.wbk-group-head b{font-size:16px;color:#43384f}.wbk-group-head span{font-size:12px;color:#9a8f9f}.wbk-list{display:flex;flex-direction:column;gap:10px}.wbk-card{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #f0dede;box-shadow:0 6px 18px #c9484e0f;transition:transform .14s ease,box-shadow .14s ease}.wbk-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #c9484e24}.wbk-card-main{display:flex;flex-direction:column;gap:5px;min-width:0}.wbk-card-main b{font-size:14.5px;color:#3a2f45;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wbk-card-main i{font-style:normal;font-size:12px;color:#9a8f9f}.wbk-card-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}.wbk-card-go{font-size:13px;font-weight:700;color:#c9484e;white-space:nowrap}.wbk-tag{font-size:11.5px;padding:3px 9px;border-radius:999px;white-space:nowrap;font-weight:600}.wbk-tag.revealed{background:#ffe8d6;color:#b5722a}.wbk-tag.wrong{background:#ffdede;color:#c0392b}.wbk-tag.ai{background:#e6e0ff;color:#6a4fc0}.wbk-tag.first{background:#dff3e5;color:#2f8f57}.wbk-tag.wbk-coin{background:linear-gradient(135deg,#fff1c9,#ffe093);color:#8a5a00;font-weight:800}.wbk-run{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.wbk-run-top{display:flex;align-items:center;gap:16px;padding:14px 26px;background:#fff;border-bottom:1px solid #f0e2e2;flex:0 0 auto}.wbk-run-title{flex:1 1 auto;min-width:0}.wbk-run-title b{display:block;font-size:17px;color:#43384f}.wbk-run-title span{font-size:12.5px;color:#9a8f9f}.wbk-run-ops{flex:0 0 auto}.wbk-run-body{flex:1 1 auto;overflow-y:auto;width:100%;max-width:820px;margin:0 auto;padding:18px 22px 60px;display:flex;flex-direction:column;gap:16px}.wbk-next-bar{position:absolute;right:28px;bottom:20px;display:flex;align-items:center;gap:10px;z-index:3}.wbk-next-idx{font-size:12px;font-weight:700;color:#9a7b7b;background:#ffffffe6;border:1px solid #f0dede;border-radius:999px;padding:3px 10px;white-space:nowrap}.wbk-next{display:inline-flex;align-items:center;gap:6px;border:0;cursor:pointer;border-radius:999px;padding:10px 20px;font-size:14.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff8a5c,#ff5d8f);box-shadow:0 8px 20px #ff5d8f59;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}.wbk-next:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 10px 24px #ff5d8f6b}.wbk-next:active{transform:translateY(0)}.wbk-next-arrow{font-size:15px;line-height:1}.wbk-next.off,.wbk-next:disabled{cursor:not-allowed;color:#9a8f8f;background:#efe9e9;box-shadow:none;transform:none;filter:none}.wbk-quiz{background:#fff;border-radius:20px;padding:20px;border:1px solid #f0dede;box-shadow:0 8px 24px #c9484e12}.wbk-result{border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}.wbk-result.ok{background:#e8f8ee;color:#237a48}.wbk-result.again{background:#fff5e0;color:#9a6a1c}.wbk-result b{font-size:15px}.wbk-result span{font-size:12.5px;opacity:.9}.wbk-result-ops{display:flex;gap:10px;margin-top:4px}.wbk-answer{background:#fff;border-radius:16px;padding:16px 18px;border:1px solid #ecebf5}.wbk-answer-head{font-size:13.5px;font-weight:700;color:#43384f;margin-bottom:8px}.wbk-answer ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.wbk-answer li{font-size:13.5px;color:#4a4453;line-height:1.6}.wbk-explain,.wbk-point{margin:10px 0 0;font-size:13px;color:#6b6377;line-height:1.7}.wbk-mine{background:#fbfaff}.wbk-reveal{align-self:flex-start;padding:10px 16px;border-radius:999px;border:1px dashed #e3b7b7;background:#fff;color:#b3574f;font-size:13.5px;font-weight:600;transition:all .14s ease}.wbk-reveal:hover{border-style:solid;background:#fff5f5}.wbk-variant{display:flex;flex-direction:column;gap:12px;border-radius:18px;padding:16px;background:#f1f7ff;border:1px solid #d4e4f7}.wbk-variant-head{font-size:14px;font-weight:700;color:#2f5aa8}.parent-root{min-height:100dvh;background:linear-gradient(160deg,#f4f7ff,#fdf3f9);display:flex;flex-direction:column;padding:14px 18px 22px;gap:12px;max-width:1080px;margin:0 auto;box-sizing:border-box}.parent-top{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e8e2f8;border-radius:18px;padding:12px 16px;flex:none}.parent-id h1{font-size:17px;font-weight:900;color:#3d3358;margin:2px 0 0}.parent-badge{font-size:12px;font-weight:800;color:#7a5cc0;background:#f3edff;border-radius:999px;padding:2px 10px}.parent-stu-pick{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#6b5a99}.parent-stu-pick select{border:1px solid #ddd2f2;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:800;color:#4b3d78;background:#fbf9ff;cursor:pointer}.parent-err{flex:none;background:#fff0f3;border:1px solid #ffd0dd;color:#b3244b;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700}.parent-empty-bridge{flex:none;display:flex;flex-direction:column;gap:4px;background:#fff8ec;border:1px dashed #e9cfa0;border-radius:12px;padding:10px 14px;color:#8a6a34;font-size:13px;line-height:1.6}.parent-empty-bridge b{color:#7a4f10;font-size:13.5px}.parent-tabs{flex:none;display:flex;gap:6px;background:#fff;border:1px solid #e8e2f8;border-radius:14px;padding:6px}.parent-tab{flex:1;border:0;background:transparent;border-radius:10px;padding:9px 12px;font-size:14px;font-weight:800;color:#7a6a99;cursor:pointer;transition:background .15s ease,color .15s ease}.parent-tab:hover{background:#f4eefd;color:#4b3a78}.parent-tab.active{background:linear-gradient(135deg,#6d4fc0,#8b6ad4);color:#fff;box-shadow:0 6px 16px #6d4fc047}.parent-body{flex:1;min-height:0;overflow-y:auto}.parent-sec{display:flex;flex-direction:column;gap:12px}.parent-sec-head{display:flex;flex-direction:column;gap:3px}.parent-sec-head b{font-size:16px;color:#3d3358}.parent-sec-sub{font-size:12.5px;color:#8a7fa8}.parent-loading,.parent-empty{padding:28px;text-align:center;color:#9089a8;font-size:14px}.parent-empty.small{padding:14px;font-size:13px}.emp-group{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #eae4f8;border-radius:14px;padding:12px 14px;flex-wrap:wrap}.emp-no{flex:none;width:26px;height:26px;border-radius:50%;background:#f0e9ff;color:#6d4fc0;font-weight:900;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.emp-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.emp-input{width:100%;box-sizing:border-box;border:1px solid #e2dbf2;border-radius:10px;padding:9px 12px;font-size:13.5px;color:#42395c;background:#fcfbff;outline:none}.emp-input:focus{border-color:#b9a3ea;background:#fff}.emp-del{flex:none;width:28px;height:28px;border-radius:8px;border:1px solid #f0d8e2;background:#fff7fa;color:#b3244b;font-size:13px;font-weight:900;cursor:pointer}.emp-del:disabled{opacity:.35;cursor:not-allowed}.emp-fb{flex-basis:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:36px;padding-top:8px;border-top:1px dashed #ece5f8;font-size:12.5px;color:#7a6f96}.emp-fb-like{font-weight:800;color:#9a90b5}.emp-fb-like.on{color:#177a3f}.emp-fb-cmt{color:#4b3d78;font-weight:700}.emp-fb-time{margin-left:auto;color:#a49bbd}.emp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.emp-add{border:1px dashed #c4b3ea;background:#faf7ff;color:#6d4fc0;border-radius:12px;padding:9px 16px;font-size:13.5px;font-weight:800;cursor:pointer}.emp-add:disabled{opacity:.45;cursor:not-allowed}.emp-save{margin-left:auto;border:0;background:linear-gradient(135deg,#2ec47a,#12a068);color:#fff;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 6px 16px #2fbf7147}.emp-save:disabled{opacity:.5;cursor:not-allowed}.emp-msg{font-size:13px;font-weight:800;color:#177a3f}.ov-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.ov-stat{background:#fff;border:1px solid #eae4f8;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:5px}.ov-stat span{font-size:12.5px;color:#8a7fa8;font-weight:700}.ov-stat b{font-size:20px;color:#3d3358;font-weight:900}.ov-stat b i{font-size:12px;font-style:normal;color:#9a90b5}.ov-block{background:#fff;border:1px solid #eae4f8;border-radius:14px;padding:14px 16px}.ov-block-title{font-size:14px;font-weight:900;color:#3d3358;margin-bottom:10px}.ov-rows{display:flex;flex-direction:column;gap:8px}.ov-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;padding:8px 10px;border-radius:10px;background:#faf9ff}.ov-name{flex:1;min-width:140px;font-weight:800;color:#4b3d78}.ov-subj{margin-left:8px;font-style:normal;font-size:11.5px;font-weight:700;color:#8a7fa8;background:#f0ecfb;border-radius:999px;padding:1px 8px}.ov-cell{color:#6b5a99;font-weight:700}.ov-lessons{display:flex;flex-direction:column;gap:8px}.ov-lesson{display:flex;align-items:center;gap:10px;border:1px solid #e7e0f7;background:#fcfbff;border-radius:12px;padding:10px 12px;cursor:pointer;text-align:left}.ov-lesson:hover:not(:disabled){background:#f4efff;border-color:#c9b8ee}.ov-lesson:disabled{opacity:.6;cursor:not-allowed}.ovl-emoji{font-size:18px}.ovl-title{font-size:13.5px;font-weight:800;color:#42395c}.ovl-sub{font-size:12px;color:#8a7fa8}.ovl-go{margin-left:auto;font-size:12.5px;font-weight:900;color:#6d4fc0}.ia-list{display:flex;flex-direction:column;gap:10px}.ia-row{background:#fff;border:1px solid #eae4f8;border-radius:14px;padding:12px 14px}.ia-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.ia-vol{font-size:12.5px;font-weight:900;color:#6d4fc0;background:#f2ecff;border-radius:999px;padding:2px 10px}.ia-lesson{font-size:13px;font-weight:800;color:#4b3d78}.ia-like{font-size:12.5px;font-weight:800;color:#b8860b}.ia-time{margin-left:auto;font-size:12px;color:#a49bbd}.ia-prompt{font-size:13px;color:#5b527a;background:#faf9ff;border-radius:10px;padding:8px 10px}.ia-comment{margin-top:6px;font-size:13px;font-weight:700;color:#2f7d4f}.emp-panel{width:min(680px,100%);max-height:86vh;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:20px}.emp-date-bar{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#faf8ff;border-bottom:1px solid #ece5f8}.emp-date-bar.student{background:#fff;border-bottom:1px solid #f0eaf9}.emp-date-pick{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#6b5a99}.emp-date-input{border:1px solid #ddd2f2;border-radius:9px;padding:5px 9px;font-size:13px;font-weight:700;color:#4b3d78;background:#fff;outline:none}.emp-date-today{border:1px solid #cdbdf0;background:#f6f1ff;color:#6d4fc0;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:800;cursor:pointer}.emp-date-today:disabled{opacity:.4;cursor:not-allowed}.emp-date-count{font-size:12.5px;font-weight:800;color:#7a6f96}.emp-date-count b{color:#6d4fc0;font-size:14px}.emp-date-count.full b{color:#c2185b}.emp-date-history{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.emp-date-his-label{font-size:12px;color:#a49bbd;font-weight:700}.emp-date-his{border:1px solid #e7e0f7;background:#fff;color:#6b5a99;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;cursor:pointer}.emp-date-his.on{background:#6d4fc0;border-color:#6d4fc0;color:#fff}.emp-panel-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 18px;background:#fbf7ff;display:flex;flex-direction:column;gap:12px}.emp-card{background:#fff;border:1px solid #eae4f8;border-radius:14px;padding:12px 14px}.emp-card-event,.emp-card-emp{display:flex;gap:8px;font-size:13.5px;color:#42395c;line-height:1.6}.emp-card-emp{margin-top:6px;color:#5b4a86}.emp-card-tag{flex:none;height:20px;padding:0 8px;border-radius:999px;background:#eef3ff;color:#4a6cd4;font-size:11.5px;font-weight:900;display:inline-flex;align-items:center}.emp-card-tag.pink{background:#ffeff5;color:#c2185b}.emp-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed #ece5f8}.emp-like{border:1px solid #ffd6a8;background:#fffaf0;color:#b8860b;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800;cursor:pointer}.emp-like.on{background:#eafaf0;border-color:#b7e4c7;color:#177a3f;cursor:default}.emp-like:disabled{opacity:.7}.emp-card-hint{font-size:11.5px;color:#a49bbd}.emp-card-cmt{margin-top:10px}.emp-cmt-input{width:100%;box-sizing:border-box;border:1px solid #e2dbf2;border-radius:10px;padding:8px 10px;font-size:13px;color:#42395c;background:#fcfbff;resize:vertical;outline:none;font-family:inherit}.emp-cmt-input:focus{border-color:#b9a3ea;background:#fff}.emp-cmt-row{display:flex;align-items:center;gap:10px;margin-top:6px}.emp-cmt-len{font-size:12px;color:#a49bbd;font-weight:700}.emp-cmt-len.ok{color:#177a3f}.emp-cmt-btn{margin-left:auto;border:0;background:linear-gradient(135deg,#6d4fc0,#8b6ad4);color:#fff;border-radius:10px;padding:7px 16px;font-size:13px;font-weight:800;cursor:pointer}.emp-cmt-btn:disabled{opacity:.45;cursor:not-allowed}.emp-cmt-saved{margin-top:6px;font-size:12.5px;color:#4b3d78;background:#f6f2ff;border-radius:8px;padding:6px 10px}.emp-panel-msg{font-size:13px;font-weight:800;color:#177a3f;text-align:center}.shome-nav-badge{position:absolute;top:2px;right:8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ff5d8f;color:#fff;font-size:10.5px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.scaf-card{width:min(640px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:20px}.scaf-body{flex:1;min-height:0;overflow-y:auto;padding:14px 18px 8px;display:flex;flex-direction:column;gap:8px}.scaf-label{font-size:13px;font-weight:900;color:#4b3d78;margin-top:6px}.scaf-input{width:100%;box-sizing:border-box;border:1px solid #e2dbf2;border-radius:10px;padding:9px 12px;font-size:13.5px;color:#42395c;background:#fcfbff;outline:none}.scaf-input:focus{border-color:#b9a3ea;background:#fff}.scaf-dates{display:flex;align-items:center;gap:10px}.scaf-dash{color:#a49bbd;font-weight:900}.scaf-goal{display:flex;align-items:flex-start;gap:10px}.scaf-goal-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.scaf-gift{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.scaf-gift-prev{position:relative;width:120px;height:90px;border-radius:10px;overflow:hidden;border:1px solid #e7e0f7}.scaf-gift-prev img{width:100%;height:100%;object-fit:cover}.scaf-gift-prev .emp-del{position:absolute;top:4px;right:4px}.scaf-foot{flex:none;padding:12px 18px 16px;border-top:1px solid #f0ecfb;display:flex;justify-content:flex-end}.quiz-ask-ai{margin-left:auto;flex:none;padding:5px 12px;border-radius:999px;border:1px solid rgba(167,139,250,.55);background:linear-gradient(135deg,#8b5cf638,#22d3ee24);color:#e9d5ff;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;transition:box-shadow .18s,transform .15s}.quiz-ask-ai:hover{box-shadow:0 0 16px #a78bfa80;transform:translateY(-1px)}@media (max-width: 560px){.quiz-ask-ai{margin-left:0;width:100%;text-align:center}}.quiz-assisted-tag{flex:none;margin-left:8px;padding:3px 9px;border-radius:999px;border:1px solid rgba(251,191,36,.5);background:#fbbf2424;color:#fcd34d;font-size:11.5px;font-weight:700;white-space:nowrap}.break-cats{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0}.break-cat{padding:5px 12px;border-radius:999px;border:1px solid rgba(251,191,36,.4);background:#fbbf241a;color:#fde68a;font-size:12px;font-weight:700;cursor:pointer}.break-cat.on{background:#fbbf2442;color:#fff}.break-body{flex:1;min-height:0;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:16px 18px}.break-card{width:100%;display:flex;flex-direction:column;gap:14px;align-items:center}.break-card .break-actions{align-self:center}.break-text{margin:0;font-size:16.5px;line-height:2;color:#fff;white-space:pre-wrap;text-align:left;width:100%}.break-speak{padding:9px 20px;border-radius:999px;border:1px solid rgba(34,211,238,.5);background:#22d3ee1f;color:#a5f3fc;font-size:13px;font-weight:800;cursor:pointer}.break-speak.on{border-color:#fbbf2499;background:#fbbf242e;color:#fde68a}.break-actions{display:flex;align-items:center;gap:10px}.break-len{font-size:12px;color:#a5aecb}.break-hint,.break-err{font-size:13.5px;color:#c6cfe8;text-align:center}.break-err{color:#ffc9c9}.break-rest-emoji{font-size:46px;line-height:1;opacity:.9;filter:drop-shadow(0 4px 14px rgba(34,197,94,.35))}.break-next:disabled{opacity:.5;cursor:not-allowed}.break-foot{flex:none;padding:4px 14px 6px}.break-next{width:100%;padding:12px;border:none;border-radius:12px;background:linear-gradient(135deg,#7c5cff,#5e7cff);color:#fff;font-size:14px;font-weight:800;cursor:pointer}.break-done{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(34,197,94,.4);background:#22c55e1f;color:#86efac;font-size:13px;font-weight:700}.break-done-main{display:flex;flex-direction:column;gap:2px;min-width:0}.break-done-next{font-size:11.5px;font-weight:600;color:#a5aecb}.break-back{flex:none;padding:8px 16px;border:none;border-radius:10px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:13px;font-weight:800;cursor:pointer}.break-quota{text-align:center}:root{--tutor-rail-right: max(40px, calc((100vw - 1440px)/2 + 40px) )}.tutor-tab{position:fixed;right:var(--tutor-rail-right);top:calc(50% - 52px);transform:translateY(-50%);z-index:260;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:96px;padding:10px 6px;border:1px solid rgba(167,139,250,.6);border-radius:12px;cursor:pointer;background:linear-gradient(160deg,#4c1d95f5,#1e1b4bf5);color:#fde68a;font-size:11px;font-weight:800;letter-spacing:.5px;box-shadow:-4px 0 22px #8b5cf659;transition:box-shadow .18s,transform .15s}.tutor-tab:hover{box-shadow:-6px 0 28px #8b5cf699;transform:translateY(-50%) translate(-3px)}.tutor-tab-open{border-color:#22d3ee99;color:#a5f3fc;background:linear-gradient(160deg,#0e7490f5,#1e1b4bf5)}.tutor-tab-emoji{font-size:18px;line-height:1}.tutor-tab-text{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px}.break-tab{top:calc(50% + 52px);border-color:#fbbf2499;color:#fde68a;background:linear-gradient(160deg,#78350ff5,#1e1b4bf5)}.break-tab:hover{box-shadow:-6px 0 28px #fbbf248c}.break-nudge{position:fixed;right:calc(var(--tutor-rail-right) + 52px);top:calc(50% + 62px);transform:translateY(-50%);z-index:261;max-width:230px;padding:10px 14px;border-radius:14px;border:1px solid rgba(251,191,36,.6);background:linear-gradient(135deg,#78350ff5,#4c1d95f5);color:#fde68a;font-size:12.5px;font-weight:700;line-height:1.5;text-align:left;cursor:pointer;box-shadow:0 8px 28px #00000080,0 0 20px #fbbf2440;animation:break-nudge-in .25s ease-out}@keyframes break-nudge-in{0%{opacity:0;transform:translateY(-50%) translate(10px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.tutor-panel{position:fixed;right:calc(var(--tutor-rail-right) + 52px);top:50%;transform:translateY(-50%);z-index:259;width:min(430px,calc(100vw - var(--tutor-rail-right) - 72px));height:min(620px,78vh);display:flex;flex-direction:column;overflow:hidden;background:var(--dk-modal, rgba(17, 14, 44, .97));border:1px solid var(--dk-line, rgba(139, 92, 246, .3));border-radius:20px;box-shadow:-12px 12px 48px #0000008c,0 0 30px #8b5cf62e;animation:tutor-in .18s ease-out}@keyframes tutor-in{0%{opacity:0;transform:translateY(-50%) translate(16px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.tutor-head{flex:none;display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(120deg,#4c1d95bf,#1e1b4b99);border-bottom:1px solid var(--dk-line, rgba(139, 92, 246, .3))}.tutor-head-avatar{font-size:26px;line-height:1}.tutor-head-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tutor-head-main b{font-size:15px;color:#ffdf5c}.tutor-head-sub{font-size:11.5px;color:#c6cfe8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-x{flex:none;width:28px;height:28px;border-radius:999px;border:1px solid var(--dk-line, rgba(139, 92, 246, .3));background:#ffffff14;color:#fff;font-size:13px;cursor:pointer}.tutor-x:hover{background:#ffffff29}.tutor-steps{flex:none;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#00000038;border-bottom:1px solid var(--dk-line, rgba(139, 92, 246, .3))}.tutor-step-btn{flex:none;width:26px;height:26px;border-radius:8px;border:1px solid rgba(34,211,238,.45);background:#22d3ee1f;color:#a5f3fc;font-size:12px;line-height:1;cursor:pointer}.tutor-step-btn:hover:not(:disabled){background:#22d3ee3d;color:#fff}.tutor-step-btn:disabled{opacity:.35;cursor:not-allowed}.tutor-step-label{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-step-label b{color:#ffdf5c;font-size:14px}.tutor-step-hint{flex:none;font-size:11px;color:#8b93ad}.step-ask-ai{flex:none;margin-left:auto;padding:1px 6px;border-radius:999px;border:1px solid rgba(139,92,246,.45);background:#8b5cf61f;color:#c4b5fd;font-size:12px;line-height:1.6;cursor:pointer;opacity:.72}.step-ask-ai:hover{opacity:1;background:#8b5cf642;color:#fff}.tutor-divider{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:11px;color:#8b93ad;white-space:nowrap}.tutor-divider:before,.tutor-divider:after{content:"";flex:1;height:1px;background:#8b5cf659}.tutor-step-back{flex:none;padding:3px 8px;border-radius:8px;border:1px solid rgba(255,223,92,.5);background:#ffdf5c24;color:#ffdf5c;font-size:11px;line-height:1.4;white-space:nowrap;cursor:pointer}.tutor-step-back:hover{background:#ffdf5c42;color:#fff}.tutor-step-cur{flex:none;max-height:58px;overflow:hidden;padding:7px 14px;font-size:12px;line-height:1.6;color:#c6cfe8;background:#00000029;border-bottom:1px solid var(--dk-line, rgba(139, 92, 246, .3));mask-image:linear-gradient(180deg,#000 62%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent)}.tutor-body{flex:1;min-height:0;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px}.tutor-intro p{margin:0 0 6px;font-size:13.5px;line-height:1.7;color:#fff}.tutor-intro-tip{font-size:11.5px!important;color:#c6cfe8!important}.tutor-row{display:flex}.tutor-row.me{justify-content:flex-end}.tutor-row.ai{flex-direction:column;align-items:flex-start}.tutor-bubble{max-width:92%;padding:9px 12px;border-radius:14px;font-size:13.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.tutor-bubble.me{background:linear-gradient(135deg,#6d4fc0e6,#4c1d95e6);color:#fff;border-bottom-right-radius:4px}.tutor-bubble.ai{background:#ffffff17;border:1px solid var(--dk-line, rgba(139, 92, 246, .3));color:#fff;border-bottom-left-radius:4px}.tutor-bubble.ai.err{background:#ef444424;border-color:#ef444473;color:#ffc9c9}.tutor-typing{color:#c6cfe8}.tutor-caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.15em;background:#ffdf5c;animation:tutor-blink 1s steps(2,start) infinite}@keyframes tutor-blink{50%{opacity:0}}.tutor-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tutor-act{padding:4px 10px;border-radius:999px;border:1px solid var(--dk-line, rgba(139, 92, 246, .3));background:#ffffff0f;color:#c6cfe8;font-size:11.5px;font-weight:700;cursor:pointer}.tutor-act:hover:not(:disabled){background:#8b5cf640;color:#fff}.tutor-act:disabled{opacity:.45;cursor:not-allowed}.tutor-act-go{border-color:#22d3ee80;color:#a5f3fc}.tutor-chips{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 4px;border-top:1px dashed var(--dk-line, rgba(139, 92, 246, .3))}.tutor-chip{padding:6px 11px;border-radius:999px;border:1px solid rgba(34,211,238,.38);background:#22d3ee1a;color:#a5f3fc;font-size:12px;font-weight:700;cursor:pointer}.tutor-chip:hover:not(:disabled){background:#22d3ee33;color:#fff}.tutor-chip:disabled{opacity:.4;cursor:not-allowed}.tutor-foot{flex:none;display:flex;gap:8px;padding:8px 14px 4px}.tutor-input{flex:1;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid var(--dk-line, rgba(139, 92, 246, .3));background:#00000059;color:#fff;font-size:13.5px;font-family:inherit;outline:none}.tutor-input:focus{border-color:#22d3ee99}.tutor-input::placeholder{color:#8b93ad}.tutor-send{flex:none;padding:10px 18px;border:none;border-radius:12px;background:linear-gradient(135deg,#7c5cff,#5e7cff);color:#fff;font-size:13.5px;font-weight:800;cursor:pointer}.tutor-send:disabled{opacity:.45;cursor:not-allowed}.tutor-quota{flex:none;padding:4px 14px 12px;font-size:11px;color:#8b93ad;text-align:right}@media (max-width: 560px){.tutor-panel{right:8px;left:8px;width:auto;height:min(70vh,560px)}.tutor-tab{top:auto;bottom:84px;transform:none}.tutor-tab:hover{transform:translate(-3px)}.break-tab{top:auto;bottom:188px}}:root{--canvas-bg: linear-gradient(160deg, #1e1b4b 0%, #312e81 45%, #4c1d95 100%);--canvas-solid: #1e1b4b;--canvas-ink: #ffffff;--canvas-ink-soft: #c6cfe8;--canvas-accent: #d6c9ff;--canvas-gold: #ffdf5c;--canvas-line: rgba(167, 139, 250, .3)}html,body{background:var(--canvas-bg);background-color:var(--canvas-solid);background-attachment:fixed;background-repeat:no-repeat}.readhome,.parent-root,.labh,.demoh,.wgh,.hmh,.wbk{background:var(--canvas-bg);background-color:var(--canvas-solid)}.shome>.shome-picker>.shome-pick-label{color:var(--canvas-accent)}.readhome>.readhome-body>.readhome-section-title{color:var(--canvas-ink)}.readhome>.readhome-body>.loading-hint{color:var(--canvas-ink-soft)}.labh-group-head b,.demoh-group-head b,.wgh-group-head b,.hmh-empty b{color:var(--canvas-ink)}.labh-group-head span,.demoh-group-head span,.wgh-group-head span,.hmh-empty,.hmh-empty span{color:var(--canvas-ink-soft)}.labh>.labh-body>.loading-hint,.demoh>.demoh-body>.loading-hint,.wgh>.wgh-body>.loading-hint{color:var(--canvas-ink-soft)}.learn .reader-col>.reader-loading{color:var(--canvas-ink-soft)}:root{--dk-surface: rgba(20, 16, 52, .58);--dk-surface-2: rgba(20, 16, 52, .38);--dk-well: rgba(0, 0, 0, .3);--dk-line: rgba(139, 92, 246, .3);--dk-line-strong: rgba(34, 211, 238, .45);--dk-glow: 0 0 22px rgba(139, 92, 246, .14);--dk-ink: #ffffff;--dk-ink-soft: #c6cfe8;--dk-modal: rgba(17, 14, 44, .97);--violet-ink: #b9a5ff;--brand-ink: #ff9d7c;--brand-2-ink: #ffc78f;--green-ink: #4ede92;--yellow-ink: #ffc93d;--red-ink: #ff8f8f;--sky-ink: #6ee7e0}:root{--ink: #ffffff;--ink-soft: #c6cfe8;--card: rgba(20, 16, 52, .58);--shadow: 0 0 22px rgba(139, 92, 246, .14)}.login-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.login-brand{background:linear-gradient(135deg,#5737008c,#5700148c 60%,#0010578c)}.sms-hint{background:#003d578c;border:1px solid var(--dk-line)}.sms-hint.ok{background:#1c490e8c;border-color:var(--dk-line);color:#a7e9a0}.role-option{background:var(--dk-surface);border:2px solid var(--dk-line)}.role-option.active{background:#1900578c}.role-check{color:var(--violet-ink)}.role-note{background:#3a00578c}.portrait-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.portrait-head{background:linear-gradient(135deg,#1b00578c,#5700148c)}.pt-section-label{background:#0020578c;color:#a0bbe9}.pt-section{background:var(--dk-surface);border:1px solid var(--dk-line)}.pt-chip{border:1.5px solid var(--dk-line);background:var(--dk-surface)}.pt-chip.on{background:linear-gradient(90deg,#1b00578c,#5700208c);color:#b0a0e9}.pt-back{background:var(--dk-surface);color:#bba0e9}.pt-back:hover{background:var(--dk-surface)}.set-edit-btn{border:1px solid var(--dk-line);background:linear-gradient(90deg,var(--dk-surface),var(--dk-surface))}.set-edit-btn:hover{background:#2100578c}.set-edit-txt b{color:#bea0e9}.set-edit-arrow{color:#b8a0e9}.voice-now{color:#bea0e9}.voice-card{background:var(--dk-surface)}.voice-sub{border-bottom:1px solid var(--dk-line)}.voice-item{border:1px solid var(--dk-line);background:var(--dk-surface)}.voice-item.active{background:#1d00578c}.voice-check{color:#a591f8}.voice-name{color:#bea0e9}.voice-preview{border-left:1px solid var(--dk-line);background:var(--dk-surface);color:#a591f8}.voice-preview:hover{background:#1d00578c}.shome-top{background:var(--dk-surface);border:1px solid var(--dk-line)}.shome-avatar{box-shadow:var(--dk-glow);border:3px solid var(--dk-line)}.shome-total-coin{background:linear-gradient(135deg,#573e008c,#5738008c);border:1px solid var(--dk-line);box-shadow:var(--dk-glow)}.shome-total-coin-val{color:#fcbf54}.shome-total-coin-label{color:#f5bf5c}.labh-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.labh-title b{color:#a0b2e9}.labh-sub{color:#a0b1e9}.labh-group-head b,.labh-group-head span{color:#a0b2e9}.labh-card{border:2px solid var(--dk-line);background:var(--dk-surface)}.labh-card:hover{border-color:var(--dk-line)}.labh-card-main b{color:#a0b2e9}.labh-card-main i{color:#a0b1e9}.labh-card-go{color:#9faae9}.labh-run-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.labh-run-title b,.labh-run-sec{color:#a0b2e9}.labh-run-title span{color:#a0b1e9}.labh-again{border:2px solid var(--dk-line);background:var(--dk-surface);color:#9faae9}.labh-again:hover{border-color:var(--dk-line);background:#0010578c}.labh-again.on{color:#a0e9ca}.labh-done{background:#1046288c;color:#a0e9c8}.labh-done-coin{background:#5740008c;color:#f5c25c}.labh-done-hint{color:#a0e9c4}.labh-card.done{background:#4c3c0b8c;border-color:var(--dk-line)}.labh-card.done .labh-card-go{color:#f5c25c}.demoh-card.watched{background:#4c3c0b8c;border-color:var(--dk-line)}.demoh-card.watched .demoh-card-go{color:#f5c25c}.demoh-run-coin,.labh-session-coin{background:#5740008c;color:#f5c25c}.shome-stats{background:var(--dk-surface);border:1px solid var(--dk-line)}.shome-stat+.shome-stat{border-top:1px dashed var(--dk-line)}.shome-stat-label,.shome-stat-val b{color:#bea0e9}.shome-meter{background:#2a10478c}.shome-grad-banner{background:linear-gradient(120deg,#5740008c,#5714008c);color:#f5a85c}.shome-grad-x{background:var(--dk-surface);color:#f5b25c}.shome-class-banner{background:linear-gradient(120deg,#002a578c,#0040578c);border:1px solid var(--dk-line);color:#92d0f6}.rp-vol-sel label{color:#bea0e9}.rp-vol-sel select{border:1px solid var(--dk-line);background:var(--dk-surface);color:#bba0e9}.rp-progress-track{background:var(--dk-surface)}.rp-sum-item{background:var(--dk-surface);border:1px solid var(--dk-line)}.rp-sum-label{color:#bea0e9}.rp-sum-val.green,.rp-mastery.green,.rp-kp-mastery.green,.rp-lesson-mastery.green{color:#94f5c6}.rp-sum-val.yellow,.rp-mastery.yellow,.rp-kp-mastery.yellow,.rp-lesson-mastery.yellow{color:#f7c859}.rp-sum-val.red,.rp-mastery.red,.rp-kp-mastery.red,.rp-lesson-mastery.red{color:#f55c61}.rp-sum-val.gray,.rp-mastery.gray,.rp-kp-mastery.gray,.rp-lesson-mastery.gray{color:#b8a0e9}.rp-ov-item.ok{background:#1344268c;color:#97f2cc}.rp-ov-item.mid{background:#5139058c;color:#f5c55b}.rp-ov-item.no{background:#4e08088c;color:#f55c61}.rp-sec{border:1.5px solid var(--dk-line);background:var(--dk-surface)}.rp-sec-warn{background:#5735008c}.rp-sec-sum{color:#bea0e9}.rp-sec-sum:hover{background:var(--dk-surface)}.rp-sec-warn .rp-sec-sum{color:#f69e5a}.rp-sec-warn .rp-sec-sum:hover{background:#5730008c}.rp-sec-meta{color:#bba0e9}.rp-sec-warn .rp-sec-meta{color:#f5a85c}.rp-sec-chev{color:#bca0e9}.rp-sec-body{border-top:1px dashed var(--dk-line)}.rp-sec-warn>.rp-sec-body{border-top-color:var(--dk-line)}.rp-lesson-need{border-top-color:var(--dk-line)}.rp-lesson-need .rp-lesson-name{color:#f5965c}.rp-lesson-tests.ok{background:#1641238c;color:#9cedc7}.rp-lesson-tests.need{background:#5730008c;color:#f69e5a}.rp-lesson-tests.shine{background:#0014578c;color:#a6a0e9}.rp-lesson-link:hover,.hg-board-gate{background:#5735008c}.hg-board-gate b{color:#f69e5a}.hg-board-gate span{color:#f5965c}.rp-unit{border:1px solid var(--dk-line);background:var(--dk-surface)}.rp-unit-name{color:#bea0e9}.rp-lesson{border-top:1px dashed var(--dk-line)}.rp-lesson-name{color:#bba0e9}.rp-lesson-kp{color:#bea0e9}.rp-lesson-learn.st-ok{background:#1344268c;color:#97f2cc}.rp-lesson-learn.st-run{background:#5139058c;color:#f5c55b}.rp-lesson-learn.st-todo{background:var(--dk-surface);color:var(--dk-ink-soft)}.rp-kp-legend-item.green{background:#1344268c;color:#97f2cc}.rp-kp-legend-item.yellow{background:#5139058c;color:#f5c55b}.rp-kp-legend-item.red{background:#4e08088c;color:#f55c61}.rp-kp-group{border:1px solid var(--dk-line);background:var(--dk-surface)}.rp-kp-group-sum{color:#bea0e9}.rp-kp-group-sum:before{color:#bca0e9}.rp-kp-group-meta{color:#bea0e9}.rp-kp-row{border-top:1px dashed var(--dk-line)}.rp-kp-status.green{background:#1344268c;color:#97f2cc}.rp-kp-status.yellow{background:#5139058c;color:#f5c55b}.rp-kp-status.red{background:#4e08088c;color:#f55c61}.rp-kp-name{color:#bba0e9}.rp-sugg li{background:var(--dk-surface);border:1px solid var(--dk-line);color:#bea0e9}.rp-empty{color:#b8a0e9}.shome-navrow{background:var(--dk-surface);border:1px solid var(--dk-line)}.shome-nav:hover{background:#2100578c;color:var(--violet-ink)}.shome-pick-label{color:#a591f8}.shome-vol{background:var(--dk-surface);border:1px solid var(--dk-line)}.shome-vol-name{color:#bea0e9}.shome-soon{color:#f5c95c;background:#503a078c}.shome-cta.shome-go-learn,.shome-cta.shome-go-learn:hover{box-shadow:var(--dk-glow)}.ph-toast-card,.pc-card{background:var(--dk-surface);box-shadow:var(--dk-glow)}.pc-avatar{border:4px solid var(--dk-line);box-shadow:var(--dk-glow)}.pc-msg{color:var(--green-ink)}.pc-info{border:1px solid var(--dk-line)}.pc-row{border-bottom:1px dashed var(--dk-line)}.pc-ok{color:var(--green-ink)}.pc-vol{border:1px solid var(--dk-line);background:var(--dk-surface)}.pc-guide{background:linear-gradient(135deg,#2100578c,#0028578c);border:1px solid var(--dk-line)}.pc-guide-title{color:#bea0e9}.pc-guide-empty{color:#bda0e9}.pc-guide-summary{color:#ac91f8}.pc-guide-section-title{color:#bea0e9}.pc-guide-list li{color:#bca0e9}.pc-guide-list li:before{color:#b8a0e9}.pc-guide-list.avoid li:before{color:#f55c64}.lhub-topbar{background:var(--dk-surface);border:1px solid var(--dk-line)}.lhub-who{color:#b0a0e9}.lhub-vol-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.lhub-vol{border:1.5px solid var(--dk-line);background:var(--dk-surface)}.lhub-vol.active{background:linear-gradient(135deg,#1b00578c,#5700208c)}.lhub-vol-n{color:var(--violet-ink);background:#1700578c}.lhub-lesson-section{background:var(--dk-surface);border:1px solid var(--dk-line)}.lhub-soon{color:#f5b55c}.teacher-tool-row{background:linear-gradient(120deg,#000a578c,#3300578c);border:1px solid var(--dk-line)}.teacher-tool-note{color:#b0a0e9}.btn-feedback{box-shadow:var(--dk-glow)}.teacher-studentbar{background:var(--dk-surface);border:1px solid var(--dk-line)}.tsb-select{border:1px solid var(--dk-line);background:var(--dk-surface)}.tf-input-static{background:#290f488c;border:1px dashed var(--dk-line);color:#b0a0e9}.teacher-stats .tstat{background:var(--dk-surface);border:1px solid var(--dk-line)}.teacher-stats .tstat b{color:#b0a0e9}.teacher-boot{background:var(--dk-surface);border:1px solid var(--dk-line)}.teacher-vol-chip{border:1.5px solid var(--dk-line);background:var(--dk-surface)}.teacher-vol-chip.active{background:linear-gradient(135deg,#1b00578c,#5700208c)}.tv-n{color:var(--violet-ink);background:#1700578c}.fb-card{background:var(--dk-surface);box-shadow:var(--dk-glow)}.fb-head{background:linear-gradient(135deg,#1b00578c,#5700148c);border-bottom:1px solid var(--dk-line)}.fb-tabs{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.fb-tabs button.active{background:#1900578c;color:#b0a0e9}.grade-row{border:1px solid var(--dk-line);background:var(--dk-surface)}.grade-state{background:#572e008c;color:#f5b05c}.grade-state.done{background:#1047298c;color:#98f1ca}.grade-input{border:1px solid var(--dk-line)}.care-publish-msg{background:#1046288c;color:#98f1ca}.tvadmin-top{background:linear-gradient(120deg,var(--dk-surface),hsla(261,100%,17%,.55));border:1px solid var(--dk-line)}.tvadmin-controls{background:var(--dk-surface);border:1px solid var(--dk-line)}.tvc-row.tvc-actions{border-top:1px dashed var(--dk-line)}.tvc-sel{border:1px solid var(--dk-line);background:var(--dk-surface)}.tvc-seg{background:#210d498c}.tvc-seg-btn.active{background:var(--dk-surface);color:var(--violet-ink)}.tvc-refresh{border:1px solid var(--dk-line);background:var(--dk-surface);color:var(--violet-ink)}.tvc-vcall{box-shadow:var(--dk-glow)}.tvc-refresh:hover{background:#2000578c}.tvadmin-split-left{background:var(--dk-surface);border:1px solid var(--dk-line)}.tvadmin-left-head{color:#bea0e9;background:#4333148c;border-bottom:1px solid var(--dk-line)}.tvadmin-left-meta,.tvadmin-left-empty{color:#caa0e9}.tvadmin-right-tabs{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.tvadmin-right-tab{color:#b8a0e9}.tvadmin-right-tab:hover{color:#b3a0e9;background:#25094e8c}.tvadmin-right-tab.active{color:#b3a0e9;background:var(--dk-surface)}.tvadmin-rail{background:linear-gradient(180deg,var(--dk-surface),hsla(40,54%,17%,.55));border:1px solid var(--dk-line)}.tvadmin-rail:hover{background:#5133068c}.tvadmin-rail.rail-right{background:linear-gradient(180deg,#1b00578c,#240b4c8c);border-color:var(--dk-line)}.tvadmin-rail.rail-right:hover{background:#2507508c}.tvadmin-rail-vert,.tvadmin-rail-open{color:#b3a0e9}.tvadmin-collapse-btn{border:1px solid var(--dk-line);background:#1e00578c;color:#b3a0e9}.tvadmin-collapse-btn:hover:not(:disabled){background:#250a4d8c}.tvadmin-record-stu{color:var(--violet-ink)}.tvadmin-record-lesson{color:#bea0e9;background:#5700178c}.tvadmin-agg{background:var(--dk-surface);border:1px solid var(--dk-line)}.tvadmin-subj-filter{color:#9faae9;background:#0014578c;border:1px solid var(--dk-line)}.tvadmin-subj-note{color:#a0b1e9}.tvr-session{background:var(--dk-surface);border:1px solid var(--dk-line)}.tvr-sess-head{background:linear-gradient(180deg,var(--dk-surface),var(--dk-surface))}.tvr-sess-head:hover{background:#1e00578c}.tvr-sess-student{color:#bea0e9;background:#5700178c}.tvr-sess-mastery{color:#bea0e9}.tvr-sess-retry{color:#f56b5c;background:#4e08088c}.tvr-sess-open{color:var(--violet-ink)}.tvr-sess-body{border-top:1px dashed var(--dk-line);background:var(--dk-surface)}.tvr-book{background:var(--dk-surface);border:1px solid var(--dk-line)}.tvr-book-head{background:linear-gradient(180deg,var(--dk-surface),hsla(255,100%,17%,.55))}.tvr-book-head:hover{background:#1e00578c}.tvr-book-title{color:#bea0e9}.tvr-book-body{border-top:1px dashed var(--dk-line)}.tv-block{background:var(--dk-surface);border:1px solid var(--dk-line)}.tvadmin-care{background:var(--dk-surface);border:1px solid var(--dk-line);box-shadow:var(--dk-glow)}.tvadmin-care-head{background:linear-gradient(180deg,var(--dk-surface),hsla(336,100%,17%,.55))}.tvadmin-care-head:hover{background:linear-gradient(180deg,#5700288c,#5700238c)}.tvadmin-care-title{color:#f55ca6}.tvadmin-care-badge{color:#d2a0e9;background:#290d4a8c;border:1px solid var(--dk-line)}.tvadmin-care-badge.hot{color:#f55c96;background:#5700238c;border-color:var(--dk-line)}.tvadmin-care-sub{color:#f55ca6}.tvadmin-care-caret{color:#f55ca6;background:var(--dk-surface);border:1px solid var(--dk-line);box-shadow:var(--dk-glow)}.care-attach-btn{color:#e9a0c6;background:var(--dk-surface)}.care-attach-name{color:#e9a0c6}.care-task-mini{border:1px solid var(--dk-line);background:var(--dk-surface)}.care-task-mini-t{color:#f55c94}.care-task-mini-m{color:#f55c9e}.care-link{color:#f55c99}.sc-avatar{box-shadow:var(--dk-glow)}.sc-bubble{background:var(--dk-surface);border:1px solid var(--dk-line)}.sc-row.sc-me .sc-bubble{background:var(--dk-surface);border-color:var(--dk-line)}.sc-bubble-title{color:#f5a85c}.sc-bubble-goal{color:#f5ad5c}.sc-task{background:#573b008c;border-color:var(--dk-line)}.sc-card{background:#1b00578c;border-color:var(--dk-line)}.sc-sys-text{background:#4236158c}.sr-card{background:var(--dk-surface)}.sr-head{background:linear-gradient(120deg,var(--dk-surface),hsla(261,100%,17%,.55));border-bottom:1px solid var(--dk-line)}.sr-x{background:#29183f8c;color:#bba0e9}.sr-group{border:1px solid var(--dk-line);background:var(--dk-surface)}.sr-group-head{background:#2100578c;border-bottom:1px dashed var(--dk-line)}.sr-group-title{color:#bea0e9}.sr-clear{border:1px solid var(--dk-line);background:var(--dk-surface);color:#f56b5c}.sr-clear:hover{background:#4e08088c}.sr-session{border:1px solid var(--dk-line);background:var(--dk-surface)}.sr-session-main:hover{background:var(--dk-surface)}.sr-session-mastery{color:#bea0e9}.sr-retry{color:#f56b5c;background:#4e08088c}.sr-open{color:var(--violet-ink)}.sr-session-detail{border-top:1px dashed var(--dk-line);background:var(--dk-surface)}.sr-msg{color:#9aefc6;background:#1046288c}.error-text.sr-msg{color:#f56b5c;background:#4e08088c}.vtutor-card{background:var(--dk-surface)}.vtutor-title{color:#bda0e9}.vtutor-ok{box-shadow:var(--dk-glow)}.vtutor-x{background:#29183f8c;color:#bba0e9}.vtutor-status{background:var(--dk-surface)}.vtutor-status .dot{background:#25183f8c}.vtutor-status .dot.on{box-shadow:var(--dk-glow)}.vtutor-list-title{color:#bda0e9}.vtutor-empty{background:#4134168c;border:1px dashed var(--dk-line)}.vtutor-row{border:1px solid var(--dk-line);background:var(--dk-surface)}.vtutor-row.sel{background:#1e00578c}.vtutor-name{color:#bea0e9}.vtutor-tag{color:var(--violet-ink);background:#1d00578c}.vtutor-note{color:#f5915c;background:#572d008c}.vtutor-hint{color:#bca0e9}.vt-join-btn{box-shadow:var(--dk-glow)}.lb-card{background:var(--dk-surface)}.lb-head{background:linear-gradient(120deg,var(--dk-surface),hsla(15,100%,17%,.55));border-bottom:1px solid var(--dk-line)}.lb-title{color:#bda0e9}.lb-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.lb-row.self{background:linear-gradient(90deg,hsla(23,100%,17%,.55),var(--dk-surface))}.lb-name{color:#bda0e9}.lb-stat{color:#bea0e9;background:var(--dk-surface)}.lb-enc.done{background:var(--dk-surface);color:var(--dk-ink-soft)}.lb-empty p{color:#bea0e9}.lb-foot{color:#bca0e9;border-top:1px solid var(--dk-line)}.praise-bell{background:var(--dk-surface);border:1px solid var(--dk-line);color:#bea0e9}.praise-bell:hover{background:var(--dk-surface)}.praise-dot{border:2px solid var(--dk-line)}.praise-num{border:1px solid var(--dk-line)}.lb-entry,.history-entry,.history-entry.clean-toggle.on{box-shadow:var(--dk-glow)}.praise-card{background:var(--dk-surface)}.praise-item{background:#5745008c;border:1px solid var(--dk-line)}.praise-txt{color:#bda0e9}.praise-time{color:#bca0e9}.set-label{color:#bda0e9}.switch{background:#21183f8c}.switch-knob{background:var(--dk-surface);box-shadow:var(--dk-glow)}.set-msg{color:#9aefc6;background:#1046288c}.set-tip{color:#bca0e9;border-top:1px dashed var(--dk-line)}.tvc-ov{border:1px solid var(--dk-line);background:var(--dk-surface);color:var(--violet-ink)}.tvc-ov:hover,.tvc-ov.active{background:#2000578c}.tvc-ov.tvc-guide{background:linear-gradient(135deg,#2000578c,#0028578c);border-color:var(--dk-line)}.tvc-ov.tvc-auth{background:linear-gradient(135deg,#5735008c,#57000a8c);border-color:var(--dk-line)}.auth-card{background:var(--dk-surface)}.auth-head{border-bottom:1px solid var(--dk-line)}.auth-head b{color:#bea0e9}.auth-sub{color:#bda0e9}.auth-x{background:#2915428c;color:#bea0e9}.auth-guide{background:var(--dk-surface);border-bottom:1px dashed var(--dk-line);color:#bda0e9}.auth-create{border-bottom:1px solid var(--dk-line)}.auth-create-title{color:#bea0e9}.auth-sel{border:1px solid var(--dk-line);background:var(--dk-surface);color:#bba0e9}.auth-vol-label{color:#bea0e9}.auth-subj-block{border:1px solid var(--dk-line);background:var(--dk-surface)}.auth-subj-head{color:#b3a0e9}.auth-row-subj{border-top:1px dashed var(--dk-line)}.auth-row-subj-name{color:#b3a0e9}.auth-exp-tag{color:#f5b55c;background:#573b008c}.auth-exp-tag.expired{color:#f56b5c;background:#4f0f078c}.auth-renew{background:#1b00578c;color:#b3a0e9}.auth-renew:hover{background:#210a4d8c}.auth-vol-exp{border:1px solid var(--dk-line);background:var(--dk-surface)}.auth-vol-exp-name{color:#bea0e9}.auth-vol-hint{color:#bca0e9}.auth-bridge-btn{background:linear-gradient(135deg,#5700238c,#5700268c);color:#f55ca6}.auth-bridge-btn:hover{background:linear-gradient(135deg,#5700278c,#5700278c)}.auth-bridge-summary{color:#f55ca3;background:var(--dk-surface);border:1px dashed var(--dk-line)}.auth-bridge-btn.parent{background:linear-gradient(135deg,#002a578c,#002d578c);color:#99c6f0;border-color:var(--dk-line)}.auth-bridge-btn.parent:hover{background:linear-gradient(135deg,#002d578c,#0030578c)}.auth-bridge-warn{color:#f58f5c;background:#4e20088c}.auth-bridge-tip{color:#d2a0e9;background:#2600578c;border:1px solid var(--dk-line)}.auth-bridge-chip .auth-phone{color:#bda0e9}.auth-vol-chip{border:1px solid var(--dk-line);background:var(--dk-surface);color:#bea0e9}.auth-save{box-shadow:var(--dk-glow)}.auth-notice{color:#97f2cc;background:var(--dk-surface)}.auth-list-head b{color:#bea0e9}.auth-empty{color:#bba0e9}.auth-row{border:1px solid var(--dk-line);background:var(--dk-surface)}.auth-role.student{background:#1344268c;color:#97f2cc}.auth-role.teacher{background:#4f17078c;color:#f5785c}.auth-row-title b{color:#bba0e9}.auth-phone{color:#b8a0e9}.auth-row-meta{color:#bea0e9}.auth-time{color:#97f2cc}.auth-mini{border:1px solid var(--dk-line);background:var(--dk-surface);color:#bea0e9}.auth-mini.on{background:#1344268c;border-color:var(--dk-line);color:#97f2cc}.auth-del{background:#570a008c;color:#f56b5c}.auth-dt{border:1px solid var(--dk-line);color:#bba0e9}.auth-quick{border:1px solid var(--dk-line);background:var(--dk-surface);color:#bea0e9}.auth-quick.ghost{color:#bba0e9}.auth-exp.forever{background:#1344268c;color:#97f2cc}.auth-exp.limit{background:#5139058c;color:#f5c55b}.auth-edit{background:#001e578c;color:#9dbbec}.tvadmin-ov-guide{background:#2000578c;color:#ac91f8}.tvadmin-ov-guide:hover{background:#22084e8c}.tguide-card{background:var(--dk-surface)}.tguide-head{border-bottom:1px solid var(--dk-line)}.tguide-head b{color:#bea0e9}.tguide-sub{color:#bda0e9}.tguide-x{background:#2915428c;color:#bea0e9}.tguide-chip{border:1px solid var(--dk-line);background:var(--dk-surface);color:#bea0e9}.tguide-empty{color:#bba0e9}.tguide-summary{color:#ac91f8}.tguide-block-title{color:#bea0e9}.tguide-list li{color:#bca0e9;background:var(--dk-surface);border:1px solid var(--dk-line)}.tguide-hint2{color:#bba0e9}.tvadmin-ov{background:var(--dk-surface);border:1px solid var(--dk-line)}.tvadmin-ov-head{color:#bea0e9}.tvadmin-ov-row{border-bottom:1px dashed var(--dk-line)}.tvadmin-ov-name{color:#bda0e9}.tvadmin-ov-rank{color:#bba0e9}.tvadmin-ov-num{color:#bea0e9}.shop{background:var(--dk-surface)}.shop-head{background:linear-gradient(120deg,#5742008c,#5700178c);border-bottom:1px solid var(--dk-line)}.shop-title{color:#f5ad5c}.shop-x{background:var(--dk-surface);color:#f5ad5c}.shop-sec{background:var(--dk-surface);border:1px solid var(--dk-line)}.shop-sec-head{background:#5738008c}.shop-sec-head:hover{background:#5735008c}.shop-sec-title{color:#f5ad5c}.shop-sec-caret{color:#f5bd5c;background:var(--dk-surface)}.shop-sec-body{border-top:1px dashed var(--dk-line)}.shop-balance{color:#f5bf5c;background:#573d008c}.shop-balance b{color:#fcb154}.shop-balance-tip{color:#f5bd5c}.shop-cash-lab{color:#f5ba5c}.shop-est{color:#f5ad5c}.shop-est b{color:#fcb154}.shop-ok{color:#9aefc6;background:#1740278c}.shop-voucher{background:#513d068c}.shop-voucher-title{color:#f5b85c}.shop-voucher-text{color:#f5ad5c;background:var(--dk-surface);border:1px solid var(--dk-line)}.shop-copy{color:#f58f5c}.shop-voucher-note{color:#f5c45c}.shop-reward-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.shop-reward-row.custom{background:#1100578c;border-color:var(--dk-line)}.shop-reward-info b{color:#f5ad5c}.shop-reward-info span{color:#fcb154}.shop-done-chip{color:#9aefc6;background:#1641288c}.shop-no-coin{color:#f5ba5c}.shop-del{background:#5700008c;color:#f56b5c}.shop-empty{color:#f5b85c}.shop-add{border-top:1px dashed var(--dk-line)}.shop-add-title{color:#f5ba5c}.shop-record-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.shop-rec-type.cash{background:#5735008c;color:#f58f5c}.shop-rec-type.reward{background:#0010578c;color:#a7a0e9}.shop-rec-status.pending{background:#5744008c;color:#fcd254}.shop-rec-status.completed{background:#1641288c;color:#9aefc6}.shop-record-line{color:#f5ad5c}.shop-record-line b{color:#fcb154}.shop-record-code{color:#f5ad5c}.shop-record-time{color:#f5ba5c}.shop-confirm{color:#97f2d8;border-color:var(--dk-line)}.shop-help{background:var(--dk-surface)}.shop-help-row{border-bottom:1px dashed var(--dk-line)}.shop-help-txt b{color:#f5ad5c}.shop-help-txt span{color:#f5ba5c}.shop-help-foot{background:linear-gradient(120deg,#5742008c,#572a008c);border-top:1px solid var(--dk-line);color:#f5bf5c}.shop-help-foot b{color:#fcb154}.shop-toast{box-shadow:var(--dk-glow)}.shome-lock-msg{color:#f5855c;background:#5720008c}.lhub-vol.lock{background:var(--dk-surface);border-color:var(--dk-line)}.lhub-vol.lock .lhub-vol-name{color:var(--dk-ink-soft)}.help-head{border-bottom:1px dashed var(--dk-line)}.help-title{color:#bea0e9}.help-speak{box-shadow:var(--dk-glow)}.help-hero{background:linear-gradient(120deg,#5737008c,#5700148c);border:1px solid var(--dk-line)}.help-hero b{color:#bea0e9}.help-sec{background:var(--dk-surface);border:1px solid var(--dk-line)}.help-sec-no{color:#f5995c}.help-sec-title{color:#bea0e9}.help-line{color:#f5ab5c}.help-slogan{color:#a591f8;background:#1700578c}.demoh-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.demoh-title b{color:#a0b2e9}.demoh-sub{color:#a0b1e9}.demoh-chip{border:2px solid var(--dk-line);background:var(--dk-surface);color:#aca0e9}.demoh-chip:hover{border-color:var(--dk-line)}.demoh-chip.on{background:#1600578c;color:#b2a0e9}.demoh-group-head b,.demoh-group-head span{color:#a0b2e9}.demoh-card{border:2px solid var(--dk-line);background:var(--dk-surface)}.demoh-card:hover{border-color:var(--dk-line)}.demoh-card-tag.derive{color:#a0e9dd;background:#1443368c}.demoh-card-tag.example{color:#f5b05c;background:#5132058c}.demoh-card-main b{color:#a0b2e9}.demoh-card-main i{color:#a0b1e9}.demoh-card-go{color:#b3a0e9}.demoh-run-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.demoh-run-title b{color:#a0b2e9}.demoh-run-tag{color:#a0e9dd;background:#1443368c}.demoh-run-title span{color:#a0b1e9}.demoh-again,.demoh-goto{border:2px solid var(--dk-line);background:var(--dk-surface);color:#b3a0e9}.demoh-again:hover,.demoh-goto:hover{border-color:var(--dk-line);background:#1600578c}.wgh-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.wgh-title b{color:#f5ab5c}.wgh-sub{color:#f5b05c}.wgh-group-head b{color:#f5ab5c}.wgh-group-head span{color:#f5b05c}.wgh-card{border:2px solid var(--dk-line);background:var(--dk-surface)}.wgh-card.locked,.wgh-card.soon{background:#4430138c}.wgh-card-tag.played,.wgh-card-tag.playable{color:#f5b25c}.wgh-card-tag.done{color:#9eebbd}.wgh-card-tag.locked,.wgh-card-tag.soon{color:var(--dk-ink-soft)}.wgh-card-main b{color:#f5ab5c}.wgh-card-main i{color:#f5b05c}.wgh-card-go{color:#f5a85c}.wgh-foot,.wgh-run-hint{border:1px dashed var(--dk-line);color:#f5ad5c}.fsg-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.fsg-title b{color:#f5ab5c}.fsg-title>span{color:#f5b05c}.fsg-chip{color:#f5b25c}.fsg-combo{color:#f5a85c}.fsg-progress{color:#f5ad5c}.fsg-progress b{color:#f5a85c}.fsg-again{background:#512d068c;color:#f5b25c;border:1px solid var(--dk-line)}.fsg-again:hover{background:#502f078c}.fsg-meter{background:#442f138c}.fsg-msg{color:#f5ad5c;background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.fsg-nudge{border:1px solid var(--dk-line)}.fsg-frame+.fsg-frame{border-left:1px solid var(--dk-line)}.fsg-frame:before,.fsg-frame:after{background:repeating-linear-gradient(180deg,var(--dk-surface) 0 5px,transparent 5px 11px)}.fsg-frame-tag{color:#a0b5e9}.fsg-tray-title{color:#f5b05c}.fsg-tray{background:var(--dk-surface)}.fsg-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.fsg-card-caption{color:#f5ab5c}.fsg-pos{color:#f5b05c}.fsg-clone{background:var(--dk-surface);color:#f5ab5c}.fsg-done-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.fsg-done-card b{color:#f5ab5c}.fsg-done-sub{color:#f5ad5c}.spg-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.spg-title b{color:#f5ab5c}.spg-title>span{color:#f5b05c}.spg-chip{color:#f5b25c}.spg-passed-tag{color:#a0e9b6;background:#183f248c;border:1px solid var(--dk-line)}.spg-again{background:#512d068c;color:#f5b25c;border:1px solid var(--dk-line)}.spg-again:hover{background:#502f078c}.spg-progress{color:#f5ad5c}.spg-progress b{color:#f5a85c}.spg-meter{background:#442f138c}.spg-picker{border-right:1px solid var(--dk-line);background:var(--dk-surface)}.spg-zone-title{color:#f5b05c}.spg-zone-no{color:#f5b25c}.spg-zone-hint{color:#f5b05c}.spg-word{border:1px solid var(--dk-line);background:var(--dk-surface)}.spg-word:hover{background:#5735008c}.spg-word.cur{background:#5734008c}.spg-word.done{background:var(--dk-surface)}.spg-check{color:#f5a85c}.spg-word.done .spg-check{color:#a0e9b3}.spg-word-cn{color:#f5ab5c}.spg-word.done .spg-word-cn{color:#a0e9b1}.spg-blank,.spg-blank b{color:#f5b05c}.spg-zone{background:var(--dk-surface);border:1px solid var(--dk-line)}.spg-zone-mem{border-color:var(--dk-line);background:var(--dk-surface)}.spg-slot{color:#f5ab5c;background:var(--dk-surface)}.spg-slot.filled{background:#13441d8c}.spg-slot.over{background:#5735008c}.spg-slot.bad{background:#4e09098c}.spg-slot.magnet{background:#07294f8c}.spg-slot.magnet.near{background:#0b294c8c}.spg-ok-tag{color:#a0e9b3}.spg-word-hint{border:1px dashed var(--dk-line);color:#f5b05c}.spg-chunk-pool{border:1px dashed var(--dk-line);background:var(--dk-surface)}.spg-chunk{color:#a0c2e9;background:#07294f8c;border:1px solid var(--dk-line)}.spg-pool-empty{color:#a0b2e9}.spg-chunk-note{border:1px dashed var(--dk-line);color:#a0c0e9}.spg-bank{border:1px solid var(--dk-line);background:linear-gradient(180deg,var(--dk-surface),var(--dk-surface))}.spg-bank-title{color:#f5b05c}.spg-letter{color:#f5ab5c;background:linear-gradient(180deg,var(--dk-surface),hsla(36,67%,17%,.55))}.wgc{border:1px solid var(--dk-line);background:linear-gradient(160deg,var(--dk-surface),hsla(224,100%,17%,.55))}.wgc.passed{background:linear-gradient(160deg,var(--dk-surface),var(--dk-surface))}.wgc-intro{color:#afa0e9}.wgc-unavailable{color:#f5ad5c;background:#5034078c}.wgc-head{color:#b1a0e9}.wgc-head-count b{color:#b2a0e9}.wgc-meter{background:#1f183f8c}.wgc-stage{background:var(--dk-surface);border:1px solid var(--dk-line)}.wgc-stage.done{border-color:var(--dk-line)}.wgc-stage-tag.done{color:#9eebbd}.wgc-stage-tag.playable{color:#b2a0e9}.wgc-stage-tag.locked{color:var(--dk-ink-soft)}.wgc-stage-name{color:#afa0e9}.wgc-stage-note{color:#b0a0e9}.wgc-btn-check{background:var(--dk-surface);color:#afa0e9;border:1.5px solid var(--dk-line)}.wgc-tip{color:#ada0e9}.spg-done-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.spg-done-card b{color:#f5ab5c}.spg-done-sub{color:#f5ad5c}@media (max-width: 760px){.spg-picker{border-bottom:1px solid var(--dk-line)}}.hmh-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.hmh-title b{color:#a0c2e9}.hmh-sub{color:var(--dk-ink-soft)}.hmh-hint{color:var(--dk-ink-soft);background:var(--dk-surface);border:1px solid var(--dk-line)}.hmh-empty{color:var(--dk-ink-soft)}.hmh-empty b{color:#a0c2e9}.hmh-empty-path{color:#a0c4e9;background:var(--dk-surface);border:1px dashed var(--dk-line)}.hmh-line{background:var(--dk-surface);border:1px solid var(--dk-line)}.hmh-line-head b{color:#a0c2e9}.hmh-line-head span{color:var(--dk-ink-soft)}.hmh-node-main b{color:#a0c3e9}.hmh-node-era{color:var(--dk-ink-soft);background:var(--dk-surface)}.hmh-node-main span{color:var(--dk-ink-soft)}.hmh-group{background:var(--dk-surface);border:1px solid var(--dk-line)}.hmh-group-head{border-bottom:1px dashed var(--dk-line)}.hmh-group-head b{color:#a0c2e9}.hmh-group-head span{color:var(--dk-ink-soft)}.hmh-video{background:var(--dk-surface);border:1px solid var(--dk-line);color:#a0c3e9}.hmh-video:hover{background:#0d2f4a8c;border-color:var(--dk-line)}.hmh-video-play{color:#f5695c}.hmh-game{background:var(--dk-surface);border:1px solid var(--dk-line)}.hmh-game-main b{color:#a0c3e9}.hmh-game-main span{color:var(--dk-ink-soft)}.hmh-section-title{color:#a0dee9}.hmh-launch{border:1px solid var(--dk-line);background:linear-gradient(135deg,var(--dk-surface),var(--dk-surface))}.hmh-launch-main b{color:#a0dee9}.hmh-launch-main span{color:#a0dde9}.hmh-launch-go{color:#a0e9e5}.hmh-lines-hint{color:#a0dbe9}.hmh-unit{border:1px solid var(--dk-line);background:linear-gradient(135deg,var(--dk-surface),var(--dk-surface))}.hmh-unit-main b{color:#a0dee9}.hmh-unit-main span{color:#a0dde9}.hmh-unit-caret{color:#a0e9e5}.hmh-unit-body{border-top:1px dashed var(--dk-line)}.hmh-empty-inline{color:#a0dee9;background:var(--dk-surface);border:1px dashed var(--dk-line)}.hmh-note{color:#a0dee9;background:var(--dk-surface);border:1px solid var(--dk-line)}.hmh-note code{background:var(--dk-surface)}.hmh-video-group{border:1px solid var(--dk-line);background:var(--dk-surface)}.hmh-video-lesson{color:#a0cfe9}.hmh-video-n{color:#a0dee9}.hmh-video-link{color:#a0cfe9}.hmh-video-link:hover{background:#0028578c;color:#a0d3e9}.hmh-game-card{border:1px solid var(--dk-line);background:var(--dk-surface)}.hmh-game-card b{color:#a0dee9}.hmh-game-card span{color:#a0dde9}.hmh-game-card em{color:#a0e9e5}.hmh-src-btn{border:1px solid var(--dk-line);background:var(--dk-surface);color:#a0dbe9}.wbk-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.wbk-x{background:#29183f8c;color:#bba0e9}.wbk-title b{color:#f55c5c}.wbk-sub{color:var(--dk-ink-soft)}.wbk-empty{color:var(--dk-ink)}.wbk-empty b{color:#c3a0e9}.wbk-empty i{color:var(--dk-ink-soft)}.wbk-group-head b{color:#c3a0e9}.wbk-group-head span{color:var(--dk-ink-soft)}.wbk-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.wbk-card-main b{color:#c4a0e9}.wbk-card-main i{color:var(--dk-ink-soft)}.wbk-card-go{color:#f55c64}.wbk-tag.revealed{background:#5726008c;color:#f5ab5c}.wbk-tag.wrong{background:#5700008c;color:#f56b5c}.wbk-tag.ai{background:#1100578c;color:#b1a0e9}.wbk-tag.first{background:#183f248c;color:#a0e9be}.wbk-tag.wbk-coin{background:#573d008c;color:#f5c95c}.wbk-run-top{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.wbk-run-title b{color:#c3a0e9}.wbk-run-title span{color:var(--dk-ink-soft)}.wbk-next-idx{background:var(--dk-surface);border:1px solid var(--dk-line);color:var(--dk-ink-soft)}.wbk-next.off,.wbk-next:disabled{background:var(--dk-surface);border:1px solid var(--dk-line);color:var(--dk-ink-soft);box-shadow:none}.wbk-quiz{background:var(--dk-surface);border:1px solid var(--dk-line)}.wbk-result.ok{background:#1442268c;color:#a0e9c0}.wbk-result.again{background:#573b008c;color:#f5ba5c}.wbk-answer{background:var(--dk-surface);border:1px solid var(--dk-line)}.wbk-answer-head{color:#c3a0e9}.wbk-answer li{color:var(--dk-ink)}.wbk-explain,.wbk-point{color:var(--dk-ink-soft)}.wbk-mine{background:var(--dk-surface)}.wbk-reveal{background:var(--dk-surface);color:#f5695c}.wbk-reveal:hover{background:#5700008c}.wbk-variant{background:#0026578c;border:1px solid var(--dk-line)}.wbk-variant-head{color:#a0b9e9}.hero-tip{background:var(--dk-surface)}.name-input{border:2px solid var(--dk-line);background:var(--dk-surface)}.lesson-chip{background:#4f35078c}.lesson-chip.active{background:#5726008c}.error-text{color:var(--red-ink)}.cta-pending{background:var(--dk-surface);border:1px solid var(--dk-line)}.topbar{background:var(--dk-surface)}.btn-back:hover{background:#2000578c;color:var(--violet-ink)}.hud{background:var(--dk-surface);border:1px solid var(--dk-line)}.hud-mastery .green{color:var(--green-ink)}.hud-mastery .yellow{color:var(--yellow-ink)}.hud-mastery .red{color:var(--red-ink)}.who{background:#5700178c}.lt-profile-tag{color:#ac91f8;background:#2000578c;border:1px solid var(--dk-line)}.steps-strip{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.step-chip{color:#c8a0e9;background:var(--dk-surface)}.step-chip.reached{color:#bea0e9;background:#571e008c}.learn-volbar{background:linear-gradient(90deg,hsla(43,100%,17%,.55),var(--dk-surface));border-bottom:1px solid var(--dk-line)}.lvb{background:var(--dk-surface);border:1px solid var(--dk-line)}.lvb-lab,.lvb-val b{color:#bea0e9}.lvb-meter{background:#4533128c}.lvb-book{color:#f5bd5c}.topbar.learn-top .lt-actions .ls-btn{box-shadow:var(--dk-glow)}.lt-mastery{background:var(--dk-surface);border:1px solid var(--dk-line);color:#bea0e9}.lt-mastery b{color:#bea0e9}.lt-stat{background:var(--dk-surface);border:1px solid var(--dk-line);color:#f5bd5c}.lt-stat b{color:#bea0e9}.lt-stat .cap{color:#f5ba5c}.lt-stat .lt-minibar{background:#4633118c}.lt-stat.prog{color:#b0a0e9;border-color:var(--dk-line)}.learn-stepsline{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.ldot{border:2px solid var(--dk-line);background:var(--dk-surface);color:#c4a0e9}.ldot+.ldot:before{background:#31183f8c}.ldot.cur{box-shadow:var(--dk-glow);color:#fcb454}.lsl-tag{color:#f5bd5c}.review-card.review_pass{background:linear-gradient(120deg,#000a578c,#3300578c);border-color:var(--dk-line)}.review-card.review_pass .review-card-text{color:#b2a0e9}.review-card.review_fail{background:linear-gradient(120deg,#572d008c,#5700148c)}.review-card.review_fail .review-card-text{color:#f58c5c}.banner{background:linear-gradient(120deg,#5720008c,#5700288c)}.banner-title{color:#f5785c}.banner-sub{color:#f5825c}.banner-goal{color:#f5855c;background:var(--dk-surface)}.bubble,.busy-tip,.quiz-block{background:var(--dk-surface)}.mc-option{background:var(--dk-surface);border:2px solid var(--dk-line)}.mc-option:not(:disabled):hover{background:#2000578c}.mc-option.is-answer{background:#0d4a268c;color:#a0e9c4}.mc-key{background:#2210478c;color:#b3a0e9}.note-ok{background:#0d4a268c;color:#a0e9c4}.note-hint{background:#5738008c;color:#f5ba5c}.note-reveal{background:#2000578c;color:#b3a0e9}.quiz-hint{color:#f5ba5c;background:#5738008c}.sort-row{background:var(--dk-surface);border:2px solid var(--dk-line)}.sort-arrows button{background:#210d498c;color:#b3a0e9}.proof-given{background:#0021578c;border:1px solid var(--dk-line);color:#a0b8e9}.proof-claim{background:#5733008c;border:1px solid var(--dk-line);color:#f5b25c}.proof-stage{border-top:1px dashed var(--dk-line)}.proof-stage-head{color:#b8a0e9}.proof-stage-no{background:#210d498c;color:#b3a0e9}.proof-blank{background:var(--dk-surface);border:2px solid var(--dk-line)}.proof-blank.locked{background:var(--dk-surface)}.proof-blank-line{color:#b8a0e9}.proof-blank-tag{color:#bba0e9;background:#20084f8c}.match-row{background:var(--dk-surface);border:2px solid var(--dk-line)}.match-row.locked{background:var(--dk-surface)}.match-opt{background:var(--dk-surface);border:2px solid var(--dk-line)}.match-opt:not(:disabled):hover{background:#2000578c}.tree-branch{background:#5733008c}.tree-input{border:2px solid var(--dk-line)}.calc-step{border:2px solid var(--dk-line);background:var(--dk-surface)}.calc-step.locked{background:var(--dk-surface);border-color:var(--dk-line)}.calc-step-no{background:#2210478c;color:#b3a0e9}.calc-step-label{color:#b8a0e9}.calc-step-done{color:var(--green-ink)}.calc-frac-tag{color:#b3a0e9}.calc-frac-bar{background:#2414438c}.calc-select,.calc-input{background:var(--dk-surface);border:2px solid var(--dk-line)}.calc-error-tag{color:#f55c8a;background:#57001b8c}.exp-card{background:var(--dk-surface)}.exp-phase{color:#b8a0e9;background:#2510468c}.exp-scene{background:var(--dk-surface)}.exp-equip-item{background:var(--dk-surface);border:2px solid var(--dk-line)}.exp-equip-item.picked{background:#0d4a268c;color:#a0e9c4}.exp-label{color:#b8a0e9}.exp-value{color:#9fb3e9}.exp-tip.ok{color:#a0e9c4;background:#0d4a268c}.exp-tip.bad{color:#f55c8a;background:#57001b8c}.btn-plain{color:#b8a0e9;background:#2617408c}.exp-progress{color:#b8a0e9}.exp-run-chip{color:#9fb3e9;background:#09204e8c}.exp-table th,.exp-table td{border:1px solid var(--dk-line)}.exp-table th{background:#230c4b8c;color:#b8a0e9}.exp-note.ok{color:#a0e9c4;background:#0d4a268c}.exp-note.bad{color:#f55c8a;background:#57001b8c}.exp-task{background:#0021578c;color:#a0c2e9}.exp-task-tag{color:#a0c4e9}.exp-ctrl-label{color:#b8a0e9}.exp-ctrl-btn{border:2px solid var(--dk-line);background:var(--dk-surface);color:#b3a0e9}.exp-ctrl-btn:not(:disabled):hover{background:#1e00578c}.exp-ctrl-value{color:#9fb3e9}.exp-status{color:#bba0e9}.exp-status.ok{color:#a0e9c4}.exp-equip-check{color:var(--green-ink)}.demo-card{background:var(--dk-surface)}.demo-step{color:#b8a0e9}.demo-auto{border:2px solid var(--dk-line);background:var(--dk-surface);color:#b3a0e9}.demo-auto:hover{background:#1e00578c}.demo-auto.on{background:#072d508c;color:#a0c4e9}.demo-replay-tag{color:#a0c4e9;background:#072d508c}.vac-scene{background:var(--dk-surface)}.vac-conclude-q{color:#b8a0e9}.btn-rainbow.off{background:#2617408c;color:#b8a0e9}.vac-mute{border:2px solid var(--dk-line);background:var(--dk-surface);color:#b8a0e9}.vac-mute.off{background:var(--dk-surface);color:#b7a0e9}.exp-readout{border:1.5px solid var(--dk-line)}.exp-readout-head{background:#0010578c;color:#9faae9}.exp-readout-row{color:#b8a0e9;border-top:1px solid var(--dk-line)}.exp-readout-freq{color:#9bb8ee}.exp-readout-tone{color:#a0b1e9}.bal-weight{border:2px solid var(--dk-line);background:var(--dk-surface);color:#b8a0e9}.bal-weight:hover:not(:disabled){border-color:var(--dk-line);background:var(--dk-surface)}.bal-weight.placed{background:#4f36078c;color:#f5b85c}.bal-weight.placed:hover:not(:disabled){background:#4f36088c}.bal-pan-row .bal-weights{background:var(--dk-surface)}.bal-x{color:#f5805c}.bal-empty{color:#a0b5e9}.exp-step{border:1.5px solid var(--dk-line);background:var(--dk-surface);color:#a0b5e9}.exp-step i{background:#141f438c;color:#a0b1e9}.exp-step.now{color:#9faae9;background:#0010578c}.exp-step.done{color:#a0e9ca;background:var(--dk-surface)}.exp-stage{border:1.5px solid var(--dk-line)}.exp-stage.done{background:var(--dk-surface)}.exp-stage-head b{color:#b8a0e9}.exp-stage-head span{color:#a0b1e9}.demo-scene{background:var(--dk-surface)}.demo-caption{color:#b8a0e9;background:#1e0a4c8c}.demo-dot{background:#2616418c}.math-task{color:#a0b1e9}.math-task.done{color:#a0e9c8}.math-task-tip{color:#a0b1e9}.math-task.done .math-task-tip{color:#a0e9c7}.demo-eq{border:1.5px solid var(--dk-line);background:var(--dk-surface)}.demo-eq-line{color:#a0b5e9}.demo-eq-line.final{color:#b3a0e9}.expr-tip-toggle{color:#9bb8ee}.expr-tip-toggle:hover{color:#a0b8e9}.expr-tip{color:#b1a0e9;background:var(--dk-surface)}.expr-tip code{background:#001a578c;color:#9bb8ee}.expr-input{border:1.5px solid var(--dk-line);color:#b8a0e9;background:var(--dk-surface)}.expr-key{border:1.5px solid var(--dk-line);background:var(--dk-surface);color:#a0b3e9}.expr-key:hover{color:#9bb8ee}.expr-key-wide{color:#b1a0e9}.expr-verdict.ok{background:var(--dk-surface);color:#a0e9c4}.expr-verdict.wrong{background:#572e008c;color:#f5a65c}.expr-verdict.reveal{background:#1700578c;color:#b2a0e9}.expr-explain{color:#a0b5e9;background:var(--dk-surface)}.math-figure{background:var(--dk-surface)}.math-figure-fallback{background:var(--dk-surface);color:#d0a0e9}.quiz-source{background:#1e0f488c;color:#b2a0e9}.note-skip{background:var(--dk-surface);color:#bea0e9}.example-prompt{background:var(--dk-surface);color:#ada0e9}.example-prompt-tag{color:#9bb8ee}.example-board{border:1.5px solid var(--dk-line);background:var(--dk-surface)}.example-phase-tag{background:#001a578c;color:#9bb8ee}.example-line{color:#a0b5e9}.example-line.final{color:#b3a0e9}.proof-board{border:1.5px solid var(--dk-line);background:var(--dk-surface)}.proof-tag{color:#9bb8ee}.proof-title{color:#b8a0e9}.proof-stepno{color:#a0b1e9}.proof-figure{background:var(--dk-surface)}.proof-formula{background:#5737008c;color:#f5b85c}.proof-formula-tag{color:#f5ab5c}.proof-expr{color:#b8a0e9}.proof-expr-glow{color:#f5ab5c;background:#5738008c}.proof-write{background:var(--dk-surface)}.proof-claim{color:#ada0e9;border-bottom:1px dashed var(--dk-line)}.proof-write-no{background:#0b214c8c;color:#9bb8ee}.proof-write-line{color:#a0b3e9}.proof-write-line.final{color:#b3a0e9}.proof-say{background:#5737008c;color:#f5b85c}.proof-say-tag{color:#f5ab5c}.proof-btn{border:1.5px solid var(--dk-line);background:var(--dk-surface);color:#a0b3e9}.proof-btn:not(:disabled):hover{color:#9bb8ee}.inq-level{border:2px solid var(--dk-line);background:var(--dk-surface)}.inq-level.locked{background:var(--dk-surface)}.inq-title{color:#b8a0e9}.inq-done{color:var(--green-ink)}.inq-lock-hint{color:#b7a0e9}.inq-explain{color:#b8a0e9;background:#1e0a4c8c}.diag{background:var(--dk-surface);border:2px solid var(--dk-line)}.diag-title{color:#b8a0e9}.diag-name{color:#bea0e9}.diag-bar{background:#2616418c}.diag-rate.ok{color:#a0e9c4}.diag-rate.mid{color:#f5ba5c}.diag-rate.low{color:#f55c8a}.diag-count{color:#bba0e9}.diag-tip.ok{color:#a0e9c4;background:#0d4a268c}.diag-tip.warn{color:#f5ba5c;background:#5738008c}.narr-progress-note{color:#b8a0e9;background:#1e0a4c8c}.info-card{background:#5738008c}.hist-card{background:var(--dk-surface);border:1px dashed var(--dk-line);color:var(--dk-ink)}.hist-card.me{background:var(--dk-surface);border-color:var(--dk-line)}.hist-card.system{background:#48380f8c;border-color:var(--dk-line)}.hist-title{color:#aaa0e9}.hist-text{color:var(--dk-ink-soft)}.info-card.retry.boss{background:#572e008c}.info-card.retry.boss b{color:#f5945c}.boss-retry-bar{background:#572d008c}.finish-card{background:var(--dk-surface)}.finish-card.pass{background:linear-gradient(180deg,hsla(50,100%,17%,.55),var(--dk-surface))}.finish-card.keep{border:3px solid var(--dk-line);background:linear-gradient(180deg,hsla(201,100%,17%,.55),var(--dk-surface))}.finish-meter{background:#27183f8c}.finish-msg{color:#bea0e9}.finish-reward{background:linear-gradient(135deg,#573b008c,#5735008c)}.finish-reward-txt b{color:#f5ba5c}.finish-reward-txt i{color:#f5bf5c}.cta-bar{background:var(--dk-surface);border-top:1px solid var(--dk-line)}.talk-col{background:var(--dk-surface);border:1px solid var(--dk-line)}.pane-rail{background:linear-gradient(180deg,#5745008c,#48350e8c);border:1px solid var(--dk-line)}.pane-rail .pane-rail-btn{color:#f5ad5c}.pane-rail .pane-rail-btn:hover{background:#5740008c}.pane-rail.talk{background:linear-gradient(180deg,var(--dk-surface),hsla(263,100%,17%,.55));border-color:var(--dk-line)}.pane-rail.talk .pane-rail-btn{color:#bba0e9}.talk-head{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.talk-head-title{color:var(--dk-ink-soft)}.ls-btn{box-shadow:var(--dk-glow)}.ls-caret{border-right:2px solid var(--dk-line);border-bottom:2px solid var(--dk-line)}.lls-pop{background:var(--dk-surface);border:1px solid var(--dk-line)}.lls-vol{background:#573b008c;border-bottom:1px dashed var(--dk-line)}.lls-vol b{color:#f5a85c}.lls-item:hover{background:#5134068c}.lls-item.active{background:#1740298c}.lls-item.active .lls-name{color:#9aefc6}.lls-cur{color:#9aefc6;background:#1641298c}.lls-err{color:#f56b5c;background:#4e08088c;border-top:1px solid var(--dk-line)}.care-in-top{background:linear-gradient(135deg,#5700238c,#5700238c);color:#f55c99;box-shadow:var(--dk-glow)}.learn-fb-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.learn-fb-src.src-session{background:#1442298c;color:#9aefc6}.learn-fb-src.src-reading{background:#072a508c;color:#99c6f0}.learn-fb-src.src-care{background:#5700238c;color:#f55c99}.learn-fb-like{color:#99c6f0;background:#072a508c}.learn-fb-comment{color:#a0bee9;background:var(--dk-surface)}.learn-care-pop{background:var(--dk-surface)}.learn-care-head{background:linear-gradient(90deg,#5700238c,#5700238c);border-bottom:1px solid var(--dk-line)}.learn-care-head b,.learn-care-hint{color:#f55ca6}.learn-care-x{background:var(--dk-surface);color:#f55ca6}.learn-care-body{background:var(--dk-surface)}.route-busy{background:#5735008c}.route-busy-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.route-busy-card.err{border-color:var(--dk-line)}.route-busy-card.err .route-busy-txt{color:#f5755c}.reader-panel{background:linear-gradient(180deg,#5745008c,#5738008c);border:1px solid var(--dk-line)}.reader-toolbar{background:#573b008c;border-bottom:1px dashed var(--dk-line)}.rtool{background:linear-gradient(180deg,#573a008c,#573a008c);border-bottom:1px solid var(--dk-line)}.rtool-gap,.rtool-divider{background:#4232148c}.rt-zoom{background:var(--dk-surface);color:#f5ad5c}.rt-zoom:hover:not(:disabled){background:#5737008c}.rt-pct{background:var(--dk-surface);border:1px solid var(--dk-line);color:#b0a0e9}.rt-pct.resetable:hover{background:#2000578c}.rt-group-label,.rate-select-label{color:#f5ba5c}.rate-select-box{background:var(--dk-surface);color:#f5ad5c}.talk-head .rate-select-label{color:var(--dk-ink-soft)}.talk-head .rate-select-box{border-color:var(--dk-line);color:#b3a0e9}.rt-rate{background:#4335148c}.rt-rate-btn{color:#f5bd5c}.rt-rate-btn.active{background:var(--dk-surface);color:#f58a5c}.rt-speak,.rt-speak.on{box-shadow:var(--dk-glow)}.rt-stop{background:var(--dk-surface);border:1px solid var(--dk-line);color:#bba0e9}.rt-stop:hover{background:#2800578c}.rt-ai-tag{background:#5128068c;color:#f58a5c}.rt-ai-tag button{background:var(--dk-surface);color:#f5875c}.rt-ai-tag button:hover{background:#572a008c}.rt-meta{color:#f5bd5c}.rt-page{color:#f5ad5c;background:var(--dk-surface);border:1px solid var(--dk-line)}.rt-page i{color:#f5ba5c}.rt-min{background:var(--dk-surface);border:1px solid var(--dk-line);color:#f5ad5c}.rt-top{box-shadow:var(--dk-glow)}.view-seg{background:#4233148c}.view-seg-btn.active{background:var(--dk-surface);color:#f58f5c}.col-min-btn{background:var(--dk-surface);border:1.5px solid var(--dk-line);color:#f5ad5c}.col-min-btn:hover:not(:disabled){background:#5734008c}.zoom-btn{background:var(--dk-surface);color:#f5ad5c}.zoom-btn:hover:not(:disabled){background:#573e008c}.zoom-pct{color:#a591f8}.zoom-reset{color:#f5b85c}.zoom-reset:hover{color:#f58a5c}.pl-btn{background:var(--dk-surface);border:1.5px solid var(--dk-line);color:#bba0e9}.pl-btn:hover{background:#2800578c}.pl-btn.restart{color:#f58f5c}.pl-chip{color:#f58a5c;background:#572d008c}.pl-status{color:#f5b85c}.pl-status.paused{color:#f58a5c}.pl-rate .rate-btn{background:var(--dk-surface);border:1.5px solid var(--dk-line)}.reader-pdf-miss{color:#f5c75c;background:#5744008c}.text-mode{color:var(--dk-ink)}.para-block-head{border-left:3px solid var(--dk-line)}.para-block-tag{color:#9faae9;background:#0d1c4a8c}.para-block-title{color:#b1a0e9}.para-block-head.listening .para-block-tag{color:#9fdbe9;background:#1339448c}.para-block-head.reading .para-block-tag{color:#a6e9a0;background:#1e3f188c}.para-block-head.exercise .para-block-tag{color:#f5b55c;background:#4a350d8c}.para:hover{background:#573d008c}.para-no{color:#f5b25c}.para.reading{background:#5745008c}.text-mode-tip{color:#f5b85c;background:#573b008c;border:1px dashed var(--dk-line)}.pdf-focus-banner{background:#5747008c;color:#fcd054}.pdf-btn{background:var(--dk-surface);border:1.5px solid var(--dk-line);color:#f5ad5c}.pdf-page-ind{color:#bea0e9}.pdf-page-ind i{color:#f5b85c}.pdf-canvas-wrap{background:repeating-linear-gradient(45deg,#3f32188c,#3f32188c 12px,#3f33188c 12px,#3f33188c 24px)}.pdf-page-cap{color:#f5b85c;background:var(--dk-surface);border:1px dashed var(--dk-line)}.pdf-page-canvas{background:var(--dk-surface);box-shadow:var(--dk-glow)}.pdf-canvas{background:var(--dk-surface)}.pdf-page-loading{color:#f5b85c;background:var(--dk-surface)}.pdf-loading-hint{background:var(--dk-surface)}.pdf-hint{color:#f5b85c}.para-chip{color:#f5a85c;background:#5747008c}.me-bubble{background:linear-gradient(135deg,#571d008c,#5700238c);color:#f5915c}.read-card{background:var(--dk-surface);border:1px dashed var(--dk-line)}.read-head{color:#a591f8}.listen-card{background:var(--dk-surface);border:1px dashed var(--dk-line)}.listen-hint{color:#9db3ec;background:#0023578c}.listen-hint-inline{color:var(--dk-ink-soft)}.read-done-tag{color:#9cecbc;background:#1443278c}.read-fb.ok{background:#10461d8c;color:#9cecbc}.read-fb.no{background:#572b008c;color:#f5b55c}.read-fb-comment{color:var(--dk-ink)}.listen-lines{border:1px solid var(--dk-line);background:var(--dk-surface)}.listen-who{color:#91aef8}.listen-en{color:#a0a0e9}.listen-cn{color:var(--dk-ink-soft)}.shadow-card{background:var(--dk-surface);border:1px dashed var(--dk-line)}.shadow-intro{background:#0028578c;border:1px dashed var(--dk-line);color:#a0a0e9}.shadow-row{border:1px solid var(--dk-line);background:var(--dk-surface)}.shadow-row.done{border-color:var(--dk-line);background:var(--dk-surface)}.shadow-row-top .shadow-en{color:#a0a0e9}.shadow-row-top .shadow-cn{color:var(--dk-ink-soft)}.shadow-why{color:#9db3ec;background:#0d224a8c}.shadow-btn.ghost{background:#0d224a8c;color:#9db3ec}.shadow-tip{color:var(--dk-ink-soft)}.shadow-score{color:#9db3ec}.shadow-fb,.shadow-summary{color:#9cecbc;background:#10461d8c}.trans-card{background:var(--dk-surface);border:1px dashed var(--dk-line)}.trans-row{border:1px solid var(--dk-line);background:var(--dk-surface)}.trans-row.done{border-color:var(--dk-line);background:var(--dk-surface)}.trans-cn{color:#a0a0e9}.trans-no{color:#a591f8}.trans-input{border:1px solid var(--dk-line)}.trans-tip{color:var(--dk-ink-soft)}.trans-ref{color:var(--dk-ink);background:#0010578c}.trans-ref-note{color:var(--dk-ink-soft)}.trans-lock-hint{color:#f5c95c;background:#503a078c}.trans-result.ok{background:#10461d8c;color:#9cecbc}.trans-result.no{background:#572b008c;color:#f5b55c}.trans-err{color:#f5b55c}.trans-err-span{color:#f5945c}.trans-done{color:#9cecbc;background:#10461d8c}.chat-card{background:var(--dk-surface)}.chat-bubble-box{background:#0017578c;color:#a0a0e9}.chat-bubble.me .chat-bubble-box{background:#1443278c}.chat-typing,.chat-hints-title{color:var(--dk-ink-soft)}.chat-hint-chip{background:var(--dk-surface);color:#9cecbc}.chat-hint-chip:hover{background:#1046288c}.chat-turns{color:#c4e9a0}.chat-help-tip{color:#9db3ec;background:#0d224a8c}.chat-speak-toggle{color:var(--dk-ink-soft)}.chat-used{color:var(--dk-ink)}.chat-used-chip{background:#1443278c;color:#9cecbc}.chat-used-chip.alt{background:#0d224a8c;color:#9db3ec}.chat-ended{color:var(--dk-ink)}.read-prompt{color:#bea0e9;background:#1e00578c}.rec-panel.recording{background:#5700008c}.rec-time{color:#f56b5c}.btn-rec.submit{box-shadow:var(--dk-glow)}.btn-rec.retry{background:#210d498c;color:#b3a0e9}.grade{background:#5738008c}.grade.good{background:#0d4a268c}.grade-stars b{color:#f5ba5c}.narr-speak-bar{border-top:1px dashed var(--dk-line)}.narr-speak-btn.ghost{background:var(--dk-surface);color:var(--dk-ink-soft);border:1.5px solid var(--dk-line)}.narr-speaking-hint{color:#a591f8}.narr-speaking-hint.paused{color:#f58a5c}.btn-teacher{background:var(--dk-surface);border:2px solid var(--dk-line);color:#f5995c}.btn-teacher:hover{background:var(--dk-surface)}.teacher-topbar{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.teacher-stats span{background:#572b008c;color:#f5995c}.teacher-tabs button,.teacher-tabs button.active{background:var(--dk-surface)}.teacher-filter{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.tf-input,.tf-select{border:2px solid var(--dk-line);background:var(--dk-surface)}.btn-ghost{background:#2400578c;color:var(--violet-ink)}.btn-ghost:hover{background:#2000578c}.legend-item,.record-row,.progress-row,.record-row-main,.progress-row-main{background:var(--dk-surface)}.record-row-main:hover,.progress-row-main:hover{background:#5733008c}.rr-lesson,.pr-lesson{color:#f5995c}.rr-mastery b.green,.pr-mastery b.green,.td-meter b.green{color:var(--green-ink)}.rr-mastery b.yellow,.pr-mastery b.yellow,.td-meter b.yellow{color:var(--yellow-ink)}.rr-mastery b.red,.pr-mastery b.red,.td-meter b.red{color:var(--red-ink)}.rr-open{color:var(--violet-ink)}.pr-fail-n{color:var(--red-ink);background:#5700008c}.st-run{background:#0030578c;color:#9fcce9}.st-retry{background:#573a008c;color:#f5bd5c}.st-pass{background:#12442b8c;color:#99f0c4}.st-fail{background:#5700008c;color:#f55c5c}.record-row-detail{border-top:1px dashed var(--dk-line);background:var(--dk-surface)}.td-meter{background:var(--dk-surface);border:1px solid var(--dk-line)}.td-meter-label i.green{color:var(--green-ink)}.td-meter-label i.yellow{color:var(--yellow-ink)}.td-meter-label i.red{color:var(--red-ink)}.td-meter-track{background:#1b00578c}.td-block-title{color:#f5995c}.td-exp{background:var(--dk-surface);border:1px solid var(--dk-line)}.td-exp-head b{color:#a0b2e9}.td-exp-score.ok{color:#9cecbc;background:#15422a8c}.td-exp-score.mid{color:#f5b55c;background:#5134068c}.td-exp-score.bad{color:#f57b5c;background:#4f0b088c}.td-exp-time{color:#a0b1e9}.td-exp-aim{color:#a0b6e9}.td-exp-cell span{color:#a0b1e9}.td-exp-cell b{color:#a0b2e9}.reading-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.grade-stars.sm b{color:#f5ba5c}.reading-comment{color:#f5b25c}.unit-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.u-correct{background:#12442b8c;color:#99f0c4}.u-revealed{background:#573a008c;color:#f5bd5c}.u-wrong{background:#5700008c;color:#f55c5c}.u-na{background:#26183f8c;color:var(--dk-ink-soft)}.unit-cell{background:var(--dk-surface)}.unit-fb-bar{border-top:1px dashed var(--dk-line)}.fb-like{border:1px solid var(--dk-line);background:var(--dk-surface)}.fb-like.on{background:#5735008c;color:#fcc754}.fb-comment-btn,.fb-comment-editor textarea{border:1px solid var(--dk-line);background:var(--dk-surface)}.fb-teacher-note{background:#5737008c;color:#f5c95c}.fb-reviewed{color:#f5bd5c}.unit-fb-comment{color:#f5c95c;background:#5737008c}.id-list li::marker{color:var(--brand-ink)}.sc-card{background:var(--dk-surface)}.sc-cover{background:linear-gradient(135deg,#5735008c,#5724008c)}.sc-title{color:#f5a85c}.sc-meter-track{background:#3f31188c}.sc-mastery.green{color:var(--green-ink)}.sc-mastery.yellow{color:var(--yellow-ink)}.sc-mastery.red{color:var(--red-ink)}.sc-flag.wrong{background:#5700008c;color:#f55c5c}.sc-flag.weak{background:#26183f8c;color:#b1a0e9}.sc-session,.sc-session-main{background:var(--dk-surface)}.sc-session-main:hover{background:#5731008c}.sc-retry{color:#f5bd5c;background:#573a008c}.sc-session-detail{border-top:1px dashed var(--dk-line);background:var(--dk-surface)}.care-panel{background:var(--dk-surface)}.care-panel.violet{background:#1600578c}.care-title{color:#f55c78}.care-panel.violet .care-title{color:#b3a0e9}.care-task{background:var(--dk-surface);border:1px solid var(--dk-line)}.care-panel.violet .care-task,.care-task.submitted{border-color:var(--dk-line)}.care-task-title{color:#f5a85c}.care-task-hint{color:#f5c95c;background:#573e008c}.care-status{color:#99f0c4;background:#12442b8c}.care-status.wait{color:#f5c95c;background:#573a008c}.care-thumb{border:1px solid var(--dk-line)}.care-publish-msg{color:#99f0c4}.care-sub-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.care-sub-task{color:#f5c95c}.care-sub-thumb{border:1px solid var(--dk-line)}.care-sub-state{color:#99f0c4}.vcall-state{background:var(--dk-surface)}.vcall-head .btn-ghost,.field-label{color:#a0d2e9}.vcall-divider{color:#a0d3e9}.vcall-members{color:#a0d2e9}.vcall-engine-note{color:#a0d3e9}.nt-badge{border:1.5px solid var(--dk-line)}.rguide-hint{color:#b8a0e9}.msg-row .guide-card .bubble{border-color:var(--dk-line);background:var(--dk-surface)}.vclass-card{background:var(--dk-surface)}.vclass-card .vcall-code b,.vclass-strip,.vclass-members{color:#bea0e9}.vclass-self{border:2px solid var(--dk-line)}.vclass-empty{color:#bda0e9;background:#250e488c;border:1px dashed var(--dk-line)}.vclass-tile-ph{color:#a0d4e9}.vclass-roster{background:var(--dk-surface);border:1px solid var(--dk-line)}.vclass-roster-title{color:#bea0e9}.vclass-roster-row{background:var(--dk-surface)}.vclass-roster-name{color:#bba0e9}.vclass-row-btn{background:#250d4a8c;color:#bea0e9}.vclass-row-btn:hover{background:#270f488c}.vclass-row-btn.danger{background:#5709008c;color:#f56b5c}.vclass-row-btn.hot{background:#0a3c4d8c;color:#91e0f7}.llg{border:1px solid var(--dk-line);background:var(--dk-surface)}.llg.cur{border-color:var(--dk-line);background:var(--dk-surface)}.llg.lock{background:var(--dk-surface);border-color:var(--dk-line)}.llg.lock .llg-head .llg-name{color:var(--dk-ink-soft)}.llg-cur{color:#9aefc6;background:#183f258c}.llg-lock{color:#f58a5c;background:#5121068c}.llg-list{border-top:1px dashed var(--dk-line)}.hv-board{border:1px solid var(--dk-line);background:linear-gradient(180deg,var(--dk-surface),hsla(174,45%,17%,.55))}.hv-meta b{color:#a0dee9}.hv-done-tag{background:#1740308c;color:#a0e9e5}.hv-meta span{color:#a0dae9}.hv-btn{border:1px solid var(--dk-line);background:var(--dk-surface);color:#a0e9e5}.hv-btn:hover{background:#183f3b8c}.hv-frame{border:1px solid var(--dk-line)}.hv-board:fullscreen,.hv-board.is-immersive{background:var(--dk-surface)}.hv-foot{color:#a0dae9}.hv-foot.is-done{color:#a0e9e5}.hg-board{border:1px solid var(--dk-line);background:linear-gradient(180deg,var(--dk-surface),hsla(174,45%,17%,.55))}.hg-board-meta b{color:#a0dee9}.hg-board-meta span{color:#a0dae9}.hg-board-frame{border:1px solid var(--dk-line)}.hg-board-left{border:1px dashed var(--dk-line);background:var(--dk-surface);color:#a0e9e4}.hg-round{border:1px solid var(--dk-line);background:linear-gradient(180deg,var(--dk-surface),hsla(174,45%,17%,.55))}.hg-head-title{color:#a0dee9}.hg-head-score{color:#a0dae9}.hg-head-acc.ok{color:#97f2ea;background:#14423b8c}.hg-head-acc.low{color:#f55c5c;background:#5403038c}.hg-head-bar{background:#183f3c8c}.hg-head-sub{color:#a0dde9}.hg-points{color:#a0dbe9}.hg-point{background:var(--dk-surface);border:1px solid var(--dk-line);color:#a0e9e5}.hg-lead{color:#a0dbe9}.hg-question{color:#a0d9e9}.hg-msg{color:#a0e9e5}.hg-tip{color:var(--dk-ink-soft)}.hg-opt{border:1px solid var(--dk-line);background:var(--dk-surface);color:#a0d9e9}.hg-opt.right{background:#1344388c;color:#9aefe9}.hg-opt.wrong{background:#5007078c;color:#f55c5c}.hg-hole{border:2px dashed var(--dk-line);background:var(--dk-surface);color:#a0dee9}.hg-hole.up{background:var(--dk-surface);color:#a0dee9}.hg-hole.right{background:#1344388c}.hg-hole.wrong{background:#5007078c}.hg-orbit{background:radial-gradient(circle at 50% 50%,#1046468c,#183f3d8c)}.hg-ball{background:var(--dk-surface)}.hg-ball.right{background:#1344388c}.hg-ball.wrong{background:#5007078c}.hg-lane{border:1px solid var(--dk-line);background:repeating-linear-gradient(90deg,var(--dk-surface),var(--dk-surface) 22px,var(--dk-surface) 22px,var(--dk-surface) 44px)}.hg-lane.right{background:#1344388c}.hg-lane.wrong{background:#5007078c}.hg-card{border:1px solid var(--dk-line);background:var(--dk-surface)}.hg-card-arrow{color:#a0dee9}.hg-card.right{background:#1344388c}.hg-card.wrong{background:#5007078c}.hg-pair-card{border:1px solid var(--dk-line);background:var(--dk-surface)}.hg-pair-card.picked{box-shadow:var(--dk-glow)}.hg-pair-card.matched{background:#1344388c;color:#9aefe9}.hg-pair-card.wrong{background:#5007078c}.hg-frame{border:2px dashed var(--dk-line);background:var(--dk-surface)}.hg-frame-year{color:#a0e9e5}.hg-frame-slot{color:#a0dee9}.hg-frame.filled{background:var(--dk-surface)}.hg-frame.filled .hg-frame-slot{color:#9aefe9}.hg-frame.wrong{background:#4f07078c}.hg-polaroid{border:1px solid var(--dk-line);background:var(--dk-surface)}.hg-seq-target{color:#a0dbe9}.hg-seq-target b{color:#a0e9e5}.hg-seq-chip{border:1px solid var(--dk-line);background:var(--dk-surface)}.hg-seq-chip.next{box-shadow:var(--dk-glow)}.hg-seq-chip.done{background:#1344388c;color:#9aefe9}.hg-seq-chip.wrong{background:#5007078c}.hg-hint{color:#a0e9e5}.hg-done b{color:#a0dee9}.hg-done span{color:#a0dde9}.module-card{background:var(--dk-surface)}.module-card.active{border-color:var(--dk-line)}.readhome-topbar .btn-back,.readhome-topbar .btn-back:hover{background:var(--dk-surface)}.readhome-hero-tip{background:#573e008c;color:#f5c75c}.readhome-section-title{color:#98f0d7}.rbook-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.rbook-cover{background:linear-gradient(150deg,#5741008c,#5700208c 60%,#002d578c);border:1px solid var(--dk-line);box-shadow:var(--dk-glow)}.rbook-title{color:#a0e9de}.rbook-genre{color:#98f0d7;background:#183f298c}.rbook-brief{color:var(--dk-ink-soft)}.rbook-meter-track{background:var(--dk-surface)}.rbook-meter-txt{color:var(--dk-ink)}.rbook-stat{background:var(--dk-surface);border:1px solid var(--dk-line)}.rbook-expand{border-top:1px dashed var(--dk-line)}.rexp-title{color:#98f0d7}.rexp-node{background:var(--dk-surface);border:1px solid var(--dk-line);color:var(--dk-ink-soft)}.rexp-node.done{background:#183f298c;color:#9fe9c8}.rexp-node.cur{box-shadow:var(--dk-glow);background:#573d008c}.rexp-badge{background:#5741008c;color:#f5c75c}.rexp-badge.locked{background:var(--dk-surface);border-color:var(--dk-line);color:var(--dk-ink-soft)}.reading-topbar .btn-back:hover{background:var(--dk-surface)}.reading-topbar .lt-mapbtn{background:var(--dk-surface);border:1px solid var(--dk-line)}.reading-topbar .lt-mapbtn:hover{background:var(--dk-surface)}.rmap-hint{color:#95f4d9;background:#1740298c}.lt-donechip{background:#1344268c;border:1px solid var(--dk-line);color:#9aefc6}.reading-steps{background:var(--dk-surface)}.reading-map-label{color:#a0e9de}.rmap-node{background:var(--dk-surface);border:1px solid var(--dk-line);color:var(--dk-ink-soft)}.rmap-node.cur{box-shadow:var(--dk-glow)}.msg-row.storyteller .avatar{background:#5741008c}.bubble-tag{color:#95f4d6;background:#173f258c}.hud-pos{background:var(--dk-surface)}.light-quiz{background:var(--dk-surface);border:1px solid var(--dk-line);box-shadow:var(--dk-glow)}.light-quiz.done{background:var(--dk-surface)}.lq-lead{color:#f5c75c;background:#5741008c}.lq-tag{color:#98f0d7;background:#183f278c}.lq-opt{background:var(--dk-surface);border:1.5px solid var(--dk-line)}.lq-opt:hover:not(:disabled){background:#1641278c}.lq-opt.ok{background:#1442278c;color:#98f0d7}.lq-opt.bad{background:#5700008c}.lq-opt-id{background:var(--dk-surface)}.lq-opt-tick{color:#95f3d7}.lq-match-row{border:1px solid var(--dk-line);background:var(--dk-surface)}.lq-match-row.ok{background:#1442278c}.lq-opt.mini{background:var(--dk-surface);border:1.5px solid var(--dk-line)}.lq-opt.mini.ok{background:#1442278c}.lq-warn{color:#f58a5c}.lq-sort-zone{border:2px dashed var(--dk-line);background:var(--dk-surface)}.lq-sort-empty{color:var(--dk-ink-soft)}.lq-sort-pick{background:var(--dk-surface);border:1.5px solid var(--dk-line)}.lq-tree-root{color:#98f0d7;background:#183f258c}.lq-tree-branch.bad .lq-tree-label{color:#f58a5c}.lq-tree-input{border:1.5px solid var(--dk-line)}.lq-tree-answer{color:#95f4d6}.lq-tree-branch.ok{background:#1442278c}.lq-pass{background:#1442278c;color:#98f0d7}.lq-explain{color:var(--dk-ink-soft);background:var(--dk-surface)}.lq-explain.dim{color:#f5bd5c;background:#573e008c}.recbar-slot{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.recbar2{border:1px solid var(--dk-line);background:var(--dk-surface)}.recbar2.on{box-shadow:var(--dk-glow)}.recbar2-label{color:#a0e9de}.recbar2-dot{background:var(--dk-surface)}.recbar2-state{color:var(--dk-ink-soft)}.recbar2-busy{color:#f5bd5c}.recbar2-gear{background:var(--dk-surface);border:1px solid var(--dk-line);color:var(--dk-ink-soft)}.recbar2-gear:hover,.recbar2-gear.active{background:var(--dk-surface);color:#97f2d8}.recbar2-cfg{background:var(--dk-surface);border:1px solid var(--dk-line)}.recbar2-cfg-row{color:#a0e9c3}.recbar2-cfg-seg{background:var(--dk-surface)}.recbar2-cfg-seg button{color:var(--dk-ink-soft)}.recbar2-cfg-seg button.active{background:var(--dk-surface);color:#97f2d8}.recbar2-hint{color:var(--dk-ink-soft)}.recbar2-clock{color:#f58f5c}.recbar2-chip{color:var(--dk-ink-soft);background:var(--dk-surface)}.recbar2-chip.ok{color:#95f4d6}.recbar2-err{color:#f5615c}.recbar{border:1.5px solid var(--dk-line);background:var(--dk-surface)}.recbar.on{box-shadow:var(--dk-glow)}.recbar-title{color:#a0e9de}.recbar-desc{color:var(--dk-ink-soft)}.recbar-clock{color:#f58f5c}.recbar-cam{color:var(--dk-ink-soft);background:var(--dk-surface)}.recbar-ok{color:#95f4d6}.recbar-hint{color:var(--dk-ink-soft)}.recbar-status.ok{color:#95f4d6}.recbar-status.ok .btn-ghost{color:#97f2d8}.cta-sub{color:var(--dk-ink-soft)}.rfinish{background:linear-gradient(180deg,hsla(48,100%,17%,.55),var(--dk-surface))!important;border-color:var(--dk-line)!important}.rfinish-coins b{color:#f5ca5b}.rfinish-badges{color:#95f4d6}.rfinish-note{color:var(--dk-ink-soft)}.rfinish-progress{color:var(--dk-ink)}.rfinish-map-label{color:#98f0d7}.read-row .rr-reading-progress b{color:#95f4d6}.rr-badges i{color:#f5bd5c;background:#5740008c}.rr-video-n{color:#f69e5a}.video-row{border-bottom:1px solid var(--dk-line)}.rv-tag{color:#a0e9de}.rv-meta{color:var(--dk-ink-soft)}.rrec-pop,.rrec-body{background:var(--dk-surface)}.rrec-clear-bar{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.rrec-clear-txt{color:#e9a0c6}.rrec-clear-btn{background:var(--dk-surface);color:#f55c96}.rrec-clear-btn:hover:not(:disabled){background:#5700238c}.rrec-msg{color:#9cecbc;background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.rrec-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.rrec-book{color:#bea0e9}.rrec-chip{color:var(--dk-ink);background:var(--dk-surface);border:1px solid var(--dk-line)}.rrec-last{color:#f5bd5c;background:#573e008c}.rrec-badge{color:#f5a85c;background:#573a008c}.rbook-card.lock .rbook-cover{background:#3f34188c;color:var(--dk-ink-soft)}.rbook-lock-tag,.rbook-lock-txt{color:#f5855c;background:#5121068c}.rbook-lock-actions{color:#f5855c}.task-block{border:1px solid var(--dk-line);background:var(--dk-surface)}.task-block-tag{color:#b3a0e9;background:#1700578c}.rfinish-breakdown,.read-fb-hint{color:#bba0e9}.cta-err{color:#f56b5c}.nar-speaking{color:#a0c0e9;background:#0024578c}.listen-progress-bar{background:#2515428c}.listen-progress-txt{color:#bba0e9}.nar-line.note{background:#1a00578c;color:#b5a0e9}.parent-top{background:var(--dk-surface);border:1px solid var(--dk-line)}.parent-id h1{color:#b3a0e9}.parent-badge{color:#b6a0e9;background:#1d00578c}.parent-stu-pick{color:#b3a0e9}.parent-stu-pick select{border:1px solid var(--dk-line);color:#b1a0e9;background:var(--dk-surface)}.parent-err{background:#5700118c;border:1px solid var(--dk-line);color:#f55c85}.parent-empty-bridge{background:#5737008c;border:1px dashed var(--dk-line);color:#f5bd5c}.parent-empty-bridge b{color:#f7d482}.parent-tabs{background:var(--dk-surface);border:1px solid var(--dk-line)}.parent-tab{color:#b8a0e9}.parent-tab:hover{background:#25094e8c;color:#b3a0e9}.parent-sec-head b,.parent-sec-sub{color:#b3a0e9}.parent-loading,.parent-empty{color:#b1a0e9}.emp-group{background:var(--dk-surface);border:1px solid var(--dk-line)}.emp-no{background:#1b00578c;color:#b3a0e9}.emp-input{border:1px solid var(--dk-line);color:#b2a0e9;background:var(--dk-surface)}.emp-input:focus{background:var(--dk-surface)}.emp-del{border:1px solid var(--dk-line);background:var(--dk-surface);color:#f55c85}.emp-fb{border-top:1px dashed var(--dk-line);color:#b5a0e9}.emp-fb-like{color:#b3a0e9}.emp-fb-like.on{color:#9cecbc}.emp-fb-cmt{color:#b1a0e9}.emp-fb-time{color:#b3a0e9}.emp-add{background:var(--dk-surface);color:#b3a0e9}.emp-save{box-shadow:var(--dk-glow)}.emp-msg{color:#9cecbc}.ov-stat{background:var(--dk-surface);border:1px solid var(--dk-line)}.ov-stat span,.ov-stat b,.ov-stat b i{color:#b3a0e9}.ov-block{background:var(--dk-surface);border:1px solid var(--dk-line)}.ov-block-title{color:#b3a0e9}.ov-row{background:var(--dk-surface)}.ov-name{color:#b1a0e9}.ov-subj{color:#b3a0e9;background:#1e0f488c}.ov-cell{color:#b3a0e9}.ov-lesson{border:1px solid var(--dk-line);background:var(--dk-surface)}.ov-lesson:hover:not(:disabled){background:#1b00578c}.ovl-title{color:#b2a0e9}.ovl-sub,.ovl-go{color:#b3a0e9}.ia-row{background:var(--dk-surface);border:1px solid var(--dk-line)}.ia-vol{color:#b3a0e9;background:#1b00578c}.ia-lesson{color:#b1a0e9}.ia-like{color:#f5ca5b}.ia-time{color:#b3a0e9}.ia-prompt{color:#b0a0e9;background:var(--dk-surface)}.ia-comment{color:#a0e9be}.emp-panel{background:var(--dk-surface)}.emp-date-bar,.emp-date-bar.student{background:var(--dk-surface);border-bottom:1px solid var(--dk-line)}.emp-date-pick{color:#b3a0e9}.emp-date-input{border:1px solid var(--dk-line);color:#b1a0e9;background:var(--dk-surface)}.emp-date-today{border:1px solid var(--dk-line);background:#1e00578c;color:#b3a0e9}.emp-date-count{color:#b5a0e9}.emp-date-count b{color:#b3a0e9}.emp-date-count.full b{color:#f55c99}.emp-date-his-label{color:#b3a0e9}.emp-date-his{border:1px solid var(--dk-line);background:var(--dk-surface);color:#b3a0e9}.emp-panel-body{background:var(--dk-surface)}.emp-card{background:var(--dk-surface);border:1px solid var(--dk-line)}.emp-card-event,.emp-card-emp{color:#b2a0e9}.emp-card-emp{color:#b5a0e9}.emp-card-tag{background:#001a578c;color:#a0b2e9}.emp-card-tag.pink{background:#5700208c;color:#f55c99}.emp-card-actions{border-top:1px dashed var(--dk-line)}.emp-like{background:#573a008c;color:#f5ca5b}.emp-like.on{background:#1046258c;color:#9cecbc}.emp-card-hint{color:#b3a0e9}.emp-cmt-input{border:1px solid var(--dk-line);color:#b2a0e9;background:var(--dk-surface)}.emp-cmt-input:focus{background:var(--dk-surface)}.emp-cmt-len{color:#b3a0e9}.emp-cmt-len.ok{color:#9cecbc}.emp-cmt-saved{color:#b1a0e9;background:#1a00578c}.emp-panel-msg{color:#9cecbc}.scaf-card{background:var(--dk-surface)}.scaf-label{color:#b1a0e9}.scaf-input{border:1px solid var(--dk-line);color:#b2a0e9;background:var(--dk-surface)}.scaf-input:focus{background:var(--dk-surface)}.scaf-dash{color:#b3a0e9}.scaf-gift-prev{border:1px solid var(--dk-line)}.scaf-foot{border-top:1px solid var(--dk-line)}html[data-theme=dark] .ai-role-banner{background:#101816;border-color:#2f4a40}html[data-theme=dark] .ai-role-name{color:#8fd0b0}html[data-theme=dark] .ai-role-purpose{color:#d7e8df}html[data-theme=dark] .ai-role-how{color:#8aa698}html[data-theme=dark] .ai-program-panel{background:#152036;border-color:#3a5a78}html[data-theme=dark] .ai-program-title,html[data-theme=dark] .ai-program-rows{color:#c8d6f0}html[data-theme=dark] .ai-program-out{background:#101816}html[data-theme=dark] .ai-insight{background:#1e322a;border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .ai-exp-card{background:linear-gradient(165deg,#1a2420,#15201c);border-color:#2f4a40}html[data-theme=dark] .ai-exp-speak p,html[data-theme=dark] .ai-exp-hint,html[data-theme=dark] .ai-exp-checklist label,html[data-theme=dark] .ai-fallback-body{color:#d7e8df}html[data-theme=dark] .ai-exp-label,html[data-theme=dark] .ai-exp-table-head{color:#8fd0b0}html[data-theme=dark] .ai-exp-record-note textarea,html[data-theme=dark] .ai-exp-table-row,html[data-theme=dark] .ai-exp-table-row input,html[data-theme=dark] .ai-exp-table-row select{background:#101816;border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .ai-chip-label{color:#8fd0b0}html[data-theme=dark] .ai-chip{background:#15201c;border-color:#3d6a56;color:#d7e8df}html[data-theme=dark] .ai-chip.on{background:#2f8f6b;border-color:#2f8f6b;color:#fff}html[data-theme=dark] .ai-learn-col h4{color:#8fd0b0}html[data-theme=dark] .ai-learn-card{background:#101816;border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .ai-learn-card.rule{background:#152036;border-color:#3a5a78}html[data-theme=dark] .ai-learn-card.examples{background:#1e322a;border-color:#3d6a56}html[data-theme=dark] .ai-learn-tag{color:#8fd0b0}html[data-theme=dark] .ai-learn-card.rule .ai-learn-tag{color:#a8c0e8}html[data-theme=dark] .ai-learn-note{color:#8aa698}html[data-theme=dark] .ai-learn-bridge{background:#15201c;border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .ai-learn-ok{background:#1e322a;color:#d7e8df}html[data-theme=dark] .subj-ai .reader-col{background:#0f1614}html[data-theme=dark] .ai-wb-min{background:#15201c;border-color:#2f4a40;color:#b7d8c8}html[data-theme=dark] .ai-wb-min:hover:not(:disabled){background:#1d2e28;border-color:#45705c}html[data-theme=dark] .ai-wb-hint,html[data-theme=dark] .ai-wb-stage,html[data-theme=dark] .ai-wb-table-wrap,html[data-theme=dark] .ai-wb-text-preview{background:#101816;border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .ai-wb-hint p{color:#d7e8df}html[data-theme=dark] .ai-wb-hint p+p{color:#b7d8c8}html[data-theme=dark] .ai-wb-mod{background:#24352e;color:#8aa698}html[data-theme=dark] .ai-wb-mod.on{background:#2f8f6b;color:#fff}html[data-theme=dark] .ai-wb-tabs button{background:#15201c;border-color:#3d6a56;color:#d7e8df}html[data-theme=dark] .ai-wb-tabs button.on{background:#2f8f6b;color:#fff}html[data-theme=dark] .ai-wb-table th{background:#15201c;color:#8fd0b0}html[data-theme=dark] .ai-wb-table td{border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .subj-ai .ai-chat-workbench-tip{background:#1e322a;border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .ai-ext-steps{background:#15201c;border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .ai-ext-steps span{color:#8aa698}html[data-theme=dark] .ai-ext-opened-hint{color:#8fd0b0}html[data-theme=dark] .ai-ext-phenom-row{background:#101816;border-color:#2f4a40}html[data-theme=dark] .ai-ext-phenom-q{color:#d7e8df}html[data-theme=dark] .ai-ext-shots{background:#101816;border-color:#2f4a40}html[data-theme=dark] .ai-ext-shots-head,html[data-theme=dark] .ai-ext-shot-caption{color:#d7e8df}html[data-theme=dark] .ai-ext-shot-caption span{color:#8aa698}html[data-theme=dark] .ai-ext-shot-nav,html[data-theme=dark] .ai-ext-shot-dots button{background:#15201c;border-color:#3d6a56;color:#d7e8df}html[data-theme=dark] .ai-ext-shot-dots button.on{background:#2f8f6b;border-color:#2f8f6b;color:#fff}html[data-theme=dark] .ai-ext-steps li.on{background:#1e322a}html[data-theme=dark] .ai-ext-step-shot{background:#1e322a;color:#8fd0b0}html[data-theme=dark] .img-missing{background:#101816;border-color:#2f4a40;color:#8aa698}html[data-theme=dark] .ai-learn-dot{background:#15201c;border-color:#3d6a56;color:#d7e8df}html[data-theme=dark] .ai-learn-dot.on{background:#2f8f6b;color:#fff}html[data-theme=dark] .ai-learn-dot.done{background:#1e322a;color:#8fd0b0}html[data-theme=dark] .ai-learn-page h4{color:#8fd0b0}html[data-theme=dark] .ai-learn-page p,html[data-theme=dark] .ai-learn-bullets,html[data-theme=dark] .ai-learn-steps{color:#d7e8df}html[data-theme=dark] .ai-learn-pile span{background:#1e322a;border-color:#3d6a56;color:#d7e8df}html[data-theme=dark] .ai-split-head b{color:#8fd0b0}html[data-theme=dark] .ai-split-head span{color:#8aa698}html[data-theme=dark] .ai-split-left{background:#101816;border-color:#2f4a40}html[data-theme=dark] .ai-std-box{background:#15201c;border-color:#2f4a40;color:#8aa698}html[data-theme=dark] .ai-std-box.on{background:#1e322a;color:#d7e8df}html[data-theme=dark] .ai-std-box span{color:#8fd0b0}html[data-theme=dark] .ai-lane{background:#15201c;border-color:#2f4a40}html[data-theme=dark] .ai-lane header em{color:#8fd0b0}html[data-theme=dark] .ai-lane header small,html[data-theme=dark] .ai-lane-wait{color:#8aa698}html[data-theme=dark] .ai-lane.active{background:#101816;border-color:#2f8f6b}html[data-theme=dark] .ai-lane.done{background:#101816;border-color:#3d6a56}html[data-theme=dark] .ai-lane-result,html[data-theme=dark] .ai-lane-meta{color:#d7e8df}html[data-theme=dark] .ai-lane-tip{color:#e09090}html[data-theme=dark] .ai-phase-title{color:#8fd0b0}html[data-theme=dark] .ai-phase-pills i{background:#24352e;color:#8aa698}html[data-theme=dark] .ai-phase-pills i.on{background:#2f8f6b;color:#fff}html[data-theme=dark] .ai-phase-pills i.done{background:#1e322a;color:#8fd0b0}html[data-theme=dark] .ai-verdict-flash{background:#101816;border-color:#2f4a40;color:#d7e8df}html[data-theme=dark] .ai-verdict-flash.ok{background:#1e322a;border-color:#3d6a56}html[data-theme=dark] .ai-verdict-flash.bad{background:#2a1818;border-color:#6a3d3d}html[data-theme=dark] .ai-verdict-flash.soft{background:#2a2418;border-color:#6a5a3d}html[data-theme=dark] .ai-verdict-std{color:#b7d8c8}html[data-theme=dark] .ai-tri-compare{background:#15201c;border-color:#2f4a40}html[data-theme=dark] .ai-tri-title{color:#8fd0b0}html[data-theme=dark] .ai-tri-grid>div{background:#101816;color:#d7e8df}html[data-theme=dark] .ai-tri-grid>div span{color:#8aa698}html[data-theme=dark] .ai-tri-grid>div b{color:#d7e8df}html[data-theme=dark] .ai-tri-grid>div.std{background:#1e322a}html[data-theme=dark] .ai-log-grid{background:#101816;border-color:#2f4a40}html[data-theme=dark] .ai-log-row{border-color:#2f4a40}html[data-theme=dark] .ai-log-row.head{background:#15201c;color:#8fd0b0}html[data-theme=dark] .ai-log-id,html[data-theme=dark] .ai-log-txt{color:#d7e8df}html[data-theme=dark] .ai-exp-branch-btn{background:#15201c;border-color:#3d6a56;color:#8fd0b0}html[data-theme=dark] .ai-fallback{background:#15201c;border-color:#2f4a40}html[data-theme=dark] .ai-fallback-bar button{color:#8fd0b0}html[data-theme=dark] .ai-fallback-bar button.on{background:#1e322a}html[data-theme=dark] .ai-gallery-stage{background:#101816;border-color:#2f4a40}html[data-theme=dark] .ai-gallery-cap,html[data-theme=dark] .ai-rule-hints{color:#b7d8c8}html[data-theme=dark] .ai-rule-banner{background:#152436;border-color:#3a5a78;color:#b8d0e8}html[data-theme=dark] .ai-ai-reply{background:#152036;color:#c8d6f0}html[data-theme=dark] .ai-gallery-nav>button{background:#15201c;border-color:#2f4a40;color:#8fd0b0}html[data-theme=dark] .ai-dot.miss{background:#101816;border-color:#6a7f74}html[data-theme=dark] .ai-dot.ok{background:#2f8f6b;border-color:#2f8f6b}html[data-theme=dark] .ai-auto-summary{background:#1e322a;border-color:#2f4a40;color:#b7d8c8}html[data-theme=dark] .ai-pending-hint,html[data-theme=dark] .ai-exp-force{background:#2a2418;border-color:#6a5a30;color:#e6d39a}html[data-theme=dark] .ai-exp-steps{color:#b7d8c8}.sent.active{background:#ffb02038;box-shadow:inset 0 0 0 2px #ffc846f2,0 0 16px #ffb02066;color:#fff;font-weight:600}.para.reading{background:#ffb0201f;box-shadow:inset 3px 0 #ffc93d;color:#fff}.bubble-text .bubble-voice.active{background:#784808eb;box-shadow:inset 0 0 0 1px #ffc846d9,0 0 12px #ffb02047;color:#fff}.para:hover{color:#fff}:root{--dk-modal-well: rgba(255, 255, 255, .07)}.pc-overlay,.ph-toast,.fb-overlay,.sr-overlay,.vtutor-mask,.auth-mask,.shop-mask,.portrait-overlay,.voice-mask,.tguide-mask{background:#080616d6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pc-card,.help-card,.shop,.emp-panel,.scaf-card,.fb-card,.auth-card,.sr-card,.ph-toast-card,.lls-pop,.rlls-pop,.rmap-pop,.bs-pop,.learn-care-pop,.learn-fb-pop,.rrec-pop,.vclass-card,.tguide-card{background:var(--dk-modal)}.pc-card input,.pc-card select,.pc-card textarea,.emp-panel input,.emp-panel select,.emp-panel textarea,.auth-card input,.auth-card select,.shop input,.shop select{background:var(--dk-modal-well);color:#fff}.reading-body .talk-head-title,.reading-body .talk-head .rate-select-label{color:#fff}.reading-body .talk-head .rate-select-box{color:#fff;border-color:#ffffff73}.shop-sec-caret.open{background:#a85a28;border-color:#a85a28}.rp-hero{background:linear-gradient(135deg,#6a4ae0,#4a63d8)}input,select,textarea{color:var(--dk-ink)}input::placeholder,textarea::placeholder{color:var(--dk-ink-soft);opacity:1}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{background-color:var(--dk-surface)}select option{color:#1f2430;background-color:#fff}select option.opt-locked{color:#6b7280}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1)}.math-vertex-label{fill:#fff}.math-angle-label{fill:#c6cfe8}.math-guide-label{fill:#b9a5ff}.math-readout{fill:#c6cfe8}.math-readout-sum{fill:#ffdf5c}.math-hint{fill:#c6cfe8}.poetry-stage{--ps-ink: #3b2f26;--ps-ink-soft: #7d6b5c;--ps-line: #eadfce;--ps-paper: #fffdf8;--ps-accent: #7c5cff;--ps-accent-soft: #f1ecff;--ps-ok: #2f9e5f;--ps-bad: #d64545;--ps-warn: #b07a1e;margin-top:16px;border-radius:20px;background:var(--ps-paper);border:1px solid var(--ps-line);box-shadow:0 10px 30px #3c281414;overflow:hidden;color:var(--ps-ink)}.poetry-stage.ancient{--ps-ink: #2f2a24;--ps-ink-soft: #6f6255;--ps-line: #d9c9ad;--ps-paper: #f8f1e0;--ps-accent: #a63a2b;--ps-accent-soft: #f6e9e4;background:radial-gradient(circle at 12% 8%,rgba(166,58,43,.06),transparent 42%),radial-gradient(circle at 88% 92%,rgba(60,90,60,.06),transparent 46%),repeating-linear-gradient(0deg,rgba(150,120,80,.045) 0 1px,transparent 1px 22px),#f8f1e0;border:1px solid #cbb894;box-shadow:0 0 0 4px #f3ead8,0 0 0 5px #cdb992,0 14px 36px #46321429}.poetry-stage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:linear-gradient(180deg,#7c5cff17,#7c5cff05);border-bottom:1px solid var(--ps-line)}.poetry-stage.ancient .poetry-stage-head{background:linear-gradient(180deg,#a63a2b1a,#a63a2b05);border-bottom:2px solid #cbb894}.poetry-stage-head-txt{display:flex;flex-direction:column;gap:3px;min-width:0}.poetry-stage-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--ps-accent);text-transform:uppercase}.poetry-stage.ancient .poetry-stage-eyebrow{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:12px;letter-spacing:4px}.poetry-stage-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:17px;font-weight:800;color:var(--ps-ink)}.poetry-stage.ancient .poetry-stage-title{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:20px;letter-spacing:1px}.poetry-stage-title i{font-style:normal;font-size:13px;font-weight:600;color:var(--ps-ink-soft)}.poetry-stage-head-actions{display:flex;gap:8px;flex-shrink:0}.poetry-stage-btn{border:1px solid var(--ps-line);background:#fff;color:var(--ps-ink-soft);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .12s,box-shadow .2s}.poetry-stage.ancient .poetry-stage-btn{background:#fffcf4e6;border-color:#cbb894;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif}.poetry-stage-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.poetry-stage-btn.close{width:32px;height:32px;padding:0;font-size:14px}.poetry-stage-body{display:grid;grid-template-columns:236px minmax(0,1fr);gap:0;align-items:stretch}.poetry-ai{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;background:linear-gradient(180deg,#fffdf8,#fbf6ec);border-right:1px dashed var(--ps-line);text-align:center}.poetry-stage.ancient .poetry-ai{background:linear-gradient(180deg,#fbf5e7,#f5ecd8);border-right:1px dashed #cdbb99}.poetry-ai-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;background:radial-gradient(circle at 30% 25%,#fff,#efe7ff 60%,#e3d7ff);border:2px solid #e2d8ff;box-shadow:0 6px 16px #7c5cff2e}.poetry-stage.ancient .poetry-ai-avatar{background:radial-gradient(circle at 30% 25%,#fffdf6,#f6e8d3 60%,#eedcc0);border-color:#d9c5a0;box-shadow:0 6px 16px #966e3c2e}.poetry-ai-name{font-size:12px;font-weight:800;color:var(--ps-ink);letter-spacing:1px}.poetry-ai-bubbles{display:flex;flex-direction:column;gap:8px;width:100%}.poetry-ai-bubble{position:relative;background:#fff;border:1px solid #ece4d6;border-radius:4px 14px 14px;padding:10px 12px;font-size:12.5px;line-height:1.65;color:#4a3d31;text-align:left;box-shadow:0 3px 10px #503c1e0d}.poetry-stage.ancient .poetry-ai-bubble{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:14px;background:#fffdf6;border-color:#e0cfae;border-radius:2px 12px 12px}.poetry-ai-bubble:before{content:"";position:absolute;left:-7px;top:8px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:7px solid #fff}.poetry-stage.ancient .poetry-ai-bubble:before{border-right-color:#fffdf6}.poetry-ai-foot{margin-top:auto;font-size:11px;line-height:1.6;color:var(--ps-ink-soft);border-top:1px dashed var(--ps-line);padding-top:10px;width:100%}.poetry-stage.ancient .poetry-ai-foot{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:12.5px}.poetry-work{padding:16px 18px 20px;min-width:0}.pch{--pch-ink: #352a22;--pch-soft: #7b6a5b;--pch-line: #e9dfd0;--pch-accent: #7c5cff;--pch-accent-2: #5e7cff;--pch-ok: #2f9e5f;--pch-bad: #d64545;color:var(--pch-ink)}.poetry-stage.ancient .pch{--pch-line: #ddcbab;--pch-accent: #a63a2b;--pch-accent-2: #c25a3f}.pch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px dashed var(--pch-line)}.pch-head-title{display:flex;flex-direction:column;gap:2px}.pch-head-title b{font-size:15px;font-weight:800}.pch-head-title span{font-size:12px;color:var(--pch-soft)}.pch-head-progress{display:flex;align-items:center;gap:10px}.pch-head-count{font-size:12px;color:var(--pch-soft)}.pch-head-count b{font-size:17px;color:var(--pch-accent)}.pch-head-dots{display:flex;gap:5px}.pch-head-dots i{width:9px;height:9px;border-radius:50%;background:#e7dfd3;display:block;transition:background .25s,transform .25s}.pch-head-dots i.on{background:var(--pch-ok);transform:scale(1.15)}.pch-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 14px}.pch-leveltab{display:flex;align-items:center;gap:8px;text-align:left;padding:9px 10px;border-radius:12px;border:1px solid var(--pch-line);background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .12s;min-width:0}.poetry-stage.ancient .pch-leveltab{background:#fffcf4d9;border-color:#ddcbab}.pch-leveltab:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #503c1e14}.pch-leveltab.cur{border-color:var(--pch-accent);box-shadow:0 0 0 2px #7c5cff29;background:#fbf9ff}.poetry-stage.ancient .pch-leveltab.cur{box-shadow:0 0 0 2px #a63a2b29;background:#fffaf0}.pch-leveltab.done{border-color:#bfe3cc;background:#f4fbf6}.pch-leveltab:disabled{opacity:.55;cursor:not-allowed}.pch-leveltab-no{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;background:var(--pch-accent)}.pch-leveltab.done .pch-leveltab-no{background:var(--pch-ok)}.pch-leveltab.lock .pch-leveltab-no{background:#cfc6ba}.pch-leveltab-txt{display:flex;flex-direction:column;min-width:0}.pch-leveltab-txt b{font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pch-leveltab-txt i{font-style:normal;font-size:10.5px;color:var(--pch-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pch-level{display:flex;flex-direction:column;gap:12px}.pch-level-head{display:flex;flex-direction:column;gap:3px}.pch-level-head b{font-size:14px;font-weight:800}.pch-level-head span{font-size:12px;color:var(--pch-soft);line-height:1.6}.pch-paper{position:relative;background:#fffefb;border:1px solid var(--pch-line);border-radius:14px;padding:16px 18px;box-shadow:inset 0 0 0 3px #fdfaf4,0 4px 14px #503c1e0d}.poetry-stage.ancient .pch-paper{background:repeating-linear-gradient(0deg,rgba(150,120,80,.05) 0 1px,transparent 1px 24px),#fffdf6;border-color:#ddcbab;box-shadow:inset 0 0 0 3px #faf3e4,0 4px 14px #785a3214}.pch-poem{display:flex;flex-direction:column;gap:6px}.pch-poem-line{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:20px;letter-spacing:2px;line-height:1.8;color:#2f2a24;text-align:center}.poetry-stage.ancient .pch-poem-line{font-size:22px;letter-spacing:3px}.pch-poem-pinyin .pch-poem-line{display:flex;flex-wrap:wrap;justify-content:center;gap:0;font-family:inherit}.pch-ruby{display:inline-flex;flex-direction:column;align-items:center;min-width:1.5em;margin:0 1px}.pch-ruby i{font-style:normal;font-size:10.5px;line-height:1.2;color:#9c8b7a;font-family:Times New Roman,serif;letter-spacing:0;white-space:nowrap}.pch-ruby b{font-weight:500;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;line-height:1.5}.pch-pinyin-note{margin-top:8px;text-align:center;font-size:11.5px;color:#9c8b7a}.pch-sign{margin-top:10px;text-align:right;font-size:12px;color:var(--pch-soft);font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif}.pch-btn{border:0;border-radius:12px;padding:9px 16px;font-size:13px;font-weight:800;cursor:pointer;transition:transform .12s,box-shadow .2s,opacity .2s;white-space:nowrap}.pch-btn:hover:not(:disabled){transform:translateY(-1px)}.pch-btn:disabled{opacity:.55;cursor:not-allowed}.pch-btn.primary{color:#fff;background:linear-gradient(90deg,var(--pch-accent),var(--pch-accent-2));box-shadow:0 6px 16px #7c5cff42}.poetry-stage.ancient .pch-btn.primary{background:linear-gradient(90deg,#a63a2b,#c25a3f);box-shadow:0 6px 16px #a63a2b3d}.pch-btn.ghost{background:#fff;color:var(--pch-ink);border:1px solid var(--pch-line)}.poetry-stage.ancient .pch-btn.ghost{background:#fffdf6;border-color:#ddcbab}.pch-btn.danger{color:#fff;background:linear-gradient(90deg,#e05a5a,#c93f3f);box-shadow:0 6px 16px #d645453d}.pch-btn.small{padding:6px 12px;font-size:12px}.pch-hint{font-size:11.5px;line-height:1.6;color:var(--pch-soft)}.pch-hint.warn{color:var(--pch-warn, #b07a1e);background:#fff8e6;border:1px solid #f0e0b8;border-radius:8px;padding:6px 10px}.pch-hint.ok{color:var(--pch-ok);background:#f1fbf5;border:1px solid #c8e9d5;border-radius:8px;padding:6px 10px}.pch-shadow-steps{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;margin:10px 0;border:1px dashed var(--pch-line);border-radius:12px;background:#fbf8f2;font-size:12px;color:var(--pch-soft)}.poetry-stage.ancient .pch-shadow-steps{background:#fbf5e7;border-color:#ddcbab}.pch-shadow-steps>span{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;background:#fff;border:1px solid var(--pch-line);color:#6d6156;transition:all .2s}.pch-shadow-steps>span i{font-style:normal;font-weight:700;color:#b08a56}.pch-shadow-steps>span b{color:#a63a2b}.pch-shadow-steps>span.on{background:#eef8ec;border-color:#b8dcaa;color:#3f6b34}.pch-shadow-steps>span.on i{color:#3f8b2c}.pch-shadow-steps>span.on b{color:#3f8b2c}.pch-shadow-steps>em{font-style:normal;color:#bdb0a0}.pch-shadow-steps>small{margin-left:auto;font-size:11.5px;color:#9a8b78}.pch-shadow-steps.done{border-style:solid;border-color:#b8dcaa;background:#f2faef}.pch-audio-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pch-record-box{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--pch-line);border-radius:14px;background:#fcfaf6}.poetry-stage.ancient .pch-record-box{background:#faf4e6;border-color:#ddcbab}.pch-record-dot{width:12px;height:12px;border-radius:50%;background:#d8cfc3;flex-shrink:0}.pch-record-dot.on{background:#e04444;box-shadow:0 0 #e0444480;animation:pch-pulse 1.3s infinite}@keyframes pch-pulse{70%{box-shadow:0 0 0 10px #e0444400}to{box-shadow:0 0 #e0444400}}.pch-record-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pch-record-info b{font-size:13px}.pch-record-info span{font-size:11.5px;color:var(--pch-soft)}.pch-result{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;border:1px solid var(--pch-line);background:#fcfaf6}.pch-result.ok{border-color:#c8e9d5;background:#f4fbf7}.pch-result.bad{border-color:#f2d2d2;background:#fdf5f5}.pch-result-score{display:flex;flex-direction:column;align-items:center;min-width:62px}.pch-result-score b{font-size:28px;line-height:1;color:var(--pch-accent)}.pch-result.ok .pch-result-score b{color:var(--pch-ok)}.pch-result.bad .pch-result-score b{color:var(--pch-bad)}.pch-result-score span{font-size:10px;color:var(--pch-soft);margin-top:2px}.pch-result-body{display:flex;flex-direction:column;gap:3px;min-width:0}.pch-result-body b{font-size:13px}.pch-result-body span{font-size:12px;color:var(--pch-soft);line-height:1.55}.pch-spot-poem{display:flex;flex-direction:column;gap:6px}.pch-spot-line{text-align:center;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:22px;letter-spacing:2px;line-height:1.9}.pch-spot-char{display:inline-block;border-radius:5px;padding:0 1px;transition:background .15s,color .15s,transform .15s}.pch-spot-char.clickable{cursor:pointer}.pch-spot-char.clickable:hover{background:#f4efe6}.pch-spot-char.found{color:#fff;background:#35a86a;font-weight:700;transform:scale(1.05);box-shadow:0 3px 10px #2f9e5f4d}.pch-spot-char.bad{color:#fff;background:#e05555;animation:pch-shake .34s}@keyframes pch-shake{25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.pch-spot-char.punct{cursor:default}.pch-spot-char.pending{background:#fff3cf;box-shadow:0 0 0 2px #e8b93a inset;border-radius:5px}.pch-spot-char.missed{color:#fff;background:#d64545;font-weight:700;box-shadow:0 3px 10px #d6454547}.pch-spot-out{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-radius:12px;background:#fdf4f4;border:1px solid #f2d2d2}.pch-spot-out>b{font-size:13px;color:#b83b3b}.pch-spot-out>span{display:flex;gap:10px;flex-wrap:wrap;font-size:15px;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif}.pch-spot-out>span i{font-style:normal;padding:3px 10px;border-radius:8px;background:#fff;border:1px solid #f0d6d6}.pch-spot-out>span i s{color:#d64545;text-decoration-thickness:2px}.pch-spot-out>em{font-style:normal;font-size:12px;color:var(--pch-soft)}.pch-spot-out>button{align-self:flex-start}.pch-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;border-radius:12px;background:#fffaf0;border:1px dashed #e2c477;animation:pch-fade-in .2s ease both}.pch-pick.bad{background:#fdf1f1;border-color:#e05555}.pch-pick-label{font-size:13px;font-weight:700;color:#8a6a2a}.pch-pick-label i{font-style:normal;font-weight:400;font-size:11.5px;color:#a3927a;margin-left:4px}.pch-pick-opts{display:flex;gap:8px}.pch-pick-btn{min-width:44px;padding:6px 14px;border-radius:10px;border:1px solid #d9cbb8;background:#fff;font-family:STKaiti,KaiTi,Kaiti SC,serif;font-size:19px;font-weight:700;color:var(--pch-ink);cursor:pointer;transition:transform .12s,border-color .15s,box-shadow .2s}.pch-pick-btn:hover{border-color:var(--pch-accent);transform:translateY(-1px);box-shadow:0 4px 12px #503c1e1f}@keyframes pch-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.pch-roundbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:8px 12px;border-radius:10px;background:var(--pch-accent-soft, #f1ecff);font-size:12.5px;color:var(--pch-accent);font-weight:700}.pch-roundbar i{font-style:normal;font-weight:400;color:var(--pch-soft);margin-left:6px}.pch-rounddots{display:flex;gap:5px}.pch-rounddots em{width:18px;height:6px;border-radius:3px;background:#ddd0bd;display:block}.pch-rounddots em.on{background:var(--pch-ok)}.pch-timeout{margin-top:10px;padding:10px 14px;border-radius:10px;background:#fff4f4;border:1px dashed #e0a0a0;font-size:12.5px;color:#b53939;font-weight:700}.pch-timeout .pch-btn{margin-left:8px}.pch-dictation{display:flex;flex-direction:column;gap:12px}.pch-dictation-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pch-dictation-count{font-size:12px;color:var(--pch-soft)}.pch-dictation-hint{display:flex;gap:18px;font-family:STKaiti,KaiTi,Kaiti SC,serif;font-size:17px;letter-spacing:4px;color:#a3927a;padding:8px 12px;border-radius:10px;background:#fbf7ee;border:1px dashed var(--pch-line)}.pch-dictation-input{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;border:1px solid var(--pch-line);background:#fffdf8;font-family:STKaiti,KaiTi,Kaiti SC,serif;font-size:18px;line-height:1.9;letter-spacing:2px;color:var(--pch-ink);resize:vertical;outline:none}.pch-dictation-input:focus{border-color:var(--pch-accent);box-shadow:0 0 0 3px var(--pch-accent-soft, #f1ecff)}.pch-dictation-diff{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px;border-radius:10px;background:#fbf7ee;border:1px dashed var(--pch-line)}.pch-dictation-diff span{display:flex;flex-direction:column;align-items:center;min-width:22px;font-size:11px;line-height:1.4}.pch-dictation-diff span i{font-style:normal;color:#b6a795}.pch-dictation-diff span b{font-family:STKaiti,KaiTi,Kaiti SC,serif;font-size:17px;font-weight:700}.pch-dictation-diff span.bad b,.pch-dictation-diff span.bad i{color:var(--pch-bad)}.pch-dictation-diff span.ok b{color:var(--pch-ok)}.pch-status-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pch-pill{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:#f5f1ea;color:var(--pch-soft);border:1px solid var(--pch-line)}.pch-pill b{color:var(--pch-accent)}.pch-pill.ok{background:#f1fbf5;border-color:#c8e9d5;color:#2f9e5f}.pch-pill.bad{background:#fdf4f4;border-color:#f2d2d2;color:#d64545}.pch-pill.tip{background:#f4f0ff;border-color:#e0d6ff;color:#6b4fd8}.pch-reveal{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.pch-reveal-item{padding:5px 12px;border-radius:10px;background:#f1fbf5;border:1px solid #c8e9d5}.pch-reveal-item s{color:#d64545;text-decoration-thickness:2px}.pch-reveal-item b{color:#2f9e5f}.pch-notes{list-style:none;margin:0;padding:10px 14px;display:flex;flex-direction:column;gap:6px;border-radius:12px;background:#fbf8f2;border:1px solid #ece3d5}.pch-notes li{display:flex;gap:8px;align-items:baseline;font-size:12.5px;line-height:1.7;color:var(--pch-soft)}.pch-notes li b{flex:none;min-width:20px;text-align:center;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:16px;color:var(--pch-accent)}.pch-notes li span{flex:1}.pch-fill-text{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:20px;line-height:2.2;letter-spacing:1px;text-align:center}.pch-fill-seg{white-space:pre-wrap}.pch-slot{display:inline-flex;align-items:center;justify-content:center;min-width:82px;height:38px;margin:0 4px;padding:0 8px;border-radius:8px;border:1.5px dashed #cbbca8;background:#fdfbf6;vertical-align:middle;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;font-family:inherit;font-size:17px}.pch-slot.over{border-color:var(--pch-accent);background:var(--pch-accent-soft, #f1ecff);box-shadow:0 0 0 3px #7c5cff24}.pch-slot.filled{border-style:solid;border-color:#cbb894;background:#fffdf7}.pch-slot.right{border-color:#35a86a;background:#f1fbf5;color:#237d48}.pch-slot.wrong{border-color:#e05555;background:#fdf1f1;color:#c03d3d;animation:pch-shake .34s}.pch-slot-ghost{font-size:11px;color:#b6a795;font-family:inherit}.pch-slot-word{font-weight:700;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif}.pch-chip-pool{display:flex;flex-wrap:wrap;gap:10px;padding:12px;border-radius:14px;background:#faf7f1;border:1px dashed var(--pch-line);min-height:58px}.poetry-stage.ancient .pch-chip-pool{background:#f8f1e0;border-color:#ddcbab}.pch-chip{border:1px solid #d9cbb8;background:#fff;color:var(--pch-ink);border-radius:10px;padding:8px 16px;font-size:15px;font-weight:700;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 2px 6px #503c1e14;transition:border-color .15s,box-shadow .2s,transform .12s}.pch-chip:hover:not(:disabled){border-color:var(--pch-accent);box-shadow:0 5px 12px #5a46281f}.pch-chip.selected{border-color:var(--pch-accent);background:var(--pch-accent-soft, #f1ecff);box-shadow:0 0 0 3px #7c5cff29}.pch-chip.dragging{z-index:999;cursor:grabbing;box-shadow:0 12px 26px #3c28143d;opacity:.94}.pch-timer{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:12px;background:#f7f4ee;border:1px solid var(--pch-line)}.pch-timer.urgent{background:#fdf1f1;border-color:#f0c8c8;animation:pch-urgent 1s ease-in-out infinite alternate}.pch-timer.out{background:#f3eeee;border-color:#e0d3d3}@keyframes pch-urgent{to{box-shadow:0 0 0 3px #e0555524}}.pch-timer-clock{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--pch-accent);min-width:86px}.pch-timer.urgent .pch-timer-clock,.pch-timer.out .pch-timer-clock{color:#d64545}.pch-timer-bar{flex:1;height:8px;border-radius:999px;background:#e7e0d5;overflow:hidden}.pch-timer-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c5cff,#5e7cff);transition:width .9s linear}.pch-timer.urgent .pch-timer-bar i,.pch-timer.out .pch-timer-bar i{background:linear-gradient(90deg,#f08a8a,#d64545)}.pch-timer-cap{font-size:11px;color:var(--pch-soft);white-space:nowrap}.pch-puzzle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:14px}.pch-puzzle-pool,.pch-puzzle-slots{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:#faf7f1;border:1px dashed var(--pch-line);align-content:flex-start}.poetry-stage.ancient .pch-puzzle-pool,.poetry-stage.ancient .pch-puzzle-slots{background:#f8f1e0;border-color:#ddcbab}.pch-col-title{font-size:11px;font-weight:800;color:var(--pch-soft);letter-spacing:1px;margin-bottom:2px}.pch-puzzle-pool .pch-chip{width:100%;text-align:left;padding:9px 12px;font-size:15px}.pch-puzzle-slot{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-height:42px;margin:0;padding:6px 10px 6px 34px;justify-content:flex-start;text-align:left;font-size:15px}.pch-puzzle-no{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#e7ddcd;color:#7b6a5b;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:system-ui,sans-serif}.pch-puzzle-slot.filled .pch-puzzle-no{background:#d6c8b4;color:#fff}.pch-puzzle-slot.right .pch-puzzle-no{background:#35a86a;color:#fff}.pch-puzzle-slot.wrong .pch-puzzle-no{background:#e05555;color:#fff}.pch-puzzle-slot.locked{cursor:default}.pch-done-poem .pch-poem-line{animation:pch-line-in .4s ease both}.pch-done-poem .pch-poem-line:nth-child(2){animation-delay:.05s}.pch-done-poem .pch-poem-line:nth-child(3){animation-delay:.1s}.pch-done-poem .pch-poem-line:nth-child(4){animation-delay:.15s}.pch-done-poem .pch-poem-line:nth-child(5){animation-delay:.2s}.pch-done-poem .pch-poem-line:nth-child(6){animation-delay:.25s}.pch-done-poem .pch-poem-line:nth-child(7){animation-delay:.3s}.pch-done-poem .pch-poem-line:nth-child(8){animation-delay:.35s}@keyframes pch-line-in{0%{opacity:0;transform:translateY(6px)}}.pch-done-title{text-align:center;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:18px;font-weight:800;color:var(--pch-accent);margin-bottom:8px;letter-spacing:3px}.pch-passbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--pch-line);font-size:12.5px;color:var(--pch-ok);font-weight:700}.pch-win-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:20px;background:#1e161085;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:pch-fade-in .25s ease}@keyframes pch-fade-in{0%{opacity:0}}.pch-win{width:min(460px,94vw);padding:28px 26px 22px;border-radius:22px;background:radial-gradient(circle at 50% -10%,rgba(255,214,120,.35),transparent 60%),linear-gradient(180deg,#fffdf6,#fdf6e7);border:1px solid #ecd9ae;box-shadow:0 24px 60px #28190a59;text-align:center;animation:pch-win-in .4s cubic-bezier(.18,.9,.32,1.2)}@keyframes pch-win-in{0%{opacity:0;transform:translateY(18px) scale(.94)}}.pch-win-emoji{font-size:46px;line-height:1;animation:pch-win-bounce 1.4s ease-in-out infinite}@keyframes pch-win-bounce{50%{transform:translateY(-6px) rotate(-4deg)}}.pch-win-title{display:block;margin-top:10px;font-size:24px;font-weight:900;color:#a63a2b;letter-spacing:2px}.pch-win-sub{margin:10px 0 16px;font-size:13px;line-height:1.8;color:#6f6255}.pch-win-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.pch-win-badge{font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #e6d5b4;color:#7a5a2e}.pch-win-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.poetry-camp{margin:22px 0 8px}.poetry-camp-paper{position:relative;padding:18px 20px 14px;border-radius:18px;background:radial-gradient(circle at 8% 0%,rgba(166,58,43,.07),transparent 40%),radial-gradient(circle at 95% 100%,rgba(60,90,60,.07),transparent 45%),repeating-linear-gradient(0deg,rgba(150,120,80,.05) 0 1px,transparent 1px 26px),#f8f1e0;border:1px solid #cbb894;box-shadow:0 0 0 4px #f3ead8,0 0 0 5px #cdb992,0 12px 28px #4632141f;overflow:hidden}.poetry-camp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:2px solid #d9c5a0;position:relative}.poetry-camp-head-txt{display:flex;flex-direction:column;gap:3px}.poetry-camp-seal{position:absolute;right:2px;top:-4px;width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:24px;color:#fff;background:#a63a2b;box-shadow:0 4px 10px #a63a2b4d;transform:rotate(-4deg)}.poetry-camp-head-txt b{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:22px;letter-spacing:4px;color:#3d2f22}.poetry-camp-head-txt i{font-style:normal;font-size:12px;color:#7d6a54;letter-spacing:1px}.poetry-camp-brush{position:absolute;left:0;bottom:-6px;width:120px;height:2px;background:linear-gradient(90deg,#3d2f22,transparent);opacity:.35}.poetry-camp-list{display:flex;flex-direction:column;gap:16px;margin-top:14px}.poetry-camp-group-head{display:flex;align-items:baseline;gap:10px;padding:0 2px 8px;border-bottom:1px dashed #d9c5a0;margin-bottom:10px}.poetry-camp-group-head b{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:16px;letter-spacing:2px;color:#5a4326}.poetry-camp-group-head i{font-style:normal;font-size:11px;color:#8d7a60;letter-spacing:.5px}.poetry-camp-group-head em{margin-left:auto;font-style:normal;font-size:11px;color:#a63a2b;background:#a63a2b14;border:1px solid rgba(166,58,43,.18);border-radius:10px;padding:1px 8px;letter-spacing:1px}.poetry-camp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.poetry-camp-card-badge{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.5px;text-decoration:none;color:#fff;background:#a63a2b;vertical-align:1px}.poetry-camp-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#fffdf6eb;border:1px solid #ddcbaa;cursor:pointer;text-align:left;transition:transform .16s,box-shadow .2s,border-color .2s}.poetry-camp-card:hover{transform:translateY(-2px);border-color:#bfa679;box-shadow:0 8px 20px #5a411e29}.poetry-camp-card.locked{cursor:default;opacity:.62;filter:grayscale(.3)}.poetry-camp-card.locked:hover{transform:none;box-shadow:none;border-color:#ddcbaa}.poetry-camp-card-cover{flex-shrink:0;width:54px;height:66px;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,#fdf6e6,#f0e2c4);border:1px solid #cdb894;color:#8a3f2c;font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;line-height:1.15}.poetry-camp-card-cover em,.poetry-camp-card-cover i{font-style:normal;font-size:18px;font-weight:700}.poetry-camp-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.poetry-camp-card-info b{font-family:STKaiti,KaiTi,Kaiti SC,楷体,serif;font-size:17px;letter-spacing:1px;color:#3d2f22}.poetry-camp-card-info i{font-style:normal;font-size:11.5px;color:#7d6a54}.poetry-camp-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.poetry-camp-card-tags em{font-style:normal;font-size:10px;padding:2px 6px;border-radius:999px;background:#f6efdf;border:1px solid #e4d6b9;color:#8a7355}.poetry-camp-card-go{flex-shrink:0;font-size:12px;font-weight:800;color:#a63a2b;white-space:nowrap}.poetry-camp-card.locked .poetry-camp-card-go{color:#a39480}.poetry-camp-card-side{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.poetry-camp-card-review{font-size:10.5px;padding:3px 8px;border-radius:999px;border:1px solid #e0d2b8;background:#f8f1e0;color:#8a7355;white-space:nowrap}.poetry-camp-card-review.due{border-color:#d99a3a;background:#fdf1d8;color:#96631a;font-weight:700;animation:pch-due-pulse 2s ease-in-out infinite}.poetry-camp-card-review.mastered{border-color:#9dc7ab;background:#eefaf1;color:#2f7d4d;font-weight:700}.poetry-camp-card-review.new{opacity:.75}@keyframes pch-due-pulse{0%,to{box-shadow:0 0 #d99a3a59}50%{box-shadow:0 0 0 4px #d99a3a0d}}.poetry-camp-due{font-style:normal;margin-left:8px;padding:1px 7px;border-radius:999px;background:#fdf1d8;border:1px solid #e2c477;color:#96631a;font-weight:700}.poetry-camp-foot{margin-top:14px;text-align:center;font-size:11px;color:#9a8a72;letter-spacing:1px}.poetry-camp-sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:340;display:flex;align-items:flex-start;justify-content:center;padding:28px 18px;overflow:auto;background:#1c16108c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:pch-fade-in .22s ease}.poetry-camp-sheet{position:relative;width:min(1060px,100%);animation:pch-win-in .32s cubic-bezier(.18,.9,.32,1.1)}.poetry-camp-sheet .poetry-camp{margin:0}.poetry-camp-sheet .poetry-camp-seal{right:62px}.poetry-camp-sheet-x{position:absolute;top:18px;right:18px;z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid #c9b591;background:#fffdf6;color:#6b5741;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s,color .16s,transform .16s}.poetry-camp-sheet-x:hover{background:#a63a2b;border-color:#a63a2b;color:#fff;transform:rotate(90deg)}.poetry-camp-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:350;display:flex;align-items:flex-start;justify-content:center;padding:24px 18px;overflow:auto;background:#1c16108c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:pch-fade-in .22s ease}.poetry-camp-overlay{width:min(1180px,100%);animation:pch-win-in .32s cubic-bezier(.18,.9,.32,1.1)}.poetry-camp-overlay .poetry-stage{margin-top:0}@media (max-width: 980px){.poetry-stage-body{grid-template-columns:1fr}.poetry-ai{flex-direction:row;align-items:flex-start;text-align:left;border-right:0;border-bottom:1px dashed var(--ps-line);padding:14px 16px}.poetry-ai-avatar{width:44px;height:44px;font-size:20px;flex-shrink:0}.poetry-ai-name{display:none}.poetry-ai-bubbles{flex:1}.poetry-ai-foot{display:none}.pch-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.pch-puzzle{grid-template-columns:1fr}}@media (max-width: 620px){.pch-head{align-items:flex-start}.pch-levels{grid-template-columns:1fr 1fr}.pch-leveltab-txt i{display:none}.pch-poem-line,.pch-spot-line,.pch-fill-text{font-size:17px;letter-spacing:1px}.poetry-work{padding:12px}.pch-slot{min-width:60px;height:34px;font-size:15px}.poetry-camp-head-txt b{font-size:18px;letter-spacing:2px}}.learn-hw-entry{border-color:#e0d6ff!important;background:#f7f4ff!important;color:#6b4fd8!important;font-weight:800}.learn-poetry-inline{margin:14px 0 6px}.poetry-stage-inline,.poetry-stage-homework{margin-top:0}.poetry-stage-inline .poetry-ai{padding:14px 12px}.poetry-stage-inline .poetry-ai-avatar{width:44px;height:44px;font-size:21px}.poetry-stage-inline .pch-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.poetry-stage-inline .pch-puzzle{grid-template-columns:1fr}.poetry-stage-inline .pch-poem-line,.poetry-stage-inline .pch-spot-line,.poetry-stage-inline .pch-fill-text{font-size:17px;letter-spacing:1px}.poetry-stage-inline .poetry-work{padding:12px 12px 16px}.pch-audio-src{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid var(--pch-line, #e9dfd0);background:#f7f4ee;color:#7b6a5b;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pch-audio-src.upload{background:#f1fbf5;border-color:#c8e9d5;color:#2f9e5f}.pch-audio-src.url{background:#f4f0ff;border-color:#e0d6ff;color:#6b4fd8}.pch-audio-src.tts{background:#fff8e6;border-color:#f0e0b8;color:#a8752a}.pch-file-input{display:none}
