.vpt .vpt-card{grid-template-areas:"ctl""head""list""side"}.vpt .vpt-card.no-head{grid-template-areas:"ctl""list""side"}@media (width>=64rem){.vpt .vpt-card{grid-template-rows:auto auto 1fr;grid-template-areas:"ctl ctl""head side""list side"}.vpt .vpt-card.no-head{grid-template-rows:auto 1fr;grid-template-areas:"ctl ctl""list side"}}.vpt-ctl-row{justify-content:center;display:flex}.vpt-rows{margin:0;padding:0;list-style:none}.vpt-row{--kc:var(--k-unk);border-bottom:1px solid var(--color-line);grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"tile name kc""tile detail detail";align-items:center;gap:2px 12px;min-height:64px;padding:12px 20px;display:grid;position:relative}.vpt-row:before{content:"";background:var(--kc);width:3px;position:absolute;top:0;bottom:0;left:0}.vpt-row>.tl{--tone:var(--kc);grid-area:tile;align-self:start}.vpt-row>.vpt-l1{grid-area:name}.vpt-row>.kc{grid-area:kc}.vpt-row>.vpt-detail{grid-area:detail}.vpt [data-k=ok]{--kc:var(--color-ok-mark)}.vpt [data-k=fail]{--kc:var(--color-fail-mark)}.vpt [data-k=warn]{--kc:var(--color-warn-mark)}.vpt [data-k=unknown]{--kc:var(--color-unknown-mark)}.vpt :is([data-k=info],[data-k=skip],[data-k=run]){--kc:var(--color-link)}.vpt [data-k=vpn]{--kc:var(--k-vpn)}.vpt [data-k=isp]{--kc:var(--k-isp)}.vpt [data-k=off]{--kc:var(--color-line-strong)}.vpt-row[data-k=fail]{background:color-mix(in oklab, var(--color-fail-mark) 5%, var(--color-surface-raised))}.vpt-l1{flex-wrap:wrap;align-items:baseline;gap:0 10px;min-width:0;display:flex}.vpt-l1 .nm{font:600 15px/21px var(--font-sans);color:var(--color-ink)}.vpt-l1 .what{font:500 13px/18px var(--font-sans);color:var(--color-ink-secondary)}.vpt .vpt-kc{justify-self:end}.vpt .vpt-kc[data-k=ok]{color:var(--color-ok)}.vpt .vpt-kc[data-k=fail]{color:var(--color-fail)}.vpt .vpt-kc[data-k=warn]{color:var(--color-warn)}.vpt .vpt-kc[data-k=unknown]{color:var(--color-unknown)}.vpt .vpt-kc:is([data-k=off],[data-k=skip],[data-k=run]){box-shadow:inset 0 0 0 1px var(--color-line-control);color:var(--color-ink-secondary);background:0 0}.vpt .vpt-kc .spin{width:12px;height:12px}.vpt-detail{font:500 13.5px/20px var(--font-sans);color:var(--color-ink-secondary);text-wrap:pretty;overflow-wrap:anywhere;margin-top:2px}.vpt-detail strong{color:var(--color-ink);font-weight:600}.vpt-detail code{font:400 .93em/1 var(--font-mono)}.vpt-more{color:var(--color-link);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.vpt-more:hover{text-decoration:underline}.vpt-act{border:1px solid color-mix(in oklab, var(--color-link) 45%, var(--color-line));background:var(--color-surface-raised);min-height:32px;font:600 13.5px/1 var(--font-sans);color:var(--color-link);white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:4px;padding:0 12px;display:inline-flex}.vpt-act:hover{border-color:var(--color-link);background:color-mix(in oklab, var(--color-link) 6%, var(--color-surface-raised))}.vpt-act:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.vpt-diff{border-bottom:1px solid var(--color-line);background:var(--color-surface);padding:14px 20px 16px}.vpt-diff-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;display:flex}.vpt-diff-h h3{font:600 12px/18px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-secondary);margin:0}.vpt-diff-h span{font:500 12.5px/18px var(--font-sans);color:var(--color-ink-secondary)}.vpt-diff-r{font:500 14px/21px var(--font-sans);color:var(--color-ink);text-wrap:pretty;overflow-wrap:anywhere;margin:6px 0 0}.vpt-diff-r strong{font-weight:650}.vpt-diff-s{font:500 13.5px/20px var(--font-sans);color:var(--color-ink-secondary);margin:6px 0 0}.vpt-diff-rows{margin:10px 0 0}.vpt-diff-rows>div{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:5px 0;display:grid}.vpt-diff-rows dt{font:600 13px/20px var(--font-sans);color:var(--color-ink-secondary)}.vpt-diff-rows dd{min-width:0;font:500 13.5px/20px var(--font-sans);color:var(--color-ink-secondary);flex-wrap:wrap;align-items:center;gap:2px 8px;margin:0;display:flex}.vpt-diff-rows dd>svg{color:var(--color-ink-secondary);flex:none}.vpt-diff-rows [data-changed] dt{color:var(--color-ink)}.vpt-diff-rows .v{overflow-wrap:anywhere}.vpt-diff-rows .was{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, currentColor 45%, transparent);text-decoration-color:color-mix(in oklab, currentColor 45%, transparent)}.vpt-diff-rows [data-changed] .v:not(.was){font-weight:600}.vpt-diff-rows [data-changed] .v[data-k=ok]{color:var(--color-ok)}.vpt-diff-rows [data-changed] .v[data-k=fail]{color:var(--color-fail)}.vpt-diff-rows [data-changed] .v[data-k=unknown]{color:var(--color-unknown)}.vpt-diff-rows [data-changed] .v:is([data-k=vpn],[data-k=isp]){color:var(--color-ink)}@media (width<64rem){.vpt-diff{padding:12px 14px 14px}.vpt-diff-rows>div{grid-template-columns:64px minmax(0,1fr)}.vpt-row{padding:12px 14px}}.vpt-idle{font:500 13px/19px var(--font-sans);color:var(--color-mist);margin-top:14px}.vpt-seen{gap:0;margin:12px 0 0;display:grid}.vpt-seen>div{border-bottom:1px solid color-mix(in oklab, var(--color-mist) 14%, transparent);grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.vpt-seen>div:last-child{border-bottom:0}.vpt-seen dt{font:500 12px/20px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-mist)}.vpt-seen dd{min-width:0;font:500 13.5px/20px var(--font-sans);color:var(--color-on-navy);gap:4px;margin:0;display:grid}.vpt-seen dd.dim,.vpt-seen .dim{color:var(--color-mist)}.vpt-seen .ip{font:400 14px/20px var(--font-mono);color:var(--color-on-navy);overflow-wrap:anywhere}.vpt-seen .nw{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.vpt-seen .as{font:400 12px/1 var(--font-mono);color:var(--color-mist)}.vpt-seen .pl{align-items:center;gap:6px;display:inline-flex}.vpt-seen [data-out] .ip{color:var(--color-fail-mark)}.vpt-kind{--r:var(--color-mist);height:20px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--r) 55%, transparent);color:var(--r);font:600 11.5px/1 var(--font-sans);white-space:nowrap;border-radius:5px;align-items:center;padding:0 7px;display:inline-flex}.vpt-kind:is([data-k=vpn],[data-k=relay],[data-k=tor]){--r:var(--color-cyan)}.vpt-kind[data-k=leak]{--r:var(--color-fail-mark)}.vpt-seen .zl{gap:0;display:grid}.vpt-seen .zk{font:500 12.5px/18px var(--font-sans);color:var(--color-mist)}.vpt-seen .zl code{font:400 13px/18px var(--font-mono);color:var(--color-on-navy);overflow-wrap:anywhere}.vpt-seen .tell{font:500 13px/19px var(--font-sans);color:var(--color-mist);grid-template-columns:14px minmax(0,1fr);gap:8px;margin-top:4px;display:grid}.vpt-seen .tell svg{color:var(--color-cyan);margin-top:2px}.vpt-seen .tell[data-t=mismatch]{color:var(--color-on-navy)}.vpt-seen .tell[data-t=mismatch] svg{color:var(--color-warn-mark)}@media (width<64rem){.vpt-seen>div{grid-template-columns:64px minmax(0,1fr)}}.vpg-fig{min-width:0;container-type:inline-size}.vpg-fig>.fig-label{color:var(--color-ink-secondary)}.band .vpg-fig>.fig-label{color:var(--color-mist)}.vpg-table th[scope=row]{white-space:nowrap}.vpg-name{align-items:center;gap:10px;font-weight:600;display:inline-flex}.vpg-tile{background:var(--color-tile);width:28px;height:28px;color:var(--color-on-navy);border-radius:7px;flex:none;place-items:center;display:inline-grid}.vpg-marks{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.vpg-marks .mono,.vpg-table .mono{font:400 13px/20px var(--font-mono);color:var(--color-ink-secondary)}.vpg-sub{font:500 13px/19px var(--font-sans);color:var(--color-ink-secondary);margin-top:2px;display:block}.vpg-link{color:var(--color-link);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.vpg-link:hover{text-decoration:underline}.vpg-chip{--c:var(--color-unknown-mark);background:color-mix(in oklab, var(--c) 12%, var(--color-surface-raised));height:24px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c) 40%, transparent);color:var(--color-ink);font:600 12.5px/1 var(--font-sans);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:0 8px 0 6px;display:inline-flex}.vpg-chip svg{color:var(--c);flex:none}.vpg-chip[data-t=vpn]{--c:var(--color-teal)}.vpg-chip[data-t=relay],.vpg-chip[data-t=tor]{--c:var(--color-link)}.vpg-chip[data-t=fail]{--c:var(--color-fail-mark)}.vpg-chip[data-t=warn]{--c:var(--color-warn-mark)}.vpg-clocks{gap:10px;display:grid}.vpg-clock{border:1px solid var(--color-line);background:var(--color-surface);border-radius:12px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:4px 12px;padding:12px 14px;display:grid}.vpg-clock>.vpg-tile{grid-row:span 2;width:36px;height:36px}.vpg-clock .k{font:500 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-secondary)}.vpg-clock .v{font:400 15px/22px var(--font-mono);color:var(--color-ink);flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.vpg-clock .how{font:500 13px/18px var(--font-sans);color:var(--color-ink-secondary);grid-column:2}.vpg-tell{background:var(--color-warn-fill);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--color-warn-mark) 35%, transparent);font:500 14px/21px var(--font-sans);color:var(--color-ink);border-radius:12px;grid-template-columns:20px minmax(0,1fr);gap:10px;margin-top:4px;padding:12px 14px;display:grid}.vpg-tell svg{color:var(--color-warn-mark);margin-top:1px}.vpg-tell span{color:var(--color-ink-secondary);display:block}.vpg-drop{gap:12px;display:grid}.vpg-cause{background:var(--color-tile);color:var(--color-on-navy);font:600 14px/20px var(--font-sans);border-radius:999px;justify-self:center;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.vpg-ways{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@container (width>=30rem){.vpg-ways{grid-template-columns:repeat(2,minmax(0,1fr))}}.vpg-way{--c:var(--color-fail-mark);border:1px solid color-mix(in oklab, var(--c) 40%, var(--color-line));border-top:3px solid var(--c);background:color-mix(in oklab, var(--c) 5%, var(--color-surface-raised));border-radius:12px;gap:6px;padding:14px 16px;display:grid}.vpg-way[data-t=ok]{--c:var(--color-ok-mark)}.vpg-way h3{font:600 15px/21px var(--font-sans);color:var(--color-ink);align-items:center;gap:8px;margin:0;display:flex}.vpg-way h3 svg{color:var(--c)}.vpg-way p{font:500 14px/21px var(--font-sans);color:var(--color-ink-secondary);margin:0}
