/* V2.2 policy pages: unified reading layout, no editorial notes in public content. */
.privacy-page{max-width:1220px;padding-block:42px 72px}.privacy-page>.filter-tabs{margin-bottom:24px}.policy-reading{display:grid;grid-template-columns:218px minmax(0,1fr);gap:24px;align-items:start}.policy-toc{padding:22px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.policy-toc h2{font-size:1rem;margin:0 9px 15px}.policy-toc nav{display:grid;gap:5px}.policy-toc nav a{display:flex;gap:10px;padding:8px 9px;font-size:.875rem;line-height:1.65;border-left:2px solid transparent;border-radius:4px;overflow-wrap:anywhere}.policy-toc nav a span{color:var(--teal);font-size:.8125rem;flex-shrink:0}.policy-toc nav a:hover,.policy-toc nav a:focus-visible{background:#eef7f4;border-left-color:var(--teal)}.policy-contact{margin-top:22px;padding:18px 8px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.policy-contact p{font-size:.875rem;margin-bottom:8px}.policy-contact>a{color:var(--teal);font-size:.8125rem;text-decoration:underline;text-underline-offset:3px}
.privacy-document{padding:clamp(24px,3.7vw,44px);border:1px solid var(--line);border-radius:15px;background:#fff;min-width:0;overflow-wrap:anywhere}.privacy-heading{padding-bottom:23px;border-bottom:1px solid var(--line)}.privacy-heading h1{font-size:clamp(1.65rem,3.2vw,2.35rem);line-height:1.4;letter-spacing:-.02em;margin:14px 0 0}.privacy-document p,.privacy-document li{font-size:1rem;line-height:1.95;color:#334e5d}.privacy-intro{margin-top:25px}.privacy-section{padding-top:28px;margin-top:28px;border-top:1px solid #e5eded;scroll-margin-top:112px}.privacy-section h2{display:flex;gap:13px;align-items:baseline;font-size:1.25rem;line-height:1.6;margin:0 0 15px;letter-spacing:0}.privacy-section h2>span{color:var(--teal);font-size:.875rem;font-weight:600;flex-shrink:0}.privacy-section p+p{margin-top:14px}.privacy-section ul{padding-left:1.4em;margin:18px 0}.privacy-section li+li{margin-top:11px}.privacy-section li::marker{color:var(--teal)}.privacy-document a{color:#12695f;text-decoration:underline;text-underline-offset:4px}.privacy-document a:hover{color:#034d46}.privacy-document .eyebrow{color:var(--teal)}.policy-official-links{display:flex;gap:10px 20px;flex-wrap:wrap;margin-top:16px;font-size:.875rem}.policy-related{display:flex;gap:16px 24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-top:30px;font-size:.9375rem}
@media(max-width:850px){.policy-reading{grid-template-columns:185px minmax(0,1fr);gap:18px}.policy-toc{padding:18px 10px}}
@media(max-width:660px){.privacy-page{padding-block:26px 48px}.policy-reading{grid-template-columns:1fr}.policy-toc{padding:18px 14px}.policy-toc nav{grid-template-columns:1fr 1fr;gap:5px}.policy-contact{display:none}.privacy-document{padding:25px 20px}.privacy-section h2{gap:10px}.privacy-page>.filter-tabs{gap:7px}.privacy-page>.filter-tabs a{padding:10px 13px}}
/* Compact account dialog. Policy links open separately, preserving current input. */
dialog:has(#auth-form){width:min(450px,calc(100% - 28px))}.form-legal a{white-space:normal}
/* Previous Windows demo, scoped so the Android preview and real IP bar stay unchanged. */
.windows-demo{background:#fbfdfdf7;color:var(--ink);border:1px solid #ffffff95;border-radius:17px;padding:22px 20px;box-shadow:0 24px 50px #0004;position:relative;transform:rotate(-2deg);backdrop-filter:blur(20px);width:100%;min-width:0}
.windows-demo .demo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.875rem;font-weight:600;padding-bottom:18px;border-bottom:1px solid #e0e9e9}
.windows-demo .demo-top>span{display:flex;align-items:center;gap:7px}.windows-demo .demo-top .icon{width:17px;color:var(--teal)}.windows-demo .demo-label{font-size:.8125rem;font-weight:400;color:#586f7c}
.windows-demo .demo-status{display:flex;align-items:center;gap:16px;padding:23px 0}.windows-demo .demo-status>div:last-child{min-width:0}.windows-demo .shield-orbit{height:64px;width:64px;flex-shrink:0;display:grid;place-items:center;background:#e8f9f3;border-radius:50%;border:1px solid #c6ebe2}.windows-demo .shield-orbit .icon{width:34px;height:34px;color:var(--teal)}
.windows-demo .demo-status .eyebrow{font-size:.75rem;letter-spacing:.15em}.windows-demo .demo-status h3{font-size:1.25rem;line-height:1.45;margin:2px 0}.windows-demo .demo-status p{font-size:.875rem;line-height:1.6}
.windows-demo .demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #e4eded;border-radius:11px;overflow:hidden}.windows-demo .demo-grid>div{display:flex;gap:10px;padding:14px 10px;border-bottom:1px solid #e4eded;min-width:0}.windows-demo .demo-grid>div:nth-child(odd){border-right:1px solid #e4eded}.windows-demo .demo-grid>div:nth-last-child(-n+2){border-bottom:0}.windows-demo .demo-grid .icon{width:17px;height:20px;color:#487b7d}.windows-demo .demo-grid span{font-size:.875rem;color:var(--muted);min-width:0;line-height:1.55;overflow-wrap:anywhere}.windows-demo .demo-grid strong{display:block;font-size:.9375rem;margin-top:4px;color:var(--ink);font-variant-numeric:tabular-nums}
.windows-demo .demo-route{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.windows-demo .flag{width:33px;height:25px;display:grid;place-items:center;font-size:21px;flex-shrink:0}.windows-demo .hk{background:#e84249;color:white;border-radius:4px}.windows-demo .demo-route>span:nth-child(2){min-width:0}.windows-demo .demo-route strong{display:block;font-size:.9375rem}.windows-demo .demo-route small{display:block;font-size:.8125rem;color:var(--muted);margin-top:3px;line-height:1.6}.windows-demo .demo-route a{margin-left:auto;color:var(--teal);font-size:.875rem;display:flex;align-items:center;gap:4px;min-height:44px}.windows-demo .demo-route a:hover{text-decoration:underline;text-underline-offset:4px}.windows-demo .demo-route .icon{width:14px}
.windows-demo .demo-cta{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--teal);min-height:48px;padding:13px;color:white;border-radius:8px;font-size:.9375rem;text-align:center;line-height:1.5}.windows-demo .demo-cta:hover{background:#05685f}.windows-demo .demo-cta .icon{width:16px}
@media(max-width:1150px){.windows-demo{padding:19px 16px}.windows-demo .demo-grid>div{gap:7px;padding:12px 9px}}
@media(max-width:900px){.windows-demo .demo-status{gap:10px}.windows-demo .shield-orbit{width:48px;height:48px}}
@media(max-width:680px){.windows-demo{transform:none;padding:17px}.windows-demo .demo-route a{margin-left:43px}.windows-demo .demo-grid>div{flex-direction:column;gap:5px}.windows-demo .demo-status h3{font-size:1.125rem}.hero-client:has(.windows-demo){margin-inline:auto}}
#connection-overview{background:#f4f8f8;border-bottom:1px solid var(--line)}
.connection-strip{padding-block:14px 12px;font-size:.875rem;color:var(--ink)}
.connection-strip-main{display:flex;align-items:center;gap:12px 24px;min-width:0}
.connection-strip-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border:1px solid #d5e6e3;border-radius:11px;background:#fff;color:var(--teal)}
.connection-strip-icon .icon{width:21px;height:21px}.connection-ip{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.connection-ip>span{color:#496370}.connection-ip strong{font-size:.9375rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
.connection-state{padding:6px 11px;border-radius:7px;background:#e6efef;color:#34545d;line-height:1.6;font-weight:550;overflow-wrap:anywhere}
.connection-protected .connection-state{color:#126344;background:#e0f3e9}
.connection-unprotected .connection-state{color:#b42332;background:#fff0f1}
.connection-unavailable .connection-state,.connection-unknown .connection-state{color:#8b490d;background:#fff0dc}
.connection-refresh{display:flex;align-items:center;justify-content:center;gap:8px;margin-left:auto;flex-shrink:0;min-height:40px;padding:8px 12px;border:1px solid #c5d9d5;border-radius:8px;color:#174d48;background:#fff;font-size:.875rem;font-weight:600;cursor:pointer;line-height:1.5}
.connection-refresh:hover{background:#e3f2ec;border-color:var(--teal)}.refresh-symbol{font-size:1.25rem;line-height:1}
.connection-scope{margin:7px 0 0 62px;color:#526b77;font-size:.8125rem;line-height:1.6}
.billing-periods{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;margin-bottom:28px;font-size:.9375rem}.billing-periods>span{font-weight:600}.billing-periods>div{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border:1px solid #cddfda;border-radius:12px;background:#f2f7f5}.billing-periods a,.billing-periods button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 23px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);line-height:1.4;font-size:.9375rem;cursor:pointer}
.billing-periods a:hover,.billing-periods button:not(:disabled):hover{background:#e2efea}.billing-periods a[aria-current],.billing-periods button[aria-pressed=true]{background:#0a7569;color:#fff;box-shadow:0 3px 8px #0a75691a}
@media(max-width:760px){.connection-strip-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}.connection-strip-icon{display:none}.connection-ip{align-items:flex-start;flex-direction:column;gap:4px}.connection-state{grid-column:1;grid-row:2;justify-self:start}.connection-refresh{grid-column:2;grid-row:1 / span 2}.connection-scope{margin-left:0}.billing-periods>div{width:100%}.billing-periods a,.billing-periods button{flex:1;padding-inline:12px}.billing-periods>span{width:100%}}
@media(max-width:400px){.connection-strip-main{grid-template-columns:minmax(0,1fr)}.connection-refresh{grid-column:1;grid-row:3;justify-self:start;margin-left:0}.billing-periods a,.billing-periods button{padding-inline:10px;min-width:70px}}
.language-menu{position:relative;color:var(--ink);font-size:.875rem;flex-shrink:0}
.language-menu summary{display:flex;align-items:center;gap:7px;min-height:42px;padding:9px;border:1px solid transparent;border-radius:9px;cursor:pointer;list-style:none;white-space:nowrap}
.language-menu summary::-webkit-details-marker{display:none}.language-menu summary>.icon{width:18px;height:18px}.language-menu summary>.icon:last-child{width:12px}
.language-menu summary:hover,.language-menu[open] summary{background:#edf6f3;border-color:var(--line)}
.language-menu nav{position:absolute;right:0;top:calc(100% + 8px);width:205px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 35px #102b3a22;z-index:65}
.language-menu nav a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-radius:7px;min-height:44px}
.language-menu nav a:hover,.language-menu nav a[aria-current]{color:var(--teal);background:#eef7f4}.language-menu nav .icon{width:17px}
.guest-button{min-height:44px}.guest-button:hover{color:var(--teal);background:#eef7f4;border-color:#aacbc4}.form-preview{font-size:.875rem;line-height:1.6}
dialog{scrollbar-gutter:stable;overscroll-behavior:contain}dialog .form-intro{margin-bottom:17px}.modal-brand{margin-top:24px}
.integration-panel{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}
.integration-panel h2{font-size:1.6rem;line-height:1.4;margin-bottom:16px}.integration-panel h3{font-size:1.1rem;margin-bottom:12px}
.integration-panel p{overflow-wrap:anywhere}.integration-panel .button{margin-top:15px}.integration-panel dl{margin:18px 0}.integration-panel dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 20px;margin:12px 0;line-height:1.6}
.integration-panel dt{color:var(--muted)}.integration-panel dd{margin:0;overflow-wrap:anywhere;font-weight:600}.integration-panel label{display:block;margin:18px 0 8px;font-size:.9375rem}
.integration-panel input,.integration-panel textarea,.integration-panel select{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px;background:#f9fbfb;color:var(--ink);min-width:0;max-width:100%}.integration-panel textarea{min-height:130px;resize:vertical}
.resource-state{padding:22px;background:#f2f7f5;border:1px solid var(--line);border-radius:12px;line-height:1.7}.resource-state .button{margin-top:12px}.resource-state[aria-busy=true]{color:var(--muted)}
.inline-feedback{padding:13px 15px;background:#f2f7f5;border:1px solid var(--line);border-radius:9px;line-height:1.7;margin-block:14px;font-size:.9375rem}.inline-feedback:empty{display:none}
button:disabled{opacity:.65;cursor:not-allowed;transform:none!important}.resource-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}
.node-grid .network-card{min-width:0}.network-card>span{min-width:0}.network-card strong,.network-card small{overflow-wrap:anywhere}
.common-benefits{padding:20px 24px;margin-top:20px;background:#eef7f3;border:1px solid #d4e5de;border-radius:13px}.common-benefits h2{font-size:1rem;line-height:1.5;margin-bottom:10px}.common-benefits ul{list-style:none;padding:0;margin:0;display:flex;gap:12px 26px;flex-wrap:wrap;font-size:.9375rem;line-height:1.6}.common-benefits li{display:flex;align-items:flex-start;gap:8px}.common-benefits .icon{width:18px;height:18px;color:var(--teal);margin-top:3px}
.plan-quick-compare{margin:0 0 26px}.plan-quick-compare h2{font-size:1.1rem;margin-bottom:14px}.compare-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.compare-grid a{padding:15px;border:1px solid var(--line);background:#fff;border-radius:10px;line-height:1.6;min-width:0}.compare-grid a:hover{border-color:var(--teal);background:#f1f8f5}.compare-grid strong,.compare-grid span{display:block;overflow-wrap:anywhere}.compare-grid span{color:var(--muted);font-size:.875rem}.compare-grid strong{font-size:1rem}.plan-card .plan-features{margin:16px 0 23px;padding-top:16px;gap:9px}.plan-card .plan-billing{min-height:0}.plan-card .plan-description{min-height:0}.plan-description{display:none}.plan-card .plan-saving{min-height:0}.plan-price{margin-top:18px}.plan-card h2{margin-top:13px}.plan-card .plan-features li{font-size:.875rem}.plan-card .plan-badge{font-size:.8125rem}
.policy-pending{border-left:3px solid #b4ccc5;padding:15px;background:#f2f7f5}.network-status{display:block;margin-top:4px;font-size:.875rem}.release-list{display:grid;gap:16px;margin-top:20px}.release-list article{padding:20px;border:1px solid var(--line);border-radius:12px}.release-list h3{margin-bottom:12px}.release-list p{font-size:.9375rem}.release-list code{word-break:break-all;font-size:.8125rem}.policy-link{display:inline-flex;margin-top:20px}
.plan-quick-compare{display:none}
@media(max-width:820px){.plan-quick-compare{display:block}.language-menu summary{gap:5px;padding:8px}.plan-review-grid{gap:24px}.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.language-menu summary{min-height:40px;font-size:.8125rem}.language-menu summary>.icon:first-child{display:none}.site-header{gap:8px}.header-actions{gap:4px}.hero-client .client-demo{transform:none}.hero-visual{padding:22px 16px}.hero-client .client-title{flex-wrap:wrap;gap:7px}.client-status>span{min-width:0}.client-status strong,.client-status small{overflow-wrap:anywhere}.demo-nodes button>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.benefit-rail>div{grid-template-columns:1fr}.benefit-rail>div>div{display:flex;align-items:center}.benefit-rail .icon{margin:0}.common-benefits{padding:18px}.common-benefits ul{display:grid;gap:10px}.plan-card{padding:20px}.plan-recommended{padding:19px}.plan-price strong{font-size:2.15rem}.plan-quick-compare h2{font-size:1rem}.compare-grid a{padding:12px}.integration-panel{padding:18px}.resource-actions .button{width:100%}.modal-brand{margin-top:20px}dialog .form-preview{padding:10px 12px}.modal-brand+h2{font-size:1.85rem}.plan-review .plan-features{margin-top:12px}}
@media(max-width:360px){.site-header{padding-inline:12px}.brand{font-size:1.05rem}.language-menu summary{padding:6px}.language-menu nav{right:-30px}.hero-client .client-content{padding:15px}.client-status{gap:8px}.client-status>.icon{width:35px;height:35px}.hero-visual{padding:18px 12px}.button{overflow-wrap:anywhere}.form-switch{flex-wrap:wrap}}
