#blueprints-dialog{width:min(940px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 24px);overflow:auto;color:var(--text,#e5eadb)}
#blueprints-dialog *{box-sizing:border-box;min-width:0}
.blueprints-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:20px}
.blueprints-layout h3{font-family:Georgia,serif;font-size:21px;line-height:1.25;margin:8px 0 14px}
.blueprints-layout h3 small{color:#a8b9b8;font:13px system-ui;white-space:nowrap}
.blueprints-library{border-right:1px solid #56706c55;padding-right:18px}
.blueprints-layout label{display:grid;gap:7px;font-size:14px;line-height:1.4;color:#c3d2cf;margin-bottom:12px}
.blueprints-layout input,.blueprints-layout select{font-size:16px;min-height:44px;width:100%;padding:9px 11px;border:1px solid #67868270;background:#10242b;color:#eceddf;border-radius:6px}
.blueprints-layout button{min-height:44px;font-size:14px;line-height:1.4;padding:9px 13px;white-space:normal;overflow-wrap:anywhere}
.blueprints-list{display:grid;gap:9px;margin-top:18px;max-height:390px;overflow-y:auto}
.blueprints-list button{display:grid;gap:5px;text-align:left;background:#1b353c;border:1px solid #66847b77;border-radius:7px}
.blueprints-list button[aria-pressed=true]{border-color:#e3bc72;background:linear-gradient(110deg,#58472840,#24484b);box-shadow:inset 3px 0 #e3bc72}
.blueprints-list small,.blueprint-metadata{font-size:12px;color:#a6b9b7;line-height:1.5}
.blueprint-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.blueprint-heading h3{margin:8px 0;overflow-wrap:anywhere}
.blueprint-heading button{font-size:12px}
.blueprint-sketch{display:block;width:100%;height:180px;border:1px solid #74b9b43b;border-radius:9px;background-color:#0b2028;background-image:radial-gradient(#83cfc327 1px,transparent 1px);background-size:13px 13px;margin-top:12px}
.blueprint-sketch rect{fill:#28494e;stroke:#d6bd7d;stroke-width:2}
.blueprint-sketch path{fill:none;stroke:#78cabc;stroke-width:3;stroke-dasharray:8 5;opacity:.8}
.blueprint-sketch text{fill:#f0e6c7;font:14px system-ui,sans-serif}
.blueprint-sketch circle{fill:#6ce0b1;filter:drop-shadow(0 0 8px #6ce0b1)}
.blueprint-sketch circle.paused{fill:#d39b52;filter:none}
.blueprint-sketch circle.blueprint-open-port{fill:#ffad50;stroke:#162f35;stroke-width:4;filter:none}
.blueprint-selection-hint,.blueprint-module-ports p{font-size:13px;line-height:1.55;color:#b8c9c3;margin:6px 0 12px}
.blueprint-selection-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.blueprint-selection-actions button{flex:1;padding:7px;font-size:13px}
.blueprint-node-list{max-height:240px;overflow-y:auto;overscroll-behavior:contain}
.blueprints-layout label.blueprint-node-choice{display:flex;align-items:center;gap:10px;margin:0 0 6px;padding:8px;min-height:56px;border:1px solid #67868250;border-radius:6px;background:#122a30;cursor:pointer}
.blueprint-node-choice:has(input:checked){border-color:#e3bc72;background:#31443a}
.blueprints-layout .blueprint-node-choice input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:#e3bc72}
.blueprint-node-choice span{display:grid;gap:4px;overflow-wrap:anywhere}
.blueprint-node-choice small{font-size:12px;color:#a6b9b7}
.blueprint-selection-count{font-size:14px;line-height:1.5;color:#e3bc72}
.blueprint-module-ports{border-left:3px solid #ffad50;padding:1px 12px;margin:14px 0 18px;background:#172e32}
.blueprint-module-ports h4{margin:12px 0 8px}
.blueprint-module-ports ul{list-style:none;margin:0;padding:0}
.blueprint-module-ports li{display:flex;gap:6px 10px;flex-wrap:wrap;border-top:1px solid #61756e55;padding:10px 0;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.blueprint-module-ports li>span:last-child{flex-basis:100%;color:#b8c9c3}
.blueprint-port-direction{color:#ffcb83}
#blueprint-module-selection[hidden],#blueprint-module-draft[hidden]{display:none}
.blueprint-position{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.blueprints-layout fieldset{margin:0 0 14px;border:1px solid #597d744f;border-radius:7px;padding:12px}
.blueprints-layout legend{font-size:13px;color:#b2c4bb;padding:0 6px}
.blueprint-cost{display:flex;flex-wrap:wrap;gap:7px}
.blueprint-cost span{border:1px solid #80a89a44;padding:6px 10px;border-radius:5px;font-size:14px;background:#213c3b80}
.blueprint-feedback{font-size:14px;line-height:1.5;min-height:22px;padding:8px 10px;border-left:3px solid #89c8a7;background:#172e32}
.blueprint-feedback.needs-attention{border-color:#ffad50;color:#ffcb83}
.blueprint-feedback.healthy{color:#97e4bc}
.blueprint-rules{margin-top:16px;font-size:13px;line-height:1.55;color:#b8c9c3}
.blueprint-rules summary{cursor:pointer;min-height:44px;display:list-item;padding:8px 0;color:#d8cfac}
@media(max-width:650px){#blueprints-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:19px 14px 14px}.blueprints-layout{grid-template-columns:1fr;gap:12px}.blueprints-library{border-right:0;border-bottom:1px solid #56706c55;padding:0 0 16px}.blueprints-list{max-height:170px}.blueprint-sketch{height:150px}.blueprints-layout h3{font-size:20px}.blueprints-layout button{font-size:14px}.blueprints-layout .primary-button{width:100%}.blueprint-position{gap:8px}}
@media(prefers-reduced-motion:reduce){.blueprint-sketch *{animation:none!important}}
