:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}button,input{font:inherit}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.portal{text-align:left;flex-direction:column;min-height:100svh;display:flex}.portal-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;align-items:center;gap:24px;height:60px;padding:0 32px;display:flex;position:sticky;top:0}.portal-brand{color:var(--text-h);letter-spacing:-.3px;flex-shrink:0;font-size:19px;font-weight:700;text-decoration:none}.portal-nav{flex-grow:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.portal-account{flex-shrink:0;align-items:center;gap:4px;display:flex}.portal-nav-link{color:var(--text);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:15px;text-decoration:none;display:block}.portal-nav-link:hover{background:var(--code-bg)}.portal-nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.portal-user{color:var(--text-h);white-space:nowrap;padding:0 8px;font-size:14px;font-weight:600}.portal-link-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:15px}.portal-link-btn:hover{background:var(--code-bg)}.portal-content{box-sizing:border-box;flex-grow:1;width:100%;max-width:960px;margin:0 auto;padding:32px 40px}@media (width<=768px){.portal-header{flex-wrap:wrap;gap:8px;height:auto;padding:12px 20px}.portal-nav{order:3;width:100%}.portal-account{margin-left:auto}.portal-content{padding:20px}}.ui-card{background:var(--bg);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;padding:20px}.service-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:24px;display:grid}.service-link{color:inherit;text-decoration:none}.service-card{box-sizing:border-box;height:100%;transition:border-color .15s}.service-link:hover .service-card{border-color:var(--accent-border)}.service-icon{margin-bottom:12px;font-size:28px;line-height:1}.service-name{color:var(--text-h);font-size:18px;font-weight:600}.service-tagline{color:var(--accent);margin-top:4px;font-size:14px}.service-desc{margin-top:10px;font-size:14px}.ui-progress-label{color:var(--text);justify-content:space-between;margin-bottom:6px;font-size:14px;display:flex}.ui-progress-track{background:var(--code-bg);border-radius:999px;height:8px;overflow:hidden}.ui-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.status-tz{opacity:.7;margin-top:6px;font-size:13px}.status-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:24px;display:grid}.status-label{color:var(--text);opacity:.7;font-size:13px}.status-value{font-variant-numeric:tabular-nums;margin-top:6px;font-size:28px;font-weight:700}.status-sub{color:var(--text);opacity:.6;margin-top:4px;font-size:12px}.status-section{margin-top:36px}.status-section-title{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;font-size:17px;display:flex}.status-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:400}.status-badge.running{color:#2ecc71;background:#2ecc7126}.status-badge.idle{background:var(--code-bg);color:var(--text);opacity:.7}.status-token{margin-top:16px}.status-token-head{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.status-token-bar{background:var(--code-bg);border-radius:999px;height:10px;overflow:hidden}.status-token-fill{background:var(--accent);height:100%;transition:width .3s}.status-token-fill.full{background:#e74c3c}.status-note{color:var(--text);opacity:.65;margin-top:8px;font-size:12px}.status-table-wrap{overflow-x:auto}.status-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:14px}.status-table th,.status-table td{border-bottom:1px solid var(--border);text-align:left;padding:9px 12px}.status-table th{color:var(--text);opacity:.7;font-size:12px;font-weight:500}.status-table td{font-variant-numeric:tabular-nums}.status-outcome.ok{color:#2ecc71}.status-outcome.quota{color:#e6a23c}.status-outcome.error{color:#e74c3c}.audit-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:24px;padding-bottom:16px;display:flex}.audit-nav-link{color:var(--text);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:14px;text-decoration:none}.audit-nav-link:hover{background:var(--code-bg)}.audit-nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.question-card{background:var(--bg);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;padding:24px}.question-text{margin-bottom:20px;font-size:18px}.question-multi-hint{border-left:3px solid var(--accent);background:var(--accent-bg);color:var(--text);border-radius:4px;margin-bottom:14px;padding:8px 12px;font-size:13px}.choice-check{margin-right:8px}.question-image-wrap{margin-bottom:20px}.question-image{border:1px solid var(--border);border-radius:8px;max-width:100%;display:block}.question-image-caption{color:var(--text);opacity:.7;margin-top:6px;font-size:12px}.question-choices{flex-direction:column;gap:10px;display:flex}.choice-btn{text-align:left;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;padding:12px 14px;font-size:15px}.choice-btn:hover:not(:disabled){border-color:var(--accent-border)}.choice-btn.selected{border-color:var(--accent);background:var(--accent-bg)}.choice-btn.correct{background:#2ecc711f;border-color:#2ecc71}.choice-btn.wrong{background:#e74c3c1f;border-color:#e74c3c}.choice-btn:disabled{cursor:default}.question-actions{text-align:center;margin-top:24px}.primary-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:15px}.primary-btn:disabled{opacity:.5;cursor:default}.secondary-btn{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:8px 20px;font-size:14px}.secondary-btn:hover{border-color:var(--accent-border);color:var(--text-h)}.question-explanation{background:var(--code-bg);border-left:4px solid var(--accent);border-radius:6px;margin-top:20px;padding:14px 16px;font-size:14px}.question-explanation p{color:var(--text);white-space:pre-line;margin-top:8px}.question-note{color:var(--text);opacity:.8;font-size:13px}.question-error{color:#e74c3c;text-align:center;margin-top:14px;font-size:14px}.exam-settings{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0;padding:14px 16px;display:flex}.exam-settings label{color:var(--text);align-items:center;gap:6px;font-size:14px;display:flex}.exam-settings select,.exam-settings input[type=number]{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:6px 8px;font-size:14px}.exam-settings input[type=number]{width:64px}.exam-settings .preset-btn{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}.exam-settings .apply-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 18px;font-size:14px}.mock-setup-form{align-items:center;gap:14px;margin-top:20px;display:flex}.mock-setup-form select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px 10px;font-size:14px}.mock-topbar{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:12px 0;display:flex;position:sticky;top:0}.mock-timer{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.mock-timer.low{color:#e74c3c}.mock-confirm-banner{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px 16px;font-size:14px;display:flex}.mock-confirm-actions{flex-shrink:0;gap:8px;display:flex}.mock-nav{border:1px solid var(--border);border-radius:10px;margin:16px 0;padding:12px 16px}.mock-nav-group{flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex}.mock-nav-label{width:96px;color:var(--text);opacity:.75;flex-shrink:0;font-size:13px}.mock-nav-grid{flex-wrap:wrap;gap:4px;display:flex}.mock-nav-btn{border:1px solid var(--border);background:var(--bg);width:26px;height:26px;color:var(--text);cursor:pointer;border-radius:5px;font-size:11px}.mock-nav-btn.answered{background:var(--accent-bg);border-color:var(--accent-border)}.mock-nav-btn.partial{border-style:dashed;border-color:var(--accent-border)}.mock-nav-btn.current{border-color:var(--accent);border-width:2px;font-weight:700}.mock-footer-nav{justify-content:space-between;margin-top:20px;display:flex}.mock-verdict{margin-top:12px;font-size:16px;font-weight:600}.mock-verdict.pass{color:#2ecc71}.mock-verdict.fail{color:#e74c3c}.mock-result-table{border-collapse:collapse;width:100%;margin-top:20px}.mock-result-table th,.mock-result-table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px;font-size:14px}.mock-result-table td.pass{color:#2ecc71}.mock-result-table td.fail{color:#e74c3c}.mock-wrong-item{border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:14px}.mock-wrong-item a{margin-left:8px}.study-section-title{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:8px;font-size:18px;display:flex}.study-section-count{color:var(--text);opacity:.6;font-size:13px;font-weight:400}.study-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.study-link{color:inherit;height:100%;text-decoration:none;display:block}.study-link:hover .card{border-color:var(--accent-border)}.study-card-meta{color:var(--text);opacity:.6;margin-top:12px;font-size:12px}.study-detail-subject{color:var(--accent);margin-top:18px;font-size:13px}.study-detail-section{margin-top:30px}.study-detail-title{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:17px}.study-points,.study-tips{margin:0;padding-left:20px}.study-points li,.study-tips li{margin-bottom:10px;font-size:15px;line-height:1.7}.study-tips li{color:var(--text)}.study-tips{background:var(--code-bg);border-left:4px solid var(--accent);border-radius:6px;padding:14px 16px 14px 36px}.study-related{flex-wrap:wrap;gap:8px;display:flex}.study-related-link{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px;text-decoration:none}.study-related-link:hover{border-color:var(--accent)}.study-nav{border-top:1px solid var(--border);justify-content:space-between;gap:16px;margin-top:40px;padding-top:16px;display:flex}.study-nav-link{max-width:45%;font-size:14px}.study-nav-next{text-align:right}.mes-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:24px;padding-bottom:16px;display:flex}.mes-nav-link{color:var(--text);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:14px;text-decoration:none}.mes-nav-link:hover{background:var(--code-bg)}.mes-nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.pyramid{flex-direction:column;gap:2px;display:flex}.pyramid-row{border:1px solid var(--border);background:var(--bg);align-items:flex-start;gap:14px;padding:12px 16px;display:flex}.pyramid-row:first-child{border-radius:10px 10px 0 0}.pyramid-row:last-child{border-radius:0 0 10px 10px}.pyramid-row+.pyramid-row{border-top:none}.pyramid-row.highlight{background:var(--accent-bg);border-color:var(--accent-border)}.pyramid-level{background:var(--code-bg);width:32px;height:32px;color:var(--text-h);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.pyramid-row.highlight .pyramid-level{background:var(--accent);color:#fff}.pyramid-body{flex-grow:1;min-width:0}.pyramid-name{color:var(--text-h);font-size:15px;font-weight:600}.pyramid-name-en{color:var(--text);margin-left:6px;font-size:12px;font-weight:400}.pyramid-desc{color:var(--text);margin-top:4px;font-size:13px}.pyramid-examples{color:var(--accent);margin-top:6px;font-size:12px}@media (width<=600px){.pyramid-row{flex-direction:column;align-items:flex-start;gap:6px}}.mes-stage-order{color:var(--accent);margin:16px 0 4px;font-size:13px;font-weight:600}.mes-flow-row{align-items:stretch;gap:12px;margin-top:24px;display:flex}.mes-flow-card{flex:1}.mes-flow-label{color:var(--accent);margin-bottom:8px;font-size:12px;font-weight:700}.mes-flow-card ul{color:var(--text);margin:0;padding-left:18px;font-size:14px}.mes-flow-card li+li{margin-top:4px}.mes-flow-arrow{color:var(--text);flex-shrink:0;align-items:center;font-size:20px;display:flex}.mes-section{margin-top:28px}.mes-section-title{margin-bottom:10px;font-size:16px}.mes-tech-tags{flex-wrap:wrap;gap:8px;display:flex}.mes-tech-tag{background:var(--code-bg);color:var(--text-h);border-radius:999px;padding:6px 12px;font-size:13px}.mes-req-list{color:var(--text);margin:0;padding-left:20px;font-size:14px}.mes-req-list li+li{margin-top:8px}.mes-stage-nav{border-top:1px solid var(--border);justify-content:space-between;margin-top:36px;padding-top:16px;font-size:14px;display:flex}.mes-stage-nav-link{color:var(--accent);text-decoration:none}.mes-stage-nav-next{margin-left:auto}@media (width<=600px){.mes-flow-row{flex-direction:column}.mes-flow-arrow{justify-content:center;transform:rotate(90deg)}}.mes-glossary-list{flex-direction:column;gap:12px;margin-top:20px;display:flex}.mes-glossary-term{color:var(--text-h);margin-bottom:6px;font-size:15px;font-weight:600}.rag-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:24px;padding-bottom:16px;display:flex}.rag-nav-link{color:var(--text);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:14px;text-decoration:none}.rag-nav-link:hover{background:var(--code-bg)}.rag-nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.rag-callout{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:10px;margin-top:20px;padding:14px 16px;font-size:14px;line-height:1.6}.rag-callout a{color:var(--accent);font-weight:600}.rag-card-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.rag-complexity{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.rag-complexity-low{background:var(--code-bg);color:var(--text)}.rag-complexity-medium{background:var(--accent-bg);color:var(--accent)}.rag-complexity-high{background:var(--accent);color:#fff}.rag-type-order{color:var(--accent);margin:16px 0 4px;font-size:13px;font-weight:600}.rag-type-badges{gap:8px;margin-top:10px;display:flex}.rag-cyclic-badge{background:var(--code-bg);color:var(--text-h);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.rag-section{margin-top:28px}.rag-section-title{margin-bottom:10px;font-size:16px}.rag-pipeline{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.rag-pipeline-item{align-items:center;gap:12px;display:flex}.rag-pipeline-card{width:220px}.rag-pipeline-step-label{color:var(--accent);font-size:11px;font-weight:700}.rag-pipeline-step-name{color:var(--text-h);margin-top:2px;font-size:15px;font-weight:600}.rag-pipeline-arrow{color:var(--text);flex-shrink:0;font-size:18px}.rag-pipeline-loop{width:100%;color:var(--accent);margin-top:4px;font-size:13px}.rag-tech-tags{flex-wrap:wrap;gap:8px;display:flex}.rag-tech-tag{background:var(--code-bg);color:var(--text-h);border-radius:999px;padding:6px 12px;font-size:13px}.rag-pros-cons{grid-template-columns:1fr 1fr;gap:24px;display:grid}.rag-list{color:var(--text);margin:0;padding-left:20px;font-size:14px}.rag-list li+li{margin-top:8px}.rag-list-plus li::marker{color:var(--accent)}.rag-type-nav{border-top:1px solid var(--border);justify-content:space-between;margin-top:36px;padding-top:16px;font-size:14px;display:flex}.rag-type-nav-link{color:var(--accent);text-decoration:none}.rag-type-nav-next{margin-left:auto}@media (width<=600px){.rag-pipeline,.rag-pipeline-item{flex-direction:column;align-items:stretch}.rag-pipeline-card{width:auto}.rag-pipeline-arrow{align-self:center;transform:rotate(90deg)}.rag-pros-cons{grid-template-columns:1fr;gap:20px}}.rag-compare-wrap{border:1px solid var(--border);border-radius:10px;margin-top:16px;overflow-x:auto}.rag-compare-table{border-collapse:collapse;width:100%;font-size:13px}.rag-compare-table th,.rag-compare-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:12px 14px}.rag-compare-table th{background:var(--code-bg);color:var(--text-h);white-space:nowrap;font-weight:600}.rag-compare-table tr:last-child td{border-bottom:none}.rag-compare-name{color:var(--text-h);white-space:nowrap;font-weight:600}.rag-compare-cell-list{color:var(--text);margin:0;padding-left:16px}.rag-compare-cell-list li+li{margin-top:4px}.rag-cat-badge{white-space:nowrap;border-radius:999px;margin-top:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.rag-cat-managed{background:var(--accent-bg);color:var(--accent)}.rag-cat-opensource{background:var(--code-bg);color:var(--text)}.rag-cat-hybrid{border:1px solid var(--accent-border);color:var(--accent);background:0 0}.rag-cat-manual{border:1px solid var(--border);color:var(--text);background:0 0}.rag-cat-basic{background:var(--code-bg);color:var(--text)}.rag-cat-advanced,.rag-cat-framework{background:var(--accent-bg);color:var(--accent)}.rag-cat-custom{border:1px solid var(--border);color:var(--text);background:0 0}.lab-controls{margin-top:20px}.lab-field{flex-direction:column;gap:8px;display:flex}.lab-field-label{color:var(--text);font-size:13px}.lab-field-label strong{color:var(--accent);font-variant-numeric:tabular-nums}.lab-textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font:14px/1.6 var(--mono);resize:vertical;border-radius:10px;padding:12px 14px}.lab-textarea:focus{border-color:var(--accent-border);outline:none}.lab-knobs{flex-wrap:wrap;align-items:flex-end;gap:24px;margin-top:18px;display:flex}.lab-knob{flex-direction:column;flex:200px;gap:6px;min-width:200px;display:flex}.lab-knob input[type=range]{width:100%;accent-color:var(--accent)}.lab-knob-actions{gap:8px;display:flex}.lab-button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px}.lab-button:hover{background:var(--code-bg);border-color:var(--accent-border)}.lab-meta{color:var(--text);font-variant-numeric:tabular-nums;margin:14px 0 0;font-size:13px}.lab-section-title{margin:32px 0 6px;font-size:18px}.lab-section-desc{color:var(--text);margin:0 0 14px;font-size:14px}.lab-table-wrap{overflow-x:auto}.lab-table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}.lab-table th{text-align:left;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600}.lab-table td{border-bottom:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;padding:12px}.lab-row{cursor:pointer}.lab-row:hover td{background:var(--code-bg)}.lab-row.selected td{background:var(--accent-bg)}.lab-row-name{color:var(--text-h);font-size:15px;font-weight:600}.lab-tag{background:var(--code-bg);color:var(--text);border-radius:999px;margin-top:4px;padding:2px 8px;font-size:11px;display:inline-block}.lab-warn{color:#d9534f;font-weight:600}.lab-ok{color:var(--accent);font-weight:600}.lab-legend{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;margin-top:16px;padding:14px 16px;font-size:13px;line-height:1.6}.lab-legend p{margin:0}.lab-legend p+p{margin-top:10px}.lab-band{border:1px solid var(--border);border-radius:6px;width:100%;height:26px;margin-bottom:16px;display:flex;overflow:hidden}.lab-band-seg{flex-basis:0;min-width:2px;position:relative}.lab-band-seg.even{background:var(--accent-bg)}.lab-band-seg.odd{background:var(--code-bg)}.lab-band-overlap{background:repeating-linear-gradient(45deg, var(--accent-border) 0 4px, transparent 4px 8px);position:absolute;inset:0 auto 0 0}.lab-chunks{flex-direction:column;gap:12px;display:flex}.lab-chunk{padding:14px 16px}.lab-chunk-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.lab-chunk-index{color:var(--accent);font-size:13px;font-weight:700}.lab-chunk-len{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.lab-chunk-badge{border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.lab-chunk-badge.overlap{background:var(--accent-bg);color:var(--accent)}.lab-chunk-badge.broken{color:#d9534f;background:#d9534f24}.lab-chunk-text{font:13px/1.7 var(--mono);color:var(--text-h);white-space:pre-wrap;word-break:break-word;margin:0}.lab-chunk-dup{background:var(--accent-bg);border-bottom:1px dashed var(--accent-border)}.lab-empty{color:var(--text);margin:0;font-size:14px}.lab-footnote{border-top:1px solid var(--border);color:var(--text);margin-top:28px;padding-top:16px;font-size:13px;line-height:1.6}.lab-link{color:var(--accent)}@media (width<=600px){.lab-knobs{flex-direction:column;align-items:stretch;gap:16px}}.rag-glossary-list{flex-direction:column;gap:12px;margin-top:20px;display:flex}.rag-glossary-term{color:var(--text-h);margin-bottom:6px;font-size:15px;font-weight:600}.timeline-section{margin-top:28px}.timeline-section-title{margin-bottom:12px;font-size:18px}.tech-groups{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.tech-group-name{color:var(--text-h);margin-bottom:10px;font-size:15px;font-weight:600}.tech-item-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tech-item-name{color:var(--text-h);font-size:14px;display:block}.tech-item-desc{color:var(--text);font-size:12px;display:block}.timeline-list{border-left:2px solid var(--border);flex-direction:column;gap:22px;margin:16px 0 0;padding:0 0 0 16px;list-style:none;display:flex}.timeline-item{padding-left:16px;position:relative}.timeline-item:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:-23px}.timeline-item-meta{align-items:center;gap:10px;margin-bottom:4px;display:flex}.timeline-date{color:var(--text);font-size:13px}.timeline-tag{background:var(--code-bg);color:var(--text);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.timeline-tag-security{background:var(--accent-bg);color:var(--accent)}.timeline-tag-quality{color:#27ae60;background:#2ecc7124}.timeline-item-title{color:var(--text-h);font-size:15px;font-weight:600}.timeline-item-desc{color:var(--text);margin-top:4px;font-size:13px}.hada-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:24px;padding-bottom:16px;display:flex}.hada-nav-link{color:var(--text);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:14px;text-decoration:none}.hada-nav-link:hover{background:var(--code-bg)}.hada-nav-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.page-title{margin:0 0 8px;font-size:26px}.page-desc{color:var(--text);font-size:15px}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px;display:grid}.subject-link{color:inherit;text-decoration:none}.subject-session{color:var(--accent);margin-bottom:6px;font-size:12px;font-weight:600}.subject-name{color:var(--text-h);font-size:16px;font-weight:600}.subject-count{color:var(--text);margin-top:8px;font-size:13px}.note-list{flex-direction:column;gap:14px;margin-top:16px;display:flex}.note-meta{color:var(--text);flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.note-question{color:var(--text-h);font-size:15px;font-weight:500}.note-answer{color:var(--accent);margin-top:8px;font-size:14px}.note-filter{cursor:pointer;align-items:center;gap:8px;margin:8px 0 4px;font-size:14px;display:inline-flex}.note-link{margin-top:12px;text-decoration:none;display:inline-block}.study-section{margin-top:28px}.study-section-title{margin-bottom:12px;font-size:18px}.auth-page{max-width:360px;margin:0 auto}.auth-card{margin-top:16px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--text);text-align:left;flex-direction:column;gap:6px;font-size:14px;display:flex}.auth-form input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px}.form-error{color:#c0392b;background:#e74c3c1f;border:1px solid #e74c3c66;border-radius:8px;margin:0;padding:10px 12px;font-size:14px}.login-notice{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;margin-top:20px;padding:14px 16px;font-size:14px}.copyright-notice{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text);border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.5}
