*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--bg-surface:#111118;--bg-card:#ffffff09;--bg-card-hover:#fff1;--text:#e2e2ea;--text-muted:#7a7a90;--accent:#6366f1;--accent-light:#818cf8;--accent-glow:#6366f126;--green:#22c55e;--green-glow:#22c55e1f;--border:#ffffff12;--border-hover:#ffffff24;--radius:14px;--radius-sm:8px;--font:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 15% 5%,#6366f11a 0%,#0000 55%),radial-gradient(55% 45% at 85% 25%,#8b5cf612 0%,#0000 45%),radial-gradient(60% 35% at 50% 95%,#22c55e0d 0%,#0000 45%);position:fixed;inset:0}#root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}h1{letter-spacing:-.035em;color:var(--text);font-size:clamp(2.2rem,5.5vw,3.75rem);font-weight:800;line-height:1.08}h2{letter-spacing:-.02em;color:var(--text);font-size:clamp(1.3rem,3vw,1.85rem);font-weight:700;line-height:1.25}h3{color:var(--text);font-size:1rem;font-weight:600}p{color:var(--text-muted)}a{color:var(--accent-light);text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:1080px;margin-inline:auto;padding-inline:clamp(12px,3vw,24px)}::selection{color:#fff;background:#6366f14d}@media (width<=640px){.container{padding:0 16px}}*{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff29 padding-box content-box;border:2px solid #0000;border-radius:9px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d padding-box content-box}::-webkit-scrollbar-corner{background:0 0}select,option{color:#e8eaee;background-color:#191921}@media (width<=860px){.wh__table,.ua__tbl,.fa__table,.ps__table,.qw__table,.sp__table,.sp__calc,.gd__table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.wh__table>thead,.wh__table>tbody,.ua__tbl>thead,.ua__tbl>tbody,.fa__table>thead,.fa__table>tbody,.ps__table>thead,.ps__table>tbody,.qw__table>thead,.qw__table>tbody,.sp__table>thead,.sp__table>tbody,.sp__calc>thead,.sp__calc>tbody,.gd__table>thead,.gd__table>tbody{width:max-content;min-width:100%;display:table}}@media (hover:none){button,.tp__item,.tp__btn{min-height:40px}}.nav{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.nav-logo{letter-spacing:-.03em;color:var(--text);align-items:center;gap:8px;font-size:19px;font-weight:800;text-decoration:none;display:flex}.nav-logo .logo-icon{width:28px;height:28px}.nav-logo .accent{color:var(--accent-light)}.nav-actions{align-items:center;gap:10px;display:flex}.btn{border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:10px;padding:12px 24px;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 0 24px var(--accent-glow), 0 2px 8px #0000004d}.btn-primary:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:0 0 36px #6366f140,0 4px 16px #0006}.btn-ghost{color:var(--text-muted);background:0 0;padding:12px 16px}.btn-ghost:hover{color:var(--text);background:var(--bg-card)}.btn-google{color:#1f1f1f;background:#fff;font-weight:600}.btn-google:hover{background:#f0f0f0;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.btn-apple{color:#fff;background:#000;border:1px solid #ffffff1f}.btn-apple:hover{background:#1a1a1a;border-color:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.btn svg{flex-shrink:0;width:18px;height:18px}.pill{letter-spacing:.02em;border-radius:100px;align-items:center;gap:6px;padding:5px 14px;font-size:12px;font-weight:600;display:inline-flex}.pill--accent{background:var(--accent-glow);color:var(--accent-light)}.pill--green{background:var(--green-glow);color:var(--green)}.hero{text-align:center;flex-direction:column;align-items:center;padding:72px 0 48px;display:flex}.hero .pill{margin-bottom:20px}.hero h1{max-width:680px;margin-bottom:18px}.hero h1 .gradient-text{background:linear-gradient(135deg, var(--accent-light) 0%, #a78bfa 40%, var(--green) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero>p{max-width:500px;margin-bottom:32px;font-size:17px;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.stats{flex-wrap:wrap;justify-content:center;gap:48px;padding:28px 0 56px;display:flex}.stat{text-align:center}.stat-value{color:var(--text);letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);margin-top:6px;font-size:13px}.features-section{padding:48px 0}.features-section h2{text-align:center;margin-bottom:32px}.features{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.feature{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:24px;transition:background .2s,border-color .2s}.feature:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.feature-icon{margin-bottom:14px;font-size:26px;display:block}.feature h3{margin-bottom:6px}.feature p{font-size:14px;line-height:1.55}.auth-section{text-align:center;max-width:400px;margin:0 auto;padding:56px 0 64px}.auth-section h2{margin-bottom:8px}.auth-section>p{margin-bottom:28px;font-size:15px}.auth-buttons{flex-direction:column;gap:12px;display:flex}.auth-buttons .btn{border-radius:var(--radius);width:100%;padding:14px 24px;font-size:15px}.auth-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:14px;margin:18px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-note{color:var(--text-muted);margin-top:20px;font-size:12px;line-height:1.5}.auth-note a{color:var(--accent-light)}.auth-input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);font-size:15px;font-family:var(--font);outline:none;padding:14px 18px;transition:border-color .2s}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.auth-input::placeholder{color:var(--text-muted)}.auth-error{color:#ef4444;margin:0;font-size:13px}.dash-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.dash-spinner{border:3px solid var(--border);border-top-color:var(--accent-light);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dash-hero{max-width:600px;margin:0 auto;padding:56px 0 48px}.dash-welcome{align-items:center;gap:20px;margin-bottom:36px;display:flex}.dash-welcome h1{margin:0;font-size:1.8rem}.dash-subtitle{color:var(--text-muted);margin-top:4px;font-size:15px}.dash-avatar{border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:64px;height:64px}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:24px}.dash-card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px;font-size:15px}.dash-card--muted{background:var(--bg-card);border-color:var(--border)}.dash-card--muted p{margin:0;font-size:14px;line-height:1.6}.dash-info{flex-direction:column;gap:12px;display:flex}.dash-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.dash-row:last-child{border-bottom:none;padding-bottom:0}.dash-label{color:var(--text-muted);font-size:14px}.dash-value{font-size:14px;font-weight:600}.dash-mono{color:var(--text-muted);font-family:monospace;font-size:12px}.dash-role-badge{vertical-align:middle;letter-spacing:.02em;border-radius:100px;margin-left:10px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.dash-role-badge--superadmin{color:#fff;background:linear-gradient(135deg,#f59e0b,#ef4444)}.dash-role-badge--user{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border)}.dash-perms{flex-wrap:wrap;gap:8px;display:flex}.dash-perm{border-radius:var(--radius-sm);background:var(--green-glow);color:var(--green);padding:4px 12px;font-family:monospace;font-size:12px;font-weight:600;display:inline-block}.dash-card--admin{background:#f59e0b0f;border-color:#f59e0b}.dash-card--admin h3{color:#f59e0b}.dash-card--admin p{margin:0 0 8px;font-size:14px}.dash-card-hint{font-style:italic;color:var(--text-muted)!important;font-size:13px!important}@media (width<=480px){.dash-welcome{text-align:center;flex-direction:column}.dash-welcome h1{font-size:1.4rem}.dash-row{flex-direction:column;align-items:flex-start;gap:4px}.dash-role-badge{margin:6px auto 0;display:block}}.admin-tabs{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.admin-tab{color:var(--text-muted);font-size:13px;font-weight:600;font-family:var(--font);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 14px;transition:all .15s}.admin-tab:hover{color:var(--text);background:#ffffff0a}.admin-tab--active{background:var(--accent);color:#fff;box-shadow:0 1px 4px var(--accent-glow)}.admin-page{max-width:900px;margin:0 auto;padding:32px 0 48px}.admin-page h2{margin-bottom:24px}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.admin-header h2{margin:0}.admin-header-right{align-items:center;gap:12px;display:flex}.admin-meta{color:var(--text-muted);font-size:13px}.btn-sm{padding:6px 14px;font-size:13px}.infra-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.infra-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.infra-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:8px;margin:0 0 14px;font-size:14px;font-weight:700;display:flex}.infra-icon{font-size:16px}.infra-items{flex-direction:column;gap:10px;display:flex}.infra-item{align-items:flex-start;gap:10px;font-size:13px;line-height:1.4;display:flex}.infra-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.infra-dot--ok{background:#10b981;box-shadow:0 0 6px #10b98180}.infra-dot--fail{background:#ef4444;box-shadow:0 0 6px #ef444480}.infra-dot--warn{background:#f59e0b;box-shadow:0 0 6px #f59e0b80}.infra-name{color:var(--text);flex-shrink:0;min-width:130px;font-weight:600}.infra-detail{color:var(--text-muted);word-break:break-all}.infra-summary{flex-wrap:wrap;gap:20px;margin-bottom:8px;display:flex}.infra-summary-item{align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.infra-summary--ok{color:#10b981}.infra-summary--warn{color:#f59e0b}.infra-summary--fail{color:#ef4444}.settings-note{color:var(--text-muted);margin:0 0 16px;font-size:14px;line-height:1.5}.settings-note code{background:#ffffff0f;border-radius:4px;padding:2px 6px;font-size:12px}.settings-methods{flex-direction:column;gap:10px;display:flex}.settings-method{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;flex-direction:column;gap:4px;padding:12px;font-size:13px;display:flex}.settings-method strong{color:var(--text)}.settings-method span{color:var(--text-muted)}.settings-method code{color:var(--accent-light);word-break:break-all;font-size:12px}.checklist{flex-direction:column;gap:8px;display:flex}.checklist-item{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:12px;padding:12px;transition:all .15s;display:flex}.checklist-item:hover{border-color:var(--border-hover)}.checklist-item--done{opacity:.5;background:#10b9810a;border-color:#10b981}.checklist-item input[type=checkbox]{accent-color:#10b981;flex-shrink:0;width:16px;height:16px;margin-top:3px}.checklist-content{flex:1;min-width:0}.checklist-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.checklist-header strong{color:var(--text);font-size:13px}.checklist-header code{color:var(--accent-light);background:var(--accent-glow);border-radius:4px;padding:1px 6px;font-size:12px}.checklist-where{color:var(--text-muted);margin-bottom:3px;font-size:12px}.checklist-current{color:var(--text-muted);font-size:12px}.checklist-current code{color:var(--text);word-break:break-all;font-size:11px}.quick-links{flex-wrap:wrap;gap:8px;display:flex}.quick-link{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent-light);align-items:center;gap:4px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.quick-link:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light);text-decoration:none}.domain-guide{max-width:900px}.domain-step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:20px 24px}.domain-step-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.domain-step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.domain-step-title{color:var(--text);font-size:15px;font-weight:700}.domain-step p{margin:0 0 8px;padding-left:40px;font-size:13px;line-height:1.6}.domain-step code{color:var(--accent-light);background:#ffffff0f;border-radius:4px;padding:2px 6px;font-size:12px}.domain-step a{color:var(--accent-light);text-underline-offset:2px;text-decoration:underline}.domain-step a:hover{color:var(--text)}.domain-step-link{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent-light);align-items:center;gap:4px;margin-top:4px;margin-left:40px;padding:4px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.domain-step-link:hover{background:var(--accent-glow);border-color:var(--accent);text-decoration:none}.domain-warning{border-radius:var(--radius);background:#f59e0b14;border:1px solid #f59e0b4d;margin-bottom:20px;padding:16px 20px}.domain-warning p{color:#f59e0b;margin:0;font-size:13px;line-height:1.5}.domain-warning strong{color:#fbbf24}.domain-form{flex-direction:column;gap:14px;margin-top:14px;display:flex}.domain-form-field{flex-direction:column;gap:4px;display:flex}.domain-form-field label{color:var(--text-secondary);letter-spacing:.02em;font-size:13px;font-weight:600}.domain-form-field .auth-input{width:100%;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px}.domain-results{margin-top:16px}.domain-result-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:8px 0;font-size:14px;display:flex}.domain-result-item:last-child{border-bottom:none}.domain-result-item strong{white-space:nowrap}@media (width<=768px){.infra-grid{grid-template-columns:1fr}.admin-tabs{flex-wrap:wrap}.admin-tab{padding:5px 10px;font-size:12px}.infra-item{flex-wrap:wrap}.infra-name{min-width:unset}.admin-header{flex-direction:column;align-items:flex-start}.domain-step p{padding-left:0}.domain-step-link{margin-left:0}}@media (width<=480px){.admin-tabs{gap:1px;padding:2px}.admin-tab{padding:4px 8px;font-size:11px}.nav-actions{flex-wrap:wrap;justify-content:flex-end}}.footer{text-align:center;border-top:1px solid var(--border);margin-top:auto;padding:32px 0}.footer p{font-size:13px}@media (width<=768px){.features{grid-template-columns:1fr}.hero{padding:48px 0 32px}.hero>p{font-size:15px}.stats{gap:28px}.stat-value{font-size:1.5rem}}@media (width<=480px){.nav-actions .btn{padding:10px 14px;font-size:13px}.hero-actions{flex-direction:column;width:100%;padding:0 16px}.hero-actions .btn{width:100%}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:0 0 16px;width:16px;height:16px;animation:.7s linear infinite lz-spin;display:inline-block}@keyframes lz-spin{to{transform:rotate(360deg)}}.btn:disabled{opacity:.65;cursor:progress}.sec-lead{color:#e8eaee9e;text-align:center;max-width:62ch;margin:-.4rem auto 2rem;font-size:clamp(.92rem,.4vw + .82rem,1.04rem);line-height:1.6}.secgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:clamp(.8rem,1.6vw,1.2rem);display:grid}.seccard{background:linear-gradient(160deg,#ffffff0b,#ffffff03);border:1px solid #ffffff14;border-radius:14px;padding:clamp(1rem,2vw,1.4rem);transition:border-color .18s,transform .18s;position:relative}@media (hover:hover){.seccard:hover{border-color:#7fd1a057;transform:translateY(-2px)}}.seccard-dot{background:#7fd1a0;border-radius:50%;width:9px;height:9px;margin-bottom:.7rem;display:block;box-shadow:0 0 0 4px #7fd1a024}.seccard h3{margin:0 0 .45rem;font-size:clamp(.98rem,.4vw + .88rem,1.08rem);font-weight:600}.seccard p{color:#e8eaeea8;margin:0;font-size:.9rem;line-height:1.55}.stackrows{flex-direction:column;gap:clamp(.7rem,1.4vw,1rem);display:flex}.stackrow{background:#ffffff06;border:1px solid #ffffff12;border-radius:14px;grid-template-columns:minmax(84px,130px) 1fr;align-items:start;gap:clamp(.6rem,1.6vw,1.2rem);padding:clamp(.8rem,1.6vw,1.1rem);display:grid}@media (width<=560px){.stackrow{grid-template-columns:1fr}}.stackrow-label{color:#e8eaee85;letter-spacing:.02em;text-transform:uppercase;padding-top:.18rem;font-size:.82rem}.stackrow-items{flex-wrap:wrap;gap:.4rem;display:flex}.chip{color:#e8eaeecc;white-space:nowrap;background:#ffffff09;border:1px solid #ffffff17;border-radius:999px;padding:.3rem .62rem;font-size:.82rem;line-height:1.3}.owasp{flex-direction:column;gap:.55rem;display:flex}.owasp-row{background:#ffffff06;border:1px solid #ffffff12;border-left:3px solid #7fd1a08c;border-radius:12px;grid-template-columns:46px 1fr auto;align-items:center;gap:clamp(.6rem,1.4vw,1rem);padding:clamp(.72rem,1.5vw,1rem);display:grid}.owasp-row--part{border-left-color:#c9b47f99}@media (width<=560px){.owasp-row{grid-template-columns:1fr;row-gap:.35rem}.owasp-state{justify-self:start}}.owasp-code{font-variant-numeric:tabular-nums;color:#e8eaee70;letter-spacing:.04em;font-size:.8rem;font-weight:600}.owasp-body h3{margin:0 0 .18rem;font-size:clamp(.94rem,.35vw + .86rem,1.02rem);font-weight:600}.owasp-body p{color:#e8eaee9e;margin:0;font-size:.86rem;line-height:1.5}.owasp-state{white-space:nowrap;color:#7fd1a0;background:#7fd1a01f;border-radius:999px;padding:.22rem .58rem;font-size:.76rem}.owasp-row--part .owasp-state{color:#c9b47f;background:#c9b47f1f}:root{--ink:#131a2b;--ink-2:#1a2336;--rule:#2a3450;--text:#e4e8f0;--text-soft:#8b95ab;--pass:#5fa37f;--part:#c2a24e;--fail:#c2695e}.hero h1{letter-spacing:-.022em;max-width:16ch;margin-inline:auto;font-size:clamp(2rem,4.4vw + 1rem,3.4rem);font-weight:620;line-height:1.08}.hero-lead{max-width:54ch;color:var(--text-soft);margin:1rem auto 2.2rem;font-size:clamp(.98rem,.5vw + .86rem,1.1rem);line-height:1.62}.vfy{border:1px solid var(--rule);background:var(--ink-2);text-align:left;border-radius:12px;max-width:640px;margin:0 auto 2rem;padding:clamp(1rem,2.4vw,1.5rem)}.vfy__top{align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.vfy__mark{background:var(--text-soft);border-radius:50%;flex:none;width:10px;height:10px}.vfy--match .vfy__mark{background:var(--pass);box-shadow:0 0 0 4px #5fa37f29}.vfy--differs .vfy__mark{background:var(--fail);box-shadow:0 0 0 4px #c2695e29}.vfy--checking .vfy__mark{animation:1.4s ease-in-out infinite vfy-pulse}@keyframes vfy-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.vfy--checking .vfy__mark{animation:none}}.vfy__state{font-size:.96rem;font-weight:600}.vfy--match .vfy__state{color:var(--pass)}.vfy--differs .vfy__state{color:var(--fail)}.vfy__files{color:var(--text-soft);margin-left:auto;font-size:.82rem}.vfy__hash{color:var(--text);word-break:break-all;margin:0 0 .9rem;font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,monospace;font-size:clamp(.72rem,1.6vw,.84rem);line-height:1.5}.vfy__hash-rest{color:var(--text-soft)}.vfy__note{max-width:62ch;color:var(--text-soft);margin:0 0 .7rem;font-size:.88rem;line-height:1.58}.vfy__cmd{border:1px solid var(--rule);color:var(--text-soft);white-space:nowrap;background:#00000038;border-radius:8px;padding:.6rem .7rem;font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,monospace;font-size:clamp(.7rem,1.5vw,.8rem);display:block;overflow-x:auto}.stackrow-label{text-transform:none;letter-spacing:0;color:var(--text-soft);font-size:.9rem}.seccard{border-radius:12px}.owasp-row{border-radius:8px}.stackrow{border-radius:10px}.lp{--lp-ink:#0c1322;--lp-ink-2:#131d33;--lp-line:#24314f;--lp-paper:#eeeae0;--lp-soft:#9aa5bc;--lp-teal:#3cd6be;--lp-amber:#f2b64a;--lp-coral:#f07466;--lp-display:"Unbounded Variable", "Onest Variable", system-ui, sans-serif;--lp-body:"Onest Variable", system-ui, -apple-system, sans-serif;background:radial-gradient(1200px 600px at 85% -10%, #3cd6be1a, transparent 60%), radial-gradient(900px 500px at -10% 30%, #f2b64a0f, transparent 60%), var(--lp-ink);color:var(--lp-paper);font-family:var(--lp-body);min-height:100vh;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}.lp h1,.lp h2,.lp h3{font-family:var(--lp-display);color:var(--lp-paper);margin:0}.lp p{margin:0}.lp a{color:inherit}.lp-wrap{width:min(1160px,100% - 32px);margin-inline:auto}.lp-sub{color:var(--lp-soft);max-width:60ch;margin-top:.9rem}.lp :focus-visible{outline:2px solid var(--lp-teal);outline-offset:3px;border-radius:6px}.lp-btn{font:600 .95rem/1 var(--lp-body);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.6rem 1.1rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.lp-btn--solid{background:var(--lp-teal);color:#062320}.lp-btn--solid:hover{background:#5fe3ce}.lp-btn--ghost{border-color:var(--lp-line);color:var(--lp-paper);background:0 0}.lp-btn--ghost:hover{border-color:var(--lp-soft)}.lp-btn--lg{padding:.95rem 1.5rem;font-size:1rem}.lp-btn:disabled{opacity:.6;cursor:default}.lp-btn svg{width:20px;height:20px}.lp-nav{justify-content:space-between;align-items:center;padding:22px 0;display:flex}.lp-logo{font:600 1.05rem var(--lp-display);align-items:center;gap:.55rem;text-decoration:none;display:flex}.lp-logo svg{width:24px;height:24px;color:var(--lp-teal)}.lp-nav__act{gap:.6rem;display:flex}.lp-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:56px;padding:56px 0 72px;display:grid}.lp-hero h1{letter-spacing:-.02em;max-width:13ch;font-size:clamp(2rem,5.6vw,4.6rem);font-weight:700;line-height:1.02}.lp-lead{color:#c9ccd6;max-width:46ch;margin-top:1.5rem;font-size:1.2rem}.lp-hero__cta{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.lp-facts{color:var(--lp-soft);margin-top:2rem;font-size:.98rem}.lp-facts b{color:var(--lp-paper);font-family:var(--lp-display);font-weight:600}.lp-hero__seal{background:linear-gradient(160deg, var(--lp-ink-2), #0f182b);border:1px solid var(--lp-line);border-radius:28px;padding:26px;box-shadow:0 30px 80px -30px #3cd6be40}.lp-fp{border:2px solid var(--lp-line);background:#0a1120;border-radius:18px;grid-template-columns:repeat(8,1fr);gap:6px;margin-bottom:18px;padding:14px;transition:border-color .4s;display:grid}.lp-fp--match{border-color:var(--lp-teal)}.lp-fp--differs{border-color:var(--lp-coral)}.lp-fp--unknown{border-color:var(--lp-amber)}.lp-fp__cell{aspect-ratio:1;background:#16213a;border-radius:5px;animation:.5s cubic-bezier(.2,.8,.2,1) both lp-cell}@keyframes lp-cell{0%{opacity:0;transform:scale(.4)}}.lp .vfy{background:0 0;border:0;max-width:none;margin:0;padding:0}.lp .vfy__top{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lp .vfy__state{font:600 1.05rem var(--lp-display)}.lp .vfy--match .vfy__state{color:var(--lp-teal)}.lp .vfy--differs .vfy__state{color:var(--lp-coral)}.lp .vfy__files{color:var(--lp-soft);margin-left:auto;font-size:.9rem}.lp .vfy__hash{color:var(--lp-soft);word-break:break-all;margin-top:.7rem;font:.78rem/1.5 ui-monospace,Consolas,monospace}.lp .vfy__note{color:var(--lp-soft);margin-top:.8rem;font-size:.88rem}.lp .vfy__cmd{border:1px solid var(--lp-line);color:var(--lp-paper);white-space:nowrap;background:#0a1120;border-radius:10px;margin-top:.7rem;padding:.6rem .8rem;font-size:.8rem;display:block;overflow-x:auto}.lp-marquee{border-block:1px solid var(--lp-line);padding:16px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.lp-marquee__track{gap:2.4rem;width:max-content;animation:50s linear infinite lp-slide;display:flex}.lp-marquee:hover .lp-marquee__track{animation-play-state:paused}@keyframes lp-slide{to{transform:translate(-50%)}}.lp-chain{font:500 1rem var(--lp-display);color:#c9ccd6;white-space:nowrap;align-items:center;gap:.55rem;display:inline-flex}.lp-chain__dot{border-radius:50%;width:10px;height:10px}.lp-route{padding:96px 0 40px}.lp-route h2,.lp-sec h2,.lp-owasp h2,.lp-auth h2{letter-spacing:-.01em;font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:600;line-height:1.1}.lp-diagram{width:100%;height:auto;margin:40px 0 48px;display:block}.lp-d__src{fill:#2b3858}.lp-d__src--win{fill:var(--lp-teal)}.lp-d__ln{fill:none;stroke:#24314f;stroke-width:1.5px}.lp-d__ln--win{stroke:var(--lp-teal);stroke-width:3px}.lp-d__out{stroke-dasharray:8 10;animation:1.6s linear infinite lp-flow}@keyframes lp-flow{to{stroke-dashoffset:-36px}}.lp-d__hub{fill:var(--lp-ink-2);stroke:var(--lp-teal);stroke-width:3px}.lp-d__dst{fill:var(--lp-amber)}.lp-d__t{fill:var(--lp-soft);font:500 13px var(--lp-body)}.lp-points{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px 40px;margin:0;padding:0;list-style:none;display:grid}.lp-points li{border-top:2px solid var(--lp-line);padding-top:18px}.lp-points h3{font-size:1.05rem;font-weight:600;line-height:1.3}.lp-points p{color:var(--lp-soft);margin-top:.5rem;font-size:.98rem}.lp-sec{padding:96px 0 40px}.lp-bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(150px,auto);gap:14px;margin-top:40px;display:grid}.lp-cell{background:var(--lp-ink-2);border:1px solid var(--lp-line);border-radius:20px;padding:22px}.lp-cell h3{font-size:1rem;font-weight:600}.lp-cell p{color:var(--lp-soft);margin-top:.5rem;font-size:.94rem}.lp-cell--0{background:linear-gradient(150deg, #123a3a, var(--lp-ink-2) 70%);border-color:#1e5451;flex-direction:column;grid-area:span 2/span 2;justify-content:flex-end;display:flex}.lp-cell--0 h3{font-size:1.6rem}.lp-cell--0 p{color:#c9d6d4;max-width:38ch;font-size:1.05rem}.lp-cell--1,.lp-cell--4{grid-column:span 2}.lp-owasp{grid-template-columns:320px 1fr;align-items:start;gap:64px;padding:96px 0 40px;display:grid}.lp-ring{position:sticky;top:32px}.lp-ring svg{width:100%;height:auto;display:block}.lp-ring__seg{stroke-width:22px;stroke-linecap:butt}.lp-ring__seg--done{stroke:var(--lp-teal)}.lp-ring__seg--part{stroke:var(--lp-amber)}.lp-ring__mid{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.lp-ring__mid b{font:700 2.6rem var(--lp-display)}.lp-ring__mid span{color:var(--lp-soft);font-size:.9rem}.lp-owasp ol{margin:32px 0 0;padding:0;list-style:none}.lp-ow{border-bottom:1px solid var(--lp-line);grid-template-columns:56px 1fr;gap:16px;padding:16px 0;display:grid}.lp-ow__code{font:600 .95rem var(--lp-display);color:var(--lp-teal);padding-top:2px}.lp-ow--part .lp-ow__code{color:var(--lp-amber)}.lp-ow h3{font-size:1rem;font-weight:600}.lp-ow h3 em{font:500 .8rem var(--lp-body);color:var(--lp-teal);vertical-align:2px;background:#3cd6be1f;border-radius:999px;margin-left:.5rem;padding:2px 9px;font-style:normal}.lp-ow--part h3 em{color:var(--lp-amber);background:#f2b64a24}.lp-ow p{color:var(--lp-soft);margin-top:.3rem;font-size:.95rem}.lp-stack{gap:22px;padding:72px 0 24px;display:grid}.lp-stack__row{grid-template-columns:120px 1fr;align-items:baseline;gap:16px;display:grid}.lp-stack__row h3{color:var(--lp-soft);font-size:.95rem;font-weight:600}.lp-chip{border:1px solid var(--lp-line);border-radius:999px;margin:0 8px 8px 0;padding:6px 13px;font-size:.9rem;display:inline-block}.lp-auth{text-align:center;background:radial-gradient(600px 300px at 50% 0%, #3cd6be29, transparent 70%), var(--lp-ink-2);border:1px solid var(--lp-line);border-radius:32px;margin-top:72px;margin-bottom:40px;padding:56px}.lp-auth .lp-sub{margin-inline:auto}.lp-auth__btns{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2rem;display:flex}.lp-btn--oauth{min-width:260px}.lp-btn--oauth.lp-btn--solid{background:var(--lp-paper);color:#111827}.lp-btn--oauth.lp-btn--solid:hover{background:#fff}.lp-err{color:var(--lp-coral);margin-top:1rem}.lp-note{color:var(--lp-soft);margin-top:1.4rem;font-size:.88rem}.lp-note a{color:var(--lp-paper)}.lp-foot{color:var(--lp-soft);border-top:1px solid var(--lp-line);padding:32px 0 48px;font-size:.9rem}@media (width<=900px){.lp-hero{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:28px}.lp-hero__seal{padding:18px}.lp-owasp{grid-template-columns:1fr;gap:32px}.lp-ring{max-width:260px;margin-inline:auto;position:static}.lp-bento{grid-template-columns:1fr 1fr}.lp-cell--0{grid-row:auto}}@media (width<=560px){.lp-nav__act .lp-btn--ghost{display:none}.lp-nav__act .lp-btn{padding:.55rem .9rem;font-size:.88rem}.lp-hero__cta .lp-btn{flex:100%}.lp-bento{grid-template-columns:1fr}.lp-cell--0,.lp-cell--1,.lp-cell--4{grid-column:auto}.lp-stack__row{grid-template-columns:1fr;gap:6px}.lp-auth{padding:36px 20px}.lp-btn--oauth{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.lp-fp__cell,.lp-d__out,.lp-marquee__track{animation:none}.lp-marquee{overflow-x:auto}}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.tp{flex-direction:column;gap:5px;min-width:150px;display:flex;position:relative}.tp__label{text-transform:uppercase;letter-spacing:.06em;opacity:.55;font-size:12px}.tp__btn{color:inherit;cursor:pointer;text-align:left;background:#000;border:1px solid #ffffff29;border-radius:9px;align-items:center;gap:8px;padding:9px 11px;font-size:14px;display:flex}.tp__btn:hover{border-color:#ffffff57}.tp__sym{flex:1;font-weight:600}.tp__caret{opacity:.5;font-size:11px}.tp__hint{opacity:.6;font-size:12px}.tp__logo{border-radius:50%;flex-shrink:0;width:18px;height:18px}.tp__logo--blank{background:#ffffff1a}.tp__pop{z-index:30;background:#0b0b0d;border:1px solid #ffffff29;border-radius:11px;width:min(340px,78vw);margin-top:6px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 16px 44px #0009}.tp__search{box-sizing:border-box;width:100%;color:inherit;background:0 0;border:none;border-bottom:1px solid #ffffff1a;outline:none;padding:11px 12px;font-size:13.5px}.tp__list{max-height:310px;overflow-y:auto}.tp__item{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #ffffff0a;align-items:center;gap:9px;padding:9px 12px;font-size:13px;display:flex}.tp__item:hover{background:#ffffff0f}.tp__item--unverified{opacity:.62}.tp__isym{flex-shrink:0;font-weight:600}.tp__iname{opacity:.55;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.tp__ibal{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.tp__iusd{opacity:.55;font-style:normal}.tp__warn{text-align:center;color:#ffcf9e;background:#ff9f4333;border-radius:50%;flex-shrink:0;width:15px;height:15px;font-size:10px;line-height:15px}.tp__empty{opacity:.55;padding:14px 12px;font-size:12.5px}.tp__group{text-transform:uppercase;letter-spacing:.06em;opacity:.5;background:#0b0b0d;border-bottom:1px solid #ffffff12;padding:7px 12px;font-size:10.5px;position:sticky;top:0}.tp__src{text-align:center;color:#6ee7b7;background:#6ee7b729;border-radius:4px;flex-shrink:0;min-width:15px;height:15px;font-size:9.5px;font-weight:600;line-height:15px}.tp__list{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent}.tp__list::-webkit-scrollbar{width:8px}.tp__list::-webkit-scrollbar-track{background:0 0}.tp__list::-webkit-scrollbar-thumb{background:#ffffff29 padding-box content-box;border:2px solid #0000;border-radius:8px}.tp__list::-webkit-scrollbar-thumb:hover{background:#ffffff47 padding-box content-box}.tp__item{padding:11px 13px;font-size:13.5px}.tp__pop{width:min(380px,84vw)}.tp__list{max-height:360px}.ra{background:#ffffff04;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.ra__h{margin:0;font-size:16px;font-weight:650}.ra__lead{opacity:.62;margin:0;font-size:12px;line-height:1.5}.ra__item{border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex}.ra__head{align-items:center;gap:8px;display:flex}.ra__logo{border-radius:50%;flex-shrink:0;width:20px;height:20px}.ra__logo--blank{background:#ffffff1a}.ra__title{flex-direction:column;min-width:0;display:flex}.ra__title b{font-size:13.5px}.ra__sub{opacity:.5;font-size:11px}.ra__addr{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#00000038;border:1px solid #ffffff1a;border-radius:9px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.ra__addr:hover{border-color:#ffffff3d}.ra__addr code{word-break:break-all;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.45}.ra__copy{opacity:.6;white-space:nowrap;flex-shrink:0;font-size:11px}.ra__missing{opacity:.5;font-size:11.5px;line-height:1.45}.ra__note{opacity:.5;font-size:11px;line-height:1.45}.ra__warn{color:#d9a441;border-left:2px solid #d9a44180;padding-left:8px;font-size:11.5px;line-height:1.45}.ra{gap:clamp(8px,.8vw,10px);padding:clamp(12px,1.1vw,16px)}.ra__item{padding:clamp(8px,.8vw,10px)}.ra__addr code{font-size:clamp(10.5px,.72vw,12px)}@media (hover:none){.ra__addr{padding:11px 12px}.ra__copy{font-size:12px}}.wh{--bg:#0a0a0f;--panel:#111118;--panel-2:#191921;--line:#ffffff0f;--line-2:#ffffff1c;--txt:#e8eaee;--dim:#e8eaee7a;--accent:#6d86c9;--accent-soft:#6d86c924;--up:#74b98a;--down:#d98078;color:var(--txt);background:0 0;min-height:calc(100vh - 70px);display:flex}.wh__side{border-right:1px solid var(--line);flex-direction:column;flex:none;gap:5px;width:244px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.wh__brand{letter-spacing:-.2px;align-items:center;gap:9px;padding:4px 10px 18px;font-size:16px;font-weight:600;display:flex}.wh__brand-dot{background:linear-gradient(140deg, var(--accent), #3f4d75);border-radius:7px;flex:none;width:22px;height:22px}.wh__nav-item{cursor:pointer;width:100%;color:var(--dim);text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:13px;padding:13px 14px;font-size:15px;display:flex}.wh__nav-item:hover{background:var(--panel);color:var(--txt)}.wh__nav-item--on{background:var(--accent-soft);color:var(--txt)}.wh__nav-ico{text-align:center;opacity:.85;width:20px;font-size:17px}.wh__side-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:14px}.wh__main{flex:1;width:100%;min-width:0;max-width:1760px;padding-block:clamp(14px,1.8vw,24px) 60px;padding-inline:clamp(12px,2.2vw,32px)}.wh__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.wh__h1{letter-spacing:-.4px;margin:0;font-size:24px;font-weight:600}.wh__head-sub{color:var(--dim);margin-top:3px;font-size:12.5px}.wh__balance{letter-spacing:-1px;margin:22px 0 2px;font-size:34px;font-weight:600}.wh__balance-sub{color:var(--dim);font-size:12.5px}.wh__actions{flex-wrap:wrap;gap:8px;margin:20px 0 4px;display:flex}.wh__act{cursor:pointer;background:var(--panel);border:1px solid var(--line-2);color:var(--txt);border-radius:10px;align-items:center;gap:8px;padding:9px 15px;font-size:13.5px;display:flex}.wh__act:hover{background:var(--panel-2)}.wh__act--primary{background:var(--accent);color:#0d1018;border-color:#0000;font-weight:600}.wh__act--primary:hover{filter:brightness(1.07)}.wh__act:disabled{opacity:.4;cursor:default}.wh__card{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-top:20px;overflow:hidden}.wh__card--pop{overflow:visible}.wh__card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.wh__card-title{font-size:14px;font-weight:500}.wh__table{border-collapse:collapse;width:100%;font-size:13.5px}.wh__table th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line);padding:10px 16px;font-size:11.5px;font-weight:400}.wh__table td{border-bottom:1px solid var(--line);padding:13px 16px}.wh__table tr:last-child td{border-bottom:0}.wh__table tr:hover td{background:#ffffff04}.wh__num{text-align:left;white-space:nowrap}.wh__up{color:var(--up)}.wh__down{color:var(--down)}.wh__coin{align-items:center;gap:11px;min-width:0;display:flex}.wh__coin-ico{background:var(--panel-2);width:32px;height:32px;color:var(--dim);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid;overflow:hidden}.wh__coin-ico img{object-fit:cover;width:100%;height:100%}.wh__coin-name{font-weight:500}.wh__coin-sub{color:var(--dim);font-size:11.5px}.wh__pill{background:var(--panel-2);color:var(--dim);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;display:inline-flex}.wh__pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.wh__pill--ok{color:var(--up)}.wh__pill--wait{color:#d9b878}.wh__pill--bad{color:var(--down)}.wh__panel{padding:16px}.wh__panel h4{margin:0 0 6px;font-size:14px;font-weight:500}.wh__addr{word-break:break-all;background:var(--panel-2);border-radius:9px;margin:8px 0 6px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.6;display:block}.wh__warn{color:#e6c79a;background:#d9b87817;border:1px solid #d9b87838;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:12.5px;line-height:1.55}.wh__muted{color:var(--dim);font-size:13px;line-height:1.6}.wh__empty{padding:26px 16px}.wh__btn{border:1px solid var(--line-2);cursor:pointer;background:var(--panel-2);color:var(--txt);border-radius:9px;padding:7px 13px;font-size:12.5px}.wh__btn:hover{border-color:var(--accent)}@media (width<=820px){.wh{display:block}.wh__side{z-index:30;border-right:0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:auto;height:auto;padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:#0a0a0ff2;flex-direction:row;justify-content:space-around;gap:0;position:fixed;inset:auto 0 0}.wh__brand,.wh__side-foot{display:none}.wh__nav-item{flex-direction:column;gap:4px;padding:6px 8px;font-size:11.5px}.wh__nav-ico{font-size:19px}.wh__main{padding:18px 14px 96px}.wh__balance{font-size:30px}.wh__table th:nth-child(2),.wh__table td:nth-child(2){display:none}}.wh__copy{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;border-bottom:1px dashed #ffffff38;padding:0}.wh__copy:hover{color:var(--accent);border-bottom-color:var(--accent)}.wh__nets{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.wh__net{cursor:pointer;color:var(--dim);border:1px solid var(--line-2);background:0 0;border-radius:999px;padding:7px 13px;font-size:13px}.wh__net:hover{color:var(--txt);border-color:var(--accent)}.wh__net--on{background:var(--accent-soft);color:var(--txt);cursor:default;border-color:#0000}.wh__pair{grid-template-columns:1fr 1fr;gap:14px;margin-top:10px;display:grid}.wh__pair-side{min-width:0}.wh__pair-lbl{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#8d93a1);margin-bottom:6px;font-size:11.5px;display:block}@media (width<=760px){.wh__pair{grid-template-columns:1fr}}.wh__warn-inline{color:#e0b681;font-size:12px}.wh__link{color:var(--accent,#6d86c9);font-size:15px;text-decoration:none}.wh__link:hover{text-decoration:underline}.wh__rowbtn{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;padding:4px 10px;font-size:12px}.wh__rowbtn:hover:not(:disabled){background:#ffffff1f}.wh__rowbtn:disabled{opacity:.35;cursor:not-allowed}.wh__net-evm{color:#9cc0ff;letter-spacing:.04em;vertical-align:1px;background:#78aaff24;border-radius:4px;margin-right:6px;padding:1px 5px;font-size:10px;display:inline-block}.wh__addrrow td{background:#ffffff06;padding-top:10px;padding-bottom:14px}.wh__addrbox{flex-direction:column;gap:6px;display:flex}.wh__addrlabel{color:var(--up,#7ee2a8);font-size:11px}.wh__netbtn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #ffffff38;padding:0}.wh__netbtn:hover{color:#fff}.wh__netbox{flex-direction:column;gap:6px;display:flex}.wh__netrow{grid-template-columns:64px 1fr auto auto;align-items:baseline;gap:12px;padding:3px 0;display:grid}.wh__netsym{font-weight:500}.wh__coin-wrap{flex:none;display:inline-block;position:relative}.wh__coin-net{border:2px solid var(--panel,#12141a);background:var(--panel,#12141a);border-radius:50%;width:15px;height:15px;position:absolute;bottom:-2px;right:-2px}.wh__conf{opacity:.6;white-space:nowrap;font-size:12.5px}.wh__swapcols{grid-template-columns:minmax(340px,1fr) minmax(270px,340px) minmax(270px,340px);align-items:start;gap:16px;display:grid}@media (width<=1400px){.wh__swapcols{grid-template-columns:minmax(0,1fr) minmax(270px,340px)}}@media (width<=980px){.wh__swapcols{grid-template-columns:minmax(0,1fr)}}.wh__assetcols{grid-template-columns:minmax(0,1fr) minmax(290px,380px);align-items:start;gap:clamp(10px,1.2vw,18px);display:grid}@media (width<=1080px){.wh__assetcols{grid-template-columns:minmax(0,1fr)}}.wh__stnet{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:9px;align-items:center;gap:10px;margin-top:4px;padding:8px 10px;display:flex}.wh__stnet:hover:not(:disabled){background:#ffffff0d}.wh__stnet:disabled{opacity:.4;cursor:default}.wh__stnet b{min-width:96px;font-size:13px}.wh__stnet code{opacity:.7;font-size:12px}@media (width<=560px){.wh__netrow{grid-template-columns:minmax(0,1fr) auto}}.wh__addr--btn{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;padding:0;display:block}.wh__addr--btn:hover{color:#e8eaee}.wh__load{vertical-align:middle;background:linear-gradient(90deg,#ffffff0f 0%,#ffffff2e 50%,#ffffff0f 100%) 0 0/200% 100%;border-radius:4px;width:3.2em;height:.8em;animation:1.2s ease-in-out infinite wh-shimmer;display:inline-block}@keyframes wh-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.wh__load{opacity:.6;animation:none}}.wh__badge{color:#fff;text-align:center;background:#e5484d;border-radius:9px;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.dt-stack{z-index:2147483000;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);max-height:calc(100vh - 40px);display:flex;position:fixed;top:20px;right:20px}.dt-more{pointer-events:auto;color:#c9d4f2;font:inherit;cursor:pointer;background:#16171f;border:1px solid #6d86c966;border-radius:12px;align-self:stretch;padding:10px 14px;font-size:13px;font-weight:550;animation:.25s ease-out both dt-fade;box-shadow:0 12px 28px -12px #000000b3}.dt-more:hover{background:#1c1e29;border-color:#6d86c9b3}.dt-more:focus-visible{outline-offset:2px;outline:2px solid #6d86c9}.dt{pointer-events:auto;color:#e8eaee;background:linear-gradient(#16171f,#111118);border:1px solid #74b98a59;border-radius:16px;grid-template-columns:44px 1fr auto;align-items:start;gap:14px;width:100%;padding:16px 12px 18px 16px;font-family:inherit;font-size:14px;line-height:1.35;animation:.5s cubic-bezier(.16,1,.3,1) both dt-in;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px -12px #000000b3,0 2px 6px #0006}.dt__coin{color:#0a0a0f;background:#74b98a;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:relative}.dt__coin:after{content:"";border-radius:50%;animation:1.8s cubic-bezier(.16,1,.3,1) .35s 4 dt-ring;position:absolute;inset:-2px}.dt__amt{letter-spacing:-.02em;color:#9fdcb1;font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.dt__amt span{color:#e8eaee;letter-spacing:0;font-size:15px;font-weight:600}.dt__meta{color:#e8eaee9e;margin-top:2px;font-size:12.5px}.dt__open{color:#c9d4f2;font:inherit;cursor:pointer;background:#6d86c924;border:1px solid #6d86c973;border-radius:9px;margin-top:10px;padding:7px 12px;font-size:13px;font-weight:550;transition:background .15s,border-color .15s}.dt__open:hover{background:#6d86c942;border-color:#6d86c9b3}.dt__open:focus-visible,.dt__x:focus-visible{outline-offset:2px;outline:2px solid #6d86c9}.dt__x{color:#e8eaee8c;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.dt__x:hover{color:#e8eaee;background:#ffffff12}.dt__time{transform-origin:0;background:#74b98a;height:3px;animation:60s linear forwards dt-time;position:absolute;bottom:0;left:0;right:0}.dt:hover .dt__time{animation-play-state:paused}@keyframes dt-in{0%{opacity:0;filter:blur(6px);transform:translateY(-14px)scale(.97)}}@keyframes dt-ring{0%{box-shadow:0 0 #74b98a99}to{box-shadow:0 0 0 14px #74b98a00}}@keyframes dt-time{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.dt{animation:.2s ease-out both dt-fade}}@keyframes dt-fade{0%{opacity:0}}
