/* Pelmeni VPN Docs Material 3 visual layer; original documentation preserved */
:root{--bg:#101116;--panel:#1c1b22;--panel2:#292831;--text:#e7e1e9;--muted:#c7c3d0;--line:#49454f;--accent:#d0bcff;--accent2:#b5c5ff;--m-primary:#d0bcff;--m-on-primary:#381e72;--m-container:#4f378b;--m-outline:#938f99;--m-surface:#141218;--m-surface-container:#211f26;--m-surface-high:#2b2930;--m-success:#b5e5c1;--m-warn:#ffddb0;--border:var(--line);--card:var(--panel)}
body.light{--bg:#faf8ff;--panel:#fff;--panel2:#f1edf7;--text:#1d1b20;--muted:#49454f;--line:#cac4d0;--accent:#6750a4;--accent2:#465ba7;--m-primary:#6750a4;--m-on-primary:#fff;--m-container:#eaddff;--m-outline:#79747e;--m-surface:#fef7ff;--m-surface-container:#f3edf7;--m-surface-high:#ece6f0;--m-success:#1f6d41;--m-warn:#835000;--border:var(--line);--card:var(--panel)}
*{box-sizing:border-box}html{scroll-padding-top:92px}body{background:var(--bg);color:var(--text);font-family:Roboto,'Segoe UI',system-ui,sans-serif;line-height:1.7;letter-spacing:.005em}body:before{background:radial-gradient(ellipse at 80% -10%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 65%);height:620px}::selection{background:var(--m-container);color:var(--text)}
.shell{grid-template-columns:280px minmax(0,1fr)}.sidebar{background:var(--m-surface-container);border-right:1px solid color-mix(in srgb,var(--line) 55%,transparent);padding:26px 14px;z-index:25}.brand{font-size:20px;letter-spacing:-.7px;margin:0 10px 36px}.logo{background:var(--m-container);color:var(--m-primary);border-radius:18px;box-shadow:none;font-size:27px}.nav-label{letter-spacing:1.3px;font-size:11px}.nav a{border-radius:999px;padding:13px 18px;min-height:48px;transition:background .18s,color .18s;line-height:1.35}.nav a:hover{background:var(--m-surface-high)}.nav a.active{background:var(--m-container);color:var(--accent);box-shadow:none}.side-foot{font-size:11px}.main{max-width:1420px;padding:20px clamp(20px,4vw,68px) 90px}.top{position:sticky;top:0;z-index:12;min-height:64px;display:flex;align-items:center;gap:14px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--line) 35%,transparent);margin:-20px 0 34px;padding:14px 0}.crumb{color:var(--muted);font-size:13px}.btn{border:1px solid var(--line);background:var(--m-surface-container);color:var(--text);border-radius:999px;padding:11px 20px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}.btn:hover{background:var(--m-surface-high);transform:translateY(-1px)}.btn:focus-visible,.nav a:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn.primary{background:var(--m-primary);color:var(--m-on-primary);border-color:transparent;box-shadow:0 3px 10px #0002}.hero{background:linear-gradient(130deg,color-mix(in srgb,var(--m-container) 55%,var(--panel)),var(--panel) 75%);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:32px;padding:clamp(26px,5vw,64px);margin:10px 0 36px;position:relative;overflow:hidden}.hero:after{content:'◈';position:absolute;right:3%;top:-65px;font-size:310px;line-height:1;opacity:.07;pointer-events:none}.hero>*{position:relative;z-index:1}.eyebrow{color:var(--accent);letter-spacing:1.8px;font-size:12px;font-weight:800}.hero h1,h1{font-size:clamp(2.6rem,5vw,4.4rem);letter-spacing:-.055em;line-height:1.08}.hero h1 span,h1 span{color:var(--accent)}.lead{color:var(--muted);font-size:clamp(1rem,1.5vw,1.17rem);max-width:780px;line-height:1.8}.section-head h2{letter-spacing:-.03em}.grid{gap:18px}.card{background:var(--panel);border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:28px;padding:28px;transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0002;border-color:var(--accent)}.card h3{font-size:1.28rem;letter-spacing:-.02em}.card p{color:var(--muted)}.iconbox{border-radius:16px;background:var(--m-container);color:var(--accent);box-shadow:none}.arrow{color:var(--accent);font-weight:700}.article{max-width:1000px;margin:0 auto}.article h1{margin:18px 0}.article h2{letter-spacing:-.025em}.article a:not(.btn){color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}.notice{border:1px solid color-mix(in srgb,var(--m-warn) 35%,var(--line));background:color-mix(in srgb,var(--m-warn) 8%,var(--panel));border-radius:20px;padding:20px 24px;line-height:1.75}.toc{background:var(--m-surface-container);border-radius:28px;border:1px solid var(--line);padding:22px;margin:30px 0}.toc a{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:9px 14px;display:inline-block;text-decoration:none!important;font-size:13px;line-height:1.4;transition:background .15s}.toc a:hover{background:var(--m-container)}.article .step,.step{border:1px solid color-mix(in srgb,var(--line) 75%,transparent)!important;border-radius:28px!important;background:var(--panel)!important;padding:clamp(20px,3.5vw,36px)!important;margin:24px 0!important;box-shadow:0 2px 8px #00000008}.step h2{font-size:clamp(1.3rem,2vw,1.65rem)!important;line-height:1.3}.step .label,.step-kicker{color:var(--accent)!important}.step .check,.step-check{background:color-mix(in srgb,var(--m-success) 9%,var(--panel))!important;border-left:4px solid var(--m-success)!important;border-radius:4px 14px 14px 4px!important}.step .trouble{background:color-mix(in srgb,var(--m-warn) 9%,var(--panel))!important;border-left:4px solid var(--m-warn)!important;border-radius:4px 14px 14px 4px!important}.guide-step{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:26px!important;margin:18px 0}.code,pre{max-width:100%;overflow-x:auto;border-radius:18px;background:#17151e!important;border:1px solid #484350;color:#f3eaff}body.light .code,body.light pre{background:#25212d!important;color:#f3eaff}pre{padding:18px}code{overflow-wrap:anywhere}.code code,pre code{overflow-wrap:normal}.copy{border-radius:999px!important;background:#3d3452!important;color:#eee2ff!important;border:1px solid #655a76!important;cursor:pointer}.footer{color:var(--muted);border-top:1px solid var(--line);margin-top:56px;padding-top:24px}.reading-progress{position:fixed;top:0;left:0;height:4px;background:var(--accent);width:0;z-index:90;transition:width .1s}.to-top{position:fixed;bottom:22px;right:22px;z-index:40;border:0;border-radius:18px;background:var(--m-primary);color:var(--m-on-primary);width:54px;height:54px;box-shadow:0 6px 22px #0003;cursor:pointer;font-size:23px;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s,transform .2s}.to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.menu-scrim{display:none}a,button{-webkit-tap-highlight-color:transparent}
@media(max-width:800px){.shell{display:block}.sidebar{width:min(330px,86vw);box-shadow:18px 0 50px #0006}.sidebar.open{transform:translateX(0)}.menu-scrim.open{display:block;position:fixed;inset:0;background:#0009;z-index:24}.main{padding:20px 16px 70px}.top{margin:-20px 0 20px;padding:10px 0;min-height:64px}.top .crumb{font-size:11px;display:inline-block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.top .btn{padding:9px 13px}.hero{border-radius:28px;padding:28px 22px}.hero:after{font-size:180px;top:5px}.grid{grid-template-columns:1fr}.card{padding:24px}.article .step{padding:22px!important}.toc{padding:14px}.toc a{margin:4px}.to-top{bottom:16px;right:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Custom domain field — Material Design 3 */
.domain-config{margin:18px 0 30px;padding:22px 24px;border:1px solid var(--border,#424458);border-radius:24px;background:var(--card,#1c1d2a);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.domain-config h2{margin:0 0 8px;font-size:1.15rem}.domain-config p{margin:0 0 16px;line-height:1.65;opacity:.82}
.domain-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.domain-field{display:flex;flex-direction:column;gap:7px;flex:1 1 260px;font-size:.9rem;font-weight:600}.domain-field input{box-sizing:border-box;width:100%;padding:14px 16px;border:1px solid #85859b;border-radius:14px;background:transparent;color:inherit;font:inherit;outline-offset:2px}.domain-field input:focus{border-color:#a8a2ff;outline:2px solid #a8a2ff55}.domain-config button{padding:14px 20px;border:0;border-radius:14px;background:#b9adff;color:#211643;font-weight:750;cursor:pointer}.domain-status{margin-top:12px;font-size:.9rem;min-height:1.4em}.domain-status.error{color:#ff9e9e}.domain-status.success{color:#79dcb6}.domain-config code{overflow-wrap:anywhere}
