:root{--bg:#eef3f7;--panel:hsla(0,0%,100%,.88);--surface:#fff;--ink:#102033;--muted:#546579;--line:rgba(16,32,51,.12);--teal:#0c8f87;--teal-strong:#086962;--gold:#f2b544;--coral:#ef6f6c;--sky:#53b8f4;--shadow:0 16px 36px rgba(29,46,68,.12)}*{box-sizing:border-box}html{background:linear-gradient(180deg,#eff5fb,#e8f0f6)}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.brand{font-size:1.1rem;font-weight:700}.nav{display:flex;gap:1rem;color:var(--muted);flex-wrap:wrap}.app-page,.workspace-page{padding:1rem 1.5rem 2rem}.page-band{margin-bottom:1.5rem}.intro-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);grid-gap:1.25rem;gap:1.25rem;align-items:stretch}.editor-panel,.intro-copy,.summary-panel,.topology-card,.workspace-canvas-panel,.workspace-inspector{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.intro-copy{padding:1.5rem}.intro-copy h1,.section-headline h1,.workspace-header h1{margin:0;font-size:clamp(2rem,3vw,3.3rem);line-height:1.02}.lede,.muted-text{color:var(--muted)}.kicker,.section-label{margin:0 0 .45rem;color:var(--teal);font-size:.75rem;text-transform:uppercase;font-weight:700}.button-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.7rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.secondary{background:#fff;color:var(--ink)}.intro-visual{min-height:320px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.intro-visual img{width:100%;height:100%;object-fit:cover;display:block}.section-headline{margin-bottom:1rem}.project-grid,.topology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.project-card,.topology-card{display:block;padding:1rem}.project-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.stage-pill{display:inline-flex;align-items:center;height:28px;padding:0 .7rem;border-radius:999px;background:rgba(12,143,135,.12);color:var(--teal-strong);font-size:.8rem}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:1rem 0 0}.meta-grid dt{color:var(--muted);font-size:.8rem}.meta-grid dd{margin:.2rem 0 0}.stage-nav{display:flex;gap:.75rem;flex-wrap:wrap;padding:0 1.5rem 1rem}.stage-link{display:inline-flex;align-items:center;height:40px;padding:0 .9rem;border:1px solid var(--line);border-radius:8px;background:hsla(0,0%,100%,.74);color:var(--muted)}.stage-link.is-active{color:var(--ink);border-color:rgba(12,143,135,.35);background:rgba(12,143,135,.1)}.stage-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);grid-gap:1rem;gap:1rem}.editor-panel,.summary-panel,.workspace-canvas-panel,.workspace-inspector{padding:1rem}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.compact-grid{margin-bottom:.9rem}.field{display:flex;flex-direction:column;gap:.4rem}.field-span{grid-column:span 2}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:.8rem .9rem;background:#fff}textarea{min-height:120px;resize:vertical}.plain-list{margin:0;padding-left:1rem}.plain-list.compact li+li{margin-top:.35rem}.stat-stack{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.stat-stack div{display:flex;justify-content:space-between;padding:.75rem 0;border-top:1px solid var(--line)}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{text-align:left;padding:.85rem .5rem;border-bottom:1px solid var(--line)}.program-actions{margin-bottom:1rem}.inline-error{margin:.5rem 0 0;color:#9f2d2d}.mini-heading{margin:1rem 0 .45rem;font-size:.85rem;font-weight:700}.topology-card.is-selected{border-color:rgba(12,143,135,.35)}.workspace-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1rem}.workspace-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted)}.workspace-shell{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr) 180px;grid-gap:1rem;gap:1rem;align-items:start}.workspace-inspector section+section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.summary-panel h2,.workspace-inspector h2{margin:0 0 .6rem;font-size:1rem}.branch-list,.chip-group{display:flex;gap:.5rem;flex-wrap:wrap}.branch-chip,.chip{min-height:36px;padding:.45rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.branch-chip.is-active,.chip.is-active{border-color:rgba(12,143,135,.35);background:rgba(12,143,135,.1)}.metric-stack{display:grid;grid-gap:.55rem;gap:.55rem}.canvas-toolbar,.metric-row,.playback-bar{display:flex;justify-content:space-between;align-items:center}.canvas-toolbar,.playback-bar{gap:.75rem;flex-wrap:wrap}.toolbar-hint{color:var(--muted);font-size:.92rem}.legend-row{display:flex;gap:.7rem;align-items:center;color:var(--muted);font-size:.9rem}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.is-pin,.pin-dot{background:var(--coral)}.fork-dot,.is-fork{background:var(--sky)}.is-autosave,.is-milestone,.milestone-dot{background:var(--gold)}.design-canvas{position:relative;margin:1rem 0;min-height:70vh;border-radius:8px;border:1px solid rgba(12,143,135,.18);background:linear-gradient(180deg,hsla(0,0%,100%,.9),rgba(245,250,253,.88)),radial-gradient(circle at top left,rgba(83,184,244,.1),transparent 34%);overflow:hidden;touch-action:none}.canvas-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.circulation-line{fill:none;stroke:rgba(83,184,244,.75);stroke-width:.6;stroke-linecap:round;stroke-linejoin:round}.room-connector{stroke:rgba(16,32,51,.18);stroke-width:.28}.design-canvas:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,32,51,.05) 1px,transparent 0),linear-gradient(90deg,rgba(16,32,51,.05) 1px,transparent 0);background-size:40px 40px;pointer-events:none}.courtyard-void{position:absolute;border-radius:8px;border:2px dashed rgba(12,143,135,.35);background:rgba(12,143,135,.06)}.room-block{position:absolute;border:1px solid rgba(16,32,51,.16);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#102033;font-weight:700;transition:transform .16s ease,box-shadow .16s ease;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;cursor:-webkit-grab;cursor:grab}.room-block.is-blocked{animation:room-block-hit .34s cubic-bezier(.22,1,.36,1)}.room-block[data-pin-mode=hard]{cursor:not-allowed}.room-block.is-selected{transform:scale(1.03);box-shadow:0 0 0 2px rgba(12,143,135,.25)}.room-block.is-external{background-image:repeating-linear-gradient(135deg,hsla(0,0%,100%,.18) 0 8px,rgba(16,32,51,.04) 8px 16px);border-style:dashed}.room-block.is-parked{box-shadow:inset 0 0 0 1px rgba(16,32,51,.08)}.room-label{pointer-events:none}.room-detach-icon{position:absolute;top:6px;left:6px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid rgba(16,32,51,.18);background:hsla(0,0%,100%,.82);color:var(--muted);font-size:.72rem;font-weight:700;cursor:pointer}.room-block-ghost{z-index:2;pointer-events:none;opacity:.72;animation:room-block-ghost .34s cubic-bezier(.22,1,.36,1) forwards}.room-block-ghost:after,.room-block-ghost:before{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;border:inherit;opacity:.55}.room-block-ghost:before{transform:translate(var(--blocked-trail-x-1,0),var(--blocked-trail-y-1,0))}.room-block-ghost:after{transform:translate(var(--blocked-trail-x-2,0),var(--blocked-trail-y-2,0));opacity:.3}.room-pin-controls{position:absolute;top:6px;right:6px;display:inline-flex;gap:4px}.room-pin-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid rgba(16,32,51,.18);background:hsla(0,0%,100%,.82);color:var(--muted);font-size:.72rem;font-weight:700;cursor:pointer}.room-pin-icon.is-active{border-color:rgba(12,143,135,.48);background:rgba(12,143,135,.14);color:var(--teal-strong)}.room-pin-icon[aria-disabled=true]{opacity:.45}.circulation-point{position:absolute;width:16px;height:16px;margin-left:-8px;margin-top:-8px;border-radius:999px;border:2px solid rgba(83,184,244,.95);background:#fff;box-shadow:0 2px 8px rgba(16,32,51,.15);z-index:4;cursor:-webkit-grab;cursor:grab}.circulation-point:active{cursor:-webkit-grabbing;cursor:grabbing}.vertical-timeline{position:-webkit-sticky;position:sticky;top:88px;min-height:72vh;border-radius:8px;border:1px solid var(--line);background:hsla(0,0%,100%,.78);overflow:hidden}.timeline-rail{position:absolute;left:44px;top:24px;bottom:24px;width:2px;background:linear-gradient(180deg,rgba(83,184,244,.45),rgba(12,143,135,.45))}.timeline-marker{position:absolute;left:14px;right:12px;display:grid;grid-template-columns:20px 1fr;grid-gap:.5rem;gap:.5rem;align-items:center;background:none;border:0;text-align:left;cursor:pointer}.marker-core{width:18px;height:18px;border-radius:999px;border:2px solid var(--teal);background:#fff;justify-self:center}.timeline-marker.is-current .marker-core{background:var(--teal)}.marker-label{font-size:.85rem;color:var(--muted)}.marker-badge{grid-column:2;font-size:.72rem;color:var(--ink);padding-left:.1rem}@keyframes room-block-hit{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(12,143,135,0)}40%{transform:scale(1.04);box-shadow:0 0 0 3px rgba(12,143,135,.18)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(12,143,135,0)}}@keyframes room-block-ghost{0%{opacity:.72}65%{opacity:.32}to{left:var(--blocked-to-x,auto);top:var(--blocked-to-y,auto);opacity:0}}@media (max-width:1100px){.field-grid,.intro-band,.project-grid,.stage-layout,.topology-grid,.workspace-shell{grid-template-columns:1fr}.field-span{grid-column:auto}.vertical-timeline{min-height:220px;position:relative;top:auto}.design-canvas{min-height:58vh}}.compact{gap:.35rem}.review-item{border-top:1px solid var(--line);padding-top:1rem}.knowledge-layout{padding:0}.workflow-flags{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.checkbox-row{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted)}.checkbox-row input{width:auto}.error{color:#9f1d26}.pattern-page{background:radial-gradient(circle at 12% 10%,rgba(242,181,68,.18),transparent 28rem),radial-gradient(circle at 88% 8%,rgba(12,143,135,.16),transparent 24rem)}.pattern-hero{border-left:6px solid var(--teal)}.pattern-list{margin-top:1rem;max-height:70vh;overflow:auto}.pattern-detail h3,.pattern-form legend{color:var(--teal-strong)}.pattern-form{display:grid;grid-gap:1rem;gap:1rem}.pattern-form fieldset{display:grid;grid-gap:.75rem;gap:.75rem;border:1px solid var(--line);border-radius:8px;padding:1rem;background:hsla(0,0%,100%,.5)}.pattern-form.compact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.pattern-form.compact button,.pattern-form.compact textarea{grid-column:1/-1}.pattern-form input,.pattern-form select,.pattern-form textarea,.pattern-page input,.pattern-page select,.pattern-page textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:.75rem}.pattern-form textarea{min-height:96px;resize:vertical}.pattern-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem}.pattern-image-item{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.pattern-image-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f3f5f4}.pattern-image-item figcaption{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;font-size:.85rem;color:var(--muted)}.pattern-image-item figcaption span{overflow-wrap:anywhere}.selector{border:1px solid var(--line);background:#fff;text-align:left;width:100%;cursor:pointer}.selector.selected{border-color:rgba(12,143,135,.65);box-shadow:0 0 0 3px rgba(12,143,135,.1)}.status-chip{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;min-height:28px;padding:.15rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;text-transform:capitalize}.status-chip.is-approved{background:rgba(12,143,135,.14);color:#0b6c65}.status-chip.is-review{background:rgba(242,181,68,.22);color:#8f5a00}.status-chip.is-draft{background:rgba(83,184,244,.16);color:#135b88}.status-chip.is-archived{background:rgba(84,101,121,.14);color:#465868}@media (max-width:900px){.dashboard-grid,.hero,.pattern-form.compact,.project-grid,.two-column{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:.8rem}}