:root{color-scheme:light;--rock-1: #f7f5f1;--rock-2: #efede7;--rock-3: #e4e0d7;--rock-6: #c5beb0;--rock-8: #8d8679;--rock-10: #504b42;--rock-12: #24211d;--surface: #ffffff;--surface-elevated: #ffffff;--border: #ded8cd;--border-strong: #c8c0b3;--primary: #164a72;--primary-hover: #0f3b5e;--primary-subtle: #e6f2fb;--primary-border: #b8d5e9;--summit: #b9812d;--summit-subtle: #fff0cf;--success: #2f7d58;--success-subtle: #e3f4eb;--danger: #b33b32;--danger-subtle: #ffe9e7;--info: #147d85;--shadow: 0 18px 60px rgba(50, 45, 36, .12);font-family:Inter,Noto Sans SC,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--rock-1);color:var(--rock-12)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}code{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:12px;word-break:break-all}.splash,.auth-wall{min-height:100vh;display:grid;place-items:center;background:var(--rock-1)}.splash{gap:12px;font-weight:800;color:var(--primary)}.landing{min-height:100vh;overflow:hidden;background:var(--rock-1);position:relative}.landing:before{content:"";position:absolute;inset:80px 0 auto;height:420px;background-image:linear-gradient(rgba(22,74,114,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(22,74,114,.08) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);pointer-events:none}.landing-nav{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:15px;letter-spacing:0}.brand span{display:block;color:var(--rock-8);font-size:12px;margin-top:2px}.brand-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;overflow:hidden;filter:drop-shadow(0 10px 18px rgba(22,74,114,.18))}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.hero{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:46px auto 0;min-height:calc(100vh - 160px);display:grid;grid-template-columns:minmax(0,1.16fr) minmax(400px,.84fr);gap:40px;align-items:center}.hero-copy h1{margin:18px 0 16px;font-size:56px;line-height:1.06;letter-spacing:0;max-width:760px;white-space:nowrap}.hero-copy p{max-width:640px;color:var(--rock-10);font-size:19px;line-height:1.75;margin:0}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:760;font-size:13px}.hero-actions,.landing-actions{display:flex;align-items:center;gap:12px;margin-top:30px;flex-wrap:wrap}.button{min-height:38px;border-radius:8px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;cursor:pointer;font-weight:720;font-size:14px}.button.large{min-height:46px;padding:0 18px;font-size:15px}.button.primary{background:var(--primary);color:#fff;box-shadow:0 12px 28px #164a722e}.button.primary:hover{background:var(--primary-hover)}.button.ghost{background:var(--surface);border-color:var(--border);color:var(--rock-12)}.button.disabled{background:var(--rock-2);border-color:var(--border);color:var(--rock-8)}.button:disabled{opacity:.55;cursor:wait}.hero-panel{background:#ffffffc7;border:1px solid rgba(222,216,205,.86);border-radius:8px;box-shadow:var(--shadow);padding:24px;display:grid;gap:24px}.topology-line,.flow-lane{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.node{min-height:44px;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:0 14px;display:inline-flex;align-items:center;gap:9px;color:var(--rock-10);font-weight:760;white-space:nowrap}.node.active{border-color:var(--primary-border);background:var(--primary-subtle);color:var(--primary)}.edge{width:34px;height:1px;background:linear-gradient(90deg,var(--border-strong),var(--primary-border))}.tunnel-flow{display:grid;gap:12px}.flow-card{border:1px solid var(--border);border-radius:8px;background:var(--rock-1);padding:16px}.flow-card span{display:block;color:var(--rock-8);font-size:12px;margin-bottom:6px}.flow-card strong{color:var(--rock-12)}.status-row{display:flex;align-items:center;gap:10px;color:var(--success);font-weight:720}.publish-panel{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px}.publish-column{border:1px solid var(--border);border-radius:8px;background:var(--rock-1);padding:12px}.panel-label{display:block;color:var(--rock-8);font-size:12px;font-weight:760;margin-bottom:8px}.panel-label-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.panel-label-row .panel-label{margin-bottom:0}.inline-boundary{min-height:24px;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(47,125,88,.24);border-radius:999px;background:var(--success-subtle);color:var(--success);padding:0 9px;font-size:11px;font-weight:760;white-space:nowrap}.inline-boundary svg{flex:0 0 auto}.publish-column.private{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.service-pill{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--rock-10);font-weight:760;font-size:13px;min-width:0}.service-pill svg{color:var(--primary);flex:0 0 auto}.publish-core{display:grid;gap:8px;justify-items:center;padding:2px 0}.publish-message{width:min(100%,420px);min-height:124px;border-radius:8px;border:1px solid var(--primary-border);background:linear-gradient(180deg,#fffffff5,#e6f2fbad);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-content:center;padding:16px}.publish-message strong{grid-column:1 / -1;color:var(--rock-12);font-size:20px;text-align:center;margin-bottom:2px}.publish-message span{min-height:46px;display:grid;align-content:center;gap:3px;border-top:2px solid rgba(22,74,114,.18);color:var(--rock-10);text-align:center;padding:8px 2px 0}.publish-message span b{color:var(--rock-12);font-size:13px}.publish-message span small{color:var(--rock-8);font-size:11px;line-height:1.25}.publish-column.consumers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.publish-column.consumers .panel-label-row{grid-column:1 / -1}.consumer-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:9px 10px}.consumer-card strong{display:block;color:var(--rock-12);margin-bottom:2px;font-size:13px}.consumer-card span{color:var(--rock-8);line-height:1.5;font-size:12px}.auth-card{width:min(420px,calc(100% - 32px));background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:30px;display:grid;gap:16px;justify-items:start}.auth-card h1{margin:4px 0 0}.auth-card p{margin:0;color:var(--rock-8)}.muted-link{color:var(--rock-8);font-size:14px}.login-page{min-height:100vh;background:var(--rock-1);overflow:hidden;position:relative}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(22,74,114,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(22,74,114,.07) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);pointer-events:none}.login-brand{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;height:80px}.login-layout{position:relative;z-index:1;width:min(980px,calc(100% - 32px));min-height:calc(100vh - 120px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:48px;align-items:center}.login-copy h1{margin:18px 0 14px;font-size:64px;line-height:.98;letter-spacing:0}.login-copy p{margin:0;color:var(--rock-10);line-height:1.75;font-size:18px;max-width:560px}.login-checks{display:grid;gap:10px;margin-top:26px;color:var(--success);font-weight:760}.login-checks span{display:inline-flex;align-items:center;gap:9px}.login-card{justify-self:end}.login-card h2{margin:4px 0 0;font-size:26px}.console-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:var(--rock-1)}.sidebar{height:100vh;position:sticky;top:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-brand{padding:20px;border-bottom:1px solid var(--border)}.side-nav{padding:14px 12px;display:grid;gap:4px}.nav-item{width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--rock-8);display:flex;align-items:center;gap:12px;padding:0 12px;cursor:pointer;font-weight:720;text-align:left}.nav-item svg{width:17px;height:17px}.nav-item:hover{background:var(--rock-2);color:var(--rock-12)}.nav-item.active{color:var(--rock-12);background:#24211d0d;position:relative}.nav-item.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:999px;background:var(--primary)}.sidebar-footer{margin-top:auto;padding:14px;border-top:1px solid var(--border);display:grid;gap:12px}.user-chip{display:flex;align-items:center;gap:10px;min-width:0}.user-chip strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.user-chip span{display:block;color:var(--rock-8);font-size:12px;margin-top:2px}.avatar{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--summit-subtle);color:var(--summit);font-weight:820}.logout{display:inline-flex;align-items:center;gap:8px;color:var(--rock-8);font-size:13px;padding:8px 10px;border-radius:8px}.logout:hover{background:var(--rock-2);color:var(--rock-12)}.workspace{min-width:0;padding:24px}.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.workspace-header h1{margin:4px 0 0;font-size:28px;letter-spacing:0}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.page-stack{display:grid;gap:16px}.metric,.panel,.table-panel,.key-reveal{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 26px #322d240f}.metric{padding:20px;display:grid;gap:8px}.metric span{color:var(--rock-8);font-weight:720;font-size:12px}.metric strong{font-size:34px;line-height:1}.metric small{color:var(--rock-8)}.panel{padding:18px}.panel.wide{grid-column:1 / -1}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.panel-head h2{margin:0;font-size:16px}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;background:var(--rock-2);color:var(--rock-10);font-size:12px;font-weight:760;white-space:nowrap}.badge.good{color:var(--success);background:var(--success-subtle)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 160px;gap:12px;align-items:end}.form-grid.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px}.field{display:grid;gap:7px;color:var(--rock-8);font-size:12px;font-weight:760}.field small{color:var(--rock-7);font-weight:650;word-break:break-all}input,select,textarea{min-height:40px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--rock-12);padding:0 11px;outline:none}textarea{min-height:82px;padding:10px 11px;resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #164a721f}.table-panel{overflow:auto}table{width:100%;min-width:900px;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);padding:12px 14px;text-align:left;vertical-align:top;font-size:13px}th{color:var(--rock-8);background:var(--rock-1);font-size:12px;font-weight:820}tr:last-child td{border-bottom:0}.empty{text-align:center;color:var(--rock-8);padding:34px}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.security-stack{display:grid;justify-items:start;gap:6px}.check-row{min-height:40px;display:flex;align-items:center;gap:8px;color:var(--rock-10);font-size:13px}.check-row input{width:16px;height:16px;min-height:auto;padding:0}.mini{min-height:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:inline-flex;align-items:center;gap:6px;padding:0 10px;cursor:pointer;font-size:12px;font-weight:760}.mini.danger{color:var(--danger);background:var(--danger-subtle);border-color:#f2beb9}.key-reveal{padding:16px;display:flex;justify-content:space-between;align-items:center;gap:14px}.key-reveal strong{display:block;margin-bottom:7px}.key-reveal span{display:block;color:var(--rock-8);font-size:13px;margin-bottom:7px}.key-reveal code{display:block;max-width:min(840px,72vw);overflow-wrap:anywhere;white-space:normal}.key-reveal small{display:block;color:var(--rock-8);margin-top:8px}.route-token{margin-bottom:14px;background:var(--success-subtle);border-color:#2f7d583d}.share-link-reveal{background:var(--summit-subtle);border-color:#7e583242;align-items:flex-start}.reveal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dns-list{display:grid;gap:10px}.dns-item{display:grid;grid-template-columns:110px minmax(0,1fr) 160px;gap:12px;align-items:center;padding:12px;border-radius:8px;background:var(--rock-1);border:1px solid var(--border)}.dns-item span{color:var(--rock-8);font-size:12px;font-weight:760}.dns-item strong{color:var(--primary);font-size:13px}.publish-progress{display:grid;gap:6px;min-width:230px}.publish-progress.compact{min-width:190px}.publish-progress small{color:var(--rock-8);line-height:1.45;max-width:360px;overflow-wrap:anywhere}.progress-step{display:inline-flex;align-items:center;gap:7px;color:var(--rock-8);font-size:12px;font-weight:760;white-space:nowrap}.progress-step i{width:9px;height:9px;border-radius:999px;border:1px solid var(--rock-6);background:var(--surface)}.progress-step.done{color:var(--success)}.progress-step.done i{background:var(--success);border-color:var(--success)}.progress-step.active{color:var(--primary)}.progress-step.active i{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px #164a721f}.progress-step.waiting{color:var(--rock-7)}.progress-step.error{color:var(--danger)}.progress-step.error i{background:var(--danger);border-color:var(--danger)}.helper{color:var(--rock-8);line-height:1.7;margin:0}.alert{border:1px solid #efb9b2;background:var(--danger-subtle);color:var(--danger);border-radius:8px;padding:12px 14px;margin-bottom:16px;font-weight:720}.docs-page{min-height:100vh;background:var(--rock-1);overflow-x:hidden}.docs-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}.public-docs{padding:28px 0 64px}.docs-stack{display:grid;gap:16px}.docs-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 26px #322d240f}.docs-tabs button{border:0;background:transparent;color:var(--rock-8);border-radius:6px;padding:9px 12px;display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:760;cursor:pointer}.docs-tabs button:hover{color:var(--rock-12);background:var(--rock-2)}.docs-tabs button.active{color:var(--primary);background:var(--primary-subtle)}.docs-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:end;gap:24px;padding:18px 0 10px}.docs-hero h1{margin:14px 0 12px;font-size:46px;line-height:1.05;letter-spacing:0;overflow-wrap:anywhere}.docs-hero p{margin:0;color:var(--rock-10);line-height:1.75;max-width:780px;overflow-wrap:anywhere}.docs-callout,.doc-section,.doc-step,.scenario-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 26px #322d240f}.docs-callout{padding:18px;display:grid;gap:8px}.docs-callout strong{color:var(--primary)}.docs-callout span{color:var(--rock-8);line-height:1.65;overflow-wrap:anywhere}.doc-grid,.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-step{padding:18px}.doc-step>span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--primary-subtle);color:var(--primary);font-weight:820;margin-bottom:14px}.doc-step h2,.scenario-card h2{margin:0;font-size:16px}.doc-step p,.scenario-card p{margin:10px 0 0;color:var(--rock-8);line-height:1.7;overflow-wrap:anywhere}.doc-section,.scenario-card{padding:18px}.panel-head h2{display:inline-flex;align-items:center;gap:8px}.code-block{margin:0;padding:14px;border-radius:8px;border:1px solid var(--border);background:#1f2527;color:#f7f5f1;overflow:auto;line-height:1.55}.code-block code{color:inherit;font-size:12px;word-break:normal;white-space:pre}.docs-kv{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px 14px;margin-bottom:14px}.docs-kv span{color:var(--rock-8);font-size:12px;font-weight:760}.api-table{display:grid;grid-template-columns:repeat(var(--columns, 4),minmax(0,1fr));border:1px solid var(--border);border-radius:8px;overflow:hidden;margin:14px 0}.api-table.cols-2{grid-template-columns:minmax(160px,.8fr) minmax(0,2fr)}.api-table.cols-4{grid-template-columns:minmax(120px,.8fr) minmax(88px,.5fr) minmax(100px,.6fr) minmax(0,2fr)}.api-table strong,.api-table span{padding:10px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);line-height:1.55;overflow-wrap:anywhere;min-width:0}.api-table strong{color:var(--rock-12);background:var(--rock-2);font-size:12px}.api-table span{color:var(--rock-8);background:var(--surface)}.api-table.cols-2>:nth-child(2n),.api-table.cols-4>:nth-child(4n){border-right:0}.api-table>:nth-last-child(-n+2),.api-table.cols-4>:nth-last-child(-n+4){border-bottom:0}.architecture-diagram{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.35fr) auto minmax(0,1fr);align-items:stretch;gap:12px}.diagram-zone{border:1px solid var(--border);border-radius:8px;background:var(--rock-1);padding:14px;display:grid;align-content:start;gap:10px}.diagram-zone>strong{color:var(--primary);font-size:13px}.diagram-node{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.diagram-node svg{color:var(--primary);margin-top:1px}.diagram-node b{display:block;color:var(--rock-12);margin-bottom:4px}.diagram-node span{display:block;color:var(--rock-8);line-height:1.5;overflow-wrap:anywhere}.diagram-arrow{writing-mode:vertical-rl;text-orientation:mixed;align-self:center;color:var(--rock-8);font-size:12px;font-weight:760}.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.timeline.vertical{grid-template-columns:1fr;margin-bottom:14px}.timeline-item{border:1px solid var(--border);border-radius:8px;background:var(--rock-1);padding:14px}.timeline-item strong{color:var(--primary)}.timeline-item p{color:var(--rock-8);line-height:1.65;margin:8px 0 0;overflow-wrap:anywhere}@media(max-width:960px){.hero{grid-template-columns:1fr;margin-top:28px}.hero-copy h1{font-size:52px;white-space:normal}.login-layout{grid-template-columns:1fr;gap:24px;padding:24px 0 48px}.login-copy h1{font-size:52px}.login-card{justify-self:stretch}.content-grid,.doc-grid,.scenario-grid,.timeline,.docs-hero{grid-template-columns:1fr}.docs-hero h1{font-size:36px}.architecture-diagram{grid-template-columns:1fr}.diagram-arrow{writing-mode:horizontal-tb;text-align:center}.console-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.side-nav{grid-template-columns:repeat(2,1fr)}.workspace{padding:16px}.form-grid,.form-grid.compact,.dns-item{grid-template-columns:1fr}}@media(max-width:640px){.landing-nav{height:auto;padding:16px 0;align-items:flex-start;flex-direction:column}.hero-copy h1{font-size:52px}.docs-hero h1{font-size:30px;line-height:1.12}.hero-panel{padding:16px}.edge{display:none}.publish-column.consumers{grid-template-columns:1fr}.workspace-header{align-items:flex-start;flex-direction:column}}
