.architect-hero{position:relative;overflow:hidden;padding:clamp(8rem,14vw,12rem) 0 5rem;border-bottom:1px solid var(--buddy-line)}
.architect-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,6vw,7rem);align-items:end;position:relative;z-index:1}
.architect-hero h1{font-size:clamp(3rem,7vw,7.6rem);line-height:.88;letter-spacing:-.06em;margin:.65rem 0 1.5rem;max-width:1000px}.architect-hero h1 span{color:var(--buddy-cyan)}
.architect-lead{font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--buddy-muted);max-width:760px;line-height:1.65}.architect-trust{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.architect-trust span{border:1px solid var(--buddy-line);padding:.55rem .75rem;font-size:.7rem;letter-spacing:.12em;color:var(--buddy-ice)}
.architect-hero-panel{border:1px solid var(--buddy-line);background:linear-gradient(145deg,rgba(0,221,253,.08),rgba(136,108,255,.03));padding:1.5rem;min-height:180px;display:flex;flex-direction:column;justify-content:flex-end}.architect-hero-panel strong{font-size:2.2rem;color:var(--buddy-cyan);margin:.35rem 0}.architect-hero-panel p{color:var(--buddy-muted);margin:0}
.architect-workspace-section{padding-top:5rem}.architect-workspace{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}.architect-input-panel,.architect-output-panel{border:1px solid var(--buddy-line);background:rgba(8,17,28,.78);padding:clamp(1.2rem,2.4vw,2rem)}
.architect-step{display:flex;gap:1rem;align-items:flex-start}.architect-step>span{display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid rgba(0,221,253,.4);color:var(--buddy-cyan);font:700 .75rem/1 monospace}.architect-step h2,.architect-output-head h2{margin:.2rem 0 1.2rem;font-size:clamp(1.65rem,2.5vw,2.6rem)}
.architect-input-panel>label{display:block;margin:1.4rem 0 .55rem;font-weight:700}.architect-input-panel textarea{width:100%;resize:vertical;min-height:150px;border:1px solid var(--buddy-line);background:#06101a;color:var(--buddy-text);padding:1rem;font:inherit;line-height:1.55}.architect-input-panel textarea:focus{outline:2px solid rgba(0,221,253,.35);border-color:var(--buddy-cyan)}
.architect-presets{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:1rem 0}.architect-presets button{border:1px solid var(--buddy-line);background:rgba(255,255,255,.015);color:var(--buddy-text);padding:.8rem;text-align:left;cursor:pointer}.architect-presets button:hover,.architect-presets button:focus-visible{border-color:rgba(0,221,253,.55);background:rgba(0,221,253,.05)}.architect-presets b,.architect-presets span{display:block}.architect-presets span{font-size:.76rem;color:var(--buddy-muted);margin-top:.3rem;line-height:1.35}
.architect-signals{border:0;padding:0;margin:1.2rem 0}.architect-signals legend{font-size:.72rem;letter-spacing:.12em;color:var(--buddy-muted);margin-bottom:.65rem}.architect-signals{display:flex;flex-wrap:wrap;gap:.45rem}.architect-signals legend{width:100%}.architect-signals label{cursor:pointer}.architect-signals input{position:absolute;opacity:0}.architect-signals span{display:block;border:1px solid var(--buddy-line);padding:.48rem .68rem;font-size:.78rem}.architect-signals input:checked+span{border-color:var(--buddy-cyan);color:var(--buddy-cyan);background:rgba(0,221,253,.07)}
.architect-build-button{width:100%;justify-content:center}.architect-error{color:#ff7b86}
.architect-output-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.architect-state{font:700 .7rem/1 monospace;color:var(--buddy-cyan);border:1px solid rgba(0,221,253,.28);padding:.65rem .75rem;white-space:nowrap}.architect-map-stage{position:relative;min-height:620px;border:1px solid var(--buddy-line);background:radial-gradient(circle at 50% 40%,rgba(0,221,253,.07),transparent 40%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;overflow:hidden}.architect-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:2}.architect-empty[hidden]{display:none}.architect-empty strong{font-size:1.8rem}.architect-empty p{color:var(--buddy-muted);max-width:300px}.architect-orbit{width:120px;height:120px;border:1px solid rgba(0,221,253,.35);border-radius:50%;margin:0 auto -78px;box-shadow:0 0 80px rgba(0,221,253,.08)}
.architect-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.architect-lines path{fill:none;stroke:rgba(0,221,253,.2);stroke-width:1.25;stroke-dasharray:7 8;animation:architectFlow 8s linear infinite}.architect-node-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:1rem;align-content:center;min-height:620px}.architect-system-node{min-height:115px;border:1px solid rgba(141,238,255,.18);background:rgba(7,17,29,.92);color:var(--buddy-text);padding:1rem;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,background .2s;animation:nodeIn .45s both;animation-delay:calc(var(--node-index) * 25ms)}.architect-system-node:hover,.architect-system-node:focus-visible{transform:translateY(-3px);border-color:var(--buddy-cyan);background:rgba(0,221,253,.06)}.architect-system-node span,.architect-system-node small{display:block;color:var(--buddy-muted);font-size:.65rem;letter-spacing:.1em}.architect-system-node strong{display:block;margin:.55rem 0;font-size:1rem}.architect-output-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem}.architect-save-status{color:var(--buddy-muted);font-size:.8rem;text-align:right;min-height:1.2rem}
.architect-catalog-section{border-top:1px solid var(--buddy-line)}.architect-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:2rem}.architect-catalog-card{min-height:190px;border:1px solid var(--buddy-line);background:rgba(255,255,255,.015);color:var(--buddy-text);padding:1rem;text-align:left;cursor:pointer;display:flex;flex-direction:column}.architect-catalog-card>span{font-size:.65rem;letter-spacing:.11em;color:var(--buddy-muted)}.architect-catalog-card strong{font-size:1.05rem;margin:.65rem 0}.architect-catalog-card small{color:var(--buddy-muted);line-height:1.45;flex:1}.architect-catalog-card b{margin-top:1rem;font-size:.7rem;color:var(--buddy-cyan)}.architect-catalog-card.active{border-color:rgba(0,221,253,.55);background:rgba(0,221,253,.055)}
.architect-detail-drawer{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.68);display:grid;justify-items:end}.architect-detail-drawer[hidden]{display:none}.architect-drawer-panel{width:min(460px,100%);height:100%;background:#07111d;border-left:1px solid var(--buddy-line);padding:clamp(1.4rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;position:relative}.architect-drawer-close{position:absolute;top:1rem;right:1rem;width:42px;height:42px;border:1px solid var(--buddy-line);background:transparent;color:var(--buddy-text);font-size:1.5rem;cursor:pointer}.architect-drawer-panel h2{font-size:2.4rem;margin:.7rem 0}.architect-drawer-panel p{color:var(--buddy-muted);line-height:1.65}.architect-drawer-panel .button{margin-top:1.3rem}
@keyframes architectFlow{to{stroke-dashoffset:-120}}@keyframes nodeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.architect-workspace,.architect-hero-grid{grid-template-columns:1fr}.architect-catalog{grid-template-columns:repeat(3,1fr)}.architect-map-stage,.architect-node-grid{min-height:540px}}
@media(max-width:720px){.architect-hero{padding-top:7rem}.architect-hero h1{font-size:clamp(2.7rem,14vw,4.6rem)}.architect-presets{grid-template-columns:1fr}.architect-node-grid{grid-template-columns:1fr 1fr;min-height:auto;padding:.7rem}.architect-map-stage{min-height:0;padding:0}.architect-lines{display:none}.architect-system-node{min-height:105px}.architect-catalog{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.architect-catalog-card{min-width:78vw;scroll-snap-align:start}.architect-output-head{display:block}.architect-state{display:inline-block;margin-bottom:1rem}.architect-output-actions{display:grid;grid-template-columns:1fr}.architect-output-actions .button{justify-content:center}.architect-trust{gap:.35rem}}
@media(prefers-reduced-motion:reduce){.architect-lines path,.architect-system-node{animation:none!important;transition:none!important}}
