:root{color-scheme:light;font-family:HarmonyOS Sans SC,PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at top center,rgba(140,208,255,.55),transparent 34%),linear-gradient(180deg,#eef8ff,#f8fbff 52%,#fff);color:#1d2f45;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page-bg: rgba(255, 255, 255, .65);--card-bg: rgba(255, 255, 255, .94);--card-border: rgba(109, 179, 255, .12);--shadow-soft: 0 18px 46px rgba(94, 150, 214, .14);--text-main: #203349;--text-subtle: #6f849d;--primary: #56a7ff;--primary-strong: #2f8bff;--primary-soft: #dff1ff}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.page-shell{min-height:100vh;padding:20px 16px 40px}.practice-page-shell{padding-bottom:calc(148px + env(safe-area-inset-bottom))}.app-frame{width:min(100%,430px);margin:0 auto}.home-page,.feature-page{animation:page-enter .38s ease-out}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:22px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:8px 2px 18px}.eyebrow,.section-kicker,.status-label{margin:0 0 6px;font-size:13px;color:#7b91a8;letter-spacing:.02em}.hero-copy h1,.feature-header h1,.card-title-row h2{margin:0;color:var(--text-main)}.hero-copy h1{font-size:28px;line-height:1.18}.hero-description{margin:10px 0 0;color:var(--text-subtle);line-height:1.6;font-size:14px}.hero-avatar{position:relative;flex:0 0 84px;height:84px}.avatar-ring,.avatar-core{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%}.avatar-ring{background:linear-gradient(145deg,#ffffffeb,#69b4ff38),linear-gradient(180deg,#62a8ff66,#6ecaff26);box-shadow:0 18px 32px #62a8ff38}.avatar-core{top:10px;right:10px;bottom:10px;left:10px;display:grid;place-items:center;background:linear-gradient(180deg,#fdfefe,#edf8ff);color:var(--primary-strong);font-size:15px;font-weight:700}.status-card{padding:18px 18px 16px}.status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.status-metric{display:flex;align-items:center;gap:8px;color:var(--primary-strong)}.status-metric strong{font-size:34px;line-height:1}.dot{width:16px;height:16px;border-radius:50%;background:linear-gradient(180deg,#6cc0ff,#3b96ff);box-shadow:0 0 0 6px #69bcff2e}.countdown-chip{display:inline-flex;align-items:center;gap:7px;padding:10px 16px 10px 22px;min-height:48px;background:linear-gradient(90deg,#a7d3ff,#d1ecff);color:#2f80df;font-size:14px;font-weight:600;white-space:nowrap;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%)}.countdown-chip strong{display:inline-grid;place-items:center;min-width:26px;height:32px;padding:0 8px;border-radius:8px;background:linear-gradient(180deg,#2b95ff,#4badff);color:#fff;font-size:24px}.progress-track{width:100%;height:14px;margin-top:16px;border-radius:999px;background:#e0f1ff;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#5ab0ff,#7acbff);transition:width .24s ease}.mastery-breakdown{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px;color:#5f7792;font-size:14px;font-weight:600}.mastery-breakdown span{white-space:nowrap}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.quick-stat{padding:12px 12px 10px;border-radius:16px;background:#edf7ffb8}.quick-stat span,.helper-text,.menu-item span,.mode-description,.list-meta,.setting-row span{color:var(--text-subtle)}.quick-stat strong{display:block;margin-top:6px;font-size:18px}.menu-card{margin-top:16px;padding:18px}.card-title-row,.feature-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ghost-link,.back-link{padding:10px 14px;border-radius:999px;background:#e0f1ffbf;color:#4a86c6;font-size:13px;font-weight:600;white-space:nowrap}.menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 10px;margin-top:18px}.menu-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:126px;padding:14px 8px 12px;border-radius:20px;color:var(--text-main);text-align:center;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.menu-item:hover,.menu-item:active{transform:translateY(-3px) scale(1.01);background:#eef8ffe0;box-shadow:0 16px 24px #6eade826}.menu-item strong{font-size:15px}.menu-item span{font-size:12px;line-height:1.4}.menu-icon{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(180deg,#fffffffa,#edf7ffeb);box-shadow:inset 0 1px #ffffffb8,0 10px 18px #6bafec24}.menu-icon svg{width:32px;height:32px;fill:none;stroke:#394b60;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.menu-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:linear-gradient(180deg,#2f92ff,#69bcff);color:#fff!important;font-size:11px!important;line-height:20px!important;font-weight:700}.icon-sprite{position:absolute;width:0;height:0;pointer-events:none}.feature-page{padding-top:4px}.feature-summary,.feature-content,.chapter-summary{margin-top:16px;padding:18px}.feature-summary p,.setting-row strong,.note-preview{margin:0}.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.chapter-filter-row{margin-bottom:0}.navigator-filter-row{margin-top:14px;margin-bottom:0}.filter-chip{min-height:36px;padding:0 14px;border:1px solid rgba(109,179,255,.16);border-radius:999px;background:#f8fcfff5;color:#5d7692;font-weight:600;white-space:nowrap;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.filter-chip.active{border-color:#2f8bff61;background:#e0f0fff5;color:#2f8bff}.soft-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;background:#e0f1ffb8;color:#4788c7;font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0}.mode-cards,.chapter-list,.stack-list,.settings-list{display:grid;gap:12px}.settings-block{display:grid;gap:12px;margin-top:18px}.settings-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-block-head h2{margin:4px 0 0;color:var(--text-main);font-size:18px;line-height:1.4}.chapter-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.chapter-title-row{margin-bottom:14px}.chapter-row{display:grid;gap:12px;padding:16px 14px;border-radius:18px;background:#f1f8ffd1}.chapter-row-copy{display:grid;gap:8px}.chapter-row-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.chapter-row-head strong{color:var(--text-main);font-size:16px}.chapter-row-stats{display:flex;flex-wrap:wrap;gap:10px 16px;color:var(--text-subtle);font-size:13px}.compact-group{margin-bottom:14px}.mode-card,.list-card,.setting-row{padding:14px;border-radius:18px;background:#f1f8ffd1}.mode-card{display:block}.mode-copy{display:grid;gap:8px}.mode-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.mode-title{margin:0;color:var(--text-main);font-weight:700}.mode-description{margin:0;line-height:1.6}.inline-count{min-height:28px;padding:0 10px;font-size:12px;white-space:nowrap}.list-card strong,.setting-row strong{display:block;color:var(--text-main)}.setting-profile-copy{display:grid;gap:6px;min-width:0}.setting-caption{color:var(--text-subtle);font-size:13px;line-height:1.5}.list-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.list-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:13px}.list-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}.compact-actions{margin-top:14px}.text-action{padding:0;border:0;background:transparent;color:#3f86cd;font-weight:600;white-space:nowrap;cursor:pointer}.action-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid rgba(98,166,244,.2);border-radius:999px;background:#e9f4ffeb;box-shadow:inset 0 1px #ffffffb8;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.action-button:hover,.action-button:active{transform:translateY(-1px);border-color:#3f86cd4d;background:#e0f0fffa;box-shadow:inset 0 1px #ffffffc7,0 10px 18px #61a1e31f}.action-button.danger-text{border-color:#e7767638;background:#fff2f2f0}.action-button.danger-text:hover,.action-button.danger-text:active{border-color:#d06a6a52;background:#ffebebfa;box-shadow:inset 0 1px #ffffffc7,0 10px 18px #e289891f}.danger-text{color:#d06a6a}.note-preview{margin-top:10px;color:#4f6377;line-height:1.5}.personal-note{padding:10px 12px;border-radius:14px;background:#f8fcffeb}.review-list{margin-top:14px}.settings-profile-list{display:grid;gap:10px}.setting-profile-row.active{border:1px solid rgba(90,174,255,.24);background:#eaf4fff5}.setting-row-stack{align-items:flex-start}.settings-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.settings-login-panel{display:grid;gap:10px}.setting-input{width:100%;min-height:44px;padding:0 14px;border:1px solid rgba(109,179,255,.18);border-radius:16px;background:#f8fcfff5;color:var(--text-main);font-size:14px}.setting-input::placeholder{color:#8ea3b8}.settings-actions{justify-content:flex-end;margin-top:0}.settings-actions-wrap{margin-top:0}.inline-note-editor{margin-top:12px}.inline-note-editor textarea{width:100%;resize:vertical;padding:14px;border:1px solid rgba(109,179,255,.18);border-radius:18px;background:#f8fcfff5;color:var(--text-main)}.inline-note-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:10px}.primary-button{width:100%;margin-top:18px;min-height:48px;border:0;border-radius:16px;background:linear-gradient(180deg,#2e94ff,#69bcff);color:#fff;font-size:15px;font-weight:700;white-space:nowrap;box-shadow:0 16px 26px #4f9be83d;cursor:pointer}.primary-button.secondary{background:linear-gradient(180deg,#f5fbff,#dceeff);color:#3f79b3;box-shadow:none;border:1px solid rgba(109,179,255,.18)}.helper-text,.empty-state{margin-top:12px;font-size:13px;line-height:1.6}.settings-feedback{color:#3f79b3}.settings-error{color:#d06a6a}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.practice-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.practice-metric-label{margin:0;color:var(--text-subtle);font-size:13px}.practice-metric-value,.result-score{display:block;margin-top:6px;color:var(--text-main);font-size:28px;line-height:1}.practice-card,.result-hero,.exam-bar,.navigator-card,.result-overview{margin-top:16px;padding:18px}.navigator-drawer-spacer{height:10px}.navigator-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12253c29;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:15}.exam-bar-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.countdown-timer{display:block;margin-top:6px;color:var(--primary-strong);font-size:30px;line-height:1}.countdown-timer.urgent{color:#e56b6b}.exam-status-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;color:var(--text-subtle);font-size:13px}.slim-button{width:auto;min-width:112px;margin-top:0;padding-inline:18px}.navigator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.navigator-drawer{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 32px),430px);margin-top:0;padding:10px 12px 14px;border-radius:24px;background:#fffffff5;box-shadow:0 22px 48px #406fa52e,0 8px 18px #406fa514;z-index:16}.navigator-drawer.expanded{max-height:min(72vh,620px)}.navigator-drawer-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:20px;background:linear-gradient(180deg,#f7fbfffa,#ecf5fff0);box-shadow:inset 0 1px #ffffffd1,0 10px 20px #629fe31a;text-align:left;cursor:pointer}.navigator-drawer-grip{display:block;width:30px;height:4px;margin-right:2px;border-radius:999px;background:#7596b975}.navigator-summary-copy{min-width:0}.navigator-summary-copy .section-kicker{margin-bottom:2px}.navigator-summary-copy strong{display:block;color:var(--text-main);font-size:16px;line-height:1.2}.navigator-summary-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;color:#68809b;font-size:13px;font-weight:600}.navigator-summary-toggle{min-width:60px;background:#e0effff5}.navigator-drawer-panel{margin-top:14px;padding:14px 6px 2px;border-top:1px solid rgba(109,179,255,.1);overflow-y:auto;max-height:calc(min(72vh,620px) - 78px)}.navigator-head-copy{min-width:0}.navigator-head-actions{display:grid;gap:10px;justify-items:end}.navigator-head h2{margin:0;color:var(--text-main);font-size:18px}.navigator-stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.navigator-toggle{min-width:96px}.navigator-collapsed-summary{margin:14px 0 0;color:var(--text-subtle);font-size:14px;line-height:1.6}.muted-pill{background:#eef5fceb;color:#68809b}.navigator-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--text-subtle);font-size:12px}.legend-dot{width:10px;height:10px;border-radius:50%;background:#dbe8f6}.legend-dot.current{background:#2f8bff}.legend-dot.answered{background:#54b57c}.legend-dot.draft{background:#f0be62}.legend-dot.pending{background:#cfdceb}.navigator-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}.compact-empty-state{margin-top:14px}.nav-pill{min-height:42px;border:1px solid rgba(109,179,255,.16);border-radius:14px;background:#f8fcfff5;color:var(--text-main);font-weight:700;white-space:nowrap;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.nav-pill:hover{transform:translateY(-1px);box-shadow:0 10px 18px #6bafec1f}.nav-pill.current{border-color:#2f8bff8f;background:#e0f0fff5;color:#2f8bff}.nav-pill.answered{border-color:#54b57c5c;background:#ebf8effa;color:#357a53}.nav-pill.draft{border-color:#f0be626b;background:#fff8e9fa;color:#9a6d18}.nav-pill.pending{color:#6d8197}.question-head,.practice-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.pill-row.compact{margin-top:0;justify-content:flex-end}.soft-pill.muted{background:#eef5fceb;color:#68809b}.question-stem{margin:16px 0 0;color:var(--text-main);font-size:22px;line-height:1.45}.options-list{display:grid;gap:12px;margin-top:18px}.option-card{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid rgba(109,179,255,.18);border-radius:18px;background:#f8fcfff5;color:var(--text-main);text-align:left;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background-color .18s ease}.option-card:hover{transform:translateY(-2px);box-shadow:0 14px 24px #6bafec1f}.option-card.selected{border-color:#3e90ff8f;background:#e3f2fffa}.option-card.correct{border-color:#4db77f7a;background:#e9f9eff5}.option-card.wrong{border-color:#ff83837a;background:#fff1f1f5}.option-key{flex:0 0 34px;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e0f1ffeb;color:#397ec0;font-weight:700}.tag-toggle{min-height:38px;padding:0 14px;border:1px solid rgba(231,118,118,.24);border-radius:999px;background:#fff2f2f5;color:#d06a6a;white-space:nowrap;cursor:pointer}.tag-toggle.active{background:linear-gradient(180deg,#2e94ff,#69bcff);color:#fff}.note-field{display:grid;gap:10px;margin-top:16px;color:var(--text-main);font-weight:600}.note-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.note-field textarea{width:100%;resize:vertical;padding:14px;border:1px solid rgba(109,179,255,.18);border-radius:18px;background:#f8fcfff5;color:var(--text-main)}.feedback-card{margin-top:16px;padding:14px;border-radius:18px;background:#e8f7eeeb;color:#2f6c4f}.feedback-card.wrong{background:#fff2f2f5;color:#9a4f4f}.feedback-card strong,.feedback-card p,.result-label{margin:0}.feedback-card p+p{margin-top:8px}.feedback-answer{font-weight:600}.practice-actions{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.practice-actions .primary-button{margin-top:0}.result-actions{display:grid;gap:12px;margin-top:18px}.result-actions .primary-button{margin-top:0}.result-hero{text-align:center}.result-label{color:var(--text-subtle)}.result-remark{margin:12px 0 0;color:#50657d;line-height:1.7}.result-pill-row{justify-content:center}.result-stats{margin-top:18px}.result-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.overview-card{padding:14px;border-radius:18px;background:#f1f8ffd1}.overview-card span,.overview-card small{color:var(--text-subtle)}.overview-card strong{display:block;margin-top:8px;color:var(--text-main);font-size:24px}.overview-card small{display:block;margin-top:8px;line-height:1.5}.inline-button{display:inline-flex;align-items:center;justify-content:center}.link-card{color:inherit}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#12253c47;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20}.modal-card{width:min(100%,390px);padding:22px 18px 18px;border-radius:24px;background:#fffffff7;box-shadow:0 22px 54px #3c6ca033}.modal-card h2{margin:0;color:var(--text-main);font-size:24px}.modal-copy{margin:12px 0 0;color:var(--text-subtle);line-height:1.7;font-size:14px}.modal-actions{display:grid;gap:12px;margin-top:18px}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:399px){.page-shell{padding-inline:12px}.practice-meta,.exam-bar-head,.question-head,.note-head,.practice-actions,.settings-block-head{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.settings-inline{grid-template-columns:1fr}.navigator-head{flex-direction:column;align-items:stretch}.navigator-head-actions{width:100%;justify-items:stretch}.navigator-stats{justify-content:flex-start}.navigator-toggle{width:100%}.navigator-drawer{width:calc(100% - 24px);bottom:calc(8px + env(safe-area-inset-bottom));padding-inline:10px}.navigator-drawer-summary{grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.navigator-summary-stats{grid-column:1 / -1;justify-content:flex-start;padding-left:30px}.navigator-summary-toggle{justify-self:end}.navigator-grid,.result-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy h1{font-size:25px}.status-metric strong{font-size:30px}.countdown-chip{gap:6px;padding-inline:18px 14px;font-size:13px}.countdown-chip strong{min-width:24px;font-size:21px}.menu-grid{gap:12px 8px}.menu-item{min-height:118px;padding-inline:5px}.menu-item strong{font-size:14px}.question-stem{font-size:20px}}
