@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:block;src:url('../fonts/inter-cyrillic.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:block;src:url('../fonts/inter-latin.woff2') format('woff2')}
@font-face{font-family:Cinzel;font-style:normal;font-weight:500 700;font-display:block;src:url('../fonts/cinzel-latin.woff2') format('woff2')}
:root{--bg:#050508;--cyan:#00d2ff;--text:#e5e7eb;--muted:#9ca3af;--crit:#ff3947;--high:#ff9200;--med:#ffd400;--ok:#00e6a7;--mx:50%;--my:50%}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,sans-serif}body{overflow-x:hidden}
button,input{font:inherit}.hidden{display:none!important}input[type=file]{display:none}
.bg-logo-container{position:fixed;inset:0;height:100svh;z-index:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}
.bg-logo-container img{width:75vw;height:auto;max-width:none;opacity:.15;mix-blend-mode:screen;animation:pulse-bg 4s infinite alternate ease-in-out}
.cursor-glow{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(0,210,255,.045),transparent 62%);opacity:.9}
@keyframes pulse-bg{0%{transform:scale(.95);opacity:.10}100%{transform:scale(1.05);opacity:.25}}
.page{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;padding:22px 28px 10px}
.site-link{position:fixed;right:14px;top:14px;z-index:2147482999;display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 18px;border:1px solid rgba(0,210,255,.7);border-radius:9px;background:rgba(5,5,8,.72);color:#fff;text-decoration:none;font-size:14px;box-shadow:0 0 22px rgba(0,210,255,.08);transition:.2s}
.site-link:hover,.site-link:focus-visible{background:rgba(0,210,255,.10);box-shadow:0 0 28px rgba(0,210,255,.18);outline:none}.site-link svg{width:15px;stroke:var(--cyan);fill:none}
.main{width:min(100%,1040px);margin:0 auto;flex:1;display:flex;flex-direction:column;justify-content:center;padding:12px 0 6px}.intro{text-align:center;margin:0 0 13px}.intro h1{font-family:Cinzel,serif;font-size:clamp(24px,2.45vw,36px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 12px}.intro .line1{font-size:15px;color:#d3d5da;white-space:nowrap;margin:0}.intro .line2{font-size:15px;color:var(--cyan);margin:5px 0 0;font-weight:500}
.ornament{display:flex;align-items:center;gap:10px;width:min(100%,720px);height:18px;margin:0 auto 15px;color:var(--cyan)}.ornament:before,.ornament:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(0,210,255,.72))}.ornament:after{background:linear-gradient(90deg,rgba(0,210,255,.72),transparent)}.diamond{width:10px;height:10px;border:1px solid var(--cyan);transform:rotate(45deg);box-shadow:0 0 8px rgba(0,210,255,.45)}
.checker{display:grid;grid-template-columns:330px minmax(0,1fr);gap:0;padding:22px 24px 16px;background:linear-gradient(180deg,rgba(8,11,16,.90),rgba(5,7,10,.94));border:1px solid rgba(170,205,225,.38);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.5);backdrop-filter:blur(10px)}
.shield-wrap{display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(0,210,255,.22);padding:0 24px 0 0;min-height:390px;overflow:hidden}.shield-img{width:100%;max-width:305px;height:auto;display:block;mix-blend-mode:screen;filter:drop-shadow(0 0 14px rgba(0,210,255,.18))}
.scanner-pane{padding-left:34px;display:flex;flex-direction:column;justify-content:center;min-width:0}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px;padding:4px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.08);border-radius:10px}.mode-tab{height:38px;border:0;border-radius:7px;background:transparent;color:#8e969d;font-size:12px;font-weight:650;cursor:pointer;transition:.18s}.mode-tab.active{background:rgba(0,210,255,.10);color:#d9faff;box-shadow:inset 0 0 0 1px rgba(0,210,255,.34)}.mode-tab:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}
.scan-depth{display:flex;align-items:center;gap:14px;margin:0 0 11px;color:#8f969d;font-size:11px}.scan-depth label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.scan-depth input{accent-color:var(--cyan)}
.step{padding:3px 0 15px}.step+.step{border-top:1px solid rgba(0,210,255,.38);padding-top:16px}.step-title{font-family:Cinzel,serif;color:var(--cyan);font-size:18px;letter-spacing:.04em;margin:0 0 10px}.action-row{display:flex;align-items:center;gap:12px}.explain{text-align:center;color:#9ca3af;font-size:11.5px;line-height:1.52;margin:9px 0 0}
.primary-btn,.secondary-btn,.filter-btn,.filter-counter{cursor:pointer;transition:.18s}.primary-btn{height:47px;border-radius:8px;font-weight:600;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 22px;width:100%;border:1px solid var(--cyan);background:rgba(4,10,15,.72);color:#fff}.primary-btn:hover:not(:disabled),.primary-btn:focus-visible{background:rgba(0,210,255,.11);box-shadow:0 0 24px rgba(0,210,255,.18);outline:none}.primary-btn:disabled{opacity:.38;cursor:not-allowed}.primary-btn svg{width:22px;height:22px;stroke:var(--cyan);fill:none;stroke-width:1.7}
#path,#siteMeta{font-size:11px;color:#788087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:7px;text-align:center}#path.chosen,#siteMeta.chosen{color:#b8c7ce}
.online-step{padding-top:8px}.url-label{display:block;font-size:11px;color:#9da4aa;margin-bottom:6px}.url-input{width:100%;height:45px;border:1px solid rgba(0,210,255,.46);border-radius:8px;background:rgba(2,6,10,.72);color:#e9fcff;padding:0 13px;outline:none;margin-bottom:11px}.url-input:focus{border-color:var(--cyan);box-shadow:0 0 18px rgba(0,210,255,.13)}.url-input::placeholder{color:#555f66}.backend-note{font-size:10.5px;color:#68727a;text-align:center;margin-top:8px}.backend-note.ok{color:var(--ok)}.backend-note.warn{color:var(--high)}
#scanStage{grid-column:1/-1;display:none;margin-top:10px}#scanStage.on{display:block}.sweep{height:1px;background:rgba(255,255,255,.06);overflow:hidden}.sweep:after{content:"";display:block;width:28%;height:100%;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:sweep 1s linear infinite}.stream{height:42px;overflow:hidden;font:11px/20px ui-monospace,Consolas,monospace;color:#63727a;padding-top:4px}.stream .f{opacity:0;animation:appear .18s forwards}.stream .f b{color:#c1f6ff}
.summary-bar{grid-column:1/-1;margin-top:12px;padding:9px 12px;border:1px solid rgba(0,210,255,.18);border-radius:8px;background:rgba(0,210,255,.035);font-size:11px;color:#9fc6ce;text-align:center}.summary-bar b{color:#dffaff;font-weight:600}
.counters{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.16);border-radius:11px;overflow:hidden;background:rgba(2,4,7,.55);margin-top:12px}.counters.off{display:none}.counter{appearance:none;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;gap:10px;min-height:66px;padding:8px}.counter+.counter{border-left:1px solid rgba(255,255,255,.11)}.counter:hover{background:rgba(255,255,255,.025)}.counter:focus-visible{outline:1px solid var(--cyan);outline-offset:-2px}.ci{width:34px;height:34px;border:2px solid currentColor;border-radius:9px;display:grid;place-items:center;font-weight:700}.counter>span:last-child{display:flex;flex-direction:column;align-items:flex-start}.ct{font-size:11px;color:#b9bdc3}.cv{font-family:Cinzel,serif;font-size:25px}.c{color:var(--crit)}.h{color:var(--high)}.m{color:var(--med)}.i{color:var(--ok)}
.result-card{grid-column:1/-1;display:flex;align-items:center;gap:17px;min-height:76px;padding:11px 18px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(3,5,8,.62);margin-top:12px}.status-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;border:2px solid currentColor;box-shadow:0 0 18px currentColor;font-size:28px}.status-icon:before{content:"✓"}.idle,.clean{color:var(--ok)}.danger{color:var(--crit)}.danger-icon:before{content:"!"}.scanning{color:var(--cyan)}.scanning-icon{color:var(--cyan);animation:spin 1s linear infinite}.scanning-icon:before{content:"◌"}.status-copy h2{font-family:Cinzel,serif;font-size:19px;font-weight:500;margin:0 0 3px;color:currentColor}.status-copy p{margin:0;color:#b7bbc0;font-size:12px}
.post-scan{margin-top:12px}.result-toolbar,.report-actions,.project-meta,.limitations,.about{background:rgba(5,7,11,.86);border:1px solid rgba(255,255,255,.10);border-radius:10px;backdrop-filter:blur(8px)}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px}.filter-group{display:flex;gap:5px;flex-wrap:wrap}.filter-btn,.secondary-btn{border:1px solid rgba(255,255,255,.14);border-radius:7px;background:rgba(255,255,255,.025);color:#b7bdc3;padding:8px 11px;font-size:11px}.filter-btn:hover,.filter-btn.active,.secondary-btn:hover,.secondary-btn:focus-visible{border-color:rgba(0,210,255,.5);color:#dcfaff;background:rgba(0,210,255,.07);outline:none}.toggle,.sound-toggle{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#919aa1;white-space:nowrap}.toggle input,.sound-toggle input{accent-color:var(--cyan)}
.report-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px;margin-top:8px}.secondary-btn.subtle{margin-left:auto}.project-meta{padding:10px 12px;margin-top:8px;display:flex;gap:10px 18px;flex-wrap:wrap;color:#8f999f;font-size:11px}.meta-item b{color:#d6eef3;font-weight:600}
.findings{margin-top:9px;display:flex;flex-direction:column;gap:8px}.finding{border:1px solid rgba(255,255,255,.10);background:rgba(8,9,13,.94);border-radius:10px;overflow:hidden}.finding[hidden]{display:none}.finding summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:12px 13px}.finding summary::-webkit-details-marker{display:none}.finding summary:after{content:"⌄";color:#68757c;font-size:16px;transition:.18s}.finding[open] summary:after{transform:rotate(180deg);color:var(--cyan)}.chip{font:700 9px ui-monospace,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;padding:3px 6px;border:1px solid currentColor;border-radius:4px}.chip.c{color:var(--crit)}.chip.h{color:var(--high)}.chip.m{color:var(--med)}.chip.i{color:var(--ok)}.finding-title{font-size:12.5px;font-weight:650;color:#d8dce0}.finding-loc{font:10.5px ui-monospace,Consolas,monospace;color:var(--cyan);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confidence{font-size:9.5px;color:#8c969d;border-left:1px solid rgba(255,255,255,.1);padding-left:9px}.finding-body{border-top:1px solid rgba(255,255,255,.08);padding:10px 13px 12px}.code{margin:0 0 8px;background:#05070a;border-left:2px solid rgba(0,210,255,.55);padding:9px 11px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:11px ui-monospace,Consolas,monospace;color:#c7eef5}.hint,.why{font-size:11.5px;color:#a6adb3;margin:6px 0}.hint b{color:var(--ok)}.why b{color:#c7eef5}.finding-actions{display:flex;justify-content:flex-end;margin-top:8px}.ignore-btn{border:1px solid rgba(255,255,255,.12);background:transparent;color:#7f898f;border-radius:6px;padding:6px 9px;font-size:10px;cursor:pointer}.ignore-btn:hover{color:#fff;border-color:rgba(255,255,255,.28)}
.limitations{margin-top:9px;padding:11px 13px}.limitations h3{font-family:Cinzel,serif;font-size:14px;color:#cdeff5;margin:0 0 7px;font-weight:500}.limitations ul{margin:0;padding-left:18px;color:#8e979e;font-size:11px;line-height:1.55}.limitations li+li{margin-top:3px}.about{margin:10px 0 0}.about summary{cursor:pointer;padding:10px 12px;color:#8f9ba2;font-size:11px}.about summary:hover{color:#cceef5}.about-body{border-top:1px solid rgba(255,255,255,.08);padding:10px 13px;color:#939ca2;font-size:11px;line-height:1.55}.about-body p{margin:0}.about-body p+p{margin-top:7px}.about-body b{color:#daf6fb}
.footer{width:min(100%,900px);margin:8px auto 0;text-align:center;color:#707070;font-size:12px;padding:8px 20px 2px}.footer .ornament{margin-bottom:7px;height:12px}
@keyframes sweep{from{transform:translateX(-100%)}to{transform:translateX(460%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{to{opacity:1}}
@media(max-height:900px) and (min-width:801px){.page{padding-top:12px}.main{padding-top:4px}.intro h1{font-size:27px;margin-bottom:7px}.intro .line1,.intro .line2{font-size:13px}.ornament{margin-bottom:9px}.checker{grid-template-columns:275px 1fr;padding:15px 18px 11px}.shield-wrap{min-height:315px}.shield-img{max-width:250px}.scanner-pane{padding-left:25px}.mode-tabs{margin-bottom:8px}.step{padding-bottom:10px}.step+.step{padding-top:10px}.step-title{font-size:15px;margin-bottom:7px}.primary-btn{height:40px;font-size:13px}.explain{font-size:10px;margin-top:5px}.counter{min-height:52px}.result-card{min-height:58px}.status-icon{width:40px;height:40px}.footer{margin-top:3px;padding-top:2px}.post-scan{margin-top:8px}}
@media(max-width:800px){.page{padding:15px 12px}.site-link{position:fixed;right:8px;top:8px;height:36px;padding:0 11px;font-size:11px;margin:0}.main{justify-content:flex-start}.intro .line1{white-space:normal}.checker{grid-template-columns:1fr;padding:15px}.shield-wrap{border-right:0;border-bottom:1px solid rgba(0,210,255,.2);padding:0 0 14px;min-height:auto}.shield-img{max-width:225px}.scanner-pane{padding:15px 0 0}.counters{grid-template-columns:repeat(2,1fr)}.counter:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.11)}.counter:nth-child(4){border-top:1px solid rgba(255,255,255,.11)}.result-toolbar{align-items:flex-start;flex-direction:column}.report-actions{align-items:stretch}.secondary-btn{flex:1}.secondary-btn.subtle{margin-left:0}.sound-toggle{width:100%;padding:5px}.finding summary{grid-template-columns:auto 1fr auto}.confidence{grid-column:2/4;border-left:0;padding-left:0}.finding-loc{max-width:170px}.cursor-glow{display:none}}
@media(max-width:480px){.intro h1{font-size:22px;letter-spacing:.08em}.mode-tabs{grid-template-columns:1fr}.scan-depth{flex-wrap:wrap}.checker{border-radius:14px}.finding summary{grid-template-columns:auto 1fr}.finding-loc,.confidence{grid-column:2/3;max-width:none}.counter{min-height:58px;padding:6px;gap:7px}.ci{width:30px;height:30px}.ct{font-size:10px}.cv{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.cursor-glow{display:none}}
.domain-lock{min-height:100svh;place-items:center;text-align:center;background:#050508;color:#d9faff;font:16px Inter,sans-serif;padding:24px}.domain-lock[hidden]{display:none}.domain-lock:not([hidden]){display:grid}.domain-lock b{font-family:Cinzel,serif;font-size:28px;font-weight:600}.domain-lock p{color:#9ca3af}.domain-locked .page,.domain-locked .bg-logo-container,.domain-locked .cursor-glow{display:none}

.clipboard-helper{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0}
/* legacy readability rules — normalized from the old escaped v11 line without changing the rendered layout */
.intro .line2{font-size:16px}
.settings-heading>span{font-family:Cinzel,serif;color:#dffaff;font-size:14px;letter-spacing:.04em}.settings-heading small{font-size:12px;color:#78858c}
.setting-check{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(0,0,0,.22);cursor:pointer}.setting-check:hover{border-color:rgba(0,210,255,.3)}.setting-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--cyan);flex:0 0 auto}.setting-check span{display:flex;flex-direction:column;gap:3px}.setting-check b{font-size:13px;color:#d8e5e8}.setting-check small{font-size:11.5px;line-height:1.4;color:#89949a}
.settings-label{display:flex;align-items:center;color:#a9b3b8;padding-right:3px}.depth-option{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:9px 10px;border:1px solid rgba(255,255,255,.10);border-radius:8px;background:rgba(0,0,0,.20)}.depth-option:has(input:checked){border-color:rgba(0,210,255,.48);background:rgba(0,210,255,.065)}.depth-option input{width:17px;height:17px;margin-top:2px}.depth-option span{display:flex;flex-direction:column;gap:2px}.depth-option b{font-size:13px;color:#dce9ec}.depth-option small{font-size:11px;line-height:1.35;color:#7f8b91}
.explain{font-size:13px;line-height:1.55}.primary-btn{height:50px;font-size:16px}#path,#siteMeta,.url-label{font-size:12.5px}.backend-note{font-size:12px}.summary-bar{font-size:12.5px;padding:10px 13px}.ct{font-size:12px}.status-copy h2{font-size:20px}.status-copy p{font-size:13px}
.filter-btn,.secondary-btn{font-size:12.5px;padding:9px 12px}.report-actions{padding:12px;margin-top:9px;gap:8px}.actions-title{flex:1 0 100%;display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.actions-title b{font-family:Cinzel,serif;font-size:13px;color:#dffaff}.actions-title span{font-size:11.5px;color:#7f8a90}.project-meta{font-size:12px;padding:11px 13px}.finding summary{padding:13px 14px}.finding-title{font-size:13.5px}.finding-loc{font-size:11.5px}.confidence{font-size:10.5px}.hint,.why{font-size:12.5px;line-height:1.5}.code{font-size:12px}.ignore-btn{font-size:11.5px;padding:7px 10px;color:#aab4b9}.ignore-btn:hover{color:#fff;border-color:rgba(0,210,255,.38);background:rgba(0,210,255,.06)}
.ignore-manager>summary{cursor:pointer;padding:11px 13px;color:#c2cbd0;font-size:13px;font-weight:600}.ignore-manager>summary:hover{color:#e4fbff}.ignore-manager-body{border-top:1px solid rgba(255,255,255,.08);padding:11px 13px 13px}.ignore-manager-body p{margin:0 0 10px;color:#939ea4;font-size:12.5px;line-height:1.55}.ignore-manager-body p b{color:#d8edf1}.ignore-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-subtle{border-color:rgba(255,57,71,.22);color:#c49b9f}.danger-subtle:hover{border-color:rgba(255,57,71,.5)!important;color:#ffd7db!important;background:rgba(255,57,71,.06)!important}
.limitations ul,.about summary,.about-body{font-size:12.5px}.footer{font-size:13px}

/* v12: simplified deep-only UX */
.settings-heading{margin-bottom:0}
.settings-checks{grid-template-columns:minmax(260px,520px)}
.pre-scan-settings{padding:12px 14px}
.shield-wrap{padding-right:30px}
.shield-img{width:min(100%,290px);max-width:290px;border-radius:0;mix-blend-mode:screen;object-fit:contain;filter:drop-shadow(0 0 20px rgba(0,210,255,.20))}
.result-toolbar{align-items:center}
.toolbar-check{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:7px 9px;color:#aab4b9;font-size:12.5px;white-space:nowrap;cursor:pointer}
.toolbar-check input{width:17px;height:17px;accent-color:var(--cyan);margin:0}
.toolbar-check:hover{color:#e1f8fb}
.ignore-manager{margin-top:9px;background:rgba(5,7,11,.86);border:1px solid rgba(255,255,255,.10);border-radius:10px}
.ignore-manager-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px}
.ignore-manager-head>div{display:flex;flex-direction:column;gap:3px}
.ignore-manager-head b{font-size:13px;color:#dce7ea}
.ignore-manager-head small{font-size:11.5px;color:#7f8a90}
.compact-btn{flex:0 0 auto;padding:8px 12px}
.ignore-manager-body{border-top:1px solid rgba(255,255,255,.08);padding:11px 13px 13px}
.ignored-list{display:flex;flex-direction:column;gap:7px;margin-bottom:10px}
.ignored-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:rgba(0,0,0,.18)}
.ignored-item>div{display:flex;flex-direction:column;gap:2px;min-width:0}.ignored-item b{font-size:12px;color:#d3dde0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ignored-item small{font-size:10.5px;color:#7f8a90;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restore-ignore-btn{flex:0 0 auto;border:1px solid rgba(0,210,255,.28);background:rgba(0,210,255,.04);color:#a9eafa;border-radius:6px;padding:6px 9px;font-size:11px;cursor:pointer}.restore-ignore-btn:hover{border-color:rgba(0,210,255,.55);color:#fff;background:rgba(0,210,255,.08)}
.ignored-empty{margin:0 0 10px;color:#849096;font-size:12px}
@media(max-width:800px){.toolbar-check{margin-left:0}.result-toolbar{align-items:flex-start}.ignore-manager-head{align-items:flex-start;flex-direction:column}.compact-btn{width:100%}.settings-checks{grid-template-columns:1fr}}


/* v13: simplified result metadata and full-bleed shield */
.shield-wrap{
  position:relative;
  align-items:stretch;
  justify-content:stretch;
  padding:0;
  min-height:390px;
  background:#03070b;
}
.shield-img{
  width:100%;
  max-width:none;
  height:100%;
  min-height:390px;
  display:block;
  object-fit:cover;
  object-position:center center;
  mix-blend-mode:normal;
  filter:none;
  border-radius:0;
}
#path,#siteMeta{font-size:13px;margin-top:8px;color:#87949a}
#path.chosen,#siteMeta.chosen{color:#c3d4d9}
@media(max-height:900px) and (min-width:801px){
  .shield-wrap,.shield-img{min-height:360px}
}
@media(max-width:800px){
  .shield-wrap{min-height:280px;border-right:0;border-bottom:1px solid rgba(0,210,255,.22)}
  .shield-img{height:280px;min-height:280px;object-position:center 54%}
}


/* v14: same layout sizes, centered non-distorted shield, native collapsible ignores */
.shield-wrap{
  align-items:center;
  justify-content:center;
  padding:0;
  overflow:hidden;
  background:#03070b;
}
.shield-img{
  width:100%;
  max-width:none;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center center;
  mix-blend-mode:normal;
  filter:none;
  border-radius:0;
}
.ignore-manager.finding{margin-top:9px}
.ignore-manager.finding>summary{
  grid-template-columns:auto 1fr auto;
}
.ignore-summary-note{
  color:#7f8a90;
  font-size:10.5px;
  white-space:nowrap;
  padding-right:5px;
}
.ignore-manager-body{
  border-top:1px solid rgba(255,255,255,.08);
  padding:11px 13px 13px;
}
@media(max-width:800px){
  .ignore-manager.finding>summary{grid-template-columns:auto 1fr}
  .ignore-summary-note{grid-column:2;color:#7f8a90}
}


/* v15: separated ignored findings, clear detail fallback, seamless shield */
.shield-wrap{background:#050508;align-items:center;justify-content:center;overflow:hidden}
.shield-img{width:min(100%,290px);max-width:290px;height:auto;min-height:0;object-fit:contain;object-position:center;filter:none;mix-blend-mode:normal;background:transparent}
.finding-note{margin:9px 0;color:#86949a;font-size:12px;line-height:1.5;font-style:italic}
.ignore-panel{margin-top:16px!important;border-color:rgba(0,210,255,.16)!important;background:rgba(3,8,11,.72)!important}
.ignore-panel>summary{background:rgba(0,210,255,.025)}
.ignore-panel .chip{color:#00e6a7;border-color:#00e6a7}
.report-actions{margin-top:12px}
@media(max-height:900px) and (min-width:801px){.shield-img{width:min(100%,250px);max-width:250px}}
@media(max-width:800px){.shield-img{width:min(100%,225px);max-width:225px;height:auto;min-height:0}}


/* v16: compact findings, in-verdict report actions, slightly larger seamless shield */
.result-card{position:relative}
.status-copy{min-width:0}
.verdict-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.verdict-actions.hidden{display:none}
.verdict-action-btn{
  border:1px solid rgba(0,210,255,.26);
  border-radius:7px;
  background:rgba(0,210,255,.035);
  color:#b9dfe6;
  padding:7px 10px;
  font:500 11.5px Inter,sans-serif;
  cursor:pointer;
  white-space:nowrap;
  transition:.18s;
}
.verdict-action-btn:hover,.verdict-action-btn:focus-visible{
  border-color:rgba(0,210,255,.58);
  color:#effcff;
  background:rgba(0,210,255,.09);
  outline:none;
}

/* Closed result rows are deliberately compact; expanded detail remains readable. */
.finding summary{
  padding:6px 11px;
  min-height:34px;
  gap:7px;
}
.finding-title{font-size:12.5px}
.finding-loc{font-size:10.5px}
.confidence{font-size:9.5px}
.finding summary:after{font-size:14px}
.ignore-manager.finding>summary{padding:6px 11px;min-height:34px}

/* Keep the pane itself unchanged; only make the artwork slightly larger. */
.shield-img{width:min(100%,310px);max-width:310px}
@media(max-height:900px) and (min-width:801px){
  .shield-img{width:min(100%,270px);max-width:270px}
}
@media(max-width:800px){
  .shield-img{width:min(100%,240px);max-width:240px}
  .result-card{flex-wrap:wrap}
  .verdict-actions{width:100%;margin-left:0;padding-left:57px}
}
@media(max-width:480px){
  .verdict-actions{padding-left:0}
  .verdict-action-btn{flex:1}
}


/* v17: neutral pre-scan state, compact +/- finding rows, larger shield */
.idle{color:var(--cyan)}
.idle-icon:before{content:"?"}
.clean{color:var(--ok)}
.clean-icon:before{content:"✓"}

/* Same left pane, only a larger centered shield. */
.shield-img{width:min(100%,330px);max-width:330px}
@media(max-height:900px) and (min-width:801px){
  .shield-img{width:min(100%,300px);max-width:300px}
}
@media(max-width:800px){
  .shield-img{width:min(100%,255px);max-width:255px}
}

/* Compact + / − expander, matching the interaction language of the main site. */
.finding summary{
  grid-template-columns:18px auto minmax(0,1fr) auto auto;
  min-height:27px;
  padding:2px 10px;
  gap:7px;
}
.finding summary:before{
  content:"+";
  grid-column:1;
  width:16px;height:16px;
  display:grid;place-items:center;
  color:var(--cyan);
  font:600 15px/1 Inter,sans-serif;
}
.finding[open] summary:before{content:"−"}
.finding summary:after{content:none!important;display:none!important}
.finding summary .chip{grid-column:2}
.finding summary .finding-title{grid-column:3}
.finding summary .finding-loc{grid-column:4}
.finding summary .confidence{grid-column:5}
.finding-title{line-height:1.1}
.chip{padding:2px 5px;line-height:1}

.ignore-manager.finding>summary{
  grid-template-columns:18px auto minmax(0,1fr) auto;
  min-height:27px;
  padding:2px 10px;
}
.ignore-manager.finding>summary .chip{grid-column:2}
.ignore-manager.finding>summary .finding-title{grid-column:3}
.ignore-manager.finding>summary .ignore-summary-note{grid-column:4}

@media(max-width:800px){
  .finding summary{
    grid-template-columns:18px auto minmax(0,1fr) auto;
    min-height:30px;
    padding:3px 8px;
  }
  .finding summary .confidence{grid-column:3/5;border-left:0;padding-left:0}
  .finding summary .finding-loc{grid-column:4;max-width:150px}
}


/* v18: seamless shield pane and a distinct ignored-findings language */
.shield-wrap{
  background:linear-gradient(180deg,rgba(6,10,14,.86),rgba(5,8,12,.92));
}
.shield-img{
  mix-blend-mode:normal;
  filter:none;
}

/* Ignored findings are administrative, not informational scan results. */
.ignore-manager.finding{
  border-color:rgba(153,163,175,.24);
  background:linear-gradient(180deg,rgba(18,21,26,.76),rgba(9,12,16,.88));
}
.ignore-manager.finding>summary{
  color:#c4cbd0;
}
.ignore-manager.finding>summary:before{
  color:#9ca3af;
}
.ignore-manager.finding .chip.i{
  color:#c0c6ca;
  border-color:rgba(192,198,202,.46);
  background:rgba(192,198,202,.06);
}
.ignore-manager.finding .finding-title{
  color:#d6dadd;
}
.ignore-manager.finding .ignore-summary-note{
  color:#858d93;
}
.ignore-manager.finding[open]>summary{
  border-bottom-color:rgba(153,163,175,.16);
}
.ignored-item{
  border-color:rgba(153,163,175,.12);
  background:rgba(255,255,255,.018);
}
.restore-ignore-btn{
  border-color:rgba(156,163,175,.28);
  background:rgba(156,163,175,.035);
  color:#cbd1d5;
}
.restore-ignore-btn:hover{
  border-color:rgba(203,213,225,.48);
  background:rgba(203,213,225,.07);
  color:#fff;
}


/* v20: requested visual blend and equal local/online geometry */
.shield-wrap{
  background:linear-gradient(180deg,rgba(8,11,16,.90),rgba(5,7,10,.94));
}
.shield-img{
  -webkit-mask-image:
    linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%),
    linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%),
    linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);
  mask-composite:intersect;
  filter:none;
}
.mode-panel{box-sizing:border-box}
@media(max-width:800px){
  .mode-panel{min-height:0!important}
}


/* v21: zero layout shift while scanning */
.main{justify-content:flex-start}
#scanStage,#scanStage.on{display:none!important}
/* Results grow only downward; the checker/title never recenter when content height changes. */


/* v25 — keep v21 compact height and show progress inside existing status card */
html{
  overflow-y:scroll;
  scrollbar-gutter:stable;
}
body{overflow-x:hidden}

.result-card.scanning{
  position:relative;
  overflow:hidden;
}
.result-card.scanning::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:2px;
  width:var(--scan-progress,0%);
  background:linear-gradient(90deg,rgba(0,210,255,.25),var(--cyan));
  box-shadow:0 0 10px rgba(0,210,255,.45);
  transition:width .12s linear;
}
.result-card.scanning .status-copy{min-width:0}
.result-card.scanning .status-copy p{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.checker,.mode-panel,.result-card,.finding,#findings{
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
}


/* v27 — online check progress */
/* Online checks are one server request, so show a non-layout-shifting indeterminate bar. */
.result-card.scanning.online-progress::after{
  width:34%;
  animation:onlineProgress 1.15s ease-in-out infinite;
  transition:none;
}
@keyframes onlineProgress{
  0%{left:-34%}
  50%{left:48%}
  100%{left:100%}
}


/* v28 — initial tab is resolved before first paint; no hide/reveal flash */
html.preboot *{
  transition:none!important;
}

/* boot.js sets data-mode before the body is parsed, so the first rendered frame
   already contains the correct tab/panel. */
html[data-mode="online"] #localMode{display:block!important;visibility:hidden!important;pointer-events:none!important}
html[data-mode="online"] #onlineMode{display:block!important;visibility:visible!important;pointer-events:auto!important}
html[data-mode="local"] #localMode{display:block!important;visibility:visible!important;pointer-events:auto!important}
html[data-mode="local"] #onlineMode{display:block!important;visibility:hidden!important;pointer-events:none!important}

html[data-mode="online"] #localTab{
  background:transparent;
  color:#8e969d;
  box-shadow:none;
}
html[data-mode="online"] #onlineTab{
  background:rgba(0,210,255,.10);
  color:#d9faff;
  box-shadow:inset 0 0 0 1px rgba(0,210,255,.34);
}
html[data-mode="local"] #onlineTab{
  background:transparent;
  color:#8e969d;
  box-shadow:none;
}
html[data-mode="local"] #localTab{
  background:rgba(0,210,255,.10);
  color:#d9faff;
  box-shadow:inset 0 0 0 1px rgba(0,210,255,.34);
}



/* v31 — online is a structural clone of local; only input semantics differ */
.online-url-input{
  cursor:text!important;
  text-align:left!important;
  justify-content:flex-start!important;
  font-family:inherit!important;
  font-weight:600!important;
  outline:none!important;
}
.online-url-input::placeholder{
  color:#596168;
  opacity:1;
}

/* Both cloned blocks reserve the same description area, so the second step starts
   on the exact same Y coordinate even when the wording wraps differently. */
#localMode .step:first-child .explain,
#onlineMode .step:first-child .explain{
  min-height:2.7em;
  box-sizing:border-box;
}




/* v46: compact sequential methodology text inside the original working accordion. */
.about-body > p{
  margin:0 0 8px;
}
.about-body > p:last-child{
  margin-bottom:0;
}
.about-body > p > b{
  color:#d8eef2;
}
.about-levels{
  color:#8f999f;
}
.about-levels > b,
.about-levels > span{
  color:#c8d6dc;
}


/* v48: compact legal disclosure and online-use notice. */
.about.legal{margin-top:6px}
.legal-body p{margin:0 0 8px}
.legal-body p:last-child{margin-bottom:0}


/* v49: restore one-screen desktop composition after adding the legal accordion. */
@media (min-width:1000px) and (min-height:760px){
  .about.legal{margin-top:4px}
  .about > summary{min-height:26px;padding-top:5px;padding-bottom:5px}
}


/* v52: v49 layout; only the lower decorative divider is raised on desktop. */
@media (min-width:1000px){
  .footer{
    margin-top:-18px;
  }
}


/* v62 — local/online panels share one grid cell.
   Both remain in layout so the taller panel determines one stable height.
   The inactive panel is invisible and non-interactive, never removed from layout. */
.mode-stack{
  display:grid;
  grid-template-areas:"mode-panel";
  min-width:0;
}
.mode-stack>.mode-panel{
  grid-area:mode-panel;
  display:block!important;
  min-width:0;
  align-self:stretch;
}
html[data-mode="local"] #localMode,
html[data-mode="online"] #onlineMode{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
html[data-mode="local"] #onlineMode,
html[data-mode="online"] #localMode{
  display:block!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media (min-width:801px){
  #onlineMode .step-title{white-space:nowrap}
}
@media (max-width:800px){
  #onlineMode .step-title{white-space:normal}
}

/* Keep the verdict copy on the same flex row as the icon; long online wording must not create a taller card. */
.status-copy{flex:1 1 0;min-width:0}

/* Do not animate inherited visibility while switching modes. */
.mode-stack .primary-btn{
  transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,opacity .18s;
}


/* v63 — trust/coverage layer: incomplete evidence must never look fully green. */
:root{--partial:#f0c75e}
.partial{color:var(--partial)}
.partial-icon:before{content:"?"}
.result-card.partial{border-color:rgba(240,199,94,.28);background:rgba(30,24,7,.24)}

.coverage-panel{
  margin:0 0 9px;
  padding:11px 13px;
  border:1px solid rgba(0,210,255,.16);
  border-radius:10px;
  background:rgba(5,7,11,.86);
  backdrop-filter:blur(8px);
}
.coverage-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.coverage-head h3{font-family:Cinzel,serif;font-size:14px;color:#cdeff5;margin:0;font-weight:500}
.coverage-head span{font-size:11px;color:#829198;text-align:right}
.coverage-grid{display:grid;grid-template-columns:1fr;gap:6px}
.coverage-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:rgba(0,0,0,.18)}
.coverage-item>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.coverage-item b{font-size:12px;color:#d5e2e6;font-weight:600}
.coverage-item small{font-size:10.5px;line-height:1.4;color:#849097}
.coverage-badge{flex:0 0 auto;border:1px solid currentColor;border-radius:999px;padding:3px 7px;font:700 9px ui-monospace,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.coverage-badge-confirmed{color:var(--ok)}
.coverage-badge-unverified{color:var(--partial)}
.coverage-badge-not_applicable{color:#8b959b}
.coverage-unverified{border-color:rgba(240,199,94,.15)}
.coverage-not_applicable{opacity:.82}
@media(max-width:600px){
  .coverage-head{align-items:flex-start;flex-direction:column;gap:3px}
  .coverage-head span{text-align:left}
  .coverage-item{align-items:flex-start;flex-direction:column;gap:7px}
}

.coverage-legend{margin:8px 1px 0;color:#758188;font-size:10.5px;line-height:1.45}

.evidence-trace{margin:9px 0;padding:9px 10px;border:1px solid rgba(0,210,255,.16);background:rgba(0,210,255,.035);border-radius:7px}.evidence-trace>b{display:block;margin-bottom:6px;font-size:11.5px;color:#c7eef5}.evidence-trace>div{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:start;margin:4px 0}.evidence-trace span{font-size:10.5px;color:#7f8a90}.evidence-trace code{font:10.5px ui-monospace,Consolas,monospace;color:#b9dfe6;white-space:normal;overflow-wrap:anywhere}@media(max-width:480px){.evidence-trace>div{grid-template-columns:1fr;gap:2px}}

/* v85: main-site button stays visible while scrolling. */
@media(max-width:480px){.site-link{right:7px;top:7px;height:31px;padding:0 8px;gap:6px;font-size:10px}.site-link svg{width:12px}}
