@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.mermaid{color:#f8fafc}.tech-node{text-align:center;flex-direction:column;justify-content:space-between;align-items:center;gap:8px;display:flex;background:#192434!important;border:1px solid #334155!important;border-top:3px solid #f90!important;border-radius:4px!important;box-shadow:0 4px 6px #0000004d!important}.tech-node-sm{min-width:100px;min-height:100px;padding:16px 8px}.tech-node-md{min-width:140px;min-height:140px;padding:24px 12px}.tech-node-lg{min-width:180px;min-height:160px;padding:24px 16px}.tech-text{flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;display:flex}.tech-text span.title{color:#e2e8f0;font-size:14px;font-weight:800;line-height:1.2}.tech-text span.subtitle{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.tech-text span.desc{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:11px;font-weight:400;overflow:hidden}.tech-node img{object-fit:contain;background:0 0;border:none;width:48px;height:48px;padding:4px;transition:all .2s}.tech-node:hover{border-color:#e2e8f0!important}.tech-node span{color:#e2e8f0;text-align:center;font-size:.85rem;font-weight:600;line-height:1.2}.mermaid .cluster rect{stroke-dasharray:4 4!important;stroke:#f90!important;stroke-width:1.5px!important;fill:#ff990005!important;rx:2px!important}.mermaid .cluster .label{fill:#f90!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-size:13px!important;font-weight:700!important}.mermaid .node rect,.mermaid .node circle,.mermaid .node polygon,.mermaid .node path{stroke-width:2px;rx:4px!important}.mermaid .edgePath path{stroke-width:2px}.mermaid .edgeLabel{background-color:#0000!important}.mermaid .labelBkg,.mermaid rect.label-container{fill:#0000!important;stroke:none!important;background-color:#0000!important}.mermaid .edgeLabel span{border:1px solid #334155;border-radius:4px!important;padding:2px 6px!important;font-size:12px!important;font-weight:600!important}.mermaid .edgeLabel:empty,.mermaid .edgeLabel span:empty{display:none!important}.mermaid .label{font-size:14px!important;font-weight:600!important}.mermaid-wrapper svg{cursor:grab}.mermaid-wrapper svg:active{cursor:grabbing}#svg-pan-zoom-controls{transform:translate(10px,10px)}#svg-pan-zoom-controls rect{fill:#ffffff0d!important;stroke:#ffffff1a!important}#svg-pan-zoom-controls path{fill:#38bdf8!important}.planet-dot[data-astro-cid-4ie4z22y]{filter:brightness(45%)saturate(70%);border-radius:50%;transition:all .6s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 0 15px #ffffff0d}.planet-dot[data-astro-cid-4ie4z22y].is-disabled{filter:brightness(20%)saturate(0%);box-shadow:none;cursor:not-allowed}.planet-dot[data-astro-cid-4ie4z22y].is-disabled>span[data-astro-cid-4ie4z22y]{color:#fff6}.planet-dot[data-astro-cid-4ie4z22y]:after{content:"";opacity:0;border:1px solid #10b9814d;border-radius:50%;transition:all .6s cubic-bezier(.16,1,.3,1);position:absolute;inset:-4px;transform:scale(.5)}.planet-dot[data-astro-cid-4ie4z22y].active{transform:scale(1.15);box-shadow:0 0 35px #10b981;filter:brightness()saturate()!important;background:#10b981!important}.planet-dot[data-astro-cid-4ie4z22y].active:after{opacity:.5;transform:scale(1.35)}.planet-dot-1[data-astro-cid-4ie4z22y]{background:#10b981;width:6px;height:6px}.planet-dot-2[data-astro-cid-4ie4z22y]{background:#3b82f6;width:12px;height:12px}.planet-dot-3[data-astro-cid-4ie4z22y]{background:#8b5cf6;width:22px;height:22px}.planet-dot-4[data-astro-cid-4ie4z22y]{background:#f59e0b;width:28px;height:28px}.planet-dot-5[data-astro-cid-4ie4z22y]{background:#ef4444;width:36px;height:36px}.tech-icon-grid[data-astro-cid-4eftenvv]{grid-template-columns:repeat(24,minmax(0,1fr));display:grid}@media (width<=1200px){.tech-icon-grid[data-astro-cid-4eftenvv]{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (width<=768px){.tech-icon-grid[data-astro-cid-4eftenvv]{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width<=480px){.tech-icon-grid[data-astro-cid-4eftenvv]{grid-template-columns:repeat(6,minmax(0,1fr))}}.blueprint-article{perspective:1000px}.content-section h2{letter-spacing:-.02em;background:linear-gradient(90deg,#fff,#666);-webkit-text-fill-color:transparent;border-left:4px solid var(--segment-color);-webkit-background-clip:text;padding-left:1rem;color:#fff!important;margin-top:3rem!important;margin-bottom:1.5rem!important;font-size:2.25rem!important;font-weight:900!important}.content-section h3{color:#fff!important;margin-top:2rem!important;font-size:1.5rem!important;font-weight:800!important}.content-section h3:before{content:"§";color:var(--segment-color);margin-right:.5rem}.content-section p{margin-bottom:1.5rem!important}.content-section p:first-of-type:first-letter{color:var(--segment-color);float:left;margin-right:.25rem;font-size:2.5rem;font-weight:900;line-height:1}.content-section ul,.content-section ol{border:1px solid #ffffff0d;border-left:2px solid rgba(var(--segment-color-rgb), .5);background:linear-gradient(to bottom right,#ffffff0d,#0000);border-radius:1.5rem;margin-bottom:2rem!important;padding:2rem 2.5rem!important}.content-section li{position:relative;margin-bottom:.75rem!important}.content-section ul li:before{content:"→";color:var(--segment-color);font-weight:700;position:absolute;left:-1.5rem}.content-section ol{counter-reset:step}.content-section ol li:before{counter-increment:step;content:counter(step);background:rgba(var(--segment-color-rgb), .2);width:1.5rem;height:1.5rem;color:var(--segment-color);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:.2rem;left:-2rem}.content-section li:has(input[type=checkbox]){position:relative;padding-left:2rem!important;display:block!important}.content-section li input[type=checkbox]{accent-color:var(--segment-color);cursor:pointer;width:1.25rem;height:1.25rem;position:absolute;top:.35rem;left:0;margin:0!important}.content-section li::marker{content:none}.content-section li:has(input[type=checkbox])::marker{content:none}.content-section li:has(input[type=checkbox]):before{content:none}.content-section strong{color:#fff;font-weight:700}.content-section table{border:1px solid #ffffff1a;border-radius:1rem;overflow:hidden}.content-section table th{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;background:#ffffff0d!important}@media print{header,.breadcrumb,#progress-widget,nav,footer,.cost-estimator-container{display:none!important}.blueprint-detail-container{max-width:100%!important;padding:0!important}.blueprint-article{perspective:none!important}.blueprint-title{color:#000!important;-webkit-text-fill-color:black!important;background:0 0!important;margin-bottom:1rem!important;font-size:2.5rem!important}.metadata-bar{box-shadow:none!important;color:#000!important;background:0 0!important;border:1px solid #ccc!important;gap:1rem!important;padding:1rem!important}.meta-segment-accent{display:none!important}.meta-item span{color:#000!important}.meta-item span.text-emerald-400{color:#059669!important}.mermaid-wrapper{box-shadow:none!important;background:#fff!important;border:1px solid #ddd!important;overflow:visible!important}.mermaid-wrapper .absolute{display:none!important}.content-section{color:#000!important;box-shadow:none!important;background:#fff!important;border:none!important;padding:0!important}.content-section h2{border-bottom:2px solid #eee;color:#000!important;-webkit-text-fill-color:black!important;background:0 0!important;margin-top:2rem!important;font-size:1.8rem!important}.content-section h3{color:#333!important;margin-top:1.5rem!important}.content-section p,.content-section li,.content-section strong{color:#000!important}.content-section ul,.content-section ol{background:0 0!important;border:none!important;padding-left:1rem!important}.content-section input[type=checkbox]{border:1px solid #000!important}body:after{content:"Generated by Webomage Blueprints - webomage.com";text-align:center;color:#666;border-top:1px solid #ddd;margin-top:2rem;padding-top:1rem;font-size:10px;display:block}}
