:root{color-scheme:dark;--bg:#0A1525;--bg2:#0d2138;--card:#13263D;--line:#28405A;--text:#F0F7FE;--muted:#A5BBCE;--accent:#67CFF3;--primary:#1689CC;--danger:#ED7E90;--success:#5CE3BA;--field:#0B1D32;--shadow:0 22px 60px rgba(0,6,24,.23)}
:root[data-theme=light]{color-scheme:light;--bg:#F4F8FC;--bg2:#EAF5FB;--card:#fff;--line:#DDE7EF;--text:#12304B;--muted:#54718A;--accent:#075F9F;--primary:#057EBB;--danger:#B62E53;--success:#087859;--field:#FAFCFE;--shadow:0 20px 60px rgba(22,72,115,.08)}
@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#F4F8FC;--bg2:#EAF5FB;--card:#fff;--line:#DDE7EF;--text:#12304B;--muted:#54718A;--accent:#075F9F;--primary:#057EBB;--danger:#B62E53;--success:#087859;--field:#FAFCFE;--shadow:0 20px 60px rgba(22,72,115,.08)}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(ellipse 80% 50% at 86% -8%,rgba(53,161,204,.13),transparent),var(--bg);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,.button{cursor:pointer;border:0;border-radius:11px;background:linear-gradient(130deg,#36B6E6,#1977C1);color:white;box-shadow:0 7px 22px #0976a52b;padding:11px 17px;font:600 14px/1.3 inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}button:hover,.button:hover{text-decoration:none;filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}.top{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:15px max(24px,calc((100vw - 1190px)/2));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px)}.brand{color:var(--text);font-size:20px;letter-spacing:-.04em;display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:730}.brand img{height:38px;width:auto;max-width:145px;object-fit:contain}.brand strong{color:var(--accent)}nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:11px}nav>a{color:var(--text);font-weight:580;font-size:13px;padding:7px}.theme-switch{background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:none;min-width:39px;font-size:19px;padding:7px 11px}.container{max-width:1190px;margin:38px auto;min-height:72vh;padding:0 24px}h1,h2,h3{letter-spacing:-.035em;line-height:1.2}h1{font-size:clamp(27px,4vw,39px);margin:0 0 18px}h2{font-size:20px;margin:0 0 20px}h3{font-size:16px}p{margin-top:8px}.muted,small{color:var(--muted)}small{font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:25px;margin:17px 0;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid .card{margin:0}.metric strong{font-size:clamp(22px,3vw,30px);display:block;margin-top:10px;word-wrap:break-word}.metric small{font-size:13px}.alert{padding:13px 18px;background:var(--bg2);border-left:3px solid var(--accent);border-radius:10px;margin:15px 0}.alert.danger{border-color:var(--danger)}.alert.success{border-color:var(--success)}.row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px}.inline{display:inline-flex;margin:3px 5px 6px 0;vertical-align:middle}.inline button{padding:8px 12px;font-size:12px}.confirm{color:var(--muted);font-size:12px;display:block;margin:5px 0}.confirm input{display:inline-block;width:auto;margin-right:5px}label{display:block;color:var(--muted);font-size:13px;font-weight:550;margin:12px 0 6px}label input,label select,label textarea{margin-top:6px}input,select,textarea{width:100%;display:block;min-width:0;background:var(--field);border:1px solid var(--line);border-radius:11px;color:var(--text);font:inherit;padding:11px 13px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}input::placeholder{color:var(--muted)}.row label{flex:1 1 180px}.row button{margin-bottom:2px}.center{max-width:455px;margin:8vh auto}.auth-card{padding:34px}.auth-card form button{margin-top:20px;width:100%}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:15px 12px;vertical-align:top}th{color:var(--muted);font-weight:640}tr:last-child td{border:0}td strong{font-weight:650}.smallform{max-width:550px;margin:8px 0}.smallform input{max-width:160px}.smallform button{padding:8px 10px}.pill{display:inline-block;border:1px solid var(--line);padding:3px 10px;border-radius:80px;font-size:12px;background:var(--bg2)}.pill.online{background:rgba(32,187,148,.12);border-color:rgba(50,208,170,.35);color:var(--success)}.pill.offline{background:rgba(245,173,84,.08);color:#E6AC61}.pill.blocked{background:rgba(237,126,144,.11);color:var(--danger)}code{color:var(--accent);word-wrap:break-word}.secrets{border-color:#3B9FC9}.secrets textarea{font:12px/1.4 ui-monospace,monospace;margin:13px 0}.qr{display:block;max-width:100%;width:260px;padding:14px;border-radius:18px;background:white}.theme-switch:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}footer{margin:30px auto 0;max-width:1190px;text-align:center;color:var(--muted);padding:24px;border-top:1px solid var(--line);font-size:13px}
/* Public frontpage */.landing{overflow-x:hidden}.landing .container{margin:0 auto}.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:20px;min-height:610px;padding:45px 0 65px}.hero-copy{position:relative;z-index:2}.eyebrow{color:var(--accent);font-size:12px;font-weight:780;letter-spacing:.15em;text-transform:uppercase}.hero h1{font-size:clamp(41px,5.5vw,68px);line-height:1.07;margin:16px 0 26px;max-width:650px;letter-spacing:-.065em}.hero h1 span{background:linear-gradient(90deg,#4AC9E9,#8DDEF8);color:transparent;background-clip:text;-webkit-background-clip:text}.hero .lead{font-size:17px;max-width:530px;color:var(--muted);line-height:1.8}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-buttons .button{padding:15px 23px;border-radius:12px}.button.secondary{background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:none}.hero-figure img{display:block;width:112%;max-width:670px;filter:drop-shadow(0 20px 45px rgba(9,45,74,.2))}.pills{display:flex;gap:14px;flex-wrap:wrap;margin-top:31px;color:var(--muted);font-size:13px}.pills span:before{content:'✓';color:var(--success);margin-right:7px}.section-label{font-size:12px;font-weight:740;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.section-title{font-size:clamp(26px,3.2vw,38px);max-width:640px;margin:9px 0 28px}.benefits{padding:30px 0 70px}.benefit-card{min-height:190px}.benefit-card .icon{display:inline-flex;align-items:center;justify-content:center;background:var(--bg2);width:50px;height:50px;border-radius:16px;font-size:24px;margin-bottom:12px}.benefit-card p{color:var(--muted)}.download{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:29px 33px;margin:10px 0 60px;background:linear-gradient(105deg,rgba(37,137,194,.12),transparent),var(--card);border:1px solid var(--line);border-radius:24px}.download p{color:var(--muted)}.download-links{display:flex;flex-wrap:wrap;gap:9px}.download-links a{white-space:nowrap}a.brand:hover{text-decoration:none}
@media(max-width:850px){.hero{grid-template-columns:1fr;min-height:0;padding:55px 0}.hero-copy{max-width:760px}.hero-figure{max-width:500px;margin:-30px auto -50px}.hero-figure img{width:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.download{display:block}.download-links{margin-top:20px}}@media(max-width:650px){.top{padding:13px 16px;display:block}.top nav{justify-content:flex-start;margin-top:10px;gap:4px}.container{margin:20px auto;padding:0 16px}.grid{grid-template-columns:1fr}.card{padding:19px}.hero{padding:40px 0 45px}.hero h1{font-size:clamp(36px,11vw,52px)}.hero-buttons .button{flex:1 1 100%}.hero-figure{margin:-12px 0 -40px}.auth-card{padding:23px}td{min-width:100px}}
/* VPN SPNet v0.1.6.1 – visual-only refresh; scoped public landing */
.landing.v161{background:radial-gradient(ellipse 700px 520px at 86% 10%,rgba(22,142,214,.16),transparent),radial-gradient(ellipse 530px 410px at -10% 43%,rgba(26,164,193,.08),transparent),var(--bg);font-size:15px}
.landing .top{max-width:none;border-bottom:1px solid color-mix(in srgb,var(--line) 67%,transparent);padding:17px max(22px,calc((100vw - 1260px)/2));background:color-mix(in srgb,var(--bg) 88%,transparent);position:sticky;top:0;box-shadow:0 1px 18px rgba(0,0,0,.035)}
.landing .top .brand{gap:10px}.landing .brand img{width:auto;height:48px;max-width:226px;max-height:54px;object-fit:contain}.brand-vpn{font-size:12px;line-height:1;letter-spacing:.12em;border-radius:8px;padding:8px 9px;border:1px solid #55BBE970;background:linear-gradient(140deg,#55CEFF23,#1E77BB15);color:var(--accent);font-weight:850}
.landing .top nav{gap:18px}.landing .top nav>a{font-size:14px}.landing .top .header-login{font-weight:780;color:white;padding:12px 16px}.landing .container{max-width:1260px;margin:0 auto;padding:0 27px}
.landing .hero{min-height:635px;grid-template-columns:1fr 1.06fr;gap:5px;padding:58px 0 30px}.landing .hero h1{font-size:clamp(46px,5.3vw,77px);line-height:1.045;letter-spacing:-.07em;margin:23px 0 25px;max-width:660px}.landing .hero .lead{font-size:19px;max-width:510px;line-height:1.74}.landing .eyebrow{display:inline-flex;align-items:center;gap:9px;letter-spacing:.14em;background:linear-gradient(110deg,#28AFD61E,transparent);padding:7px 12px;border:1px solid #55C5E83B;border-radius:100px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#66E9B9;box-shadow:0 0 13px #66E9B9}
.landing .hero-figure{height:588px;position:relative;display:grid;place-items:center;isolation:isolate}.landing .hero-figure .hero-base{width:113%;max-width:710px;position:relative;z-index:2;filter:drop-shadow(0 32px 45px rgba(0,30,70,.23));animation:lift 8s ease-in-out infinite}.hero-glow{position:absolute;width:82%;height:80%;inset:10% 9%;border-radius:50%;background:radial-gradient(circle,#0AB7E929,transparent 64%);z-index:0;filter:blur(9px)}
.hero-float{position:absolute;z-index:4;display:flex;align-items:center;gap:0;background:linear-gradient(130deg,#213E62ED,#0E2843F0);border:1px solid #9EE9FF6B;color:#eafaff;box-shadow:0 17px 34px #00172C5A,inset 0 1px #ffffff1a;border-radius:21px;backdrop-filter:blur(7px);padding:0 13px 0 0;min-height:73px;transform:rotate(-4deg)}.hero-float img{margin:-12px -6px -9px -7px;filter:drop-shadow(0 9px 8px #020F2877)}.hero-float span{font-size:11px;line-height:1.3;color:#B6D8EF}.hero-float strong{display:block;color:white;font-size:15px;font-weight:800;white-space:nowrap}.hero-float-cz{top:10%;right:-.5%;transform:rotate(5deg)}.hero-float-speed{bottom:11%;left:-7%;transform:rotate(-7deg)}.orb{position:absolute;z-index:1;border-radius:50%;background:linear-gradient(130deg,#98F7FF,#1179C5);box-shadow:inset -7px -9px 12px #1C5C9A6B,0 9px 20px #0B385A80}.orb-a{height:24px;width:24px;left:12%;top:20%}.orb-b{height:15px;width:15px;right:9%;bottom:21%}
.landing .hero-buttons .button{font-size:15px;font-weight:770;border-radius:14px;padding:16px 23px}.landing .pills{gap:18px;margin-top:31px}.landing .pills span{white-space:nowrap;font-size:13px}.landing .pills span:before{content:'✦';font-size:12px}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:22px;background:linear-gradient(100deg,#1B8BBA0D,transparent),var(--card);box-shadow:var(--shadow);margin:0 0 98px;padding:18px 16px}.trust-strip span{padding:8px 21px;border-right:1px solid var(--line)}.trust-strip span:last-child{border-right:0}.trust-strip b{font-size:16px;display:block;line-height:1.4}.trust-strip small{display:block;margin-top:3px}
.landing .section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:25px}.landing .section-intro>p{color:var(--muted);font-size:15px;max-width:360px;margin:0 0 12px}.landing .section-title{font-size:clamp(29px,3.6vw,44px);max-width:750px;margin:11px 0 0}.landing .section-title em{font-style:normal;color:var(--accent)}
.landing .benefits{padding:20px 0 90px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#29B4ED0B,transparent 75%),var(--card);border:1px solid var(--line);border-radius:23px;padding:23px 26px 25px;min-height:300px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 25px 60px rgba(0,30,65,.19)}.feature-card:after{content:'';position:absolute;inset:-25% -40% auto auto;width:230px;height:220px;background:radial-gradient(circle,#39AFE825,transparent 70%);pointer-events:none}.feature-card img{display:block;width:143px;height:124px;object-fit:contain;margin:-17px 0 1px -12px;filter:drop-shadow(0 6px 10px rgba(0,27,59,.14))}.feature-card h3{font-size:20px;margin:2px 0 8px}.feature-card p{font-size:14px;color:var(--muted);line-height:1.68;margin:0;max-width:340px}.feature-primary{background:linear-gradient(140deg,rgba(19,161,223,.22),rgba(17,69,114,.1)),var(--card);border-color:#46AFE683}.feature-label{position:absolute;right:22px;top:25px;border:1px solid #48CFF561;background:#21A0CF20;color:var(--accent);padding:4px 9px;border-radius:100px;font-size:11px;font-weight:780;letter-spacing:.07em}
.pricing{padding:9px 0 100px}.pricing-set{margin-top:32px}.pricing-group-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:0 4px 13px}.pricing-group-head h3{font-size:22px;margin:9px 0 0}.pricing-group-head p{color:var(--muted);margin:0 0 3px;font-size:13px}.group-chip{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--accent)}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plan{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:27px 30px;overflow:hidden;min-height:315px;box-shadow:var(--shadow)}.plan:before{content:'';position:absolute;top:-60px;right:-38px;width:240px;height:220px;background:radial-gradient(circle,#28ABD93A,transparent 67%)}.plan-top{display:flex;align-items:flex-start;justify-content:space-between;min-height:65px}.plan-top>span{font-size:13px;font-weight:750;color:var(--accent);letter-spacing:.06em}.plan-top img{margin-top:-19px;margin-right:-9px;object-fit:contain;filter:drop-shadow(0 7px 10px #00152E38)}.plan h4{margin:0 0 11px;font-size:19px;font-weight:730}.plan .price{display:flex;gap:8px;align-items:baseline}.price strong{font-size:clamp(32px,3.2vw,46px);font-weight:860;letter-spacing:-.055em}.price span{color:var(--muted)}.speed{display:flex;align-items:baseline;gap:9px;margin:13px 0 7px}.speed b{font-size:29px;letter-spacing:-.05em;color:var(--accent)}.speed span{font-size:14px;color:var(--muted)}.plan p{margin:0 0 22px;color:var(--muted);font-size:14px}.plan-link{margin-top:auto;font-weight:750;font-size:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.plan-link span{font-size:20px}.plan.popular{border-color:#36BEE3;box-shadow:0 0 0 1px #2FBFE43C,0 18px 45px rgba(2,57,89,.22)}.plan-tag{position:absolute;top:0;right:0;background:linear-gradient(110deg,#30AFCF,#126FA9);color:white;font-size:9px;letter-spacing:.07em;padding:5px 12px;border-bottom-left-radius:12px}.plan-max{background:linear-gradient(135deg,#2BBAEC18,transparent 67%),var(--card)}.pricing-set.nonmember{margin-top:32px}.pricing-note{font-size:12px;color:var(--muted);line-height:1.65;margin:20px 6px 0}
.landing .download{position:relative;overflow:hidden;min-height:270px;background:linear-gradient(100deg,#188FC234,#1747770C),var(--card);border:1px solid #4BACE950;padding:42px 50px;margin:0 0 26px}.landing .download:after{content:'';position:absolute;inset:-80% -15% auto auto;width:400px;height:410px;background:radial-gradient(circle,#42BCEC33,transparent 65%)}.download-copy{position:relative;z-index:1;max-width:670px}.download-copy h2{font-size:clamp(25px,3vw,38px);margin:9px 0}.download-copy p{font-size:15px;max-width:540px}.download-copy .download-links{margin-top:26px}.download-art{position:absolute;right:75px;top:18px;width:205px;height:205px;object-fit:contain;z-index:1;filter:drop-shadow(0 14px 15px #05162754)}.finish-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);border-radius:21px;padding:27px 32px;background:var(--card);margin-bottom:50px}.finish-banner h2{margin:8px 0 0;font-size:25px}.landing-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1260px}
@keyframes lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}@media(prefers-reduced-motion:reduce){.hero-base{animation:none!important}.feature-card{transition:none}}
@media(max-width:1050px){.landing .top{padding:15px 24px}.landing .top nav{gap:9px}.hero-float-cz{right:-1%}.hero-float-speed{left:-1%}.landing .hero{min-height:560px}.landing .hero-figure{height:510px}.download-art{right:20px;opacity:.7}.download-copy{max-width:calc(100% - 145px)}}
@media(max-width:860px){.landing .hero{grid-template-columns:1fr;gap:0;padding:54px 0 15px}.landing .hero-figure{height:440px;max-width:560px;margin:0 auto}.landing .hero-figure .hero-base{width:100%}.trust-strip{grid-template-columns:repeat(2,1fr);margin-bottom:65px}.trust-strip span:nth-child(2){border-right:0}.trust-strip span:nth-child(-n+2){border-bottom:1px solid var(--line)}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing .section-intro{display:block}.landing .section-intro>p{margin:16px 0 0;max-width:650px}.landing .top{display:flex;flex-wrap:wrap}.landing .top nav{justify-content:flex-start}.landing .download{padding:32px}.download-art{width:175px;right:3px}}
@media(max-width:600px){.landing .top{padding:12px 15px;display:flex}.landing .brand img{height:35px;max-width:155px}.landing .top nav{width:100%;gap:5px;justify-content:space-between}.landing .top nav>a{font-size:12px;padding:6px}.landing .top .header-login{font-size:12px;padding:9px}.landing .top .theme-switch{padding:5px 8px}.landing .container{padding:0 16px}.landing .hero{padding:37px 0 0}.landing .hero h1{font-size:clamp(40px,10vw,60px)}.landing .hero .lead{font-size:16px}.landing .hero-buttons{gap:9px}.landing .hero-buttons .button{width:100%}.landing .hero-figure{height:370px;margin:-30px -8px -10px}.hero-float{min-height:50px;border-radius:13px;padding-right:9px}.hero-float img{width:55px;height:50px}.hero-float strong{font-size:11px}.hero-float span{font-size:9px}.hero-float-cz{top:16%;right:0}.hero-float-speed{bottom:15%;left:0}.trust-strip{padding:10px 8px;margin-bottom:57px}.trust-strip span{padding:8px 10px}.trust-strip b{font-size:13px}.trust-strip small{font-size:11px}.feature-grid,.pricing-grid{grid-template-columns:1fr}.landing .section-title{font-size:32px}.feature-card{min-height:270px}.landing .benefits{padding-bottom:68px}.pricing{padding-bottom:70px}.pricing-group-head{display:block}.pricing-group-head p{margin-top:8px}.plan{min-height:290px}.landing .download{padding:27px 20px 145px}.download-copy{max-width:none}.download-art{width:140px;height:140px;right:0;bottom:-5px;top:auto}.landing .download-links a{white-space:normal;flex:1 1 100%}.finish-banner{display:block;padding:25px}.finish-banner>a{margin-top:16px}.landing-footer{display:flex;flex-direction:column;gap:7px;text-align:center}}
/* VPN SPNet 0.1.7, safely additive */
.landing .hero h1{letter-spacing:.048em;line-height:1.14}
.landing .hero h1 span{letter-spacing:.057em}
.landing .pricing .section-intro>p:empty{display:none}
.member-head{position:relative;min-height:136px;align-items:center}
.member-portrait{position:relative;align-self:stretch;width:176px;overflow:hidden;flex-shrink:0;border-radius:24px 24px 0 0;background:linear-gradient(140deg,rgba(2,166,225,.18),rgba(26,102,189,.1))}
.member-portrait img{position:absolute;width:185px;height:auto;right:0;bottom:-35px;filter:drop-shadow(0 16px 18px rgba(0,0,0,.2))}
.plan-top .member-mark{object-fit:contain;height:84px;width:80px;filter:drop-shadow(0 6px 13px rgba(19,157,227,.3))}
.landing .plan .purchase-details{border-top:1px solid var(--line);margin-top:auto;padding:12px 0 0}
.purchase-details summary.plan-link{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:750}
.purchase-details summary.plan-link::-webkit-details-marker{display:none}
.purchase-details[open] summary.plan-link span{transform:rotate(45deg)}
.purchase-form{padding-top:20px;display:grid;gap:13px;animation:open .2s ease-out}
.purchase-form label{display:grid;gap:7px;font-size:13px;font-weight:650;color:var(--muted)}
.purchase-form input{border:1px solid var(--line);background:var(--field);color:var(--text);min-width:0;width:100%;padding:11px 12px;border-radius:10px;font-size:15px;outline-offset:3px}
.purchase-form input:focus{border-color:var(--primary)}
.purchase-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.company-toggle{padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.company-toggle summary{cursor:pointer;font-size:14px;font-weight:700}
.company-toggle[open]{display:grid;gap:13px}
.purchase-form .lookup-btn{width:max-content;font-size:12px;padding:8px 11px}
.purchase-form .submit-order{cursor:pointer;width:100%;text-align:center}
.purchase-form>small{font-size:11px;line-height:1.5}
.ares-result{display:block;min-height:16px}
.trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.order-result{min-height:100vh;display:grid;align-items:center;justify-content:center}
.order-result>.card{width:min(560px,100%);padding:35px}
.order-result .payment-qr{border-radius:14px;background:#fff;padding:12px;margin:8px 0 12px}
@keyframes open{from{opacity:.4;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:680px){.member-head{min-height:160px}.member-portrait{width:120px}.member-portrait img{width:150px;bottom:-26px}.purchase-fields{grid-template-columns:1fr}.landing .hero h1{letter-spacing:.019em}.landing .hero h1 span{letter-spacing:.026em}}
.top .brand img[src$="logo-oficialni.png"]{width:165px;height:auto;max-height:73px;object-fit:contain}
.top .brand strong{font-size:18px;letter-spacing:.12em}

.purchase-form .purchase-confirm{display:flex;align-items:flex-start;flex-direction:row;gap:12px;font-size:12px;line-height:1.4}
.purchase-form .purchase-confirm input{width:18px;height:18px;flex:0 0 18px;margin:1px 0}

.landing .order-unavailable{padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-weight:700}


/* SpořilovNet VPN v0.1.7.2 – tarif cards keep individual heights. */
.landing .pricing-grid{align-items:start}
.landing .pricing-grid>.plan{align-self:start;min-width:0}

/* Members: uncropped portrait on the LEFT, specifically inside the free plan. */
.landing .pricing-group-head.member-head{min-height:0;padding-bottom:18px}
.landing .plan-member-free .member-free-overview{display:grid;grid-template-columns:minmax(130px,38%) minmax(0,1fr);gap:20px;align-items:center;min-width:0}
.landing .plan-member-free .member-free-photo{align-self:stretch;min-width:0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);background:radial-gradient(ellipse at 50% 29%,rgba(75,184,237,.20),rgba(10,96,170,.06) 73%,transparent);border-radius:17px;max-height:270px;min-height:220px}
.landing .plan-member-free .member-free-photo img{display:block;position:static;margin:0;width:100%;height:100%;max-height:265px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 9px rgba(0,18,42,.20))}
.landing .plan-member-free .member-free-summary{min-width:0;position:relative;z-index:1}
.landing .plan-member-free .member-free-summary .plan-top{min-height:55px}
.landing .plan-member-free .member-free-summary .plan-top img{width:68px;height:68px;margin-top:-6px;margin-right:-4px}
.landing .plan-member-free .member-free-summary .price{flex-wrap:wrap;column-gap:7px}
.landing .plan-member-free .member-free-summary p{margin-bottom:0}
.landing .plan-member-free .purchase-details{width:100%;margin-top:22px}
@media(max-width:700px){
  .landing .plan-member-free .member-free-overview{grid-template-columns:minmax(100px,34%) minmax(0,1fr);gap:12px}
  .landing .plan-member-free .member-free-photo{min-height:185px;max-height:235px}
  .landing .plan-member-free .member-free-photo img{max-height:230px}
}
@media(max-width:390px){
  .landing .plan-member-free{padding-left:18px;padding-right:18px}
  .landing .plan-member-free .member-free-overview{grid-template-columns:minmax(82px,34%) minmax(0,1fr);gap:10px}
  .landing .plan-member-free .member-free-photo{min-height:180px}
  .landing .plan-member-free .member-free-summary .plan-top img{width:52px;height:52px}
  .landing .plan-member-free .member-free-summary .price strong{font-size:32px}
  .landing .plan-member-free .member-free-summary h4{font-size:17px}
}

/* VPN SPNet 0.1.8: public members-only mode + client dashboard. */
.member-contact{display:flex;gap:22px;justify-content:space-between;align-items:center;padding:28px;margin:28px 0;background:linear-gradient(120deg,rgba(44,168,225,.12),var(--card))}
.member-contact h3{font-size:clamp(22px,3vw,29px);margin:12px 0}.member-contact p{margin:0;max-width:650px}
.member-contact .button{white-space:nowrap}
.offer-settings .offer-state{display:grid;gap:6px;border-radius:15px;padding:18px;margin:20px 0;background:var(--bg2);border:1px solid var(--line)}
.offer-settings .offer-state strong{font-size:18px}.offer-settings .offer-state span{color:var(--muted)}
.offer-form{display:grid;gap:15px}.offer-form>label:not(.confirm){display:grid;grid-template-columns:24px 1fr;gap:3px 10px;border:1px solid var(--line);padding:18px;border-radius:13px;cursor:pointer}.offer-form input[type=radio]{grid-row:span 2;width:20px;height:20px;margin-top:4px}.offer-form label small{grid-column:2}.offer-form .confirm input{width:auto}
.client-welcome{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 30px;margin:25px 0;background:linear-gradient(115deg,rgba(28,154,209,.22),var(--card));border:1px solid var(--line);border-radius:20px}.client-welcome h2{font-size:clamp(24px,3vw,34px);margin:8px 0}.client-welcome p{color:var(--muted)}.client-eyebrow{letter-spacing:.13em;font-weight:700;font-size:12px;color:var(--accent)}
.client-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.client-metrics>.card{margin:0;padding:22px;display:flex;flex-direction:column;gap:8px}.client-metrics strong{font-size:clamp(18px,2vw,29px);line-height:1.17;overflow-wrap:anywhere}.client-metrics span{font-size:12px;color:var(--muted)}
.client-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client-device-grid .client-device{border:1px solid var(--line);background:var(--bg2);border-radius:17px;padding:20px;min-width:0}.client-device-grid.client-device-page>.client-device{margin:0;background:var(--card)}.client-device h2,.client-device h3{margin:10px 0 5px;overflow-wrap:anywhere}.client-device p{margin:4px 0}.client-device-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.client-device-icon{font-size:24px;color:var(--accent)}.client-device-transfer{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;font-weight:750}.client-device summary{cursor:pointer;margin:12px 0}.section-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-row h2{margin:0}
.usage-chart{height:215px;display:flex;align-items:stretch;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto}.usage-day{flex:1 0 35px;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:38px}.usage-bar-wrap{width:100%;height:130px;display:flex;align-items:flex-end;justify-content:center}.usage-bar{width:min(28px,90%);background:linear-gradient(#5fc4ec,#1970bb);border-radius:7px 7px 0 0;min-height:1px}.usage-day span{font-size:10px;color:var(--muted);white-space:nowrap}
@media(max-width:850px){.client-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.member-contact{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.client-device-grid{grid-template-columns:1fr}.client-welcome img{width:80px;height:80px}.client-welcome{padding:19px}.client-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.client-metrics>.card{padding:15px}.section-row{flex-wrap:wrap}.member-contact .button{width:100%}}

/* VPN SPNet 0.1.8.2 — independent expandable membership inquiry. */
.landing .member-contact{align-items:flex-start}
.landing .member-contact-details{flex:0 1 430px;min-width:min(100%,300px);margin-left:auto}
.landing .member-contact-details>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;user-select:none}
.landing .member-contact-details>summary::-webkit-details-marker{display:none}
.landing .member-contact-details[open]>summary{margin-bottom:8px}
.landing .member-contact-form{width:100%;max-width:440px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.landing .member-contact-form .purchase-confirm{display:flex;align-items:flex-start;gap:10px}
.landing .member-contact-form .purchase-confirm input{width:auto;flex:0 0 auto;margin-top:3px}
@media(max-width:850px){.landing .member-contact-details{margin-left:0;min-width:0;width:100%;flex-basis:auto}.landing .member-contact-form{max-width:none}}

/* SPNET-JOURNEY-0185: self-contained animation. Kept in main app.css too so missing standalone CSS cannot enlarge SVGs. */
.landing .sj{margin:22px 0 74px;padding:clamp(24px,3.7vw,42px);border:1px solid var(--line);border-radius:28px;background:radial-gradient(ellipse at 12% 35%,rgba(14,164,215,.12),transparent 65%),var(--card);box-shadow:var(--shadow);color:var(--text)}
.landing .sj-intro{max-width:860px}.landing .sj-intro h2{font-size:clamp(26px,3.1vw,42px);letter-spacing:-.03em;margin:10px 0 11px;line-height:1.15}.landing .sj-intro p{color:var(--muted);font-size:16px;line-height:1.75;margin:0}
.landing .sj-layout{display:grid;grid-template-columns:minmax(310px,.95fr) minmax(0,1.15fr);gap:clamp(18px,4vw,54px);align-items:center;margin-top:28px}
.landing .sj-stage{position:relative;min-height:505px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,rgba(34,199,240,.17),transparent 65%),linear-gradient(160deg,rgba(11,130,193,.13),rgba(4,34,72,.06));border:1px solid var(--line)}
.landing .sj-halo{position:absolute;width:320px;height:320px;top:16px;left:50%;transform:translateX(-50%);border-radius:50%;border:1px solid rgba(47,178,222,.23);box-shadow:0 0 0 25px rgba(21,158,210,.055),0 0 0 55px rgba(21,158,210,.035);pointer-events:none}
.landing .sj-phone{position:relative;width:225px;height:354px;padding:12px 11px 20px;background:linear-gradient(125deg,#0a1c32,#193e65 60%,#071726);border:3px solid #3d6484;border-radius:35px;box-shadow:12px 23px 38px rgba(1,17,36,.24),inset 0 0 0 2px rgba(255,255,255,.08);transform:perspective(750px) rotateY(-8deg) rotateX(4deg);z-index:2}
.landing .sj-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);height:13px;width:75px;background:#071729;border-radius:0 0 12px 12px;z-index:8}
.landing .sj-screen{position:relative;height:100%;background:linear-gradient(165deg,#0e2845,#09203a);border-radius:24px;overflow:hidden;color:#e8f7ff}.landing .sj-screen-header{display:flex;justify-content:space-between;align-items:center;padding:19px 12px 8px;color:#9fd6ee;font-size:10px;font-weight:750;border-bottom:1px solid rgba(255,255,255,.09)}
.landing .sj-dots{display:flex;gap:3px}.landing .sj-dots i{width:4px;height:4px;border-radius:50%;background:#73c7e7;display:block}.landing .sj-signal{letter-spacing:-2px;font-size:10px}
.landing .sj-scene{position:absolute;inset:50px 9px 8px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;gap:9px;opacity:0;visibility:hidden;animation:sj-scene 20s linear infinite;background:radial-gradient(ellipse at center,rgba(24,150,205,.1),transparent 75%)}
.landing .sj-scene-1{animation-delay:0s}.landing .sj-scene-2{animation-delay:-16s}.landing .sj-scene-3{animation-delay:-12s}.landing .sj-scene-4{animation-delay:-8s}.landing .sj-scene-5{animation-delay:-4s}
.landing .sj-scene-eyebrow{font-size:10px;color:#90d7ef;letter-spacing:.12em;font-weight:750}.landing .sj-scene strong{font-size:16px;line-height:1.2;color:#fff}.landing .sj-scene>span:not(.sj-scene-eyebrow){font-size:11px;color:#abcfe4;line-height:1.4}.landing .sj-hero-icon{display:flex;align-items:center;justify-content:center;width:113px;height:115px;flex:none;filter:drop-shadow(0 15px 13px rgba(0,12,35,.2))}.landing .sj-hero-icon svg{display:block;width:78px!important;height:78px!important;max-width:78px!important;max-height:78px!important;flex:none}
.landing .sj-demo-button{font-size:11px;background:linear-gradient(110deg,#159ace,#32cce8);color:#052744;padding:9px 15px;border-radius:999px;letter-spacing:.02em;margin-top:12px}.landing .sj-demo-online{background:linear-gradient(110deg,#35e1b8,#87ffe0);color:#063f42}
.landing .sj-qr-icon{position:relative}.landing .sj-qr-pattern{width:84px;height:84px;padding:8px;background:#e9fbff;border:5px solid #14adca;border-radius:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;transform:rotate(-4deg)}.landing .sj-qr-pattern span{background:#0875b6;border-radius:3px}.landing .sj-qr-pattern span:nth-child(2),.landing .sj-qr-pattern span:nth-child(4),.landing .sj-qr-pattern span:nth-child(9){background:#fff}.landing .sj-qr-scan{height:2px;width:100px;background:#4af5bd;box-shadow:0 0 14px #31edcc;position:absolute;top:18px;left:6px;animation:sj-scan 1.2s ease-in-out infinite alternate}
.landing .sj-homebar{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:67px;height:4px;border-radius:99px;background:#6685a7}
.landing .sj-flow{position:relative;display:flex;align-items:center;gap:0;margin:16px 0 0;z-index:2;min-width:280px;max-width:320px}.landing .sj-flow-node{display:grid;place-items:center;width:49px;height:49px;flex:none;background:var(--bg2);border:1px solid rgba(55,176,211,.6);border-radius:50%;box-shadow:0 0 22px rgba(19,157,212,.14)}.landing .sj-flow-route{position:relative;flex:1;height:4px;overflow:hidden;border-radius:6px;background:rgba(32,164,214,.25)}.landing .sj-flow-route:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#4fe7f6,transparent);width:40%;animation:sj-route 2.5s linear infinite}.landing .sj-flow-target{display:grid;gap:0;border:1px solid rgba(51,171,216,.6);border-radius:14px;background:var(--bg2);padding:7px 13px;font-size:13px;font-weight:800;color:var(--text)}.landing .sj-flow-target small{font-size:10px;color:var(--muted);font-weight:600}.landing .sj-demo-caption{margin:12px 0 0;color:var(--muted);font-size:11px}
.landing .sj-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}.landing .sj-step{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:12px;min-width:0;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--bg);animation:sj-highlight 20s linear infinite}.landing .sj-step-1{animation-delay:0s}.landing .sj-step-2{animation-delay:-16s}.landing .sj-step-3{animation-delay:-12s}.landing .sj-step-4{animation-delay:-8s}.landing .sj-step-5{animation-delay:-4s}.landing .sj-step-num{display:grid;place-items:center;border-radius:11px;width:36px;height:36px;background:rgba(30,160,209,.17);color:var(--accent);font-size:12px;font-weight:850}.landing .sj-step strong{display:block;color:var(--text);font-size:14px;line-height:1.3}.landing .sj-step small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:3px}.landing .sj-step-icon{font-size:21px;text-align:center;color:var(--accent)}.landing .sj-footnote{font-size:12px;color:var(--muted);margin:25px 0 0;line-height:1.6}
@keyframes sj-scene{0%,17%{opacity:1;visibility:visible;transform:translateY(0)}19%,99.9%{opacity:0;visibility:hidden;transform:translateY(8px)}100%{opacity:1;visibility:visible;transform:translateY(0)}}
@keyframes sj-highlight{0%,17%{transform:translateX(-5px);border-color:#27bce6;box-shadow:0 10px 23px rgba(0,123,184,.12);background:linear-gradient(100deg,rgba(34,166,213,.17),transparent 70%),var(--bg)}19%,99.9%{transform:translateX(0);border-color:var(--line);box-shadow:none;background:var(--bg)}100%{transform:translateX(-5px);border-color:#27bce6;box-shadow:0 10px 23px rgba(0,123,184,.12);background:linear-gradient(100deg,rgba(34,166,213,.17),transparent 70%),var(--bg)}}
@keyframes sj-scan{from{transform:translateY(0)}to{transform:translateY(78px)}}@keyframes sj-route{from{transform:translateX(-200%)}to{transform:translateX(350%)}}
@media(max-width:980px){.landing .sj-layout{grid-template-columns:1fr;gap:21px}.landing .sj-stage{min-height:485px}.landing .sj-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.landing .sj-step:last-child{grid-column:1/-1}}
@media(max-width:650px){.landing .sj{padding:18px;margin:22px 0 48px;border-radius:22px}.landing .sj-intro h2{font-size:29px}.landing .sj-intro p{font-size:14px}.landing .sj-layout{gap:20px}.landing .sj-stage{min-height:475px}.landing .sj-step{grid-template-columns:31px minmax(0,1fr) 25px;gap:8px;padding:12px 10px}.landing .sj-step-num{width:30px;height:30px;font-size:10px}.landing .sj-step strong{font-size:12px}.landing .sj-step small{font-size:11px}.landing .sj-step-icon{font-size:16px}.landing .sj-steps{gap:8px}.landing .sj-step:last-child{grid-column:1/-1}}
@media(max-width:420px){.landing .sj-steps{grid-template-columns:1fr}.landing .sj-step:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.landing .sj-step,.landing .sj-scene,.landing .sj-qr-scan,.landing .sj-flow-route:before{animation:none!important;transform:none!important}.landing .sj-scene{opacity:0!important;visibility:hidden!important}.landing .sj-scene-5{opacity:1!important;visibility:visible!important}}
/* Layout safety for any inherited page theme. */
.landing .spnet-journey{min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
.landing .spnet-journey *, .landing .spnet-journey *::before,.landing .spnet-journey *::after{box-sizing:border-box}
.landing .spnet-journey svg{vertical-align:middle;max-width:100%;overflow:visible}
.landing .sj-flow svg{width:32px;height:32px;max-width:32px;max-height:32px}
/* /SPNET-JOURNEY-0185 */

