:root{color-scheme:light;--bg: #f7f8fa;--card: #ffffff;--surface-soft: #f2f4f7;--surface-hover: #e9edf3;--input: #ffffff;--line: #e4e8ef;--line-strong: #c7d0dc;--text: #1f2a37;--muted: #667085;--brand: #16a34a;--brand-solid: #15803d;--brand-hover: #166534;--brand-contrast: #ffffff;--link: #15703a;--danger: #b42318;--danger-solid: #d92d20;--danger-hover: #b42318;--warning: #b54708;--focus-ring: #22c55e;--shadow: rgba(16, 24, 40, .12);--lv0: #ebedf0;--lv1: #9be9a8;--lv2: #40c463;--lv3: #30a14e;--lv4: #216e39}.account-popover [hidden]{display:none!important}.submission-route{background:#f6f8f4}.submission-route .container{width:100%;max-width:none;padding:0 28px 48px}.submission-route .footer{display:none}.submission-page{--submission-green:#185c43;--submission-green-solid:#185c43;--submission-green-deep:#104733;--submission-soft:#e7f0ea;--submission-paper:#fbfcfa;--submission-control:#fff;--submission-add-surface:rgb(251 252 250 / 72%);--submission-ink:#17251f;--submission-muted:#63726b;--submission-line:#d9e3dd;--submission-header-start:#f7faf7;--submission-header-end:#fbfcfa;--submission-track:#dfe8e2;--submission-danger:#a33e3e;--submission-danger-soft:#f8eaea;position:relative;max-width:1560px;margin:0 auto;color:var(--submission-ink);isolation:isolate}.submission-page[hidden]{display:none!important}.submission-page:before{content:"";position:absolute;z-index:-2;top:0;right:-28px;width:min(46vw,720px);height:220px;background:url(/assets/ink-mountains.webp?v=852cc8a2c332) right top / auto 100% no-repeat;opacity:.18;pointer-events:none}.submission-backdrop{position:absolute;z-index:-3;inset:0 -28px auto;height:270px;background:linear-gradient(90deg,#f6f8f4 34%,#e8f1eb7a);pointer-events:none}.submission-hero{min-height:186px;padding:30px 300px 28px 268px;display:flex;flex-direction:column;justify-content:center}.submission-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:var(--submission-muted);font-size:13px}.submission-breadcrumb a{color:inherit;text-decoration:none;text-underline-offset:3px}.submission-breadcrumb a:hover{color:var(--submission-green);text-decoration:underline}.submission-hero h1{max-width:720px;margin:0 0 8px;color:var(--submission-ink);font-family:var(--serif);font-size:clamp(32px,3vw,46px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}.submission-hero p{max-width:66ch;margin:0;color:var(--submission-muted);font-size:15px;line-height:1.7}.submission-auth-gate{max-width:640px;margin:48px auto 120px;padding:42px;text-align:center;border:1px solid var(--submission-line);background:var(--submission-paper);box-shadow:0 18px 45px #1c443114}.submission-auth-gate h2{margin:0 0 10px;font-family:var(--serif);font-size:28px}.submission-auth-gate p{margin:0 0 24px;color:var(--submission-muted)}.submission-workspace{display:grid;grid-template-columns:220px minmax(600px,1fr) 240px;gap:24px;align-items:start}.submission-index,.submission-notes{position:sticky;top:92px}.submission-index-disclosure{border:0}.submission-index-disclosure>summary{list-style:none;margin:0 0 18px;color:var(--submission-green-deep);font-family:var(--serif);font-size:23px;font-weight:700;cursor:default}.submission-index-disclosure>summary::-webkit-details-marker{display:none}.submission-index-date{margin:0 0 18px;font-size:14px;font-variant-numeric:tabular-nums}.submission-capacity{margin:0 0 8px;color:var(--submission-muted);font-size:13px}.submission-capacity-track{height:5px;overflow:hidden;margin-bottom:18px;background:var(--submission-track);border-radius:999px}.submission-capacity-track span{display:block;width:0;height:100%;background:var(--submission-green-solid);border-radius:inherit}.submission-problem-index{display:grid;gap:8px;max-height:48vh;overflow:auto;padding-right:3px;scrollbar-color:#abc0b5 transparent;scrollbar-width:thin}.submission-index-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:1px 10px;width:100%;padding:10px;border:0;border-radius:8px;color:var(--submission-ink);background:transparent;text-align:left;cursor:pointer}.submission-index-item:hover,.submission-index-item:focus-visible{background:var(--submission-soft)}.submission-index-item>span{grid-row:1 / 3;display:grid;place-items:center;width:34px;height:34px;color:#fff;background:var(--submission-green-solid);border-radius:7px;font-family:var(--serif);font-size:16px}.submission-index-item strong,.submission-index-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-index-item strong{font-size:13px}.submission-index-item small{color:var(--submission-muted);font-size:11px}.submission-index #btn-add-problem-aside{width:100%;margin-top:14px;border-style:dashed}.submission-draft-state{display:flex;align-items:center;gap:7px;margin:24px 2px 0;color:var(--submission-muted);font-size:12px}.submission-draft-state:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--submission-green-solid);box-shadow:0 0 0 3px var(--submission-soft)}.submission-editor-column{min-width:0}.submission-toolbar{position:relative;display:grid;grid-template-columns:250px 1fr;gap:12px 16px;margin-bottom:16px;padding:16px 18px;border:1px solid var(--submission-line);border-radius:10px;background:#fbfcfaf0;box-shadow:0 12px 32px #1c44310f}.submission-date-control{display:grid;gap:5px}.submission-date-control>span{color:var(--submission-muted);font-size:12px;font-weight:600}.submission-page .journal-import-tools{align-self:end;margin:0}.submission-page .journal-import-tools .btn{min-height:40px;background:var(--submission-control)}.submission-page .submission-interval{grid-column:1 / -1;border-top:1px solid var(--submission-line)}.submission-page .submission-interval>summary{padding-top:12px;color:var(--submission-ink);font-size:13px;font-weight:650;cursor:pointer}.submission-page .submission-interval>summary span{color:var(--submission-muted);font-size:11px;font-weight:400}.submission-page .submission-date-help{margin:10px 0 0;color:var(--submission-muted);font-size:12px;line-height:1.6}.submission-page .submission-interval .journal-date-group{grid-template-columns:1fr 1fr;margin-top:12px}.submission-page .import-tools-hint{grid-column:1 / -1;margin:0}.submission-page .import-panel{grid-column:1 / -1;border-color:var(--submission-line);background:var(--submission-control);color:var(--submission-ink)}.submission-page #problem-list{display:grid;gap:16px;margin:0}.submission-page .problem-block{scroll-margin-top:92px;margin:0;padding:0 22px 22px;border:1px solid var(--submission-line);border-radius:10px;background:var(--submission-paper);box-shadow:0 10px 30px #1c44310d;overflow:hidden}.submission-page .problem-header{display:flex;align-items:center;gap:14px;margin:0 -22px 20px;padding:14px 18px;border:0;border-bottom:1px solid var(--submission-line);background:linear-gradient(90deg,var(--submission-header-start),var(--submission-header-end))}.submission-page .problem-index{display:grid;place-items:center;flex:0 0 46px;height:46px;color:#fff;background:var(--submission-green-solid);border-radius:9px;font-family:var(--serif);font-size:20px;font-weight:700}.submission-page .problem-card-heading{display:grid;gap:2px;min-width:0}.submission-page .problem-card-heading strong{overflow:hidden;color:var(--submission-ink);font-family:var(--serif);font-size:20px;text-overflow:ellipsis;white-space:nowrap}.submission-page .problem-card-heading small{color:var(--submission-muted);font-size:12px}.submission-page .problem-header .btn-remove{margin-left:auto;color:var(--submission-muted);background:transparent}.submission-page .problem-header .btn-remove:hover{color:var(--submission-danger);background:var(--submission-danger-soft)}.submission-page .form-input{border-color:var(--submission-line);background:var(--submission-control);color:var(--submission-ink)}.submission-page .form-input:focus{border-color:var(--submission-green);box-shadow:0 0 0 3px #185c431a}.submission-page .journal-identity-row,.submission-page .journal-meta-row{margin-bottom:14px}.submission-page .learning-state-panel{margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--submission-line);border-bottom:0}.submission-page .learning-state-grid{display:block}.submission-page .outcome-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}.submission-page .outcome-options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.submission-page .outcome-options label{position:relative;min-width:0;cursor:pointer}.submission-page .outcome-options input{position:absolute;inset:0;opacity:0}.submission-page .outcome-options span{display:flex;justify-content:center;align-items:center;min-height:42px;padding:8px;border:1px solid var(--submission-line);border-radius:7px;color:var(--submission-muted);background:var(--submission-control);font-size:13px;text-align:center}.submission-page .outcome-options input:checked+span{border-color:var(--submission-green);color:var(--submission-green-deep);background:var(--submission-soft);box-shadow:inset 0 0 0 1px var(--submission-green);font-weight:650}.submission-page .outcome-options input:focus-visible+span{outline:2px solid var(--submission-green);outline-offset:3px}.submission-page .journal-disclosure{margin:18px 0 0;border:1px solid var(--submission-line);border-radius:7px;background:var(--submission-control)}.submission-page .journal-disclosure>summary{display:flex;justify-content:space-between;gap:16px;padding:12px 14px}.submission-page .journal-disclosure>summary span{color:var(--submission-muted)}.submission-page .journal-disclosure-body{padding:0 14px 15px}.submission-page .review-settings .learning-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.submission-page .journal-statement-tools{padding:0}.submission-page .journal-statement-tools .statement-import{background:var(--submission-soft)}.submission-page .problem-takeaway{min-height:122px}.submission-page #btn-add-problem{width:100%;min-height:72px;margin-top:16px;border:1px dashed var(--submission-line);background:var(--submission-add-surface);color:var(--submission-green);font-weight:650}.submission-page .submission-summary{margin:13px 2px 0;text-align:right;font-variant-numeric:tabular-nums}.submission-savebar{position:sticky;z-index:8;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 14px;border:1px solid var(--submission-line);border-radius:10px;background:#fbfcfaf5;box-shadow:0 10px 20px #0000001f}.submission-save-context{min-width:0}.submission-save-preview{margin:0 0 4px;color:var(--submission-ink);font-size:13px;font-weight:650;line-height:1.4}.submission-save-preview.is-warning{color:var(--warning)}.submission-save-actions{display:flex;gap:8px;flex:none}.submission-savebar .submit-status{min-width:0;color:var(--submission-muted);font-size:12px}.submission-savebar .btn{min-height:40px}.submission-notes{display:grid;gap:18px}.submission-notes>section,.submission-notes blockquote{margin:0;padding:20px;border:1px solid var(--submission-line);border-radius:10px;background:#fbfcfae5}.submission-notes h2{margin:0 0 14px;color:var(--submission-green-deep);font-family:var(--serif);font-size:20px}.submission-notes ul{display:grid;gap:12px;margin:0;padding-left:19px;color:var(--submission-muted);font-size:13px;line-height:1.6}.submission-notes blockquote{min-height:210px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to bottom,#fbfcfaad,#f4f8f5 78%),url(/assets/ink-mountains.webp?v=852cc8a2c332) center bottom / auto 74% no-repeat}.submission-notes blockquote p{margin:0 0 16px;color:var(--submission-ink);font-family:var(--serif);font-size:17px;line-height:1.8}.submission-notes blockquote footer{color:var(--submission-muted);font-size:11px;text-align:right}.submission-page button,.submission-page input,.submission-page select,.submission-page textarea{caret-color:var(--submission-green)}.submission-page ::selection{color:#fff;background:var(--submission-green-solid)}[data-theme=dark] .submission-route{background:#101a16}[data-theme=dark] .submission-page{--submission-green:#7dd3aa;--submission-green-solid:#276449;--submission-green-deep:#a7e3c5;--submission-paper:#17231e;--submission-control:#101a16;--submission-add-surface:#14221c;--submission-ink:#edf5f0;--submission-muted:#adbbb4;--submission-line:#587064;--submission-soft:#20362c;--submission-header-start:#1d3027;--submission-header-end:#17231e;--submission-track:#31433a;--submission-danger:#ff9b93;--submission-danger-soft:#3a2424}[data-theme=dark] .submission-backdrop{background:linear-gradient(90deg,#101a16 34%,#1d352a8c)}[data-theme=dark] .submission-toolbar,[data-theme=dark] .submission-page .problem-block,[data-theme=dark] .submission-savebar,[data-theme=dark] .submission-notes>section,[data-theme=dark] .submission-notes blockquote{background:#17231ef5}[data-theme=dark] .submission-page .form-input,[data-theme=dark] .submission-page .journal-disclosure,[data-theme=dark] .submission-page .outcome-options span,[data-theme=dark] .submission-page .journal-import-tools .btn{color:var(--submission-ink)}@media(max-width:1279px){.submission-hero{padding-right:24px;padding-left:244px}.submission-workspace{grid-template-columns:210px minmax(0,1fr)}.submission-notes{display:none}}@media(max-width:899px){.submission-route .container{padding:0 16px 96px}.submission-page:before{right:-16px;width:70vw;height:170px;opacity:.13}.submission-hero{min-height:156px;padding:24px 0}.submission-hero h1{font-size:34px}.submission-workspace{display:block}.submission-index{position:static;margin-bottom:12px}.submission-index-disclosure{border:1px solid var(--submission-line);border-radius:9px;background:var(--submission-paper)}.submission-index-disclosure>summary{cursor:pointer;margin:0;padding:14px 16px;font-family:inherit;font-size:15px}.submission-index-body{padding:0 16px 16px}.submission-problem-index{max-height:240px}.submission-toolbar{grid-template-columns:1fr;padding:14px}.submission-page .submission-interval,.submission-page .import-tools-hint,.submission-page .import-panel{grid-column:auto}.submission-page .journal-import-tools .btn{flex:1 1 calc(50% - 8px)}.submission-page .problem-block{padding:0 16px 18px}.submission-page .problem-header{margin-inline:-16px}.submission-page .journal-identity-row,.submission-page .journal-meta-row{grid-template-columns:1fr}.submission-page .outcome-options{grid-template-columns:1fr 1fr}.submission-page .outcome-options label:first-of-type{grid-column:1 / -1}.submission-page .review-settings .learning-state-grid{grid-template-columns:1fr 1fr}.submission-savebar{bottom:72px;align-items:stretch;flex-direction:column}.submission-save-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.submission-save-actions #btn-save{grid-column:1 / -1;grid-row:1}.submission-savebar .btn{width:100%}}@media(max-width:520px){.submission-route .container{padding-inline:12px}.submission-breadcrumb{margin-bottom:12px}.submission-hero h1{font-size:30px}.submission-page .problem-card-heading strong{font-size:17px}.submission-page .problem-index{flex-basis:40px;height:40px}.submission-page .review-settings .learning-state-grid{grid-template-columns:1fr}.submission-page .journal-disclosure>summary{display:block}.submission-page .journal-disclosure>summary span{display:block;margin:3px 0 0}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Microsoft YaHei,sans-serif}.container{width:min(1080px,calc(100% - 32px));margin:28px auto 40px}.header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px}.subtitle,.hint{color:var(--muted)}a{color:var(--link);text-underline-offset:3px}a:hover{color:var(--brand)}::selection{background:color-mix(in srgb,var(--brand) 32%,transparent)}.training-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.training-row:last-child{border-bottom:0}.training-row span{color:var(--muted);white-space:nowrap}.training-row a{color:var(--link)}.training-settings summary{border-radius:7px;color:var(--text);cursor:pointer;font-weight:650;outline-offset:5px}#training-page .metrics .card{background:color-mix(in srgb,var(--brand) 3%,var(--card))}.site-total-badge{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:600;line-height:1.6;color:#fff;background:var(--brand);vertical-align:middle;white-space:nowrap}.filter{display:flex;align-items:center;gap:8px}select{border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;background:var(--input);color:var(--text)}.grid{display:grid;gap:14px}.metrics{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}.metric-label{color:var(--muted);margin-bottom:8px}.metric-value{font-size:28px;color:var(--brand);font-weight:700;margin:0}.heatmap{display:grid;grid-template-columns:repeat(53,12px);grid-template-rows:repeat(7,12px);grid-auto-flow:column;gap:3px;overflow-x:auto;padding-bottom:4px}.heatmap:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:4px}.cell{width:12px;height:12px;border-radius:2px;background:var(--lv0)}.cell.lv1{background:var(--lv1)}.cell.lv2{background:var(--lv2)}.cell.lv3{background:var(--lv3)}.cell.lv4{background:var(--lv4)}.stat-list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0}.records{display:grid;gap:10px}.record-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.record{border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.record-head,.meta{color:var(--muted);font-size:13px}.record-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.record-date-wrap{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.updated-at{color:var(--muted);font-size:11px;opacity:.75;white-space:nowrap}.record h3{margin:8px 0 6px}.record p{margin-bottom:0}.record-takeaway h1,.record-takeaway h2,.record-takeaway h3,.record-takeaway h4,.record-takeaway h5,.record-takeaway h6{margin:14px 0 6px;line-height:1.35}.record-takeaway h1{font-size:1.35em}.record-takeaway h2{font-size:1.2em}.record-takeaway h3{font-size:1.08em}.record-takeaway h4,.record-takeaway h5,.record-takeaway h6{font-size:1em}.record-desc{margin-bottom:10px}.record-section+.record-section{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.record-title-clickable{cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px;margin:0 0 6px;padding:4px 0;width:100%;border:0;background:transparent;color:var(--text);font:inherit;font-size:1.17em;font-weight:600;text-align:left}.record-title-clickable:hover{color:var(--brand)}.expand-icon{font-size:10px;transition:transform .2s;color:var(--muted)}.record.expanded .expand-icon{transform:rotate(180deg)}.record-takeaway{display:none;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);min-width:0}.record.expanded .record-takeaway{display:block}.member-link,.record-detail-link,.back-link,.member-chip{color:var(--brand);text-decoration:none}.member-link:hover,.record-detail-link:hover,.back-link:hover,.member-chip:hover{text-decoration:underline}.record-detail-link{display:inline-flex;margin-top:12px;font-size:13px;font-weight:600}.record-grid .record{display:flex;min-height:150px;flex-direction:column}.record-grid .record-detail-link{margin-top:auto;padding-top:14px}.record-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:14px}.record-source-link{padding:5px 10px;font-size:12px}.record-grid .record-links .record-detail-link{margin-top:0;padding-top:0}.detail-toolbar{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;font-size:14px}.profile-header{margin-bottom:8px}.eyebrow{margin-bottom:7px;color:var(--brand);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.problem-detail{padding:clamp(20px,4vw,42px)}.problem-standalone .main{width:min(1320px,calc(100% - 48px));margin:0 auto 40px}@media(max-width:720px){.problem-standalone .main{width:calc(100% - 32px);margin-bottom:0}}.problem-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.problem-detail-head h1{margin-bottom:0}.problem-detail-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.problem-source-link{padding:7px 12px;font-size:13px;text-decoration:none}.member-chip{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--line));border-radius:999px;padding:7px 12px;background:color-mix(in srgb,var(--brand) 9%,transparent);font-size:13px}.problem-meta{display:flex;gap:24px;margin:18px 0 28px;color:var(--muted);font-size:14px}.problem-section{line-height:1.75}.problem-section+.problem-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.problem-section h2{margin-bottom:12px}.problem-section pre{max-width:100%;overflow-x:auto}.problem-section table{display:block;width:max-content;max-width:100%;margin:16px 0;overflow-x:auto;border-collapse:collapse}.problem-section th,.problem-section td{min-width:96px;padding:8px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.problem-section th{background:var(--bg);font-weight:650}.problem-section .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.problem-code-expanded{display:block;margin-top:0;padding-top:0;border-top:0}.record-takeaway pre{background:#1e293b;color:#e2e8f0;border-radius:8px;padding:14px;max-width:100%;overflow-x:auto;font-size:13px;line-height:1.5;margin:8px 0}.record-takeaway code{font-family:Cascadia Code,Fira Code,Consolas,monospace;background:transparent;padding:0}.record-takeaway pre code{color:#e2e8f0;display:block;min-width:max-content}.footer{color:var(--muted);font-size:13px;padding:12px 0 4px;text-align:center}.footer p{margin:4px 0}.footer-version{font-size:11px;opacity:.75;white-space:nowrap}.footer a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:3px}.footer a:hover,.footer a:focus-visible{color:var(--brand)}code{background:var(--surface-soft);padding:2px 5px;border-radius:6px}#auth-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.page-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line)}#analysis-page .metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.page-nav-btn{border:0;border-bottom:2px solid transparent;padding:9px 14px;background:transparent;color:var(--muted);cursor:pointer;font:inherit}.page-nav-btn:hover,.page-nav-btn.active{color:var(--brand)}.page-nav-btn:hover{background:color-mix(in srgb,var(--brand) 7%,transparent);border-radius:8px 8px 0 0}.page-nav-btn.active{border-bottom-color:var(--brand)}.analysis-controls .form-row{margin-bottom:0}.analysis-filter-row{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(360px,1.3fr);gap:10px}.analysis-filter-row .form-group{margin-bottom:0}.analysis-date-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.analysis-date-range span{color:var(--muted);font-size:14px}.analysis-date-input{position:relative;min-width:0}.analysis-date-input .form-input{padding-right:42px}.analysis-date-input input[type=date]::-webkit-calendar-picker-indicator{opacity:0}.analysis-calendar-trigger{position:absolute;top:50%;right:6px;display:grid;width:30px;height:30px;place-items:center;transform:translateY(-50%);border:0;border-radius:5px;background:transparent;color:var(--text);cursor:pointer;font-size:16px}.analysis-calendar-trigger:hover,.analysis-calendar-trigger:focus-visible{background:var(--line);outline:none}.analysis-range-presets{display:flex;gap:6px;margin-top:8px}.analysis-preset{border:1px solid var(--line);border-radius:6px;padding:5px 9px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:13px}.analysis-preset:hover,.analysis-preset.active{border-color:var(--brand);color:var(--brand)}.analysis-preset.active{background:color-mix(in srgb,var(--brand) 12%,transparent)}.analysis-record .record-head{margin-bottom:6px}.analysis-record .record-title{margin:0 0 6px;font-size:17px}.analysis-record .record-meta{color:var(--muted);font-size:13px}.auth-left{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.auth-right{display:flex;gap:8px}.avatar{border-radius:50%;vertical-align:middle}.btn{padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);cursor:pointer;font-size:14px;font-family:inherit;transition:background .15s,border-color .15s,box-shadow .15s,color .15s}.btn:hover{background:var(--surface-hover);border-color:var(--line-strong)}.btn:disabled{opacity:.62;cursor:not-allowed}.btn-primary{background:var(--brand-solid);color:var(--brand-contrast);border-color:var(--brand-solid)}.btn-danger{background:var(--danger-solid);color:#fff;border-color:var(--danger-solid)}.btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-outline{background:var(--card)}.btn-outline:hover{background:var(--surface-hover)}.btn-icon{background:none;border:none;font-size:22px;color:var(--muted);cursor:pointer;padding:0 4px;line-height:1}.btn-icon:hover{color:var(--text)}.btn-sm{padding:5px 10px;font-size:13px;width:100%}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:flex-start;padding-top:60px;z-index:1000}.modal{background:var(--card);border-radius:14px;width:min(600px,calc(100% - 32px));max-height:calc(100vh - 100px);overflow-y:auto;box-shadow:0 12px 40px var(--shadow)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:20px}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.submit-msg{font-size:14px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:4px;color:var(--muted);font-size:13px}.form-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.form-label-row label{margin-bottom:0}.btn-summarize{border:0;padding:2px 0;background:transparent;color:var(--brand);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.btn-summarize:disabled{color:var(--muted);cursor:wait}.summarize-status{min-height:18px;margin:4px 0 0;color:var(--muted);font-size:12px}.statement-group .form-label-row{align-items:baseline}.btn-pick-statement,.btn-drop-statement{border:1px solid var(--line-strong);border-radius:6px;padding:3px 8px;background:transparent;color:var(--brand);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.btn-drop-statement{margin-left:6px;color:var(--danger)}.btn-pick-statement:hover,.btn-drop-statement:hover{background:#7f7f7f1f}.btn-pick-statement:disabled,.btn-drop-statement:disabled{color:var(--muted);cursor:wait}.statement-status{min-height:18px;margin:4px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.statement-download{color:var(--brand);font-weight:600}.problem-enrichment{margin-top:.75rem;padding:.85rem;border:1px solid var(--border-color, #d8dee9);border-radius:.6rem;background:var(--panel-bg, rgba(127,127,127,.05))}.problem-enrichment label{display:inline-flex;gap:.35rem;margin:.4rem .75rem .4rem 0;align-items:center}.analysis-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:16rem;overflow:auto;padding:.6rem;margin:.6rem 0;background:#0000000f;border-radius:.4rem;font-size:.9rem}.summarize-status[data-state=error]{color:var(--danger)}.summarize-status[data-state=success]{color:var(--brand)}.form-input{width:100%;padding:9px 12px;border:1px solid var(--line-strong);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text);background:var(--input);box-sizing:border-box;color-scheme:light}.form-input:focus{border-color:var(--focus-ring);outline:2px solid color-mix(in srgb,var(--focus-ring) 48%,transparent);outline-offset:-1px}.form-input::placeholder{color:var(--muted);opacity:.9}.btn:focus-visible,.btn-icon:focus-visible,.page-nav-btn:focus-visible,.training-settings summary:focus-visible,a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}textarea.form-input{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.record-filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.record-filters .form-group{min-width:180px;margin:0}.record-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tag-chip,.review-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:650;line-height:1;transition:background .15s,border-color .15s,transform .1s}.tag-chip{color:var(--accent, #2563eb);background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent, #2563eb) 28%,transparent);cursor:pointer;user-select:none}.tag-chip:hover{background:color-mix(in srgb,var(--accent, #2563eb) 22%,transparent);border-color:color-mix(in srgb,var(--accent, #2563eb) 45%,transparent);transform:scale(1.05)}.tag-chip:active{transform:scale(.96)}.tag-filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 0}.tag-filter-chip{font-size:13px;padding:5px 11px}.tag-filter-chip.active{color:#fff;background:var(--accent, #2563eb);border-color:var(--accent, #2563eb)}.tag-filter-chip.active:hover{background:color-mix(in srgb,var(--accent, #2563eb) 85%,#000);border-color:color-mix(in srgb,var(--accent, #2563eb) 85%,#000)}.review-chip.todo{color:var(--warning);background:#f59e0b24;border:1px solid rgba(245,158,11,.3)}.review-chip.mastered{color:var(--brand-solid);background:#10b98124;border:1px solid rgba(16,185,129,.3)}.review-chip.deferred{color:#2f5fa8;background:#e6eefb;border:1px solid #c6d7f2}.problem-block{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px;background:var(--surface-soft)}.problem-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600;font-size:14px}.btn-sm-refresh{padding:5px 10px;font-size:13px;white-space:nowrap}@media(max-width:820px){.metrics,.stats{grid-template-columns:1fr}.header{flex-direction:column}#auth-bar{flex-direction:column;gap:10px;align-items:stretch}.auth-right{justify-content:flex-end}.form-row{grid-template-columns:1fr}.analysis-filter-row{grid-template-columns:1fr;gap:14px}.problem-detail-head{flex-direction:column}.problem-detail-actions{flex-wrap:wrap}}.submit-status{display:flex;align-items:center;gap:10px}.submission-summary{margin:-2px 0 10px;color:var(--muted);font-size:12px}.submission-summary.limit-warning{color:var(--danger);font-weight:600}@media(max-width:560px){.record-grid,.roadmap-phase-list{grid-template-columns:1fr}.detail-toolbar,.problem-meta{flex-direction:column}}[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--card: #161b22;--surface-soft: #21262d;--surface-hover: #292f38;--input: #0d1117;--line: #3d444d;--line-strong: #58636f;--text: #e6edf3;--muted: #aeb8c4;--brand: #56d364;--brand-solid: #2ea043;--brand-hover: #3fb950;--brand-contrast: #071a0d;--link: #79c0ff;--danger: #ff7b72;--danger-solid: #da3633;--danger-hover: #f85149;--warning: #f2cc60;--focus-ring: #79c0ff;--shadow: rgba(0, 0, 0, .48);--lv0: #21262d;--lv1: #0e4429;--lv2: #006d32;--lv3: #26a641;--lv4: #39d353}[data-theme=dark] body{background:radial-gradient(circle at 50% -20%,rgba(86,211,100,.055),transparent 34rem),var(--bg);color:var(--text)}[data-theme=dark] .card,[data-theme=dark] #auth-bar{box-shadow:0 1px #ffffff06,0 10px 30px #00000014}[data-theme=dark] .training-settings[open]{border-color:var(--line-strong)}[data-theme=dark] .record-takeaway pre,[data-theme=dark] .record-code{background:var(--input);color:var(--text);border:1px solid var(--line)}[data-theme=dark] .record-takeaway pre code,[data-theme=dark] .record-code code{color:var(--text)}[data-theme=dark] .btn-outline{background:var(--card);color:var(--text);border-color:var(--line-strong)}[data-theme=dark] .btn-outline:hover{background:var(--surface-hover);border-color:var(--muted)}[data-theme=dark] .btn-primary{background:var(--brand-solid);color:var(--brand-contrast);border-color:var(--brand-solid)}[data-theme=dark] .btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}[data-theme=dark] .btn-danger{background:var(--danger-solid);color:#fff}[data-theme=dark] .btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}[data-theme=dark] .form-input,[data-theme=dark] select{background:var(--input);color:var(--text);border-color:var(--line-strong)}[data-theme=dark] input[type=date]{color-scheme:dark}[data-theme=dark] .problem-block{background:var(--surface-soft)}[data-theme=dark] code{background:var(--surface-soft);color:var(--text)}[data-theme=dark] .record-title-clickable:hover{color:var(--brand)}[data-theme=dark] .record-title-clickable{color:var(--text)}[data-theme=dark] .modal{background:var(--card)}[data-theme=dark] .modal-header,[data-theme=dark] .modal-actions,[data-theme=dark] .stat-list li{border-color:var(--line)}[data-theme=dark] .tag-chip{color:#8ec5ff;background:#79c0ff24;border-color:#79c0ff57}[data-theme=dark] .tag-chip:hover{background:#79c0ff3d;border-color:#79c0ff85}[data-theme=dark] .review-chip.todo{color:var(--warning);background:#f2cc6024;border-color:#f2cc6066}[data-theme=dark] .review-chip.mastered{color:var(--brand);background:#56d36424;border-color:#56d36466}[data-theme=dark] .review-chip.deferred{color:#a8c4ef;background:#1f2c44;border-color:#3b5682}[data-theme=dark] .tag-filter-chip.active{color:#fff;background:#2563eb;border-color:#2563eb}[data-theme=dark] .tag-filter-chip.active:hover{background:#1d4ed8;border-color:#1d4ed8}.roadmap-luogu-difficulty[data-level]{box-shadow:inset 0 0 0 1px #ffffff29}[data-theme=dark] .roadmap-level-chip.lanqiao{background:#0969da}.btn-theme{font-size:20px;line-height:1;padding:4px 6px;border-radius:50%;cursor:pointer;background:none;border:1px solid transparent;transition:background .15s,border-color .15s}.btn-theme:hover{background:var(--line);border-color:var(--muted);color:var(--text)}.skip-link{position:absolute;top:-100px;left:16px;background:var(--brand);color:#fff;padding:8px 16px;border-radius:0 0 4px 4px;z-index:10000;font-size:.875rem;text-decoration:none}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.search-bar{margin-bottom:20px}.search-input{width:100%;padding:10px 16px;font-size:.95rem}.trend-chart{overflow-x:auto;padding:10px 0}.trend-chart svg{min-width:400px}.export-bar{display:flex;gap:8px;margin-bottom:16px;justify-content:flex-end}.analysis-detail-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.analysis-detail-header h2{margin-bottom:0}.analysis-export-bar{display:flex;align-items:center;gap:10px}.analysis-select-all-label{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--muted);cursor:pointer}.analysis-record-wrapper{display:flex;align-items:flex-start;gap:10px}.analysis-record-checkbox{margin-top:14px;width:18px;height:18px;accent-color:var(--brand);flex-shrink:0}.export-status{font-size:.8rem;color:var(--muted);margin:0 4px}.review-queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.review-queue-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.review-due{flex:none;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.review-due.review-overdue{color:var(--danger);font-weight:600}.review-problem{font-weight:600;text-decoration:none}.review-meta{font-size:12px;color:var(--muted)}.import-tools{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap}.import-tools-label{font-size:13px;color:var(--muted)}.import-tools-hint{margin:4px 0 8px;font-size:12px;color:var(--muted)}.import-panel{border:1px dashed var(--line);border-radius:8px;padding:10px;margin:8px 0}.import-input-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.import-input-row .form-input{width:100%;min-width:0;font-size:15px;padding:10px 12px}.import-status{margin:6px 0 0;font-size:13px;color:var(--muted)}.import-list{margin:8px 0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.import-item{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.import-item input{flex:none}.import-submission-link{flex:none;font-size:12px;color:var(--brand);text-decoration:none;margin-left:auto}.import-submission-link:hover{text-decoration:underline}.related-section{margin-top:8px}.related-hint{color:var(--muted);font-size:13px}.related-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.related-list li{display:flex;align-items:baseline;gap:8px}.related-list a{font-weight:600}.related-meta{color:var(--muted);font-size:13px}.roadmap-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.roadmap-summary-card{text-align:center;padding:14px 10px}.roadmap-summary-num{display:block;font-size:30px;font-weight:700;color:var(--brand)}.roadmap-summary-label{font-size:13px;color:var(--muted)}.roadmap-phase-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:24px}.roadmap-phase-card{display:flex;flex-direction:column;margin:0;padding:14px 16px;min-width:0}.roadmap-phase-card h3{margin:0 0 4px;font-size:16.5px}.roadmap-phase-card .roadmap-phase-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 6px;font-size:12.5px;color:var(--muted)}.roadmap-phase-card .roadmap-phase-meta p{margin:0}.roadmap-phase-card .roadmap-difficulty-range{font-weight:600}.roadmap-phase-card .roadmap-phase-count{font-size:12px;color:var(--muted)}.roadmap-phase-card .roadmap-phase-goal{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 6px}.roadmap-phase-card .roadmap-phase-milestone{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 6px}.roadmap-phase-card .roadmap-phase-ref{font-size:11px;line-height:1.5;margin:0 0 8px}.roadmap-phase-card .roadmap-progress{margin-top:auto}.roadmap-node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.roadmap-node-card h4{margin:0 0 6px;font-size:16px}.roadmap-node-card .roadmap-node-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;font-size:13px;color:var(--muted)}.roadmap-node-card .roadmap-node-desc{font-size:13px;color:var(--muted);margin:6px 0}.roadmap-pre{font-size:12px;color:var(--muted);margin:4px 0}.roadmap-progress{background:var(--line);border-radius:999px;height:10px;overflow:hidden;position:relative;margin:6px 0}.roadmap-progress>.roadmap-progress-bar{background:var(--brand);height:100%;border-radius:999px;transition:width .3s ease}.roadmap-progress-text{font-size:12px;color:var(--muted)}.roadmap-difficulty{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text);background:var(--surface-soft)}.roadmap-tree{margin-top:8px}.roadmap-tree details{border:1px solid var(--line);border-radius:10px;background:var(--card);margin-bottom:10px;padding:10px 14px}.roadmap-tree summary{cursor:pointer;font-weight:600;padding:4px 0}.roadmap-tree .roadmap-tree-node{display:flex;align-items:center;gap:10px;padding:5px 0;border-top:1px dashed var(--line);font-size:14px}.roadmap-tree .roadmap-tree-node a{font-weight:600;color:var(--text);text-decoration:none}.roadmap-tree .roadmap-tree-node a:hover{text-decoration:underline}.roadmap-tree .roadmap-tree-pct{margin-left:auto;color:var(--muted);font-size:12px}.roadmap-problem-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-top:12px}.roadmap-problem-card{display:flex;flex-direction:column;gap:6px;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card)}.roadmap-problem-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px}.roadmap-problem-card-head .roadmap-problem-number{margin:0}.roadmap-problem-name{margin:0;font-weight:600;font-size:14.5px;line-height:1.45}.roadmap-problem-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.roadmap-problem-done{margin-top:auto;padding-top:8px;border-top:1px dashed var(--line)}.roadmap-problem-name a{color:var(--text);text-decoration:none}.roadmap-problem-name a:hover{text-decoration:underline}.roadmap-problem-number{color:var(--muted);font-size:13px}.roadmap-source{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--line)}.roadmap-note{color:var(--muted);font-size:12px}.roadmap-done-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted)}.roadmap-done-list a{font-weight:600}.roadmap-phase-title a,.roadmap-node-title a,.roadmap-problem-number a,.roadmap-wiki-link,.roadmap-done-list a,.related-list a,.review-problem{color:var(--text);text-decoration:none}.roadmap-phase-title a:hover,.roadmap-node-title a:hover,.roadmap-problem-number a:hover,.roadmap-wiki-link:hover,.roadmap-done-list a:hover,.related-list a:hover,.review-problem:hover{color:var(--brand);text-decoration:underline}.roadmap-phase-ref{font-size:12px;color:var(--muted);margin:4px 0 0}.roadmap-node-ref{font-size:12px;color:var(--muted);margin:4px 0}.roadmap-problem-rating{font-size:12px;font-weight:600;color:var(--warning)}.roadmap-luogu-difficulty{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.5;vertical-align:middle;color:var(--text);background:var(--surface-soft)}.roadmap-problem-tags{display:inline-flex;flex-wrap:wrap;gap:4px}.roadmap-tag{font-size:11px}.roadmap-oi-tree{margin:10px 0;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;background:var(--bg)}.roadmap-oi-tree h3{font-size:14px;margin:0 0 6px}.roadmap-oi-tree ul{margin:0;padding-left:18px;columns:2;font-size:12.5px;color:var(--muted)}.roadmap-oi-tree li{margin:2px 0;break-inside:avoid}.roadmap-syllabus-badges{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.roadmap-level-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff}.roadmap-level-chip.noi{background:#7c3aed}.roadmap-level-chip.lanqiao{background:#0ea5e9}.roadmap-syllabus-section{margin:10px 0;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;background:var(--bg)}.roadmap-syllabus-section h3{font-size:14px;margin:0 0 6px}.roadmap-syllabus-labels{display:flex;flex-wrap:wrap;gap:4px}.roadmap-syllabus-label{font-size:11.5px}@media(max-width:720px){.roadmap-oi-tree ul{columns:1}}@media(max-width:720px){.roadmap-node-grid,.roadmap-problem-list{grid-template-columns:1fr}}.tag-index-link{display:inline-block;margin-left:8px;font-size:13px;font-weight:600;color:var(--brand);text-decoration:none;vertical-align:middle}.tag-index-link:hover{text-decoration:underline}.tag-index-grid{display:flex;flex-wrap:wrap;gap:10px}.tag-index-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);text-decoration:none;transition:border-color .15s}.tag-index-card:hover{border-color:var(--brand)}.tag-hits{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:650;line-height:1;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}.roadmap-evidence{display:inline-flex;align-items:center;margin-top:8px;color:var(--evidence-light, #4f5c56);background:color-mix(in srgb,#8b5cf6 12%,transparent)}[data-theme=dark] .roadmap-evidence{color:var(--evidence-dark, #cbd5e1)}.roadmap-evidence-section{margin-top:14px;padding:12px 14px;border:1px solid color-mix(in srgb,#8b5cf6 30%,var(--line));border-radius:10px;background:color-mix(in srgb,#8b5cf6 5%,var(--card))}.roadmap-evidence-section h3,.roadmap-evidence-section p{margin:0}.roadmap-evidence-section p+p{margin-top:6px}.roadmap-node-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.roadmap-tag-section{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line)}.roadmap-tag-section h3{font-size:15px;margin:0 0 8px}.tag-index-meta{font-size:12px;color:var(--muted)}.roadmap-related-section{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}#tag-page .roadmap-problem-tags{margin-top:4px}.tag-index-card a,.roadmap-node-list a{color:var(--text);text-decoration:none}.tag-index-card a:hover,.roadmap-node-list a:hover{color:var(--brand);text-decoration:underline}[data-theme=dark] .tag-index-card{background:var(--card);border-color:var(--line)}[data-theme=dark] .tag-index-card:hover{border-color:var(--brand)}@media(max-width:720px){.tag-index-grid{flex-direction:column}.tag-index-card{width:100%}}.roadmap-evidence[data-state]{color:var(--evidence-light, #4f5c56);border-color:color-mix(in srgb,var(--evidence-light, #4f5c56) 40%,transparent);background:color-mix(in srgb,var(--evidence-light, #4f5c56) 14%,transparent)}[data-theme=dark] .roadmap-evidence[data-state]{color:var(--evidence-dark, #cbd5e1);border-color:color-mix(in srgb,var(--evidence-dark, #cbd5e1) 45%,transparent);background:color-mix(in srgb,var(--evidence-dark, #cbd5e1) 20%,transparent)}.roadmap-evidence-section[data-state]{border-color:color-mix(in srgb,var(--evidence-light, #4f5c56) 35%,var(--line));background:color-mix(in srgb,var(--evidence-light, #4f5c56) 6%,var(--card))}[data-theme=dark] .roadmap-evidence-section[data-state]{border-color:color-mix(in srgb,var(--evidence-dark, var(--muted)) 35%,var(--line));background:color-mix(in srgb,var(--evidence-dark, var(--muted)) 8%,var(--card))}.review-quick-actions{display:inline-flex;align-items:center;gap:6px;margin-left:8px}.review-queue-item .review-quick-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-left:8px;padding-top:0;border-top:0}.review-quick-action{padding:2px 10px;font-size:12px}.review-detail-action{margin-left:4px}.review-highlight{outline:2px solid var(--brand);outline-offset:2px;border-radius:10px;transition:outline-color .3s ease}.page-load-more{margin:14px auto 4px;display:block}.review-overdue-card{background:color-mix(in srgb,var(--danger) 5%,var(--card))}.detail-toolbar[hidden]{display:none}:root{--bg: #f7f9f8;--card: #fff;--surface-soft: #f0f3f1;--surface-hover: #f4f7f5;--input: #fff;--line: #dfe6e2;--line-strong: #c8d6cf;--text: #10231c;--muted: #66756f;--brand: #165d46;--brand-solid: #165d46;--brand-hover: #104c3a;--link: #165d46;--focus-ring: #165d46;--lv0: #edf1ef;--lv1: #d3e3da;--lv2: #acc9b9;--lv3: #759e8b;--lv4: #386952;--shadow: rgba(16,35,28,.08)}[data-theme=dark]{--bg: #0b1511;--card: #101d18;--surface-soft: #1a2b23;--surface-hover: #20382c;--input: #101d18;--line: #22352d;--line-strong: #3d584a;--text: #e6eee9;--muted: #9fb0a8;--brand: #79bd98;--brand-solid: #2d8063;--brand-hover: #369572;--link: #8bcaa8;--focus-ring: #79bd98;--lv0: #1a2b23;--lv1: #284d3b;--lv2: #386952;--lv3: #559272;--lv4: #88c5a3}body,[data-theme=dark] body{background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}*{scrollbar-color:var(--line-strong) var(--bg)}input,textarea{caret-color:var(--brand)}button,a,input,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}button,a,.record,.card{transition:background-color .14s,border-color .14s,color .14s}h1,h2,h3,h4{color:var(--text)}h1{font-size:32px;line-height:1.25;font-weight:700;overflow-wrap:anywhere}h2{font-size:20px;line-height:1.4;font-weight:600}h3,h4{font-size:16px}.hint{font-size:13px}.ui-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}h2 .ui-icon{margin-right:10px;color:var(--brand)}.app-shell{display:block;min-height:100vh}.app-rail{position:sticky;z-index:100;top:0;display:flex;align-items:center;gap:32px;height:64px;padding:0 max(24px,calc((100vw - 1320px)/2));background:var(--card);border-bottom:1px solid var(--line)}.app-wordmark{display:flex;align-items:center;flex-shrink:0;gap:12px;color:var(--brand);font-size:19px;line-height:1.3;font-weight:700;text-decoration:none;white-space:nowrap}.app-wordmark small{display:block;color:var(--muted);font-size:11px;letter-spacing:3px;font-weight:400;margin-top:4px}.mountain-logo{width:52px;height:36px}.page-nav{display:flex;align-self:stretch;gap:24px;margin:0;border:0;flex-shrink:0}.page-nav-btn{display:flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:0 4px;color:var(--muted);font-weight:600;white-space:nowrap}.page-nav-btn svg{display:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.page-nav-btn.active,.page-nav-btn:hover{color:var(--brand);background:transparent;border-bottom-color:var(--brand);border-radius:0}#auth-bar,[data-theme=dark] #auth-bar{display:flex;gap:12px;margin:0 0 0 auto;padding:0;border:0;background:transparent;flex-shrink:0}.auth-left,.auth-right{display:flex;align-items:center;gap:8px}#auth-status{font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn,.btn-icon{min-height:40px;border-radius:8px;box-shadow:none;font-weight:600}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:8px 16px}.btn-primary,[data-theme=dark] .btn-primary{background:var(--brand-solid);color:#fff;border:1px solid var(--brand-solid)}.btn-primary:hover,[data-theme=dark] .btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-outline,[data-theme=dark] .btn-outline{background:var(--card);border:1px solid var(--line);color:var(--text)}.btn-outline:hover,[data-theme=dark] .btn-outline:hover{background:var(--surface-hover);border-color:var(--line-strong)}.btn-icon{display:inline-grid;place-items:center;width:40px;padding:8px;color:var(--muted)}.container{width:min(1320px,calc(100% - 48px));margin:0 auto 40px}.header{position:relative;isolation:isolate;align-items:center;gap:24px;padding:40px 0 32px;margin:0;min-height:180px}.header h1{margin:0 0 12px;font-size:32px;letter-spacing:0}.header .subtitle{max-width:680px;font-size:16px;line-height:1.8;margin:0}.landscape-header{min-height:264px}.landscape-header:before{content:"";position:absolute;z-index:-1;inset:0 -24px;background:url(/assets/ink-mountains.webp?v=852cc8a2c332) right center/auto 100% no-repeat;opacity:.25;pointer-events:none}.landscape-header>div:first-child{max-width:65%}[data-theme=dark] .landscape-header:before{opacity:.14;mix-blend-mode:screen}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:24px}.hero-actions .btn{min-width:164px}.hero-note{border-left:1px solid var(--line-strong);padding-left:20px;color:var(--muted);font-size:13px}.filter{align-self:flex-end;margin-bottom:0}.filter label{white-space:nowrap;font-size:13px;color:var(--muted)}.search-bar{margin:0 0 20px}.form-input,select,[data-theme=dark] .form-input,[data-theme=dark] select{min-height:40px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--input)}.form-input::placeholder{color:var(--muted);opacity:1}.form-input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 12%,transparent)}.card,[data-theme=dark] .card{padding:20px;border:1px solid var(--line);background:var(--card);border-radius:10px;box-shadow:none;margin-bottom:16px}.grid{gap:16px}.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-metrics .card{display:flex;align-items:center;gap:24px;min-height:112px}.overview-metrics .hint{margin:0}.stat-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;flex-shrink:0;background:var(--surface-soft);color:var(--brand)}.metric-label{margin-bottom:0;font-size:14px}.metric-value{color:var(--text);font-size:32px;line-height:1.3;font-variant-numeric:tabular-nums}.overview-panels{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}.overview-panels>.card{min-width:0;min-height:240px}.heatmap{grid-template-columns:repeat(53,minmax(8px,1fr));grid-template-rows:repeat(7,16px);gap:4px;margin-top:24px}.heatmap .day{width:100%;height:100%}.review-queue{max-height:230px;overflow:auto}.review-item{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0}.training-statistics{margin:0 0 24px;color:var(--muted)}.training-statistics summary{cursor:pointer;padding:8px 0}.training-statistics[open] summary{margin-bottom:16px}.training-statistics .stats{margin-top:16px}.records-section,#analysis-page>.card:has(#analysis-records),#review-page>.card:has(#review-records),#member-page>.card:has(#member-records){padding:0;background:transparent;border:0}.record{display:flex;flex-direction:column;min-width:0;gap:10px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:none}.record:hover{background:var(--card);border-color:var(--line-strong);transform:none;box-shadow:none}.record-title-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.record h3{margin:0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.record-title a{color:var(--text);text-decoration:none}.record-title a:hover{color:var(--brand)}.problem-number{color:var(--brand);margin-right:8px}.record-summary{color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.6}.record-badges{display:flex;gap:6px;flex-wrap:wrap;margin:0}:root{--tag-chip-ink: #57655f}[data-theme=dark]{--tag-chip-ink: var(--muted)}.tag-chip,[data-theme=dark] .tag-chip{display:inline-flex;align-items:center;background:var(--surface-soft);color:var(--muted);border:0;border-radius:6px;padding:2px 8px;font-size:12px;text-decoration:none}a.tag-chip,span.tag-chip,[data-theme=dark] a.tag-chip,[data-theme=dark] span.tag-chip{color:var(--tag-chip-ink, var(--muted))}.tag-chip:hover,[data-theme=dark] .tag-chip:hover{color:var(--brand);background:var(--surface-hover)}.tag-filter-chip.active,[data-theme=dark] .tag-filter-chip.active{background:var(--brand-solid);color:#fff}.difficulty-badge,.review-chip{border:0;border-radius:6px;padding:3px 8px;font-size:12px;line-height:18px;white-space:nowrap;font-weight:500}.difficulty-badge.entry{color:#2b6a7a;background:#e2f1f5}.difficulty-badge.basic,.difficulty-badge.deferred,.review-chip.deferred{color:#2f5fa8;background:#e6eefb}.difficulty-badge.easy,.review-chip.mastered{color:#26734d;background:#e6f4ec}.difficulty-badge.medium{color:#925800;background:#fff3d9}.difficulty-badge.hard,.review-chip.todo{color:#a63c39;background:#fde8e7}.difficulty-badge.expert{color:#6d4c8d;background:#efe9f7}[data-theme=dark] .difficulty-badge.entry{color:#9fd0dd;background:#1e343a}[data-theme=dark] .difficulty-badge.basic,[data-theme=dark] .difficulty-badge.deferred,[data-theme=dark] .review-chip.deferred{color:#a8c4ef;background:#1f2c44}[data-theme=dark] .difficulty-badge.easy,[data-theme=dark] .review-chip.mastered{color:#9ed4b4;background:#203c2c}[data-theme=dark] .difficulty-badge.medium{color:#e7c280;background:#3c321f}[data-theme=dark] .difficulty-badge.hard,[data-theme=dark] .review-chip.todo{color:#f0aba7;background:#422924}[data-theme=dark] .difficulty-badge.expert{color:#c9b2e5;background:#352a43}.vitality-inline{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5}.vitality-inline span{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.vitality-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:6px;background:var(--soft);color:var(--green2);font-size:12px;line-height:1.4;white-space:nowrap;font-weight:600}[data-theme=dark] .vitality-badge{color:var(--green)}.vitality-panel{margin-top:22px;min-width:0}.vitality-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;color:var(--muted);font-size:12px}.vitality-toolbar label{display:flex;align-items:center;gap:8px;white-space:nowrap}.vitality-toolbar select{min-height:36px;padding:6px 28px 6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit}.vitality-plot{position:relative;min-width:0}.vitality-plot:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:4px}.vitality-chart-svg{display:block;width:100%;height:auto}.vitality-tooltip{position:absolute;z-index:2;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-size:12px;line-height:1.7;white-space:pre-line;pointer-events:none;font-variant-numeric:tabular-nums}.vitality-guide{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 4;pointer-events:none}.vitality-help{margin:8px 0 0;color:var(--muted);font-size:12px}.vitality-point.is-active{r:4.5px;stroke-width:2}.vitality-area{fill:color-mix(in srgb,var(--green) 7%,transparent);stroke:none}.vitality-line{fill:none;stroke:var(--green);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.vitality-point{fill:var(--green);stroke:var(--surface);stroke-width:1}.vitality-summary{display:flex;flex-wrap:wrap;gap:16px 40px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.vitality-summary span{display:grid;gap:4px}.vitality-summary strong{color:var(--ink);font-size:22px;font-variant-numeric:tabular-nums}.vitality-summary small,.vitality-note{color:var(--muted);font-size:12px}.vitality-note{margin:14px 0 0;line-height:1.6}.member-dashboard>.member-vitality-panel{grid-column:1 / -1;min-width:0;min-height:0}.member-vitality-panel>.hint{margin:0 0 18px}.vitality-details{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.vitality-details summary{cursor:pointer;padding:8px 0;color:var(--ink)}.vitality-details p{line-height:1.65}.vitality-table-scroll{overflow-x:auto}.vitality-details table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.vitality-details caption{text-align:left;padding:12px 0;color:var(--ink)}.vitality-details th,.vitality-details td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.vitality-details th:first-child{text-align:left}.vitality-details thead{color:var(--ink)}@media(max-width:767px){.vitality-toolbar select{min-height:44px}.vitality-chart-svg .trend-axis-label,.vitality-chart-svg .trend-date-label{font-size:11px}.vitality-summary{gap:14px 24px}.vitality-summary strong{font-size:20px}}.record-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:16px;margin-top:auto;padding-top:4px;font-size:13px}.member-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);text-decoration:none}.member-initial{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-soft);color:var(--brand);font-size:12px}.record-date-wrap{display:inline-flex;align-items:center;gap:8px}.record-date-wrap .ui-icon{width:16px;height:16px}.record-links{display:flex;gap:16px;align-items:center;padding-top:8px;margin:0;border-top:1px solid var(--line)}.record-detail-link{margin-left:auto;white-space:nowrap}.updated-at{opacity:1;white-space:normal;font-size:11px}.record-filters{padding:0 0 16px;margin-bottom:0}.tag-filter-bar{max-height:100px;overflow:auto}.analysis-controls{display:flex;gap:24px;align-items:flex-start}.analysis-controls>.form-group{flex:1;min-width:180px}.analysis-filter-row{flex:2;gap:20px;margin:0}.analysis-controls .form-group{margin-bottom:0}.analysis-record-wrapper{display:flex;align-items:flex-start;gap:8px;min-width:0}.analysis-record-wrapper .record{flex:1}.analysis-record-checkbox{margin-top:24px;accent-color:var(--brand-solid)}.analysis-metrics .metric-value,#review-page .metrics .metric-value{font-size:24px}.analysis-detail-header{flex-wrap:wrap;gap:12px}.analysis-export-bar{flex-wrap:wrap}.review-quick-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:12px}.tag-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tag-index-card{display:flex;flex-direction:column;gap:16px;padding:24px;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--card);text-decoration:none}.tag-index-card:hover,[data-theme=dark] .tag-index-card:hover{background:var(--surface-hover);border-color:var(--line-strong);box-shadow:none;transform:none}.tag-index-card strong{display:flex;align-items:center;gap:16px;font-size:18px;color:var(--text)}.tag-index-card strong .ui-icon{width:48px;height:48px;padding:12px;border-radius:50%;background:var(--surface-soft);color:var(--brand)}.tag-index-meta{color:var(--muted);font-size:13px}.roadmap-intro{color:var(--muted);margin-bottom:24px}.roadmap-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px}.topic-nav{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:88px}.topic-nav a{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--muted);padding:12px;border-radius:6px}.topic-nav a:hover{background:var(--surface-soft);color:var(--brand)}.roadmap-phase-card{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:10px;min-width:0}.roadmap-phase-title{margin:0 0 12px;font-size:18px}.roadmap-phase-title a,.roadmap-node-title a{color:var(--text);text-decoration:none}.roadmap-phase-subtitle{color:var(--muted);font-size:13px;line-height:1.7}.roadmap-topic-preview{padding:0;display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:16px 0}.roadmap-topic-preview a{display:inline-block;font-size:12px;background:var(--surface-soft);border-radius:6px;padding:3px 8px;text-decoration:none;color:var(--muted)}.roadmap-topic-more{display:block;color:var(--muted);font-size:12px;margin-top:8px}.roadmap-node-card{margin:0}.roadmap-problem-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.roadmap-problem-name{overflow-wrap:anywhere;font-size:16px}.roadmap-problem-done{margin-top:auto}.roadmap-tag-section,.roadmap-related-section{background:var(--card);padding:20px;border:1px solid var(--line);border-radius:10px;margin:0 0 16px}.roadmap-node-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0}.related-list li{padding:16px 0;border-bottom:1px solid var(--line)}.related-list li:last-child{border-bottom:0}.problem-detail{padding:32px}.problem-detail-head{padding-bottom:16px}.problem-section{line-height:1.85}.problem-content{max-width:85ch}.detail-toolbar{padding-top:24px}.profile-header{min-height:220px}.profile-header h1{font-size:36px}.footer{color:var(--muted);font-size:12px;padding:32px 0}.page-view[hidden]{display:none}@media(max-width:1279px){.app-rail{gap:20px;padding:0 24px}.page-nav{gap:16px}.app-wordmark{font-size:16px;gap:8px}.mountain-logo{width:40px}#auth-status{max-width:70px}#btn-refresh{display:none}.roadmap-layout{grid-template-columns:150px minmax(0,1fr)}.roadmap-phase-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.app-rail{flex-wrap:wrap;height:auto;min-height:64px;gap:0;padding:8px 20px 0}.page-nav{order:3;width:100%;height:44px;justify-content:center;gap:40px}.container{width:calc(100% - 40px)}.header{min-height:180px}.landscape-header{min-height:240px}.overview-panels{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.stat-icon{width:48px;height:48px}.overview-metrics .card{gap:12px;padding:16px}.overview-metrics .hint{font-size:11px}.analysis-controls{flex-direction:column;gap:16px}.analysis-controls>*{width:100%}.tag-index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap-node-grid,.roadmap-problem-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){body{padding-bottom:72px}.app-rail{padding:8px 16px;min-height:64px;flex-wrap:nowrap}.app-wordmark{font-size:14px}.mountain-logo{width:36px}.app-wordmark small{font-size:9px;letter-spacing:2px}.page-nav{position:fixed;z-index:120;bottom:0;left:0;width:100%;height:calc(60px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line);gap:0;justify-content:space-around}.page-nav-btn{flex:1;flex-direction:column;justify-content:center;gap:3px;padding:4px;border-bottom:0;font-size:11px}.page-nav-btn svg{display:block}.page-nav-btn.active{border:0;color:var(--brand)}.auth-left{gap:0}#auth-status,#btn-refresh{display:none}#auth-bar{gap:4px}#auth-bar .btn{padding:6px 8px;font-size:11px;min-height:36px}#auth-bar .btn-icon{width:32px}#btn-submit .ui-icon{display:none}.container{width:calc(100% - 32px);margin-bottom:0}.header{min-height:156px;padding:28px 0 24px;flex-wrap:wrap;gap:16px}.header h1{font-size:26px}.header .subtitle{font-size:14px}.landscape-header{min-height:256px}.landscape-header:before{inset:0 -16px;background-position:60% center;opacity:.18}.landscape-header>div:first-child{max-width:100%}#overview-page .header h1{max-width:290px}.hero-actions{gap:0;margin-top:20px}.hero-note{display:none}.hero-actions .btn{min-width:140px}.filter{margin-left:auto}.overview-metrics{gap:8px}.overview-metrics .card{display:block;padding:12px 8px;min-height:124px}.overview-metrics .stat-icon{width:32px;height:32px;margin-bottom:8px}.stat-icon .ui-icon{width:20px;height:20px}.overview-metrics .metric-label{font-size:11px}.overview-metrics .metric-value{font-size:24px}.overview-metrics .hint{display:none}.overview-panels{grid-template-columns:1fr;gap:0}.overview-panels>.card{min-height:0}.card{padding:16px}h2{font-size:18px}.heatmap{grid-template-columns:repeat(53,10px);grid-template-rows:repeat(7,12px);gap:3px;margin-top:16px}.record-grid{grid-template-columns:1fr;gap:12px}.record{padding:16px}.record-head{gap:12px;font-size:12px}.record-links{gap:12px}.record-filters{display:block}.analysis-filter-row,.analysis-date-range{flex-wrap:wrap}.analysis-date-input{min-width:0}.analysis-controls>.form-group{min-width:0}.metrics:not(.overview-metrics){grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:1fr}.tag-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tag-index-card{padding:16px;gap:12px}.tag-index-card strong{gap:8px;font-size:16px;flex-wrap:wrap}.tag-index-card strong .ui-icon{width:36px;height:36px;padding:8px}.tag-index-meta{font-size:12px}.roadmap-layout{display:block}.topic-nav{position:static;flex-direction:row;overflow-x:auto;margin-bottom:16px}.topic-nav a{white-space:nowrap;padding:8px;font-size:12px}.roadmap-phase-list,.roadmap-node-grid,.roadmap-problem-list,.roadmap-node-list{grid-template-columns:1fr}.roadmap-phase-card{padding:20px}.problem-detail{padding:16px}.problem-detail-head{flex-wrap:wrap}.problem-detail-head h1{font-size:26px}.problem-detail-actions{flex-wrap:wrap}.export-bar{flex-wrap:wrap;gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.journal-editor{--panel:var(--surface);--text:var(--ink);--brand:var(--green)}.journal-editor.modal-overlay{padding:24px;background:#0a19137a}.journal-editor .modal{width:min(1000px,100%);max-height:calc(100dvh - 48px);border:0;border-radius:16px;background:var(--surface);box-shadow:0 24px 64px #00000038}.journal-editor .modal-header{flex:none;display:grid;grid-template-columns:1fr auto;gap:0 16px;padding:20px 28px;border-bottom:1px solid var(--line);background:var(--surface)}.journal-editor .modal-header p{grid-column:1;grid-row:2}.journal-editor #btn-close-modal{grid-column:2;grid-row:1 / 3;align-self:center}.journal-editor .modal-header h2{font-size:22px;letter-spacing:-.02em;margin:0}.journal-editor .modal-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.journal-editor .modal-body{padding:20px 28px 0;overflow:auto;scroll-padding-bottom:100px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.journal-editor .form-group{display:grid;gap:6px;min-width:0;margin:0}.journal-editor .form-group label,.journal-editor .field-label{color:var(--ink);font-size:13px;font-weight:600}.journal-editor .form-input{width:100%;min-width:0;min-height:40px;padding:9px 12px;border:1px solid var(--line2);border-radius:6px;background:var(--surface);color:var(--ink);font-size:14px;line-height:1.45;box-shadow:none;caret-color:var(--green)}.journal-editor .form-input::placeholder{color:var(--muted);opacity:1}.journal-editor textarea.form-input{min-height:100px;resize:vertical}.journal-editor .journal-date-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}.journal-editor .journal-import-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 0}.journal-editor .journal-import-tools .import-tools-label{font-size:13px;color:var(--muted);margin-right:4px}.journal-editor .btn-sm{width:auto}.journal-editor .journal-import-tools .btn{padding:6px 12px;min-height:34px;font-size:13px;border-radius:6px;background:var(--soft)}.journal-editor .import-tools-hint{margin:8px 0 0;color:var(--muted);font-size:12px}.journal-editor #problem-list{display:grid;gap:32px;margin-top:24px}.journal-editor .problem-block{margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.journal-editor .problem-header{display:flex;align-items:center;gap:12px;padding:12px 0;margin:0 0 16px;border-top:1px solid var(--line);border-bottom:0}.journal-editor .problem-index{color:var(--ink);font-size:18px;font-weight:700}.journal-editor .problem-header .btn-remove{margin-left:auto;width:36px;height:36px}.journal-editor .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 14px}.journal-editor .journal-identity-row{grid-template-columns:2fr 1fr}.journal-editor .journal-meta-row{grid-template-columns:1fr 1fr 2fr}.journal-editor .learning-state-panel{margin:22px 0;padding:16px 0;border-block:1px solid var(--line);background:none}.journal-editor .learning-state-heading,.journal-editor .journal-tools-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.journal-editor .learning-state-heading h3,.journal-editor .journal-tools-heading h3{font-size:15px;margin:0;font-weight:700}.journal-editor .learning-state-heading p,.journal-editor .journal-tools-heading p{margin:0;color:var(--muted);font-size:12px}.journal-editor .learning-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.journal-editor .learning-blocker-group{grid-column:1 / -1}.journal-editor .mistake-toggle{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid var(--line2);border-radius:6px;cursor:pointer}.journal-editor .mistake-toggle input{width:16px;height:16px;accent-color:var(--green);flex:none}.journal-editor .review-due-group{grid-column:3}.journal-editor .journal-statement-tools{margin:0 0 22px;padding:0;background:none;border:0}.journal-editor .form-label-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.journal-editor .form-label-row>span{display:flex;flex-wrap:wrap;gap:6px}.journal-editor :is(.btn-fetch-statement,.btn-ai-enrich,.btn-summarize,.btn-pick-statement,.btn-drop-statement,.btn-parse-analysis,.btn-apply-analysis,.btn-copy-bookmarklet,.btn-parse-statement-html,.btn-bookmarklet,.btn-apply-statement){min-height:34px;padding:6px 10px;font:inherit;font-size:12px;font-weight:600;color:var(--green);background:var(--soft);border:1px solid var(--line);border-radius:6px;cursor:pointer}.journal-editor :is(.btn-fetch-statement,.btn-ai-enrich,.btn-summarize,.btn-pick-statement,.btn-drop-statement,.btn-parse-analysis,.btn-apply-analysis,.btn-copy-bookmarklet,.btn-parse-statement-html,.btn-bookmarklet,.btn-apply-statement):hover{background:var(--hover);border-color:var(--green)}.journal-editor .btn-apply-statement{color:var(--surface);background:var(--green);border-color:var(--green)}.journal-editor .btn-bookmarklet{display:inline-flex;align-items:center;text-decoration:none}.journal-editor .statement-import-help{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.6}.journal-editor .statement-import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}.journal-editor .statement-import-fallback{color:var(--muted);font-size:12px}.journal-editor .statement-html{margin-bottom:10px;font-family:var(--mono, monospace);font-size:12px}.journal-editor .statement-group{margin-top:12px;padding:12px;background:var(--soft);border-radius:6px}.journal-editor .statement-status{margin:6px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.journal-editor .summarize-status:empty{display:none}.journal-editor .problem-enrichment{margin-top:12px;padding:16px;background:var(--soft);border-radius:6px}.journal-editor .problem-enrichment>label{display:block;margin:8px 0}.journal-editor .analysis-preview{max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;padding:12px;background:var(--surface)}.journal-editor .journal-disclosure{margin:16px 0;padding:0;border:0;border-block:1px solid var(--line);border-radius:0;background:none}.journal-editor .journal-disclosure summary{cursor:pointer;padding:12px 0;color:var(--ink);font-size:14px;font-weight:600}.journal-editor .journal-disclosure summary span{color:var(--muted);font-size:12px;font-weight:400;margin-left:8px}.journal-editor .journal-disclosure-body{padding:0 0 16px}.journal-editor .submission-summary{color:var(--muted);font-size:12px;margin:16px 0 10px}.journal-editor #btn-add-problem{width:100%;min-height:40px;border:1px dashed var(--line2);background:var(--soft);border-radius:6px}.journal-editor .modal-actions{position:sticky;bottom:0;z-index:2;margin:20px -28px 0;padding:14px 28px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);background:var(--surface)}.journal-editor .modal-actions>div{display:flex;gap:8px;flex:none}.journal-editor .modal-actions .btn{min-height:40px;border-radius:6px}.journal-editor .submit-status{min-width:0;font-size:13px}.journal-editor button:disabled{opacity:.5;cursor:not-allowed}.journal-editor :is(button,summary,input,select,textarea):focus-visible{outline:2px solid var(--green);outline-offset:3px}.journal-editor [hidden]{display:none!important}@media(max-width:700px){.journal-editor.modal-overlay{padding:0}.journal-editor .modal{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.journal-editor .modal-header{padding:16px 20px}.journal-editor .modal-body{padding:16px 20px 0}.journal-editor .modal-header h2{font-size:20px}.journal-editor .journal-date-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journal-editor .journal-date-group>.form-group:first-child{grid-column:1 / -1}.journal-editor .journal-meta-row{grid-template-columns:1fr 1fr}.journal-editor .journal-identity-row{grid-template-columns:3fr 2fr}.journal-editor .journal-import-tools .import-tools-label{flex-basis:100%}.journal-editor .journal-import-tools .btn{flex:1;padding-inline:8px}.journal-editor .journal-meta-row>.form-group:last-child{grid-column:1 / -1}.journal-editor .learning-state-grid{grid-template-columns:1fr 1fr}.journal-editor .review-due-group{grid-column:1 / -1}.journal-editor .learning-state-heading,.journal-editor .journal-tools-heading{display:block}.journal-editor .learning-state-heading p,.journal-editor .journal-tools-heading p{margin-top:4px}.journal-editor .modal-actions{margin-inline:-20px;padding:12px 20px;flex-wrap:wrap}.journal-editor .modal-actions>div{margin-left:auto}.journal-editor .form-input{font-size:16px}.journal-editor .form-label-row>span{width:100%}.journal-editor .statement-group .form-label-row>span{width:auto}}.submission-route .container{width:auto;box-sizing:border-box;margin-inline:0}.submission-page .submission-backdrop{left:0;right:0}.submission-page:before{right:0}.submission-page .submission-hero h1:focus{outline:none}.submission-page.journal-editor #problem-list{display:grid;gap:16px;margin:0}.submission-page.journal-editor .problem-block{margin:0;padding:0 22px 22px;border:1px solid var(--submission-line);border-radius:10px;background:var(--submission-paper);box-shadow:0 10px 30px #1c44310d}.submission-page.journal-editor .problem-header{margin:0 -22px 20px;padding:14px 18px;border:0;border-bottom:1px solid var(--submission-line);background:linear-gradient(90deg,var(--submission-header-start),var(--submission-header-end))}.submission-page.journal-editor .problem-index{color:#fff;font-size:20px}.submission-page.journal-editor .learning-state-panel{margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--submission-line);border-bottom:0}.submission-page.journal-editor .learning-state-grid{display:block}.submission-page.journal-editor .review-settings .learning-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.submission-page.journal-editor .review-settings .review-due-group{grid-column:auto}.submission-page.journal-editor .journal-statement-tools{margin:18px 0 0;padding:0;border:1px solid var(--submission-line);background:var(--submission-control)}.submission-page.journal-editor .journal-disclosure{margin:18px 0 0;padding:0;border:1px solid var(--submission-line);border-radius:7px;background:var(--submission-control)}.submission-page.journal-editor .journal-disclosure>summary{padding:12px 14px}.submission-page.journal-editor .journal-disclosure-body{padding:0 14px 15px}.submission-page.journal-editor .journal-writing-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:16px;align-items:start;margin-top:18px}.submission-page.journal-editor .journal-writing-grid>.journal-disclosure{margin:0}.submission-page.journal-editor .journal-solution-column{display:grid;gap:16px;min-width:0}.submission-page.journal-editor .journal-solution-column>.form-group{margin:0}.submission-page.journal-editor .journal-section-heading{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--submission-line)}.submission-page.journal-editor .journal-section-heading strong{color:var(--submission-ink);font-size:14px}.submission-page.journal-editor .journal-section-heading span{color:var(--submission-muted);font-size:12px;text-align:right}.submission-page.journal-editor .journal-writing-grid .journal-disclosure-body{padding-top:14px}.submission-page.journal-editor .problem-description{min-height:300px;resize:vertical}.submission-page.journal-editor .problem-code{min-height:340px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.55;tab-size:2}.submission-page.journal-editor #btn-add-problem{min-height:72px;margin-top:16px;border:1px dashed var(--submission-line);border-radius:8px;background:var(--submission-add-surface)}@media(max-width:899px){.submission-page.journal-editor .problem-block{padding:0 16px 18px}.submission-page.journal-editor .problem-header{margin-inline:-16px}.submission-page.journal-editor .review-settings .learning-state-grid{grid-template-columns:1fr 1fr}.submission-page.journal-editor .journal-writing-grid{grid-template-columns:1fr}.submission-savebar{padding:8px;gap:6px}.submission-savebar .submit-status{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-save-actions{display:flex;grid-template-columns:none;gap:6px}.submission-save-actions{flex-wrap:wrap}.submission-save-actions .btn{flex:1 1 calc(50% - 6px)}.submission-save-actions #btn-save{grid-column:auto;grid-row:auto}.submission-save-actions .btn{min-width:0;padding-inline:10px;font-size:12px}}@media(max-width:520px){.submission-page.journal-editor .review-settings .learning-state-grid{grid-template-columns:1fr}}.my-list-panel{margin:24px 0}.my-list-panel .section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.my-list-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) minmax(180px,2fr) auto;gap:12px;align-items:end;margin:18px 0}.my-list-form label{display:grid;gap:6px;font-size:13px}.my-list-items{list-style:decimal;padding-left:24px}.my-list-items li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.my-list-items li>span{flex:1}@media(max-width:780px){.my-list-form{grid-template-columns:1fr 1fr}.my-list-form label:nth-child(3){grid-column:1 / -1}}@media(max-width:480px){.my-list-form{grid-template-columns:1fr}.my-list-form label:nth-child(3){grid-column:auto}}:root{color-scheme:light;--page:#f7faf8;--surface:#fff;--soft:#f1f5f3;--hover:#edf4f0;--ink:#0d2c24;--muted:#65766f;--faint:#8d9a95;--line:#dce6e1;--line2:#cbd9d2;--green:#0e6047;--green2:#084936;--green-soft:#e8f3ed;--easy-bg:#e7f5ec;--easy:#27734d;--medium-bg:#fff2d8;--medium:#8f5404;--hard-bg:#fde8e7;--hard:#a63c39;--shadow:0 8px 24px rgba(16,35,28,.06)}[data-theme=dark]{color-scheme:dark;--page:#091510;--surface:#101f19;--soft:#182a22;--hover:#20362b;--ink:#e9f1ed;--muted:#a6b7af;--faint:#809188;--line:#23372e;--line2:#365348;--green:#54a781;--green2:#2d8063;--green-soft:#18382a;--easy-bg:#173727;--easy:#98d5b1;--medium-bg:#3a301d;--medium:#efc270;--hard-bg:#412522;--hard:#f0a6a2;--shadow:0 8px 24px rgba(0,0,0,.22)}*{box-sizing:border-box;scrollbar-color:var(--line2) var(--page)}html{background:var(--page);scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}a{color:var(--green);text-underline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea{caret-color:var(--green)}::selection{background:#165d4633}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.skip-link{position:fixed;z-index:999;left:12px;top:-50px;background:var(--green);color:#fff;padding:8px 14px}.skip-link:focus{top:12px}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:12px;font-size:40px;line-height:1.25;letter-spacing:-.025em}h2{font-size:20px;line-height:1.4}h3{font-size:16px}.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:-4px;flex:0 0 auto}.app-header{position:sticky;z-index:100;top:0;height:64px;background:#fffffff7;border-bottom:1px solid var(--line)}[data-theme=dark] .app-header{background:#101f19f7}.header-inner{width:min(1320px,calc(100% - 48px));height:100%;margin:auto;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:244px;color:var(--green2);font-size:19px;font-weight:800;line-height:1.2;text-decoration:none;white-space:nowrap}[data-theme=dark] .brand{color:var(--green)}.mountain-logo{width:58px;height:38px}.brand small{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:3px}.desktop-nav{height:100%;display:flex;gap:24px}.page-nav-btn{height:100%;padding:0 5px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-weight:600;white-space:nowrap}.desktop-nav .page-nav-btn{text-decoration:none}.page-nav-btn:hover,.page-nav-btn.active{color:var(--green2);border-bottom-color:var(--green)}[data-theme=dark] .page-nav-btn:hover,[data-theme=dark] .page-nav-btn.active{color:var(--ink)}.global-search{margin-left:auto;width:260px}.search-control{position:relative;display:flex;align-items:center;width:100%;height:42px}.search-control>.ui-icon{position:absolute;left:14px;color:var(--muted);pointer-events:none}.search-control input{width:100%;height:42px;padding:0 14px 0 43px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.search-control input::placeholder{color:var(--faint)}.search-control input:focus{border-color:var(--green);box-shadow:0 0 0 2px #165d461c;outline:0}.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 15px;border-radius:8px;font-weight:600;text-decoration:none;white-space:nowrap;box-shadow:none}.btn-primary{border:1px solid var(--green);background:var(--green);color:#fff}.btn-primary:hover{border-color:var(--green2);background:var(--green2)}.btn-outline{border:1px solid var(--line2);background:var(--surface);color:var(--ink)}.btn-outline:hover{background:var(--hover);border-color:var(--green)}.btn-sm{min-height:32px;padding:4px 10px;font-size:12px}.header-inner>#btn-submit{min-width:160px}.account-menu{position:relative}.account-menu>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer}.account-menu>summary::-webkit-details-marker{display:none}.account-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--green)}.account-menu>summary>.ui-icon{width:15px}.account-popover,.export-popover{position:absolute;z-index:130;right:0;top:calc(100% + 12px);width:210px;padding:12px;display:grid;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.account-popover #account-label{padding:4px 8px;color:var(--muted);font-size:12px}.account-popover .btn{width:100%}.container{width:min(1320px,calc(100% - 48px));margin:0 auto}.page-view[hidden]{display:none!important}.page-hero{position:relative;isolation:isolate;min-height:296px;margin:0 calc((1320px - 100vw)/2);padding:54px max(24px,calc((100vw - 1320px)/2));overflow:hidden;background:var(--page)}.hero-copy{position:relative;z-index:2;max-width:630px}.page-hero p{margin:0;color:#5f746b;font-size:17px;line-height:1.8}.hero-art{position:absolute;z-index:-1;inset:0;background-image:url(/assets/reference-home.png);background-repeat:no-repeat;background-size:1440px 1080px;background-position:right -64px;opacity:.7;pointer-events:none}[data-theme=dark] .page-hero{background:var(--page)}[data-theme=dark] .hero-art{background-image:url(/assets/ink-mountains.webp?v=852cc8a2c332);background-size:auto 100%;background-position:right center;opacity:.18;filter:brightness(1.25)}[data-theme=dark] .page-hero p{color:var(--muted)}.home-hero{min-height:310px;padding-top:48px;padding-bottom:32px}.home-hero h1{font-size:40px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:20px}.hero-actions>.btn{min-width:192px;height:52px;font-size:16px}.hero-actions>span{padding-left:22px;border-left:1px solid var(--line2);color:var(--muted)}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:0;position:relative;z-index:4}.stat-card{min-height:116px;display:flex;align-items:center;gap:22px;padding:18px 22px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.stat-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green)}.stat-icon .ui-icon{width:30px;height:30px}.stat-card p{margin:0;color:var(--muted)}.stat-card strong{display:block;color:var(--ink);font-size:32px;line-height:1.15}.stat-card small{display:block;margin-top:4px;color:var(--faint)}.stat-arrow{margin-left:auto;color:var(--muted)}.home-middle{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.panel{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h2{display:flex;align-items:center;gap:10px;margin:0}.section-heading h2>.ui-icon{color:var(--green)}.section-heading>a,.text-button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:var(--muted);font-size:13px;text-decoration:none}.section-heading>a:hover,.text-button:hover{color:var(--green)}.section-heading>a .ui-icon,.text-button .ui-icon{width:16px;height:16px}.calendar-panel{min-width:0;min-height:278px}.calendar-paging{display:flex;align-items:center;gap:12px}.calendar-paging button{width:28px;height:28px;display:grid;place-items:center;border:0;background:none;color:var(--muted)}.calendar-paging button .ui-icon{width:16px}.calendar-body{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;margin-top:18px}.weekday-labels{display:grid;grid-template-rows:repeat(7,14px);gap:5px;color:var(--muted);font-size:11px;line-height:14px}.heatmap{display:grid;grid-template-columns:repeat(53,14px);grid-template-rows:repeat(7,14px);grid-auto-flow:column;gap:5px;overflow:auto;padding:0 0 5px}.cell{display:block;width:14px;height:14px;border-radius:2px;background:var(--lv0,#edf1ef)}.cell.lv1{background:var(--lv1,#d5e4dd)}.cell.lv2{background:var(--lv2,#aecbbb)}.cell.lv3{background:var(--lv3,#719985)}.cell.lv4{background:var(--lv4,#386952)}.heatmap-legend{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin-top:16px;color:var(--muted);font-size:11px}.heatmap-legend .cell{width:13px;height:13px}.today-review{min-height:278px}.review-queue{min-height:175px}.review-queue-list{margin:0;padding:0;list-style:none}.review-queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:12px 0;border-bottom:1px solid var(--line)}.review-queue-item:last-child{border-bottom:0}.review-problem{grid-column:1;color:var(--ink);font-weight:700;text-decoration:none}.review-due{grid-column:2;grid-row:1/3;align-self:center;padding:3px 8px;border-radius:6px;background:var(--medium-bg);color:var(--medium);font-size:12px}.review-meta{grid-column:1;color:var(--muted);font-size:12px}.review-quick-actions{grid-column:1/3;display:flex;gap:8px;margin-top:7px}.recent-section{margin-top:22px}.home-records{grid-template-columns:repeat(2,minmax(0,1fr))}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.record{min-width:0;min-height:176px;display:flex;flex-direction:column;gap:8px;padding:17px 20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.record:hover{border-color:var(--line2);background:color-mix(in srgb,var(--surface) 98%,var(--green))}.record-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.record h3{margin:0;font-size:17px;line-height:1.45}.record-title a{color:var(--ink);text-decoration:none}.record-title a:hover{color:var(--green)}.problem-number{margin-right:10px;color:var(--green2)}[data-theme=dark] .problem-number{color:var(--green)}.record-summary{height:22px;margin:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-badges{display:flex;gap:6px;flex-wrap:wrap}.tag-chip,.review-chip,.difficulty-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border:0;border-radius:6px;font-size:12px;line-height:1.4;text-decoration:none}.tag-chip{background:var(--soft);color:var(--muted)}.tag-chip:hover{background:var(--hover);color:var(--green)}.difficulty-badge.easy,.review-chip.mastered{background:var(--easy-bg);color:var(--easy)}.difficulty-badge.medium{background:var(--medium-bg);color:var(--medium)}.difficulty-badge.hard,.review-chip.todo{background:var(--hard-bg);color:var(--hard)}.difficulty-badge.expert{background:#efe9f7;color:#6d4c8d}.record-head{display:flex;align-items:center;gap:18px;margin-top:auto;color:var(--muted);font-size:13px}.member-link{display:inline-flex;align-items:center;gap:7px;color:var(--muted);text-decoration:none}.member-initial{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:11px}.record-date-wrap{display:inline-flex;align-items:center;gap:7px}.record-date-wrap .ui-icon{width:16px}.record-platform{white-space:nowrap}.record-links{display:flex;align-items:center;gap:16px;margin-top:4px;padding-top:9px;border-top:1px solid var(--line)}.record-links a{font-size:12px;text-decoration:none}.record-detail-link{margin-left:auto}.updated-at{color:var(--faint);font-size:11px}.hint,.section-subtitle{color:var(--muted);font-size:13px}.more-tools{margin:24px 0;border-top:1px solid var(--line)}.more-tools>summary{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--muted);cursor:pointer}.secondary-stats{display:flex;gap:32px;padding:14px 0;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-list{margin:0;padding:0;list-style:none}.stat-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.archive-hero,.review-hero,.knowledge-hero{min-height:280px}.filter-bar{display:flex;align-items:flex-end;gap:16px;padding:20px;margin-top:-24px;position:relative;z-index:4;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.field{min-width:0;display:grid;gap:7px;flex:1}.field>span:first-child{color:var(--muted);font-size:13px}.control{position:relative;display:flex;align-items:center}.control>.ui-icon{position:absolute;left:12px;color:var(--muted)}.control select{padding-left:40px}.form-input,select,input[type=date],textarea{width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.form-input:focus,select:focus,input[type=date]:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px #165d461c;outline:0}.date-field{flex:1.45}.date-range{height:42px;display:flex;align-items:center;gap:8px;padding:0 8px;border:1px solid var(--line);border-radius:8px}.date-range input{min-width:0;height:38px;padding:3px;border:0}.archive-records{margin:28px 0}.archive-records .section-heading{margin-bottom:0}.archive-records>.section-subtitle{margin:0 0 14px}.export-menu{position:relative}.export-menu>summary{list-style:none}.export-menu>summary::-webkit-details-marker{display:none}.export-popover{top:calc(100% + 8px)}.archive-records .analysis-record-wrapper{display:flex;gap:8px;min-width:0}.analysis-record-wrapper>.record{flex:1}.analysis-record-checkbox{margin:20px 0 0;accent-color:var(--green)}.analysis-range-presets{display:flex;gap:8px;margin:12px 0}.trend-chart{overflow:auto}.review-hero{padding-bottom:0}.status-tabs{display:flex;width:510px;height:48px;margin-top:28px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:#ffffffe0}[data-theme=dark] .status-tabs{background:var(--surface)}.status-tabs button{flex:1;border:0;border-right:1px solid var(--line);background:none;color:var(--muted);font-weight:600}.status-tabs button:last-child{border-right:0}.status-tabs button.active{background:var(--green);color:#fff}.review-filters{margin-top:0;border-top-left-radius:0}.review-filters>.search-control{flex:1.4}.review-records{margin-top:22px}.review-records .record{min-height:205px}.review-records .review-quick-actions{margin-top:0;padding-top:10px;border-top:1px solid var(--line)}.detail-toolbar{display:flex;gap:18px;padding:18px 0;color:var(--muted);font-size:13px}.detail-toolbar a{text-decoration:none}.knowledge-hero+.detail-toolbar{padding-top:0}.roadmap-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;margin:26px 0}.topic-nav{align-self:start;position:sticky;top:88px;display:grid;gap:5px}.topic-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:7px;color:var(--muted);font-size:15px;text-decoration:none}.topic-nav a:hover{background:var(--green-soft);color:var(--green)}.topic-nav .ui-icon{width:19px}.roadmap-phase-list,.roadmap-node-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.roadmap-phase-card,.roadmap-node-card{min-height:216px;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.roadmap-phase-title{margin:0 0 8px;font-size:18px}.roadmap-phase-title a,.roadmap-node-title a{color:var(--ink);text-decoration:none}.roadmap-phase-subtitle,.roadmap-node-desc{color:var(--muted);font-size:13px;line-height:1.65}.roadmap-topic-preview{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0;padding:0;list-style:none}.roadmap-topic-preview a,.roadmap-tag{padding:3px 8px;border-radius:6px;background:var(--soft);color:var(--muted);font-size:12px;text-decoration:none}.roadmap-topic-link{font-size:13px;font-weight:600;text-decoration:none}.roadmap-topic-more{display:block;margin-top:6px;color:var(--faint);font-size:11px}.roadmap-phase-head{margin:24px 0}.roadmap-problems-title{margin:28px 0 14px}.roadmap-problem-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.roadmap-problem-card{min-height:210px;display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.roadmap-problem-card-head{display:flex;justify-content:space-between;gap:8px}.roadmap-problem-number,.roadmap-problem-name,.roadmap-problem-meta{margin:0}.roadmap-problem-name{font-size:16px;font-weight:700}.roadmap-problem-name a{text-decoration:none}.roadmap-problem-done{margin-top:auto;color:var(--muted);font-size:12px}.roadmap-done-list{padding:0;list-style:none}.roadmap-tag-section,.roadmap-related-section,.roadmap-evidence-section,.roadmap-syllabus-section{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.related-list,.roadmap-node-list{padding:0;list-style:none}.related-list li,.roadmap-node-list li{padding:12px 0;border-bottom:1px solid var(--line)}.related-meta{display:block;color:var(--muted);font-size:12px}.roadmap-sources summary{cursor:pointer;color:var(--green)}.tags-hero{min-height:330px}.tags-hero .hero-copy{max-width:650px}.tags-hero .search-control{width:610px;margin-top:22px}.category-tabs{display:flex;gap:12px;margin-top:14px}.category-tabs button{height:40px;padding:0 24px;border:0;border-radius:22px;background:var(--soft);color:var(--muted)}.category-tabs button.active{background:var(--green);color:#fff}.tag-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.tag-index-card{min-height:154px;display:flex;flex-direction:column;gap:20px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none}.tag-index-card:hover{border-color:var(--line2)}.tag-index-card strong{display:flex;align-items:center;gap:16px;color:var(--ink);font-size:19px}.tag-index-card strong>.ui-icon{width:58px;height:58px;padding:15px;border-radius:50%;background:var(--green-soft);color:var(--green)}.tag-index-meta{color:var(--muted)}.member-hero{min-height:220px}.profile-intro{display:flex;align-items:center;gap:30px;position:relative;z-index:2}.profile-avatar{width:136px;height:136px;display:grid;place-items:center;border:5px solid #fff;border-radius:50%;background:var(--green-soft);box-shadow:0 0 0 1px var(--line);color:var(--green);font-size:54px;font-weight:700}.profile-intro h1{margin-bottom:8px}.profile-intro p{font-size:14px}.profile-bio{margin-top:10px!important;color:var(--ink)!important}.member-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:-6px}.member-stats .stat-card{min-height:116px;padding:14px}.member-stats .stat-icon{width:52px;height:52px}.member-stats .stat-icon .ui-icon{width:24px}.member-stats .stat-card strong{font-size:25px}.platform-card{display:block}.platform-card h3{margin:0 0 10px}.content-tabs{display:flex;gap:34px;margin:20px 0 16px;border-bottom:1px solid var(--line)}.content-tabs button{padding:11px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-weight:600}.content-tabs button.active{border-color:var(--green);color:var(--green)}.member-dashboard{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.member-dashboard>.panel:nth-child(1){grid-row:span 2}.member-dashboard>.calendar-panel{grid-column:2/4}.member-dashboard .panel{min-height:230px}.member-dashboard .calendar-panel{min-height:240px}.member-exports{margin:16px 0}.export-option{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;text-decoration:none}.export-option .ui-icon:last-child{margin-left:auto}.problem-detail{margin:0 0 24px;padding:0;border:0;background:transparent}.problem-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:188px;margin:0 calc((1320px - 100vw)/2);padding:40px max(24px,calc((100vw - 1320px)/2));background:#f8fbf9 url(/assets/reference-home.png) right -65px/1440px 1080px no-repeat}.problem-detail-head h1{max-width:900px;font-size:36px}.problem-detail-actions{display:flex;gap:10px}.problem-meta,.problem-detail>.record-badges{max-width:900px}.problem-content{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,1fr);gap:16px;margin-top:22px}.problem-section{grid-column:1;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--surface);line-height:1.8}.problem-section.related-section{grid-column:2;grid-row:1/span 3}.problem-section pre{max-width:100%;overflow:auto}.export-bar{display:flex;justify-content:flex-end;gap:8px;padding-bottom:12px}.footer{display:flex;justify-content:space-between;padding:32px 0 90px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.footer a{text-decoration:none}.modal-overlay{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:24px;background:#04140e94}.modal{width:min(820px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0}.modal-body{padding:22px;overflow:auto}.modal-actions{position:sticky;bottom:-22px;display:flex;justify-content:space-between;gap:12px;margin:22px -22px -22px;padding:16px 22px;border-top:1px solid var(--line);background:var(--surface)}.form-group{display:grid;gap:7px;margin-bottom:16px}.form-group>label{font-weight:600}.problem-block{padding:18px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:var(--page)}.problem-header{display:flex;align-items:center;justify-content:space-between}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.import-panel{padding:14px;border:1px solid var(--line);border-radius:8px}.btn-danger{border:1px solid var(--hard);background:var(--hard-bg);color:var(--hard)}.submission-summary,.submit-msg,.form-error,.summarize-status{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.mobile-nav{display:none}@media(max-width:1279px){.header-inner{gap:18px}.brand{min-width:210px}.desktop-nav{gap:14px}.global-search{width:210px}.header-inner>#btn-submit{min-width:auto}.roadmap-phase-list{grid-template-columns:repeat(2,1fr)}.member-stats{grid-template-columns:repeat(4,1fr)}.platform-card{grid-column:span 4}}@media(max-width:1023px){.app-header{height:70px}.header-inner{width:calc(100% - 40px)}.desktop-nav{display:none}.global-search{margin-left:auto;width:240px}.page-hero{margin:0 -20px;padding-left:20px;padding-right:20px}.home-stats{grid-template-columns:repeat(3,1fr)}.stat-card{gap:12px;padding:14px}.stat-arrow{display:none}.home-middle{grid-template-columns:3fr 2fr}.archive-filters,.review-filters{flex-wrap:wrap}.archive-filters>.field,.review-filters>.field{flex:1 1 28%}.record-grid{gap:12px}.roadmap-layout{grid-template-columns:160px 1fr}.tag-index-grid{grid-template-columns:repeat(3,1fr)}.member-dashboard{grid-template-columns:1fr 1fr}.member-dashboard>.panel:nth-child(1){grid-row:auto}.member-dashboard>.calendar-panel{grid-column:1/3}.problem-content{grid-template-columns:1fr}.problem-section.related-section{grid-column:1;grid-row:auto}}@media(max-width:767px){body{padding-bottom:68px}.app-header{height:66px}.header-inner{width:calc(100% - 32px);gap:10px}.brand{min-width:0;font-size:14px}.mountain-logo{width:36px}.brand small{font-size:8px;letter-spacing:1.5px}.global-search{display:none}.header-inner>#btn-submit{display:none!important}.account-menu{margin-left:auto}.account-avatar{width:36px;height:36px}.container{width:calc(100% - 32px)}.page-hero{min-height:260px;margin:0 -16px;padding:30px 16px}.hero-art{background-image:url(/assets/ink-mountains.webp?v=852cc8a2c332);background-size:auto 100%;background-position:center;opacity:.28}.page-hero h1{max-width:310px;font-size:29px}.page-hero p{max-width:310px;font-size:14px}.home-hero{min-height:294px}.home-hero .hero-copy{height:100%;display:flex;flex-direction:column}.hero-actions{margin-top:18px}.hero-actions>.btn{min-width:145px;height:44px;font-size:14px}.hero-actions>span{display:none}.home-stats{gap:8px;margin-top:0}.stat-card{min-height:122px;display:block;padding:12px 9px}.stat-icon{width:34px;height:34px;margin-bottom:7px}.stat-icon .ui-icon{width:19px;height:19px}.stat-card p{font-size:10px}.stat-card strong{font-size:24px}.stat-card small{display:none}.home-middle{display:block}.panel{padding:16px}.home-middle>.panel{margin-top:14px}.calendar-panel{min-height:220px}.calendar-body{grid-template-columns:0 1fr;gap:0}.weekday-labels{display:none}.heatmap{grid-template-columns:repeat(53,11px);grid-template-rows:repeat(7,11px);gap:3px}.cell{width:11px;height:11px}.today-review{min-height:200px}.section-heading{margin-bottom:12px}.section-heading h2{font-size:18px}.recent-section{margin-top:18px}.record-grid,.home-records{grid-template-columns:1fr}.record{min-height:174px;padding:15px}.record-summary{white-space:normal;height:43px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.record-head{gap:11px;font-size:12px}.record-platform{margin-left:auto}.more-tools{display:none}.archive-hero,.review-hero,.knowledge-hero{min-height:230px}.filter-bar{margin:0 -16px;padding:14px 16px;border-left:0;border-right:0;border-radius:0;overflow-x:auto;align-items:center}.archive-filters>.field,.review-filters>.field{flex:0 0 145px}.archive-filters>.date-field{flex-basis:250px}.archive-filters>.btn{flex:0 0 auto}.archive-records{margin-top:20px}.archive-records .section-heading{align-items:flex-start}.status-tabs{width:100%;height:44px;margin-top:20px}.review-hero{padding-bottom:0}.review-filters>.search-control{flex:0 0 240px}.roadmap-layout{display:block}.topic-nav{position:static;display:flex;overflow-x:auto;margin:18px -16px;padding:0 16px}.topic-nav a{white-space:nowrap}.roadmap-phase-list,.roadmap-node-grid,.roadmap-problem-list{grid-template-columns:1fr}.roadmap-phase-card{min-height:180px}.tags-hero{min-height:310px}.tags-hero .search-control{width:100%;margin-top:18px}.category-tabs{overflow-x:auto}.category-tabs button{flex:0 0 auto;height:36px;padding:0 16px}.tag-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tag-index-card{min-height:130px;padding:14px}.tag-index-card strong{display:block;font-size:16px}.tag-index-card strong>.ui-icon{display:block;width:42px;height:42px;padding:10px;margin-bottom:8px}.tag-index-meta{font-size:11px}.member-hero{min-height:220px}.profile-intro{gap:16px}.profile-avatar{width:90px;height:90px;font-size:36px}.profile-intro h1{font-size:28px}.member-stats{grid-template-columns:repeat(2,1fr);gap:8px}.member-stats .stat-card{min-height:100px}.platform-card{grid-column:span 2}.content-tabs{gap:4px;overflow-x:auto}.content-tabs button{flex:1;white-space:nowrap;padding:10px 6px}.member-dashboard{grid-template-columns:1fr}.member-dashboard>.calendar-panel{grid-column:1}.problem-detail-head{margin:0 -16px;padding:28px 16px;background-image:url(/assets/ink-mountains.webp?v=852cc8a2c332);background-size:auto 100%;background-position:center}.problem-detail-head h1{font-size:27px}.problem-detail-actions{flex-wrap:wrap}.problem-content{display:block}.problem-section{margin-bottom:12px;padding:16px}.footer{display:block;padding-bottom:20px}.mobile-nav{position:fixed;z-index:200;bottom:0;left:0;right:0;height:64px;display:flex;background:var(--surface);border-top:1px solid var(--line)}.mobile-nav>.page-nav-btn,.mobile-more{flex:1}.mobile-nav>.page-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;color:var(--muted);font-size:11px}.mobile-nav>.page-nav-btn>.ui-icon{width:19px}.mobile-nav>.page-nav-btn.active{color:var(--green)}.mobile-more{position:relative}.mobile-more>summary{height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;list-style:none;color:var(--muted);font-size:11px}.mobile-more>summary::-webkit-details-marker{display:none}.mobile-more>div{position:absolute;right:8px;bottom:72px;width:220px;display:grid;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.mobile-more a,.mobile-more button{display:flex;align-items:center;gap:10px;padding:11px;border:0;background:none;color:var(--ink);text-decoration:none}.form-row{grid-template-columns:1fr}.modal-overlay{padding:10px}.modal{max-height:calc(100vh - 20px)}}@media(max-width:767px){#member-page>.detail-toolbar{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:8px;min-height:48px;padding:10px 0;margin:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}#member-page>.detail-toolbar::-webkit-scrollbar{display:none}#member-page>.detail-toolbar>*{flex:0 0 auto}#member-page>.detail-toolbar>span:last-child{max-width:12rem;overflow:hidden;text-overflow:ellipsis}.account-popover{position:fixed;top:74px;right:max(16px,env(safe-area-inset-right));width:min(260px,calc(100vw - 32px))}}.heatmap{grid-template-columns:repeat(30,minmax(0,1fr));overflow:hidden}.heatmap .cell{width:100%;height:100%;aspect-ratio:auto}.calendar-body>.heatmap{grid-column:2;min-width:0;width:100%;margin:0;padding:0}@media(max-width:767px){.heatmap{grid-template-columns:repeat(30,minmax(7px,1fr));overflow:hidden}.record{position:relative}#analysis-page .record{min-height:174px;padding:15px}.record-links{position:static!important;margin-top:auto!important;padding-top:8px!important;border-top:1px solid var(--line)!important}#analysis-page .record-links{display:flex!important}.record-updated{display:none!important}#review-page .record{min-height:220px;padding:15px}.review-records .record-links{display:none!important}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.member-recent-row{display:grid;grid-template-columns:70px minmax(0,1fr) 92px auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--muted);text-decoration:none}.member-recent-row:last-child{border-bottom:0}.member-recent-row strong{color:var(--green)}.member-recent-row>span:nth-child(2){overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.member-recent-row time{font-size:12px}.member-tag{margin:4px}.member-tag span{margin-left:5px;color:var(--faint)}#member-platform-icons{display:flex;gap:8px;flex-wrap:wrap}#member-platform-icons>span{display:grid;place-items:center;min-width:52px;height:40px;padding:0 7px;border-radius:8px;background:var(--green-soft);color:var(--green);font-weight:700}@media(max-width:767px){.member-recent-row{grid-template-columns:58px minmax(0,1fr) auto}.member-recent-row time{display:none}}.review-card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}.review-card-actions .btn{min-height:36px;padding:6px 10px;font-size:12px}.problem-detail{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,1fr);gap:16px}.problem-detail-head,.problem-detail>.problem-meta,.problem-detail>.record-badges{grid-column:1/3}.problem-detail>.problem-content{grid-column:1;display:block;margin:0}.problem-detail>.problem-content>.problem-section{margin-bottom:16px}.problem-detail>.related-section{grid-column:2;grid-row:4;align-self:start;margin:0}.problem-detail>.related-section h2{font-size:18px}@media(max-width:767px){.review-card-actions{grid-template-columns:1fr}.problem-detail{display:block}.problem-detail>.related-section{margin-bottom:12px}}.hero-art{left:42%}.analysis-record-checkbox{display:none}#analysis-page:has(.export-menu[open]) .analysis-record-checkbox{display:block}@media(max-width:767px){.hero-art{left:0}}.hero-art{left:38%;background-image:url(/assets/ink-mountains.webp?v=852cc8a2c332);background-size:auto 100%;background-position:right center;opacity:.58;mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}.page-hero:after{content:"\7b97\6cd5\5982\5c71\a\3000\884c\5219\5c06\81f3";position:absolute;z-index:1;left:53%;top:48px;white-space:pre;color:#102f26b8;font:28px/1.8 KaiTi,STKaiti,serif;letter-spacing:4px;transform:rotate(-7deg)}.home-middle{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-hero h1{font-size:46px}.home-records .record{min-height:112px;padding:14px 20px;gap:5px}.home-records .record-summary{height:20px}.home-records .record-links{display:none}.home-records .record-head{margin-top:2px}.review-records .difficulty-badge.due-status{background:var(--medium-bg);color:var(--medium)}.review-records .difficulty-badge.due-status.overdue{background:var(--hard-bg);color:var(--hard)}.review-records .difficulty-badge.due-status.mastered{background:var(--easy-bg);color:var(--easy)}@media(max-width:767px){.hero-art{left:0}.page-hero:after{display:none}.home-hero h1{font-size:29px}.home-middle{display:block}.home-records .record{min-height:150px}.home-records .record-summary{height:43px}.home-records .record-links{display:flex}}.knowledge-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 18px;padding-left:216px}.knowledge-toolbar .search-control{max-width:580px}.knowledge-toolbar>label:last-child{display:flex;align-items:center;gap:8px;color:var(--muted);white-space:nowrap}.knowledge-toolbar select{width:150px}.knowledge-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.knowledge-topic-card{min-height:216px;display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.knowledge-topic-head{display:grid;grid-template-columns:66px minmax(0,1fr);gap:16px}.knowledge-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green)}.knowledge-icon .ui-icon{width:31px;height:31px}.knowledge-topic-head h2{margin:4px 0;font-size:18px}.knowledge-topic-head h2 a{color:var(--ink);text-decoration:none}.knowledge-topic-head p{display:-webkit-box;margin:0;color:var(--muted);font-size:13px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.knowledge-topic-stats{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.knowledge-topic-stats>span{display:grid;grid-template-columns:22px auto;grid-template-rows:auto auto;align-items:center}.knowledge-topic-stats>span>.ui-icon{grid-row:1/3;color:var(--green)}.knowledge-topic-stats b{font-size:16px}.knowledge-topic-stats small{color:var(--muted);font-size:11px}.knowledge-topic-stats>a{color:var(--ink)}@media(max-width:1023px){.knowledge-toolbar{padding-left:176px}.knowledge-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.knowledge-toolbar{display:block;padding-left:0}.knowledge-toolbar>label:last-child{margin-top:10px}.knowledge-topic-grid{grid-template-columns:1fr}}.detail-toolbar{justify-content:flex-start!important}.heatmap{grid-template-columns:repeat(30,minmax(7px,1fr));overflow:hidden}.record{position:relative}#analysis-page .record{min-height:171px;padding:16px 20px;gap:5px}#analysis-page .record-links{position:absolute;right:20px;bottom:14px;border-top:0;padding-top:0;margin-top:0}#analysis-page .record-links .record-updated{display:none}#review-page .record{min-height:204px;padding:15px 18px;gap:5px}#review-page .record-links{display:none}@media(max-width:767px){.heatmap{grid-template-columns:repeat(30,minmax(0,1fr));overflow:hidden}#analysis-page .record{min-height:174px;padding:15px}#analysis-page .record-links{position:static!important;margin-top:auto!important;padding-top:8px!important;border-top:1px solid var(--line)!important}#analysis-page .record-links{display:flex!important}#analysis-page .record-updated{display:none!important}#review-page .record{min-height:220px;padding:15px}#review-page .record-links{display:none!important}}#problem-page{position:relative}#problem-page>.detail-toolbar{padding-bottom:10px}#problem-page>.export-bar{position:absolute;top:72px;right:0;z-index:4;padding:0}#problem-page .problem-detail-head{align-items:center;min-height:145px;padding-top:20px;padding-bottom:20px;background-image:url(/assets/ink-mountains.webp?v=852cc8a2c332);background-position:right center;background-size:auto 100%}@media(max-width:767px){#problem-page>.export-bar{position:static;display:flex;overflow:auto;padding:0 0 10px}#problem-page .problem-detail-head{min-height:210px}}.member-dashboard #member-trend{display:grid;gap:16px;align-content:start;min-width:0;margin-top:8px}.trend-chart-svg{display:block;width:100%;height:auto;min-width:0;overflow:visible}.trend-gridline{stroke:var(--line);stroke-width:1}.trend-axis{stroke:var(--line-strong);stroke-width:1}.trend-axis-label,.trend-date-label{fill:var(--muted);font-size:11px}.trend-value{fill:var(--ink);font-size:13px;font-weight:700}.trend-bar{fill:var(--green);transition:opacity .14s}.trend-bar:hover{opacity:.78}.trend-summary{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:14px}.trend-summary span{display:grid;gap:2px;padding:0 10px;border-right:1px solid var(--line);text-align:center}.trend-summary span:last-child{border-right:0}.trend-summary strong{color:var(--ink);font-size:20px;line-height:1.1}.trend-summary small{color:var(--muted);font-size:11px}@media(max-width:767px){#member-page #member-trend{overflow-x:auto;padding-bottom:4px}#member-page #member-trend .trend-chart-svg{width:100%;max-width:100%;min-width:0}.trend-summary{min-width:320px}}.member-dashboard>.panel{min-width:0}.archive-filters{flex-wrap:wrap;align-items:flex-end}.archive-filters>.archive-search{flex:1 0 100%;min-width:0}.archive-filters>.field:not(.archive-search):not(.date-field){flex:1 1 145px;min-width:135px}.archive-filters>.date-field{flex:2 1 300px;min-width:300px}.archive-filters .date-range input{flex:1 1 0;width:0;min-width:0}.archive-filters>.btn{flex:0 0 auto}@media(max-width:767px){.archive-filters{overflow-x:visible;align-items:flex-end}.archive-filters>.archive-search,.archive-filters>.date-field{flex:1 0 100%;min-width:0}.archive-filters>.field:not(.archive-search):not(.date-field){flex:1 1 calc(50% - 8px);min-width:0}.archive-filters>.btn{flex:1 1 calc(50% - 8px)}}[hidden]{display:none!important}html{container-type:inline-size;scrollbar-gutter:stable}.problem-detail-loading{min-height:100vh}.footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:24px 0 32px}.problem-standalone>.footer{padding-inline:max(24px,calc((100cqw - 1320px)/2))}.footer>span:first-child{text-align:left}.footer>a{justify-self:end}.footer-version{margin:0}@media(max-width:767px){.problem-standalone{padding-bottom:0}.problem-standalone .main{width:calc(100% - 32px)}.footer{grid-template-columns:minmax(0,1fr);gap:8px;padding:24px 0;text-align:center}.problem-standalone>.footer{padding-inline:16px}.footer>span:first-child{text-align:center}.footer>a{justify-self:center}.footer-version{white-space:normal;overflow-wrap:anywhere}}.page-hero{margin-inline:calc((min(1320px,100cqw - 48px) - 100cqw)/2)}.page-hero:after{content:none}.hero-verse{position:absolute;z-index:1;left:55%;top:42px;transform:rotate(-7deg);pointer-events:none}.page-hero .hero-verse{color:var(--muted);font:27px/1.8 KaiTi,STKaiti,serif;letter-spacing:3px}.hero-verse span{display:block}.hero-verse span+span{padding-left:32px}.hero-verse:after{content:"";display:block;width:38px;margin-top:12px;border-bottom:1px solid currentColor}.hero-art{mask-image:linear-gradient(to right,transparent,#000 24%,#000 82%,transparent),linear-gradient(to bottom,#000 55%,transparent);mask-composite:intersect}.home-hero .hero-art{right:max(0px,calc((100cqw - 1440px)/2))}.home-hero .hero-verse{left:55%;top:44px}.home-stats .stat-card{border-radius:8px}.home-stats .stat-card strong{font-variant-numeric:tabular-nums}.home-stats .stat-card small{color:var(--muted)}.home-middle>.panel{min-height:250px}.today-review{display:flex;flex-direction:column}.today-review>.review-queue{flex:1}.review-empty{min-height:168px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:var(--muted)}.review-empty>.ui-icon{width:36px;height:36px;color:var(--green)}.review-empty p{margin:0}.heatmap .cell-future{visibility:hidden}@media(min-width:768px)and (max-width:1199px){.header-inner{gap:16px}.brand{min-width:204px}.desktop-nav{gap:14px}.global-search{min-width:150px;width:200px}.home-hero .hero-verse{left:70%;font-size:23px}}@media(max-width:767px){.home-hero{min-height:280px;padding-bottom:28px}.home-hero h1 span{display:inline-block}.home-hero .hero-art{left:0;opacity:.22}.home-middle>.panel{min-height:220px}.home-middle .review-empty{min-height:140px}}.more-tools>.filter-bar{display:grid;grid-template-columns:180px minmax(0,1fr) 180px;margin:16px 0;position:static}.more-tools{clear:both}.home-records{grid-auto-rows:auto;align-items:stretch}.home-records .record{height:auto}.topic-nav{display:flex;flex-direction:column}.topic-nav button{display:flex;align-items:center;gap:16px;min-height:48px;padding:12px 16px;border:0;border-radius:6px;background:transparent;color:var(--muted);text-align:left}.topic-nav button:hover{background:var(--hover);color:var(--ink)}.topic-nav button.active{background:var(--green-soft);color:var(--green);font-weight:700}.knowledge-topic-card{min-width:0}.knowledge-topic-card .roadmap-tags{margin:0}.knowledge-topic-grid{align-items:stretch}#knowledge-results{margin:0 0 12px}.detail-empty{padding:32px;color:var(--muted);text-align:center}#roadmap-page:has(.roadmap-node)>.knowledge-hero,#tag-page:has(.tag-detail)>.tags-hero{display:none}.detail-toolbar{margin:0;padding:16px 0;min-height:48px}.detail-toolbar a{color:var(--muted);text-decoration:none}.detail-hero{min-height:270px;padding-top:30px;padding-bottom:55px}.detail-intro{display:grid;grid-template-columns:100px minmax(0,560px);gap:28px;align-items:start;position:relative;z-index:2}.detail-intro h1{font-size:38px;margin:10px 0 12px;overflow-wrap:anywhere}.detail-intro p{font-size:15px;line-height:1.8}.detail-symbol{display:grid;place-items:center;width:100px;height:100px;background:var(--green-soft);border-radius:50%;color:var(--green)}.detail-symbol .ui-icon{width:44px;height:44px}.detail-intro .roadmap-tags{margin-top:18px}.detail-hero .hero-verse{left:66%;top:22px;font-size:24px}.detail-hero-actions{position:relative;z-index:2;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}.detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:66%;position:relative;z-index:3;margin:-34px 0 28px}.detail-stat{display:flex;gap:16px;align-items:center;padding:16px;min-height:90px;background:var(--surface);border:1px solid var(--line);border-radius:7px;text-decoration:none;color:var(--ink)}.detail-stat .stat-icon{width:52px;height:52px;margin:0;flex-shrink:0}.detail-stat strong,.detail-stat small{display:block}.detail-stat strong{font-size:26px;line-height:1.3;font-variant-numeric:tabular-nums}.detail-stat small{color:var(--muted);font-size:12px}.detail-stat>.ui-icon{margin-left:auto;width:15px}.detail-section{margin:26px 0}.detail-section h2,.detail-panel h2{display:flex;gap:12px;align-items:center;font-size:19px;margin-bottom:16px}.detail-section h2 .ui-icon,.detail-panel h2 .ui-icon{color:var(--green);width:23px;height:23px}.detail-panel{min-width:0;padding:20px;margin-bottom:16px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.detail-panel>:last-child{margin-bottom:0}.detail-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail-record-preview{display:flex;flex-direction:column;min-width:0;padding:16px 18px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-decoration:none;color:var(--ink)}.detail-record-preview:hover,.detail-topic-link:hover{border-color:var(--green);background:var(--hover)}.detail-record-preview strong{font-size:16px;overflow-wrap:anywhere}.detail-record-preview p{margin:7px 0 16px;font-size:13px;color:var(--muted)}.detail-record-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:12px;color:var(--muted);margin-top:auto}.detail-record-meta>.ui-icon:last-child{margin-left:auto}.detail-record-meta .ui-icon{width:16px;height:16px}.more-records{margin-top:14px}.more-records summary{padding:8px 0;color:var(--green);cursor:pointer}.node-resources{background:transparent;border-inline:0;border-radius:0;padding-inline:0}.node-resources p{display:inline;color:var(--muted);margin-left:16px}.node-filters{display:flex;align-items:center;gap:10px}.node-filters select{width:145px}.node-filters .search-control{width:250px}.detail-section .section-heading h2{margin-bottom:6px}.roadmap-node .roadmap-problem-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.roadmap-node .roadmap-problem-card{min-width:0;display:flex;flex-direction:column;padding:16px;border-radius:6px}.roadmap-problem-name{overflow-wrap:anywhere}.roadmap-problem-meta{display:flex;flex-wrap:wrap;gap:6px}.roadmap-problem-done{margin-top:auto;padding-top:14px}.detail-tabs{display:flex;gap:20px;margin-bottom:20px;border-bottom:1px solid var(--line);overflow-x:auto}.detail-tabs a,.detail-tabs button{display:flex;align-items:center;gap:9px;flex-shrink:0;min-height:48px;padding:10px 18px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);text-decoration:none;font-weight:600}.detail-tabs .active{color:var(--green);border-bottom-color:var(--green)}.detail-tabs a:hover,.detail-tabs button:hover{background:var(--hover);color:var(--ink)}.detail-related-tags{margin-top:12px}.detail-related-tags>strong{font-size:13px}.detail-related-tags .roadmap-tags{margin-top:6px}.tag-detail .detail-hero{padding-bottom:62px}.tag-example-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tag-example-grid .detail-record-preview{padding:14px}.tag-example-grid .detail-record-meta{font-size:11px}.detail-table-scroll{max-width:100%;overflow:auto}.detail-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.detail-table th{background:var(--soft);font-weight:500;color:var(--muted)}.detail-table th,.detail-table td{padding:10px 12px;border-bottom:1px solid var(--line)}.detail-table td{color:var(--muted)}.detail-table td:nth-child(2){min-width:190px;max-width:350px}.detail-table td:nth-child(3){white-space:nowrap}.detail-table a{text-decoration:none;color:var(--ink)}.detail-table .roadmap-tags{display:flex;flex-wrap:wrap;gap:5px;min-width:140px;margin:0}.detail-panel h2 small{font-size:15px;font-weight:400;color:var(--muted)}.detail-topic-link{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink)}.detail-topic-link>span{min-width:0}.detail-topic-link strong{overflow-wrap:anywhere}.detail-topic-link small,.detail-member-link small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.detail-topic-link>.ui-icon:last-child{margin-left:auto;width:14px}.tag-member-grid{display:flex;flex-wrap:wrap;gap:20px 60px}.detail-member-link{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none}.detail-member-link .member-initial{width:40px;height:40px}.problem-detail{display:block}.problem-hero{min-height:220px;padding-top:24px;padding-bottom:24px}.problem-hero .hero-copy{max-width:750px}.problem-hero h1{font-size:34px;max-width:750px;overflow-wrap:anywhere}.problem-hero .problem-meta{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:20px;margin-bottom:12px;font-size:14px}.problem-hero .hero-verse{left:68%;top:12px;font-size:23px}.problem-hero .detail-hero-actions{margin-top:20px}.problem-vitality{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;width:fit-content;max-width:100%;margin-top:16px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}.problem-vitality span{font-size:13px;font-weight:650}.problem-vitality strong{color:var(--green);font-size:26px;line-height:1;font-variant-numeric:tabular-nums}.problem-vitality small{color:var(--muted);font-size:12px;line-height:1.5}.problem-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,1fr);gap:16px}.problem-main,.problem-aside{min-width:0}.problem-facts{display:grid;grid-template-columns:95px minmax(0,1fr);gap:12px;margin:0}.problem-facts dt{color:var(--muted)}.problem-facts dd{margin:0;overflow-wrap:anywhere}.detail-prose{line-height:1.9;color:var(--ink);overflow-wrap:anywhere}.detail-prose p{max-width:none}.detail-prose pre{max-width:100%;overflow-x:auto;margin:16px 0;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--ink);font-size:14px;line-height:1.6;white-space:pre;overflow-wrap:normal}.detail-prose pre code{display:block;padding:0;border:0;border-radius:0;background:transparent;color:inherit;white-space:inherit}.detail-prose .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.detail-prose img,.detail-prose svg{max-width:100%}.detail-prose table{display:block;max-width:100%;overflow-x:auto}.thought-author{color:var(--muted);font-size:13px}.problem-code-expanded{min-width:0;max-width:100%}.problem-code-expanded pre{max-width:100%;max-height:none;overflow-x:auto;margin:0;border-radius:5px;font-size:13px}.copy-feedback,.share-feedback{display:block;font-size:12px;color:var(--green)}#problem-page>.detail-toolbar{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 20px}.problem-export-menu{position:relative;z-index:5;margin-left:auto}.problem-export-menu>summary{list-style:none;cursor:pointer}.problem-export-menu>summary::-webkit-details-marker{display:none}.problem-export-options{position:absolute;top:calc(100% + 8px);right:0;display:grid;gap:4px;width:210px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #0000001a}.problem-export-options .btn{justify-content:flex-start;border-color:transparent}.problem-detail .section-heading{flex-wrap:wrap}.problem-detail .section-heading h2{flex:0 0 auto;margin:0;white-space:nowrap}.problem-detail .btn-sm{width:auto;flex:0 0 auto}.problem-detail .section-heading>[data-problem-edit]{margin-left:auto}.legacy-mastery-note{display:block;margin-top:3px;color:var(--muted);font-size:11px}.problem-review-actions{display:flex;flex-wrap:nowrap;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.problem-review-actions .review-detail-action{min-width:0}.problem-detail .review-detail-action .ui-icon{width:16px;height:16px}.detail-panel[id],.detail-section[id],#problem-related{scroll-margin-top:88px}.problem-main .related-list{margin:0}.problem-main .related-list li:last-child{border-bottom:0}.problem-detail .related-list .related-attempt{display:grid;gap:8px;align-items:stretch;padding:14px 0}.related-attempt-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.related-current-label{padding:2px 7px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:11px}.related-attempt-facts{display:grid;gap:4px 14px;color:var(--muted);font-size:13px}.related-attempt-facts p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.related-attempt-facts strong{color:var(--ink)}.related-takeaway{margin:0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.attempt-thoughts>:first-child{margin-top:4px}.attempt-thoughts>:last-child{margin-bottom:0}.attempt-thoughts li{padding:0;border:0}.related-section .related-hint{margin:-6px 0 14px;color:var(--muted);font-size:13px}.related-current .related-attempt{border-bottom:0;padding-top:4px}.related-attempt-heading .related-meta{display:inline;font-size:13px}.related-attempt-heading .updated-at{margin-left:auto}.related-attempt.is-linked{position:relative}.related-attempt.is-linked:hover{background:var(--hover)}.related-record-link{color:var(--green);text-decoration:none}.related-record-link:after{content:"";position:absolute;inset:0}.related-attempt.is-linked .related-reflection{position:relative;z-index:1}.related-outcome{color:var(--ink)}.related-state{display:inline-block;margin-left:10px;color:var(--green);font-size:12px}.related-blocker{line-height:1.8}.related-history,.related-team{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.related-history h3,.related-team h3{margin:0 0 6px;font-size:15px}.related-team-count{margin-left:12px;color:var(--muted);font-size:12px;font-weight:400}.related-reflection summary{display:flex;align-items:center;gap:6px;width:fit-content;padding:4px 0;color:var(--green);font-size:13px;cursor:pointer;list-style:none}.related-reflection summary::-webkit-details-marker{display:none}.related-reflection summary .ui-icon{width:14px;height:14px}.related-reflection[open] summary .ui-icon{transform:rotate(180deg)}.related-reflection .related-takeaway{margin-top:8px;line-height:1.8}.problem-redo-link{margin-top:18px}.problem-redo-hint{margin:8px 0 0}#problem-team{scroll-margin-top:88px}.record-outcome{margin:0;color:var(--muted);font-size:13px}.record-outcome.is-independent{color:var(--green)}.record-head{flex-wrap:wrap;gap:8px 16px}.record-head .vitality-badge{margin-left:auto;font-size:12px;background:transparent;color:var(--muted);padding:0}@media(max-width:767px){.related-attempt-heading .updated-at{width:100%;margin-left:0}.record-head .vitality-badge{margin-left:0}}@media(max-width:1100px){.detail-intro{grid-template-columns:80px minmax(0,500px);gap:18px}.detail-symbol{width:80px;height:80px}.detail-stats{width:100%}.detail-hero .hero-verse,.problem-hero .hero-verse{display:none}.node-filters{flex-wrap:wrap}#node-problems>.section-heading{align-items:flex-start;flex-direction:column}.tag-example-grid,.roadmap-node .roadmap-problem-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.page-hero{margin-inline:-16px}.more-tools>.filter-bar{grid-template-columns:1fr}.page-hero .hero-verse{display:none}.topic-nav{flex-direction:row}.topic-nav button{flex-shrink:0;white-space:nowrap;gap:8px;padding:8px 12px}.detail-hero{min-height:auto;padding:24px 16px 50px}.detail-intro{grid-template-columns:48px minmax(0,1fr);gap:12px}.detail-symbol{width:48px;height:48px}.detail-symbol .ui-icon{width:25px;height:25px}.detail-intro h1{margin-top:4px;font-size:26px}.detail-intro p{font-size:14px}.detail-hero-actions{justify-content:flex-start;gap:8px}.detail-hero-actions .btn{min-width:0;font-size:13px}.detail-stats{gap:8px;margin-top:-24px;margin-bottom:20px}.detail-stat{display:block;padding:12px 9px;min-width:0}.detail-stat .stat-icon{width:32px;height:32px;margin-bottom:8px}.detail-stat .stat-icon .ui-icon{width:18px;height:18px}.detail-stat strong{font-size:24px}.detail-stat small{font-size:11px}.detail-stat>.ui-icon{display:none}.detail-record-grid,.tag-example-grid,.roadmap-node .roadmap-problem-list{grid-template-columns:1fr}.detail-panel{padding:16px}.detail-tabs{gap:4px}.detail-tabs a,.detail-tabs button{padding-inline:12px}.node-filters{width:100%}.node-filters select{flex:1;width:0}.node-filters .search-control{width:100%}.node-resources p{display:block;margin:12px 0 0}.problem-layout{display:flex;flex-direction:column}.problem-aside{order:-1;display:grid;grid-template-columns:1fr}.problem-hero h1{font-size:26px}.problem-hero .hero-copy{max-width:100%}.problem-hero{min-height:200px}.detail-record-preview strong{font-size:15px}.tag-member-grid{gap:18px 30px}}.roadmap-overview{padding-bottom:30px}.roadmap-view-tabs{display:flex;gap:26px;margin:0 0 18px;border-bottom:1px solid var(--line)}.roadmap-view-tabs button{min-height:48px;padding:10px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:700}.roadmap-view-tabs button:hover{color:var(--ink);background:var(--hover)}.roadmap-view-tabs button.active{color:var(--green);border-bottom-color:var(--green)}.learning-resume{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;align-items:center;margin:0 0 18px;padding:16px 20px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--green-soft) 68%,var(--surface))}.learning-resume-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--green-soft);color:var(--green)}.learning-resume-icon .ui-icon{width:27px;height:27px}.learning-resume>span:nth-child(2){min-width:0}.learning-resume small,.learning-resume strong,.learning-resume em{display:block}.learning-resume small{color:var(--muted);font-size:12px}.learning-resume strong{margin:1px 0;color:var(--ink);font-size:18px;line-height:1.4}.learning-resume em{color:var(--muted);font-size:12px;font-style:normal}.learning-route-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.learning-phase-list{min-width:0;display:grid;gap:12px}.learning-phase{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:clip}.learning-phase>summary{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:88px;padding:14px 18px;cursor:pointer;list-style:none}.learning-phase>summary::-webkit-details-marker{display:none}.learning-phase>summary:hover{background:var(--hover)}.learning-phase-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:17px;font-weight:800}.learning-phase-copy{min-width:0}.learning-phase-copy small,.learning-phase-copy strong,.learning-phase-copy span{display:block}.learning-phase-copy small{color:var(--muted);font-size:11px}.learning-phase-copy strong{color:var(--ink);font-size:18px}.learning-phase-copy span{margin-top:2px;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-phase-count{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.learning-phase-count .ui-icon{width:16px;transition:transform .16s ease}.learning-phase[open] .learning-phase-count .ui-icon{transform:rotate(180deg)}.learning-node-list{position:relative;display:grid;gap:7px;margin:0;padding:0 18px 18px 78px;list-style:none}.learning-node-list:before{content:"";position:absolute;top:0;bottom:22px;left:52px;width:1px;background:var(--line2)}.learning-node{position:relative;min-width:0}.learning-node a{display:grid;grid-template-columns:18px 38px minmax(0,1fr) auto auto 16px;gap:10px;align-items:center;min-height:62px;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);text-decoration:none}.learning-node a:hover{border-color:var(--green);background:var(--hover)}.learning-node.is-current a{border-color:color-mix(in srgb,var(--green) 38%,var(--line));background:var(--green-soft)}.learning-node-dot{position:absolute;z-index:1;left:-34px;width:13px;height:13px;border:2px solid var(--line2);border-radius:50%;background:var(--surface)}.learning-node.is-current .learning-node-dot{border-color:var(--green);background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.learning-node-number{grid-column:2;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.learning-node-copy{grid-column:3;min-width:0}.learning-node-copy strong,.learning-node-copy small{display:block}.learning-node-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.learning-node-copy small{margin-top:2px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.learning-node-facts{grid-column:4;color:var(--muted);font-size:12px;white-space:nowrap}.learning-node-current{grid-column:5;color:var(--green);font-size:12px;font-weight:700;white-space:nowrap}.learning-node>a>.ui-icon{grid-column:6;width:15px;color:var(--muted)}.learning-route-aside{position:sticky;top:84px;display:grid;gap:14px}.learning-aside-card{padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.learning-aside-heading{display:flex;gap:12px;align-items:center}.learning-aside-heading>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:var(--green-soft);color:var(--green)}.learning-aside-heading>span .ui-icon{width:20px}.learning-aside-heading small,.learning-aside-heading strong{display:block}.learning-aside-heading small{color:var(--muted);font-size:11px}.learning-aside-heading strong{font-size:14px}.learning-aside-card>p{margin:14px 0 0;color:var(--muted);font-size:13px}.learning-aside-card>p>strong{color:var(--ink);font-size:17px}.learning-position-bar{height:7px;margin-top:10px;border-radius:999px;background:var(--soft);overflow:hidden}.learning-position-bar span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .18s ease}.roadmap-index-layout{grid-template-columns:180px minmax(0,1fr);gap:24px;margin-top:20px}.roadmap-index-layout .topic-nav{margin:0}.knowledge-index-main{min-width:0}.knowledge-toolbar{display:flex;align-items:center;gap:20px;margin:0 0 16px;padding:0}.knowledge-toolbar .search-control{max-width:none;flex:1}.knowledge-toolbar-meta{display:flex;align-items:center;gap:14px;white-space:nowrap}.knowledge-toolbar-meta #knowledge-results{margin:0}.knowledge-toolbar-meta select{width:124px}.knowledge-topic-card{min-height:178px;gap:10px;padding:16px;border-radius:8px}.knowledge-topic-card:hover{border-color:var(--green);background:var(--hover)}.knowledge-topic-head{grid-template-columns:50px minmax(0,1fr);gap:13px}.knowledge-icon{width:48px;height:48px}.knowledge-icon .ui-icon{width:25px;height:25px}.knowledge-topic-head h2{margin:1px 0 3px;font-size:16px}.knowledge-topic-head p{-webkit-line-clamp:1}.knowledge-topic-card .roadmap-tags{gap:5px}.knowledge-topic-card .tag-chip{padding:2px 7px;font-size:11px}.knowledge-topic-stats{grid-template-columns:1fr auto;padding-top:10px}.knowledge-topic-stats>span{display:flex;gap:7px;align-items:center}.knowledge-topic-stats>span>.ui-icon{color:var(--green)}.knowledge-topic-stats b{order:3;font-size:15px}.knowledge-topic-stats small{font-size:12px}.knowledge-topic-stats>a{display:grid;place-items:center;min-width:36px;min-height:36px;border-radius:50%}.knowledge-topic-stats>a:hover{background:var(--green-soft)}@media(max-width:1100px){.learning-route-layout{grid-template-columns:1fr}.learning-route-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-index-layout{grid-template-columns:150px minmax(0,1fr)}.learning-node a{grid-template-columns:18px 38px minmax(0,1fr) auto 16px}.learning-node-current{display:none}.learning-node>a>.ui-icon{grid-column:5}}@media(max-width:767px){.roadmap-view-tabs{gap:4px;overflow-x:auto}.roadmap-view-tabs button{flex:1 0 auto;padding-inline:12px}.learning-resume{grid-template-columns:44px minmax(0,1fr);padding:14px}.learning-resume-icon{width:42px;height:42px}.learning-resume strong{font-size:15px}.learning-resume .btn{grid-column:1 / -1;width:100%}.learning-phase>summary{grid-template-columns:40px minmax(0,1fr);gap:10px;min-height:78px;padding:12px}.learning-phase-number{width:38px;height:38px}.learning-phase-count{grid-column:2;justify-self:start}.learning-node-list{padding:0 10px 12px 46px}.learning-node-list:before{left:27px}.learning-node-dot{left:-26px}.learning-node a{grid-template-columns:32px minmax(0,1fr) 15px;min-height:58px;padding:9px 10px}.learning-node-number{grid-column:1}.learning-node-copy{grid-column:2}.learning-node>a>.ui-icon{grid-column:3}.learning-node-facts,.learning-node-current{display:none}.learning-route-aside{grid-template-columns:1fr}.roadmap-index-layout{display:block;margin-top:12px}.roadmap-index-layout .topic-nav{margin:0 -16px 14px}.knowledge-toolbar{display:grid;gap:10px}.knowledge-toolbar-meta{justify-content:space-between}.knowledge-topic-card{min-height:164px}}
