:root{--gr-bg:hsl(var(--background));--gr-panel:hsl(var(--card));--gr-panel-2:hsl(var(--surface-2));--gr-hover:hsl(var(--surface-3));--gr-line:hsl(var(--border));--gr-line-2:hsl(var(--border-strong));--gr-ink:hsl(var(--foreground));--gr-ink-2:hsl(var(--foreground-2));--gr-muted:hsl(var(--muted-foreground));--gr-faint:hsl(var(--subtle-foreground));--gr-red:rgb(var(--risk-red));--gr-amber:rgb(var(--risk-orange));--gr-green:rgb(var(--risk-green));--gr-none:hsl(var(--none));--gr-green-ink:rgb(var(--risk-green-ink));--gr-red-ink:rgb(var(--risk-red-ink));--gr-mono:"IBM Plex Mono",ui-monospace,monospace;--gr-ease:cubic-bezier(0.16,1,0.3,1)}.gr-tone-red{--tone:var(--gr-red);--tone-ink:rgb(var(--risk-red-ink))}.gr-tone-amber{--tone:var(--gr-amber);--tone-ink:rgb(var(--risk-orange-ink))}.gr-tone-green{--tone:var(--gr-green);--tone-ink:rgb(var(--risk-green-ink))}.gr-tone-none{--tone:var(--gr-none);--tone-ink:var(--gr-ink)}.theme-switching *,.theme-switching :after,.theme-switching :before{transition:none!important}.gr-wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.gr-mono{font-family:var(--gr-mono)}.gr-muted{color:var(--gr-muted)}kbd{gap:2px;min-width:22px;height:22px;padding:0 6px;font:500 11.5px/1 var(--gr-mono);color:var(--gr-ink-2);background:var(--gr-panel-2);border:solid var(--gr-line-2);border-width:1px 1px 2px;border-radius:6px}.gr-btn,kbd{display:inline-flex;align-items:center;justify-content:center}.gr-btn{gap:8px;height:40px;padding:0 16px;border-radius:9px;border:1px solid transparent;font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}.gr-btn:disabled{opacity:.6;cursor:wait}.gr-btn-primary{background:var(--gr-ink);color:hsl(var(--background));border-color:var(--gr-ink)}.gr-btn-primary:hover{background:hsl(var(--primary-ink));border-color:hsl(var(--primary-ink))}.gr-btn-outline{background:var(--gr-panel);color:var(--gr-ink);border-color:var(--gr-line-2)}.gr-btn-outline:hover{background:var(--gr-hover)}.gr-btn-block{width:100%;height:48px;font-size:15px}.gr-icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--gr-muted);border:1px solid var(--gr-line-2);background:var(--gr-panel);transition:color .15s,background-color .15s}.gr-icon-button:hover{color:var(--gr-ink);background:var(--gr-hover)}.gr-link{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--gr-ink);text-decoration:underline;text-decoration-color:hsl(var(--foreground)/.28);text-underline-offset:4px;transition:text-decoration-color .15s}.gr-link:hover{text-decoration-color:var(--gr-ink)}.gr-link svg{transition:transform .2s var(--gr-ease)}.gr-link:hover svg{transform:translateX(3px)}.gr-link-inline{color:var(--gr-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:hsl(var(--foreground)/.3)}.gr-link-inline:hover{text-decoration-color:var(--gr-ink)}@keyframes gr-spin{to{transform:rotate(1turn)}}.gr-spin{animation:gr-spin .9s linear infinite}.gr-skip-link{position:fixed;top:-80px;left:16px;z-index:100;background:var(--gr-ink);color:hsl(var(--background));padding:10px 16px;border-radius:8px}.gr-skip-link:focus{top:12px}.gr-header{position:sticky;top:0;z-index:45;height:60px;background:hsl(var(--background)/.86);border-bottom:1px solid var(--gr-line)}@supports (backdrop-filter:blur(12px)){.gr-header{backdrop-filter:blur(12px) saturate(140%)}}.gr-header-inner{width:min(1440px,calc(100% - 48px));height:100%;margin-inline:auto;display:flex;align-items:center;gap:36px}.gr-header-brand{display:inline-flex;align-items:center;min-height:44px}.gr-wordmark{font-size:17px;font-weight:600;letter-spacing:-.015em}.gr-header-links{display:flex;gap:28px;font-size:14px}.gr-header-links a{color:var(--gr-muted);min-height:44px;display:inline-flex;align-items:center;transition:color .15s}.gr-header-links a:hover{color:var(--gr-ink)}.gr-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.gr-nav-search{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 8px 0 12px;font-size:14px;color:var(--gr-muted);border:1px solid var(--gr-line-2);border-radius:9px;background:var(--gr-panel);transition:color .15s,border-color .15s}.gr-nav-search:hover{color:var(--gr-ink);border-color:hsl(var(--focus-border))}.gr-theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:9px;flex-shrink:0;color:var(--gr-muted);border:1px solid var(--gr-line-2);background:var(--gr-panel);transition:color .15s,border-color .15s}.gr-theme-toggle:hover{color:var(--gr-ink);border-color:hsl(var(--focus-border))}.dark .gr-theme-toggle .gr-theme-sun,.gr-theme-toggle .gr-theme-moon{display:none}.dark .gr-theme-toggle .gr-theme-moon{display:block}.gr-theme-switch{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--gr-line-2);border-radius:10px;background:var(--gr-panel)}.gr-theme-switch button{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:7px;font-size:13.5px;color:var(--gr-muted);transition:color .15s,background-color .15s}.gr-theme-switch button:hover{color:var(--gr-ink)}.gr-theme-switch button.is-on{background:var(--gr-hover);color:var(--gr-ink)}.gr-mobile-toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;color:var(--gr-ink);border-radius:9px}.gr-mobile-sheet{position:fixed;inset:0;z-index:90}.gr-mobile-backdrop{position:absolute;inset:0;background:hsl(var(--backdrop))}.gr-mobile-panel{position:absolute;top:0;left:0;right:0;max-height:100dvh;overflow:auto;background:var(--gr-panel);border-bottom:1px solid var(--gr-line-2);padding:14px 20px 24px}.gr-mobile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.gr-mobile-panel nav{display:flex;flex-direction:column;margin-bottom:20px}.gr-mobile-panel nav a{padding:15px 0;border-bottom:1px solid var(--gr-line);font-size:17px;color:var(--gr-ink)}.gr-footer{margin-top:auto;border-top:1px solid var(--gr-line);background:var(--gr-bg)}.gr-footer-inner{width:min(1200px,calc(100% - 64px));margin-inline:auto;padding:56px 0 32px}.gr-footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.gr-footer-about p{margin-top:14px;max-width:340px;font-size:13.5px;line-height:1.6;color:var(--gr-muted)}.gr-footer-col h2{font-size:13.5px;font-weight:500;color:var(--gr-ink);margin-bottom:14px;letter-spacing:0}.gr-footer-col ul{display:grid;gap:10px}.gr-footer-col a,.gr-footer-linkbtn{font-size:14px;color:var(--gr-muted);transition:color .15s;text-align:left}.gr-footer-col a:hover,.gr-footer-linkbtn:hover{color:var(--gr-ink)}.gr-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:48px;padding-top:20px;border-top:1px solid var(--gr-line);font-size:13px;color:var(--gr-faint);line-height:1.6}.gr-footer-bottom>span{order:-1}.gr-mobile-theme{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:15px;color:var(--gr-muted)}.vw-cookie-banner{position:fixed;left:20px;bottom:20px;z-index:60;width:min(420px,calc(100% - 40px));background:var(--gr-panel);border:1px solid var(--gr-line-2);border-radius:14px;padding:18px;box-shadow:var(--shadow-lg)}.vw-cookie-inner{display:block}.vw-cookie-inner p{font-size:13.5px;line-height:1.55;color:var(--gr-muted)}.vw-cookie-inner p strong{display:block;color:var(--gr-ink);font-size:14.5px;font-weight:500;margin-bottom:4px}.vw-cookie-inner p a{color:var(--gr-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:hsl(var(--foreground)/.3)}.vw-cookie-actions{display:flex;gap:8px;margin-top:14px}.vw-cookie-actions button{height:36px;padding:0 12px;border-radius:8px;font-size:13.5px;font-weight:500;border:1px solid var(--gr-line-2);background:var(--gr-panel-2);color:var(--gr-ink);transition:background-color .15s}.vw-cookie-actions button:hover{background:var(--gr-hover)}.vw-cookie-actions button:nth-child(2){background:var(--gr-ink);color:hsl(var(--background));border-color:var(--gr-ink)}.vw-cookie-actions button:last-child{margin-left:auto;border-color:transparent;background:transparent;color:var(--gr-muted);text-decoration:underline;text-underline-offset:3px}.gr-search{position:relative;text-align:left}.gr-search-inline{width:min(780px,100%);margin-inline:auto;z-index:20}.gr-search-box{position:relative;height:64px;display:flex;align-items:center;gap:12px;padding:0 10px 0 18px;background:var(--gr-panel);border:1px solid var(--gr-line-2);border-radius:14px;box-shadow:var(--shadow-md);transition:border-color .25s var(--gr-ease),box-shadow .25s var(--gr-ease)}.gr-search-dialog .gr-search-box{border:0;border-radius:14px 14px 0 0;box-shadow:none;border-bottom:1px solid var(--gr-line)}.gr-search-box:focus-within{border-color:hsl(var(--focus-border));box-shadow:0 0 0 4px hsl(var(--foreground)/.05),var(--shadow-md)}.gr-search[data-state=ready] .gr-search-box,.gr-search[data-state=valid] .gr-search-box{border-color:rgb(var(--risk-green)/.6);box-shadow:0 0 0 4px rgb(var(--risk-green)/.1),var(--shadow-md)}.gr-search[data-state=invalid] .gr-search-box{border-color:rgb(var(--risk-red)/.55);box-shadow:0 0 0 4px rgb(var(--risk-red)/.08),var(--shadow-md)}.gr-search-dialog[data-state] .gr-search-box{box-shadow:none}.gr-lead-wrap{position:relative;width:22px;height:22px;flex-shrink:0;color:var(--gr-muted)}.gr-search[data-state=checking] .gr-lead-wrap,.gr-search[data-state=ready] .gr-lead-wrap,.gr-search[data-state=valid] .gr-lead-wrap{color:var(--gr-ink)}.gr-lead-icon{position:absolute;inset:0;display:grid;place-items:center}.gr-search-box input{flex:1;min-width:0;height:100%;background:transparent;border:0;outline:none;font:500 16px var(--gr-mono);color:var(--gr-ink);letter-spacing:-.01em;caret-color:var(--gr-ink)}.gr-search-box input::-moz-placeholder{font-family:IBM Plex Sans,sans-serif;font-weight:400;color:var(--gr-faint);letter-spacing:0}.gr-search-box input::placeholder{font-family:IBM Plex Sans,sans-serif;font-weight:400;color:var(--gr-faint);letter-spacing:0}.gr-search-box input:-moz-read-only{color:var(--gr-muted)}.gr-search-box input:read-only{color:var(--gr-muted)}.gr-search-box:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 20%,hsl(var(--foreground)/.07) 45%,transparent 70%);background-size:250% 100%;background-position:120% 0}.gr-search-box.is-pasted:after{animation:gr-sheen .8s var(--gr-ease)}@keyframes gr-sheen{0%{opacity:1;background-position:120% 0}to{opacity:1;background-position:-60% 0}}.gr-search-box.is-shake{animation:gr-shake .42s cubic-bezier(.36,.07,.19,.97);border-color:rgb(var(--risk-red)/.6)}.gr-search-box.is-shake~.gr-search-panel .gr-format-status{color:var(--gr-red-ink)}@keyframes gr-shake{15%{transform:translateX(-6px)}35%{transform:translateX(5px)}55%{transform:translateX(-3px)}75%{transform:translateX(2px)}to{transform:none}}.gr-tag{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;font-size:13px;padding-right:2px}.gr-tag.is-ok{color:var(--gr-green-ink)}.gr-tag.is-muted{color:var(--gr-faint);font-family:var(--gr-mono);font-size:12.5px}.gr-tag.is-bad{color:var(--gr-red-ink)}.gr-go{display:inline-flex;align-items:center;justify-content:center;gap:0;flex-shrink:0;height:42px;width:42px;border-radius:10px;background:var(--gr-panel-2);color:var(--gr-muted);border:1px solid var(--gr-line-2);overflow:hidden;transition:width .32s var(--gr-ease),background-color .2s,color .2s,border-color .2s,gap .32s var(--gr-ease)}.gr-go:hover{color:var(--gr-ink)}.gr-go-label{max-width:0;opacity:0;font-size:15px;font-weight:500;white-space:nowrap;transition:max-width .32s var(--gr-ease),opacity .2s}.gr-go.is-ready{width:104px;gap:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.gr-go.is-ready:hover{background:hsl(var(--primary-ink))}.gr-go.is-ready .gr-go-label{max-width:60px;opacity:1;transition-delay:0s,.08s}.gr-go.is-ready svg{animation:gr-nudge .5s var(--gr-ease) .2s}@keyframes gr-nudge{50%{transform:translateX(3px)}}.gr-cancel{height:36px;padding:0 12px;border-radius:8px;font-size:14px;color:var(--gr-muted);flex-shrink:0;transition:color .15s,background-color .15s}.gr-cancel:hover{color:var(--gr-ink);background:var(--gr-panel-2)}.gr-meter{position:absolute;left:16px;right:16px;bottom:-1px;height:2px;border-radius:2px;overflow:hidden;pointer-events:none}.gr-meter i{display:block;height:100%;background:hsl(var(--foreground)/.35);transform-origin:left;transition:transform .3s var(--gr-ease),background-color .2s}.gr-search[data-state=valid] .gr-meter i{background:rgb(var(--risk-green));animation:gr-meter-done 1.6s ease forwards}.gr-search[data-state=invalid] .gr-meter i{background:rgb(var(--risk-red)/.7)}@keyframes gr-meter-done{0%,55%{opacity:1}to{opacity:0}}@keyframes gr-progress{0%{transform:translateX(-100%)}to{transform:translateX(260%)}}.gr-progress{position:absolute;left:0;bottom:-1px;height:2px;width:40%;background:linear-gradient(90deg,transparent,var(--gr-ink));animation:gr-progress 1.3s var(--gr-ease) infinite}.gr-search[data-state=ready] .gr-progress{background:rgb(var(--risk-green));width:100%;animation:none}.gr-search-panel{background:var(--gr-panel)}.gr-search-panel.is-floating{position:absolute;left:0;right:0;top:calc(100% + 8px);border:1px solid var(--gr-line-2);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;transform-origin:top center}.gr-search-panel.is-attached{border-radius:0 0 14px 14px}.gr-autoh{overflow:hidden;transition:height .3s cubic-bezier(.2,.8,.2,1)}.gr-panel-swap{animation:gr-swap .24s var(--gr-ease) both}@keyframes gr-swap{0%{opacity:0;transform:translateY(4px)}}.gr-palette-error{display:flex;align-items:flex-start;gap:9px;padding:13px 18px;font-size:14px;line-height:1.5;color:var(--gr-red-ink);border-bottom:1px solid var(--gr-line)}.gr-palette-error svg{flex-shrink:0;margin-top:2px}.gr-palette-body{padding:6px 8px 8px;max-height:min(460px,56vh);overflow-y:auto}.gr-palette-group{font-size:12.5px;color:var(--gr-faint);padding:12px 12px 6px}.gr-row{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 12px;border-radius:9px;font-size:14.5px;color:var(--gr-ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .12s,color .12s}.gr-row svg{color:var(--gr-muted);flex-shrink:0}.gr-row[aria-selected=true]{background:var(--gr-hover);color:var(--gr-ink)}.gr-row[aria-selected=true] svg{color:var(--gr-ink)}.gr-row .gr-mono{font-size:14px}.gr-row-end{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gr-faint);white-space:nowrap}.gr-format{padding:14px 16px 12px}.gr-nets{display:flex;flex-wrap:wrap;gap:6px}.gr-net{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;font-size:13px;color:var(--gr-ink-2);border:1px solid var(--gr-line);background:var(--gr-panel);transition:opacity .28s var(--gr-ease),color .2s,background-color .2s,border-color .2s,transform .28s var(--gr-ease)}.gr-net svg{color:var(--gr-muted);transition:color .2s}.gr-net.is-out{opacity:.32}.gr-net.is-maybe{border-color:var(--gr-line-2)}.gr-net.is-maybe,.gr-net.is-maybe svg{color:var(--gr-ink)}.gr-net.is-match{background:rgb(var(--risk-green-soft));border-color:rgb(var(--risk-green)/.45);transform:translateY(-1px)}.gr-net.is-match,.gr-net.is-match svg{color:var(--gr-green-ink)}.gr-net-tick{animation:gr-pop .3s var(--gr-ease)}@keyframes gr-pop{0%{opacity:0;transform:scale(.4)}}.gr-format-status{display:flex;align-items:center;gap:8px;min-height:22px;margin-top:12px;font-size:14px;color:var(--gr-muted)}.gr-format-status svg{flex-shrink:0}.gr-format[data-state=valid] .gr-format-status{color:var(--gr-green-ink)}.gr-format[data-state=invalid] .gr-format-status{color:var(--gr-red-ink)}.gr-format-text{animation:gr-swap .2s var(--gr-ease)}.gr-format-go{margin:10px -8px 0;animation:gr-swap .26s var(--gr-ease) both}.gr-row-primary[aria-selected=true]{background:var(--gr-hover);color:var(--gr-ink);font-weight:500}.gr-format-note{padding:6px 12px 2px;font-size:13px;color:var(--gr-faint);line-height:1.5}.gr-log{padding:12px 18px 14px;font:400 14px/1 var(--gr-mono)}.gr-log-line{display:grid;grid-template-columns:64px 92px 1fr auto;align-items:center;min-height:38px;color:var(--gr-ink-2);animation:gr-swap .26s var(--gr-ease) both}.gr-log-line:nth-child(2){animation-delay:.09s}.gr-log-line:nth-child(3){animation-delay:.18s}.gr-log-line>span:nth-child(3){display:flex;align-items:center;gap:8px}.gr-log-t{color:var(--gr-faint)}.gr-log-k{color:var(--gr-muted)}.gr-log-s{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;text-align:right}.gr-log-line.is-done .gr-log-s{color:var(--gr-green-ink)}.gr-log-line.is-done .gr-log-s svg{animation:gr-pop .3s var(--gr-ease)}.gr-log-line.is-live{color:var(--gr-ink)}.gr-log-line.is-wait{color:var(--gr-faint)}.gr-log-slow{margin-top:8px;font:400 13px var(--gr-mono);color:var(--gr-muted);animation:gr-swap .3s var(--gr-ease) both}@keyframes gr-pulse{50%{box-shadow:0 0 0 5px hsl(var(--foreground)/.06)}}.gr-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gr-ink);box-shadow:0 0 0 3px hsl(var(--foreground)/.12);animation:gr-pulse 1.4s ease-in-out infinite}.gr-dialog{position:fixed;inset:0;z-index:95;display:flex;justify-content:center;align-items:flex-start;padding:14vh 16px 16px}.gr-dialog-backdrop{position:absolute;inset:0;background:hsl(var(--backdrop))}@keyframes gr-dialog-in{0%{opacity:0;transform:translateY(-6px) scale(.99)}}.gr-dialog-panel{position:relative;width:min(680px,100%);border:1px solid var(--gr-line-2);border-radius:15px;background:var(--gr-panel);box-shadow:var(--shadow-lg);animation:gr-dialog-in .18s var(--gr-ease)}.gr-page{flex:1}.gr-h2{font-size:clamp(26px,2.6vw,34px);line-height:1.12;font-weight:500;letter-spacing:-.03em}.gr-body{margin-top:16px;font-size:16px;line-height:1.65;color:var(--gr-muted);max-width:460px}.gr-section{padding:88px 0}.gr-section-line{border-top:1px solid var(--gr-line)}.gr-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}.gr-panel{background:var(--gr-panel);border:1px solid var(--gr-line);border-radius:12px}.gr-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--gr-line)}.gr-panel>header h2{font-size:14px;font-weight:500;color:var(--gr-muted);letter-spacing:0}.gr-panel>header span{font-size:13px;color:var(--gr-faint)}.gr-panel-body{padding:18px 20px 20px}.gr-panel-body p{font-size:15.5px;line-height:1.6;color:var(--gr-ink-2)}.gr-hero{position:relative;padding:112px 0 72px}.gr-hero-grid{position:absolute;inset:0;pointer-events:none}.gr-hero-inner{position:relative;text-align:center}.gr-hero-inner h1{font-size:clamp(38px,4.4vw,56px);line-height:1.04;font-weight:500;letter-spacing:-.035em}.gr-hero-inner>p{margin:16px auto 40px;max-width:560px;font-size:18px;line-height:1.55;color:var(--gr-muted)}.gr-networks{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:40px;font-size:13.5px;color:var(--gr-faint)}.gr-networks li{display:inline-flex;align-items:center;gap:8px}.gr-networks svg{color:var(--gr-muted)}.gr-howlog{padding:8px 20px;font-size:15px}.gr-howlog-line{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--gr-line);line-height:1.55;color:var(--gr-ink-2)}.gr-howlog-line:last-child{border-bottom:0}.gr-howlog-line .gr-log-k{font:400 14px/1.7 var(--gr-mono)}.gr-preview{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}.gr-tabs{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:28px;border-bottom:1px solid var(--gr-line)}.gr-tabs button{position:relative;padding:10px 0 12px;font-size:14.5px;color:var(--gr-muted);transition:color .15s}.gr-tabs button.is-on,.gr-tabs button:hover{color:var(--gr-ink)}.gr-tabs button.is-on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gr-ink)}.gr-preview-text{min-height:78px}.gr-preview-copy .gr-link{margin-top:12px}@keyframes gr-in{0%{opacity:0;transform:translateY(4px)}}.gr-preview-card{background:var(--gr-panel);border:1px solid var(--gr-line-2);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow-md);animation:gr-in .2s var(--gr-ease)}.gr-preview-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--gr-faint);padding-bottom:18px;border-bottom:1px solid var(--gr-line)}.gr-preview-head>span:first-child{display:inline-flex;align-items:center;gap:8px;color:var(--gr-ink-2)}.gr-preview-verdict{display:flex;align-items:flex-end;gap:18px;margin-top:22px}.gr-preview-num{font-size:76px;line-height:.8;font-weight:500;letter-spacing:-.05em;color:var(--tone-ink)}.gr-tone-none .gr-preview-num{color:var(--gr-line-2)}.gr-preview-level{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--gr-muted);padding-bottom:2px}.gr-preview-level b{font-size:20px;font-weight:500;color:var(--tone-ink);letter-spacing:-.01em}.gr-tone-none .gr-preview-level b{color:var(--gr-ink)}.gr-preview-rows{margin-top:18px}.gr-preview-row{display:grid;grid-template-columns:1fr 160px 48px;gap:16px;align-items:center;height:42px;border-top:1px solid var(--gr-line);font-size:14px;color:var(--gr-ink-2)}.gr-preview-row .gr-mono{text-align:right;font-size:13.5px;color:var(--gr-ink)}.gr-preview-steps{margin-top:18px;display:grid;gap:0}.gr-preview-steps span{display:block;height:42px;line-height:42px;border-top:1px solid var(--gr-line);font-size:14px;color:var(--gr-ink-2)}.gr-preview-note{margin-top:16px;font-size:12.5px;color:var(--gr-faint)}.gr-seg{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;margin-top:22px}.gr-seg i{height:14px;border-radius:3px;background:var(--gr-panel-2);border:1px solid var(--gr-line)}.gr-seg i.is-on{background:var(--tone);border-color:transparent;animation:gr-seg .3s var(--gr-ease) both}@keyframes gr-seg{0%{opacity:0;transform:scaleY(.4)}}.gr-seg-lg{gap:4px;margin-top:32px}.gr-seg-lg i{height:22px}.gr-bar{height:4px;background:var(--gr-panel-2);overflow:hidden}.gr-bar,.gr-bar i{display:block;border-radius:2px}.gr-bar i{height:100%;min-width:2px;background:var(--tone,var(--gr-ink));animation:gr-bar .6s var(--gr-ease) .15s both;transform-origin:left}.gr-bar.is-context i{background:var(--gr-green)}@keyframes gr-bar{0%{transform:scaleX(0)}}.gr-table{width:100%;border-collapse:collapse;font-size:14.5px}.gr-table td{padding:14px 20px;border-bottom:1px solid var(--gr-line);vertical-align:top;line-height:1.5}.gr-table tr:last-child td{border-bottom:0}.gr-coverage td:first-child{width:42%;color:var(--gr-ink)}.gr-faq{border-top:1px solid var(--gr-line)}.gr-faq-row{border-bottom:1px solid var(--gr-line)}.gr-faq-row h3{font-size:inherit;letter-spacing:0}.gr-faq-row button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;text-align:left;font-size:16.5px;font-weight:500;color:var(--gr-ink)}.gr-faq-row button svg{color:var(--gr-muted);transition:transform .2s var(--gr-ease);flex-shrink:0}.gr-faq-row.is-open button svg{transform:rotate(45deg)}.gr-faq-row p{padding:0 48px 22px 0;font-size:15.5px;line-height:1.65;color:var(--gr-muted)}.gr-sample-bar{border-bottom:1px solid var(--gr-line);background:var(--gr-panel)}.gr-sample-bar .gr-wrap{width:min(1440px,calc(100% - 48px));display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 0;font-size:14px;color:var(--gr-muted)}.gr-sample-bar strong{color:var(--gr-ink);font-weight:500}.gr-sample-bar .gr-link{margin-left:auto;font-size:14px}.gr-report-grid{display:grid;grid-template-columns:380px minmax(0,1fr);width:min(1440px,100%);margin-inline:auto;min-height:calc(100vh - 60px)}.gr-rail{border-right:1px solid var(--gr-line);padding:32px 28px 40px}.gr-rail-net{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gr-muted)}.gr-rail-net svg{color:var(--gr-ink-2)}.gr-rail-addr{display:flex;align-items:flex-start;gap:12px;margin-top:14px}.gr-rail-addr p{flex:1;min-width:0;font-size:16px;line-height:1.55;font-weight:500;word-break:break-all;color:var(--gr-ink)}.gr-rail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.gr-mobile-actions .gr-btn,.gr-rail-actions .gr-btn{width:100%}.gr-kv{margin-top:28px;border-top:1px solid var(--gr-line)}.gr-kv>div{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:46px;border-bottom:1px solid var(--gr-line);font-size:13.5px}.gr-kv dt{color:var(--gr-muted)}.gr-kv dd{color:var(--gr-ink-2);text-align:right}.gr-kv dd.gr-mono{font-size:13px}.gr-rail-search{display:flex;align-items:center;gap:10px;width:100%;height:42px;margin-top:28px;padding:0 8px 0 12px;border:1px solid var(--gr-line-2);border-radius:9px;background:var(--gr-panel);color:var(--gr-faint);font-size:14px;transition:color .15s}.gr-rail-search:hover{color:var(--gr-ink)}.gr-rail-fine{margin-top:20px;font-size:12.5px;line-height:1.6;color:var(--gr-faint)}.gr-report-main{padding:32px 48px 72px;min-width:0}.gr-crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--gr-faint)}.gr-crumb a:hover{color:var(--gr-ink)}.gr-verdict{display:flex;align-items:flex-end;gap:32px;margin-top:28px}.gr-verdict-num{font-size:140px;line-height:.8;font-weight:500;letter-spacing:-.06em;color:var(--tone-ink);white-space:nowrap;font-variant-numeric:tabular-nums}.gr-tone-none .gr-verdict-num{color:var(--gr-line-2)}.gr-verdict-num small{font-size:30px;letter-spacing:-.02em;color:var(--gr-faint);margin-left:6px}.gr-verdict-text{padding-bottom:6px;min-width:0}.gr-verdict-text h1{font-size:30px;line-height:1.15;font-weight:500;letter-spacing:-.02em;color:var(--tone-ink)}.gr-tone-none .gr-verdict-text h1{color:var(--gr-ink)}.gr-verdict-text p{margin-top:10px;max-width:560px;font-size:16px;line-height:1.55;color:var(--gr-muted)}.gr-scale{position:relative;height:20px;margin-top:10px;font:400 12.5px var(--gr-mono);color:var(--gr-faint)}.gr-scale span{position:absolute;top:0}.gr-report-main>.gr-panel{margin-top:24px}.gr-report-main>.gr-scale+.gr-mobile-actions+.gr-panel{margin-top:36px}.gr-record h3{font-size:19px;font-weight:500;letter-spacing:-.01em;color:var(--gr-ink)}.gr-record h3+p{margin-top:6px}.gr-record-source{margin-top:16px;padding-top:14px;border-top:1px dashed var(--gr-line-2);font-size:13.5px!important;color:var(--gr-muted)!important}.gr-cats{padding:0 0 4px}.gr-cat{border-bottom:1px solid var(--gr-line)}.gr-cat:last-child{border-bottom:0}.gr-cat>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,280px) 64px 20px;gap:20px;align-items:center;min-height:50px;padding:0 20px;text-align:left;font-size:15px;color:var(--gr-ink-2);transition:background-color .15s}.gr-cat>button:hover{background:var(--gr-panel-2)}.gr-cat-val{text-align:right;font-size:14px;color:var(--gr-ink)}.gr-cat-chev{color:var(--gr-faint);transition:transform .2s var(--gr-ease)}.gr-cat.is-open .gr-cat-chev{transform:rotate(180deg)}.gr-cat>p{padding:0 20px 16px}.gr-cat>p,.gr-cats-more{font-size:14px;color:var(--gr-muted)}.gr-cats-more{display:flex;align-items:center;gap:6px;width:100%;min-height:48px;padding:0 20px;border-bottom:1px solid var(--gr-line);transition:color .15s}.gr-cats-more:hover{color:var(--gr-ink)}.gr-cats-more svg.is-up{transform:rotate(180deg)}.gr-steps{display:grid;grid-template-columns:repeat(3,1fr);counter-reset:step}.gr-steps li{padding:20px;border-right:1px solid var(--gr-line);counter-increment:step}.gr-steps li:last-child{border-right:0}.gr-steps li:before{content:counter(step);display:block;margin-bottom:12px;font:500 12.5px var(--gr-mono);color:var(--gr-faint)}.gr-steps b{display:block;font-size:15px;font-weight:500;color:var(--gr-ink)}.gr-steps span{display:block;margin-top:8px;font-size:14px;line-height:1.55;color:var(--gr-muted)}.gr-mobile-actions,.gr-mobile-addr,.gr-mobile-details{display:none}.gr-noscore{display:grid;place-items:center;width:112px;height:112px;border:2px dashed var(--gr-line-2);border-radius:50%;color:var(--gr-faint)}.gr-copy-wrap{position:relative;display:inline-flex}.gr-mobile-actions .gr-copy-wrap,.gr-rail-actions .gr-copy-wrap{display:block}.gr-export{position:relative}.gr-action-error{display:block;margin-top:8px;font-size:13px;line-height:1.5;color:var(--gr-red-ink)}.gr-action-error button{margin-top:4px;text-decoration:underline;text-underline-offset:3px;color:var(--gr-ink)}@media (max-width:1100px){.gr-report-grid{grid-template-columns:320px minmax(0,1fr)}.gr-report-main{padding:28px 32px 64px}.gr-verdict-num{font-size:112px}.gr-preview,.gr-split{gap:40px}}@media (max-width:860px){.gr-footer-inner,.gr-wrap{width:calc(100% - 40px)}.gr-header-inner{width:calc(100% - 32px);gap:12px}.gr-header-links{display:none}.gr-mobile-toggle{display:inline-flex}.gr-nav-search{height:40px}.gr-nav-search .gr-nav-search-text,.gr-nav-search kbd{display:none}.gr-nav-search{width:40px;justify-content:center;padding:0}.gr-theme-toggle{width:40px;height:40px}.gr-preview,.gr-split{grid-template-columns:1fr}.gr-section{padding:64px 0}.gr-hero{padding:64px 0 48px}.gr-footer-top{grid-template-columns:1fr 1fr}.gr-footer-about{grid-column:1/-1}.gr-report-grid{display:flex;flex-direction:column-reverse;min-height:0}.gr-rail{border-right:0;border-top:1px solid var(--gr-line);padding:28px 20px 40px}.gr-rail .gr-kv,.gr-rail .gr-rail-actions,.gr-rail .gr-rail-addr,.gr-rail .gr-rail-net{display:none}.gr-rail-search{margin-top:0}.gr-report-main{padding:24px 20px 32px}.gr-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.gr-mobile-details{display:block;margin-top:24px}.gr-mobile-addr{display:flex;align-items:flex-start;gap:8px;margin-top:14px;font-size:13.5px;line-height:1.5;color:var(--gr-ink-2);word-break:break-all}.gr-mobile-addr svg{flex-shrink:0;margin-top:2px;color:var(--gr-muted)}.gr-noscore{width:84px;height:84px}.gr-mobile-details .gr-kv{margin-top:0}.gr-verdict{flex-direction:column;align-items:flex-start;gap:18px}.gr-verdict-num{font-size:88px}.gr-verdict-num small{font-size:22px}.gr-verdict-text h1{font-size:26px}.gr-steps{grid-template-columns:1fr}.gr-steps li{border-right:0;border-bottom:1px solid var(--gr-line)}.gr-steps li:last-child{border-bottom:0}.gr-cat>button{grid-template-columns:minmax(0,1fr) 72px 52px 16px;gap:12px;padding:0 16px;font-size:14.5px}.vw-cookie-banner{left:12px;bottom:12px;width:calc(100% - 24px)}}@media (max-width:560px){.gr-hero-inner h1{font-size:34px}.gr-hero-inner>p{font-size:16px;margin-bottom:28px}.gr-search-box{height:58px;padding-left:14px;gap:10px}.gr-search-box input{font-size:14px}.gr-tag-text{display:none}.gr-tag.is-muted .gr-tag-text{display:inline}.gr-go.is-ready{width:42px;gap:0}.gr-go.is-ready .gr-go-label{max-width:0;opacity:0}.gr-nets{gap:5px}.gr-net{height:28px;padding:0 8px;font-size:12.5px}.gr-row-end{display:none}.gr-log-line{grid-template-columns:52px 72px 1fr;font-size:13px}.gr-log-s{display:none}.gr-networks{gap:10px 18px;font-size:13px}.gr-footer-top{grid-template-columns:1fr}.gr-preview-row{grid-template-columns:1fr 80px 44px}.gr-preview-num{font-size:60px}.gr-coverage td{display:block;padding:4px 16px;border:0}.gr-coverage td:first-child{width:auto;padding-top:14px}.gr-coverage tr{display:block;border-bottom:1px solid var(--gr-line);padding-bottom:12px}.gr-sample-bar .gr-wrap{flex-wrap:wrap}.gr-sample-bar .gr-link{margin-left:28px}}@media (prefers-reduced-motion:reduce){.gr-progress{width:100%;opacity:.4}.gr-live-dot,.gr-progress{animation:none}}@media print{:root,:root.dark{--gr-ink:#111;--gr-ink-2:#222;--gr-muted:#555;--gr-faint:#777;--gr-line:#ddd;--gr-line-2:#ccc;--gr-panel:#fff;--gr-panel-2:#eee;--gr-red:#d23b2e;--gr-amber:#c27c0e;--gr-green:#1f8a5b;--gr-none:#ccc}body,html{background:#fff!important;color:#111!important}.gr-cat-chev,.gr-cats-more,.gr-copy-wrap,.gr-footer,.gr-header,.gr-mobile-actions,.gr-rail-actions,.gr-rail-search,.gr-sample-bar .gr-link,.vw-cookie-banner,nextjs-portal{display:none!important}.gr-report-grid{display:block;min-height:0}.gr-rail{border:0;padding:0 0 16px}.gr-report-main{padding:0}.gr-panel{-moz-column-break-inside:avoid;break-inside:avoid}}.gr-report-loading{display:flex;justify-content:center;padding:72px 20px}.gr-report-loading-inner{width:min(860px,100%)}.gr-report-loading-inner>p{display:flex;align-items:center;gap:10px;font:400 14px var(--gr-mono);color:var(--gr-muted)}.gr-report-loading-shape{margin-top:28px}.gr-missing{padding:120px 0 140px}.gr-missing h1{margin-top:14px;font-size:clamp(30px,3.4vw,42px);font-weight:500;letter-spacing:-.03em}.gr-missing-code{font-size:13.5px;color:var(--gr-faint)}.gr-missing-btn{margin-top:28px}