@import "https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Inter:wght@300;400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gcp-blue:#4285f4;--gcp-green:#34a853;--gcp-yellow:#fbbc05;--gcp-red:#ea4335;--bg-dark:#f4f7fb;--bg-card:#fff;--bg-card-hover:#f1f6ff;--bg-input:#f6f8fc;--text-primary:#172033;--text-secondary:#4f5f76;--text-muted:#6b7890;--border-color:#d9e1ec;--border-active:#4285f4;--accent-gradient:linear-gradient(135deg, #4285f4 0%, #34a853 50%, #fbbc05 100%);--shadow-lg:0 10px 34px #1f375a1a;--radius:12px;--radius-lg:16px;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-dark:#0e1624;--bg-card:#172235;--bg-card-hover:#1d2b42;--bg-input:#101a2a;--text-primary:#edf3fb;--text-secondary:#b3c0d1;--text-muted:#91a0b4;--border-color:#304159;--shadow-lg:0 12px 40px #00000047}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border-color);z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff0;padding:20px 40px;position:sticky;top:0}@media (prefers-color-scheme:dark){.app-header{background:#0e1624f0}}.header-inner{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.header-brand{align-items:center;gap:16px;display:flex}.brand-icon{background:var(--accent-gradient);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex}.brand-title{background:var(--accent-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-size:1.3rem;font-weight:700}.brand-subtitle{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;font-size:.75rem}.global-progress{align-items:center;gap:16px;display:flex}.progress-track{background:var(--bg-input);border-radius:3px;width:200px;height:6px;overflow:hidden}.progress-fill{background:var(--accent-gradient);border-radius:3px;height:100%;transition:width .5s}.progress-label{color:var(--text-secondary);text-align:right;min-width:80px;font-size:.85rem;font-weight:500}.main-layout{flex:1;width:100%;max-width:1400px;margin:0 auto;display:flex}.sidebar{background:var(--bg-card);border-right:1px solid var(--border-color);flex-shrink:0;width:280px;height:calc(100vh - 85px);padding:24px 0;position:sticky;top:85px;overflow-y:auto}.sidebar-label{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:12px;padding:0 24px;font-size:.7rem;font-weight:600}.step-nav{list-style:none}.step-nav-item{cursor:pointer;transition:var(--transition);color:var(--text-secondary);border-left:3px solid #0000;align-items:center;gap:14px;padding:14px 24px;font-size:.9rem;display:flex;position:relative}.step-nav-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.step-nav-item.active{color:var(--gcp-blue);border-left-color:var(--gcp-blue);background:#4285f414;font-weight:600}.step-nav-item.completed{color:var(--gcp-green)}.step-icon{background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.step-nav-item.active .step-icon{border-color:var(--gcp-blue);color:var(--gcp-blue);background:#4285f426}.step-nav-item.completed .step-icon{border-color:var(--gcp-green);color:var(--gcp-green);background:#34a85326}.content-area{flex:1;min-height:calc(100vh - 85px);padding:40px 48px;overflow-y:auto}.step-header{margin-bottom:36px}.step-badge{text-transform:uppercase;letter-spacing:2px;color:var(--gcp-blue);background:#4285f41a;border-radius:20px;margin-bottom:12px;padding:5px 12px;font-size:.7rem;font-weight:600;display:inline-block}.step-title{letter-spacing:-.5px;margin-bottom:8px;font-size:2rem;font-weight:700}.step-description{color:var(--text-secondary);max-width:700px;font-size:.95rem;line-height:1.7}.question-group{margin-bottom:36px}.group-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:20px;padding-bottom:10px;font-size:1.1rem;font-weight:600;display:flex}.group-title:before{content:"";background:var(--gcp-blue);border-radius:2px;width:4px;height:20px}.q-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);transition:var(--transition);margin-bottom:16px;padding:24px}.q-card:hover{border-color:var(--border-active);box-shadow:0 4px 20px #4285f414}.q-card.answered{border-color:var(--gcp-green);background:#34a85308}.q-label{color:var(--text-primary);margin-bottom:6px;font-size:.95rem;font-weight:600}.q-help{color:var(--text-muted);margin-bottom:14px;font-size:.8rem;line-height:1.5}.q-input{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:var(--transition);border-radius:8px;outline:none;padding:12px 16px;font-family:inherit;font-size:.9rem}.q-input:focus{border-color:var(--gcp-blue);box-shadow:0 0 0 3px #4285f426}.q-input::placeholder{color:var(--text-muted)}textarea.q-input{resize:vertical;min-height:80px}select.q-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238899aa' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.option-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.option-item{background:var(--bg-input);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition);border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:.88rem;line-height:1.4;display:flex}.option-item:hover{border-color:var(--gcp-blue);background:#4285f40d}.option-item.selected{border-color:var(--gcp-blue);background:#4285f41a}.option-item input[type=radio],.option-item input[type=checkbox]{accent-color:var(--gcp-blue);flex-shrink:0;width:16px;height:16px;margin-top:2px}.nav-buttons{border-top:1px solid var(--border-color);justify-content:space-between;margin-top:32px;padding-top:32px;display:flex}.btn{cursor:pointer;transition:var(--transition);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.btn-secondary{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-primary{background:var(--gcp-blue);color:#fff}.btn-primary:hover{background:#3b78e7;box-shadow:0 4px 16px #4285f44d}.btn-success{background:var(--gcp-green);color:#fff}.btn-success:hover{background:#2d9249;box-shadow:0 4px 16px #34a8534d}.btn:disabled{opacity:.4;cursor:not-allowed}.proposal-container{width:100%;max-width:1120px}.proposal-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:24px;padding:32px}.proposal-section h3{align-items:center;gap:10px;margin-bottom:20px;font-size:1.2rem;display:flex}.arch-diagram{border:1px solid var(--border-color);border-radius:var(--radius);background:#fff;margin-bottom:24px;padding:0;overflow-x:auto}@media (prefers-color-scheme:dark){.arch-diagram{background:#111c2c}}.arch-diagram svg{max-width:100%}.proposal-table{border-collapse:collapse;width:100%}.proposal-table th,.proposal-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:.88rem}.proposal-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:600}.proposal-table td{color:var(--text-primary)}.tag{border-radius:6px;padding:3px 10px;font-size:.78rem;font-weight:500;display:inline-block}.tag-blue{color:var(--gcp-blue);background:#4285f426}.tag-green{color:var(--gcp-green);background:#34a85326}.tag-yellow{color:var(--gcp-yellow);background:#fbbc0526}.tag-red{color:var(--gcp-red);background:#ea433526}.recommendation-card{background:var(--bg-input);border-left:3px solid var(--gcp-blue);border-radius:10px;margin-bottom:12px;padding:20px}.recommendation-card h4{margin-bottom:8px;font-size:.95rem}.recommendation-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.action-bar{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.content-area>*{animation:.4s forwards fadeInUp}@media (width<=1024px){.sidebar{width:240px}.content-area{padding:32px 24px}}@media (width<=768px){.sidebar{display:none}.app-header{padding:16px 20px}.content-area{padding:24px 16px}.option-grid{grid-template-columns:1fr}}.welcome-screen{flex:1;justify-content:center;align-items:center;padding:60px 24px;display:flex}.welcome-card{text-align:center;max-width:680px;position:relative}.welcome-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#4285f426 0%,#0000 70%);width:400px;height:400px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.welcome-icon{margin-bottom:16px;font-size:3rem;display:block}.welcome-title{background:var(--accent-gradient);-webkit-text-fill-color:transparent;z-index:1;-webkit-background-clip:text;margin-bottom:20px;font-size:2.6rem;font-weight:700;line-height:1.3;position:relative}.welcome-desc{color:var(--text-secondary);z-index:1;margin-bottom:36px;font-size:1.05rem;line-height:1.8;position:relative}.welcome-pillars{z-index:1;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px;display:flex;position:relative}.pillar-chip{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);transition:var(--transition);border-radius:24px;align-items:center;gap:6px;padding:8px 18px;font-size:.85rem;font-weight:500;display:inline-flex}.pillar-chip:hover{border-color:var(--gcp-blue);transform:translateY(-2px)}.welcome-actions{z-index:1;justify-content:center;gap:14px;margin-bottom:24px;display:flex;position:relative}.welcome-tools{z-index:1;justify-content:center;gap:12px;margin-bottom:32px;display:flex;position:relative}.welcome-footer{z-index:1;position:relative}.welcome-footer p{color:var(--text-muted);font-size:.82rem}.welcome-footer a{color:var(--gcp-blue);text-decoration:none}.welcome-footer a:hover{text-decoration:underline}.btn-lg{border-radius:10px;padding:16px 36px;font-size:1rem}.btn-sm{cursor:pointer;border-radius:6px;padding:8px 16px;font-size:.8rem}.step-nav-text{flex-direction:column;flex:1;gap:2px;display:flex}.step-counter{color:var(--text-muted);font-size:.7rem;font-weight:400}.step-nav-item.completed .step-counter{color:var(--gcp-green)}.step-nav-divider{background:var(--border-color);height:1px;margin:8px 24px}.sidebar-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:6px;margin-top:auto;padding:16px 20px;display:flex}.sidebar-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition);text-align:center;white-space:nowrap;border-radius:6px;flex:1;padding:8px 10px;font-family:inherit;font-size:.72rem}.sidebar-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sidebar-btn.danger:hover{border-color:var(--gcp-red);color:var(--gcp-red);background:#ea43351a}.step-mini-progress{align-items:center;gap:12px;margin-top:16px;display:flex}.step-mini-track{background:var(--bg-input);border-radius:2px;flex:1;max-width:300px;height:4px;overflow:hidden}.step-mini-fill{background:var(--gcp-green);border-radius:2px;height:100%;transition:width .4s}.step-mini-label{color:var(--text-muted);white-space:nowrap;font-size:.78rem}.q-check{width:20px;height:20px;color:var(--gcp-green);background:#34a85326;border-radius:50%;justify-content:center;align-items:center;margin-left:8px;font-size:.7rem;font-weight:700;display:inline-flex}.sidebar{flex-direction:column;display:flex}.step-nav{flex:1;overflow-y:auto}.review-container{max-width:900px}.review-stats{gap:16px;margin-top:24px;display:flex}.review-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);text-align:center;flex:1;padding:20px}.review-stat-value{color:var(--gcp-blue);margin-bottom:4px;font-size:2rem;font-weight:700}.review-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.78rem}.review-step-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);margin-bottom:16px;overflow:hidden}.review-step-section:hover{border-color:#4285f44d}.review-step-header{cursor:pointer;border-bottom:1px solid var(--border-color);transition:var(--transition);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.review-step-header:hover{background:var(--bg-card-hover)}.review-step-left{align-items:center;gap:14px;display:flex}.review-step-icon{background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;display:flex}.review-step-icon.done{border-color:var(--gcp-green);color:var(--gcp-green);background:#34a85326;font-weight:700}.review-step-title{margin:0;font-size:1rem;font-weight:600}.review-step-count{color:var(--text-muted);font-size:.75rem}.review-edit-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition);border-radius:6px;padding:6px 14px;font-family:inherit;font-size:.78rem}.review-edit-btn:hover{border-color:var(--gcp-blue);color:var(--gcp-blue);background:#4285f41a}.review-answers-grid{grid-template-columns:1fr;gap:8px;padding:16px 24px;display:grid}.review-answer-item{background:var(--bg-input);border-left:3px solid var(--gcp-green);border-radius:8px;align-items:flex-start;gap:12px;padding:10px 14px;font-size:.85rem;display:flex}.review-answer-item.empty{border-left-color:var(--border-color);opacity:.6}.review-answer-label{width:200px;color:var(--text-muted);flex-shrink:0;font-size:.8rem;font-weight:500}.review-answer-value{color:var(--text-primary);flex:1;line-height:1.6}.review-answer-value.placeholder{color:var(--text-muted);font-style:italic}.review-tag{color:var(--gcp-blue);background:#4285f41a;border:1px solid #4285f433;border-radius:12px;margin:2px 4px 2px 0;padding:2px 10px;font-size:.78rem;display:inline-block}.review-pre{white-space:pre-wrap;color:var(--text-primary);margin:0;font-family:SF Mono,Monaco,monospace;font-size:.83rem;line-height:1.6}@media (width<=768px){.review-stats{flex-direction:column}.review-answer-item{flex-direction:column;gap:4px}.review-answer-label{width:auto}}@media print{.app-header,.sidebar,.nav-buttons,.action-bar,.transform-controls{display:none!important}.content-area{padding:0!important;overflow:visible!important}.proposal-container{width:100%!important;max-width:100%!important}.react-transform-component{width:100%!important;height:auto!important;overflow:visible!important;transform:none!important}.react-transform-wrapper{width:100%!important;height:auto!important;overflow:visible!important}.custom-diagram-wrapper{background:0 0!important;min-height:auto!important;padding:20px 0!important;overflow:visible!important}.zones-layout{flex-wrap:nowrap!important;width:100%!important;overflow:visible!important}.proposal-section{break-inside:avoid;color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #ddd!important;margin-bottom:20px!important;padding:24px!important}.proposal-section h3{color:#1a73e8!important}.proposal-section p,.proposal-section td,.proposal-section th{color:#202124!important}.recommendation-card{border:1px solid #e8eaed!important;border-left:4px solid var(--gcp-blue)!important;box-shadow:none!important;background:#f8f9fa!important}.recommendation-card h4{color:#202124!important}.recommendation-card p{color:#5f6368!important}body{color:#000!important;background:#fff!important}}.custom-diagram-wrapper{color:#172033;scrollbar-gutter:stable;background:#f7f9fc;width:100%;max-width:100%;position:relative;overflow:auto visible}.custom-diagram-wrapper .react-transform-wrapper{overflow:visible!important}.diagram-toolbar{background:#fff;border-bottom:1px solid #dce3ee;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:14px 18px;display:flex}.diagram-toolbar>div:first-child{flex-direction:column;gap:2px;display:flex}.diagram-toolbar strong{letter-spacing:-.1px;font-size:13px}.diagram-kicker{color:#5f6f89;letter-spacing:1.4px;font-size:9px;font-weight:800}.diagram-legend{color:#5f6f89;white-space:nowrap;gap:16px;font-size:10px;display:flex}.diagram-legend span{align-items:center;gap:6px;display:flex}.diagram-legend i{width:18px;height:8px;display:inline-block}.legend-boundary{background:#eef4ff;border:1px dashed #4285f4}.legend-flow{border-top:2px solid #5f6f89;position:relative}.legend-flow:after{content:"";border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:5px solid #5f6f89;position:absolute;top:-4px;right:-1px}.transform-controls{z-index:20;background:#fff;border:1px solid #ccd5e3;border-radius:7px;display:flex;position:absolute;top:72px;right:14px;overflow:hidden;box-shadow:0 2px 8px #2330491a}.transform-controls button{color:#36445c;cursor:pointer;background:#fff;border:0;border-right:1px solid #e1e6ef;min-width:32px;height:30px;padding:0 8px;font-size:12px;font-weight:700}.transform-controls button:last-child{border-right:0}.transform-controls button:hover{color:#1a73e8;background:#eef4ff}.architecture-canvas{box-sizing:border-box;background-image:radial-gradient(#d5dce8 .7px,#0000 .7px);background-size:16px 16px;grid-template-columns:145px minmax(775px,1fr);align-items:stretch;gap:18px;width:100%;min-width:960px;min-height:560px;padding:62px 20px 34px;display:grid}.external-boundary{align-items:stretch;padding-top:42px;display:flex}.cloud-boundary{background:#ffffffc7;border:2px dashed #4285f4;border-radius:14px;min-width:0;padding:58px 16px 16px;position:relative}.cloud-boundary-label{align-items:center;gap:10px;display:flex;position:absolute;top:13px;left:16px}.cloud-boundary-label>div{flex-direction:column;display:flex}.cloud-boundary-label strong{color:#185abc;font-size:13px}.cloud-boundary-label small{color:#6b7890;margin-top:2px;font-size:9px}.gcp-mark{width:28px;height:20px;display:inline-block;position:relative}.gcp-mark i{border-radius:8px;width:12px;height:7px;position:absolute;transform:rotate(-25deg)}.gcp-mark i:first-child{background:#4285f4;top:8px;left:1px}.gcp-mark i:nth-child(2){background:#ea4335;top:2px;left:8px}.gcp-mark i:nth-child(3){background:#fbbc04;top:7px;left:16px}.gcp-mark i:nth-child(4){background:#34a853;top:12px;left:10px}.cloud-layers{grid-template-columns:repeat(4,minmax(165px,1fr));gap:10px;min-height:365px;display:grid}.diagram-zone{background:#f8fafdf5;border:1px solid #d6deea;border-top:4px solid #7e8ba1;border-radius:9px;min-width:0;padding:12px;box-shadow:0 2px 5px #2235540d}.external-boundary .diagram-zone{background:#ffffffe6;border-top-color:#7e8ba1;width:100%}.zone-security{background:#fff8f7;border-top-color:#ea4335}.zone-network{background:#f5f8ff;border-top-color:#4285f4}.zone-compute{background:#f6f9ff;border-top-color:#1a73e8}.zone-data{background:#f5fbf7;border-top-color:#34a853}.zone-header{border-bottom:1px solid #dce3ed;grid-template-columns:27px 1fr;gap:8px;min-height:84px;padding-bottom:11px;display:grid}.zone-index{color:#9aa6b8;padding-top:2px;font-size:10px;font-weight:800}.zone-eyebrow{color:#6d7b91;letter-spacing:.75px;font-size:8px;font-weight:800;display:block}.zone-header h4{color:#25324a;margin:3px 0 2px;font-size:12px;line-height:1.25}.zone-header p{color:#7b879a;margin:0;font-size:9px;line-height:1.35}.nodes-container{flex-direction:column;gap:34px;padding-top:20px;display:flex}.diagram-node{z-index:6;box-sizing:border-box;background:#fff;border:1px solid #cfd8e6;border-left:3px solid #7e8ba1;border-radius:7px;align-items:center;gap:9px;min-height:57px;padding:9px;display:flex;position:relative;box-shadow:0 2px 5px #22355414}.diagram-node.node-security{border-left-color:#ea4335}.diagram-node.node-network,.diagram-node.node-compute{border-left-color:#4285f4}.diagram-node.node-data{border-left-color:#34a853}.diagram-node.node-operations{border-left-color:#f9ab00}.node-icon-shell{color:#fff;background:#7e8ba1;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.node-network .node-icon-shell,.node-compute .node-icon-shell{background:#4285f4}.node-security .node-icon-shell{background:#ea4335}.node-data .node-icon-shell{background:#34a853}.node-operations .node-icon-shell{background:#f9ab00}.node-icon-shell svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.node-icon{object-fit:contain;width:22px;height:22px}.node-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.node-copy strong{color:#26344b;overflow-wrap:anywhere;font-size:10px;line-height:1.25}.node-type{color:#8a96a8;letter-spacing:.65px;text-transform:uppercase;font-size:7px;font-weight:800}.arrow-label{z-index:10;color:#45546c;white-space:nowrap;background:#fffffff5;border:1px solid #d6deea;border-radius:4px;padding:3px 5px;font-size:8px;font-weight:700;display:inline-block;box-shadow:0 1px 3px #22355414}.governance-rail{color:#55491f;background:#fff9e7;border:1px solid #efc74c;border-radius:7px;grid-template-columns:1.25fr repeat(4,1fr);align-items:center;gap:8px;min-height:42px;margin-top:14px;padding:8px 12px;display:grid}.governance-rail span{color:#89752b;letter-spacing:.7px;text-transform:uppercase;font-size:8px;font-weight:800}.governance-rail strong{border-left:1px solid #eadb9d;padding-left:8px;font-size:8px;font-weight:700}.diagram-caption{color:#6b7890;background:#fff;border-top:1px solid #dce3ee;padding:10px 18px;font-size:10px}.diagram-caption span{color:#1a73e8;letter-spacing:1px;text-transform:uppercase;margin-right:7px;font-size:8px;font-weight:900}.diagram-empty{text-align:center;color:#6b7890;padding:60px}@media (width<=1024px){.diagram-toolbar{flex-direction:column;align-items:flex-start;gap:8px}.architecture-canvas{min-width:960px}.transform-controls{top:98px}}@media (prefers-color-scheme:dark){.custom-diagram-wrapper{color:#edf3fb;background:#101a2a}.diagram-toolbar,.diagram-caption{background:#172235;border-color:#304159}.diagram-toolbar strong{color:#edf3fb}.diagram-kicker,.diagram-legend,.diagram-caption{color:#aebbd0}.legend-boundary{background:#1b3153;border-color:#7baaf7}.transform-controls{background:#172235;border-color:#40536d;box-shadow:0 3px 12px #0000004d}.transform-controls button{color:#dce7f6;background:#172235;border-color:#304159}.transform-controls button:hover{color:#8ab4f8;background:#203453}.architecture-canvas{background-color:#101a2a;background-image:radial-gradient(#34445b .7px,#0000 .7px)}.cloud-boundary{background:#172235e0;border-color:#7baaf7}.cloud-boundary-label strong{color:#8ab4f8}.cloud-boundary-label small,.zone-header p,.zone-index,.node-type{color:#9caac0}.diagram-zone,.external-boundary .diagram-zone,.zone-security,.zone-network,.zone-compute,.zone-data{background:#172235;border-color:#3a4c65}.zone-header{border-color:#304159}.zone-header h4,.node-copy strong{color:#edf3fb}.diagram-node{background:#111c2c;border-color:#40536d}.arrow-label{color:#dce7f6;background:#172235;border-color:#40536d}.governance-rail{color:#f3df94;background:#302b1b;border-color:#806d28}.governance-rail span{color:#e6cb69}.governance-rail strong{border-color:#655925}}@media print{.custom-diagram-wrapper{background:#fff!important;overflow:visible!important}.diagram-toolbar,.diagram-caption{display:none!important}.architecture-canvas{background:#fff!important;grid-template-columns:145px 1fr!important;gap:14px!important;min-width:0!important;min-height:450px!important;padding:40px 12px 12px!important}.cloud-layers{grid-template-columns:repeat(4,1fr)!important;gap:8px!important}.diagram-zone{padding:8px!important}.governance-rail{grid-template-columns:repeat(5,1fr)!important}}
