@charset "UTF-8";
:root{font-family:Inter,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;color:#273c37;background:#f6f7f2;font-synthesis:none;--ink:#273c37;--muted:#74847e;--line:#dfe6dc;--accent:#326655;--paper:#fbfcf8;--unknown:#83938e;--todo:#a66d52;--learning:#c2953e;--applied:#4c947d;--transfer:#5978a1}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid #559e87;outline-offset:3px}button{border:0;background:none}a{color:#2c7161}button:active{transform:translateY(1px)}[hidden]{display:none!important}.topbar{height:82px;display:flex;align-items:center;gap:36px;padding:0 30px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-size:21px;font-weight:650;white-space:nowrap;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:1.7px;font-weight:500;color:var(--muted);margin-top:4px}.brand-mark{font-family:Georgia,serif;display:grid;place-items:center;font-size:38px;width:43px;height:43px;border:1px solid #b5c6b7;border-radius:50%;color:#527765}.search-wrap{position:relative;max-width:490px;flex:1;margin-left:auto}.search-wrap input{width:100%;border:1px solid var(--line);background:#f0f4ed;border-radius:11px;padding:13px 40px;color:var(--ink);font-size:13px}.search-wrap input::placeholder{color:#7d8b80}.search-icon{position:absolute;left:14px;top:7px;font-size:24px}.search-wrap kbd{position:absolute;right:13px;top:12px;border:1px solid #d8e0d4;padding:1px 6px;font-size:12px;color:#859286;border-radius:4px}.quiet-button{font-size:13px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);white-space:nowrap}.quiet-button:hover{background:#eaf1e7}.quiet-button span{font-size:11px;display:inline-block;border-radius:4px;background:#e3ece2;padding:2px 5px;margin-left:7px}.icon-button{width:34px;height:34px;border-radius:7px;font-size:24px;display:grid;place-items:center;flex-shrink:0}.icon-button:hover{background:#e9efe7}.mobile-menu{display:none}.workspace{display:grid;grid-template-columns:248px minmax(0,1fr);height:calc(100dvh - 82px);min-height:520px}.workspace.has-inspector{grid-template-columns:248px minmax(0,1fr) 362px}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper);padding:27px 17px 20px;overflow-y:auto;z-index:12}.sidebar-heading{padding:0 13px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#7e9184}.sidebar h1{font-size:18px;font-weight:600;margin:10px 0}.sidebar-heading p{color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 23px}.world-button{width:100%;display:flex;align-items:center;gap:12px;padding:13px 12px;border:1px solid transparent;border-radius:10px;text-align:left}.world-button.selected{background:#eaf1e5;border-color:#d7e3d0}.world-button>span:first-child{font-size:25px;color:#668c6f}.world-button>span:nth-child(2){font-size:13px;flex:1}.world-button small{display:block;font-size:10px;color:#7d8c7e;margin-top:5px}.world-button .arrow{font-size:16px;color:#728d73}.section-label{font-size:10px;letter-spacing:1px;color:#859087;padding:24px 13px 11px}.region-button{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:12px 13px;border-radius:9px;font-size:12px;margin:2px 0}.region-button:hover{background:#f0f4ed}.region-button.selected{background:#edf2e9;box-shadow:inset 3px 0 #638473}.region-dot{width:9px;height:9px;border-radius:50%;background:var(--region-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--region-color) 13%,transparent);flex-shrink:0}.region-button .name{flex:1}.region-button .count{font-size:10px;color:#8b988e}.sidebar-bottom{margin-top:auto;padding:26px 13px 0}.mini-title{font-size:10px;color:#8b978a;text-transform:uppercase;letter-spacing:1px}.sidebar-bottom p{font-size:12px;line-height:1.9;margin:9px 0}.sidebar-bottom p span{font-size:11px;color:var(--muted)}.text-button{font-size:11px;padding:4px 0;color:#577b68;text-align:left}.text-button:hover{text-decoration:underline}.map-column{min-width:0;display:flex;flex-direction:column;position:relative}.map-toolbar{min-height:61px;display:flex;align-items:center;justify-content:space-between;padding:10px 23px;gap:10px;border-bottom:1px solid #d6e4de;background:#f6f9f4}.breadcrumb{font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#82918a}.breadcrumb button{padding:4px 0;color:#647d6d;font-size:12px}.breadcrumb button:last-child{color:#284f41}.layer-switch{display:flex;padding:3px;border:1px solid #dbe5d9;background:#eaf0e6;border-radius:9px;flex-shrink:0}.layer-switch button{padding:7px 11px;font-size:11px;border-radius:6px;white-space:nowrap}.layer-switch button[aria-pressed=true]{background:var(--paper);box-shadow:0 1px 4px #31452f18;color:#345840}.map-stage{position:relative;flex:1;min-height:350px;overflow:hidden;background:#e3eff0}#atlas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none}#atlas.dragging{cursor:grabbing}.island{cursor:pointer}.island .land-outline{transition:stroke-width .2s,filter .2s}.island:hover .land-outline{stroke-width:2.5px}.region-label{font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:24px;letter-spacing:3px;font-weight:600;fill:#415e52;pointer-events:none}.region-label-en{font-size:10px;letter-spacing:3px;fill:#6c8473;pointer-events:none}.island-stat{font-size:12px;fill:#6f8375;pointer-events:none}.place{cursor:pointer;outline:none}.place .pin-core{stroke:#fff;stroke-width:2.5}.place:hover .pin-halo{opacity:.65}.place.selected .pin-halo{opacity:1}.place.selected .pin-core{stroke-width:3.5;stroke:#314e42}.place text{font-size:13px;fill:#2c493d;paint-order:stroke;stroke:#f3f6e9;stroke-width:4px;stroke-linejoin:round;font-weight:500;pointer-events:none}.place .place-name{opacity:0;transition:opacity .2s}.detail-zoom .place .place-name{opacity:1}.place.selected .place-name{opacity:1}.map-caption{position:absolute;top:32px;left:32px;pointer-events:none;max-width:70%;transition:opacity .2s}.map-caption h2{font-size:23px;font-weight:500;color:#426456;letter-spacing:1px;margin:9px 0}.map-caption p{font-size:11px;color:#78988f;margin:0}.map-caption .eyebrow{color:#7c9d93}.map-caption.hidden{opacity:0}.map-controls{position:absolute;right:20px;bottom:68px;display:flex;flex-direction:column;border:1px solid #cddcd2;box-shadow:0 4px 15px #48615812;border-radius:10px;background:#fcfdf8;overflow:hidden}.map-controls button{width:38px;height:37px;font-size:22px;color:#526e60}.map-controls button:hover{background:#edf3e8}.map-controls span{height:1px;background:#e0e8dc;margin:0 8px}.compass{position:absolute;right:25px;top:25px;text-align:center;color:#6d8d85;pointer-events:none}.compass span{font-family:Georgia,serif;font-size:12px}.compass i{display:block;width:18px;height:35px;margin:4px auto;background:linear-gradient(90deg,#6a8a7c 50%,#a7bbb0 50%);clip-path:polygon(50% 0,100% 100%,50% 75%,0 100%)}.compass small{font-size:8px;letter-spacing:2px}.map-legend{position:absolute;bottom:28px;left:24px;display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#5c7a6e;background:#fbfdf2e6;padding:10px 13px;border:1px solid #d9e5d6;border-radius:8px;max-width:calc(100% - 96px)}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--dot);border:1px solid #55746730}.legend-dot.hollow{background:transparent;border:1.5px solid #86988d}.map-attribution{position:absolute;bottom:8px;left:26px;font-size:8px;color:#8aa398;letter-spacing:.3px}.map-footer{height:37px;min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 22px;font-size:10px;color:#7e9184;border-top:1px solid #d2e0d9;background:#f4f8f0}.map-footer>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-footer button{white-space:nowrap}.inspector{background:var(--paper);border-left:1px solid var(--line);overflow-y:auto;padding:22px 23px 28px;scrollbar-width:thin}.inspector-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.inspector .eyebrow{font-size:9px}.place-number{font-size:11px;color:#8a9d89;letter-spacing:2px;margin:16px 0 7px}.inspector h2{font-size:23px;line-height:1.45;font-weight:550;margin:0 0 12px;letter-spacing:.2px}.inspector .lead{font-size:12px;color:#748778;line-height:1.8;margin:0 0 21px}.section-title{font-size:13px;font-weight:600;margin:22px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title small{font-size:10px;color:#839487;font-weight:400}.coverage-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e5d5;border-radius:5px;font-size:10px;padding:4px 7px;color:#5f7b63;background:#f0f5e9}.content-note{font-size:12px;line-height:1.85;color:#5f7567}.content-note p{margin:8px 0}.gap-note{border-left:2px solid #c6b88e;padding:2px 0 2px 11px;color:#82765c}.meta-row{display:flex;justify-content:space-between;gap:12px;font-size:10px;margin:8px 0;color:#7e8f80}.meta-row span:last-child{color:#4d6a55;text-align:right}.mastery-select{width:100%;font-size:12px;padding:12px 11px;border:1px solid #d6e2ce;border-radius:8px;background:#f5f8ef;color:#42624d}.self-note{font-size:10px;line-height:1.7;color:#839383;margin:7px 0}.assessment-box{margin-top:13px;border-top:1px solid #e6eadf;padding-top:12px}.assessment-box summary{font-size:11px;cursor:pointer;color:#658267}.assessment-question{font-size:12px;line-height:1.8;color:#526c58;margin:13px 0 10px}.criterion{display:flex;gap:8px;font-size:11px;line-height:1.75;color:#75856f;margin:10px 0}.criterion input{accent-color:#638766;flex-shrink:0;margin-top:4px;width:14px;height:14px}.evidence-label{display:block;font-size:10px;color:#7d907b;margin:12px 0 6px}.evidence-text{width:100%;resize:vertical;min-height:65px;padding:9px;border:1px solid #dce5d4;background:#fafcf7;border-radius:6px;font-size:11px;line-height:1.7;color:#547151}.next-step{font-size:11px;line-height:1.8;padding:11px 12px;background:#eef3e7;color:#657d59;border-radius:7px;margin-top:12px}.article-card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid #e7ecdf}.article-icon{font-size:17px;color:#86a17a}.article-card .article-copy{flex:1;min-width:0}.article-card strong{font-weight:500;font-size:12px;line-height:1.5;display:block}.article-card small{display:block;font-size:9px;color:#99a48f;margin-top:5px}.article-card:hover strong{color:#46826a}.freshness{font-size:9px;color:#ac8950;margin-left:5px}.article-arrow{color:#91a184;font-size:14px}.empty-copy{font-size:11px;color:#929d89;line-height:1.8}.runtime-block{font-size:10px;color:#8a9784;line-height:1.9;margin-top:19px;border-top:1px dashed #dce4d3;padding-top:12px}.runtime-block summary{cursor:pointer}.runtime-block p{overflow-wrap:anywhere}.connections{display:flex;gap:6px;flex-wrap:wrap}.connection{padding:6px 8px;background:#eaf1e4;color:#607e5d;border-radius:5px;font-size:10px}.connection:hover{background:#dce9d4}.source-item{font-size:10px;line-height:1.7;color:#85937e;margin:8px 0;overflow-wrap:anywhere}.region-summary-stats{display:flex;gap:17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:16px 0}.region-summary-stats strong{display:block;font-family:Georgia,serif;font-size:26px;font-weight:400;color:#62805e}.region-summary-stats span{font-size:9px;color:#8d9c85}.node-list-button{width:100%;display:flex;align-items:center;text-align:left;padding:12px 0;gap:10px;border-bottom:1px solid #e6ebdf}.node-list-button .name{flex:1;font-size:12px;line-height:1.5}.node-list-button small{display:block;font-size:9px;color:#95a18b;margin-top:4px}.node-list-button:hover .name{color:#3f8465}.region-intro{font-size:12px;line-height:1.9;color:#7b8e73}.search-results{position:absolute;top:52px;left:0;right:0;max-height:450px;overflow:auto;background:#fcfdf8;box-shadow:0 12px 40px #233c2924;border:1px solid #d8e2d2;border-radius:12px;padding:8px;z-index:60}.search-result{display:block;width:100%;text-align:left;padding:11px 12px;border-radius:7px}.search-result:hover,.search-result:focus{background:#edf3e5}.search-result strong{font-weight:500;font-size:12px;display:block}.search-result small{display:block;font-size:10px;color:#8b9b7d;margin-top:5px}.search-empty{padding:18px;font-size:12px;color:#86947b}.reader-dialog,.utility-dialog{padding:0;border:1px solid #d9e3d0;border-radius:16px;background:#fcfdf9;color:var(--ink);box-shadow:0 25px 100px #1b352936;max-height:92dvh}.reader-dialog::backdrop,.utility-dialog::backdrop{background:#233a3077;backdrop-filter:blur(3px)}.reader-dialog{width:min(960px,94vw);height:88dvh;overflow:hidden}.reader-toolbar{height:62px;display:flex;align-items:center;gap:15px;border-bottom:1px solid #e1e8d8;padding:0 22px}.reader-toolbar>span{flex:1;font-size:10px;color:#8b987f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-toolbar .quiet-button{font-size:11px}.markdown-body{height:calc(100% - 62px);overflow:auto;padding:35px 55px 80px;line-height:1.95;font-size:14px;color:#526449;overflow-wrap:anywhere}.markdown-body h1{font-size:28px;color:#314e39;line-height:1.5;font-weight:550;margin:0 0 24px}.markdown-body h2{font-size:20px;line-height:1.6;margin-top:35px;color:#3b583f;font-weight:550}.markdown-body h3{font-size:16px;color:#466443}.markdown-body pre{background:#edf2e8;padding:18px;border-radius:8px;overflow:auto;font-size:12px;line-height:1.7;color:#4b6343}.markdown-body code{font-family:Consolas,monospace;font-size:.9em;background:#e9eee3;padding:2px 4px;border-radius:3px}.markdown-body pre code{padding:0;background:transparent}.markdown-body table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.8;margin:20px 0;display:block;overflow:auto}.markdown-body td,.markdown-body th{padding:10px 12px;border:1px solid #dbe4d2;min-width:105px}.markdown-body th{background:#edf3e5;text-align:left}.markdown-body blockquote{border-left:3px solid #b9c9a6;margin-left:0;padding:1px 18px;color:#7b8d68;background:#f2f6ec}.markdown-body a{color:#387858;text-underline-offset:3px}.markdown-body .source-only{color:#8e9e82}.markdown-body .doc-notice{font-size:11px;background:#f2f5ec;border:1px solid #e1e8d7;padding:12px 16px;margin-bottom:25px;border-radius:8px;color:#81906d}.utility-dialog{width:min(700px,94vw);padding:25px 30px}.utility-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px}.utility-top h2{font-size:22px;font-weight:550;margin:0}.utility-dialog p{font-size:12px;line-height:1.9;color:#7b8c71}.utility-dialog h3{font-size:14px;color:#56734c;margin:24px 0 12px}.progress-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:22px 0}.progress-stat{padding:14px 7px;border-radius:8px;background:#edf2e7;text-align:center}.progress-stat strong{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400;margin-bottom:7px}.progress-stat small{font-size:10px;color:#829477}.progress-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.primary-button{border:1px solid #527555;color:#fff;background:#527555;border-radius:7px;padding:10px 16px;font-size:12px}.primary-button:hover{background:#436546}.progress-list{max-height:300px;overflow:auto}.progress-line{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e6ebdf;padding:10px 0;font-size:12px}.progress-line button{text-align:left}.progress-line span{font-size:10px;color:#829879;white-space:nowrap}.directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.directory-grid h3{font-size:13px;margin:10px 0}.directory-grid button{display:block;font-size:11px;text-align:left;padding:7px 0;color:#728d63}.directory-grid button:hover{text-decoration:underline}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:9px;background:#2b503f;color:#f7fbf1;font-size:12px;box-shadow:0 4px 25px #1731232f;z-index:150;max-width:90vw}.import-preview{padding:13px;background:#edf3e5;border-radius:8px;font-size:12px;color:#607d51;line-height:1.8}.mobile-overlay{display:none}
@media(min-width:1700px){.workspace{grid-template-columns:278px minmax(0,1fr)}.workspace.has-inspector{grid-template-columns:278px minmax(0,1fr) 400px}.sidebar{padding-left:23px;padding-right:23px}.inspector{padding:28px 30px}.map-caption h2{font-size:27px}}
@media(max-width:1200px){.topbar{padding:0 21px;gap:22px}.workspace{grid-template-columns:212px minmax(0,1fr)}.workspace.has-inspector{grid-template-columns:212px minmax(0,1fr) 320px}.sidebar{padding-left:10px;padding-right:10px}.sidebar h1{font-size:16px}.sidebar-heading p{font-size:10px}.region-button{font-size:11px}.inspector{padding:18px}.inspector h2{font-size:21px}.map-toolbar{padding:10px 15px}.map-caption{left:23px;top:25px}.map-caption h2{font-size:19px}.map-legend{gap:8px;left:15px;padding:8px;font-size:9px}.map-attribution{left:16px}.workspace.has-inspector .map-caption{display:none}}
@media(max-width:980px){.workspace,.workspace.has-inspector{grid-template-columns:190px minmax(0,1fr)}.workspace.has-inspector .inspector{position:absolute;right:0;top:143px;bottom:37px;width:330px;box-shadow:-10px 0 35px #3e5c4022;z-index:15}.map-caption h2{font-size:20px}.topbar{gap:15px}.brand{font-size:18px}.brand small{font-size:8px;letter-spacing:1px}.brand-mark{width:35px;height:35px;font-size:30px}.search-wrap input{font-size:11px}.quiet-button{font-size:11px}.sidebar-heading{padding:0 10px}.sidebar h1{font-size:15px}.region-button{padding:12px 10px}.world-button{padding:12px 8px}.world-button>span:nth-child(2){font-size:11px}.world-button small{font-size:9px}.sidebar-bottom{padding-left:10px}.sidebar-bottom p{font-size:11px}.workspace.has-inspector .map-controls{right:345px}.workspace.has-inspector .map-legend{max-width:calc(100% - 360px)}}
@media(max-width:700px){.topbar{height:66px;padding:0 13px;gap:10px}.brand{font-size:16px;letter-spacing:1px}.brand small{display:none}.brand-mark{width:29px;height:29px;font-size:26px}.brand{gap:7px}.mobile-menu{display:grid;width:27px;font-size:18px}.topbar>.quiet-button{padding:7px 8px;font-size:10px;margin-left:auto}.search-wrap{position:absolute;left:14px;right:14px;top:124px;max-width:none;z-index:30;display:none}.search-wrap.visible{display:block}.search-wrap input{padding:13px 38px;font-size:14px;background:#fbfdf7;box-shadow:0 5px 20px #4e6d451c}.search-wrap kbd{display:none}.workspace,.workspace.has-inspector{grid-template-columns:minmax(0,1fr);height:calc(100dvh - 66px);min-height:490px}.sidebar{position:absolute;top:66px;bottom:0;left:0;width:240px;box-shadow:8px 0 35px #314b352b;display:none}.sidebar.open{display:flex;z-index:35}.map-toolbar{height:54px;min-height:54px;padding:8px 13px;gap:8px}.breadcrumb{font-size:10px;max-width:47%;white-space:nowrap;overflow:hidden;flex-wrap:nowrap}.breadcrumb button{font-size:10px;white-space:nowrap}.layer-switch button{font-size:10px;padding:7px 9px}.map-footer{height:34px;min-height:34px;padding:0 13px;font-size:9px}.map-footer .text-button{font-size:10px}.map-caption{top:23px;left:19px;max-width:75%}.map-caption h2{font-size:20px;max-width:260px;line-height:1.5}.map-caption p{font-size:10px}.map-caption .eyebrow{font-size:8px}.compass{right:16px;top:21px}.map-controls{right:13px;bottom:78px}.map-controls button{width:39px;height:41px}.map-legend{bottom:30px;left:13px;padding:9px;gap:7px 11px;font-size:9px;max-width:calc(100% - 75px)}.map-attribution{left:14px;font-size:8px;bottom:10px}.workspace.has-inspector .inspector{position:absolute;top:auto;bottom:0;right:0;left:0;width:auto;height:53dvh;border:1px solid #d3dfc9;border-radius:18px 18px 0 0;padding:17px 22px 32px;box-shadow:0 -8px 40px #2d4d3226;z-index:40}.workspace.has-inspector .map-controls{right:13px;bottom:calc(53dvh - 55px)}.workspace.has-inspector .map-legend{display:none}.inspector-top{position:sticky;top:-17px;background:#fbfcf8eF;padding:4px 0;z-index:2}.inspector h2{font-size:22px}.inspector .lead{font-size:12px}.inspector .place-number{margin-top:4px}.reader-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.reader-toolbar{padding:0 12px;gap:8px}.markdown-body{padding:25px 22px 65px;font-size:13px}.markdown-body h1{font-size:24px}.markdown-body h2{font-size:18px}.utility-dialog{padding:21px 20px}.progress-bars{gap:5px}.progress-stat{padding:13px 3px}.progress-stat strong{font-size:24px}.progress-stat small{font-size:8px}.utility-top h2{font-size:20px}.directory-grid{gap:10px 16px}.search-mobile-button{display:grid!important}.search-results{max-height:65dvh}.map-footer>span{max-width:75%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.detail-shortcuts{display:flex;gap:6px;margin-top:17px;padding-bottom:3px}.detail-shortcuts button{font-size:10px;color:#6e8665;background:#eef3e7;border:1px solid #e1e8d9;border-radius:6px;padding:8px 9px}.detail-shortcuts button:hover{background:#e3edda;color:#426b4b}.route-section{border-top:1px solid #e1e8d8;margin-top:21px;padding-top:1px}.route-reason{font-size:11px;line-height:1.9;color:#7b8b6e}.prerequisite-button{display:flex;width:100%;align-items:center;gap:10px;text-align:left;font-size:11px;padding:11px 0;border-bottom:1px solid #e6ecdf}.prerequisite-button>span:nth-child(2){flex:1}.prerequisite-button small{display:block;font-size:9px;color:#94a086;margin-top:4px}.route-step-dot{width:7px;height:7px;border:1.5px solid #91a67f;border-radius:50%;box-shadow:0 0 0 4px #eaf1e2}.route-map-button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:11px 12px;margin-top:15px;font-size:11px;border:1px solid #b8cbb0;border-radius:7px;color:#497449;background:#eef5e8}.route-map-button:hover{background:#e2edd8}.route-caption{position:absolute;top:18px;left:20px;background:#fbfdf4ee;border:1px solid #d4e0cc;border-radius:9px;padding:12px 42px 11px 15px;max-width:calc(100% - 85px);box-shadow:0 3px 12px #36512a0b}.route-caption strong{display:block;font-size:12px;font-weight:550;color:#526e4e}.route-caption span{display:block;font-size:9px;margin-top:6px;color:#8b987e}.route-caption button{position:absolute;right:8px;top:7px;font-size:20px;color:#72886b;padding:2px 6px}.place.route-peer .place-name{opacity:1}.place.route-peer .pin-halo{opacity:.8}#node-self-test,#node-sources,#node-routes{scroll-margin-top:46px}.place:focus-visible .pin-halo{opacity:1}.place:focus-visible .pin-core{stroke:#3e7055;stroke-width:4}
@media(max-width:700px){.detail-shortcuts button{padding:10px 13px;font-size:11px}.route-caption{top:13px;left:13px;max-width:calc(100% - 60px);padding:10px 37px 10px 12px}.route-caption strong{font-size:11px}.route-caption span{font-size:8px}.prerequisite-button{min-height:45px}.route-map-button{padding:13px 12px}}
/* Concrete learning points remain distinct from a topic's overall self-assessment. */
.skill-section { margin:24px 0; padding-top:4px; }
.skill-card { display:flex; gap:12px; align-items:center; width:100%; border:0; border-bottom:1px solid #dfe6da; padding:16px 2px; background:transparent; text-align:left; color:#354a3b; cursor:pointer; }
.skill-card:hover { background:#edf3e8; }
.skill-card>span:nth-child(2) { flex:1; }
.skill-card strong { display:block; font-size:14px; line-height:1.6; font-weight:600; }
.skill-card small { display:block; margin-top:4px; color:#758577; font-size:11px; line-height:1.6; }
.skill-index { color:#8d9d83; font-size:12px; align-self:flex-start; padding-top:4px; font-variant-numeric:tabular-nums; }
.skill-summary { font-size:15px; line-height:1.9; margin:20px 0; }
.record-tabs { display:flex; gap:6px; padding-bottom:16px; flex-wrap:wrap; }
.record-tabs button { border:1px solid #cad6c5; background:transparent; color:#687761; border-radius:20px; padding:9px 15px; cursor:pointer; }
.record-tabs button.active { background:#456b52; color:white; border-color:#456b52; }
.progress-line button small { display:block; color:#85907d; font-size:11px; margin-top:4px; }
.reading-target { background:#edf2d9; border-radius:4px; box-shadow:0 0 0 7px #edf2d9; scroll-margin-top:24px; }
.ring-legend { color:#647867; font-size:11px; flex-basis:100%; text-align:center; }
.skill-ring { pointer-events:none; }
/* Interview provenance and tutorial coverage are independent of self-assessment. */
.interview-filters.interview-platform-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
.interview-author-buttons .interview-source-platform{display:inline-block;margin-top:6px;font-size:9px;line-height:1.6;color:#607958;background:#eaf0e2;border-radius:4px;padding:1px 5px}
.interview-coverage{margin:12px 0 6px;padding:11px 12px;border-left:3px solid #adc0a0;border-radius:5px;background:#eff4e9}
.interview-coverage strong{font-size:11px;line-height:1.7;color:#536f4e}
.interview-coverage p{font-size:11px;line-height:1.8;color:#728266;margin:5px 0 0}
.interview-coverage-partial,.interview-coverage-planned{border-color:#c7b180;background:#f6f2e4}
.interview-coverage-partial strong,.interview-coverage-planned strong{color:#877344}
.interview-coverage-unclear{border-color:#b3bdbe;background:#f0f3f1}
.interview-coverage .interview-uncovered{color:#87784e}
.interview-no-mapping{font-size:11px;line-height:1.8;color:#829174;margin:4px 0}
.interview-technical-sources{margin-top:23px;font-size:12px;line-height:1.85;color:#6e8067}
.interview-technical-sources summary{cursor:pointer;color:#466747}
.interview-technical-sources article{padding:12px 0;border-bottom:1px solid #dae3cd}
.interview-technical-sources h3{font-size:13px;margin:5px 0}.interview-technical-sources p{margin:6px 0}.interview-technical-sources a{color:#48775a}
@media(max-width:700px){.interview-filters.interview-platform-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.interview-coverage{padding:9px 10px}.interview-coverage p{font-size:11px}}
/* The concept tree separates broad directions from independently assessed points. */
.concept-address{display:flex;flex-wrap:wrap;gap:5px;align-items:baseline;font-size:10px;line-height:1.8;color:#6d8273;margin:8px 0 14px;overflow-wrap:anywhere}.concept-address i{font-style:normal;color:#a2afa0}.concept-address span:last-child{color:#365e4b;font-weight:600}.hierarchy-intro{font-size:12px;line-height:1.9;color:#5e7567;margin:14px 0}.scope-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:13px 8px;background:#edf3e8;border-radius:9px}.scope-stats strong{display:block;font-size:20px;font-weight:550;color:#476c54}.scope-stats span{display:block;font-size:9px;color:#738774;line-height:1.6;margin-top:5px}.hierarchy-example{padding:12px;width:100%;text-align:left;background:#f1eddd;border:1px solid #e5ddc5;border-radius:8px;margin:14px 0 0}.hierarchy-example small{display:block;color:#908564;font-size:10px;margin-bottom:5px}.hierarchy-example strong{font-size:11px;line-height:1.8;color:#726641;font-weight:500}.knowledge-branch{margin:9px 0;border:1px solid #dce5d4;border-radius:8px;background:#f7faf2;scroll-margin-top:15px}.knowledge-branch summary{cursor:pointer;padding:11px 10px;font-size:12px;font-weight:550;line-height:1.7;color:#47654f}.knowledge-branch summary::marker{color:#8ba181}.branch-coverage{display:block;font-weight:400;font-size:9px;color:#8b9582;margin:4px 0 0 17px}.branch-body{padding:0 10px 10px;min-width:0}.branch-body>p{font-size:11px;line-height:1.85;color:#6e816d;margin:5px 0 12px}.branch-body .knowledge-branch{border-width:0 0 0 2px;border-radius:0;background:transparent;border-color:#d6dfcc;margin:8px 0}.branch-body .knowledge-branch summary{padding:8px 8px}.branch-body .skill-card{padding:10px 8px;gap:8px;background:#fffef7}.branch-body .skill-card strong{font-size:11px;line-height:1.8}.branch-body .branch-gap{border-left:2px solid #c9b58a;padding-left:9px;color:#8a7a5c}.branch-gap small{display:block;color:#8f9787;margin-top:6px;font-size:9px}.branch-link,.branch-reference{display:block;font-size:10px;line-height:1.8;color:#65836a;text-align:left;padding:5px 0;overflow-wrap:anywhere}.branch-link:hover,.branch-reference:hover{text-decoration:underline}.branch-target{box-shadow:0 0 0 2px #b6cbaa}.legacy-record{border-top:1px solid #e1e6d8;padding-top:13px;margin:24px 0}.legacy-record summary{cursor:pointer;font-size:10px;line-height:1.8;color:#8a9580}.legacy-record p{font-size:10px;line-height:1.9;color:#8c9785}.legacy-record .legacy-note{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px;background:#f2f4ec;border-radius:5px}.scope-boundary{font-size:11px;line-height:1.85;margin:10px 0;color:#70836e}

.interview-author-details summary{cursor:pointer;font-size:12px;color:#426a50;padding:9px 0;line-height:1.7}.interview-author-details[open] summary{margin-bottom:8px}.interview-author-details summary:hover{color:#274f3c}.interview-author-details summary:focus-visible{outline:3px solid #559e87;outline-offset:3px}
.interview-filters.interview-platform-filters .interview-query{grid-column:1/-1}
.search-status{font-size:10px;color:#708571;padding:12px 14px;border-bottom:1px solid #e0e8d9;background:#f3f7ee}.search-more{display:block;width:100%;padding:14px;font-size:12px;color:#426e54;border-top:1px solid #d8e4d1;background:#edf4e7}.search-more:hover{background:#e4eede}
.reader-layout{display:flex;height:calc(100% - 62px);min-height:0;overflow:hidden}.reader-layout>.markdown-body{flex:1;min-width:0;height:100%;padding:28px 36px 80px}.reader-toc{flex:0 0 218px;overflow-y:auto;padding:16px 12px;border-right:1px solid #dde6d6;background:#f3f7ee}.reader-toc-title{font-size:12px;color:#526f53;margin:2px 5px 12px}.reader-toc button{display:block;width:100%;text-align:left;font-size:11px;line-height:1.8;padding:8px 9px;border-radius:6px;overflow-wrap:anywhere;color:#74846a}.reader-toc button:hover{background:#e5eeda;color:#426648}.reader-toc button[aria-current]{background:#e0ebd6;color:#365c3b;font-weight:600}.reader-toc .reader-toc-level-h3{padding-left:20px;font-size:10px}.reader-top-link{border-bottom:1px solid #dce5d4;margin-bottom:8px}.assessment-revision{font-size:11px;line-height:1.8;color:#867347;background:#f5efdf;padding:11px;border-radius:6px}.assessment-prerequisites{border-left:2px solid #c8d6bb;padding-left:12px;margin:15px 0 20px}
@media(max-width:700px){.reader-layout{flex-direction:column}.reader-layout>.markdown-body{height:auto;padding:24px 22px 65px}.reader-toc{flex:0 0 auto;max-height:28dvh;border-right:0;border-bottom:1px solid #dde6d6;padding:12px}.reader-toc button{min-height:38px}.reader-toolbar .quiet-button{padding:8px}.reader-toc-toggle{flex-shrink:0}}
