:root,.dark{--ctt-on-status:#0b0c0e;--ctt-status-locked:#9aa3b2;--ctt-status-available:#8fb8e8;--ctt-status-not_started:#9aa3b2;--ctt-status-investigating:#a9bdf2;--ctt-status-demonstrated:#5fc4c6;--ctt-status-operational:#7fcf6a;--ctt-status-strategic_standard:#f0c75a;--ctt-status-legacy:#e0a070;--ctt-status-retiring:#f29a9a;--ctt-kind-milestone:color-mix(in srgb, #f0c75a 14%, var(--surface-2));--ctt-kind-wonder:color-mix(in srgb, #c8b9ff 16%, var(--surface-2))}.light{--ctt-on-status:#fff;--ctt-status-locked:#5b6270;--ctt-status-available:#2f5f9e;--ctt-status-not_started:#5b6270;--ctt-status-investigating:#3b5bab;--ctt-status-demonstrated:#0f6e70;--ctt-status-operational:#3a6e2a;--ctt-status-strategic_standard:#8a5a00;--ctt-status-legacy:#9a4f16;--ctt-status-retiring:#a33a3a;--ctt-kind-milestone:color-mix(in srgb, #d9a43a 18%, var(--surface-2));--ctt-kind-wonder:color-mix(in srgb, #8b74e0 14%, var(--surface-2))}.ctt-map .techtree-root[data-color-scheme]{--techtree-font:var(--ff-sans);--techtree-canvas-bg:var(--bg);--techtree-canvas-grid:var(--border-subtle);--techtree-node-bg:var(--surface-2);--techtree-node-border:var(--border);--techtree-node-text:var(--text);--techtree-node-shadow:#00000040;--techtree-edge:var(--text-3);--techtree-edge-soft:var(--ctt-status-available);--techtree-edge-label:var(--text-2);--techtree-accent:var(--accent);--techtree-era-label:var(--text-2);--techtree-era-banner-bg:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 94%, transparent), transparent);--techtree-kind-capability:var(--surface-2);--techtree-kind-milestone:var(--ctt-kind-milestone);--techtree-kind-wonder:var(--ctt-kind-wonder);--techtree-badge-ring:var(--bg);--techtree-minimap-mask:color-mix(in srgb, var(--bg) 70%, transparent);--techtree-on-status:var(--ctt-on-status);--techtree-status-locked:var(--ctt-status-locked);--techtree-status-available:var(--ctt-status-available);--techtree-status-not_started:var(--ctt-status-not_started);--techtree-status-investigating:var(--ctt-status-investigating);--techtree-status-demonstrated:var(--ctt-status-demonstrated);--techtree-status-operational:var(--ctt-status-operational);--techtree-status-strategic_standard:var(--ctt-status-strategic_standard);--techtree-status-legacy:var(--ctt-status-legacy);--techtree-status-retiring:var(--ctt-status-retiring);--techtree-panel-bg:var(--surface-1);--techtree-panel-text:var(--text);--techtree-panel-muted:var(--text-2);--techtree-panel-border:var(--border);--techtree-chip-bg:var(--surface-2);--techtree-link:var(--accent-text);--techtree-focus:var(--focus);--techtree-on-accent:var(--on-accent);--techtree-dim-node-bg:var(--bg);--techtree-dim-node-text:var(--text-2);--techtree-dim-node-border:var(--border-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);flex:auto;height:auto;min-height:0}.ctt-map .techtree-root .tt-drawer{font-size:14px}.ctt-map .techtree-root .tt-toolbar{flex-wrap:nowrap}.ctt-map .techtree-root .tt-status-filter{scrollbar-width:thin;flex-wrap:nowrap;flex:auto;min-width:0;padding-bottom:2px;overflow-x:auto}.ctt-map .techtree-root .tt-chip,.ctt-map .techtree-root .tt-view-toggle{flex:none}@layer components{.ctt-workspace{height:calc(100dvh - var(--header-h));min-width:0;padding:12px var(--gutter) var(--gutter);flex-direction:column;display:flex}main:has(.ctt-workspace){padding-bottom:0}body:has(.ctt-workspace) .foot{display:none}.ctt-workspace>nav{flex:none}.ctt-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px;display:flex}.ctt-workspace .ctt-head{flex:none;margin:4px 0 12px}.ctt-title{flex-wrap:wrap;align-items:baseline;gap:2px 14px;min-width:0;display:flex}.ctt-crumbs{color:var(--text-3);flex-wrap:wrap;gap:6px;font-size:13px;display:flex}.ctt-crumbs a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.ctt-badge{border-radius:var(--radius-pill);border:1px solid var(--chip-wanted-border);background:var(--chip-wanted-bg);height:22px;color:var(--chip-wanted-fg);font-family:var(--ff-mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;align-items:center;padding:0 8px;font-size:11px;display:inline-flex}.ctt-desc{max-width:72ch;color:var(--text-2);white-space:pre-line}.ctt-filters{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.ctt-filters select{border-radius:var(--radius-sm);border:1px solid var(--border-control);background:var(--surface-1);max-width:100%;height:32px;color:var(--text);font:inherit;padding:0 8px}.ctt-map{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}@media (max-width:767px){.ctt-workspace{height:auto}.ctt-map{height:max(520px, calc(100dvh - var(--header-h) - 24px));flex:none}.ctt-hint{display:none}}@media (min-width:768px) and (max-height:559px){.ctt-workspace{height:auto;min-height:calc(100dvh - var(--header-h))}.ctt-map{flex:1 0 420px}}.ctt-status{--c:var(--ctt-status-not_started);border-radius:var(--radius-pill);background:var(--c);height:22px;color:var(--ctt-on-status);white-space:nowrap;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.ctt-status[data-status=locked]{--c:var(--ctt-status-locked)}.ctt-status[data-status=available]{--c:var(--ctt-status-available)}.ctt-status[data-status=investigating]{--c:var(--ctt-status-investigating)}.ctt-status[data-status=demonstrated]{--c:var(--ctt-status-demonstrated)}.ctt-status[data-status=operational]{--c:var(--ctt-status-operational)}.ctt-status[data-status=strategic_standard]{--c:var(--ctt-status-strategic_standard)}.ctt-status[data-status=legacy]{--c:var(--ctt-status-legacy)}.ctt-status[data-status=retiring]{--c:var(--ctt-status-retiring)}.ctt-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:16px;display:grid}.ctt-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1);flex-direction:column;gap:10px;min-width:0;padding:18px;display:flex;position:relative}.ctt-card:hover{background:var(--surface-2)}.ctt-card:has(a:focus-visible){outline:var(--focus-width) solid var(--focus);outline-offset:3px}.ctt-card a{outline:none}.ctt-card a:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.ctt-card-title{font-family:var(--ff-display);font-size:22px;font-weight:560;line-height:1.2}.ctt-card-desc{color:var(--text-2);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.ctt-meta{color:var(--text-3);flex-wrap:wrap;gap:6px 12px;font-size:13px;display:flex}.ctt-bar{border-radius:var(--radius-pill);background:var(--surface-3);height:8px;display:flex;overflow:hidden}.ctt-bar>span{height:100%;display:block}.ctt-node{grid-template-columns:minmax(0,1fr);gap:32px;display:grid}@media (min-width:1024px){.ctt-node{grid-template-columns:minmax(0,1fr) 320px}}.ctt-kicker{font-family:var(--ff-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:11px;display:flex}.ctt-sec{margin-top:28px}.ctt-sec h2{font-size:var(--text-h4);margin-bottom:8px;font-weight:600}.ctt-list{flex-direction:column;gap:6px;display:flex}.ctt-list li{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.ctt-list a{color:var(--accent-text);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.ctt-muted{color:var(--text-3);font-size:13px}.ctt-facts{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);flex-direction:column;align-self:start;gap:10px;padding:16px;font-size:14px;display:flex}.ctt-facts .r{justify-content:space-between;gap:12px;display:flex}.ctt-facts .r>span:first-child{color:var(--text-3)}.ctt-facts .r>span:last-child{text-align:right;overflow-wrap:anywhere;min-width:0}.ctt-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);padding:16px}.ctt-form{gap:12px;display:grid}.ctt-form label{color:var(--text-2);gap:4px;font-size:13px;display:grid}.ctt-form select,.ctt-form input[type=url],.ctt-form textarea{border-radius:var(--radius-sm);border:1px solid var(--border-control);background:var(--surface-2);width:100%;min-height:36px;color:var(--text);font:inherit;padding:6px 8px;font-size:14px}.ctt-form fieldset{gap:6px;font-size:14px;display:grid}.ctt-form legend{color:var(--text-2);margin-bottom:4px;font-size:13px}.ctt-form .check{color:var(--text);align-items:flex-start;gap:8px;display:flex}.ctt-error{color:var(--danger);font-size:13px}.ctt-ok{color:var(--success);font-size:13px}.ctt-list li.ctt-eureka{flex-wrap:nowrap;align-items:baseline}.ctt-history{flex-direction:column;gap:12px;font-size:14px;display:flex}.ctt-history li{border-left:2px solid var(--border);padding-left:12px}.ctt-drawer-foot{flex-wrap:wrap;gap:8px 16px;padding:0 16px 20px;font-size:13px;display:flex}.ctt-drawer-foot a{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.ctt-chips{flex-wrap:wrap;gap:8px;display:flex}.ctt-chip{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-1);min-height:28px;color:var(--text);align-items:center;gap:6px;max-width:100%;padding:2px 10px 2px 4px;font-size:13px;display:inline-flex}.ctt-chip:hover{background:var(--surface-2)}.ctt-chip .ctt-status{height:20px;padding:0 6px;font-size:11px}.ctt-admin-states{color:var(--text-2);flex-wrap:wrap;gap:2px 10px;font-size:12.5px;display:inline-flex}.ctt-admin-warn{border-top:1px solid var(--border-subtle);padding:var(--space-3) var(--space-5);font-size:var(--text-body-s)}.ctt-admin-warn summary{cursor:pointer;color:var(--text);min-height:24px;font-weight:500}.ctt-admin-warn ul{margin:var(--space-2) 0 0;color:var(--text-2);overflow-wrap:anywhere;padding-left:1.2em}.ctt-admin-warn .mono,.ctt-admin-filter .mono{font-family:var(--ff-mono);color:var(--text-3);font-size:12px}.ctt-admin-filter{align-items:flex-end;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.ctt-admin-filter label{color:var(--text-2);flex-direction:column;flex:0 220px;gap:4px;min-width:0;font-size:12px;display:flex}.ctt-admin-evidence{overflow-wrap:anywhere;max-width:36ch}@media (max-width:479px){.ctt-admin-filter label{flex:100%}}}
