.page .zt-hero{padding-bottom:24px;text-align:left}.page .zt-hgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.page .zt-hcopy h1{font-size:clamp(32px,4.6vw,52px);line-height:1.04;letter-spacing:-.035em;font-weight:700;max-width:14ch;margin:0}.page .zt-hcopy .kicker{margin-bottom:14px}.page .zt-hcopy .lede{margin:18px 0 0;max-width:52ch}.page .zt-checks{list-style:none;margin:24px 0 0;display:flex;flex-direction:column;gap:11px}.page .zt-checks li{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:var(--text);line-height:1.45}.page .zt-checks .ck{flex:none;width:18px;height:18px;border-radius:5px;background:var(--accent-soft);display:grid;place-items:center;margin-top:1px}.page .zt-hcopy .phero-cta{justify-content:flex-start;margin-top:28px}.page .zt-hmock{position:relative}.page .zt-hmock .panel{border:1px solid var(--border);border-radius:16px;background:var(--panel);overflow:hidden;box-shadow:0 30px 80px -50px #000000e6}.page .panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.page .panel-head h3{font-size:13.5px;font-weight:600}.page .badge-on{font-family:var(--mono);font-size:10px;color:var(--good);background:#3ddc841a;border-radius:100px;padding:3px 9px}.page .panel-rows{display:flex;flex-direction:column}.page .prow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-bottom:1px solid var(--border)}.page .prow:last-child{border-bottom:0}.page .prow .pname{font-size:13px;color:var(--text);font-weight:500}.page .ptags{display:flex;align-items:center;gap:7px;margin-top:6px}.page .t-src{font-size:10.5px;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:2px 7px;font-family:var(--mono)}.page .t-dir{color:var(--dim);font-size:11px}.page .t-dst{font-size:10.5px;color:var(--muted);background:#ffffff0d;border-radius:5px;padding:2px 7px;font-family:var(--mono)}.page .prow-r{display:flex;align-items:center;gap:10px;flex:none}.page .t-proto{font-family:var(--mono);font-size:10px;color:var(--muted);background:var(--bg);border-radius:5px;padding:3px 7px}.page .dot-good{width:7px;height:7px;border-radius:50%;background:var(--good)}.page .float-chip{position:absolute;display:flex;align-items:center;gap:7px;background:var(--panel);border-radius:11px;padding:8px 11px;box-shadow:0 16px 40px -18px #000c;font-size:11px;font-weight:500}.page .float-chip svg{flex:none}.page .fc-tr{top:-14px;right:-14px}.page .fc-bl{bottom:-18px;left:-18px}.page .fc-good{border:1px solid rgba(61,220,132,.3);color:var(--good)}.page .fc-deny{border:1px solid rgba(239,68,68,.3);color:#f87171}.page .zt-flow{display:flex;align-items:stretch;justify-content:center;gap:14px;flex-wrap:wrap;max-width:920px;margin:0 auto}.page .zt-step{flex:1;min-width:220px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--panel),var(--bg2));padding:24px}.page .zt-stepn{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);border:1px solid rgba(255,86,48,.3);display:grid;place-items:center;color:var(--accent);font-weight:700;font-family:var(--mono);font-size:14px;margin-bottom:14px}.page .zt-step h3{font-size:16px;font-weight:600}.page .zt-step p{margin-top:7px;color:var(--muted);font-size:13.5px;line-height:1.5}.page .zt-arrow{display:flex;align-items:center;color:var(--accent);opacity:.5;font-size:22px;flex:none}@media(max-width:760px){.page .zt-arrow{display:none}}.page .mini{margin-top:16px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px}.page .mini-sep{height:1px;background:var(--border);margin:9px 0}.page .mini-row{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px}.page .m-src{color:var(--accent)}.page .m-dir{color:var(--dim)}.page .m-deny{color:#f87171}.page .m-dst{color:var(--text)}.page .m-meta{color:var(--muted);margin-left:auto}.page .m-meta.deny{color:#f87171b3}.page .zt-matrix{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11px}.page .zt-matrix th{padding:5px 6px;color:var(--muted);font-weight:400;border-bottom:1px solid var(--border);text-align:center}.page .zt-matrix th:first-child{text-align:left}.page .zt-matrix td{padding:5px 6px;text-align:center}.page .zt-matrix .mx-row{color:var(--accent);text-align:left}.page .zt-matrix .mx-y{color:var(--good)}.page .zt-matrix .mx-n{color:#f87171b3}.page .sim-row{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:8px}.page .sim-row:last-of-type{margin-bottom:0}.page .s-lab{color:var(--muted);min-width:46px}.page .s-val{color:var(--text);font-family:var(--mono);font-size:11.5px}.page .sim-verdict{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page .v-allow{color:var(--good);font-size:13px;font-weight:600}.page .v-by{color:var(--muted);font-size:11px}.page .log-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:7px}.page .log-row:last-child{margin-bottom:0}.page .l-time{color:var(--muted);font-family:var(--mono)}.page .l-user{color:var(--text)}.page .l-act{color:var(--muted)}.page .l-ok{color:var(--good)}.page .l-no{color:#f87171}.page .zt-dir{text-align:center}.page .zt-dir-ic{width:54px;height:54px;border-radius:14px;background:var(--accent-soft);border:1px solid rgba(255,86,48,.3);display:grid;place-items:center;margin:0 auto 16px;color:var(--accent);font-family:var(--mono);font-size:24px}.page .zt-dir h3{font-size:17px;font-weight:600}.page .zt-dir p{margin-top:8px}.page .zt-dir-eg{margin-top:16px;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:9px 12px}.page .zt-dir-eg code{font-family:var(--mono);font-size:12px;color:var(--accent)}.page .zt-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.page .zt-editor{display:flex;flex-direction:column;padding:22px}.page .ze-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page .ze-title{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--text)}.page .ze-title svg{color:var(--accent)}.page .ze-tag{font-family:var(--mono);font-size:10.5px;color:var(--dim)}.page .ze-graph{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:11px;flex:1;min-height:240px;overflow:hidden;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:22px 22px}.page .ze-edges{position:absolute;inset:0;width:100%;height:100%;z-index:1}.page .ze-node{position:absolute;z-index:2;padding:6px 11px;border-radius:8px;font-family:var(--mono);font-size:11px}.page .ze-blue{background:#5aa2ff1a;border:1px solid rgba(90,162,255,.4);color:var(--blue)}.page .ze-acc{background:var(--accent-soft);border:1px solid rgba(255,86,48,.4);color:var(--accent)}.page .ze-legend{position:absolute;bottom:8px;left:8px;display:flex;gap:12px;font-size:10px;color:var(--muted)}.page .ze-legend span{display:flex;align-items:center;gap:6px}.page .ze-legend i{width:12px;height:2px;display:inline-block}.page .lg-allow{background:var(--good)}.page .lg-deny{border-top:1px dashed #f87171}.page .ze-code{background:var(--bg);border:1px solid var(--border);border-radius:11px;padding:16px;flex:1;overflow-x:auto}.page .ze-code pre{margin:0}.page .ze-code code{font-family:var(--mono);font-size:12px;line-height:1.65;white-space:pre}.page .c-dim{color:var(--dim)}.page .c-acc{color:var(--accent)}.page .c-blue{color:var(--blue)}.page .c-good{color:var(--good)}.page .c-red{color:#f87171}.page .ze-cap{margin-top:12px;text-align:center;font-size:11.5px;color:var(--muted);font-style:italic}.page .zt-pair{margin-top:32px;text-align:center;font-size:14px;color:var(--muted)}.page .zt-pair a{color:var(--accent);font-weight:500}.page .zt-pair a:hover{text-decoration:underline}@media(max-width:880px){.page .zt-hgrid{grid-template-columns:1fr;gap:40px}.page .zt-hcopy h1{max-width:none}.page .zt-editor-grid{grid-template-columns:1fr}}
