:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#f5f4ff;background:#090b12;font-synthesis:none;-webkit-font-smoothing:antialiased;--bg:#090b12;--surface:#111320;--border:rgba(180,171,223,.12);--muted:#9293a9;--purple:#9475ff;--cyan:#5edadd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #a894ff;outline-offset:4px}.shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);background:radial-gradient(ellipse 37% 32% at 69% 3%,rgba(74,40,146,.1),transparent 100%),var(--bg)}.sidebar{border-right:1px solid var(--border);background:#0d0f19;display:flex;flex-direction:column;padding:30px 18px 20px;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:3px 8px 15px}.brand-symbol{width:37px;height:37px;border:1px solid #916aff;border-radius:12px;transform:rotate(-13deg);display:grid;place-items:center;box-shadow:inset 0 0 19px #8457ff32,0 0 22px #6847ec22}.brand-symbol span{display:block;width:16px;height:16px;transform:rotate(45deg);border:2px solid #bba8ff;border-radius:4px}.brand-words{display:flex;flex-direction:column;gap:1px}.brand-words strong{font-size:17px;letter-spacing:1.6px}.brand-words strong span{font-size:11px;font-weight:450;color:#9d8cc4}.brand-words small{font-size:10px;color:#85819c;letter-spacing:3px}.sidebar-divider{height:1px;background:var(--border);margin:12px 4px 29px}.nav-label{font-size:10px;font-weight:700;color:#838197;letter-spacing:1.2px;padding:0 13px;margin:0 0 13px}.nav-label span{float:right;opacity:.35;font-size:9px;letter-spacing:.5px}.main-nav{display:flex;flex-direction:column;gap:5px}.nav-link{display:flex;align-items:center;gap:13px;padding:13px 13px;font-size:13px;color:#9595a8;border-radius:10px;border:1px solid transparent;transition:background .18s,color .18s}.nav-link:hover{background:#191927;color:#ece8ff}.nav-link.active{background:linear-gradient(92deg,#261d40,#1b192e);border-color:#6b559e55;color:#f5efff;font-weight:600;box-shadow:inset 3px 0 #9475ff}.nav-ico{font-size:22px;line-height:12px;color:#a090c4;display:inline-flex;width:22px;justify-content:center}.nav-link.active .nav-ico{color:#bba3ff}.nav-dot{margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 7px #65ccff}.extra-label{margin-top:43px}.coming-links{display:flex;flex-direction:column;gap:3px}.coming-link{display:flex;gap:15px;align-items:center;color:#6f6c85;padding:12px 14px;font-size:17px}.coming-link span{font-size:12px}.coming-link em{margin-left:auto;font-style:normal;font-size:9px;color:#686477}.sidebar-bottom{margin-top:auto}.version-plate{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;background:#161725;padding:14px 12px}.status-led{width:7px;height:7px;background:#69d5cf;border-radius:50%;box-shadow:0 0 11px #43eac477;flex-shrink:0}.version-plate div{display:flex;flex-direction:column;gap:5px}.version-plate strong{font-size:11px;font-weight:600}.version-plate small{font-size:9px;color:#6c6985;letter-spacing:1px}.sidebar-bottom p{font-size:9px;color:#64617a;line-height:1.8;padding:10px 5px}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{height:72px;border-bottom:1px solid var(--border);padding:0 clamp(22px,4vw,68px);display:flex;justify-content:space-between;align-items:center}.breadcrumb{display:flex;gap:15px;align-items:center;color:#f6f5ff;font-size:12px;font-weight:650;letter-spacing:.5px}.breadcrumb .slash{color:#56536c}.breadcrumb #breadcrumb-text{color:#a7a3b8;font-weight:450}.topbar-right{display:flex;align-items:center;gap:23px;color:#77758c;font-size:11px;font-variant-numeric:tabular-nums}.top-indicator{font-size:9px;letter-spacing:1.2px;border:1px solid #514268;padding:8px 11px;border-radius:30px;color:#bcb1d7;display:flex;align-items:center;gap:9px}.top-indicator span{width:5px;height:5px;background:#9b7cff;border-radius:50%}.content{width:100%;max-width:1540px;align-self:center;padding:43px clamp(20px,4vw,68px) 48px;flex:1}.hidden{display:none!important}.hero{border:1px solid #42335488;border-radius:18px;background:radial-gradient(circle at 75% 42%,#4d326233,transparent 35%),linear-gradient(120deg,#191326 8%,#151323 50%,#0f1420 100%);min-height:360px;display:flex;align-items:center;position:relative;overflow:hidden;padding:48px clamp(28px,5vw,65px);box-shadow:0 20px 80px #00000022}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#987eff08);pointer-events:none}.hero-text{position:relative;z-index:1;width:60%;max-width:630px}.eyebrow,.overline{color:#a894cf;font-size:10px;font-weight:700;letter-spacing:2.4px}.eyebrow{display:flex;align-items:center;gap:10px}.tiny-line{width:17px;height:1px;background:#a28af0}.issue{color:#746b85;margin-left:10px}.hero h1{font-size:clamp(43px,4.6vw,69px);letter-spacing:-2px;line-height:1.25;font-weight:750;margin:23px 0 18px}.hero h1 span{background:linear-gradient(105deg,#b29cff 15%,#81d5e0);color:transparent;background-clip:text}.hero-text p{max-width:475px;font-size:13px;line-height:2;color:#a9a6ba;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:43px;padding:11px 19px;border-radius:9px;border:1px solid transparent;font-size:12px;font-weight:650;transition:transform .15s,background .15s}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:#9374f7;color:#120d27;box-shadow:0 6px 19px #9b66f733}.btn-primary:hover{background:#ab92ff}.btn-subtle{background:#ffffff0a;color:#d7d1e8;border-color:#ffffff22}.btn-subtle:hover{background:#ffffff14}.btn.small{min-height:37px;padding:8px 13px;font-size:11px}.btn.danger:hover{color:#ffc1c1;border-color:#f77b7b66}.hero-orbit{width:37%;aspect-ratio:1;max-height:325px;position:absolute;right:3%;top:50%;transform:translateY(-50%);display:grid;place-items:center;opacity:.84}.orbit-grid{position:absolute;inset:10%;border-radius:50%;background:linear-gradient(#b093ff13 1px,transparent 1px),linear-gradient(90deg,#b093ff13 1px,transparent 1px);background-size:33px 33px;mask-image:radial-gradient(circle,#000 15%,transparent 75%)}.orbit{position:absolute;border:1px solid #988ac154;border-radius:50%;transform:rotate(-25deg) scaleY(.69)}.o1{width:85%;height:85%;border-color:#a88bff60}.o2{width:65%;height:65%;border-style:dashed;opacity:.8}.o3{width:43%;height:43%;border-color:#7cdddc72}.orbit-center{position:relative;width:82px;height:82px;border:1px solid #bc9bff;border-radius:25px;transform:rotate(-11deg);display:grid;place-items:center;background:radial-gradient(circle,#9b77ff44,#664caf16);box-shadow:0 0 70px #a577ff35,inset 0 0 35px #9475ff2d}.orbit-center span{font-size:39px;color:#cdbdff;transform:rotate(11deg);font-weight:700}.orbit-point{position:absolute;width:8px;height:8px;background:#99dcf1;border-radius:50%;box-shadow:0 0 15px #7bd5f1}.p1{left:15%;top:28%}.p2{right:15%;bottom:30%;width:5px;height:5px;background:#b596ff}.p3{right:37%;top:16%;width:4px;height:4px}.orbit-label{position:absolute;font-size:9px;letter-spacing:1px;color:#c6b5ea}.orbit-label.top{top:17%;left:12%}.orbit-label.bottom{bottom:13%;right:4%}.hero-index{position:absolute;bottom:20px;right:24px;color:#6e6686;font-size:11px;letter-spacing:3px}.hero-index span{color:#c6b6fa}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:37px 0 21px}.section-heading h2{font-size:24px;letter-spacing:-.4px;margin:8px 0 0}.heading-count{font-size:11px;color:#8c829d;margin-left:7px;font-weight:500}.section-heading p{font-size:11px;color:#79758b;margin:0 0 4px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.module-card{border:1px solid var(--border);border-radius:14px;background:linear-gradient(160deg,#151623,#10121d);padding:25px;min-height:215px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.module-card.featured{border-color:#7968ac6e;background:radial-gradient(ellipse at 90% 0%,#6445a326,transparent 56%),linear-gradient(160deg,#1c1931,#131321);transition:border-color .2s,transform .2s}.module-card.featured:hover{border-color:#a691ef;transform:translateY(-2px)}.module-upper{display:flex;align-items:start;justify-content:space-between}.module-icon{display:grid;place-items:center;font-size:24px;color:#9589b0;border:1px solid #7169883d;border-radius:12px;width:42px;height:42px}.network-icon{background:#8f70f41c;color:#ab99ff;border-color:#8371cb62}.module-flag{border:1px solid #ffffff14;border-radius:30px;padding:6px 10px;font-size:10px;color:#79748d}.module-flag.live{color:#a7e4db;border-color:#65c8b650;display:flex;align-items:center;gap:7px}.module-flag.live span{width:5px;height:5px;background:#80ddd3;border-radius:50%}.module-number{font-size:9px;color:#8c86a2;letter-spacing:1.5px}.module-card h3{font-size:19px;margin:9px 0 9px}.module-card p{font-size:11px;line-height:1.8;color:#8b899e;margin:0;max-width:370px}.module-arrow{position:absolute;right:24px;bottom:26px;color:#b9a8ff;font-size:22px}.module-card.featured p{padding-right:25px}.module-card.dormant{opacity:.66}.privacy-strip{display:flex;align-items:center;gap:18px;background:#121523;border:1px solid var(--border);border-radius:11px;padding:18px 21px;margin-top:22px}.privacy-symbol{font-size:26px;color:#b0a1ef}.privacy-strip div{display:flex;flex-direction:column;gap:5px}.privacy-strip strong{font-size:12px;font-weight:600}.privacy-strip div span{color:#878399;font-size:11px;line-height:1.7}.privacy-tag{font-size:9px;letter-spacing:1px;color:#8781a8;margin-left:auto;white-space:nowrap}.footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:14px;padding:18px clamp(20px,4vw,68px) 20px;font-size:9px;letter-spacing:1px;color:#69677a}.footer i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#78629f;margin:0 7px;vertical-align:middle}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:32px}.page-heading h1{font-size:clamp(34px,4vw,47px);letter-spacing:-1.7px;margin:12px 0 8px}.page-heading h1 .period{color:#ab86ff}.page-heading p{font-size:12px;color:#8e8a9f;line-height:1.7;margin:0}.heading-actions{padding-bottom:4px}.panel{border:1px solid var(--border);border-radius:15px;background:linear-gradient(145deg,#151625,#11131e);margin-bottom:17px;padding:26px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px}.panel-overline{font-size:9px;color:#897fa3;letter-spacing:1.8px}.panel-heading h2{font-size:18px;margin:7px 0 0}.small-chip{font-size:10px;display:inline-flex;align-items:center;gap:8px;color:#b2b0c4;border:1px solid #ffffff19;border-radius:40px;padding:9px 12px}.ip-primary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;background:linear-gradient(100deg,#1c1b33,#191a2a);border:1px solid #77699b49;border-radius:12px}.data-label{font-size:10px;letter-spacing:1.2px;color:#9290a9;font-weight:650}.ip-value{font-size:clamp(24px,3vw,34px);font-weight:730;color:#eae7ff;letter-spacing:-.6px;margin:9px 0 3px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ip-secondary{font-size:10px;color:#a09bb9}.icon-btn{border:1px solid #9382c257;background:#29253f;color:#cbbdfc;width:42px;height:42px;flex:none;border-radius:10px;font-size:23px}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px}.info-unit{padding:8px 15px;border-right:1px solid var(--border);min-width:0}.info-unit:first-child{padding-left:0}.info-unit:last-child{border:none}.info-unit span{display:block;color:#827d98;font-size:9px;letter-spacing:1.3px;margin-bottom:13px}.info-unit strong{font-size:15px;font-weight:650;display:block;overflow-wrap:anywhere}.info-unit small{font-size:10px;color:#68677f;line-height:1.6;display:block;margin-top:7px}.panel-foot{border-top:1px solid var(--border);margin-top:23px;padding-top:16px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#777489}.test-counter{border:1px solid #62527672;border-radius:20px;padding:7px 11px;font-size:10px;color:#af9ccf}.latency-body{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding-bottom:25px}.latency-number{display:flex;gap:8px;align-items:baseline;margin:9px 0 4px}.latency-number strong{font-size:clamp(43px,5vw,66px);letter-spacing:-2px;font-weight:750;font-variant-numeric:tabular-nums}.latency-number span{font-size:17px;color:#8e8ba5}.latency-main p{font-size:11px;color:#8d899e;line-height:1.8;min-height:31px}.test-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.sample-chart{border:1px solid #ffffff11;border-radius:12px;background:#10111f;padding:19px 20px 16px}.chart-labels,.chart-legend{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#8f88a6;letter-spacing:1px}.bar-chart{height:125px;display:flex;align-items:end;justify-content:space-evenly;gap:9px;padding:15px 5px 2px}.bar-placeholder{align-self:center;text-align:center;font-size:11px;line-height:1.7;color:#777188}.bar-item{display:flex;flex:1;max-width:55px;min-width:0;align-items:center;justify-content:end;flex-direction:column;gap:6px}.bar{width:100%;min-height:4px;background:linear-gradient(0deg,#574cc3,#b7a4ff);border-radius:3px 3px 1px 1px;transition:height .2s}.bar.error{height:5px!important;background:#a95674}.bar-item small{font-size:9px;color:#c7bce8;font-variant-numeric:tabular-nums}.chart-legend{border-top:1px solid var(--border);padding-top:14px;margin-top:11px;letter-spacing:0}.chart-legend i{width:6px;height:6px;display:inline-block;background:#a390fd;border-radius:2px;margin-right:4px}.stats-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--border);padding-top:21px;gap:8px}.stats-row div{padding:5px 11px;border-right:1px solid var(--border)}.stats-row div:first-child{padding-left:0}.stats-row div:last-child{border:0}.stats-row span{display:block;color:#8b87a0;font-size:10px;margin-bottom:10px}.stats-row strong{font-size:17px;font-variant-numeric:tabular-nums}.disclaimer{font-size:10px;line-height:1.9;color:#848096;margin:16px 3px 0}.disclaimer code{color:#b5a3f1}.history-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.mini-stat{border:1px solid var(--border);border-radius:13px;background:#151623;padding:20px 23px;display:flex;flex-direction:column;gap:9px}.mini-stat span{font-size:11px;color:#9a95ac}.mini-stat strong{font-size:27px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mini-stat small{font-size:10px;color:#787386}.small-muted{font-size:10px;color:#89849b}.history-list{display:flex;flex-direction:column;gap:8px}.empty-state{border:1px dashed #655a7d66;border-radius:10px;padding:55px 15px;text-align:center;font-size:12px;color:#8d87a1}.history-entry{border:1px solid #ffffff13;border-radius:10px;padding:15px;display:flex;align-items:center;gap:14px;background:#151626}.history-entry label{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;min-width:0}.history-entry input{accent-color:#9274f7;width:16px;height:16px;flex:none}.history-entry .entry-info{display:flex;flex-direction:column;gap:5px;min-width:0}.entry-info strong{font-size:12px;font-weight:650}.entry-info small{font-size:10px;color:#85809a}.entry-median{font-size:19px;font-weight:650;white-space:nowrap}.text-button{background:transparent;border:0;color:#b9a8ff;font-size:11px;padding:8px}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.comparison-cell{background:#1b1a2d;border:1px solid #ffffff11;padding:20px;border-radius:10px}.comparison-cell span{color:#988daf;font-size:11px;display:block}.comparison-cell strong{display:block;font-size:29px;margin:12px 0}.comparison-cell small{color:#938da7;font-size:11px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,15px);max-width:min(410px,calc(100vw - 36px));background:#2a2743;color:#f3edff;border:1px solid #8470aa;border-radius:10px;padding:13px 18px;font-size:12px;box-shadow:0 15px 40px #0008;z-index:30;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1120px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:26px 12px}.hero-orbit{right:-2%;width:42%}.content{padding:32px 25px 40px}.module-card{padding:19px}.latency-body{gap:18px}.info-grid{grid-template-columns:repeat(2,1fr);gap:20px 0}.info-unit:nth-child(2){border:0}.info-unit:nth-child(3){padding-left:0}}@media(max-width:760px){.shell{display:block}.sidebar{position:static;width:auto;height:auto;min-height:0;padding:14px 20px;border-right:0;border-bottom:1px solid var(--border)}.brand{padding:2px 0 12px}.brand-symbol{width:32px;height:32px}.brand-words strong{font-size:15px}.sidebar-divider,.nav-label,.coming-links,.sidebar-bottom{display:none}.main-nav{flex-direction:row;gap:7px;overflow-x:auto}.nav-link{flex:none;padding:10px 13px;font-size:11px}.nav-ico{font-size:17px;width:17px}.topbar{height:50px;padding:0 20px}.top-indicator{display:none}.content{padding:24px 18px 37px}.hero{padding:36px 25px;min-height:360px}.hero-text{width:100%}.hero h1{font-size:45px}.hero-text p{max-width:430px;position:relative;z-index:2}.hero-orbit{opacity:.23;width:90%;right:-35%;top:40%}.hero-index{bottom:12px}.hero-actions{position:relative;z-index:2}.module-grid{grid-template-columns:1fr 1fr;gap:10px}.module-card{min-height:200px;padding:17px}.module-card h3{font-size:16px}.module-card p{font-size:10px}.section-heading p{display:none}.privacy-tag{display:none}.footer{padding:18px 20px;line-height:1.6}.page-heading{align-items:start;flex-direction:column;gap:14px}.panel{padding:19px}.latency-body{grid-template-columns:1fr}.sample-chart{margin-top:2px}.stats-row{grid-template-columns:repeat(3,1fr);row-gap:19px}.stats-row div:nth-child(3){border:0}.info-grid{grid-template-columns:repeat(2,1fr)}.history-overview{gap:8px}.mini-stat{padding:14px}.mini-stat strong{font-size:20px}.mini-stat span,.mini-stat small{font-size:9px}}@media(max-width:430px){.nav-link{gap:7px;padding:10px}.topbar-right{gap:8px}.hero{min-height:390px}.hero h1{font-size:42px}.hero-text p{font-size:12px}.module-grid{grid-template-columns:1fr}.module-card{min-height:180px}.module-card p{max-width:300px}.panel-foot{flex-direction:column}.info-unit strong{font-size:13px}.stats-row{grid-template-columns:repeat(2,1fr)}.stats-row div:nth-child(3){border-right:1px solid var(--border)}.stats-row div:nth-child(2),.stats-row div:nth-child(4){border-right:0}.history-overview{grid-template-columns:1fr 1fr}.mini-stat:last-child{grid-column:1/-1}.history-entry{flex-wrap:wrap}.entry-median{margin-left:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Accessible cancel control on narrow/touch devices; no background animation. */
#cancel-test{min-height:44px;min-width:96px;touch-action:manipulation}

