:root{--ink:#252a27;--muted:#777b75;--paper:#f9f8f5;--line:#dedfd8;--red:#b33129;--soft:#f0eee7;--green:#30725b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input{font:inherit}button,a,input{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}.top{height:96px;max-width:1320px;margin:auto;padding:0 54px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:27px;font-weight:750;color:var(--ink);text-decoration:none;letter-spacing:-1px}.mark{font-size:23px;background:var(--red);color:white;width:39px;height:39px;display:grid;place-items:center;border-radius:4px}.product{font-size:14px;font-weight:400;letter-spacing:.06em;margin-left:13px;padding-left:20px;border-left:1px solid var(--line);color:var(--muted)}.account{display:flex;gap:25px;align-items:center;font-size:13px}main{max-width:1212px;margin:auto;padding:0 0 80px;min-height:calc(100vh - 180px)}h1,h2,h3,p{margin:0}h1{font-size:44px;line-height:1.25;letter-spacing:-1.5px;font-weight:650}h2{font-size:23px;font-weight:600;margin-bottom:10px}h3{font-size:19px;font-weight:600;margin-bottom:10px}.muted{color:var(--muted)}.fine{font-size:12px;line-height:1.8;color:var(--muted)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--red);margin-bottom:18px}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:110px;padding:86px 52px 20px;animation:arrive .4s ease both}.intro h1{font-size:62px;line-height:1.25}.lead{font-size:16px;line-height:1.9;margin-top:26px}.flow{list-style:none;padding:0;margin:38px 0 32px}.flow li{padding:10px 0;font-size:14px}.flow span{font-size:11px;font-weight:600;color:var(--red);margin-right:20px;font-variant-numeric:tabular-nums}.intro>.fine{max-width:320px}.auth-form{padding-top:16px}.auth-form>p.muted{margin-bottom:30px}label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:500}input:not([type=checkbox]){width:100%;height:47px;border:1px solid #d1d3cb;border-radius:4px;background:#fff;padding:10px 13px;color:var(--ink);transition:border-color .15s,box-shadow .15s}input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #b3312910}input::placeholder{color:#acada6}#login-form{display:grid;gap:22px}.primary,.secondary{min-height:46px;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:550;transition:background .16s,transform .16s;white-space:nowrap}.primary{border:1px solid var(--red);background:var(--red);color:white}.primary:hover:not(:disabled){background:#92251f;transform:translateY(-1px)}.primary span{float:right}.secondary{background:transparent;border:1px solid #cacdc3;color:var(--ink)}.secondary:hover{background:var(--soft)}.text-button{border:0;background:none;padding:7px 0;color:var(--muted);font-size:13px}.text-button:hover{color:var(--red)}.auth-form .fine{margin-top:22px}.consent{flex-direction:row;align-items:flex-start;font-size:12px;line-height:1.8;color:var(--muted);font-weight:400}.consent input{accent-color:var(--red);margin-top:5px}.consent span{flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:55px 0 35px}.page-heading h1{margin-bottom:15px}.status{font-size:12px;display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:#aaa}.status.online{color:var(--green)}.status.online:before{background:var(--green)}.banner,#notice{padding:14px 18px;border-left:3px solid var(--red);background:var(--soft);font-size:13px;margin:20px 0}.banner{margin:0 0 24px}#notice{position:sticky;top:12px;z-index:3;box-shadow:0 5px 24px #2221;animation:arrive .2s ease}.usage-line{display:flex;gap:56px;align-items:center;padding:24px 0;border-block:1px solid var(--line)}.usage-line>div{display:flex;gap:25px;align-items:center;white-space:nowrap}.usage-line strong{font-size:26px;font-weight:550;font-variant-numeric:tabular-nums}.usage-line p{max-width:520px}.setup-section{display:grid;grid-template-columns:320px 1fr;gap:40px;padding:36px 0;border-bottom:1px solid var(--line)}.step-label>span{font-size:11px;color:var(--red);display:block;margin-bottom:8px}.step-label h2{font-size:20px}.step-label p{font-size:13px}.inline-form{display:flex;gap:14px;align-items:flex-end}.grow{flex:1;min-width:0}.inline-form+.fine{margin-top:12px}.actions{display:flex;gap:20px;flex-wrap:wrap}.danger{color:var(--red)}.qr-layout{display:flex;gap:32px;align-items:center;margin-top:24px}.qr-layout img{max-width:46%;height:auto;background:#fff;border:1px solid var(--line);border-radius:4px}.qr-layout p{margin-bottom:12px}.example{padding:17px 20px;background:var(--soft);border-left:2px solid var(--red);font-size:15px;margin-bottom:12px}.examples .fine+.fine{margin-top:5px}.admin-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0 30px;border-block:1px solid var(--line)}.admin-summary p{display:flex;flex-direction:column;gap:5px}.admin-summary strong{font-size:32px;font-weight:550;font-variant-numeric:tabular-nums}.admin-summary span{color:var(--muted);font-size:12px}.invite-section{padding:34px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.6fr;gap:25px}.invite-section h2{font-size:20px}.invite-section .muted{font-size:13px}.quota-field{width:115px}.invite-result{grid-column:1/-1;display:flex;align-items:center;gap:14px}.invite-result input{flex:1;min-width:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:26px;text-align:left}th{color:var(--muted);font-size:12px;font-weight:400;padding:14px 12px;border-bottom:1px solid var(--line)}td{padding:20px 12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}td:first-child,th:first-child{padding-left:0}td .fine{display:block}td input[type=number]{width:85px;height:36px;margin-right:10px}td button{font-size:12px}td .secondary{min-height:36px;padding:5px 12px}.empty{padding:60px 20px;text-align:center;color:var(--muted);font-size:14px}.table-wrap+.fine{margin-top:22px}footer{max-width:1320px;border-top:1px solid var(--line);margin:auto;padding:23px 54px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1400px){main{max-width:1120px}}@media(max-width:1280px){main{margin:0 54px}.auth-layout{padding-inline:0;gap:70px}}@media(max-width:760px){.top{height:76px;padding:0 22px}.brand{font-size:24px}.product{font-size:11px;padding-left:12px;margin-left:0}.mark{width:32px;height:32px;font-size:20px}.account{gap:12px;font-size:11px}main{margin:0 24px;padding-bottom:45px}.auth-layout{grid-template-columns:1fr;padding-top:36px;gap:35px}.intro h1{font-size:43px}.intro h1 br{display:none}.intro .lead{font-size:14px;margin-top:16px}.flow{display:none}.intro>.fine{margin-top:18px}.auth-form{padding:27px 0 0;border-top:1px solid var(--line)}.auth-form h2{font-size:23px}.page-heading{padding-top:34px;gap:16px}h1{font-size:33px}.page-heading>.secondary{padding:8px 12px}.page-heading p{font-size:13px}.setup-section{grid-template-columns:1fr;gap:20px;padding:27px 0}.step-label>span{display:inline-block;float:left;margin:6px 12px 0 0}.step-label p{margin-left:28px}.inline-form{flex-wrap:wrap}.inline-form .grow{flex-basis:100%}.inline-form button{flex:1}.usage-line{gap:15px;align-items:flex-start;flex-direction:column}.usage-line strong{font-size:24px}.qr-layout{gap:16px}.qr-layout h3{font-size:15px}.qr-layout p{font-size:12px}.qr-layout img{max-width:50%}.admin-summary{gap:22px;grid-template-columns:1fr 1fr}.admin-summary strong{font-size:28px}.invite-section{grid-template-columns:1fr;gap:20px}.invite-result{flex-wrap:wrap}.invite-result input{flex-basis:100%}table{min-width:660px}footer{padding:20px 24px}.auth-form .eyebrow{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.system-section{margin-top:56px;padding-top:32px;border-top:1px solid var(--line,#ddd)}
.service-flow{display:flex;flex-wrap:wrap;gap:12px 32px;padding:20px 0;list-style:none;font-size:15px}
.service-flow li:not(:last-child)::after{content:'→';margin-left:32px;color:#9d332b}
.system-section td{overflow-wrap:anywhere}
.brand,.mark,.status{flex-shrink:0}.brand,.status,.account button{white-space:nowrap}
.account{min-width:0}#account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
.page-heading>div{min-width:0}
@media(max-width:520px){.product{display:none}.top{gap:16px}#account-name{max-width:90px}.account button{font-size:11px}.page-heading{flex-wrap:wrap}.page-heading>div{flex:1}.status{font-size:11px}footer{flex-wrap:wrap;gap:8px}}

/* Shared Gateway visualizer */
.architecture-section{margin-top:46px;padding:34px 0 0;border-top:1px solid var(--line);animation:arrive .45s ease both}
.architecture-intro{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}
.architecture-intro h2{font-size:27px;letter-spacing:-.5px;margin-bottom:8px}
.architecture-intro .muted{font-size:13px}
.mode-switch{display:flex;gap:8px;align-items:center;white-space:nowrap}
.mode-button{border:0;border-bottom:1px solid var(--line);padding:8px 4px;background:none;color:var(--muted);font-size:12px;cursor:pointer}
.mode-button.active{border-color:var(--red);color:var(--red);font-weight:600}
.architecture-stage{margin-top:28px;padding:22px 25px 18px;background:#252a27;color:#f8f6f1;position:relative;overflow:hidden}
.architecture-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,#ffffff0b 50%,transparent 80%);transform:translateX(-100%);animation:sweep 7s ease-in-out infinite;pointer-events:none}
.stage-caption{display:flex;align-items:center;gap:9px;color:#bebeb8;font-size:11px;letter-spacing:.04em;position:relative;z-index:1}
.live-dot{width:7px;height:7px;background:#7dc8a5;border-radius:50%;box-shadow:0 0 0 4px #7dc8a522;animation:blink 2.5s ease-in-out infinite}
.flow-map{display:grid;grid-template-columns:1.1fr 60px 1fr 60px 1.1fr;align-items:center;gap:14px;min-height:230px;position:relative;z-index:1}
.flow-column{display:flex;flex-direction:column;gap:9px}.flow-label{color:#999c94;text-transform:uppercase;font-size:10px;letter-spacing:.15em;margin-bottom:4px}
.account-node,.service-node{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;min-height:42px;padding:8px 11px;border:1px solid #ffffff20;background:#ffffff09;transition:background .18s,border-color .18s,transform .18s}
.account-node:hover,.service-node:hover{background:#ffffff18;border-color:#d5a197;transform:translateX(3px)}
.account-node i,.service-node i{font-style:normal;font-size:10px;color:#d28a7f}.account-node span,.service-node span{font-size:12px}.account-node b,.service-node b{font-size:10px;color:#9fb8a8;font-weight:400;white-space:nowrap}
.service-node{grid-template-columns:30px 1fr auto}.service-node b{color:#aaa99f}
.gateway-node{height:130px;border:1px solid #d28a7f;background:#b331292b;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-align:center;box-shadow:0 0 0 1px #b3312920,0 18px 40px #0004;position:relative;transition:background .2s}
.gateway-node:before{content:"";position:absolute;inset:10px;border:1px dashed #d28a7f5c}
.gateway-kicker{font-size:9px;letter-spacing:.16em;color:#e1a095}.gateway-node strong{font-size:18px;font-weight:600}.gateway-node small{font-size:11px;color:#c7c5bd}.gateway-pulse{width:7px;height:7px;background:#f0c18a;border-radius:50%;margin-top:6px;box-shadow:0 0 0 5px #f0c18a1f;animation:pulse 2.6s infinite}
.flow-connector{display:flex;flex-direction:column;gap:16px;align-items:flex-end}.flow-connector.reverse{align-items:flex-start}.flow-connector span{height:1px;width:50px;background:linear-gradient(90deg,#a8c8b4,#d28a7f);opacity:.65;position:relative}.flow-connector span:after{content:"";position:absolute;right:-2px;top:-3px;width:6px;height:6px;border-radius:50%;background:#d28a7f}.flow-connector.reverse span{background:linear-gradient(90deg,#d28a7f,#a8c8b4)}.flow-connector.reverse span:after{left:-2px;right:auto;background:#a8c8b4}
.stage-foot{display:flex;justify-content:space-between;border-top:1px solid #ffffff16;padding-top:13px;color:#999c94;font-size:11px;position:relative;z-index:1}
.resource-strip{display:grid;grid-template-columns:1fr 1.35fr;gap:50px;padding:30px 0;border-bottom:1px solid var(--line)}.resource-title .eyebrow{margin-bottom:7px}.resource-title strong{display:block;font-size:18px;font-weight:600;margin-bottom:8px}.resource-title p{max-width:340px}
.resource-bars{display:flex;flex-direction:column;justify-content:center;gap:14px}.resource-row{display:grid;grid-template-columns:45px 1fr 90px;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.resource-row b{font-size:12px;color:var(--ink);font-weight:550;text-align:right}.bar-track{height:7px;background:#e5e3dc;overflow:hidden}.bar-track i{display:block;width:var(--bar-width,0);height:100%;background:var(--red);transform-origin:left center;animation:grow .8s cubic-bezier(.2,.8,.2,1) both}.architecture-note{padding:16px 0 0;color:var(--muted);font-size:12px;line-height:1.8}
@keyframes sweep{0%,55%{transform:translateX(-100%)}75%,100%{transform:translateX(100%)}}@keyframes blink{0%,100%{opacity:.6}50%{opacity:1}}@keyframes pulse{0%,100%{box-shadow:0 0 0 4px #f0c18a15}50%{box-shadow:0 0 0 8px #f0c18a05}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){.architecture-section{margin-top:34px;padding-top:28px}.architecture-intro{display:block}.architecture-intro h2{font-size:23px}.mode-switch{margin-top:18px}.flow-map{grid-template-columns:1fr;gap:14px;padding:18px 0}.flow-connector{display:none}.gateway-node{order:-1;height:110px}.service-column{display:grid;grid-template-columns:1fr 1fr;gap:9px}.service-column .flow-label{grid-column:1/-1}.service-node{grid-template-columns:27px 1fr;gap:7px}.service-node b{grid-column:2}.stage-foot{display:block;line-height:2}.stage-foot span{display:block}.resource-strip{display:block;padding:25px 0}.resource-bars{margin-top:23px}.architecture-stage{padding-inline:16px}.account-node{grid-template-columns:27px 1fr auto}.architecture-note{padding-bottom:5px}}
