.login-wrap[data-v-931ac123]{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;gap:2.5rem}.login-hero[data-v-931ac123]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.login-badge[data-v-931ac123]{margin-bottom:.25rem}.logo-badge.large[data-v-931ac123]{width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,var(--geo-m),var(--geo-d));display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;font-weight:900;box-shadow:0 6px 24px #1eb46e59}.login-title[data-v-931ac123]{font-size:1.9rem;font-weight:900;color:var(--ink);letter-spacing:-.03em;line-height:1.2}.login-sub[data-v-931ac123]{font-size:.9rem;color:var(--ink3)}.last-session-card[data-v-931ac123]{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.2rem;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1.5px solid #FDBA74;border-radius:16px;width:100%;max-width:420px}.ls-icon[data-v-931ac123]{font-size:1.5rem;flex-shrink:0}.ls-emo[data-v-931ac123]{font-size:1.5rem;flex-shrink:0;margin-left:auto}.ls-label[data-v-931ac123]{font-size:.72rem;color:#92400e;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.15rem}.ls-value[data-v-931ac123]{font-size:1.1rem;font-weight:900;color:#c2410c}.fade-up-enter-active[data-v-931ac123]{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.fade-up-enter-from[data-v-931ac123]{opacity:0;transform:translateY(10px)}.login-cards[data-v-931ac123]{display:flex;flex-direction:column;gap:14px;width:100%;max-width:420px}.login-card[data-v-931ac123]{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.4rem;border-radius:20px;border:none;text-align:left;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;background:var(--card);box-shadow:0 2px 12px #00000012,0 0 0 1.5px var(--border)}.login-card[data-v-931ac123]:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0000001f,0 0 0 1.5px var(--border)}.login-card[data-v-931ac123]:active{transform:scale(.98)}.guest-card[data-v-931ac123]{border-left:5px solid var(--eng-m)}.owner-card[data-v-931ac123]{border-left:5px solid var(--geo-m)}.lc-icon[data-v-931ac123]{font-size:2rem;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.guest-icon[data-v-931ac123]{background:var(--eng-l)}.owner-icon[data-v-931ac123]{background:var(--geo-l)}.lc-body[data-v-931ac123]{flex:1}.lc-title[data-v-931ac123]{font-size:1.05rem;font-weight:800;color:var(--ink);margin-bottom:.2rem}.lc-desc[data-v-931ac123]{font-size:.8rem;color:var(--ink3);line-height:1.5}.lc-arrow[data-v-931ac123]{font-size:1.2rem;color:var(--ink3);flex-shrink:0}.pwd-overlay[data-v-931ac123]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.pwd-box[data-v-931ac123]{background:var(--card);border-radius:24px;padding:2rem 1.75rem 1.75rem;width:100%;max-width:360px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;gap:.75rem}.pwd-title[data-v-931ac123]{font-size:1.15rem;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:.5rem}.pwd-icon[data-v-931ac123]{font-size:1.3rem}.pwd-sub[data-v-931ac123]{font-size:.85rem;color:var(--ink3);margin-top:-.25rem}.pwd-input[data-v-931ac123]{border:2px solid var(--border);border-radius:12px;padding:13px 16px;font-size:1rem;font-family:inherit;width:100%;color:var(--ink);background:var(--paper);transition:border-color .15s;margin-top:.25rem}.pwd-input[data-v-931ac123]:focus{outline:none;border-color:var(--geo-m);background:var(--card)}.pwd-input.error[data-v-931ac123]{border-color:var(--err);background:var(--err-l)}.pwd-error[data-v-931ac123]{font-size:.82rem;color:var(--err-d);font-weight:600;margin-top:-.25rem}.pwd-btns[data-v-931ac123]{display:flex;gap:10px;margin-top:.5rem}.pwd-cancel[data-v-931ac123]{flex:1;border:1.5px solid var(--border2);background:var(--card);border-radius:12px;padding:11px;font-size:.92rem;font-weight:700;color:var(--ink2);cursor:pointer;transition:background .15s}.pwd-cancel[data-v-931ac123]:hover{background:var(--paper)}.pwd-confirm[data-v-931ac123]{flex:2;border:none;background:linear-gradient(135deg,var(--geo-m),var(--geo));color:#fff;border-radius:12px;padding:11px;font-size:.95rem;font-weight:800;cursor:pointer;transition:opacity .15s}.pwd-confirm[data-v-931ac123]:disabled{opacity:.5;cursor:default}.pwd-confirm[data-v-931ac123]:not(:disabled):hover{opacity:.88}.modal-enter-active[data-v-931ac123],.modal-leave-active[data-v-931ac123]{transition:opacity .2s}.modal-enter-from[data-v-931ac123],.modal-leave-to[data-v-931ac123]{opacity:0}.modal-enter-active .pwd-box[data-v-931ac123],.modal-leave-active .pwd-box[data-v-931ac123]{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.modal-enter-from .pwd-box[data-v-931ac123]{transform:scale(.9) translateY(10px)}.modal-leave-to .pwd-box[data-v-931ac123]{transform:scale(.95)}.owner-hero[data-v-f7e7cfa7]{padding:1.5rem 0 1rem}.owner-greeting[data-v-f7e7cfa7]{display:flex;align-items:center;gap:1rem}.owner-avatar[data-v-f7e7cfa7]{font-size:2.2rem;width:56px;height:56px;border-radius:16px;background:var(--geo-l);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--geo-m)}.owner-tag[data-v-f7e7cfa7]{font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--geo-d);text-transform:uppercase;margin-bottom:.2rem}.owner-name[data-v-f7e7cfa7]{font-size:1.5rem;font-weight:900;color:var(--ink);letter-spacing:-.02em}.owner-stats[data-v-f7e7cfa7]{display:flex;gap:10px;margin-bottom:1.5rem;flex-wrap:wrap}.stat-card[data-v-f7e7cfa7]{flex:1;min-width:80px;background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:1rem .8rem;text-align:center;box-shadow:var(--shadow-sm)}.stat-card-n[data-v-f7e7cfa7]{font-size:1.5rem;font-weight:800;color:var(--ink);line-height:1;margin-bottom:.3rem}.stat-card-l[data-v-f7e7cfa7]{font-size:.7rem;color:var(--ink3);font-weight:600}.stat-card.accent-ok .stat-card-n[data-v-f7e7cfa7]{color:var(--ok-d)}.stat-card.accent-warn .stat-card-n[data-v-f7e7cfa7]{color:var(--hist-d)}.smart-section[data-v-f7e7cfa7]{margin-bottom:1rem}.empty-smart[data-v-f7e7cfa7]{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;background:var(--paper);border-radius:18px;border:1.5px dashed var(--border2);text-align:center}.empty-smart-icon[data-v-f7e7cfa7]{font-size:2rem}.empty-smart-text[data-v-f7e7cfa7]{font-size:.85rem;color:var(--ink3);line-height:1.6}.subj-grid[data-v-f7e7cfa7]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.subj-card[data-v-f7e7cfa7]{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.1rem 1rem;border-radius:18px;border:none;cursor:pointer;text-align:left;position:relative;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;box-shadow:0 2px 10px #00000012}.subj-card[data-v-f7e7cfa7]:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000021}.subj-card[data-v-f7e7cfa7]:active{transform:scale(.97)}.subj-card-icon[data-v-f7e7cfa7]{font-size:1.5rem}.subj-card-label[data-v-f7e7cfa7]{font-size:.95rem;font-weight:800;color:var(--ink)}.subj-card-counts[data-v-f7e7cfa7]{display:flex;gap:6px;flex-wrap:wrap;margin-top:.1rem}.subj-card-arrow[data-v-f7e7cfa7]{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.1rem;opacity:.4}.count-badge[data-v-f7e7cfa7]{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:8px}.count-badge.hot[data-v-f7e7cfa7]{background:#fff1f2;color:#be123c;border:1px solid #FECDD3}.count-badge.err[data-v-f7e7cfa7]{background:#fee2e2;color:#b91c1c}.count-badge.due[data-v-f7e7cfa7]{background:#fef3c7;color:#92400e}.subj-geo[data-v-f7e7cfa7]{background:var(--geo-l);border:1.5px solid var(--geo-m)}.subj-hist[data-v-f7e7cfa7]{background:var(--hist-l);border:1.5px solid var(--hist-m)}.subj-eng[data-v-f7e7cfa7]{background:var(--eng-l);border:1.5px solid var(--eng-m)}.subj-phys[data-v-f7e7cfa7]{background:var(--phys-l);border:1.5px solid var(--phys-m)}.subj-bio[data-v-f7e7cfa7]{background:var(--bio-l);border:1.5px solid var(--bio-m)}.subj-moral[data-v-f7e7cfa7]{background:var(--moral-l);border:1.5px solid var(--moral-m)}.week-card[data-v-f7e7cfa7]{background:var(--card);border:1.5px solid var(--border);border-radius:20px;overflow:hidden;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.week-header[data-v-f7e7cfa7]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;background:none;border:none;cursor:pointer;gap:.75rem}.week-header-left[data-v-f7e7cfa7]{display:flex;align-items:center;gap:.6rem}.week-icon[data-v-f7e7cfa7]{font-size:1.2rem}.week-title[data-v-f7e7cfa7]{font-size:.95rem;font-weight:800;color:var(--ink)}.week-pill[data-v-f7e7cfa7]{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px;background:var(--geo-l);color:var(--geo-d);border:1px solid var(--geo-m)}.week-chevron[data-v-f7e7cfa7]{font-size:1.3rem;color:var(--ink3);transition:transform .25s;transform:rotate(90deg)}.week-chevron.open[data-v-f7e7cfa7]{transform:rotate(-90deg)}.week-body[data-v-f7e7cfa7]{padding:0 1.2rem 1.2rem;border-top:1px solid var(--border)}.week-empty[data-v-f7e7cfa7]{font-size:.85rem;color:var(--ink3);padding:.8rem 0;text-align:center}.week-nums[data-v-f7e7cfa7]{display:flex;gap:10px;margin:1rem 0}.week-num-item[data-v-f7e7cfa7]{flex:1;text-align:center;background:var(--paper);border-radius:14px;padding:.75rem .5rem}.wn-val[data-v-f7e7cfa7]{font-size:1.4rem;font-weight:900;color:var(--ink);line-height:1;margin-bottom:.2rem}.wn-val.ok[data-v-f7e7cfa7]{color:#059669}.wn-val.mid[data-v-f7e7cfa7]{color:#d97706}.wn-val.low[data-v-f7e7cfa7]{color:#dc2626}.wn-lab[data-v-f7e7cfa7]{font-size:.65rem;color:var(--ink3);font-weight:600}.week-mastery[data-v-f7e7cfa7]{margin-bottom:1rem}.wm-title[data-v-f7e7cfa7]{font-size:.72rem;font-weight:800;color:var(--ink3);letter-spacing:.06em;margin-bottom:.6rem}.wm-row[data-v-f7e7cfa7]{display:flex;align-items:center;gap:.6rem;margin-bottom:.45rem}.wm-label[data-v-f7e7cfa7]{font-size:.78rem;font-weight:700;color:var(--ink2);width:2rem;flex-shrink:0}.wm-bar-wrap[data-v-f7e7cfa7]{flex:1;height:8px;background:var(--border);border-radius:99px;overflow:hidden}.wm-bar[data-v-f7e7cfa7]{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.wm-bar-geo[data-v-f7e7cfa7]{background:var(--geo-m)}.wm-bar-hist[data-v-f7e7cfa7]{background:var(--hist-m)}.wm-bar-eng[data-v-f7e7cfa7]{background:var(--eng-m)}.wm-bar-phys[data-v-f7e7cfa7]{background:var(--phys-m)}.wm-bar-bio[data-v-f7e7cfa7]{background:var(--bio-m)}.wm-bar-moral[data-v-f7e7cfa7]{background:var(--moral-m)}.wm-pct[data-v-f7e7cfa7]{font-size:.72rem;font-weight:800;width:2rem;text-align:right;flex-shrink:0}.wm-pct.ok[data-v-f7e7cfa7]{color:#059669}.wm-pct.mid[data-v-f7e7cfa7]{color:#d97706}.wm-pct.low[data-v-f7e7cfa7]{color:#dc2626}.week-weak[data-v-f7e7cfa7]{margin-bottom:1rem}.weak-row[data-v-f7e7cfa7]{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.weak-row[data-v-f7e7cfa7]:last-child{border-bottom:none}.weak-rank[data-v-f7e7cfa7]{font-size:.75rem;font-weight:900;color:var(--ink3);width:1rem;flex-shrink:0}.weak-subj[data-v-f7e7cfa7]{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:6px;flex-shrink:0}.wsubj-geo[data-v-f7e7cfa7]{background:var(--geo-l);color:var(--geo-d)}.wsubj-hist[data-v-f7e7cfa7]{background:var(--hist-l);color:var(--hist-d)}.wsubj-eng[data-v-f7e7cfa7]{background:var(--eng-l);color:var(--eng-d)}.wsubj-phys[data-v-f7e7cfa7]{background:var(--phys-l);color:var(--phys-d)}.wsubj-bio[data-v-f7e7cfa7]{background:var(--bio-l);color:var(--bio-d)}.wsubj-moral[data-v-f7e7cfa7]{background:var(--moral-l);color:var(--moral-d)}.weak-text[data-v-f7e7cfa7]{font-size:.78rem;color:var(--ink2);flex:1;line-height:1.4}.week-ai[data-v-f7e7cfa7]{margin-top:.5rem}.week-ai-btn[data-v-f7e7cfa7]{width:100%;padding:.75rem;border-radius:12px;border:1.5px dashed var(--geo-m);background:var(--geo-l);color:var(--geo-d);font-size:.88rem;font-weight:700;cursor:pointer;transition:all .15s}.week-ai-btn[data-v-f7e7cfa7]:hover{background:var(--geo-m);color:#fff;border-style:solid}.week-ai-loading[data-v-f7e7cfa7]{display:flex;align-items:center;gap:6px;color:var(--ink3);font-size:.85rem;padding:.5rem 0}.ai-dot[data-v-f7e7cfa7]{width:6px;height:6px;border-radius:50%;background:var(--geo-m);animation:dotPulse-f7e7cfa7 1.2s ease-in-out infinite}.ai-dot[data-v-f7e7cfa7]:nth-child(2){animation-delay:.2s}.ai-dot[data-v-f7e7cfa7]:nth-child(3){animation-delay:.4s}@keyframes dotPulse-f7e7cfa7{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.week-ai-result[data-v-f7e7cfa7]{background:linear-gradient(135deg,#eef4ff,#f5f0ff);border:1.5px solid var(--geo-m);border-radius:14px;padding:.9rem 1rem}.week-ai-text[data-v-f7e7cfa7]{font-size:.88rem;color:var(--ink);line-height:1.85;white-space:pre-wrap;margin-bottom:.6rem}.week-ai-speak[data-v-f7e7cfa7]{font-size:.75rem;font-weight:700;padding:5px 14px;border-radius:10px;border:1.5px solid var(--geo-m);background:var(--card);color:var(--geo-d);cursor:pointer;transition:all .15s}.week-ai-speak.speaking[data-v-f7e7cfa7]{background:var(--geo-m);color:#fff}.week-ai-err[data-v-f7e7cfa7]{font-size:.82rem;color:var(--err-d);margin-top:.4rem}.smart-section[data-v-31ca34ba]{margin-bottom:1.25rem}.smart-grid[data-v-31ca34ba]{display:flex;flex-direction:column;gap:8px}.smart-card[data-v-31ca34ba]{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:14px;border:none;cursor:pointer;text-align:left;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;box-shadow:0 2px 8px #00000012}.smart-card[data-v-31ca34ba]:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.smart-card[data-v-31ca34ba]:active{transform:scale(.98)}.smart-card-left[data-v-31ca34ba]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.smart-icon[data-v-31ca34ba]{font-size:1.2rem}.smart-label[data-v-31ca34ba]{font-size:.9rem;font-weight:800;color:var(--ink);min-width:2.5rem}.smart-badges[data-v-31ca34ba]{display:flex;gap:5px;flex-wrap:wrap;flex:1}.sbadge[data-v-31ca34ba]{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:8px}.sbadge.hot[data-v-31ca34ba]{background:#fff1f2;color:#be123c;border:1px solid #FECDD3}.sbadge.err[data-v-31ca34ba]{background:#fee2e2;color:#b91c1c}.sbadge.due[data-v-31ca34ba]{background:#fef3c7;color:#92400e}.smart-arrow[data-v-31ca34ba]{color:var(--ink3);font-size:1rem;flex-shrink:0}.smart-geo[data-v-31ca34ba]{background:var(--geo-l);border:1.5px solid var(--geo-m)}.smart-hist[data-v-31ca34ba]{background:var(--hist-l);border:1.5px solid var(--hist-m)}.smart-eng[data-v-31ca34ba]{background:var(--eng-l);border:1.5px solid var(--eng-m)}.smart-bio[data-v-31ca34ba]{background:var(--bio-l);border:1.5px solid var(--bio-m)}.smart-moral[data-v-31ca34ba]{background:var(--moral-l);border:1.5px solid var(--moral-m)}.time-cost[data-v-bbc39393]{margin-left:auto;font-size:.75rem;font-weight:600;opacity:.65}.feedback-box[data-v-bbc39393]{display:flex;align-items:center}.error-type-row[data-v-bbc39393]{margin-top:.5rem}.error-type-chip[data-v-bbc39393]{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.03em}.et-careless[data-v-bbc39393]{background:#fef3c7;color:#92400e;border:1px solid #FDE68A}.et-concept[data-v-bbc39393]{background:#fee2e2;color:#991b1b;border:1px solid #FECACA}.et-calc[data-v-bbc39393]{background:#dbeafe;color:#1e40af;border:1px solid #BFDBFE}.et-reading[data-v-bbc39393]{background:#f3e8ff;color:#6b21a8;border:1px solid #E9D5FF}.et-memory[data-v-bbc39393]{background:#d1fae5;color:#065f46;border:1px solid #A7F3D0}.et-unknown[data-v-bbc39393]{background:var(--paper);color:var(--ink3);border:1px solid var(--border)}.confidence-row[data-v-bbc39393]{display:flex;align-items:center;gap:6px;margin-top:.85rem;flex-wrap:wrap}.conf-label[data-v-bbc39393]{font-size:.75rem;color:var(--ink3);flex-shrink:0}.conf-btn[data-v-bbc39393]{font-size:.75rem;font-weight:600;padding:5px 11px;border-radius:20px;border:1.5px solid var(--border2);background:var(--card);color:var(--ink2);cursor:pointer;transition:all .15s}.conf-btn[data-v-bbc39393]:hover{border-color:var(--ink3)}.conf-btn.conf-active.conf-sure[data-v-bbc39393]{background:#d1fae5;border-color:#10b981;color:#065f46}.conf-btn.conf-active.conf-unsure[data-v-bbc39393]{background:#fef3c7;border-color:#f59e0b;color:#92400e}.conf-btn.conf-active.conf-lost[data-v-bbc39393]{background:#fee2e2;border-color:#ef4444;color:#991b1b}.ai-section[data-v-bbc39393]{margin-top:1rem}.ai-btn[data-v-bbc39393]{display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid var(--eng-m);background:var(--eng-l);color:var(--eng-d);border-radius:10px;padding:9px 16px;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .15s}.ai-btn[data-v-bbc39393]:hover{background:var(--eng-m);color:#fff}.ai-btn-icon[data-v-bbc39393]{font-size:1rem}.ai-loading[data-v-bbc39393]{display:flex;align-items:center;gap:6px;color:var(--ink3);font-size:.85rem;padding:.5rem 0}.ai-loading-dot[data-v-bbc39393]{width:6px;height:6px;border-radius:50%;background:var(--eng-m);animation:dotPulse-bbc39393 1.2s ease-in-out infinite}.ai-loading-dot[data-v-bbc39393]:nth-child(2){animation-delay:.2s}.ai-loading-dot[data-v-bbc39393]:nth-child(3){animation-delay:.4s}@keyframes dotPulse-bbc39393{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-result[data-v-bbc39393]{background:linear-gradient(135deg,#eef4ff,#f5f0ff);border:1.5px solid var(--eng-m);border-radius:14px;overflow:hidden}.ai-result-header[data-v-bbc39393]{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:var(--eng-l);border-bottom:1px solid rgba(58,123,213,.2)}.ai-result-icon[data-v-bbc39393]{font-size:1rem}.ai-result-title[data-v-bbc39393]{font-size:.8rem;font-weight:800;color:var(--eng-d);letter-spacing:.05em}.ai-result-body[data-v-bbc39393]{padding:.9rem 1rem;font-size:.88rem;color:var(--ink);line-height:1.85;white-space:pre-wrap}.ai-error[data-v-bbc39393]{font-size:.82rem;color:var(--err-d);margin-top:.4rem}.result-view[data-v-01745124]{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 3rem;gap:1rem;min-height:100dvh}.stars-row[data-v-01745124]{display:flex;gap:.5rem;font-size:1.8rem}.star[data-v-01745124]{opacity:.2;transition:opacity .4s,transform .4s}.star.lit[data-v-01745124]{opacity:1;transform:scale(1.15)}.result-score-ring[data-v-01745124]{width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:6px solid;box-shadow:0 4px 20px #0000001f}.result-score-ring.good[data-v-01745124]{border-color:var(--geo-m);background:var(--geo-l)}.result-score-ring.ok[data-v-01745124]{border-color:var(--hist-m);background:var(--hist-l)}.result-score-ring.try[data-v-01745124]{border-color:var(--err);background:var(--err-l)}.result-pct[data-v-01745124]{font-size:1.9rem;font-weight:900;color:var(--ink);line-height:1}.result-pct-label[data-v-01745124]{font-size:.7rem;color:var(--ink3);font-weight:600;margin-top:.1rem}.result-praise-wrap[data-v-01745124]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem}.result-title[data-v-01745124]{font-size:1.4rem;font-weight:900;color:var(--ink);letter-spacing:-.02em}.result-msg[data-v-01745124]{font-size:.9rem;color:var(--ink2);line-height:1.6;max-width:300px}.speak-btn[data-v-01745124]{display:inline-flex;align-items:center;gap:.4rem;padding:6px 14px;border-radius:20px;border:1.5px solid var(--eng-m);background:var(--eng-l);color:var(--eng-d);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s;margin-top:.25rem}.speak-btn[data-v-01745124]:hover{background:var(--eng-m);color:#fff}.speak-btn.speaking[data-v-01745124]{background:var(--eng-m);color:#fff;animation:pulse-01745124 1.2s infinite}.speak-btn.sm[data-v-01745124]{padding:4px 10px;font-size:.72rem;margin-top:0}@keyframes pulse-01745124{0%,to{opacity:1}50%{opacity:.65}}.result-sub[data-v-01745124]{font-size:.85rem;color:var(--ink3)}.stat-row[data-v-01745124]{display:flex;gap:10px}.stat-pill[data-v-01745124]{display:flex;flex-direction:column;align-items:center;background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:.7rem 1.1rem;box-shadow:var(--shadow-sm);min-width:72px}.stat-n[data-v-01745124]{font-size:1.4rem;font-weight:800;color:var(--ink);line-height:1}.stat-l[data-v-01745124]{font-size:.68rem;color:var(--ink3);font-weight:600;margin-top:.2rem}.good-stat .stat-n[data-v-01745124]{color:var(--ok-d)}.bad-stat .stat-n[data-v-01745124]{color:var(--err-d)}.ai-analysis-section[data-v-01745124]{width:100%;max-width:480px;background:linear-gradient(135deg,#eff6ff,#e0f2fe);border:1.5px solid #93C5FD;border-radius:18px;padding:1rem 1.1rem}.ai-analysis-header[data-v-01745124]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.ai-analysis-icon[data-v-01745124]{font-size:1.2rem}.ai-analysis-title[data-v-01745124]{font-size:.9rem;font-weight:800;color:#1e40af;flex:1}.ai-loading-wrap[data-v-01745124]{display:flex;align-items:center;gap:6px;padding:.5rem 0}.ai-dot[data-v-01745124]{width:8px;height:8px;border-radius:50%;background:#3b82f6;animation:bounce-01745124 1s infinite}.ai-dot[data-v-01745124]:nth-child(2){animation-delay:.15s}.ai-dot[data-v-01745124]:nth-child(3){animation-delay:.3s}@keyframes bounce-01745124{0%,80%,to{transform:scale(1)}40%{transform:scale(1.4)}}.ai-loading-txt[data-v-01745124]{font-size:.82rem;color:#3b82f6}.ai-content[data-v-01745124]{font-size:.88rem;color:#1e3a5f;line-height:1.7;white-space:pre-wrap}.ai-error[data-v-01745124]{font-size:.82rem;color:var(--err-d);display:flex;align-items:center;gap:.5rem}.retry-ai-btn[data-v-01745124]{padding:4px 10px;border-radius:8px;border:1px solid var(--err);background:var(--err-l);color:var(--err-d);font-size:.78rem;cursor:pointer}.result-btns[data-v-01745124]{display:flex;gap:12px;width:100%;max-width:400px}.btn-retry[data-v-01745124]{flex:1;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--geo-m),var(--geo-d));color:#fff;font-size:1rem;font-weight:800;cursor:pointer;transition:opacity .15s;box-shadow:0 4px 14px #1e9b5e4d}.btn-retry[data-v-01745124]:hover{opacity:.88}.btn-home[data-v-01745124]{flex:1;padding:14px;border-radius:14px;border:1.5px solid var(--border2);background:var(--card);color:var(--ink2);font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s}.btn-home[data-v-01745124]:hover{background:var(--paper)}.mm-wrap[data-v-54aac99c]{padding-bottom:2rem}.mm-root[data-v-54aac99c]{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.2rem;border-radius:16px;margin-bottom:0;box-shadow:0 4px 16px #00000026}.mm-root-dot[data-v-54aac99c]{width:10px;height:10px;border-radius:50%;background:#ffffffb3;flex-shrink:0}.mm-root-title[data-v-54aac99c]{font-size:1rem;font-weight:900;color:#fff;letter-spacing:-.01em}.mm-spine[data-v-54aac99c]{width:0;margin-left:1.6rem;border-left:2px dashed;height:10px}.mm-branches[data-v-54aac99c]{display:flex;flex-direction:column;gap:0}.mm-branch[data-v-54aac99c]{position:relative;padding-left:1.6rem}.mm-branch-line[data-v-54aac99c]{position:absolute;left:0;top:0;bottom:0;width:0;border-left:2px dashed}.mm-branch:last-child .mm-branch-line[data-v-54aac99c]{bottom:50%}.mm-branch-head[data-v-54aac99c]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;margin:6px 0 0;border:none;border-radius:12px;cursor:pointer;position:relative;text-align:left;gap:.5rem;box-shadow:0 2px 8px #0000001f;transition:opacity .15s,transform .15s;-webkit-tap-highlight-color:transparent}.mm-branch-head[data-v-54aac99c]:before{content:"";position:absolute;left:-1.6rem;top:50%;width:1.6rem;height:0;border-top:2px dashed currentColor;opacity:.4}.mm-branch-head[data-v-54aac99c]:active{transform:scale(.98);opacity:.85}.mm-branch-label[data-v-54aac99c]{font-size:.9rem;font-weight:800;color:#fff;flex:1}.mm-chevron[data-v-54aac99c]{flex-shrink:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.mm-chevron.open[data-v-54aac99c]{transform:rotate(180deg)}.mm-items[data-v-54aac99c]{list-style:none;margin:0;padding:.5rem 0 .25rem 1rem;display:flex;flex-direction:column;gap:0}.mm-item[data-v-54aac99c]{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .75rem .55rem 0;font-size:.86rem;color:var(--ink);line-height:1.55;border-bottom:1px solid var(--border);position:relative}.mm-item[data-v-54aac99c]:last-child{border-bottom:none}.mm-item[data-v-54aac99c]:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot);flex-shrink:0;margin-top:.38em;opacity:.8}.branch-enter-active[data-v-54aac99c]{transition:all .28s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.branch-leave-active[data-v-54aac99c]{transition:all .18s ease-in;overflow:hidden}.branch-enter-from[data-v-54aac99c],.branch-leave-to[data-v-54aac99c]{opacity:0;max-height:0!important;transform:translateY(-6px)}.branch-enter-to[data-v-54aac99c],.branch-leave-from[data-v-54aac99c]{opacity:1;max-height:600px}.mm-empty[data-v-54aac99c]{text-align:center;color:var(--ink3);font-size:.85rem;padding:2rem 0}.owner-badge[data-v-47c13e8a]{font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:10px;background:var(--geo-l);color:var(--geo-d);border:1.5px solid var(--geo-m);letter-spacing:.02em;margin-right:.5rem}:root{--geo: #1A9B5E;--geo-l: #E2F7EE;--geo-m: #2ECC87;--geo-d: #0D7A48;--hist: #D4700A;--hist-l:#FFF0E0;--hist-m:#F0931E;--hist-d:#A85308;--ink: #1A1A18;--ink2: #4A4A46;--ink3: #8A8A84;--paper: #F7F7F5;--card: #FFFFFF;--border:#E4E4DE;--border2:#CECECA;--eng: #1A5CB4;--eng-l: #E8F0FB;--eng-m: #3A7BD5;--eng-d: #0D3D8A;--phys: #6A3FC0;--phys-l:#EFE9FB;--phys-m:#8B5CF6;--phys-d:#4C2A91;--bio: #0891B2;--bio-l: #E0F7FA;--bio-m: #22D3EE;--bio-d: #0C5F78;--moral: #C2410C;--moral-l:#FFF7ED;--moral-m:#F97316;--moral-d:#9A3412;--ok: #1A9B5E;--ok-l: #E2F7EE;--ok-d: #0D7A48;--err: #C0392B;--err-l: #FDECEA;--err-d: #922B21;--r: 10px;--r2: 16px;--r3: 24px;--shadow-sm: 0 2px 8px rgba(0,0,0,.07);--shadow-md: 0 4px 16px rgba(0,0,0,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--paper);color:var(--ink);line-height:1.75;min-height:100dvh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}@keyframes bounceIn{0%{transform:scale(.92);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.anim-bounce{animation:bounceIn .28s cubic-bezier(.34,1.56,.64,1) both}.anim-shake{animation:shake .4s ease both}.anim-fade{animation:fadeSlideIn .22s ease both}.topbar{background:var(--card);border-bottom:1.5px solid var(--border);padding:0 1rem;height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 1px 6px #0000000d}.topbar-left{display:flex;align-items:center;justify-content:flex-start}.topbar-center{display:flex;align-items:center;justify-content:center}.topbar-right{display:flex;align-items:center;justify-content:flex-end}.logo{font-size:1.05rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:9px;white-space:nowrap}.logo-badge{width:32px;height:32px;border-radius:9px;background:linear-gradient(145deg,var(--geo-m),var(--geo-d));display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#fff;font-weight:900;box-shadow:0 2px 8px #1eb46e59;letter-spacing:-.01em;flex-shrink:0}.nav-tabs{display:flex;gap:3px;background:var(--paper);border-radius:12px;padding:4px;border:1.5px solid var(--border)}.nav-tab{border:none;background:transparent;border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600;color:var(--ink2);transition:all .18s;display:inline-flex;align-items:center;gap:5px}.nav-tab svg{flex-shrink:0;opacity:.7}.nav-tab.active{background:var(--card);color:var(--ink);box-shadow:0 1px 4px #0000001f}.nav-tab.active svg{opacity:1}main{max-width:860px;margin:0 auto;padding:1.5rem 1rem 5rem}.hero{padding:2rem 0 1.5rem;display:flex;align-items:center;gap:1.25rem}.hero-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(145deg,var(--geo-m),var(--geo-d));display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:900;color:#fff;flex-shrink:0;box-shadow:0 4px 16px #1eb46e4d}.hero-tag{font-size:.72rem;letter-spacing:.1em;color:var(--ink3);text-transform:uppercase;font-weight:700;margin-bottom:.25rem}.hero h1{font-size:1.7rem;font-weight:900;line-height:1.2;color:var(--ink);margin-bottom:.25rem;letter-spacing:-.02em}.hero p{font-size:.85rem;color:var(--ink3);margin-bottom:0;line-height:1.6}.section-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin-bottom:.6rem}.subject-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:1.5rem 0}.subj-card{border:none;border-radius:18px;padding:0;background:var(--card);cursor:pointer;text-align:left;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;box-shadow:0 2px 10px #00000012,0 0 0 1.5px var(--border);overflow:hidden;display:flex;flex-direction:column}.subj-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #0000001f,0 0 0 1.5px var(--border)}.subj-card:active{transform:scale(.97)}.subj-card-header{height:72px;display:flex;align-items:flex-end;padding:.7rem .9rem;position:relative;overflow:hidden}.subj-card[data-s=geo] .subj-card-header{background:linear-gradient(135deg,var(--geo-m),var(--geo-d))}.subj-card[data-s=hist] .subj-card-header{background:linear-gradient(135deg,var(--hist-m),var(--hist-d))}.subj-card[data-s=eng] .subj-card-header{background:linear-gradient(135deg,var(--eng-m),var(--eng-d))}.subj-card[data-s=bio] .subj-card-header{background:linear-gradient(135deg,var(--bio-m),var(--bio-d))}.subj-card[data-s=phys] .subj-card-header{background:linear-gradient(135deg,var(--phys-m),var(--phys-d))}.subj-card.sel-geo{box-shadow:0 0 0 2.5px var(--geo),0 6px 20px #1a9b5e38}.subj-card.sel-hist{box-shadow:0 0 0 2.5px var(--hist),0 6px 20px #d4700a38}.subj-card.sel-eng{box-shadow:0 0 0 2.5px var(--eng),0 6px 20px #1a5cb438}.subj-card.sel-phys{box-shadow:0 0 0 2.5px var(--phys),0 6px 20px #6a3fc038}.subj-card.sel-bio{box-shadow:0 0 0 2.5px var(--bio),0 6px 20px #0891b238}.subj-card.sel-moral{box-shadow:0 0 0 2.5px var(--moral),0 6px 20px #c2410c38}.subj-icon{width:36px;height:36px;border-radius:10px;background:#ffffff38;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:900;color:#fff;line-height:1;letter-spacing:-.01em;border:1.5px solid rgba(255,255,255,.3)}.subj-card-body{padding:.9rem 1rem .85rem;flex:1;display:flex;flex-direction:column;gap:.25rem}.subj-card h3{font-size:1rem;font-weight:800;margin-bottom:0;color:var(--ink);letter-spacing:-.01em}.subj-card p{font-size:.78rem;color:var(--ink3);line-height:1.5;margin:0}.subj-card.sel-geo .subj-card-body{background:var(--geo-l)}.subj-card.sel-hist .subj-card-body{background:var(--hist-l)}.subj-card.sel-eng .subj-card-body{background:var(--eng-l)}.subj-card.sel-phys .subj-card-body{background:var(--phys-l)}.subj-card.sel-bio .subj-card-body{background:var(--bio-l)}.subj-card.sel-moral .subj-card-body{background:var(--moral-l)}.sel-geo h3{color:var(--geo-d)}.sel-hist h3{color:var(--hist-d)}.sel-eng h3{color:var(--eng-d)}.sel-phys h3{color:var(--phys-d)}.sel-bio h3{color:var(--bio-d)}.sel-moral h3{color:var(--moral-d)}.subj-card[data-s=moral] .subj-card-header{background:linear-gradient(135deg,var(--moral-m),var(--moral-d))}.chapter-section{margin-bottom:1.25rem}.section-head{display:flex;align-items:center;gap:8px;margin-bottom:.6rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--ink3);text-transform:uppercase}.section-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-geo{background:var(--geo-m)}.dot-hist{background:var(--hist-m)}.dot-eng{background:var(--eng-m)}.dot-phys{background:var(--phys-m)}.dot-bio{background:var(--bio-m)}.dot-moral{background:var(--moral-m)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1.5px solid var(--border);border-radius:10px;padding:7px 14px;font-size:.81rem;background:var(--card);color:var(--ink2);cursor:pointer;transition:all .15s cubic-bezier(.34,1.56,.64,1);font-weight:500;min-height:36px}.chip:hover{border-color:var(--border2);color:var(--ink);transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.chip.on-geo{background:var(--geo-l);border-color:var(--geo-m);color:var(--geo-d);font-weight:700}.chip.on-hist{background:var(--hist-l);border-color:var(--hist-m);color:var(--hist-d);font-weight:700}.chip.on-eng{background:var(--eng-l);border-color:var(--eng-m);color:var(--eng-d);font-weight:700}.chip.on-phys{background:var(--phys-l);border-color:var(--phys-m);color:var(--phys-d);font-weight:700}.chip.on-bio{background:var(--bio-l);border-color:var(--bio-m);color:var(--bio-d);font-weight:700}.chip.on-moral{background:var(--moral-l);border-color:var(--moral-m);color:var(--moral-d);font-weight:700}.controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.ctrl-group{display:flex;flex-direction:column;gap:7px}.ctrl-label{font-size:.77rem;color:var(--ink3);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pill-group{display:flex;gap:5px}.pill{border:1.5px solid var(--border);border-radius:20px;padding:7px 15px;font-size:.82rem;background:var(--card);color:var(--ink2);cursor:pointer;transition:all .15s;font-weight:500;min-height:38px}.pill:hover{border-color:var(--border2)}.pill.on{background:var(--ink);border-color:var(--ink);color:var(--card);font-weight:700}.btn-start{border:none;background:linear-gradient(135deg,var(--geo-m),var(--geo));color:#fff;border-radius:14px;padding:13px 28px;font-size:.97rem;font-weight:800;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;margin-left:auto;box-shadow:0 4px 18px #1eb46e59,inset 0 1px #fff3;letter-spacing:.02em;display:inline-flex;align-items:center;gap:8px}.btn-start:after{content:"→";font-size:1.05rem}.btn-start:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1eb46e66,inset 0 1px #fff3}.btn-start:active{transform:scale(.97);box-shadow:0 2px 8px #1eb46e4d}.quiz-header{display:flex;align-items:center;gap:12px;margin-bottom:1.1rem}.back-btn{border:1.5px solid var(--border);background:var(--card);border-radius:var(--r);padding:8px 14px;font-size:.85rem;color:var(--ink2);cursor:pointer;font-weight:600;transition:all .15s;white-space:nowrap}.back-btn:hover{background:var(--paper);border-color:var(--border2)}.progress-wrap{flex:1}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.progress-label{font-size:.8rem;color:var(--ink3);font-weight:600}.progress-pct{font-size:.8rem;font-weight:700;color:var(--ink2)}.progress-bar{height:8px;background:var(--border);border-radius:6px;overflow:hidden}.progress-fill{height:100%;border-radius:6px;transition:width .35s cubic-bezier(.34,1.56,.64,1)}.fill-geo{background:linear-gradient(90deg,var(--geo-m),var(--geo))}.fill-hist{background:linear-gradient(90deg,var(--hist-m),var(--hist))}.fill-eng{background:linear-gradient(90deg,var(--eng-m),var(--eng))}.fill-phys{background:linear-gradient(90deg,var(--phys-m),var(--phys))}.fill-bio{background:linear-gradient(90deg,var(--bio-m),var(--bio))}.fill-mix{background:linear-gradient(90deg,var(--geo-m),var(--hist-m))}.q-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.q-counter{font-size:.85rem;color:var(--ink3);font-weight:600}.q-badge{font-size:.75rem;font-weight:800;padding:4px 13px;border-radius:14px;letter-spacing:.04em}.badge-geo{background:var(--geo-l);color:var(--geo-d);border:1px solid var(--geo-m)}.badge-hist{background:var(--hist-l);color:var(--hist-d);border:1px solid var(--hist-m)}.badge-eng{background:var(--eng-l);color:var(--eng-d);border:1px solid var(--eng-m)}.badge-phys{background:var(--phys-l);color:var(--phys-d);border:1px solid var(--phys-m)}.badge-bio{background:var(--bio-l);color:var(--bio-d);border:1px solid var(--bio-m)}.q-box{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r2);padding:1.75rem 1.5rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.q-type-tag{font-size:.73rem;color:var(--ink3);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:.75rem}.q-text{font-size:1.08rem;font-weight:600;line-height:1.8;color:var(--ink);margin-bottom:1.25rem}.q-hint{font-size:.83rem;color:#7a5c00;background:#fff8e0;border:1px solid #F5D97A;border-radius:var(--r);padding:8px 13px;margin-bottom:1.1rem;font-weight:500}.options{display:flex;flex-direction:column;gap:9px}.opt{border:2px solid var(--border);border-radius:var(--r);padding:13px 16px;background:var(--card);text-align:left;font-size:.95rem;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,transform .1s;display:flex;align-items:flex-start;gap:12px;min-height:52px;font-weight:500;line-height:1.6}.opt:hover:not(:disabled){border-color:var(--border2);background:var(--paper);transform:translate(3px)}.opt:active:not(:disabled){transform:scale(.99)}.opt-key{font-size:.82rem;font-weight:800;color:var(--ink3);min-width:22px;padding-top:2px;flex-shrink:0}.opt.correct{border-color:var(--ok);background:var(--ok-l);animation:bounceIn .28s cubic-bezier(.34,1.56,.64,1) both}.opt.correct .opt-key{color:var(--ok-d)}.opt.wrong{border-color:var(--err);background:var(--err-l);animation:shake .38s ease both}.opt.wrong .opt-key{color:var(--err-d)}.fill-wrap{display:flex;gap:9px;align-items:stretch}.fill-input{flex:1;border:2px solid var(--border);border-radius:var(--r);padding:12px 15px;font-size:.95rem;font-family:inherit;color:var(--ink);background:var(--paper);transition:border-color .15s,background .15s;min-height:52px}.fill-input:focus{outline:none;border-color:var(--geo-m);background:var(--card);box-shadow:0 0 0 3px #2ecc8726}.fill-input.correct-input{border-color:var(--ok);background:var(--ok-l)}.fill-input.wrong-input{border-color:var(--err);background:var(--err-l);animation:shake .38s ease both}.btn-submit{border:2px solid var(--geo-m);background:var(--geo-l);border-radius:var(--r);padding:0 20px;font-size:.9rem;font-weight:700;color:var(--geo-d);cursor:pointer;white-space:nowrap;transition:all .15s;min-height:52px}.btn-submit:hover{background:var(--geo-m);color:#fff;border-color:var(--geo-m)}.feedback-box{border-radius:var(--r);padding:12px 16px;font-size:.92rem;margin-top:.9rem;line-height:1.65;font-weight:600;animation:fadeSlideIn .22s ease both}.feedback-ok{background:var(--ok-l);color:var(--ok-d);border:2px solid var(--ok)}.feedback-err{background:var(--err-l);color:var(--err-d);border:2px solid var(--err)}.feedback-ok:before{content:"✓  "}.feedback-err:before{content:"✗  "}.quiz-footer{display:flex;justify-content:flex-end;margin-top:.75rem}.btn-next{border:none;background:var(--ink);color:var(--card);border-radius:var(--r);padding:12px 28px;font-size:.95rem;font-weight:800;cursor:pointer;transition:opacity .15s,transform .1s;letter-spacing:.02em}.btn-next:hover{opacity:.85;transform:translate(3px)}.result-view{text-align:center;padding:1.5rem 0 2rem}.stars-row{display:flex;justify-content:center;gap:10px;margin-bottom:1.25rem}.star{font-size:2.8rem;line-height:1;opacity:.25;transform:scale(.8);transition:none}.star.lit{opacity:1;transform:scale(1);animation:popIn .4s cubic-bezier(.34,1.56,.64,1) both}.star:nth-child(1){animation-delay:.1s}.star:nth-child(2){animation-delay:.25s}.star:nth-child(3){animation-delay:.4s}.result-score-ring{width:110px;height:110px;border-radius:50%;border:5px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 1.1rem;background:var(--card);box-shadow:var(--shadow-sm)}.result-score-ring.good{border-color:var(--ok)}.result-score-ring.ok{border-color:var(--hist-m)}.result-score-ring.try{border-color:var(--err)}.result-pct{font-size:2rem;font-weight:800;line-height:1;color:var(--ink)}.result-pct-label{font-size:.72rem;color:var(--ink3);font-weight:600;margin-top:2px}.result-title{font-size:1.25rem;font-weight:800;margin-bottom:.3rem;color:var(--ink)}.result-sub{font-size:.88rem;color:var(--ink2);margin-bottom:1.5rem}.stat-row{display:flex;gap:10px;justify-content:center;margin-bottom:1.75rem;flex-wrap:wrap}.stat-pill{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r2);padding:12px 22px;min-width:90px;box-shadow:var(--shadow-sm)}.stat-n{font-size:1.6rem;font-weight:800;color:var(--ink)}.stat-l{font-size:.74rem;color:var(--ink3);font-weight:600;margin-top:2px}.stat-pill.good-stat .stat-n{color:var(--ok-d)}.stat-pill.bad-stat .stat-n{color:var(--err-d)}.result-btns{display:flex;gap:12px;justify-content:center}.btn-retry{border:2px solid var(--border2);background:var(--card);border-radius:var(--r);padding:11px 22px;font-size:.92rem;font-weight:700;color:var(--ink);cursor:pointer;transition:all .15s}.btn-retry:hover{background:var(--paper);border-color:var(--ink2)}.btn-home{border:none;background:var(--ink);color:var(--card);border-radius:var(--r);padding:11px 22px;font-size:.92rem;font-weight:700;cursor:pointer;transition:opacity .15s}.btn-home:hover{opacity:.85}.notes-grid{display:grid;gap:12px}.note-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r2);overflow:hidden;box-shadow:var(--shadow-sm)}.note-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;gap:10px;transition:background .15s}.note-head:hover{background:var(--paper)}.note-tag{font-size:.73rem;font-weight:700;padding:3px 10px;border-radius:10px;flex-shrink:0}.tag-geo{background:var(--geo-l);color:var(--geo-d);border:1px solid var(--geo-m)}.tag-hist{background:var(--hist-l);color:var(--hist-d);border:1px solid var(--hist-m)}.tag-eng{background:var(--eng-l);color:var(--eng-d);border:1px solid var(--eng-m)}.tag-phys{background:var(--phys-l);color:var(--phys-d);border:1px solid var(--phys-m)}.tag-bio{background:var(--bio-l);color:var(--bio-d);border:1px solid var(--bio-m)}.note-title{font-size:.95rem;font-weight:700;flex:1;color:var(--ink)}.note-arrow{font-size:.95rem;color:var(--ink3);transition:transform .22s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.note-card.open .note-arrow{transform:rotate(90deg)}.note-body{padding:.25rem 1.25rem 1.25rem;font-size:.87rem;color:var(--ink2);line-height:2;border-top:1.5px solid var(--border)}.kp-list{list-style:none;padding:0}.kp-list li{padding:.3rem 0;border-bottom:1px dashed var(--border);display:flex;gap:9px;align-items:flex-start}.kp-list li:last-child{border-bottom:none}.kp-list li:before{content:"·";color:var(--geo-m);font-size:1.2rem;line-height:1.6;flex-shrink:0;font-weight:700}.divider{border:none;border-top:1.5px solid var(--border);margin:1.25rem 0}.q-count-badge{font-size:.72rem;color:var(--ink3);background:var(--paper);border:1.5px solid var(--border);border-radius:12px;padding:2px 9px;margin-left:auto;font-weight:600}.grade-back-btn{border:1.5px solid var(--border);background:transparent;border-radius:8px;padding:5px 12px;font-size:.82rem;font-weight:600;color:var(--ink2);cursor:pointer;transition:all .15s;white-space:nowrap}.grade-back-btn:hover{background:var(--paper)}.grades-hero{text-align:center;padding:3rem 1rem 2.25rem}.grades-hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--geo-l);color:var(--geo-d);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 16px;border-radius:20px;margin-bottom:1rem;border:1.5px solid var(--geo-m)}.grades-hero h1{font-size:2.4rem;font-weight:900;line-height:1.15;color:var(--ink);margin-bottom:.5rem;letter-spacing:-.03em}.grades-hero p{font-size:.95rem;color:var(--ink2)}.grades-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;padding:0 0 3rem}.grade-card{position:relative;border:none;border-radius:20px;padding:0;cursor:pointer;text-align:left;background:var(--card);overflow:hidden;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;box-shadow:0 2px 12px #00000012,0 0 0 1.5px var(--border);display:flex;align-items:stretch}.grade-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000021,0 0 0 1.5px var(--border)}.grade-card:active{transform:scale(.98);box-shadow:0 4px 12px #0000001a}.grade-card.disabled{cursor:default;opacity:.6}.grade-card.disabled:hover{transform:none;box-shadow:0 2px 12px #00000012,0 0 0 1.5px var(--border)}.grade-card-color-strip{width:6px;flex-shrink:0;border-radius:20px 0 0 20px}.grade-card-g7 .grade-card-color-strip{background:linear-gradient(180deg,var(--geo-m),var(--geo-d))}.grade-card-g8 .grade-card-color-strip{background:linear-gradient(180deg,var(--eng-m),var(--eng-d))}.grade-card-g9 .grade-card-color-strip{background:linear-gradient(180deg,var(--phys-m),var(--phys-d))}.grade-card-body{padding:1.5rem 1.4rem 1.4rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.grade-card-top{display:flex;align-items:center;justify-content:space-between}.grade-icon-block{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.45rem;font-weight:900;color:#fff;flex-shrink:0}.grade-card-g7 .grade-icon-block{background:linear-gradient(145deg,var(--geo-m),var(--geo-d))}.grade-card-g8 .grade-icon-block{background:linear-gradient(145deg,var(--eng-m),var(--eng-d))}.grade-card-g9 .grade-icon-block{background:linear-gradient(145deg,var(--phys-m),var(--phys-d))}.grade-num{font-size:1.55rem;font-weight:900;line-height:1;letter-spacing:-.02em;color:var(--ink)}.grade-card-g7 .grade-num{color:var(--geo-d)}.grade-card-g8 .grade-num{color:var(--eng-d)}.grade-card-g9 .grade-num{color:var(--phys-d)}.grade-sub{font-size:.8rem;color:var(--ink3);font-weight:500;line-height:1.5}.grade-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:.25rem}.grade-tag{border-radius:8px;padding:3px 9px;font-size:.69rem;font-weight:700;background:var(--paper);color:var(--ink2);border:1.5px solid var(--border)}.grade-card-g7 .grade-tag{background:var(--geo-l);color:var(--geo-d);border-color:var(--geo-m)}.grade-card-g8 .grade-tag{background:var(--eng-l);color:var(--eng-d);border-color:var(--eng-m)}.grade-card-g9 .grade-tag{background:var(--phys-l);color:var(--phys-d);border-color:var(--phys-m);opacity:.7}.grade-arrow{font-size:1.1rem;color:var(--ink3);align-self:center;margin-left:auto;padding-left:.5rem}.coming-soon-ribbon{font-size:.68rem;font-weight:700;letter-spacing:.04em;background:var(--phys-l);color:var(--phys-d);border:1.5px solid var(--phys-m);border-radius:8px;padding:2px 8px;opacity:.8}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem;padding:1rem 0 .25rem}.page-header-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 10px #00000026}.page-header-title{font-size:1.15rem;font-weight:800;color:var(--ink);margin-bottom:.15rem;letter-spacing:-.01em}.page-header-sub{font-size:.82rem;color:var(--ink3);line-height:1.5}.mm-canvas-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1.5px solid var(--border);border-radius:var(--r2);background:var(--card);box-shadow:var(--shadow-sm);margin-top:1rem}.mm-subj-bar{display:flex;gap:8px;margin-bottom:.75rem}.mm-geo.on{background:var(--geo);border-color:var(--geo);color:#fff;font-weight:700}.mm-hist.on{background:var(--hist);border-color:var(--hist);color:#fff;font-weight:700}.mm-phys.on{background:var(--phys);border-color:var(--phys);color:#fff;font-weight:700}.mm-bio.on{background:var(--bio);border-color:var(--bio);color:#fff;font-weight:700}.mm-moral.on{background:var(--moral);border-color:var(--moral);color:#fff;font-weight:700}.eng-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r2);padding:1.75rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);text-align:center}.eng-word{font-size:2rem;font-weight:900;color:var(--eng-d);margin-bottom:.5rem;letter-spacing:-.01em}.eng-hint{font-size:.85rem;color:var(--ink3);margin-bottom:1.25rem}.eng-input{width:100%;border:2px solid var(--border);border-radius:var(--r);padding:12px 16px;font-size:1rem;font-family:inherit;text-align:center;color:var(--ink);background:var(--paper);transition:border-color .15s,background .15s}.eng-input:focus{outline:none;border-color:var(--eng-m);background:var(--card)}.eng-input.correct-input{border-color:var(--ok);background:var(--ok-l)}.eng-input.wrong-input{border-color:var(--err);background:var(--err-l);animation:shake .38s ease both}@media (max-width: 520px){html{font-size:16px}.hero{gap:.9rem}.hero h1{font-size:1.45rem}.hero-icon{width:48px;height:48px;font-size:1.35rem;border-radius:13px}.subject-cards{grid-template-columns:repeat(2,1fr);gap:10px}.subj-card-header{height:60px}.grades-grid{grid-template-columns:1fr}.controls{gap:.75rem}.btn-start{margin-left:0;width:100%;text-align:center}.stat-row{gap:8px}.result-btns{flex-direction:column}.result-btns button{width:100%}.q-box{padding:1.25rem 1rem}.grades-hero h1{font-size:1.9rem}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1.5px solid var(--border);box-shadow:0 -2px 12px #00000014;padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:200;justify-content:space-around;align-items:center}.bottom-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--ink3);font-size:.7rem;font-weight:600;padding:4px 6px;border-radius:10px;transition:color .18s;cursor:pointer}.bottom-nav-btn .bn-icon{font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;transition:background .15s}.bottom-nav-btn .bn-icon svg{display:block}.bottom-nav-btn.active{color:var(--geo-d)}.bottom-nav-btn.active .bn-icon{background:var(--geo-l);color:var(--geo-d)}@media (max-width: 600px){.topbar-nav-tabs{display:none!important}.bottom-nav{display:flex}main{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.topbar{padding:0 .75rem}.grade-back-btn{font-size:.8rem;padding:6px 10px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