/* V1 accessibility: touch targets for compact actions without desktop layout changes. */
@media (pointer: coarse) { .btn.small, .icon-btn, .text-button { min-height: 44px; } }

/* Officially sourced subscription snapshots: no remote fonts, scripts, or third-party fetch. */
.subscription-controls{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}.subscription-controls label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#aaa5c3;min-width:170px;flex:1}.subscription-controls select{border:1px solid #62577b;background:#181728;color:#eee9ff;border-radius:9px;padding:12px;font:inherit;min-height:44px}.subscription-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.subscription-card{border:1px solid #47405e;background:#141623;border-radius:13px;padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0}.subscription-location{font-size:18px;color:#e5ddff}.subscription-plan-label,.subscription-date{font-size:11px;color:#b2acc1}.subscription-price{font-size:clamp(22px,3.7vw,30px);color:#c5b2ff;font-weight:700;overflow-wrap:anywhere}.subscription-stale{color:#f0bf86;font-size:11px}.subscription-source{color:#a9dce9;text-decoration:underline;font-size:12px;align-self:flex-start;padding:8px 0}.subscription-source:focus-visible,.subscription-controls select:focus-visible{outline:2px solid #a3a3ff;outline-offset:3px}.subscription-notice{color:#b5b1c5;font-size:12px;line-height:1.6;margin:0 0 16px}@media(max-width:620px){.subscription-results{grid-template-columns:1fr}.subscription-controls{flex-direction:column}.subscription-controls label{min-width:0}}
/* V3 first real utility: local-only CSPRNG password generator. */
.tool-fields{display:flex;flex-direction:column;gap:8px;margin:0 0 17px;color:#aca4c3;font-size:12px}.tool-fields input{width:125px;max-width:100%;min-height:44px;border:1px solid #62577b;border-radius:8px;background:#181728;color:#eee9ff;padding:10px;font:inherit}.tool-options{border:1px solid #464052;border-radius:11px;padding:15px;display:flex;flex-wrap:wrap;gap:13px 24px;color:#d2cadf;font-size:12px}.tool-options legend{padding:0 8px;color:#aaa3c0}.tool-options label{display:inline-flex;gap:8px;align-items:center;min-height:35px;cursor:pointer}.tool-options input{width:18px;height:18px;accent-color:#9c89fb}.tool-password-output{display:block;margin:21px 0 14px;border:1px solid #62577b;border-radius:12px;padding:18px;background:#0e101b;color:#c9f2ed;font:650 clamp(15px,2.7vw,22px)/1.6 ui-monospace,monospace;overflow-wrap:anywhere;min-height:65px;user-select:text}.tool-panel .test-controls{margin:22px 0 4px}.tool-fields input:focus-visible,.tool-options input:focus-visible{outline:2px solid #a49af4;outline-offset:3px}

/* V4 random picker: no heavy animation or prefilled personal choices. */
.playground-label{display:block;color:#bcb4cc;font-size:12px;margin:0 0 10px}.playground-input{display:block;resize:vertical;width:100%;min-height:140px;border:1px solid #655879;border-radius:11px;background:#0d111d;color:#f3ebff;padding:15px;font:14px/1.7 inherit;overflow-wrap:anywhere}.playground-input:focus-visible{outline:2px solid #b09dfe;outline-offset:2px}.playground-result{display:block;min-height:78px;margin:20px 0 15px;padding:21px;border:1px solid #675e8b;border-radius:12px;background:linear-gradient(110deg,#221a35,#121c29);color:#d9f6ee;font-size:clamp(18px,4vw,27px);font-weight:700;overflow-wrap:anywhere}.playground-input::placeholder{color:#77758b}

/* Portable local-only JSON history backup; controls sized for touch and Safari. */
.history-transfer{display:flex;gap:10px;flex-wrap:wrap;margin:0 22px 14px}.history-transfer .btn{min-height:44px;touch-action:manipulation}@media(max-width:520px){.history-transfer{margin:0 14px 14px}.history-transfer .btn{flex:1 1 auto}}

/* LAB-036 chronological RTT delta: caveated comparison, touch-friendly narrow view. */
.comparison-delta{margin-top:14px;border:1px solid #61558a;border-radius:11px;background:#151729;padding:17px 19px;display:flex;flex-direction:column;gap:7px;color:#e9e2ff;min-width:0}.comparison-delta strong{font-size:14px;line-height:1.6}.comparison-delta small{font-size:12px;color:#b3aaca;line-height:1.6}.comparison-delta .comparison-warning{color:#d6b9a3}@media(max-width:520px){.comparison-grid{grid-template-columns:1fr}.comparison-cell{padding:15px}.comparison-cell strong{font-size:23px}.comparison-delta{padding:14px}}

/* LAB-038: individual history delete, independently touch-accessible on narrow phones. */
.history-delete{border:1px solid #5b4854;border-radius:9px;background:#231a26;color:#f1b4bc;padding:9px 12px;min-width:52px;min-height:44px;flex:none;font-size:12px}.history-delete:focus-visible{outline:2px solid #e4b3c5;outline-offset:3px}.history-delete:hover{background:#36222e}@media(max-width:520px){.history-entry{gap:9px}.history-entry .entry-info small{line-height:1.5}.history-delete{padding:8px;min-width:48px}}


/* Keyboard entry, accessible focus and mobile controls. */
.skip-link{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-160%);padding:12px 18px;background:#d7ccff;color:#151022;border-radius:8px}.skip-link:focus{transform:none}
select:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{outline:2px solid #b9a6ff;outline-offset:4px}
@media(max-width:760px){.btn,.btn.small,.icon-btn,.text-button{min-height:44px}.tool-fields input,.subscription-controls select{font-size:16px}.history-entry label{min-height:44px}}
