@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap";.question-markdown{background:#fff;border:1px solid #dde2dc;border-radius:8px;margin-bottom:14px;padding:18px 20px}.question-markdown h3{margin-top:0}.question-markdown+.recall-panel{padding:18px 20px}.question-markdown a{color:#1f7052;word-break:break-all}.question-label{color:#748078;border-bottom:1px solid #e5e9e5;margin-bottom:14px;padding-bottom:10px;font-size:12px}.problem-link{border-top:1px solid #e5e9e5;justify-content:center;align-items:center;margin-top:18px;padding-top:13px;font-size:13px;font-weight:600;text-decoration:none;display:flex}:root{color:#1c2722;font-synthesis:none;letter-spacing:0;--green:#1f7052;--ink:#1c2722;--muted:#748078;--line:#dde2dc;--paper:#fff;--coral:#e76f51;background:#f5f6f1;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#f5f6f1;min-width:320px;margin:0}button,input{font:inherit;letter-spacing:0}button{cursor:pointer}.app-shell{min-height:100vh;padding-bottom:86px}.page{max-width:680px;margin:auto;padding:0 20px 36px}.topbar{justify-content:space-between;align-items:center;padding:30px 0 22px;display:flex}.eyebrow{color:var(--muted);font-size:13px}h1,h2,p{margin:0}.topbar h1,.simple-header h1{letter-spacing:0;margin-top:4px;font-size:27px;line-height:1.25}.streak{color:#d85b3d;background:#fff1eb;border:1px solid #f5d7cb;border-radius:20px;align-items:center;gap:5px;padding:8px 12px;font-weight:700;display:flex}.hero-panel{color:#fff;background:#184f3d;border-radius:8px;padding:25px 23px 22px;box-shadow:0 12px 32px #1f43361f}.hero-copy{grid-template-columns:1fr auto;align-items:end;display:grid}.hero-copy span{color:#c9ddd4;font-size:14px}.hero-copy strong{grid-area:1/2/3;font-size:58px;line-height:.9}.hero-copy small{color:#c9ddd4;margin-top:7px}.primary-button,.reveal-button{color:#293028;background:#f2b84b;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;height:50px;margin-top:24px;font-weight:700;display:flex}.primary-button:disabled{opacity:.65}.stats-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(3,1fr);margin-top:14px;padding:17px 0;display:grid}.stats-row div{border-right:1px solid var(--line);flex-direction:column;align-items:center;display:flex}.stats-row div:last-child{border:0}.stats-row b{font-size:20px}.stats-row span{color:var(--muted);margin-top:2px;font-size:12px}.section-title{justify-content:space-between;align-items:end;margin:28px 1px 12px;display:flex}.section-title h2,.settings-section h2{font-size:18px}.section-title span{color:var(--muted);font-size:12px}.course-list{gap:10px;display:grid}.course{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:8px;grid-template-columns:48px 1fr auto 20px;align-items:center;gap:12px;padding:15px 13px;display:grid}.course-icon,.item-icon{border-radius:7px;place-items:center;width:46px;height:46px;display:grid}.course-icon svg,.item-icon svg{width:23px}.course-icon.coral,.item-icon.algorithm{color:#d85d40;background:#fff0eb}.course-icon.green,.item-icon.llm{color:var(--green);background:#e9f3ee}.course>span:nth-child(2),.library-item>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.course small,.library-item small{color:var(--muted);margin-top:3px;font-size:12px}.course-count{text-align:right}.course-count b{font-size:18px}.course-count small{display:block}.tip{border-top:1px solid var(--line);color:#57635c;gap:12px;margin-top:22px;padding:20px 4px;display:flex}.tip svg{color:#cf9832;flex:none}.tip b{font-size:13px}.tip p{margin-top:3px;font-size:12px;line-height:1.7}.bottom-nav{height:72px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);z-index:10;background:#fffffff5;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#8a938d;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:min(33.33%,220px);font-size:11px;display:flex}.bottom-nav svg{width:21px}.bottom-nav .active{color:var(--green);font-weight:700}.simple-header{padding:32px 0 22px}.simple-header p{color:var(--muted);margin-top:5px;font-size:13px}.search{border:1px solid var(--line);color:#8a938d;background:#fff;border-radius:7px;align-items:center;gap:10px;height:46px;padding:0 14px;display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.segments{background:#e9ece7;border-radius:6px;grid-template-columns:repeat(3,1fr);margin:14px 0;padding:3px;display:grid}.segments button{color:#69746d;background:0 0;border:0;border-radius:5px;padding:8px;font-size:13px}.segments .active{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 3px #00000012}.library-list{display:grid}.library-item{border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--ink);background:0 0;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:13px 2px;display:grid}.item-icon{width:42px;height:42px}.learned{color:var(--green);align-items:center;gap:2px;font-size:11px;flex-direction:row!important;display:flex!important}.settings-section{margin-top:5px}.settings-section h2{margin-bottom:8px}.setting-row{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:16px;display:flex}.setting-row:first-of-type{border-radius:7px 7px 0 0}.setting-row:last-of-type{border:0;border-radius:0 0 7px 7px}.setting-row span:first-child{flex-direction:column;display:flex}.setting-row small{color:var(--muted);margin-top:3px}.setting-row button{color:#bd4d35;background:#fff0eb;border:0;border-radius:5px;padding:7px 11px}.status{color:var(--green);font-size:12px}.about{text-align:center;color:var(--muted);margin-top:70px}.about svg{color:var(--green)}.about h2{color:var(--ink);margin:10px 0 3px}.about p{font-size:12px}.review-screen{background:#fafbf8;flex-direction:column;min-height:100vh;display:flex}.review-header{border-bottom:1px solid var(--line);z-index:2;background:#fff;align-items:center;gap:14px;height:64px;padding:0 18px;display:flex;position:sticky;top:0}.icon-button{color:#5f6963;background:0 0;border:0;place-items:center;padding:7px;display:grid}.icon-button svg{width:22px}.progress-track{background:#e6eae6;border-radius:5px;flex:1;height:5px;overflow:hidden}.progress-track i{background:var(--green);height:100%;transition:all .25s;display:block}.review-header span{color:var(--muted);font-size:12px}.review-body{flex:1;width:min(720px,100%);margin:auto;padding:34px 23px 140px}.card-meta{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.card-meta i{background:#ccd2cd;width:1px;height:12px}.kind-dot{background:var(--coral);border-radius:50%;width:8px;height:8px}.kind-dot.llm{background:var(--green)}.review-body>h1{margin:15px 0 25px;font-size:26px;line-height:1.45}.recall-panel{text-align:center;color:#53625a;background:#f1f5f1;border:1px solid #dbe2dc;border-radius:8px;padding:26px 20px}.recall-panel svg{color:var(--green)}.recall-panel p{color:#26352d;max-width:460px;margin:12px auto 8px;font-size:16px;line-height:1.7}.recall-panel small{color:#87918b;font-size:12px}.review-actions{border-top:1px solid var(--line);padding:13px 18px calc(14px + env(safe-area-inset-bottom));z-index:3;background:#fff;position:fixed;bottom:0;left:0;right:0}.review-actions>*{max-width:680px;margin-left:auto;margin-right:auto}.reveal-button{background:var(--green);color:#fff;margin-top:0}.review-actions>p{text-align:center;color:var(--muted);margin-bottom:10px;font-size:12px}.grade-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.grade{border:1px solid var(--line);text-align:left;height:66px;color:var(--ink);background:#fff;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:22px auto;justify-content:center;align-items:center;column-gap:6px;display:grid}.grade svg{grid-row:1/3;width:20px}.grade b{font-size:13px}.grade small{color:var(--muted);font-size:10px}.grade.again svg{color:#ce5a43}.grade.fuzzy svg{color:#c28a20}.grade.know svg{color:var(--green)}.markdown{color:#354039;overflow-wrap:anywhere;font-size:15px;line-height:1.85}.markdown h1,.markdown h2,.markdown h3{color:var(--ink);margin:25px 0 10px;font-size:18px;line-height:1.5}.markdown h2:first-child{margin-top:0}.markdown pre{color:#edf4ef;background:#202923;border-radius:6px;padding:15px;font-size:12px;line-height:1.6;overflow:auto}.markdown code:not(pre code){background:#e9eeea;border-radius:3px;padding:2px 5px;font-size:.9em}.markdown table{border-collapse:collapse;width:100%;font-size:13px;display:block;overflow:auto}.markdown th,.markdown td{border:1px solid #d5dbd6;padding:7px 9px}.markdown blockquote{border-left:3px solid var(--green);color:#667169;background:#eff4f0;margin:14px 0;padding:4px 12px}.markdown img{max-width:100%}.finish-screen{text-align:center;justify-content:center;align-items:center;padding:30px}.finish-mark{width:76px;height:76px;color:var(--green);background:#e5f1ea;border-radius:50%;place-items:center;display:grid}.finish-screen h1{margin:22px 0 8px}.finish-screen p{color:var(--muted);max-width:310px;font-size:14px;line-height:1.6}.finish-screen .primary-button{background:var(--green);color:#fff;max-width:320px}@media (width>=700px){.hero-panel{padding:30px}.page{padding-left:0;padding-right:0}.review-body>h1{font-size:31px}.course:hover,.library-item:hover{background:#f9fbf9}}
