:root{--blue:#1559df;--ink:#233f65;--muted:#8298b6;--line:#d3e1f1;--paper:#f2f7ff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font:14px "PingFang SC","Microsoft YaHei",Arial,sans-serif;background:var(--paper);color:var(--ink);letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{touch-action:manipulation}button{cursor:pointer;border-radius:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #eeb087;outline-offset:4px}::selection{background:#b5e7ff}header{height:96px;padding:0 4%;display:flex;align-items:center;gap:45px;background:#edf7ffe8;border-bottom:1px solid #fff;color:#244c86}.brand{display:flex;align-items:center;gap:13px}.brand-symbol{font-size:32px;font-weight:800;color:var(--blue);position:relative;padding-right:10px}.brand-symbol>span{position:absolute;right:0;top:-4px;font-size:16px}.brand strong{font:700 19px Arial,sans-serif}.brand small{display:block;margin-top:6px;font:14px "PingFang SC",sans-serif;color:#7492b9}header nav{display:flex;gap:27px;font-size:14px;margin-left:auto}header nav a:hover{color:var(--blue)}.header-code{font:14px monospace;line-height:1.8;color:#89a5c7;border-left:1px solid #c9dcef;padding-left:25px}.menu-toggle{display:none}.blueprint{background:linear-gradient(125deg,#0a46bf 0%,#2273e4 43%,#63cce6 78%,#b9eff1 100%);color:#fff;padding:0 4% 30px;position:relative;overflow:hidden}.blueprint::before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,transparent 20%,#ffffff1f 45%,transparent 60%),repeating-linear-gradient(135deg,transparent 0,transparent 145px,#ffffff08 146px,transparent 147px);pointer-events:none}.drawing-toolbar,.drawing-body,.title-block{position:relative;z-index:1}.drawing-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 0 26px}.drawing-toolbar>div:first-child{display:flex;align-items:center;gap:25px}.drawing-index{font:14px monospace;color:#b6dcff}.drawing-toolbar h1{font-size:25px;line-height:1.4;font-weight:500;margin:0}.drawing-status{font-size:14px;color:#e0f7ff;display:flex;align-items:center;gap:8px}.drawing-status>i{width:5px;height:5px;background:#d3ffff;border-radius:50%;box-shadow:0 0 10px #fff}.drawing-status>span{font:14px monospace;color:#d5f7ff;margin-left:20px}.drawing-body{display:grid;grid-template-columns:200px 1fr;min-height:630px;border:1px solid #ffffff62;background:linear-gradient(125deg,#ffffff12,#ffffff2b);box-shadow:0 30px 90px #073b8e30,inset 0 1px #ffffff9c;backdrop-filter:blur(20px);border-radius:8px 8px 0 0;overflow:hidden}.drawing-sidebar{padding:27px 20px;border-right:1px solid #ffffff39;background:linear-gradient(160deg,#0b47c21a,#b7e5ff11)}.drawing-sidebar h2{font-size:14px;font-weight:400;margin:0 0 9px}.drawing-sidebar>p{font-size:16px;line-height:1.8;color:#b9daff;margin:0}.scenario-tabs{margin-top:25px}.scenario-tabs button{width:100%;display:grid;grid-template-columns:20px 1fr 14px;gap:5px 7px;text-align:left;background:none;border:1px solid transparent;border-bottom:1px solid #ffffff24;color:#cce7ff;padding:18px 8px;margin-bottom:7px;min-width:0;border-radius:4px;transition:background .25s,transform .25s}.scenario-tabs button>span{font:14px monospace;grid-row:1/3;margin-top:3px}.scenario-tabs button>strong{font-size:14px;font-weight:500;white-space:nowrap}.scenario-tabs button>small{grid-column:2;font:14px monospace;color:#9ac9ff}.scenario-tabs button>b{grid-column:3;grid-row:1/3;align-self:center;font-size:15px;font-weight:400;opacity:0}.scenario-tabs button[aria-selected=true]{border:1px solid #d5eeff9c;background:linear-gradient(120deg,#ffffff30,#ffffff0c);box-shadow:0 5px 18px #07388b15,inset 0 1px #ffffff5c;color:#fff;transform:translateX(3px)}.scenario-tabs button[aria-selected=true]>b{opacity:1}.drawing-legend{margin-top:45px;display:flex;flex-direction:column;gap:14px}.drawing-legend h3{font:14px monospace;margin:0 0 4px;color:#91c9ff}.drawing-legend>span{display:flex;gap:10px;align-items:center;color:#d4eaff;font-size:14px}.drawing-legend i{width:4px;height:4px;background:#a6f6ff;box-shadow:0 0 8px #b8f4ff;border-radius:50%}.drawing-sidebar>.diagram-note{font-size:14px;line-height:2;margin-top:45px;color:#9dceff}.drawing-canvas{padding:23px 42px 17px 48px;position:relative;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:30px 30px;min-width:0;perspective:1400px}.canvas-coordinate{display:flex;justify-content:space-between;font:14px monospace;color:#d1edff;margin-bottom:24px}.system-architecture{transform:rotateX(7deg) rotateY(-6deg);transform-style:preserve-3d;transition:transform .5s}.drawing-canvas:hover .system-architecture{transform:rotateX(4deg) rotateY(-2deg)}.architecture-layer{position:relative}.layer-label{font:14px monospace;color:#d1edff;display:block;margin-bottom:8px}.access-nodes,.service-nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.access-nodes button,.service-nodes button{background:linear-gradient(125deg,#ffffff63,#ffffff1c);border:1px solid #ffffffb0;border-bottom-color:#c0efff7a;color:#fff;padding:14px 15px;text-align:left;min-width:0;position:relative;border-radius:5px;box-shadow:0 10px 0 #4b9beb38,0 18px 25px #0e458f22,inset 0 1px 1px #fff8;backdrop-filter:blur(15px);transition:transform .25s,background .25s}.access-nodes button::after,.service-nodes button::after{content:"";width:5px;height:5px;background:#d7ffff;box-shadow:0 0 9px #ddffff;position:absolute;bottom:-4px;left:calc(50% - 2px);border-radius:50%;z-index:2}.access-nodes button:hover,.service-nodes button:hover{transform:translateY(-4px);background:linear-gradient(125deg,#ffffff80,#ffffff38)}.access-nodes small{display:block;font:14px monospace;color:#d2ecff}.access-nodes strong{display:block;font-size:15px;font-weight:500;margin:9px 0}.access-nodes span{font:14px monospace;color:#c1e6ff}.route-lines{height:43px;display:flex;justify-content:space-around;position:relative;margin:0 0 11px}.route-lines i{height:23px;border-left:1px solid #cef6ff;box-shadow:0 0 4px #a6f2ff;width:1px}.route-lines::before{content:"";position:absolute;top:22px;left:16.5%;right:16.5%;border-top:1px solid #ccf5ff;box-shadow:0 0 7px #b6f4ff}.route-lines::after{content:"";position:absolute;height:25px;left:50%;top:22px;border-left:1px solid #d0f8ff;box-shadow:0 0 5px #b6f4ff}.route-lines>span{position:absolute;top:29px;left:calc(50% + 16px);font-size:14px;color:#c3edff;white-space:nowrap}.core-node{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;background:linear-gradient(115deg,#d5f5ffcc,#a1dcff61 45%,#e0ffffb8);color:#1555a4;border:1px solid #edffff;border-bottom:1px solid #d9ffff;padding:18px 30px;position:relative;min-height:105px;border-radius:6px;box-shadow:0 12px 0 #a4e5ff28,0 25px 45px #1557a83d,inset 0 1px 5px #fff9;backdrop-filter:blur(25px);transition:transform .25s}.core-node:hover{transform:translateY(-3px)}.core-node>span{font:14px monospace;color:#407cb2}.core-node>strong{font-size:27px;font-weight:500;margin:8px 0}.core-node>small{font-size:14px;color:#366fa9}.core-node>b{position:absolute;right:14px;top:12px;font:19px monospace;color:#3e88b8}.event-line{height:42px;display:flex;justify-content:center;align-items:center;gap:15px;position:relative}.event-line::before{content:"";position:absolute;top:0;left:50%;height:22px;border-left:1px dashed #d3ffff}.event-line::after{content:"";position:absolute;top:21px;left:16.5%;right:16.5%;border-top:1px solid #cef8ff;box-shadow:0 0 7px #aaf0ff}.event-line>span{font:14px monospace;background:#5ca7e8b3;border:1px solid #b5f0ff6b;border-radius:2px;padding:3px 7px;color:#e3ffff;z-index:1}.event-line>i{position:absolute;top:21px;height:26px;border-left:1px solid #c9f5ff;left:16.5%;box-shadow:0 0 6px #b6f4ff}.event-line>i:last-child{left:83.5%}.service-nodes button{padding:14px 15px;min-height:95px;background:linear-gradient(125deg,#e3fcff73,#ffffff1f)}.service-nodes span{display:block;font:14px monospace;color:#d3eeff}.service-nodes strong{display:block;font-size:16px;font-weight:500;margin:9px 0}.service-nodes small{font-size:14px;color:#e0f8ff;line-height:1.6;display:block}.service-nodes b{position:absolute;right:8px;top:7px;font:14px monospace;color:#d8fbff}.data-bus{height:36px;position:relative;display:flex;align-items:center;justify-content:center}.data-bus::before{content:"";position:absolute;left:16.5%;right:16.5%;top:0;height:17px;border:1px solid #c1f1ff;border-top:0;box-shadow:0 3px 5px #c7ffff20}.data-bus::after{content:"";position:absolute;left:50%;height:19px;top:16px;border-left:1px solid #bef0ff}.data-bus>b{font-size:14px;font-weight:400;position:relative;background:#54a0e9cb;color:#d9faff;padding:2px 8px;z-index:1;align-self:end;margin-bottom:4px}.foundation-layer>div{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d2f9ff9e;padding:12px 0;background:linear-gradient(110deg,#fff4,#fff1);gap:5px;border-radius:4px;box-shadow:0 8px 0 #2c78c21a,inset 0 1px #fff5}.foundation-layer span:not(.layer-label){font-size:14px;text-align:center;padding:2px 0;color:#e4faff}.foundation-layer span:not(.layer-label)+span{border-left:1px solid #b3eaff73}.node-inspector{display:flex;gap:20px;align-items:start;border-top:1px solid #ffffff38;margin-top:23px;padding-top:13px}.node-inspector>span{font:14px monospace;color:#d3f6ff;white-space:nowrap;margin-top:3px}.node-inspector>p{font-size:16px;line-height:1.8;color:#e0f7ff;margin:0;min-height:29px}.title-block{display:grid;grid-template-columns:1.1fr 1.6fr 1fr 1.2fr;border:1px solid #ffffff5e;border-top:0;background:#ffffff10;border-radius:0 0 6px 6px;backdrop-filter:blur(20px)}.title-block>div{padding:12px 16px;min-width:0}.title-block>div+div{border-left:1px solid #ffffff42}.title-block span{display:block;font:14px monospace;color:#c4eaff}.title-block strong{display:block;font-size:14px;font-weight:400;margin-top:7px;color:#edfaff;line-height:1.5}.title-block b{font-weight:400}.review,.delivery,.request{margin:0 4%;padding:65px 0;border-bottom:1px solid var(--line)}.section-header{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.section-number{font:14px monospace;color:#608ac4}.section-header h2,.delivery h2{font-size:27px;font-weight:500;line-height:1.5;margin:13px 0 0}.section-header>p{font-size:16px;line-height:1.9;color:#8b9fb9;margin:0}.review-table{border-top:2px solid #4e82cb}.review-row{display:grid;grid-template-columns:1fr 2.3fr 1.7fr;border-bottom:1px solid var(--line)}.review-row>span{font-size:14px;line-height:1.9;padding:21px 20px;color:#718cab;min-width:0}.review-row>span+span{border-left:1px solid var(--line)}.review-row>span:first-child{color:#3e6392;display:flex;gap:15px}.review-row b{font:14px monospace;color:#94adc8;margin-top:5px;font-weight:400}.table-heading{background:linear-gradient(100deg,#e8f1ff,#e3f8ff)}.table-heading>span{font-size:14px;padding-top:12px;padding-bottom:12px;color:#7d9ac0!important}.delivery{display:grid;grid-template-columns:1fr 2fr;gap:70px}.delivery h2{font-size:36px;margin-top:20px}.delivery-heading>p{font-size:16px;color:#8b9fb9;line-height:1.9;margin-top:23px}.engineering-log{border-top:1px solid #8eaacd}.engineering-log article{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:27px 0;border-bottom:1px solid var(--line);position:relative}.log-label{display:flex;flex-direction:column;gap:15px;border-left:2px solid #538fe0;padding-left:13px}.log-label>span{font:14px monospace;color:#6590c7}.log-label>b{font:24px monospace;font-weight:400;color:#abc5e4}.engineering-log h3{font-size:17px;font-weight:500;margin:0 0 11px}.engineering-log p{font-size:16px;color:#8b9fb9;line-height:1.9;margin:0}.deliverable{display:block;font-size:14px;color:#4e85c5;margin-top:15px}.request{padding-top:55px}.request-title{display:flex;gap:30px;align-items:center;flex-wrap:wrap;padding-bottom:22px;border-bottom:2px solid #497fc5}.request-title h2{font-size:27px;font-weight:500;margin:0}.request-stamp{font:14px monospace;padding:7px 10px;border:1px solid #a1c0e7;color:#7298ca;margin-left:auto}.request-body{display:grid;grid-template-columns:1fr 1.7fr;border:1px solid var(--line);border-top:0}.request-info{padding:30px;background:linear-gradient(145deg,#e1edff,#e5f9fc);display:flex;align-items:start;flex-direction:column;min-width:0}.request-info>span{font-size:14px;color:#8aabd1;margin-bottom:9px}.request-info>strong{font-size:14px;font-weight:500;margin-bottom:28px;line-height:1.7}.request-info>a{font-size:18px;color:#2c6bb5;overflow-wrap:anywhere}.copy-email{border:0;background:none;color:#6493ca;font-size:14px;margin-top:12px;padding:0}.request-info>p{font-size:16px;line-height:2;color:#87a2c1;margin:30px 0 20px}.request-info>small{font-size:14px;line-height:1.9;color:#91adcd}form{padding:30px;min-width:0;background:#fff8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.form-grid>label{display:flex;flex-direction:column;gap:11px;font-size:14px;color:#7392bb;min-width:0}.wide-field{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{padding:10px 11px;border:1px solid #cbdcf1;background:#ffffffc9;color:#365e8d;font-size:16px;width:100%;min-width:0;border-radius:0;outline-offset:4px;resize:vertical}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#a0b5cf}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.form-bottom>span{font:14px monospace;color:#9db7d5}.form-bottom>button{border:1px solid #3d8ef2;background:linear-gradient(115deg,#1757d9,#389ae8);color:#fff;font-size:14px;padding:14px 18px;min-width:180px;display:flex;justify-content:space-between;gap:25px;box-shadow:0 8px 20px #2c79cf21;border-radius:3px}.form-bottom>button>b{font-weight:400}.form-status{font-size:14px;color:#417cbe;line-height:1.8;margin:15px 0 0;min-height:18px}footer{padding:26px 4%;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#91aac9;line-height:1.8}footer>strong{font:14px monospace;font-weight:400}footer a{color:#608bc0}@media(min-width:1700px){.drawing-body{min-height:730px}.drawing-canvas{padding:35px 60px}.access-nodes button{padding:22px 18px}.core-node{min-height:125px}.route-lines{height:55px}.route-lines::after{height:37px}.service-nodes button{min-height:115px}.event-line{height:55px}.event-line>i{height:39px}.node-inspector{margin-top:30px}.title-block>div{padding:16px}}@media(max-width:1100px){header{gap:25px}.header-code{display:none}.drawing-body{grid-template-columns:180px 1fr}.drawing-sidebar{padding:25px 14px}.drawing-canvas{padding-left:25px;padding-right:25px}.access-nodes,.service-nodes{gap:16px}.access-nodes button{padding:13px 10px}.access-nodes strong{font-size:14px}.service-nodes strong{font-size:14px}.service-nodes small{font-size:14px}.title-block>div{padding-left:12px;padding-right:12px}.title-block strong{font-size:14px}.title-block span{font-size:14px}.delivery{gap:40px}.request-body{grid-template-columns:1fr 1.5fr}.request-info{padding:26px 22px}.request-info>a{font-size:16px}.review-row>span{font-size:14px;padding:18px 15px}.drawing-toolbar h1{font-size:22px}.drawing-toolbar>div:first-child{gap:18px}.drawing-status>span{display:none}}@media(max-width:760px){html{scroll-padding-top:80px}header{height:77px;padding:0 5%;position:relative}.brand strong{font-size:16px}.brand small{font-size:14px;margin-top:5px}.brand-symbol{font-size:29px}.brand{gap:8px}.menu-toggle{display:block;margin-left:auto;background:none;border:0;font-size:14px;color:#527dab}header nav{display:none;position:absolute;top:76px;left:0;right:0;margin:0;padding:25px 5%;flex-direction:column;background:#eff8ff;border-bottom:1px solid var(--line);z-index:20;gap:23px;font-size:14px}header nav.open{display:flex}.blueprint{padding:0 4% 20px;background:linear-gradient(150deg,#0d49c7 0%,#2686e8 44%,#86dfe9 100%)}.drawing-toolbar{padding:24px 0 20px;align-items:start;gap:12px}.drawing-toolbar>div:first-child{display:block}.drawing-index{font-size:14px}.drawing-toolbar h1{font-size:20px;margin-top:10px}.drawing-status{font-size:14px;margin-top:5px;gap:4px;white-space:nowrap}.drawing-status>i{width:3px;height:3px}.drawing-body{grid-template-columns:1fr;min-height:0;border-radius:7px 7px 0 0}.drawing-sidebar{border-right:0;border-bottom:1px solid #ffffff42;padding:14px 12px}.drawing-sidebar h2,.drawing-sidebar>p:not(.diagram-note){display:none}.scenario-tabs{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.scenario-tabs button{grid-template-columns:14px 1fr;padding:11px 7px;gap:5px;margin:0;border:1px solid #ffffff45}.scenario-tabs button>span{font-size:14px;margin-top:2px}.scenario-tabs button>strong{font-size:14px;font-weight:400}.scenario-tabs button>small{font-size:14px;line-height:1.5;white-space:nowrap;color:#bcdfff}.scenario-tabs button>b{display:none}.scenario-tabs button[aria-selected=true]{transform:none}.drawing-legend{margin-top:14px;flex-direction:row;gap:10px;justify-content:space-between}.drawing-legend h3{display:none}.drawing-legend>span{font-size:14px;gap:5px}.drawing-legend i{width:3px;height:3px}.drawing-sidebar>.diagram-note{margin-top:11px;font-size:14px;line-height:1.7;color:#b8dcff}.drawing-sidebar>.diagram-note br{display:none}.drawing-canvas{padding:17px 15px 15px;perspective:1000px;background-size:20px 20px}.canvas-coordinate{font-size:14px;margin-bottom:20px}.system-architecture{transform:rotateX(4deg) rotateY(-3deg)}.layer-label{font-size:14px;margin-bottom:7px}.access-nodes,.service-nodes{gap:9px}.access-nodes button{padding:11px 7px;min-height:78px;box-shadow:0 6px 0 #4b9beb38,0 12px 20px #0e458f22,inset 0 1px 1px #fff8}.access-nodes small{font-size:14px}.access-nodes strong{font-size:14px;line-height:1.5;margin:9px 0}.access-nodes span{font-size:14px;line-height:1.6;display:block}.route-lines{height:36px;margin-bottom:9px}.route-lines i{height:18px}.route-lines::before{top:17px}.route-lines::after{top:17px;height:23px}.route-lines>span{font-size:14px;left:calc(50% + 8px);top:25px}.core-node{min-height:94px;padding:15px 10px;box-shadow:0 8px 0 #a4e5ff28,0 17px 30px #1557a83d,inset 0 1px 5px #fff9}.core-node>span{font-size:14px}.core-node>strong{font-size:23px;margin:8px 0}.core-node>small{font-size:14px}.core-node>b{font-size:15px;right:8px;top:8px}.event-line{height:35px}.event-line::before{height:18px}.event-line::after{top:17px}.event-line>i{top:17px;height:23px}.event-line>span{font-size:14px;padding:3px 5px}.service-nodes button{padding:12px 7px;min-height:94px;box-shadow:0 6px 0 #4b9beb38,0 12px 20px #0e458f22,inset 0 1px 1px #fff8}.service-nodes span{font-size:14px}.service-nodes strong{font-size:14px;line-height:1.5;margin:9px 0}.service-nodes small{font-size:14px;line-height:1.7}.service-nodes b{font-size:14px;right:5px;top:4px}.data-bus{height:29px}.data-bus::before{height:14px}.data-bus::after{top:13px;height:16px}.data-bus>b{font-size:14px;margin-bottom:3px}.foundation-layer>div{gap:0;padding:12px 0}.foundation-layer span:not(.layer-label){font-size:14px;padding:1px}.node-inspector{gap:8px;margin-top:19px;padding-top:12px;flex-direction:column}.node-inspector>span{font-size:14px;margin:0}.node-inspector>p{font-size:16px;line-height:1.8;min-height:29px;color:#eefcff}.title-block{grid-template-columns:1fr 1fr}.title-block>div{padding:10px}.title-block>div:nth-child(3){border-left:0;border-top:1px solid #ffffff42}.title-block>div:nth-child(4){border-top:1px solid #ffffff42}.title-block span{font-size:14px;color:#d9f7ff}.title-block strong{font-size:14px;line-height:1.7;margin-top:5px;color:#fff}.review,.delivery,.request{margin:0 5%;padding:40px 0}.section-header{display:block;margin-bottom:24px}.section-number{font-size:14px}.section-header h2{font-size:22px;margin-top:14px}.section-header>p{font-size:16px;margin-top:15px}.review-row{grid-template-columns:1fr 1.45fr}.review-row>span{font-size:14px;padding:16px 10px;line-height:1.9}.review-row>span:first-child{gap:8px;font-size:14px}.review-row b{font-size:14px;margin-top:5px}.review-row>span:last-child{grid-column:1/-1;border-left:0;border-top:1px dashed #dbe6f4;padding:10px;color:#8da4c0;font-size:14px}.review-row>span:last-child::before{content:"输出 / ";color:#7197c7;margin-right:5px}.table-heading>span{font-size:14px!important;padding:10px}.table-heading>span:last-child{display:none}.delivery{grid-template-columns:1fr;gap:25px}.delivery h2{font-size:28px;margin-top:15px}.delivery-heading>p{font-size:16px;margin-top:16px}.delivery-heading>p br{display:none}.engineering-log article{grid-template-columns:65px 1fr;gap:18px;padding:23px 0}.log-label{gap:13px;padding-left:9px}.log-label>span{font-size:14px}.log-label>b{font-size:21px}.engineering-log h3{font-size:16px;margin-bottom:10px}.engineering-log p{font-size:16px}.deliverable{font-size:14px;margin-top:12px}.request-title{gap:13px;align-items:start}.request-title .section-number{width:100%}.request-title h2{font-size:23px}.request-stamp{font-size:14px;padding:5px 7px;margin-top:6px}.request-body{grid-template-columns:1fr}.request-info{padding:22px 18px}.request-info>span{font-size:14px;margin-bottom:7px}.request-info>strong{font-size:14px;margin-bottom:20px}.request-info>a{font-size:20px}.request-info>p{font-size:16px;margin-top:22px;margin-bottom:15px}.request-info>small{font-size:14px}.copy-email{font-size:14px;margin-top:10px}form{padding:24px 18px}.form-grid{grid-template-columns:1fr;gap:22px}.form-grid label{font-size:14px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:11px 10px}.form-bottom{gap:15px;margin-top:24px}.form-bottom>span{font-size:14px}.form-bottom>button{font-size:14px;min-width:145px;padding:13px 14px}.form-status{font-size:14px}footer{padding:23px 5%;font-size:14px;flex-wrap:wrap}footer>strong{display:none}}@media(max-width:350px){.brand strong{font-size:14px}.brand small{font-size:14px}.drawing-toolbar h1{font-size:18px}.drawing-status{font-size:14px}.scenario-tabs button{padding:10px 4px;grid-template-columns:11px 1fr;gap:3px}.scenario-tabs button>strong{font-size:14px}.scenario-tabs button>small{font-size:14px}.drawing-canvas{padding-left:11px;padding-right:11px}.access-nodes,.service-nodes{gap:7px}.core-node>strong{font-size:21px}.access-nodes strong{font-size:14px}.service-nodes strong{font-size:14px}.drawing-legend{gap:7px}.drawing-legend>span{font-size:14px}.request-info>a{font-size:18px}.form-bottom>button{min-width:135px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:760px){.drawing-canvas .system-architecture,.drawing-canvas:hover .system-architecture{transform:none;transform-style:flat}}
/* Keep the transparent architecture legible across the light end of the field. */
.drawing-canvas{background-color:#0b48ae1a}
.canvas-coordinate{font-size:14px;color:#ecfaff}
.layer-label{font-size:14px;color:#e6f8ff}
.access-nodes button,.service-nodes button{color:#124d91;background:linear-gradient(125deg,#f1fcffbd,#e4f8ff73);border-color:#efffffbc}
.access-nodes button:hover,.service-nodes button:hover{background:linear-gradient(125deg,#f5ffffe6,#e1f8ffa6)}
.access-nodes small,.service-nodes span{font-size:14px;color:#386c9e}
.access-nodes strong,.service-nodes strong{font-size:20px;font-weight:600;margin:10px 0}
.access-nodes span{font-size:14px;color:#4479a5}
.service-nodes small{font-size:14px;color:#376b98;line-height:1.6}
.service-nodes button{min-height:117px}
.service-nodes b{color:#3679aa;font-size:18px}
.core-node>span{font-size:14px;color:#2a638f}
.core-node>strong{font-size:34px;font-weight:600}
.core-node>small{font-size:14px;color:#275d8e}
.route-lines>span{font-size:14px;color:#edfbff}
.event-line>span{font-size:14px}
.data-bus>b{font-size:14px;color:#f1feff}
.foundation-layer span:not(.layer-label){font-size:14px;color:#eafcff}
.node-inspector>span{font-size:14px;color:#f0feff}
.node-inspector>p{font-size:16px;color:#f4fdff;min-height:35px}
.drawing-sidebar h2{font-size:14px}
.drawing-sidebar>p{font-size:16px;color:#d1e9ff}
.scenario-tabs button>strong{font-size:14px}
.scenario-tabs button>small{font-size:14px;color:#c6e5ff}
.drawing-legend>span{font-size:14px}
.drawing-sidebar>.diagram-note{font-size:14px;color:#c2e2ff}
.title-block span{font-size:14px;color:#e4f8ff}
.title-block strong{font-size:14px;color:#fff}
@media(max-width:1100px) and (min-width:761px){
  .access-nodes strong,.service-nodes strong{font-size:18px}
  .service-nodes small{font-size:14px}
  .access-nodes button,.service-nodes button{padding-left:11px;padding-right:11px}
  .core-node>strong{font-size:31px}
}
@media(max-width:760px){
  .menu-toggle{color:#315a86}
  .drawing-status{color:#fff}
  .canvas-coordinate{font-size:14px}
  .layer-label{font-size:14px;margin-bottom:9px}
  .access-nodes button{padding:13px 7px;min-height:64px;display:flex;align-items:center}
  .access-nodes small,.access-nodes span,.service-nodes span{display:none}
  .access-nodes strong,.service-nodes strong{font-size:14px;line-height:1.6;margin:0}
  .service-nodes button{min-height:101px;padding:14px 7px}
  .service-nodes strong{margin:0 0 9px}
  .service-nodes small{font-size:14px;line-height:1.7;color:#2e628f}
  .service-nodes b{font-size:14px}
  .core-node>span{display:none}
  .core-node>strong{font-size:25px;margin:0 0 10px}
  .core-node>small{font-size:14px}
  .route-lines{height:39px;margin-bottom:12px}
  .route-lines>span{font-size:14px;top:27px}
  .event-line>span{font-size:14px}
  .data-bus>b{font-size:14px}
  .foundation-layer span:not(.layer-label){font-size:14px}
  .node-inspector>span{font-size:14px}
  .node-inspector>p{font-size:16px;line-height:1.8;min-height:39px}
  .scenario-tabs button>strong{font-size:14px}
  .scenario-tabs button>small{display:none}
  .scenario-tabs button{align-items:center;min-height:45px}
  .scenario-tabs button>span{font-size:14px;grid-row:auto;margin:0}
  .drawing-legend>span{font-size:14px}
  .drawing-sidebar>.diagram-note{font-size:14px;line-height:1.8;margin-top:14px}
  .title-block span{font-size:14px}
  .title-block strong{font-size:14px;line-height:1.7}
}
@media(max-width:350px){
  .access-nodes strong,.service-nodes strong{font-size:14px}
  .scenario-tabs button>strong{font-size:14px}
  .drawing-legend>span{font-size:14px}
  .core-node>strong{font-size:23px}
  .core-node>small{font-size:14px}
  .canvas-coordinate{font-size:14px}
  .foundation-layer span:not(.layer-label){font-size:14px}
  .title-block strong{font-size:14px}
}
.drawing-canvas .system-architecture,.drawing-canvas:hover .system-architecture{transform:rotateX(7deg) rotateY(-6deg);transform-style:flat;transition:none}
@media(max-width:760px){.drawing-canvas .system-architecture,.drawing-canvas:hover .system-architecture{transform:none}}
@media(min-width:761px) and (max-height:1000px){
  .blueprint{padding-bottom:20px}
  .drawing-toolbar{padding-top:18px;padding-bottom:16px}
  .drawing-body{min-height:610px}
  .drawing-canvas{padding-top:15px;padding-bottom:12px}
  .canvas-coordinate{margin-bottom:15px}
  .layer-label{margin-bottom:5px}
  .access-nodes button{padding-top:9px;padding-bottom:9px}
  .access-nodes strong{margin-top:6px;margin-bottom:6px}
  .route-lines{height:31px;margin-bottom:6px}
  .route-lines i{height:16px}
  .route-lines::before{top:15px}
  .route-lines::after{top:15px;height:20px}
  .route-lines>span{top:20px}
  .core-node{min-height:101px;padding-top:10px;padding-bottom:10px}
  .core-node>strong{margin-top:4px;margin-bottom:4px}
  .event-line{height:29px}
  .event-line::before{height:15px}
  .event-line::after{top:14px}
  .event-line>i{top:14px;height:19px}
  .service-nodes button{min-height:94px;padding-top:10px;padding-bottom:10px}
  .service-nodes strong{margin-top:7px;margin-bottom:7px}
  .data-bus{height:28px}
  .data-bus::before{height:13px}
  .data-bus::after{top:12px;height:16px}
  .data-bus>b{margin-bottom:2px}
  .foundation-layer>div{padding-top:8px;padding-bottom:8px}
  .node-inspector{margin-top:15px;padding-top:9px}
  .node-inspector>p{min-height:28px}
  .title-block>div{padding-top:10px;padding-bottom:10px}
}

body{font-size:16px}
.section-header>p,.delivery-heading>p,.engineering-log p,.request-info>p,.drawing-sidebar>p,.node-inspector>p{font-size:18px;line-height:1.85}
.section-header>p,.delivery-heading>p,.engineering-log p,.request-info>p,.request-info>small,.request-info>span,.form-grid>label,.form-bottom>span,footer{color:#4b6585}
.brand small,.header-code,.review-row>span,.review-row b,.request-stamp,.copy-email{color:#4c6a8e}
.table-heading>span{color:#49698e!important}
.review-row>span:last-child{color:#4b6585}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:#5b7190;opacity:1}
.review-row>span,.request-info>small,.form-grid>label{font-size:16px}
.drawing-sidebar>.diagram-note{color:#e2f1ff;font-size:16px}
.drawing-legend h3,.scenario-tabs button>small{color:#e2f1ff}
.title-block strong{font-size:16px}
.drawing-status,.drawing-status>span{color:#092747}
.drawing-sidebar{background:linear-gradient(160deg,#073c9bc9,#125aaaab)}
.scenario-tabs button,.scenario-tabs button>small,.drawing-legend h3,.drawing-legend>span,.drawing-sidebar>.diagram-note{color:#fff}
.scenario-tabs button[aria-selected=true]{background:#103d8e80}
.canvas-coordinate>span:last-child{color:#123d65}
.access-nodes small,.access-nodes span,.service-nodes span,.service-nodes small,.service-nodes b,.core-node>span,.core-node>small,.core-node>b{color:#163b60}
.layer-label{color:#fff;background:#164f9a;display:table;padding:4px 8px;border-radius:3px}
.route-lines>span,.event-line>span,.data-bus>b{color:#fff;background:#1c5196}
.foundation-layer span:not(.layer-label){color:#0d3053}
.node-inspector{background:#10498a99;padding:16px;border-radius:4px}
.title-block{background:#103c7ca6}
.title-block span,.title-block strong{color:#fff}
.section-number,.log-label>span,.deliverable,footer a{color:#3b6393}
.form-bottom>button{background:linear-gradient(115deg,#1547b5,#1768b4)}
@media(max-width:760px){
  .canvas-coordinate{gap:12px;flex-wrap:wrap}
  .canvas-coordinate>span:last-child{display:none}
  .route-lines>span{position:static;align-self:center;max-width:100%;white-space:normal;text-align:center;background:#286db5;padding:3px 6px;z-index:1}
  .route-lines{height:58px}
  .scenario-tabs button{display:flex;justify-content:center;padding:12px 4px}
  .scenario-tabs button>span{display:none}
  .drawing-legend{flex-wrap:wrap;justify-content:start;gap:12px 20px}
  .foundation-layer>div{grid-template-columns:1fr 1fr;row-gap:15px}
  .foundation-layer span:not(.layer-label):nth-child(3){border-left:0}
  .form-bottom{align-items:stretch;flex-direction:column}
  .form-bottom>button{justify-content:space-between}
  .drawing-status{color:#fff}
}
