:root { --ink:#17211f; --muted:#65726d; --paper:#f5f7f3; --panel:#ffffff; --line:#dce3dd; --pine:#0e6b57; --pine-deep:#084b3f; --mint:#d8f2e6; --amber:#d78b36; --radius:16px; font-family:Arial, Helvetica, sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:linear-gradient(120deg,#f7f8f5 0%,#eef3ee 50%,#f8faf8 100%); }
button,input { font:inherit; }
button { cursor:pointer; }
.shell { max-width:1440px; min-height:100dvh; margin:auto; padding:0 34px; }
.topbar { height:86px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; display:flex; gap:10px; align-items:center; font-size:18px; font-weight:700; letter-spacing:-.04em; }
.brand-mark { width:29px; height:29px; border-radius:9px; display:block; flex:none; object-fit:contain; }
.brand-lockup { width:190px; height:42px; display:block; object-fit:contain; object-position:left center; }
.muted,.topbar-note { color:var(--muted); font-weight:500; }
.topbar-note { font-size:13px; }
.welcome { padding:86px 0 36px; display:grid; grid-template-columns:1.04fr .96fr; gap:64px 92px; align-items:center; }
.eyebrow { color:var(--pine); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; margin:0 0 18px; }
h1 { font-size:clamp(43px,5.1vw,77px); line-height:.98; letter-spacing:-.071em; margin:0; max-width:780px; font-weight:650; }
h1 em { color:var(--pine); font-family:Georgia,serif; font-weight:500; letter-spacing:-.06em; }
.hero-description { color:var(--muted); font-size:17px; line-height:1.65; max-width:585px; margin:27px 0 0; }
.analyze-panel { background:var(--panel); border:1px solid var(--line); padding:28px; border-radius:var(--radius); box-shadow:0 18px 60px rgba(21,43,34,.08); }
.analyze-panel label { display:block; font-weight:700; font-size:14px; margin-bottom:11px; }
.input-row { display:flex; gap:10px; }
input { min-width:0; flex:1; height:52px; border:1px solid #cbd6ce; border-radius:11px; padding:0 15px; background:#fbfcfb; outline:none; color:var(--ink); }
input:focus { border-color:var(--pine); box-shadow:0 0 0 3px rgba(14,107,87,.14); }
button[type="submit"] { background:var(--pine); color:white; border:0; border-radius:11px; padding:0 17px; font-weight:700; display:flex; align-items:center; gap:9px; transition:transform .16s,background .16s; }
button[type="submit"]:hover { background:var(--pine-deep); } button[type="submit"]:active { transform:translateY(1px); }
.safe-note { display:flex; gap:8px; align-items:center; margin-top:16px; color:var(--muted); font-size:12px; }.safe-dot { width:8px; height:8px; border-radius:50%; background:#3aaf70; display:inline-block; flex:0 0 auto; }.form-error { color:#b7442e; min-height:18px; margin:12px 0 0; font-size:13px; }
.feature-rail { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); padding-top:25px; gap:30px; }.feature-rail > div { padding-right:28px; }.rail-number { color:var(--amber); font-family:monospace; font-size:12px; }.feature-rail strong { display:block; margin-top:9px; letter-spacing:-.02em; }.feature-rail p { color:var(--muted); font-size:14px; line-height:1.5; margin:6px 0; max-width:270px; }
.local-project-guide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:36px;margin-top:4px;padding:29px 0 0;border-top:1px solid var(--line)}.local-project-heading .eyebrow{margin-bottom:11px}.local-project-heading h2{margin:0;font-size:clamp(27px,3vw,40px);line-height:1.03;letter-spacing:-.055em}.local-project-heading>p:last-child{max-width:500px;margin:15px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.local-project-options{display:grid;gap:12px;margin:0;padding:0;list-style:none}.local-project-options>li{display:grid;grid-template-columns:33px 1fr;gap:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.78);padding:17px}.guide-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pine);color:#fff;font:700 12px ui-monospace,monospace}.local-project-options h3{margin:1px 0 7px;font-size:16px;letter-spacing:-.025em}.local-project-options p{margin:0;color:#526159;font-size:13px;line-height:1.52}.local-project-options a{color:var(--pine-deep);font-weight:700;overflow-wrap:anywhere}.local-project-options ol{display:grid;gap:5px;margin:11px 0 0;padding-left:18px;color:#526159;font-size:12px;line-height:1.48}.local-project-options code{border-radius:5px;background:#e8f2eb;color:#285440;padding:2px 4px;font:11px ui-monospace,monospace}.guide-note{margin-top:11px!important;padding:9px 10px;border-left:3px solid #82ba97;background:#f0f8f3;color:#3d5c4d!important;font-size:12px!important}
.hidden { display:none !important; }.workspace { min-height:100dvh; display:grid; grid-template-columns:254px 1fr; background:#f9fbf8; border-left:1px solid var(--line); border-right:1px solid var(--line); }.sidebar { border-right:1px solid var(--line); padding:28px 16px; min-height:100dvh; display:flex; flex-direction:column; }.sidebar-brand { padding:0 8px 30px; }.repo-identity { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 8px; display:flex; gap:10px; align-items:center; }.repo-initial { width:30px;height:30px;border-radius:8px;background:var(--mint);color:var(--pine-deep);display:grid;place-items:center;font-weight:700; }.repo-identity strong,.repo-identity small { display:block; }.repo-identity strong { font-size:13px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px; }.repo-identity small { margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px; }.nav { display:grid; gap:3px; padding:18px 0; }.nav-item { text-align:left; border:0; background:transparent; color:#53615a; padding:10px 12px; border-radius:9px; font-size:14px; }.nav-item:hover { background:#edf2ee; }.nav-item.active { background:#e3f1e9; color:var(--pine-deep); font-weight:700; }.sidebar-footer { margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0;display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px; }.content { min-width:0; padding:52px clamp(24px,5vw,84px); }.loading-view { display:grid; place-items:center; min-height:70vh; align-content:center; text-align:center; }.loading-view p { margin:22px 0 5px; font-size:20px; font-weight:700;letter-spacing:-.02em; }.loading-view small { color:var(--muted); }.scan-lines { width:260px; display:grid;gap:8px; }.scan-lines span { display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,#dce8df,#edf4ef,#dce8df);background-size:200% 100%;animation:scan 1.25s infinite; }.scan-lines span:nth-child(2){width:78%;animation-delay:.15s}.scan-lines span:nth-child(3){width:54%;animation-delay:.3s}@keyframes scan {to{background-position:-200% 0}} .view { display:none;max-width:1020px; }.view.active{display:block}.page-kicker { color:var(--pine);text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:700;margin:0 0 14px; }.view h2 { font-size:clamp(31px,4vw,52px);letter-spacing:-.06em;line-height:1;margin:0 0 16px; }.lead { font-size:17px;line-height:1.65;color:var(--muted);max-width:760px;margin:0; }.evidence { display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 33px; }.evidence span { background:#e7efea;color:#466154;padding:5px 9px;border-radius:7px;font:11px ui-monospace,monospace; }.story-card { background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px; }.story-card h3 { letter-spacing:-.03em;font-size:21px;margin:0 0 9px; }.story-card p { color:var(--muted);line-height:1.6;margin:0 0 23px; }.learning-list { margin-top:25px;display:grid;gap:0; }.learning-step { display:grid;grid-template-columns:36px 1fr;gap:13px;padding:15px 0;border-top:1px solid var(--line); }.learning-step span { color:var(--amber);font:12px ui-monospace,monospace;padding-top:3px; }.learning-step strong { display:block;font-size:14px; }.learning-step p { font:12px ui-monospace,monospace;color:var(--pine);margin:5px 0 0; }.architecture-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:29px; }.architecture-card { background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px; }.architecture-card.full { grid-column:1/-1; }.architecture-card h3 { margin:0 0 15px;font-size:15px; }.directory-list,.hub-list { margin:0;padding:0;list-style:none;display:grid;gap:9px; }.directory-list li,.hub-list li { display:flex;justify-content:space-between;gap:15px;padding-bottom:9px;border-bottom:1px solid #edf0ed;font:12px ui-monospace,monospace;color:#40534a; }.directory-list li:last-child,.hub-list li:last-child { border-bottom:0;padding-bottom:0; }.hub-list b { color:var(--pine);font-weight:600; }.file-list { display:grid;gap:1px;margin-top:28px; }.file-row { display:grid;grid-template-columns:minmax(170px,1fr) 96px 90px;gap:15px;background:#fff;border-bottom:1px solid var(--line);padding:15px 17px;align-items:center; }.file-row:first-child { border-top:1px solid var(--line);border-radius:12px 12px 0 0; }.file-row:last-child{border-radius:0 0 12px 12px}.file-row code,.function-name { font:12px ui-monospace,monospace;color:#29483d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.file-row span { color:var(--muted);font-size:12px;text-align:right; }.function-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:27px; }.function-card { background:white;border:1px solid var(--line);border-radius:12px;padding:17px; }.function-card p { margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.5; }.function-card small { color:var(--pine);font:11px ui-monospace,monospace;display:block;margin-top:10px; }.chat-shell { margin-top:28px;border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden; }.chat-log { min-height:300px;padding:25px;display:grid;align-content:start;gap:17px; }.message { max-width:88%;padding:14px 16px;border-radius:13px;font-size:14px;line-height:1.6; }.message.assistant { background:#edf5ef;color:#274035;border-top-left-radius:3px; }.message.user { background:var(--pine);color:white;margin-left:auto;border-top-right-radius:3px; }.message .chat-evidence { display:block;margin-top:10px;color:#477660;font:11px ui-monospace,monospace; }.chat-form { display:flex;gap:10px;border-top:1px solid var(--line);padding:14px; }.chat-form input { height:46px; }.chat-form button { border:0;background:var(--pine);color:#fff;border-radius:10px;padding:0 16px;font-weight:700; }.quick-prompts { display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0; }.quick-prompts button { background:transparent;border:1px solid #cbd9cf;border-radius:999px;padding:8px 11px;color:#466154;font-size:12px; }.quick-prompts button:hover { border-color:var(--pine);color:var(--pine); }
@media (max-width:760px){ .shell{padding:0 18px}.topbar-note{display:none}.welcome{padding:55px 0 30px;grid-template-columns:1fr;gap:39px}.feature-rail{grid-template-columns:1fr;gap:10px}.feature-rail > div{padding:0}.local-project-guide{grid-template-columns:1fr;gap:21px;padding-top:25px}.local-project-options>li{padding:15px}.input-row{flex-direction:column}.input-row button{height:50px;justify-content:center}.workspace{margin:0 -18px;grid-template-columns:1fr}.sidebar{min-height:auto;padding:16px;border-bottom:1px solid var(--line)}.sidebar-brand,.sidebar-footer{display:none}.repo-identity{border-top:0;padding:0 0 14px}.nav{display:flex;overflow:auto;padding:13px 0 0}.nav-item{white-space:nowrap}.content{padding:34px 19px}.architecture-grid,.function-grid{grid-template-columns:1fr}.architecture-card.full{grid-column:auto}.file-row{grid-template-columns:minmax(0,1fr) 70px}.file-row span:last-child{display:none} }
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.model-choice{margin:17px 0 0;padding:14px 0 0;border:0;border-top:1px solid #e4ebe5}.model-choice legend{font-size:12px;color:var(--muted);padding:0}.provider-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.provider-tabs label{margin:0;cursor:pointer}.provider-tabs input{position:absolute;opacity:0;pointer-events:none}.provider-tabs span{display:block;border:1px solid #cbd9cf;border-radius:999px;padding:7px 10px;color:#456154;font-size:12px;font-weight:600}.provider-tabs input:checked+span{background:#e2f0e8;border-color:var(--pine);color:var(--pine-deep)}.provider-fields{margin-top:10px;display:grid;gap:7px}.provider-fields input{height:43px;font-size:13px}.provider-fields a{color:var(--pine);font-size:12px;text-decoration:none}.provider-fields a:hover{text-decoration:underline}.mode-badge{display:inline-flex;align-items:center;gap:7px;color:var(--pine);background:#e5f3eb;border-radius:999px;font-size:12px;font-weight:700;padding:7px 10px;margin:0 0 18px}.ai-note{margin:19px 0 0;padding:12px 14px;border-left:3px solid var(--pine);background:#edf5ef;color:#385c4c;font-size:13px;line-height:1.5}.story-chapters{display:grid;gap:14px;margin-top:29px}.chapter{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px}.chapter h3{margin:0 0 8px;font-size:20px;letter-spacing:-.03em}.chapter p{margin:0;color:var(--muted);line-height:1.6}.chapter-files{margin-top:14px;display:flex;flex-wrap:wrap;gap:7px}.chapter-files code{font:11px ui-monospace,monospace;color:var(--pine)}.concept-link{appearance:none;background:#dff1e8;border:0;border-bottom:1px solid var(--pine);color:var(--pine-deep);font:inherit;padding:0 3px;cursor:pointer;border-radius:3px}.concept-link:hover{background:#bfe6d2}.layer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:28px}.layer-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:21px}.layer-card h3{margin:0 0 8px;font-size:18px;letter-spacing:-.03em}.layer-card p{color:var(--muted);font-size:13px;line-height:1.55;min-height:58px}.layer-card ul{margin:15px 0 0;padding:0;list-style:none;display:grid;gap:6px}.layer-card li{font:11px ui-monospace,monospace;color:var(--pine);cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail-section{margin-top:30px}.detail-section h3{font-size:20px;letter-spacing:-.03em}.accordion{border-top:1px solid var(--line)}.accordion details{background:#fff;border-bottom:1px solid var(--line);padding:15px 16px}.accordion summary{cursor:pointer;font-weight:700}.accordion p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.detail-meta{color:var(--pine);font:11px ui-monospace,monospace;margin-top:10px}.concept-modal{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px}.concept-backdrop{position:absolute;inset:0;background:rgba(12,27,21,.42);backdrop-filter:blur(3px)}.concept-panel{position:relative;width:min(620px,100%);max-height:min(760px,90vh);overflow:auto;background:#f9fbf8;border:1px solid #c9d8ce;border-radius:18px;padding:32px;box-shadow:0 30px 90px rgba(8,45,32,.26)}.close-concept{position:absolute;top:14px;right:16px;border:0;background:#e6ece7;width:31px;height:31px;border-radius:8px;font-size:21px;color:#476158}.concept-panel h2{font-size:34px;margin-bottom:16px}.concept-answer{color:#40534a;line-height:1.7;font-size:15px;min-height:95px}.concept-evidence{margin:16px 0 0;color:var(--pine);font:11px ui-monospace,monospace;line-height:1.5}.lens-switch{display:flex;gap:8px;margin-top:26px;border-top:1px solid var(--line);padding-top:18px}.lens-switch button{border:1px solid #c9d8ce;background:white;color:#466154;border-radius:9px;padding:9px 12px;font-weight:700}.lens-switch button.active,.lens-switch button:hover{background:#e1f0e8;color:var(--pine-deep);border-color:var(--pine)}
@media (max-width:760px){.layer-grid{grid-template-columns:1fr}.concept-panel{padding:25px 20px}.provider-tabs{gap:5px}}
.provider-fields select{min-width:0;height:43px;border:1px solid #cbd6ce;border-radius:10px;padding:0 11px;background:#fbfcfb;color:var(--ink)}.local-ai-card{padding:14px;border:1px solid #c9ddd0;border-radius:11px;background:#f1f8f3}.local-ai-card strong{font-size:13px}.local-ai-card p,.local-ai-card li{font-size:12px;line-height:1.5;color:#486157}.local-ai-card p{margin:7px 0}.local-ai-card ol{margin:8px 0 0;padding-left:19px}.ollama-status{margin-top:10px;font-size:12px;font-weight:700;color:var(--pine-deep)}.setup-actions{display:flex;gap:8px;flex-wrap:wrap}.setup-actions a,.setup-actions button{border:1px solid #c8d9ce;border-radius:8px;background:#fff;color:var(--pine-deep);padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none}.setup-actions button:hover,.setup-actions a:hover{border-color:var(--pine);background:#e1f0e8}.model-warning{font-size:11px!important;color:var(--muted)!important;margin:3px 0 0!important}.architecture-flow{display:flex;align-items:stretch;gap:8px;margin:27px 0 0;overflow:auto;padding-bottom:5px}.flow-node{flex:1 0 166px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.flow-node strong{display:block;font-size:14px}.flow-node span{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:7px}.flow-arrow{align-self:center;color:var(--pine);font-size:20px}.flow-node em{display:block;margin-top:13px;color:var(--pine);font:11px ui-monospace,monospace;font-style:normal}.architecture-caption{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.55}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0}.metric-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px}.metric-card strong{display:block;color:var(--pine-deep);font-size:30px;letter-spacing:-.06em}.metric-card span{display:block;font-weight:700;font-size:13px;margin-top:5px}.metric-card small{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:8px}.source-link,.snippet-link{border:0;background:#edf5ef;color:var(--pine-deep);font:11px ui-monospace,monospace;padding:4px 6px;border-radius:5px;text-align:left}.source-link:hover,.snippet-link:hover{background:#ccebd9;text-decoration:underline}.connection-list{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.connection-list>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,1fr) minmax(160px,1fr);gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:11px 14px;font-size:11px}.connection-list>div:last-child{border-bottom:0}.connection-list code{color:#65726d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inspect-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}.inspect-card strong{font:13px ui-monospace,monospace;color:var(--pine-deep)}.inspect-card p{font-size:12px;line-height:1.5;color:var(--muted)}.inspect-card code{color:var(--pine);font-size:11px}.inline-snippet{white-space:pre-wrap;overflow:auto;background:#f1f5f1;border-radius:8px;padding:12px;color:#284237;font:11px/1.5 ui-monospace,monospace}.source-panel{width:min(900px,100%)}.source-code{margin:0;white-space:pre;overflow:auto;max-height:55vh;background:#14231d;color:#dce9e0;border-radius:10px;padding:12px;font:12px/1.55 ui-monospace,monospace}.source-code span{display:block;padding:0 7px}.source-code b{display:inline-block;width:42px;color:#86aa96;font-weight:400;user-select:none}.source-code .source-highlight{background:#1f5c49;color:#fff}.ownership-score{margin:26px 0 20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.ownership-score strong{font-size:48px;color:var(--pine-deep);letter-spacing:-.08em}.ownership-score span{color:var(--muted);font-size:17px;margin-left:5px}.ownership-score>div{height:8px;background:#e6eee8;border-radius:99px;margin-top:14px;overflow:hidden}.ownership-score i{display:block;height:100%;background:var(--pine);border-radius:inherit}.path-list{display:grid;gap:10px}.path-step{display:grid;grid-template-columns:84px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px}.path-step.done{border-color:#9ed7b9;background:#f3faf5}.path-step label{display:grid;align-content:start;gap:7px;color:var(--pine);font:11px ui-monospace,monospace}.path-step input{height:auto;min-width:auto;accent-color:var(--pine)}.path-step h3{margin:0;font-size:17px;letter-spacing:-.03em}.path-step p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
@media (max-width:760px){.metric-grid,.inspector-grid{grid-template-columns:1fr 1fr}.connection-list>div{grid-template-columns:1fr;gap:6px}.path-step{grid-template-columns:1fr}.source-code{font-size:10px}.metric-card strong{font-size:26px}}
.primary-inline{border:1px solid var(--pine);border-radius:9px;background:var(--pine);color:#fff;padding:10px 13px;font-weight:700}.primary-inline:active,.mission-options button:active,.alt-pill:active{transform:translateY(1px)}.proof-summary{display:flex;align-items:baseline;gap:9px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin:26px 0 17px}.proof-summary strong{font-size:43px;letter-spacing:-.07em;color:var(--pine-deep)}.proof-summary span{font-weight:700;color:var(--pine-deep)}.proof-summary p{margin:0 0 0 auto;color:var(--muted);font-size:12px;line-height:1.45;max-width:380px}.mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.mission{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.mission.passed{border-color:#89c7a7;background:#f3faf5}.mission-top{display:flex;justify-content:space-between;align-items:center;color:var(--pine);font:11px ui-monospace,monospace}.mission h3{margin:13px 0;font-size:17px;line-height:1.32;letter-spacing:-.025em}.mission-options{display:grid;gap:7px}.mission-options button{border:1px solid #c9d9cf;border-radius:8px;background:#fff;color:#254638;text-align:left;padding:9px 10px;font-size:12px}.mission-options button:hover:not(:disabled){border-color:var(--pine);background:#e7f3eb}.mission-options button:disabled{opacity:.7;cursor:default}.mission-feedback{margin-top:12px;color:#4b6458;font-size:12px;line-height:1.5;min-height:37px}.build-steps{display:grid;gap:11px;margin-top:27px}.build-step{display:grid;grid-template-columns:46px 1fr;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.build-step>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--pine);color:#fff;font-weight:700}.build-step h3{margin:0;font-size:19px;letter-spacing:-.03em}.build-step p{color:var(--muted);line-height:1.55;font-size:13px;margin:8px 0}.build-step .build-action{color:#264d3e;font-weight:600}.alternative-grid,.materials-grid,.evidence-policy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:17px}.alternative-grid article,.material-card,.evidence-policy article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}.alternative-grid strong,.evidence-policy strong{font-size:15px}.alternative-grid p,.material-card p,.evidence-policy p{font-size:12px;color:var(--muted);line-height:1.55}.alt-pill{border:1px solid #c4d8ca;border-radius:999px;background:#eef6f1;color:var(--pine-deep);padding:6px 8px;margin:3px;font-size:11px}.material-card>div{display:flex;justify-content:space-between;gap:8px;color:var(--pine);font:10px ui-monospace,monospace}.material-card h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.material-card b{color:#62736b;font-weight:600}.material-disabled{display:inline-block;color:#7b6254;background:#f4ece7;border-radius:6px;padding:5px 7px;font-size:11px}@media (max-width:760px){.proof-summary{display:block}.proof-summary p{margin:9px 0 0}.mission-grid,.alternative-grid,.materials-grid,.evidence-policy{grid-template-columns:1fr}.build-step{grid-template-columns:38px 1fr}}
.learn-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:24px 0 8px}.learn-controls label,.deep-label{display:grid;gap:6px;color:#40554b;font-size:12px;font-weight:700}.learn-controls select,.deep-label select{height:40px;min-width:180px;border:1px solid #cbd6ce;border-radius:8px;background:#fbfcfb;padding:0 9px;color:var(--ink)}.secondary-inline{border:1px solid #b8d4c2;border-radius:9px;background:#fff;color:var(--pine-deep);padding:10px 13px;font-weight:700}.recommendation{font-size:12px;color:var(--pine-deep);margin:0 0 15px}.route-loading{opacity:.62;pointer-events:none}.deep-label{margin:13px 0}.deep-label textarea{min-height:100px;resize:vertical;border:1px solid #cbd6ce;border-radius:9px;background:#fbfcfb;padding:10px;color:var(--ink);font:inherit}.deep-answer{margin-top:15px;white-space:pre-wrap;color:#365044;font-size:13px;line-height:1.6}.deep-answer span{display:block;margin-top:10px;color:var(--pine);font:11px ui-monospace,monospace}.role-cluster{gap:12px}.role-cluster .flow-node{flex-basis:175px}@media (max-width:760px){.learn-controls{display:grid}.learn-controls label,.learn-controls select{width:100%}.learn-controls button{width:100%}}
.build-mode-switch{display:flex;gap:7px;margin:23px 0}.build-mode-switch button{border:1px solid #b8d4c2;border-radius:9px;background:#fff;color:#466154;padding:10px 13px;font-weight:700}.build-mode-switch button.active{border-color:var(--pine);background:var(--pine);color:#fff}.codelab-safety{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:22px 0;padding:13px 15px;border-left:3px solid var(--pine);background:#eef7f1;color:#355648;font-size:13px;line-height:1.5}.codelab-safety strong{color:var(--pine-deep)}.codelab-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.codelab-chapters{position:sticky;top:20px;display:grid;gap:6px}.codelab-chapters button{display:grid;grid-template-columns:26px 1fr;column-gap:9px;text-align:left;border:1px solid transparent;border-radius:11px;background:transparent;padding:10px;color:#506057}.codelab-chapters button:hover{background:#edf4ef}.codelab-chapters button.active{background:#fff;border-color:#bdd5c5;color:var(--pine-deep);box-shadow:0 6px 18px rgba(19,65,43,.06)}.codelab-chapters button span{grid-row:1/3;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#dff0e7;color:var(--pine-deep);font:11px ui-monospace,monospace;font-weight:700}.codelab-chapters button strong{font-size:13px;line-height:1.35}.codelab-chapters button small{margin-top:3px;color:#66756d;font-size:11px;line-height:1.35}.codelab-workspace{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.codelab-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.codelab-heading .page-kicker{margin-bottom:8px}.codelab-heading h3{margin:0;font-size:24px;letter-spacing:-.04em}.codelab-heading p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.codelab-heading code{padding:6px 8px;background:#edf5ef;border-radius:7px;color:var(--pine-deep);font:11px ui-monospace,monospace;white-space:nowrap}.codelab-original{margin:20px 0;padding:15px;border:1px solid #dbe6de;border-radius:11px;background:#f9fcfa}.codelab-original strong{font-size:13px}.codelab-original p{margin:7px 0 9px;color:#55675d;font-size:12px;line-height:1.55}.codelab-original .evidence{margin:0}.codelab-editor-label{display:block;color:#3d5548;font-size:12px;font-weight:700;margin-bottom:7px}.codelab-editor{display:block;width:100%;min-height:275px;resize:vertical;border:1px solid #263c32;border-radius:11px;background:#15251e;color:#dce9e0;padding:17px;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}.codelab-editor:focus{outline:3px solid #b9e6ce;outline-offset:2px}.codelab-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:end;margin-top:12px}.codelab-controls label{display:grid;gap:5px;color:#40554b;font-size:11px;font-weight:700}.codelab-controls input{height:39px;min-width:160px;border:1px solid #cbd6ce;border-radius:8px;padding:0 10px;background:#fbfcfb;color:var(--ink)}.codelab-challenge{margin:14px 0 0;padding:11px 13px;background:#f4f8f5;color:#466154;font-size:12px;line-height:1.55}.codelab-challenge strong{color:var(--pine-deep)}.codelab-result{margin-top:18px;border:1px solid #c9ddd0;border-radius:11px;background:#f0f8f3;padding:15px;color:#355447;font-size:13px;line-height:1.55}.codelab-result>strong{display:block;color:var(--pine-deep);font-size:14px}.codelab-result>span{display:block;margin-top:5px;color:#557162;font-size:12px}.codelab-result pre{max-height:220px;overflow:auto;margin:13px 0 0;padding:12px;border-radius:8px;background:#14231d;color:#dcf0e2;font:12px/1.55 ui-monospace,monospace}.codelab-result ul{margin:10px 0 0;padding-left:19px}.codelab-run-trace{display:grid;gap:8px;margin-top:14px}.codelab-run-trace>div{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start}.codelab-run-trace b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#ccebd8;color:var(--pine-deep);font:10px ui-monospace,monospace}.codelab-run-trace span{display:grid;gap:2px;color:#557162;font-size:12px}.codelab-run-trace span strong{color:#254a3b}.codelab-trace{margin-top:24px}.codelab-trace h4{margin:0 0 9px;font-size:14px}.codelab-trace>div{display:grid;grid-template-columns:26px 110px 1fr;gap:9px;align-items:start;padding:10px 0;border-top:1px solid #e2ebe4}.codelab-trace>div span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e7f2ea;color:var(--pine-deep);font:10px ui-monospace,monospace}.codelab-trace>div strong{font-size:12px}.codelab-trace>div p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}@media (max-width:800px){.codelab-layout{grid-template-columns:1fr}.codelab-chapters{position:static;display:flex;overflow:auto;padding-bottom:4px}.codelab-chapters button{min-width:210px}.codelab-heading{display:grid}.codelab-heading code{width:max-content}.codelab-workspace{padding:18px}.codelab-controls{display:grid}.codelab-controls input,.codelab-controls button{width:100%}.codelab-trace>div{grid-template-columns:26px 1fr}.codelab-trace>div p{grid-column:2}.codelab-safety{grid-template-columns:1fr}.codelab-editor{min-height:240px}}

.codelab-chapter-group{display:grid;gap:5px}.codelab-chapters .codelab-topics{display:grid;gap:4px;margin:0 0 7px 17px;padding-left:13px;border-left:1px solid #d5e4da}.codelab-chapters .codelab-topics button{grid-template-columns:18px 1fr;padding:8px 9px;font-size:12px}.codelab-chapters .codelab-topics button span{width:17px;height:17px;background:#edf4ef;font-size:9px}.codelab-chapters .codelab-topics button.active{background:#e8f4ec;border-color:#b9d7c3}.codelab-topic-heading{margin:21px 0 0;padding:16px 0 0;border-top:1px solid #e0e9e3}.codelab-topic-heading span{color:var(--pine);font:11px ui-monospace,monospace}.codelab-topic-heading h4{margin:7px 0 0;font-size:19px;letter-spacing:-.03em}.codelab-topic-heading p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.codelab-cases{display:grid;grid-template-columns:190px 1fr;gap:14px;margin:18px 0;padding:14px;border:1px solid #d7e5db;border-radius:11px;background:#f8fbf9}.codelab-cases>div>strong{display:block;color:var(--pine-deep);font-size:13px}.codelab-cases>div>p{margin:6px 0 0;color:#5d7265;font-size:12px;line-height:1.45}.codelab-case-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.codelab-case-list button{min-height:76px;border:1px solid #c8dbcf;border-radius:9px;background:#fff;padding:10px;text-align:left;color:#466154}.codelab-case-list button:hover{border-color:var(--pine);background:#eef7f1}.codelab-case-list button.active{border-color:var(--pine);background:#dff1e6;color:var(--pine-deep);box-shadow:inset 0 0 0 1px var(--pine)}.codelab-case-list strong,.codelab-case-list span{display:block}.codelab-case-list strong{font-size:12px}.codelab-case-list span{margin-top:5px;font-size:11px;line-height:1.35}@media (max-width:800px){.codelab-chapters .codelab-topics{min-width:210px;margin-left:0}.codelab-cases{grid-template-columns:1fr}.codelab-case-list{grid-template-columns:1fr}.codelab-case-list button{min-height:0}}

/* A mission teaches the idea first; source locations remain inspectable evidence. */
.mission-study{margin-top:12px;padding:11px 12px;border-left:3px solid #7dbb94;background:#f1f8f3;color:#3c594b}.mission-study>span{display:inline-block;color:var(--pine-deep);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}.mission-study strong{display:block;margin-top:3px;font-size:12px}.mission-study p{margin:6px 0 8px;font-size:12px;line-height:1.5}.mission-evidence{display:flex;flex-wrap:wrap;gap:5px}.mission h3{margin-top:14px}
.mission-options button.correct-answer,.mission-options button.correct-answer:disabled{border-color:#16804f;background:#dff4e7;color:#0b5a35;opacity:1}.mission-options button.incorrect-answer,.mission-options button.incorrect-answer:disabled{border-color:#c46558;background:#fff0ed;color:#8e3027;opacity:1}
.ui-style-evidence{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:9px 0}.ui-style-evidence strong{color:#587063;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.inspect-card code{overflow-wrap:anywhere;color:#285440;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}
.ui-component-context{margin:12px 0;padding:11px 12px;border:1px solid #d5e4da;border-radius:9px;background:#f8fbf9}.ui-component-context>strong{display:block;color:#315c49;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.ui-component-context p{margin:7px 0 0;color:#4d6357;font-size:12px;line-height:1.5}.ui-component-context p strong{color:#294b3b}.ui-dependency-list{display:grid;gap:6px;margin-top:10px}.ui-dependency-list>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ui-dependency-list em{border-radius:999px;background:#edf3ee;color:#607369;padding:4px 7px;font-size:10px;font-style:normal}.ui-dependency-list .dependency-used{background:#ddf1e5;color:#0d623d}.ui-dependency-list .dependency-side-effect{background:#eaf0f7;color:#365a75}
.function-call-sites{margin:12px 0;padding:11px 12px;border:1px solid #d5e4da;border-radius:9px;background:#f8fbf9}.function-call-sites>strong{display:block;color:#315c49;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.function-call-sites>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.function-call-sites p{margin:8px 0 0;color:#5c7063;font-size:11px;line-height:1.45}

/* The Concept Library deliberately separates general explanations from observed repository evidence. */
.library-search{margin:26px 0 13px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.library-search>label{display:block;color:#40554b;font-size:12px;font-weight:700;margin-bottom:7px}.library-search>div{display:flex;gap:9px}.library-search input{height:42px;flex:1;min-width:0;border:1px solid #cbd6ce;border-radius:9px;background:#fbfcfb;padding:0 12px;color:var(--ink);font:inherit}.library-count{margin:0 0 14px;color:#466154;font-size:12px}.library-grid{display:grid;gap:14px}.library-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.library-card>header{padding:20px 20px 12px}.library-card>header>span{color:var(--pine);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.library-card h3{margin:7px 0 8px;font-size:22px;letter-spacing:-.035em}.library-card h4{margin:0 0 6px;color:#29483d;font-size:12px}.library-card p{margin:0;color:#526159;font-size:13px;line-height:1.58}.library-simple{margin:0 20px;padding:13px 0;border-top:1px solid #edf0ed}.library-repository{display:grid;grid-template-columns:1fr auto;gap:12px;margin:0 20px 16px;padding:13px;border:1px solid #cdded2;border-left:3px solid #62ad7f;border-radius:9px;background:#f3faf5}.library-repository>div>span{display:block;color:var(--pine-deep);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.library-repository.not-detected{border-left-color:#b68a59;background:#fdf8f1}.library-repository.no-repository{border-left-color:#87958d;background:#f5f7f5}.library-evidence{display:flex;align-content:start;align-items:start;flex-wrap:wrap;gap:5px}.library-card details{border-top:1px solid var(--line)}.library-card summary{cursor:pointer;padding:14px 20px;color:var(--pine-deep);font-size:13px;font-weight:700}.library-card details[open] summary{border-bottom:1px solid #edf0ed}.library-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:17px 20px}.library-detail-grid>section{min-width:0}.library-detail-grid ul{margin:0;padding-left:17px;color:#526159;font-size:12px;line-height:1.55}.library-syntax{grid-column:1/-1}.library-syntax pre{overflow:auto;margin:0;border-radius:9px;background:#14271e;color:#dff0e5;padding:13px;font:11px/1.55 ui-monospace,monospace}.library-connections{padding:0 20px 17px}.library-connections>div{display:flex;flex-wrap:wrap;gap:6px}.library-chip{border:1px solid #c4d8ca;border-radius:999px;background:#eef6f1;color:var(--pine-deep);padding:6px 9px;font-size:11px}.library-chip:hover{border-color:var(--pine);background:#e2f0e7}.library-references{display:flex;flex-wrap:wrap;gap:9px;border-top:1px solid #edf0ed;padding:13px 20px;color:#64776d;font-size:11px}.library-references a{color:var(--pine-deep);font-weight:700}.library-loading{padding:20px;border:1px dashed #c8d8cd;border-radius:12px;color:#526159;font-size:13px}
.discovery-section{margin:24px 0 30px;padding:19px;border:1px solid #b9d7c3;border-radius:14px;background:#f4faf6}.discovery-heading{max-width:690px;margin-bottom:15px}.discovery-heading h3{margin:0 0 6px;color:var(--pine-deep);font-size:19px;letter-spacing:-.03em}.discovery-heading p{margin:0;color:#526159;font-size:13px;line-height:1.55}.discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.discovery-card{background:#fff;border:1px solid #d4e1d8;border-radius:11px;padding:15px}.discovery-card header{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.discovery-card header>span{color:var(--pine);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}.discovery-card h3{margin:0;color:#18382b;font-size:15px;overflow-wrap:anywhere}.discovery-card>p{margin:10px 0 0;color:#526159;font-size:12px;line-height:1.55}.discovery-card .detail-meta{color:#61746a;font:11px/1.5 ui-monospace,monospace}.discovery-evidence{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.discovery-card footer{margin-top:12px;padding-top:11px;border-top:1px solid #edf0ed}.library-reference-link{border:1px solid #b7d3c0;border-radius:8px;background:#eef7f1;color:var(--pine-deep);padding:7px 9px;font-size:11px;font-weight:700}.library-reference-link:hover{border-color:var(--pine);background:#e2f0e7}.discovery-unmapped{display:block;color:#6b6758;font-size:11px;line-height:1.45}.reference-section{margin-top:8px}
@media (max-width:760px){.library-search>div{display:grid}.library-search input,.library-search button{width:100%}.library-repository{grid-template-columns:1fr}.library-detail-grid{grid-template-columns:1fr}.library-syntax{grid-column:auto}}
@media (max-width:760px){.discovery-grid{grid-template-columns:1fr}.discovery-section{padding:15px}}

/* Feature Trace shows source relationships without pretending static imports are a runtime recording. */
.inspect-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.trace-link{border:1px solid #9dcdb0;border-radius:8px;background:#f0f8f3;color:var(--pine-deep);padding:7px 9px;font-size:11px;font-weight:700}.trace-link:hover{border-color:var(--pine);background:#dff1e6}.trace-layout{display:grid;grid-template-columns:minmax(210px,.66fr) minmax(0,1.7fr);gap:18px;align-items:start;margin-top:26px}.trace-picker{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.trace-picker>strong{font-size:14px}.trace-picker>p{margin:7px 0 13px;color:var(--muted);font-size:12px;line-height:1.45}.trace-picker>div{display:grid;gap:6px;max-height:640px;overflow:auto;padding-right:3px}.trace-option{display:grid;gap:4px;width:100%;border:1px solid transparent;border-radius:9px;background:transparent;color:#3a5145;padding:9px;text-align:left;font-size:12px;line-height:1.35}.trace-option:hover{background:#eef6f1}.trace-option.active{border-color:#b8d7c2;background:#e4f3e9;color:var(--pine-deep)}.trace-option span{color:var(--pine);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}.trace-stage{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px}.trace-stage>h3{margin:0;font-size:21px;letter-spacing:-.035em}.trace-caption{margin:7px 0 18px;color:var(--muted);font-size:13px;line-height:1.55}.trace-steps{display:grid;gap:0;margin:0;padding:0;list-style:none}.trace-step{position:relative;display:grid;grid-template-columns:35px 1fr;gap:12px;padding:0 0 18px}.trace-step:not(:last-child)::before{position:absolute;top:32px;bottom:0;left:15px;width:1px;background:#bcd9c7;content:""}.trace-step-number{position:relative;z-index:1;display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:#e1f1e7;color:var(--pine-deep);font:11px ui-monospace,monospace;font-weight:700}.trace-step-heading{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.trace-kind,.trace-certainty{border-radius:999px;padding:4px 7px;font:10px ui-monospace,monospace}.trace-kind{background:#edf4ef;color:#335e49}.trace-certainty.observed{background:#dff2e6;color:#07583d}.trace-certainty.imported{background:#eaf3ed;color:#315f4a}.trace-certainty.boundary{background:#fbf1e4;color:#875924}.trace-step h4{margin:7px 0 5px;font-size:16px;line-height:1.35;letter-spacing:-.02em}.trace-step p{margin:0;color:#53665c;font-size:13px;line-height:1.55}.trace-evidence{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.trace-evidence strong{color:#587063;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.trace-location{color:#60746a;font:11px ui-monospace,monospace}.trace-safe-change,.trace-limits{margin-top:15px;padding:14px 15px;border-radius:11px}.trace-safe-change{border-left:3px solid var(--pine);background:#eef7f1}.trace-limits{border:1px solid #e3d5c3;background:#fdf9f3}.trace-safe-change h3,.trace-limits h3{margin:0;color:var(--pine-deep);font-size:13px}.trace-safe-change p,.trace-limits li{color:#506259;font-size:12px;line-height:1.55}.trace-safe-change p{margin:7px 0 0}.trace-limits h3{color:#765635}.trace-limits ul{margin:7px 0 0;padding-left:18px}.trace-limits li+li{margin-top:4px}@media (max-width:800px){.trace-layout{grid-template-columns:1fr}.trace-picker{position:static}.trace-picker>div{max-height:250px}.trace-stage{padding:18px}}@media (max-width:460px){.trace-step{grid-template-columns:30px 1fr;gap:9px}.trace-step-number{width:27px;height:27px}.trace-step:not(:last-child)::before{left:13px;top:28px}}
.impact-link{border:1px solid #b7cadc;border-radius:8px;background:#f1f6fb;color:#245478;padding:7px 9px;font-size:11px;font-weight:700}.impact-link:hover{border-color:#5482a5;background:#e5f0f8}.impact-sections{display:grid;gap:17px}.impact-sections>section>h4{margin:0 0 8px;color:#314c3d;font-size:14px}.impact-sections>section>div{display:grid;gap:8px}.impact-sections article{border:1px solid #dce7df;border-radius:10px;background:#fbfcfb;padding:12px}.impact-sections article>div:first-child{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.impact-sections article>div:first-child span{color:#496a58;font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em}.impact-sections article>div:first-child strong{color:#284839;font-size:13px}.impact-sections article p{margin:7px 0 0;color:#596d61;font-size:12px;line-height:1.5}

.trace-certainty.call{background:#e0eefb;color:#1e527e}.trace-certainty.inferred{background:#f9eed9;color:#875924}
.contract-section>p{max-width:740px;color:var(--muted);font-size:13px;line-height:1.55}.contract-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.contract-list article{padding:14px;border:1px solid #d5e3d9;border-radius:11px;background:#fbfdfb}.contract-list article>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px}.contract-list article>div>span{color:var(--pine);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em}.contract-list h4{margin:9px 0 8px;color:#244537;font-size:14px}.contract-list p{display:flex;flex-wrap:wrap;gap:5px;margin:0;color:#5a6e61;font-size:12px;line-height:1.5}.contract-list code{border-radius:6px;background:#edf5ef;color:#315e49;padding:3px 5px;font:11px ui-monospace,monospace}@media (max-width:760px){.contract-list{grid-template-columns:1fr}}
.framework-section>p{max-width:740px;color:var(--muted);font-size:13px;line-height:1.55}.framework-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.framework-list article{display:grid;gap:8px;padding:14px;border:1px solid #d5e3d9;border-radius:11px;background:#fbfdfb}.framework-list article>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;align-items:baseline}.framework-list strong{color:#244537;font-size:13px}.framework-list article>div span{color:var(--pine);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em}.framework-list p{margin:0;color:#5a6e61;font-size:12px;line-height:1.5}.trace-framework{margin:4px 0 15px;padding:14px 15px;border:1px solid #c6dccd;border-radius:11px;background:#f6fbf7}.trace-framework h3{margin:0;color:var(--pine-deep);font-size:14px}.trace-framework>p{margin:6px 0 11px;color:#51685b;font-size:12px;line-height:1.5}.trace-framework>div{display:grid;gap:7px}.trace-framework article{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(0,1.6fr) auto;gap:10px;align-items:center;border-top:1px solid #dbe8de;padding-top:8px;color:#52665a;font-size:12px;line-height:1.45}.trace-framework strong{color:#284b3a;font-size:12px}.trace-framework article span{min-width:0}@media (max-width:760px){.framework-list{grid-template-columns:1fr}.trace-framework article{grid-template-columns:1fr}.trace-framework article .snippet-link{justify-self:start}}
.trace-lesson-launch{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:20px;padding:15px;border:1px solid #b9d8c3;border-radius:11px;background:#f0f8f3}.trace-lesson-launch strong{display:block;color:var(--pine-deep);font-size:14px}.trace-lesson-launch p{margin:5px 0 0;color:#51685b;font-size:12px;line-height:1.5}.trace-lesson-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #e1eae3;color:#5b7064;font-size:12px}.trace-lesson-steps{display:grid;gap:0;margin:17px 0 0;padding:0;list-style:none}.trace-lesson-steps>li{display:grid;grid-template-columns:33px 1fr;gap:12px;padding:0 0 20px}.trace-lesson-steps>li>span{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;background:#e0f1e7;color:var(--pine-deep);font:11px ui-monospace,monospace;font-weight:700}.trace-lesson-steps h4{margin:7px 0 5px;font-size:16px;line-height:1.35}.trace-lesson-steps p{margin:0;color:#53665c;font-size:13px;line-height:1.55}.trace-step-why{margin-top:9px!important;padding:10px 11px;border-left:3px solid #8fc3a3;background:#f3f9f5}.trace-step-why strong{display:block;margin-bottom:3px;color:#345a47;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.trace-checks{margin-top:8px;padding-top:21px;border-top:1px solid #dfe9e2}.trace-checks>div>h3{margin:0;font-size:19px;letter-spacing:-.03em}.trace-checks>div>p{margin:6px 0 15px;color:var(--muted);font-size:13px;line-height:1.5}.trace-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trace-question{border:1px solid var(--line);border-radius:13px;background:#fbfcfb;padding:16px}.trace-question.passed{border-color:#8cc7a4;background:#f1faf4}.trace-question>div:first-child{display:flex;justify-content:space-between;gap:8px;color:var(--pine);font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em}.trace-question>div:first-child b{font-weight:700}.trace-question-study{margin:11px 0 0!important;color:#416653!important;font-size:12px!important}.trace-question h4{margin:8px 0 12px;font-size:15px;line-height:1.4;letter-spacing:-.015em}@media (max-width:760px){.trace-lesson-launch{display:grid}.trace-lesson-launch button{width:100%}.trace-question-grid{grid-template-columns:1fr}.trace-lesson-toolbar{align-items:flex-start}.trace-lesson-steps>li{grid-template-columns:29px 1fr;gap:9px}.trace-lesson-steps>li>span{width:26px;height:26px}}

/* Learning route controls remain legible even when a repository has hundreds of missions. */
.learn-controls{gap:12px;padding:18px}.learn-controls label{min-width:220px;flex:1 1 220px;gap:7px;color:#31483d;font-size:13px}.learn-controls select,.route-pager select{height:44px;min-width:220px;border-color:#b8cbbd;background:#fff;padding:0 11px;color:#17231d;font:14px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.learn-controls select option,.route-pager select option{background:#fff;color:#17231d;font-size:14px}.route-pager{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:14px;margin-top:22px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}.route-pager label{display:grid;gap:7px;color:#31483d;font-size:13px;font-weight:700}.route-pager select{min-width:178px}.route-pager p{margin:0;flex:1 1 220px;color:#4a6556;font-size:13px;line-height:1.45}.route-pager>div{display:flex;gap:8px}.route-pager button:disabled{opacity:.45;cursor:not-allowed;transform:none}@media (max-width:760px){.learn-controls label,.learn-controls select,.route-pager select{width:100%;min-width:0}.route-pager{display:grid}.route-pager>div{display:grid;grid-template-columns:1fr 1fr}.route-pager>div button{width:100%}}
