@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:100 800;src:url(fonts/sora-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Sora';font-style:normal;font-display:swap;font-weight:100 800;src:url(fonts/sora-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.nav-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid #3E6B71;border-radius:999px;background:transparent;color:#fff;font:500 14px 'Sora',system-ui,sans-serif;cursor:pointer}
@media (max-width:900px){.nav-toggle{display:inline-flex}.site-nav{display:none!important;flex-basis:100%;flex-direction:column;align-items:stretch!important;gap:0!important;padding:4px 0 20px}.site-header.open .site-nav{display:flex!important}.site-nav>a{padding:16px 0!important;border-top:1px solid #1B3D43;font-size:17px!important}.site-nav>a:last-child{margin-top:16px;justify-content:center;border-top:1px solid #3E6B71}.site-nav>details{padding:12px 0;border-top:1px solid #1B3D43}.site-nav details>div{position:static!important;margin-top:8px;box-shadow:none!important}}
.pscan{position:fixed;left:20px;bottom:20px;z-index:60;width:min(380px,calc(100% - 40px));box-sizing:border-box;padding:18px 20px 18px;background:rgba(6,26,30,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #1F4A50;border-radius:16px;color:#E6F1F1;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:0 24px 64px rgba(0,0,0,.45);overflow:hidden;opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease}
.pscan.in{opacity:1;transform:none}
.pscan-bar{position:absolute;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,transparent 0%,#5FD3C8 50%,transparent 100%);background-size:50% 100%;background-repeat:no-repeat;animation:pscan-sweep 1.4s linear infinite}
.pscan.done .pscan-bar,.pscan.warned .pscan-bar{animation:none;background:#5FD3C8;opacity:.6}
.pscan.warned .pscan-bar{background:#F2A65A}
@keyframes pscan-sweep{from{background-position:-50% 0}to{background-position:150% 0}}
.pscan-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pscan-dot{width:8px;height:8px;border-radius:50%;background:#5FD3C8;box-shadow:0 0 0 0 rgba(95,211,200,.6);animation:pscan-pulse 1.6s ease-out infinite}
@keyframes pscan-pulse{to{box-shadow:0 0 0 10px rgba(95,211,200,0)}}
.pscan-title{font-size:11px;letter-spacing:2px;color:#5FD3C8}
.pscan-cmd{color:#8FAEB1;margin-bottom:8px}
.pscan-list{display:flex;flex-direction:column;gap:4px}
.pscan-row{display:flex;align-items:baseline;gap:8px;color:#C7D9DA}
.pscan-fill{flex:1;border-bottom:1px dotted #2E5A60;transform:translateY(-4px)}
.pscan-v{color:#8FAEB1;min-width:34px;text-align:right}
.pscan-row.is-ok .pscan-v{color:#5FD3C8}
.pscan-row.is-warn .pscan-v{color:#F2A65A}
.pscan-result{margin:12px 0 0;font-family:'Sora',system-ui,sans-serif;font-size:14px;line-height:1.5;color:#FFFFFF;min-height:21px}
.pscan-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}
.pscan-more{color:#9DB6B9;font-family:'Sora',system-ui,sans-serif;font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:12px 0}
.pscan-ok{min-height:44px;padding:0 20px;border:none;border-radius:999px;background:#FFFFFF;color:#061A1E;font:500 14px 'Sora',system-ui,sans-serif;cursor:pointer}
.pscan-ok:hover{background:#DDEDED}
@media (max-width:520px){.pscan{left:12px;right:12px;bottom:12px;width:auto}}
@media (prefers-reduced-motion:reduce){.pscan,.pscan-bar,.pscan-dot{transition:none;animation:none}}
.pscan-names{color:#F2A65A;font-size:12px;padding:2px 0 4px 2px;word-break:break-word}
summary::-webkit-details-marker{display:none}summary::marker{content:''}details.lang summary:hover{border-color:#5FD3C8!important}details.lang a:hover{background:#12343A}
.skip{position:absolute;left:-9999px;top:0;z-index:10;background:#fff;color:#061A1E;padding:12px 20px}.skip:focus{left:16px;top:16px}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Sora',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#004F59}a:hover{opacity:.85}
*:focus-visible{outline:2px solid #5FD3C8;outline-offset:3px}
