:root{--bg:#f5f5f7;--blob-1:#dde7f7;--blob-2:#ebe7f5;--blob-3:#e2f0ec;--blob-4:#f3e7ea;--text:#1d1d1f;--muted:#6e6e73;--accent:#0071e3;--accent-ink:#fff;--accent-tint:#0071e31a;--ok:#248a3d;--ok-tint:#34c7591f;--bad:#d70015;--bad-tint:#ff3b301a;--warn-tint:#ff9f0a1f;--hl-mark:#0071e329;--ok-fill:#34c75929;--bad-fill:#ff3b3021;--glass:#ffffff9e;--glass-strong:#ffffffd6;--glass-edge:#00000012;--glass-shine:#ffffffe6;--glass-inner:#00000009;--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000d;--blur:blur(24px) saturate(160%);--spring:cubic-bezier(.34, 1.45, .64, 1);--spring-soft:cubic-bezier(.25, 1.2, .5, 1);--ease-ios:cubic-bezier(.32, .72, 0, 1);interpolate-size:allow-keywords;--r-lg:26px;--r-md:18px;--r-sm:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--blob-1:#0b1626;--blob-2:#15122a;--blob-3:#0a1c1a;--blob-4:#1e1116;--text:#f5f5f7;--muted:#a1a1a6;--accent:#2997ff;--accent-ink:#fff;--accent-tint:#2997ff29;--ok:#30d158;--ok-tint:#30d15824;--bad:#ff453a;--bad-tint:#ff453a24;--warn-tint:#ff9f0a24;--hl-mark:#2997ff3d;--ok-fill:#30d15829;--bad-fill:#ff453a2e;--glass:#1c1c1e99;--glass-strong:#2c2c2ed1;--glass-edge:#ffffff14;--glass-shine:#ffffff14;--glass-inner:#ffffff0a;--shadow:0 1px 2px #00000080, 0 10px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg)}body{min-height:100vh;color:var(--text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.55 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.backdrop{z-index:-1;background:radial-gradient(40vmax 40vmax at 12% 8%, var(--blob-1), transparent 70%), radial-gradient(38vmax 38vmax at 92% 18%, var(--blob-2), transparent 70%), radial-gradient(44vmax 44vmax at 20% 88%, var(--blob-3), transparent 70%), radial-gradient(36vmax 36vmax at 88% 92%, var(--blob-4), transparent 70%);opacity:1;pointer-events:none;position:fixed;inset:-10vmax}body.no-scroll{overflow:hidden}#app{max-width:1180px;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 48px max(16px, env(safe-area-inset-left));margin:0 auto}body:not([data-page=home]) #app{max-width:780px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.02em;margin:10px 0 6px;font-size:1.7rem;font-weight:750;line-height:1.2}.muted{color:var(--muted);margin:4px 0}.hint{color:var(--muted);margin:12px 0;font-size:.93rem}.hl{color:var(--text);background:linear-gradient(transparent 64%, var(--hl-mark) 64%);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 3px;font-weight:650}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:16px 0 0;font-size:.78rem;font-weight:650}.glass,.panel,.kv,.checks li,.stat,.result,.manual-item,.kb,.affiliate,.notice{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-shine), inset 0 -1px 0 var(--glass-inner), var(--shadow)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.panel,.kv,.checks li,.stat,.result,.manual-item,.kb,.affiliate,.notice,.btn:not(.primary,.ok,.bad,.danger),.chip,.fs-bar{background:var(--glass-strong)!important}}@media (prefers-reduced-transparency:reduce){.backdrop{display:none}.glass,.panel,.kv,.checks li,.stat,.result,.manual-item,.kb,.affiliate,.notice,.btn:not(.primary,.ok,.bad,.danger),.chip,.fs-bar{background:var(--glass-strong)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}.btn{font:inherit;border:1px solid var(--glass-edge);background:var(--glass);min-height:44px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 var(--glass-shine), 0 4px 14px #141e3c1a;color:var(--text);cursor:pointer;touch-action:manipulation;transition:transform .4s var(--spring), box-shadow .25s ease, background .25s;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:620;display:inline-flex}.btn:hover{box-shadow:inset 0 1px 0 var(--glass-shine), 0 6px 20px #141e3c29}.btn:active{transition-duration:80ms;transform:scale(.94)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn:focus-visible,.chip:focus-visible,.test-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#0000}.btn.primary:hover{background:color-mix(in srgb, var(--accent) 88%, black);box-shadow:none}.btn.big{padding:14px 24px;font-size:1.05rem}.btn.ok{color:var(--ok);background:var(--ok-tint)}.btn.bad{color:var(--bad);background:var(--bad-tint)}.btn.ghost{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.test-body>.btn,.test-body>div>.btn.big{margin:8px 0}.btn-row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.link-btn{font:inherit;color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:4px 0;font-size:.88rem}.home-top{align-items:end;gap:16px;display:grid}.hero{padding:20px 0 4px}.brand{color:var(--text);align-items:center;gap:10px;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.brand:hover{text-decoration:none}.brand img{border-radius:9px}.hero h1{font-size:clamp(1.8rem,5vw,2.8rem)}.hero .accent{color:var(--muted)}.hero p{color:var(--muted);max-width:60ch;font-size:1.02rem}.kind-picker{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 var(--glass-shine), var(--shadow);border-radius:999px;flex-wrap:wrap;gap:4px;margin:12px 0;padding:4px;display:inline-flex;position:relative}.chip{font:inherit;cursor:pointer;min-height:40px;color:var(--text);z-index:1;transition:background .2s;transition:color .25s, transform .3s var(--spring);background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 16px;position:relative}.chip:active{transform:scale(.94)}.chip.on{font-weight:650}.seg-thumb{z-index:0;background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-shine), 0 3px 10px #141e3c24;transition:transform .5s var(--spring), width .5s var(--spring);border-radius:999px;position:absolute;top:4px;bottom:4px;left:0}.seg-thumb.no-anim{transition:none}.run-bar{border-radius:var(--r-lg);margin:8px 0 16px;padding:18px}.progress{background:var(--glass-inner);border-radius:99px;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.progress-fill{background:var(--accent);height:100%;transition:width .7s var(--spring-soft);animation:grow .9s var(--ease-ios) both;transform-origin:0;border-radius:99px}@keyframes grow{0%{transform:scaleX(0)}}.test-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;display:grid}.test-card{border-radius:var(--r-lg);color:var(--text);transition:transform .45s var(--spring), box-shadow .3s ease;align-items:flex-start;gap:14px;padding:16px;display:flex;position:relative}.test-card:hover{text-decoration:none;transform:translateY(-3px)}.test-card:active{transition-duration:.1s;transform:scale(.97)}.animate-in .test-card{animation:card-in .6s var(--spring-soft) both;animation-delay:calc(var(--i,0) * 35ms)}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.97)}}.test-card.next{border-color:var(--accent);box-shadow:inset 0 1px 0 var(--glass-shine), 0 0 0 3px var(--accent-tint), var(--shadow)}.test-icon{background:var(--glass-inner);width:44px;height:44px;color:var(--text);border-radius:12px;flex:none;place-items:center;font-size:1.5rem;line-height:1;display:grid}.test-text{flex-direction:column;gap:2px;min-width:0;padding-right:76px;display:flex}.test-text span{color:var(--muted);font-size:.88rem}.test-card .badge{position:absolute;top:14px;right:14px}.others{margin:24px 0}.others summary{cursor:pointer;color:var(--muted);margin-bottom:12px}.foot{color:var(--muted);margin-top:36px;font-size:.88rem}.badge{white-space:nowrap;background:var(--glass-strong);color:var(--muted);border-radius:99px;padding:3px 10px;font-size:.74rem;font-weight:700}.test-card .badge,.result .badge{animation:badge-in .5s var(--spring) both}@keyframes badge-in{0%{opacity:0;transform:scale(.6)}}.badge.pass{background:var(--ok-tint);color:var(--ok)}.badge.fail{background:var(--bad-tint);color:var(--bad)}.badge.next{background:var(--accent);color:var(--accent-ink)}.test-nav{top:max(8px, env(safe-area-inset-top));z-index:20;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 18px;display:flex;position:sticky}.test-title span{margin-right:4px}.test-body{margin-top:12px}.panel{border-radius:var(--r-lg);margin:16px 0;padding:18px}.verdict{bottom:max(12px, env(safe-area-inset-bottom));z-index:15;border-radius:var(--r-lg);background:var(--glass-strong);animation:rise .55s var(--spring-soft) both;margin:20px 0 0;padding:14px 16px;animation-delay:.1s;position:sticky}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.verdict-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.verdict-q{margin:0;font-weight:650}.verdict .note{margin-top:10px}.verdict-btns{grid-template-columns:1fr 1fr auto;gap:8px;margin-top:10px;display:grid}.note,.select{width:100%;font:inherit;border-radius:var(--r-sm);border:1px solid var(--glass-edge);background:var(--glass-inner);color:var(--text);padding:11px 14px}.select{margin:8px 0}.status-line{margin:10px 0;font-weight:550}.notice{border-radius:var(--r-md);background:var(--warn-tint);animation:slide-in .45s var(--spring-soft) both;margin:12px 0;padding:12px 16px}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}}.notice.bad{background:var(--bad-tint)}.notice.ok{background:var(--ok-tint)}.big-number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:8px 0;font-size:3.2rem;font-weight:800}.kv{border-collapse:separate;border-spacing:0;border-radius:var(--r-lg);width:100%;overflow:hidden}.kv th,.kv td{text-align:left;border-bottom:1px solid var(--glass-edge);vertical-align:top;padding:11px 14px}.kv tr:last-child th,.kv tr:last-child td{border-bottom:0}.kv th{width:36%;color:var(--muted);font-weight:500}.kv td{overflow-wrap:anywhere}.checks{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.checks li{border-radius:var(--r-md);padding:10px 14px}.checks li:before{content:"○  ";color:var(--muted)}.checks li.done{background:var(--ok-tint);animation:pop .45s var(--spring)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}.checks li.done:before{content:"✓  ";color:var(--ok);font-weight:700}.fs-overlay{z-index:1000;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;height:100lvh;position:fixed;top:0;left:0;right:0}.fs-bar{left:50%;bottom:max(24px, calc(env(safe-area-inset-bottom) + 12px));color:#fff;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#1414188c;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:8px;width:min(560px,100vw - 24px);padding:8px;transition:opacity .35s,transform .35s;display:flex;position:absolute;transform:translate(-50%);box-shadow:inset 0 1px #ffffff59,0 10px 30px #00000059}.fs-bar.hidden{opacity:0;pointer-events:none;transform:translate(-50%,16px)}.fs-bar-label{text-align:center;flex:1;min-width:0;font-size:.88rem;line-height:1.3}.fs-btn{font:inherit;cursor:pointer;color:#fff;background:#ffffff29;border:1px solid #ffffff4d;border-radius:999px;flex:none;min-width:44px;height:44px;padding:0 14px;font-weight:650}.fs-btn.primary{color:#000;background:#ffffffeb}.fs-btn:disabled{opacity:.35}.fs-tap-hint{left:50%;bottom:max(32px, calc(env(safe-area-inset-bottom) + 20px));color:#fff;pointer-events:none;white-space:nowrap;background:#00000073;border-radius:999px;padding:8px 14px;font-size:.85rem;transition:opacity .5s;position:absolute;transform:translate(-50%)}.fs-tap-hint.hidden{opacity:0}.touch-grid{background:#111;display:grid}.touch-grid .cell{border:1px solid #333}.touch-grid .cell.on{background:#16a34a;border-color:#15803d}.fs-exit{top:max(12px, env(safe-area-inset-top));z-index:2;font:inherit;color:#000;background:#ffffffd9;border:1px solid #ffffff80;border-radius:999px;padding:10px 14px;font-weight:650;transition:opacity .2s;position:absolute;right:12px}.fs-exit.hidden{opacity:0;pointer-events:none}.fs-progress{color:#fff;opacity:.6;pointer-events:none;font-size:2rem;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-area{border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--glass-edge);touch-action:none;-webkit-user-select:none;user-select:none;height:55vh;position:relative;overflow:hidden}.touch-dot{animation:dot-in .3s var(--spring);color:#fff;pointer-events:none;border-radius:50%;place-items:center;width:60px;height:60px;font-weight:800;display:grid;position:absolute;top:0;left:0;box-shadow:inset 0 2px #fff6,0 6px 16px #00000040}.ball-track{background:var(--glass);border:1px solid var(--glass-edge);border-radius:99px;height:52px;margin:12px 0;position:relative;overflow:hidden}.ball{background:var(--accent);will-change:transform;border-radius:50%;width:32px;height:32px;position:absolute;top:9px;left:9px;box-shadow:inset 0 2px #ffffff73}.meter{background:var(--glass);border:1px solid var(--glass-edge);border-radius:99px;height:24px;margin:12px 0;overflow:hidden}.meter-fill{background:linear-gradient(90deg,#22c55e,#eab308 70%,#ef4444);width:0;height:100%;transition:width 60ms linear}.cam{border-radius:var(--r-lg);object-fit:contain;background:#000;width:100%;max-height:60vh;margin:8px 0}.kb{border-radius:var(--r-lg);flex-direction:column;gap:5px;padding:10px;display:flex;overflow-x:auto}.kb-row{gap:5px;min-width:640px;display:flex}.key{background:var(--glass-strong);cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0;height:42px;box-shadow:inset 0 1px 0 var(--glass-shine), 0 1px 2px #0000001f;transition:background .2s, transform .3s var(--spring);border:2px solid #0000;border-radius:9px;flex:1 1 0;place-items:center;font-size:.75rem;font-weight:600;display:grid}.key.hit{background:var(--ok-tint);color:var(--ok)}.key.down{border-color:var(--ok);transform:scale(.9)}.key.na{opacity:.35;text-decoration:line-through}.pad{border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--glass-edge);cursor:crosshair;-webkit-user-select:none;user-select:none;height:280px;position:relative;overflow:hidden}.pad-dot{background:var(--accent);pointer-events:none;border-radius:50%;width:16px;height:16px;position:absolute;top:0;left:0}.pad-zones{pointer-events:none;grid-template:repeat(3,1fr)/repeat(3,1fr);display:grid;position:absolute;inset:0}.pad-zone{border:1px dashed var(--glass-edge);transition:background .4s}.pad-zone.seen{background:var(--accent-tint)}.pad-layout{gap:16px;margin:12px 0;display:grid}.pad-layout .steps{order:-1}@media (width>=760px){.pad-layout{grid-template-columns:1fr 260px;align-items:start}.pad-layout .steps{order:0}.pad-layout .pad{height:320px}}.step-current{border-radius:var(--r-md);border:1.5px solid var(--accent);box-shadow:0 0 0 4px var(--accent-tint);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.step-current.complete{border-color:var(--ok);box-shadow:0 0 0 4px var(--ok-tint);color:var(--ok)}.step-current.enter{animation:step-in .45s var(--spring-soft) both}.step-num{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:650}.step-title{font-size:1.05rem}.step-how{color:var(--muted);font-size:.88rem}.steps-done{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.steps-done li{background:var(--glass-inner);color:var(--muted);border-radius:12px;padding:7px 12px;font-size:.88rem}.steps-done li:before{content:"✓  ";color:var(--ok);font-weight:700}.steps-done li.enter{animation:step-in .45s var(--spring-soft) both}@keyframes step-in{0%{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.step-current.enter,.steps-done li.enter{animation:none}}.sensor-wrap{flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0;display:flex}.level{background:var(--glass);border:1px solid var(--glass-edge);border-radius:50%;flex:none;width:150px;height:150px;position:relative;box-shadow:inset 0 2px 8px #0000001f}.level:after{content:"";border:2px dashed var(--muted);border-radius:50%;width:30px;height:30px;margin:-15px;position:absolute;top:50%;left:50%}.bubble{background:var(--accent);border-radius:50%;width:26px;height:26px;margin:-13px;transition:transform 80ms linear;position:absolute;top:50%;left:50%;box-shadow:inset 0 2px #ffffff80}.sensor-values{white-space:pre-wrap;font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.log{color:var(--muted);max-height:200px;margin:8px 0;padding:0;font-size:.88rem;list-style:none;overflow:auto}.bars{align-items:flex-end;gap:3px;height:120px;margin:12px 0;display:flex}.bars:empty{display:none}.bar{animation:bar-in .5s var(--spring) both;transform-origin:bottom;background:var(--accent);border-radius:4px 4px 0 0;flex:1;min-height:2px;transition:height .2s}@keyframes dot-in{0%{opacity:0;scale:.3}}@keyframes bar-in{0%{transform:scaleY(0)}}.stat{animation:card-in .55s var(--spring-soft) both}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0;display:grid}.stat{border-radius:var(--r-md);padding:14px}.stat-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.stat-label{color:var(--muted);font-size:.85rem}.stat.pass .stat-value{color:var(--ok)}.stat.fail .stat-value{color:var(--bad)}.manual{gap:10px;display:grid}.manual-item{border-radius:var(--r-md);padding:14px 16px}.manual-item summary{cursor:pointer;font-weight:650}details::details-content{block-size:0;transition:block-size .4s var(--ease-ios), content-visibility .4s allow-discrete;overflow:clip}details[open]::details-content{block-size:auto}.manual-item{transition:border-color .3s, transform .4s var(--spring)}.manual-item.ok{background:var(--ok-fill);border-color:var(--ok);animation:pop .45s var(--spring)}.manual-item.ok .manual-title:before{content:"✓ ";color:var(--ok);font-weight:800}.manual-item.bad{background:var(--bad-fill);border-color:var(--bad);animation:pop .45s var(--spring)}.manual-item.bad .manual-title:before{content:"✗ ";color:var(--bad);font-weight:800}.manual-item.ok ul,.manual-item.bad ul{color:var(--text)}.btn[aria-pressed=true].ok{background:var(--ok);color:#fff;border-color:var(--ok)}.btn[aria-pressed=true].bad{background:var(--bad);color:#fff;border-color:var(--bad)}.manual-item ul{color:var(--muted);padding-left:20px;font-size:.93rem}.results{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.result{border-left:4px solid var(--glass-edge);border-radius:var(--r-md);padding:12px 16px}.result.pass{border-left-color:var(--ok)}.result.fail{border-left-color:var(--bad)}.result-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.result-note{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:.9rem}.share-out{margin-top:10px}.ad{min-height:90px;margin:20px 0}.ad-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.7rem;display:block}.ad:has(ins[data-ad-status=unfilled]){display:none}.ad-placeholder{border:2px dashed var(--glass-edge);border-radius:var(--r-lg);color:var(--muted);place-items:center;font-size:.85rem;display:grid}.waiting-ad{margin:12px 0}.affiliate{border-radius:var(--r-lg);gap:6px;margin:12px 0;padding:14px 16px;display:grid}.affiliate-label{color:var(--muted);margin:0;font-size:.75rem}.sponsor{margin:16px 0}.sponsor video{border-radius:var(--r-lg);background:#000;width:100%}.sponsor-label{color:var(--muted);margin:0 0 6px;font-size:.85rem}.backdrop{view-transition-name:backdrop}.test-nav{view-transition-name:test-nav}.verdict{view-transition-name:verdict}::view-transition-group(backdrop){animation:none}::view-transition-old(root){animation-duration:.42s;animation-timing-function:var(--ease-ios)}::view-transition-new(root){animation-duration:.42s;animation-timing-function:var(--ease-ios)}::view-transition-group(test-nav){animation-duration:.42s;animation-timing-function:var(--ease-ios)}::view-transition-group(verdict){animation-duration:.42s;animation-timing-function:var(--ease-ios)}html[data-nav=forward]::view-transition-old(root){animation-name:vt-out-left}html[data-nav=forward]::view-transition-new(root){animation-name:vt-in-right}html[data-nav=back]::view-transition-old(root){animation-name:vt-out-right}html[data-nav=back]::view-transition-new(root){animation-name:vt-in-left}@keyframes vt-in-right{0%{opacity:0;transform:translate(28%)}}@keyframes vt-out-left{to{opacity:0;transform:translate(-14%)}}@keyframes vt-in-left{0%{opacity:0;transform:translate(-28%)}}@keyframes vt-out-right{to{opacity:0;transform:translate(14%)}}.nav-btn{min-height:36px;color:var(--accent);background:var(--accent-tint);transition:transform .35s var(--spring), background .2s;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:6px 14px 6px 10px;font-weight:620;text-decoration:none;display:inline-flex}.nav-btn:hover{background:color-mix(in srgb, var(--accent) 22%, transparent);text-decoration:none}.nav-btn:active{transition-duration:80ms;transform:scale(.93)}.nav-btn.ghost{color:var(--muted);background:0 0;padding:6px 10px 6px 14px}.nav-chevron{margin-top:-2px;font-size:1.35em;line-height:1}.nav-step{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem;font-weight:650}.test-nav{padding:6px}.criteria{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;display:grid}.crit{border-radius:var(--r-md);border:1px solid #0000;padding:12px 14px}.crit.pass{background:var(--ok-tint)}.crit.fail{background:var(--bad-tint)}.crit-title{margin:0 0 6px;font-weight:800}.crit.pass .crit-title{color:var(--ok)}.crit.fail .crit-title{color:var(--bad)}.crit ul{margin:0;padding-left:18px;font-size:.9rem}.crit li{margin:3px 0}.crit .hl{background:0 0;padding:0}.notice.tip{background:var(--accent-tint)}.notice-more{margin:8px 0 0;font-size:.92rem}.stat.accent .stat-value{color:var(--accent)}.runs th,.runs td{width:auto}.touch-panel{z-index:5;border-radius:var(--r-lg);margin:12px 0;padding:12px;position:sticky;top:68px}.touch-counter{text-align:center;margin-bottom:10px}.touch-now{font-variant-numeric:tabular-nums;margin-right:2px;font-size:1.8rem;font-weight:800}.lights{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.light{width:36px;height:36px;color:var(--muted);background:var(--glass-strong);border:2px solid var(--glass-edge);transition:background .25s, color .25s, border-color .25s, box-shadow .3s, transform .4s var(--spring);border-radius:50%;place-items:center;font-size:.85rem;font-weight:750;display:grid}.light.reached{border-color:var(--c);color:var(--c)}.light.on{background:var(--c);border-color:var(--c);color:#fff;box-shadow:0 0 16px var(--c), 0 0 4px var(--c);transform:scale(1.15)}.pk-guide{border-radius:var(--r-lg);margin:16px 0;padding:16px}.pk-heading{margin:0 0 10px;font-weight:750}.pk-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.pk-phone{--pk:8s;color:#111;background:#f4f6fb;border:6px solid #1c1c22;border-radius:30px;flex:none;width:150px;height:300px;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000040}.pk-notch{z-index:8;background:#1c1c22;border-radius:99px;width:44px;height:12px;margin-left:-22px;position:absolute;top:6px;left:50%}.pk-page{flex-direction:column;gap:8px;display:flex;position:absolute;inset:34px 12px 12px}.pk-line{background:#d7dce6;border-radius:4px;height:8px}.pk-line.short{width:60%}.pk-cta{color:#fff;text-align:center;background:#0071e3;border-radius:99px;margin-top:auto;margin-bottom:70px;padding:9px 6px;font-size:.62rem;font-weight:700}.pk-tap{opacity:0;z-index:6;background:#0a6cff59;border:2px solid #0a6cffcc;border-radius:50%;width:34px;height:34px;margin:-17px;position:absolute}.pk-tap-1{animation:pk-tap1 var(--pk) infinite;bottom:96px;left:50%}.pk-tap-2{animation:pk-tap2 var(--pk) infinite;bottom:36px;left:50%}.pk-sheet{z-index:4;text-align:center;animation:pk-sheet var(--pk) infinite var(--ease-ios);background:#fffffff0;border-radius:20px 20px 0 0;padding:14px 12px 18px;position:absolute;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -6px 20px #00000026}.pk-key{font-size:1.4rem}.pk-sheet-title{margin-top:2px;font-size:.78rem;font-weight:800}.pk-sheet-sub{color:#555;margin:4px 0 10px;font-size:.6rem}.pk-confirm{color:#fff;background:#0071e3;border-radius:99px;padding:8px;font-size:.66rem;font-weight:700}.pk-bio,.pk-done{z-index:7;color:#fff;opacity:0;background:#14161ebf;place-content:center;justify-items:center;gap:8px;font-size:.72rem;font-weight:650;display:grid;position:absolute;inset:0}.pk-bio{animation:pk-bio var(--pk) infinite}.pk-bio-icon{color:#fff;width:58px;height:58px;animation:.8s ease-in-out infinite alternate pk-scan}.pk-bio-icon svg{width:100%;height:100%;display:block}.pk-done{animation:pk-done var(--pk) infinite}.pk-check{background:#34c759;border-radius:50%;place-items:center;width:54px;height:54px;font-size:1.8rem;font-weight:800;display:grid}.pk-steps{counter-reset:pk;flex:220px;gap:6px;margin:0;padding:0;list-style:none;display:grid}.pk-steps li{counter-increment:pk;opacity:.55;animation:8s infinite pk-step;animation-delay:calc(var(--s) * 2s);border-radius:12px;padding:8px 10px 8px 42px;position:relative}.pk-steps li:before{content:counter(pk);background:var(--accent);width:22px;height:22px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:8px;left:10px}.pk-laptop-wrap{flex-direction:column;flex:none;align-items:center;display:flex}.pk-phone.pk-laptop{border-width:8px;border-radius:12px 12px 4px 4px;width:290px;height:182px}.pk-base{background:linear-gradient(#c9ced8,#9aa1ad);border-radius:2px 2px 10px 10px;width:340px;height:12px;margin-top:-1px;box-shadow:0 6px 14px #0003}.pk-laptop .pk-page{inset:14px 18px 12px}.pk-laptop .pk-cta{width:62%;margin:auto auto 6px}.pk-laptop .pk-tap-1{bottom:26px}.pk-laptop .pk-sheet{opacity:0;border-radius:14px;width:176px;padding:10px 12px 12px;animation-name:pk-dialog;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(.85);box-shadow:0 10px 30px #0000004d}.pk-laptop .pk-key{font-size:1.1rem}.pk-laptop .pk-sheet-sub{margin:3px 0 8px}.pk-laptop .pk-tap-2{top:calc(50% + 38px);bottom:auto}.pk-laptop .pk-bio-icon{width:46px;height:46px}.pk-laptop .pk-check{width:44px;height:44px;font-size:1.5rem}@keyframes pk-dialog{0%,24%{opacity:0;transform:translate(-50%,-50%)scale(.85)}30%,50%{opacity:1;transform:translate(-50%,-50%)scale(1)}55%,to{opacity:0;transform:translate(-50%,-50%)scale(.95)}}@keyframes pk-tap1{0%,7%{opacity:0;transform:scale(.4)}12%{opacity:1;transform:scale(1)}20%,to{opacity:0;transform:scale(1.7)}}@keyframes pk-sheet{0%,24%{transform:translateY(105%)}30%,50%{transform:translateY(0)}55%,to{transform:translateY(105%)}}@keyframes pk-tap2{0%,35%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1)}47%,to{opacity:0;transform:scale(1.7)}}@keyframes pk-bio{0%,51%{opacity:0}55%,73%{opacity:1}77%,to{opacity:0}}@keyframes pk-scan{0%{opacity:.6;transform:scale(.92)}to{opacity:1;transform:scale(1.06)}}@keyframes pk-done{0%,75%{opacity:0;transform:scale(.92)}79%,96%{opacity:1;transform:scale(1)}to{opacity:0}}@keyframes pk-step{0%,24%{opacity:1;background:var(--accent-tint)}26%,to{opacity:.55;background:0 0}}.kb-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.kb-picker{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.kb-picker .chip{min-height:36px;padding:6px 14px}.kb-picker .chip.on{background:var(--glass-strong);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-shine), 0 2px 8px #141e3c1f}.kb.mac .key{border-radius:7px;font-size:.7rem}.kb-lock-note{text-align:center;color:var(--accent);margin:0 0 12px;font-weight:650}.kb-stage:fullscreen{background:var(--bg);flex-direction:column;justify-content:center;padding:32px;display:flex;overflow:auto}.kb-stage:fullscreen .kb{width:100%;max-width:1100px;margin:0 auto}.kb-stage:fullscreen .key{height:56px;font-size:.85rem}:is(.kb-stage:fullscreen .status-line,.kb-stage:fullscreen .hint){text-align:center}.test-grid>.infeed{grid-column:1/-1;margin:4px 0}.faq{margin:36px 0 8px}.faq h2{margin:0 0 12px;font-size:1.3rem}.faq-item{border-radius:var(--r-md);margin:8px 0;padding:12px 16px}.faq-item summary{cursor:pointer;font-weight:650}.faq-item p{color:var(--muted);margin:8px 0 2px}.foot-links{flex-wrap:wrap;gap:18px;margin-top:14px;display:flex}.foot-links a{color:var(--muted);font-weight:550}.results.compact{gap:6px}.results.compact .result{padding:8px 12px}.next-card{border-radius:var(--r-lg);margin:18px 0;padding:18px}.next-card h2{margin:4px 0;font-size:1.3rem}.next-crit{color:var(--ok);margin:10px 0 14px;padding:0;font-size:.93rem;list-style:none}.next-crit .hl{background:0 0;padding:0}.prose{line-height:1.7}.prose h2{margin:22px 0 6px;font-size:1.15rem}.prose p{margin:8px 0}a.ext{text-underline-offset:2px;font-weight:650;text-decoration:underline}a.ext[href^=https]:after{content:" ↗";font-size:.85em}a.dial{white-space:nowrap;background:var(--accent-tint);font-variant-numeric:tabular-nums;letter-spacing:.04em;border-radius:8px;padding:1px 8px;text-decoration:none}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);z-index:2000;background:var(--glass-strong);text-align:center;pointer-events:none;opacity:0;width:max-content;max-width:min(92vw,460px);transition:opacity .3s, transform .5s var(--spring);border-radius:18px;padding:12px 18px;font-weight:550;position:fixed;transform:translate(-50%,20px)scale(.96)}.toast.show{opacity:1;transform:translate(-50%)scale(1)}@media (width<=599px){.btn.big{width:100%}.kind-picker{display:flex}.chip{white-space:nowrap;flex:1;padding:8px 6px;font-size:.9rem}.kv th{width:40%}.verdict-btns .btn{padding:11px 12px}.criteria{grid-template-columns:1fr}.test-nav{padding:8px 14px;font-size:.92rem}}@media (width>=600px){h1{font-size:2rem}.run-bar{padding:22px}}@media (width>=1024px){#app{padding-top:32px}.home-top{grid-template-columns:1.4fr 1fr;gap:32px;margin-bottom:20px}.run-bar{margin:0}.run-bar .btn.big{width:100%}.test-grid{gap:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.pk-steps li{opacity:1}}.icon{vertical-align:-.2em;flex:none}.chip{justify-content:center;align-items:center;gap:6px;display:inline-flex}.test-title{align-items:center;gap:12px;display:flex}.next-card h2{align-items:center;gap:10px;display:flex}.result-title{align-items:center;gap:8px;display:inline-flex}.foot-privacy{align-items:flex-start;gap:8px;display:flex}.foot-privacy .icon{margin-top:3px}a.dial{align-items:center;gap:4px;display:inline-flex}.big-number .icon{vertical-align:middle;color:var(--ok);margin-left:6px}.pk-key{color:#0071e3;justify-content:center;display:flex}.hero-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.lang-switch{color:var(--muted);border:1px solid var(--glass-edge);background:var(--glass);border-radius:999px;padding:0 12px;font-size:.85rem;font-weight:600}.hero-top .lang-switch{box-sizing:border-box;align-items:center;height:32px;display:inline-flex}@media (width>=1024px){.home-top{position:relative}.home-top .hero-top .lang-switch{position:absolute;top:20px;right:0}}.lang-switch:hover{color:var(--text);text-decoration:none}.foot-links .lang-switch{background:0 0;border:0;padding:0}.guides{margin:36px 0 8px}.guides h2,.related h2{margin:0 0 12px;font-size:1.3rem}.guide-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin:12px 0;display:grid}.guide-card,.guide-cta{border-radius:var(--r-lg);color:var(--text);transition:transform .45s var(--spring);flex-direction:column;gap:4px;padding:16px;display:flex}.guide-card:hover,.guide-cta:hover{text-decoration:none;transform:translateY(-3px)}.guide-card span,.guide-cta span{color:var(--muted);font-size:.88rem;line-height:1.5}.guide-cta{border-left:3px solid var(--accent);margin:14px 0}.guide-cta strong:after{content:" →";color:var(--accent)}.guide .eyebrow a{color:inherit}.guide h1{margin:6px 0 4px;font-size:clamp(1.6rem,4.5vw,2.3rem);line-height:1.2}.guide-meta{font-size:.88rem}.guide-body{max-width:68ch}.guide-body h2{margin:30px 0 8px;font-size:1.3rem}.guide-body h3{margin:20px 0 6px;font-size:1.05rem}.guide-body ul,.guide-body ol{margin:8px 0;padding-left:1.3em}.guide-body li{margin:5px 0}.guide-body strong{color:var(--text)}.callout{border-radius:var(--r-md);background:var(--accent-tint);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);margin:14px 0;padding:12px 16px}.related{margin:32px 0 8px}.related ul{margin:0;padding-left:1.2em;line-height:1.9}.sheet{border-radius:var(--r-lg);border:1px solid var(--glass-edge);background:var(--glass-strong);width:min(360px,100vw - 32px);color:var(--text);box-shadow:inset 0 1px 0 var(--glass-shine), 0 24px 60px #141e3c40;animation:sheet-in .4s var(--spring-soft) both;padding:22px 20px 16px}.sheet::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000047;animation:.25s both fade-in}.sheet.closing{animation:.2s both sheet-out}.sheet.closing::backdrop{animation:.2s reverse both fade-in}.sheet-title{margin:0 0 6px;font-size:1.15rem}.sheet-text{color:var(--muted);margin:0 0 18px;font-size:.95rem;line-height:1.5}.sheet-btns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn.danger{background:var(--bad);color:#fff;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#0000}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes sheet-out{to{opacity:0;transform:scale(.97)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sheet,.sheet::backdrop{animation:none}}
