:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f292f;background:#f3f6f8}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.68}.workspace-shell{width:min(1440px,calc(100vw - 32px));margin:22px auto 40px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #d8e0e7;padding-bottom:18px}.app-title-row{display:flex;align-items:center;gap:14px;min-width:0}.app-title-row>div{min-width:0}.app-header h1{margin:0;font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:0}.app-header p{margin:5px 0 0;color:#62707a}.runtime-pill{border:1px solid #cdd8df;border-radius:999px;padding:8px 12px;color:#38505f;background:#fff;font-weight:700}.app-actions,.section-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.app-actions{flex-wrap:wrap;justify-content:flex-end}.subtle-action{width:42px;padding-inline:0;opacity:.72}.subtle-action:hover{opacity:1}.landing-section{margin-top:22px}.section-heading h2,.panel-heading h2{margin:0 0 10px;font-size:.92rem;text-transform:uppercase}.person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.person-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start;border:1px solid #d8e0e7;border-top:4px solid var(--accent);border-radius:8px;padding:16px;background:#fff}.provider-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #d8e0e7;border-top:4px solid var(--accent);border-radius:8px;padding:16px;background:#fff}.person-card img,.person-header img,.timeline-person-card img,.timeline-person-header img{width:96px;height:96px;border-radius:24px;object-fit:cover}.person-card h2,.person-header h2,.timeline-person-card h2,.timeline-person-header h2,.doc-detail h2,.provider-card h2,.timeline-detail h2{margin:0;letter-spacing:0}.person-card p,.person-header p,.timeline-person-card p,.timeline-person-header p,.doc-detail p,.provider-card p,.timeline-detail p{margin:4px 0;color:#53616b}.person-card strong,.person-header span,.timeline-person-card strong,.timeline-person-header span,.doc-card span,.doc-detail header span{color:#245b76;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.person-card span{display:block;margin-top:10px;color:#62707a;line-height:1.4}.person-card button{grid-column:1 / -1}.person-card button,.provider-card button,.bootstrap-actions button,.timeline-person-header button,.panel-heading button,.timeline-detail header button,.entry-form button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:7px;padding:10px 13px;color:#fff;background:var(--accent);font-weight:800}.ghost-button,.view-tabs button,.graph-toolbar button,.doc-actions button{display:inline-flex;align-items:center;gap:8px;border:1px solid #cdd8df;border-radius:7px;padding:8px 11px;color:#2f4654;background:#fff;font-weight:800}.workspace-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;margin-top:18px}.people-rail{display:grid;align-content:start;gap:10px}.rail-person{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 10px;align-items:center;border:1px solid #d8e0e7;border-radius:8px;padding:9px;text-align:left;color:#263640;background:#fff}.rail-person.selected{border-color:#7fb5cf;background:#eaf5fa}.rail-person img{grid-row:1 / 3;width:44px;height:44px;border-radius:14px}.rail-person span,.doc-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.rail-person small,.doc-card small,.person-header small,.timeline-person-header small{color:#66747d}.person-workspace{min-width:0}.person-header{display:flex;gap:14px;align-items:center;border:1px solid #d8e0e7;border-left:5px solid var(--accent);border-radius:8px;padding:14px;background:#fff}.view-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.view-tabs button.active{color:#fff;border-color:#285f82;background:#285f82}.view-tabs.compact{margin:10px 0}.docs-layout{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,.58fr);gap:16px}.doc-list-panel,.doc-detail,.graph-panel{min-width:0;border:1px solid #d8e0e7;border-radius:8px;padding:14px;background:#fff}.doc-list-panel h2{margin:0 0 10px;font-size:.92rem;text-transform:uppercase}.bootstrap-layout{--accent: #285f82;display:grid;grid-template-columns:minmax(0,.56fr) minmax(320px,.44fr);gap:16px;align-items:start;margin-top:18px}.bootstrap-panel{min-width:0;border:1px solid #d8e0e7;border-radius:8px;padding:14px;background:#fff}.bootstrap-heading-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.bootstrap-heading-actions .ghost-button{border:1px solid #cdd8df;color:#2f4654;background:#fff}.bootstrap-samples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.bootstrap-samples button{display:grid;gap:4px;border:1px solid #d8e0e7;border-radius:8px;padding:10px;color:#263640;text-align:left;background:#fff}.bootstrap-samples button.selected{border-color:#87b8cf;background:#f0f7fa}.bootstrap-samples strong{font-size:.9rem}.bootstrap-samples span{color:#66747d;font-size:.78rem;line-height:1.25}.bootstrap-panel textarea{width:100%;height:min(52vh,520px);min-height:340px;resize:vertical;border:1px solid #d8e0e7;border-radius:8px;padding:12px;color:#17232b;background:#f8fafb;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92rem;line-height:1.45}.bootstrap-empty-state{border:1px dashed #cdd8df;border-radius:8px;padding:18px;color:#66747d;background:#f8fafb}.bootstrap-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:12px}.binding-list{display:grid;gap:10px}.binding-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,.7fr) minmax(130px,.7fr);gap:12px;align-items:end;border:1px solid #d8e0e7;border-radius:8px;padding:12px;background:#f8fafb}.binding-row strong,.binding-row small,.binding-row label{display:grid;gap:4px}.binding-row small{color:#66747d}.binding-row label{color:#53616b;font-size:.82rem;font-weight:800}.binding-row select{border:1px solid #cdd8df;border-radius:7px;padding:9px 10px;color:#263640;background:#fff;font:inherit}.error-text{margin:10px 0 0;color:#9d2f2f;font-weight:800}.timeline-layout{margin-top:18px}.timeline-list-panel,.timeline-detail{min-width:0;border:1px solid #d8e0e7;border-radius:8px;padding:14px;background:#fff}.timeline-person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.timeline-person-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center;border:1px solid #d8e0e7;border-radius:8px;padding:14px;text-align:left;color:#263640;background:#fff;cursor:pointer;font:inherit}.timeline-person-card.selected{border-color:color-mix(in srgb,var(--accent),#fff 30%);background:color-mix(in srgb,var(--accent),#fff 88%);box-shadow:inset 0 4px 0 var(--accent)}.timeline-person-card img{width:86px;height:86px;border-radius:22px}.timeline-person-card strong{display:inline-block;margin-top:8px}.timeline-main{min-width:0;margin-top:16px}.timeline-person-header{display:grid;grid-template-columns:86px minmax(0,1fr) max-content;gap:14px;align-items:center;border:1px solid #d8e0e7;border-left:5px solid var(--accent);border-radius:8px;padding:14px;background:#fff}.timeline-person-header img{width:86px;height:86px;border-radius:22px}.timeline-person-header button{min-height:42px}.timeline-content{display:grid;grid-template-columns:minmax(240px,.36fr) minmax(0,.64fr);gap:16px;margin-top:14px}.timeline-list{display:grid;gap:10px}.timeline-card{display:grid;gap:5px;border:1px solid #dde5eb;border-radius:8px;padding:12px;text-align:left;color:#273640;background:#fff}.timeline-card:hover,.timeline-card.selected{border-color:#87b8cf;background:#f0f7fa}.timeline-card strong,.timeline-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-card span,.timeline-card small,.entry-card small,.entry-card span{color:#66747d}.timeline-detail header,.entry-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.timeline-detail header span{color:#245b76;font-size:.78rem;font-weight:800;text-transform:uppercase}.entry-form{display:grid;gap:8px;margin:12px 0}.entry-form textarea{min-height:130px;resize:vertical;border:1px solid #cdd8df;border-radius:8px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.timeline-notice{margin:10px 0;color:#285f82;font-weight:700}.entry-list{display:grid;gap:12px;margin-top:12px}.entry-card{display:grid;gap:10px;border:1px solid #dde5eb;border-radius:8px;padding:12px;background:#fff}.entry-card pre{max-height:360px;overflow:auto;border:1px solid #d8e0e7;border-radius:8px;margin:0;padding:12px;color:#17232b;background:#f8fafb;white-space:pre}.doc-list{display:grid;gap:10px}.doc-card{display:grid;gap:6px;border:1px solid #dde5eb;border-radius:8px;padding:12px;text-align:left;color:#273640;background:#fff}.doc-card:hover,.doc-card.selected{border-color:#87b8cf;background:#f0f7fa}.doc-card small{line-height:1.35}.faces{display:flex;align-items:center;gap:5px;min-height:30px}.faces button,.external-face{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #fff;border-radius:999px;padding:0;color:#fff;background:#687782;box-shadow:0 0 0 1px #cbd6de;font-weight:900}.faces img{width:100%;height:100%;border-radius:inherit}.new-doc-prompt{display:grid;gap:8px;margin-top:14px}.new-doc-prompt textarea{min-height:88px;resize:vertical;border:1px solid #cdd8df;border-radius:8px;padding:10px}.new-doc-prompt button{display:inline-flex;width:max-content;align-items:center;gap:7px;border:0;border-radius:7px;padding:9px 12px;color:#fff;background:#285f82;font-weight:800}.new-doc-prompt p,.muted,.empty-state{margin:0;color:#66747d}.new-doc-prompt .generation-status{border:1px solid #d6e0e7;border-radius:8px;padding:8px 10px;background:#f7fafc;color:#33454f;font-size:.94rem;line-height:1.35}.new-doc-prompt .continue-bootstrap-button{background:#3f8b63}.doc-detail header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.doc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.doc-code{min-height:420px;max-height:62vh;overflow:auto;border:1px solid #d8e0e7;border-radius:8px;margin:0;padding:13px;color:#17232b;background:#f8fafb;white-space:pre}.doc-detail-tabs{display:inline-flex;gap:8px;margin:12px 0}.doc-detail-tabs button{border:1px solid #cdd8df;border-radius:7px;padding:8px 11px;color:#2f4654;background:#fff;font-weight:800}.doc-detail-tabs button.active{border-color:#87b8cf;color:#1f526d;background:#eef7fb}.operation-list{display:grid;gap:10px}.operation-card{display:grid;gap:5px;border:1px solid #dde5eb;border-radius:8px;padding:12px;text-align:left;color:#273640;background:#fff}.operation-card:hover{border-color:#87b8cf;background:#f0f7fa}.operation-card strong{font-size:1rem}.operation-card small{color:#62707a;line-height:1.35}.graph-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.graph-controls{display:inline-flex;align-items:center;gap:8px}.graph-toolbar span,.graph-controls span{min-width:54px;text-align:center;font-weight:800}.graph-viewport{height:clamp(480px,58vh,640px);min-height:480px;overflow:hidden;border:1px solid #d8e0e7;border-radius:8px;background:#f8fafb;touch-action:none}.graph-viewport svg{display:block;width:100%;height:100%;cursor:grab;-webkit-user-select:none;user-select:none}.graph-viewport svg[data-panning=true]{cursor:grabbing}.edge{fill:none;stroke:#6b7882;stroke-width:2.4}.edge.embedding{stroke:#b56b38;stroke-dasharray:5 4}.edge-label{fill:#44535d;font-size:13px;font-weight:800;paint-order:stroke;stroke:#f8fafb;stroke-width:5px}.graph-node rect{fill:#fff;stroke:#cfd9e0;stroke-width:1.5;cursor:pointer}.graph-node.selected rect{stroke:#285f82;stroke-width:3}.node-kind{fill:#28617f;font-size:12px;font-weight:900;text-transform:uppercase}.node-title-object{overflow:hidden;pointer-events:none}.node-title-box{display:-webkit-box;overflow:hidden;width:100%;height:48px;color:#1f292f;font-size:16px;font-weight:850;line-height:1.22;letter-spacing:0;overflow-wrap:anywhere;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.external-node-face{fill:#687782}.external-node-letter{fill:#fff;font-size:12px;font-weight:900}.graph-node image{cursor:pointer}@media (max-width: 980px){.person-grid,.provider-grid,.bootstrap-samples,.workspace-layout,.docs-layout,.bootstrap-layout,.binding-row,.timeline-person-grid,.timeline-content{grid-template-columns:1fr}.people-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.doc-detail header,.app-header,.app-title-row{display:grid;align-items:start}}@media (max-width: 640px){.workspace-shell{width:min(100% - 20px,1440px);margin-top:12px}.person-card,.person-header,.provider-card,.timeline-person-card,.timeline-person-header{grid-template-columns:72px minmax(0,1fr)}.person-card img,.person-header img,.timeline-person-card img,.timeline-person-header img{width:72px;height:72px;border-radius:20px}.people-rail{display:flex;overflow-x:auto;padding-bottom:4px}.rail-person{min-width:150px}.doc-code{min-height:330px}.graph-viewport{height:430px;min-height:430px}.timeline-detail header,.timeline-person-header,.entry-card header,.app-actions,.section-heading,.panel-heading,.provider-card{display:grid;justify-content:stretch}.bootstrap-heading-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.bootstrap-heading-actions button{width:100%}.timeline-person-header button{grid-column:1 / -1}}
