/* CARDTOOLS · features — стили конкретных разделов:
   дашборд, BIN-превью, аудит браузера, генераторы (TempMail / Outlook / Card) */

/* ---------- дашборд ---------- */
.dash-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;align-items:start}
.dash-col{display:flex;flex-direction:column;gap:22px}

.qa-row{display:flex;align-items:center;gap:15px;padding:14px 18px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .15s;cursor:pointer}
.qa-row:last-child{border-bottom:0}
.qa-row:hover{background:var(--paper-2)}
.qa-num{font:700 11px var(--mono);color:var(--ink-3);width:22px;flex:none;transition:color .15s}
.qa-ico{width:36px;height:36px;flex:none;border:1px solid var(--line-2);border-radius:6px;display:grid;place-items:center;background:#fff;color:var(--ink-2);transition:.2s}
.qa-ico svg{width:17px;height:17px}
.qa-row:hover .qa-ico{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:scale(1.06)}
.qa-row:hover .qa-num{color:var(--accent)}
.qa-txt{display:flex;flex-direction:column;min-width:0}
.qa-name{font-weight:600;font-size:14px}
.qa-desc{font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qa-arrow{margin-left:auto;color:var(--ink-3);font-family:var(--mono);transition:transform .2s,color .2s}
.qa-row:hover .qa-arrow{transform:translateX(5px);color:var(--accent)}

.feed-item{padding:11px 18px;border-bottom:1px solid var(--line);font-size:12.5px;animation:fadeUp .45s both;transition:background .15s}
.feed-item:hover{background:var(--paper-2)}
.feed-item:last-child{border-bottom:0}
.feed-meta{display:flex;align-items:center;gap:10px;font:500 10px var(--mono);color:var(--ink-3);margin-bottom:4px}
.feed-body{color:var(--ink-2)}
.feed-body b{color:var(--ink);font-weight:600;font-family:var(--mono);font-size:12px}

.sys-row{padding:11px 18px;border-bottom:1px solid var(--line)}
.sys-row:last-child{border-bottom:0}
.sys-top{display:flex;justify-content:space-between;font:500 11px var(--mono);margin-bottom:7px}
.sys-top .pct{color:var(--ink-2)}
.bar{height:4px;background:var(--paper-3);border-radius:2px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ink);width:var(--w);border-radius:2px;animation:grow 1.1s cubic-bezier(.2,.7,.3,1) both}
.bar i.warn{background:var(--amber)}

/* ---------- BIN: превью карты ---------- */
.cardviz{
  aspect-ratio:1.586;border:1px solid var(--line-2);border-radius:11px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#ffffff 0%,#f4f4ee 60%,#ecece4 100%);
  padding:18px 20px;display:flex;flex-direction:column;margin:18px;
  transition:transform .3s,box-shadow .3s;
}
.cardviz:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:0 14px 34px rgba(19,19,17,.1)}
.cardviz::before{content:'';position:absolute;right:-46px;top:-46px;width:150px;height:150px;border:1px solid var(--line-2);border-radius:50%}
.cardviz::after{content:'';position:absolute;right:-20px;top:-20px;width:150px;height:150px;border:1px solid var(--line);border-radius:50%}
.cardviz.flash{animation:cardflash .7s}
.cv-top{display:flex;justify-content:space-between;align-items:flex-start}
.cv-chip{width:36px;height:27px;border-radius:5px;border:1px solid var(--line-2);background:linear-gradient(135deg,#f3f3ec,#dcdcd2)}
.cv-ps{font:700 13px var(--mono);letter-spacing:.14em;color:var(--ink-2)}
.cv-pan{font:700 16.5px var(--mono);letter-spacing:.13em;margin-top:auto;word-spacing:.3em}
.cv-bot{display:flex;justify-content:space-between;gap:12px;margin-top:12px}
.cv-l{display:block;font:500 8.5px var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3)}
.cv-v{font:600 11px var(--mono);letter-spacing:.06em}

/* ---------- аудит браузера ---------- */
.browser-tabs{
  display:inline-flex;gap:3px;margin:0 0 18px;padding:3px;border:1px solid var(--line-2);
  border-radius:6px;background:var(--paper-2)
}
.browser-tab{
  display:flex;align-items:center;gap:8px;border:0;border-radius:4px;padding:8px 13px;
  background:transparent;color:var(--ink-3);cursor:pointer;
  font:700 9.5px var(--mono);text-transform:uppercase;letter-spacing:.1em
}
.browser-tab:hover{color:var(--ink)}
.browser-tab.active{background:var(--ink);color:#fff;box-shadow:0 2px 8px rgba(19,19,17,.16)}
.browser-tab.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.browser-tab-count{
  display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
  background:var(--paper-3);color:var(--ink-2);font-size:8px
}
.browser-tab.active .browser-tab-count{background:var(--accent);color:#fff}
[data-browser-panel][hidden]{display:none}

.fp-hash{
  font:700 clamp(21px,3vw,30px)/1.3 var(--mono);letter-spacing:.16em;word-spacing:.5em;
  padding:20px 22px 4px;min-height:1.3em;
}
.fp-hash::after{content:'▍';color:var(--accent);animation:blink 1s infinite;font-weight:400}
.fp-stats{display:flex;gap:34px;flex-wrap:wrap;padding:10px 22px 6px}
.fp-stat .n{font-family:var(--display);font-weight:700;font-size:20px}
.fp-stat .n.warn{color:var(--amber)}
.fp-stat-ip .n{font:700 15px/1.4 var(--mono);padding-top:4px}
.fp-stat .l{font:500 9.5px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-top:3px}
.fp-bar{margin:12px 22px 6px}
.fp-chips{display:flex;flex-wrap:wrap;gap:8px;padding:14px 22px 20px}

.chk{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:13px 18px;border-bottom:1px solid var(--line);transition:background .15s}
.chk:hover{background:var(--paper-2)}
.chk:last-child{border-bottom:0}
.chk-code{
  font:700 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
  border:1px solid var(--line-2);border-radius:3px;padding:3px 7px;margin-top:2px;min-width:38px;text-align:center;
  transition:color .2s,border-color .2s,background .2s;
}
.chk.running .chk-code{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
.chk.done .chk-code{color:var(--ink-2)}
.chk-name{display:block;font-weight:600;font-size:13.5px}
.chk-desc{display:block;font-size:12px;color:var(--ink-2);margin-top:1px}
.chk-val{
  display:block;font:500 11.5px/1.6 var(--mono);color:var(--ink);word-break:break-word;
  max-height:0;opacity:0;overflow:hidden;margin-top:0;
  transition:max-height .35s ease,opacity .35s ease,margin-top .35s ease;
}
.chk.done .chk-val{max-height:130px;opacity:1;margin-top:7px}
.chk-state{margin-top:2px;white-space:nowrap}

/* social networks: сетка логотипов (зелёный = leak, серый = чисто) */
.sn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px;padding:16px 18px;border-top:1px solid var(--line)}
.sn-tile{
  display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 6px 11px;
  border:1px solid var(--line);border-radius:6px;background:#fff;position:relative;
  transition:border-color .25s,background .25s,box-shadow .25s,transform .15s;
}
.sn-tile:hover{transform:translateY(-2px)}
.sn-logo{height:24px;width:24px;position:relative;display:grid;place-items:center}
.sn-glyph{display:grid;place-items:center;color:var(--ink-3);transition:color .3s,opacity .18s,transform .22s}
.sn-glyph svg{width:22px;height:22px;fill:currentColor}
.sn-mono{font:700 15px var(--mono);letter-spacing:.02em}
/* hover: вместо лого — галочка (залогинен) или крестик (нет) */
.sn-mark{position:absolute;inset:0;display:grid;place-items:center;font:800 20px/1 var(--mono);opacity:0;transform:scale(.3) rotate(-120deg);transition:opacity .16s,transform .3s cubic-bezier(.2,.9,.3,1.6);pointer-events:none}
.sn-mark-x{color:var(--red)}
.sn-mark-ok{color:var(--green)}
.sn-tile.clean:hover .sn-glyph,.sn-tile.timeout:hover .sn-glyph,.sn-tile.leak:hover .sn-glyph{opacity:0;transform:scale(.45)}
.sn-tile.clean:hover .sn-mark-x,.sn-tile.timeout:hover .sn-mark-x,.sn-tile.leak:hover .sn-mark-ok{opacity:1;transform:scale(1) rotate(0)}
.sn-name{font:600 8.5px var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);transition:color .3s}
.sn-tile.probing .sn-glyph{animation:blink 1s infinite}
.sn-tile.timeout{border-style:dashed}
.sn-tile.leak{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 3px rgba(13,157,97,.13);animation:snpop .45s cubic-bezier(.2,.7,.3,1.4)}
.sn-tile.leak .sn-glyph{color:var(--green);transform:scale(1.18)}
.sn-tile.leak .sn-name{color:var(--green)}
@keyframes snpop{0%{transform:scale(.9)}60%{transform:scale(1.05)}100%{transform:scale(1)}}

.fingerprint-history{display:flex;flex-direction:column;gap:18px}
.fh-hero{
  min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:24px;border:1px solid var(--line-2);border-radius:9px;
  background:linear-gradient(135deg,#fff 52%,var(--accent-soft))
}
.fh-hero h2{max-width:760px;margin-top:8px;font:700 clamp(18px,2.3vw,26px)/1.25 var(--display)}
.fh-hero p{max-width:760px;margin-top:8px;color:var(--ink-2);font-size:12px}
.fh-profile{
  flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;
  color:var(--ink-3);font:600 8px var(--mono);text-transform:uppercase;letter-spacing:.12em
}
.fh-profile b{color:var(--accent);font:700 13px var(--mono);letter-spacing:.08em}
.fh-stats{
  display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-2);
  border-radius:8px;background:#fff;overflow:hidden
}
.fh-stats>div{padding:15px 18px;border-right:1px solid var(--line)}
.fh-stats>div:last-child{border-right:0}
.fh-stats strong{display:block;font:700 19px var(--display)}
.fh-stats span{
  display:block;margin-top:3px;color:var(--ink-3);
  font:600 8px var(--mono);text-transform:uppercase;letter-spacing:.1em
}
.fh-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.fh-ip-list{min-height:90px}
.fh-ip-row{
  display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;
  padding:12px 18px;border-bottom:1px solid var(--line);font:500 10px var(--mono)
}
.fh-ip-row:last-child{border-bottom:0}
.fh-ip-address{font-size:12px;font-weight:700}
.fh-ip-row>span:nth-child(2){color:var(--accent);font-weight:700}
.fh-ip-row time{color:var(--ink-3)}
.fh-match-card{min-height:112px;padding:18px}
.fh-match-node{
  display:inline-flex;padding:5px 8px;border-radius:4px;background:var(--green-soft);
  color:var(--green);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.08em
}
.fh-match-card p{margin-top:13px;color:var(--ink-2);font:500 11px/1.6 var(--mono)}
.fh-table-wrap{overflow-x:auto}
.fh-table{width:100%;min-width:760px;border-collapse:collapse;font:500 9.5px var(--mono)}
.fh-table th{
  padding:9px 12px;background:var(--paper-2);border-bottom:1px solid var(--line);
  color:var(--ink-3);font:600 8px var(--mono);letter-spacing:.09em;text-align:left;text-transform:uppercase
}
.fh-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.fh-table tr:last-child td{border-bottom:0}
.fh-table time{white-space:nowrap;color:var(--ink-2)}
.fh-ua{display:block;max-width:440px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3)}

/* ---------- временная почта (заготовка под будущий раздел) ---------- */
.addr-box{display:flex;align-items:center;gap:12px;border:1px solid var(--line-2);border-radius:6px;background:var(--paper-2);padding:13px 16px}
.addr{flex:1;font:700 15px var(--mono);letter-spacing:.02em;word-break:break-all}
.addr-input{flex:1;min-width:0;border:0;background:transparent;font:700 15px var(--mono);letter-spacing:.02em;color:var(--ink);outline:none}
.addr-input::placeholder{color:var(--ink-3);font-weight:500}
.addr-sep{font:700 15px var(--mono);color:var(--ink-3);flex:none}
.addr-domain{flex:none;border:1px solid var(--line-2);border-radius:5px;background:var(--paper);font:600 13px var(--mono);color:var(--ink);padding:7px 9px;cursor:pointer;outline:none}
.addr-domain:focus{border-color:var(--accent)}
.mail-inbox-panel{padding:0;overflow:hidden}
.mail-list{max-height:340px;overflow:auto}
.mail-empty{padding:28px 18px;text-align:center;font:500 12px var(--mono);color:var(--ink-3)}
.ttl{font:700 13px var(--mono);color:var(--green);flex:none;transition:color .3s}
.ttl.warn{color:var(--amber)}
.msg{border-bottom:1px solid var(--line)}
.msg:last-child{border-bottom:0}
.msg-head{display:flex;align-items:center;gap:13px;padding:13px 18px;cursor:pointer;transition:background .15s}
.msg-head:hover{background:var(--paper-2)}
.msg-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--accent)}
.msg.read .msg-dot{background:var(--line-2)}
.msg-from{font:600 12px var(--mono);color:var(--ink);flex:none}
.msg-subj{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-time{margin-left:auto;flex:none;font:500 10px var(--mono);color:var(--ink-3)}
.msg-body{display:none;padding:14px 18px 18px 38px;font-size:13px;color:var(--ink-2);border-top:1px dashed var(--line)}
.msg.open .msg-body{display:block;animation:fadeUp .25s both}
.code{display:inline-block;margin-top:10px;font:700 21px var(--mono);letter-spacing:.24em;background:var(--paper-2);border:1px solid var(--line-2);border-radius:5px;padding:9px 16px}
.fresh{animation:fadeUp .4s both;background:var(--accent-soft)}

/* ---------- генераторы (TempMail / Outlook / Card) ---------- */
/* переключатель режима генерации — в языке сайта: утопленный контейнер,
   активный пункт — чернильный чип с акцентной меткой; метка ромбом (45°)
   перекликается с поворотом brand-mark при ховере */
.seg{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line-2);border-radius:6px;background:var(--paper-2)}
.cg-seg{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font:700 10.5px var(--mono);text-transform:uppercase;letter-spacing:.12em;
  color:var(--ink-3);background:transparent;border:0;border-radius:4px;padding:9px 15px;
  transition:color .15s,background .15s,box-shadow .18s,transform .12s;
}
.cg-seg::before{content:'';width:5px;height:5px;flex:none;border-radius:1px;background:var(--line-2);transition:background .15s,transform .25s}
.cg-seg:hover{color:var(--ink);background:var(--paper-3)}
.cg-seg:hover::before{background:var(--accent)}
.cg-seg.active{background:var(--ink);color:#fff;box-shadow:0 3px 10px rgba(19,19,17,.24)}
.cg-seg.active::before{background:var(--accent);transform:rotate(45deg)}
.cg-seg:active{transform:scale(.96)}

/* строка сгенерированного номера */
.gen-row{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;
  border-bottom:1px solid var(--line);animation:fadeUp .4s both;transition:background .15s;
}
.gen-row:last-child{border-bottom:0}
.gen-row:hover{background:var(--paper-2)}
.gen-pan{font:700 14.5px var(--mono);letter-spacing:.06em;word-spacing:.25em}
.gen-ps{font:700 9.5px var(--mono);letter-spacing:.08em;color:var(--accent-ink);background:var(--accent-soft);border-radius:3px;padding:3px 7px;flex:none}
.gen-meta{font:500 11px var(--mono);color:var(--ink-3)}
.gen-luhn{margin-left:auto}
#cg-result .cardviz{margin:0 0 20px}

/* герой-блок почтовых генераторов */
.gm-hero{padding:26px}
.gm-hero .addr{font-size:clamp(16px,2.4vw,22px)}
.gm-box.flash{animation:cardflash .7s}

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .dash-grid{grid-template-columns:1fr}
  .fh-grid{grid-template-columns:1fr}
  .fh-stats{grid-template-columns:1fr 1fr}
  .fh-stats>div:nth-child(2){border-right:0}
  .fh-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

/* ---------- Clean proxy search ---------- */
.proxy-page{max-width:1320px}
.proxy-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.proxy-legend{
  width:230px;flex:none;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;
  font:600 9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)
}
.proxy-legend-title{grid-column:1/-1}
.proxy-legend-bar{
  grid-column:1/-1;height:5px;border-radius:4px;
  background:linear-gradient(90deg,var(--green),var(--amber) 52%,var(--red))
}
.proxy-legend span:nth-last-child(1){text-align:right}
.proxy-legend b{color:var(--ink);font-weight:700}

.proxy-config{
  border:1px solid var(--line-2);border-radius:9px;background:#fff;overflow:hidden;
  box-shadow:0 10px 30px rgba(19,19,17,.035)
}
.proxy-config-main,.proxy-provider-section{padding:22px 24px}
.proxy-config-main{border-bottom:1px solid var(--line)}
.proxy-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px}
.proxy-section-head>div:first-child{display:flex;align-items:center;gap:11px}
.proxy-section-head h2{
  font:700 13px var(--display);letter-spacing:.01em
}
.proxy-step{
  display:grid;place-items:center;width:28px;height:22px;border:1px solid var(--line-2);border-radius:3px;
  font:700 9px var(--mono);letter-spacing:.08em;color:var(--accent);background:var(--accent-soft)
}
.proxy-head-controls{display:flex;align-items:center;gap:16px;margin-left:auto}
.proxy-type-inline{display:flex;align-items:center;gap:10px}
.proxy-type-inline label{display:flex;align-items:center;gap:6px;cursor:pointer}
.proxy-type-inline label+label::before{content:'|';margin-right:4px;color:var(--line-2);font:500 11px var(--mono)}
.proxy-type-inline input{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}
.proxy-type-inline span{font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.proxy-mode{
  display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:5px;background:var(--paper-2)
}
.proxy-mode-btn{
  border:0;border-radius:3px;background:transparent;color:var(--ink-3);cursor:pointer;
  font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.1em;padding:6px 10px;transition:.15s
}
.proxy-mode-btn:hover{color:var(--ink)}
.proxy-mode-btn.active{background:#fff;color:var(--accent);box-shadow:0 1px 4px rgba(19,19,17,.1)}
.proxy-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.proxy-fields[hidden]{display:none}
.proxy-fields .field{margin:0}
.proxy-fields-zip{grid-template-columns:minmax(260px,1.7fr) minmax(260px,1.3fr) minmax(190px,1fr);max-width:980px}
.proxy-input-prefix{position:relative}
.proxy-input-prefix>span{
  position:absolute;left:1px;top:1px;bottom:1px;width:48px;display:grid;place-items:center;z-index:1;
  border-right:1px solid var(--line);font:700 10px var(--mono);color:var(--accent);background:var(--accent-soft);
  border-radius:4px 0 0 4px
}
.proxy-input-prefix .input{padding-left:62px}
.proxy-field-hint{display:block;margin-top:6px;font:500 10px var(--mono);color:var(--ink-3)}
.proxy-radius-native{
  position:relative;z-index:2;pointer-events:auto;
  appearance:auto!important;-webkit-appearance:menulist!important;
  background-image:none!important;padding-right:10px!important
}
.proxy-select-all{
  border:0;background:transparent;color:var(--accent);cursor:pointer;
  font:700 9.5px var(--mono);letter-spacing:.09em;text-transform:uppercase
}
.proxy-select-all:hover{text-decoration:underline}
.provider-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.provider-card{
  min-width:0;position:relative;display:grid;grid-template-columns:43px 1fr auto;gap:11px;align-items:center;
  border:1px solid var(--line-2);border-radius:7px;padding:12px 11px 12px 12px;cursor:pointer;background:#fff;
  transition:border-color .18s,background .18s,box-shadow .18s,transform .14s
}
.provider-card:hover{transform:translateY(-2px);border-color:#b9c6f2;box-shadow:0 6px 16px rgba(0,56,224,.08)}
.provider-card:has(input:checked){border-color:#9eb2f5;background:linear-gradient(135deg,#fff,var(--accent-soft))}
.provider-card input{position:absolute;opacity:0;pointer-events:none}
.provider-check{
  position:absolute;right:7px;top:7px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--line-2);background:#fff;color:transparent;font:800 10px var(--mono);transition:.15s
}
.provider-card:has(input:checked) .provider-check{background:var(--accent);border-color:var(--accent);color:#fff}
.provider-logo{
  width:43px;height:43px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);
  border-radius:6px;background:#fff
}
.provider-logo img{display:block;width:39px;height:39px;object-fit:contain}
.provider-copy{min-width:0;display:flex;flex-direction:column}
.provider-copy b{font:800 11px var(--display);letter-spacing:.04em;white-space:nowrap}
.proxy-runbar{
  min-height:70px;display:flex;align-items:center;justify-content:flex-end;gap:18px;
  padding:11px 14px 11px 24px;background:var(--paper-2);border-top:1px solid var(--line)
}
.proxy-run-btn{min-width:205px;justify-content:center}
.proxy-run-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
.proxy-run-icon{font:700 17px/1 var(--mono);transition:transform .3s}
.proxy-run-btn:hover .proxy-run-icon{transform:rotate(120deg)}
.proxy-run-btn.is-loading .proxy-run-icon{animation:proxySpin .75s linear infinite}
@keyframes proxySpin{to{transform:rotate(360deg)}}

.proxy-result{margin-top:20px}
.proxy-empty{
  min-height:145px;display:flex;align-items:center;justify-content:center;gap:21px;
  border:1.5px dashed var(--line-2);border-radius:9px;background:rgba(255,255,255,.65);color:var(--ink-3)
}
.proxy-empty>div:last-child{display:flex;flex-direction:column;max-width:470px}
.proxy-empty b{font:700 13px var(--body);color:var(--ink-2);margin-bottom:3px}
.proxy-empty span{font-size:12px}
.proxy-radar{width:52px;height:52px;position:relative;border:1px solid var(--line-2);border-radius:50%}
.proxy-radar::before,.proxy-radar::after{
  content:'';position:absolute;border:1px solid var(--line);border-radius:50%;inset:8px
}
.proxy-radar::after{inset:17px}
.proxy-radar i{position:absolute;left:50%;top:50%;width:1px;height:23px;background:var(--accent);transform-origin:bottom;animation:radar 2.8s linear infinite}
.proxy-radar span{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--green);right:8px;top:17px;animation:blink 1.5s infinite}
@keyframes radar{from{transform:translate(-50%,-100%) rotate(0)}to{transform:translate(-50%,-100%) rotate(360deg)}}

.proxy-scan,.proxy-results-head,.proxy-summary,.proxy-table-wrap{background:#fff}
.proxy-error{
  display:flex;flex-direction:column;gap:5px;padding:18px 20px;border:1px solid #edb7b1;
  border-radius:9px;background:var(--red-soft);color:var(--red);font:500 11px/1.5 var(--mono)
}
.proxy-error b{font:700 12px var(--display)}
.proxy-scan{border:1px solid var(--line-2);border-radius:9px;overflow:hidden;animation:fadeUp .3s both}
.proxy-scan-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px}
.proxy-scan-top>div{display:flex;flex-direction:column}
.proxy-scan-top b{font:700 14px var(--mono);margin-top:2px}
.proxy-eyebrow{font:700 9px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}
.proxy-scan-progress{height:4px;background:var(--paper-3);overflow:hidden}
.proxy-scan-progress i{display:block;height:100%;background:var(--accent);transition:width .25s ease}
.proxy-scan-sources{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.proxy-scan-source{
  display:grid;grid-template-columns:auto 1fr;gap:1px 8px;align-items:center;padding:14px 18px;border-right:1px solid var(--line)
}
.proxy-scan-source:last-child{border-right:0}
.proxy-scan-source>i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:var(--line-2)}
.proxy-scan-source b{font:700 10px var(--mono)}
.proxy-scan-source em{font:500 9px var(--mono);font-style:normal;color:var(--ink-3)}
.proxy-scan-source.running>i{background:var(--accent);animation:pulse 1s infinite}
.proxy-scan-source.done>i{background:var(--green)}

.proxy-results-head{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  border:1px solid var(--line-2);border-radius:9px 9px 0 0;padding:18px 20px
}
.proxy-results-head h2{font:700 16px var(--display);margin-top:4px}
.proxy-results-head h2 b{color:var(--accent)}
.proxy-results-head p{margin-top:5px;font:500 10px var(--mono);color:var(--ink-3)}
.proxy-summary{
  display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);border-top:1px solid var(--line)
}
.proxy-summary>div{padding:12px 20px;border-right:1px solid var(--line)}
.proxy-summary>div:last-child{border-right:0}
.proxy-summary span{display:block;font:700 17px var(--display)}
.proxy-summary span.ok{color:var(--green)}
.proxy-summary small{display:block;margin-top:2px;font:600 8.5px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}

.proxy-table-wrap{overflow-x:auto;border:1px solid var(--line-2);border-radius:0 0 9px 9px}
.proxy-table{width:100%;min-width:1040px;table-layout:fixed;border-collapse:collapse;font:500 10px var(--mono)}
.proxy-table th{
  padding:10px 8px;background:var(--ink);color:rgba(255,255,255,.58);border-right:1px solid #343431;
  font:600 7.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;text-align:left;white-space:nowrap
}
.proxy-table th:first-child{padding-left:18px}
.proxy-table td{padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.proxy-table tbody tr{animation:fadeUp .35s both;animation-delay:var(--delay);transition:filter .15s}
.proxy-table tbody tr:hover{filter:brightness(.985)}
.proxy-table tbody td:first-child{border-left:3px solid var(--row-color);padding-left:15px}
.proxy-row-clean{--row-color:var(--green);background:linear-gradient(90deg,rgba(13,157,97,.07),#fff 38%)}
.proxy-row-fair{--row-color:#78a940;background:linear-gradient(90deg,rgba(120,169,64,.065),#fff 38%)}
.proxy-row-warn{--row-color:var(--amber);background:linear-gradient(90deg,rgba(221,133,0,.07),#fff 38%)}
.proxy-row-bad{--row-color:var(--red);background:linear-gradient(90deg,rgba(212,47,31,.085),#fff 38%)}
.proxy-quality{display:flex;align-items:center;gap:7px}
.proxy-quality>i{width:38px;height:5px;border-radius:4px;background:linear-gradient(90deg,currentColor var(--score),var(--line) var(--score))}
.proxy-quality b{min-width:20px;font-size:12px}
.proxy-quality-clean{color:var(--green)}.proxy-quality-fair{color:#689732}.proxy-quality-warn{color:var(--amber)}.proxy-quality-bad{color:var(--red)}
.proxy-ip{font-weight:700;color:var(--ink);letter-spacing:.01em}
.proxy-table .copy{margin-left:5px;padding:1px 5px;font-size:8px}
.proxy-provider-pill{display:inline-flex;align-items:center;gap:6px;font:700 8.5px var(--mono);letter-spacing:.07em}
.proxy-provider-pill img{
  width:17px;height:17px;flex:none;object-fit:contain;border:1px solid var(--line);
  border-radius:3px;background:#fff
}
.proxy-geo-main{display:block;color:var(--ink);white-space:nowrap}
.proxy-table td small{display:block;margin-top:2px;font-size:8.5px;color:var(--ink-3);white-space:nowrap}
.proxy-speed{font-weight:700;color:var(--green)}.proxy-speed.mid{color:var(--amber)}.proxy-speed.slow{color:var(--red)}
.proxy-speed small,.proxy-score small{display:inline!important;margin-left:2px!important}
.proxy-score{display:inline-flex;align-items:baseline;border-radius:3px;padding:3px 6px}
.proxy-score b{font-size:11px}.proxy-score-clean{color:var(--green);background:var(--green-soft)}
.proxy-score-fair{color:#638e32;background:#f0f6e9}.proxy-score-warn{color:var(--amber);background:var(--amber-soft)}
.proxy-score-bad{color:var(--red);background:var(--red-soft)}
.proxy-tags{display:flex;gap:4px;flex-wrap:wrap;min-width:105px}
.proxy-tag{display:inline-flex;padding:2px 5px;border-radius:3px;background:var(--paper-3);color:var(--ink-2);font:700 7.5px var(--mono);text-transform:uppercase;white-space:nowrap}
.proxy-tag-clean{color:var(--green);background:var(--green-soft)}
.proxy-tag-risk{color:var(--red);background:var(--red-soft)}
.proxy-copy-connection{
  width:30px;height:30px;display:grid;place-items:center;margin:0 auto;padding:0;border-radius:4px;
  border:1px solid var(--line-2);background:#fff;color:var(--ink-3);transition:color .15s,border-color .15s,background .15s
}
.proxy-copy-connection svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.7}
.proxy-copy-connection:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
.proxy-copy-connection.done{color:var(--green);border-color:var(--green);background:var(--green-soft)}
@media (max-width:1180px){
  .provider-grid{grid-template-columns:1fr 1fr}
  .proxy-fields{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .browser-tabs{display:flex}.browser-tab{flex:1;justify-content:center}
  .fh-hero{align-items:flex-start;flex-direction:column}
  .fh-profile{align-items:flex-start}
  .fh-stats{grid-template-columns:1fr}
  .fh-stats>div{border-right:0;border-bottom:1px solid var(--line)}
  .fh-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .fh-stats>div:last-child{border-bottom:0}
  .proxy-head{display:block}.proxy-legend{margin-top:20px}
  .proxy-config-main,.proxy-provider-section{padding:18px}
  .proxy-section-head{align-items:flex-start;flex-wrap:wrap}
  .proxy-head-controls{width:100%;justify-content:space-between;margin-left:0}
  .proxy-fields,.proxy-fields-zip,.provider-grid{grid-template-columns:1fr}
  .proxy-runbar{align-items:stretch;flex-direction:column;padding:15px 18px}
  .proxy-run-btn{width:100%}
  .proxy-empty{padding:28px 20px;align-items:flex-start}
  .proxy-scan-sources,.proxy-summary{grid-template-columns:1fr 1fr}
  .proxy-scan-source:nth-child(2n){border-right:0}
  .proxy-scan-source{border-bottom:1px solid var(--line)}
  .proxy-results-head{align-items:flex-start}
  .proxy-summary>div{border-bottom:1px solid var(--line)}
}

/* ---------- wiki ---------- */
/* правый бар со списком статей */
.wiki-layout .app{grid-template-columns:var(--side-w) 1fr var(--wiki-w,240px)}
.wiki-aside{
  background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;
  height:100vh;overflow:hidden
}
.wk-aside-head{
  font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3);
  padding:20px 18px 10px;flex:none
}
.wk-aside-list{flex:1;overflow-y:auto;padding:0 10px 18px}
.wk-aside-item{
  display:flex;align-items:center;gap:11px;padding:10px 10px;border-radius:5px;
  text-decoration:none;color:var(--ink);position:relative;
  transition:background .15s,transform .15s
}
.wk-aside-item:hover{background:var(--paper-2);transform:translateX(2px)}
.wk-aside-item::before{
  content:'';position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;
  background:var(--accent);transform:scaleY(0);transition:transform .2s
}
.wk-aside-item.active{background:var(--accent-soft)}
.wk-aside-item.active .wk-aside-name{color:var(--accent-ink);font-weight:600}
.wk-aside-item.active::before{transform:scaleY(1)}
.wk-aside-icon{width:18px;height:18px;flex:none;color:var(--ink);display:inline-flex}
.wk-aside-icon svg{width:18px;height:18px}
.wk-aside-item.active .wk-aside-icon{color:var(--accent)}
.wk-aside-name{flex:1;font-weight:500;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* статья в основной области */
.wiki-article{max-width:760px;animation:fadeUp .3s both}
.wk-art-icon{width:26px;height:26px;flex:none;color:var(--ink);display:inline-flex;align-self:center}
.wk-art-icon svg{width:26px;height:26px}
.wk-art-head{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.wiki-article h2{font:700 24px var(--display);letter-spacing:-.01em}
.wk-lede{font-size:16px;color:var(--ink-2);line-height:1.65;margin-bottom:24px}

/* схемы */
.wk-scheme{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px;margin-bottom:26px;background:var(--paper-2);border:1px solid var(--line);border-radius:8px}
.wk-scheme.wk-row{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:9px}
.wk-chips{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.wk-chips span{font:600 11px var(--mono);color:var(--ink-2);background:#fff;border:1px solid var(--line-2);border-radius:4px;padding:5px 10px}
.wk-box{display:grid;place-items:center;text-align:center;font:700 12px var(--mono);color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:6px;padding:10px 15px;min-width:92px;line-height:1.35}
.wk-box small{display:block;margin-top:3px;font:500 8.5px var(--mono);color:var(--ink-3);letter-spacing:.02em}
.wk-box-filter{border-style:dashed}
.wk-box-ok{color:var(--green);border-color:#bfe5d2;background:var(--green-soft)}
.wk-box-accent{color:var(--accent-ink);border-color:#b9c6f2;background:var(--accent-soft)}
.wk-result{display:flex;flex-direction:column;gap:2px;align-items:center;font:700 14px var(--mono);color:var(--ink);background:#fff;border:1px solid var(--ink);border-radius:6px;padding:11px 17px}
.wk-result-bad{color:var(--red);border-color:var(--red)}
.wk-luhn{gap:10px}
.wk-luhn-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px}
.wk-bin-card{border:1px solid var(--ink);border-radius:6px;padding:12px 16px;background:#fff;display:flex;flex-direction:column;gap:3px;align-items:center;font:700 14px/1.3 var(--mono);color:var(--ink)}
.wk-bin-hl{color:var(--accent-ink);background:var(--accent-soft);border-radius:3px;padding:1px 4px}
.wk-bin-rest{color:var(--ink-3)}
.wk-bin-card small,.wk-bin-meta small{font:500 9px var(--mono);color:var(--ink-3);letter-spacing:.02em}
.wk-bin-meta{text-align:center;font:700 12px var(--mono);color:var(--ink);background:var(--green-soft);border:1px solid #bfe5d2;border-radius:6px;padding:10px 15px;line-height:1.4}
.wk-result small{font:500 9px var(--mono);color:var(--ink-3);letter-spacing:.02em}
.wk-arrow{font:700 18px var(--mono);color:var(--accent);line-height:1}
.wk-plus{font:700 16px var(--mono);color:var(--ink-3)}

.wk-points{list-style:none;margin-bottom:8px}
.wk-points li{position:relative;padding:13px 0 13px 22px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-2);line-height:1.55}
.wk-points li:last-child{border-bottom:0;padding-bottom:0}
.wk-points li::before{content:'';position:absolute;left:4px;top:20px;width:7px;height:7px;border:1.5px solid var(--accent);border-radius:50%}
.wk-points b{color:var(--ink);font-weight:700}

@media (max-width:900px){
  .wiki-layout .app{grid-template-columns:1fr}
  .wiki-aside{display:none}
}

/* ссылка «как это работает» из блоков инструментов */
.wiki-link{display:inline-flex;align-items:center;gap:6px;font:700 10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);text-decoration:none;transition:gap .15s,color .15s}
.wiki-link:hover{color:var(--accent-ink);gap:9px}

/* ---------- приватные заметки ---------- */
.pn-page{max-width:920px}
.pn-create-panel{padding:22px 24px}
.pn-textarea{min-height:150px;line-height:1.6}
.pn-options{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;margin-top:6px}
.pn-mode-field{margin:0}
.pn-mode-field .label{margin-bottom:9px}
.pn-ttl-field{margin:0;min-width:160px}
.pn-ttl-field[hidden]{display:none}

/* сегмент переключателя режима — повторяет логику cg-seg */
.pn-seg{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font:700 10.5px var(--mono);text-transform:uppercase;letter-spacing:.12em;
  color:var(--ink-3);background:transparent;border:0;border-radius:4px;padding:9px 15px;
  transition:color .15s,background .15s,box-shadow .18s,transform .12s;
}
.pn-seg::before{content:'';width:5px;height:5px;flex:none;border-radius:50%;background:var(--line-2);transition:background .15s,transform .25s}
.pn-seg:hover{color:var(--ink);background:var(--paper-3)}
.pn-seg:hover::before{background:var(--accent)}
.pn-seg.active{background:var(--ink);color:#fff;box-shadow:0 3px 10px rgba(19,19,17,.24)}
.pn-seg.active::before{background:var(--accent)}
.pn-seg:active{transform:scale(.96)}

.pn-lock{display:inline-flex;align-items:center;justify-content:center;color:#fff}
.btn:hover .pn-lock{color:#fff}

/* статус операции */
.pn-status{font:600 11px var(--mono);letter-spacing:.04em;color:var(--ink-3);margin-left:auto}
.pn-status.pn-run{color:var(--accent)}
.pn-status.pn-run::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px;animation:blink .9s infinite;vertical-align:middle}
.pn-status.pn-warn{color:var(--amber)}
.pn-status.pn-bad{color:var(--red)}

/* результат создания — ссылка */
.pn-link-panel{animation:fadeUp .35s both;overflow:hidden}
.pn-link-meta .tag{margin-left:8px}
.pn-link-body{padding:20px 24px}
.pn-link-box.flash{animation:cardflash .7s}
.pn-link-addr{font-size:clamp(13px,1.5vw,15px);word-break:break-all}
.pn-link-hint{margin-top:14px;font:500 12px/1.6 var(--mono);color:var(--ink-2);background:var(--accent-soft);border:1px solid #d6defc;border-radius:6px;padding:12px 15px}
.pn-link-hint b{color:var(--accent-ink);font-weight:700}

/* режим просмотра */
.pn-view-panel{overflow:hidden}
.pn-view-loading{padding:30px;text-align:center;font:600 12px var(--mono);color:var(--ink-3)}
.pn-view-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.pn-view-meta{display:flex;align-items:center;gap:8px;font:500 10px var(--mono);color:var(--ink-3)}
.pn-view-text{
  margin:0;padding:20px 24px;font:500 14px/1.7 var(--mono);color:var(--ink);
  white-space:pre-wrap;word-break:break-word;background:#fff;
  border-top:1px solid var(--line);animation:fadeUp .35s both
}
.pn-view-foot{display:flex;justify-content:flex-end;padding:13px 20px;border-top:1px solid var(--line);background:var(--paper-2)}
.pn-view-error{display:flex;align-items:center;gap:16px;padding:26px 24px}
.pn-err-glyph{font:800 30px/1 var(--mono);flex:none;width:46px;height:46px;display:grid;place-items:center;border-radius:50%}
.pn-view-error b{display:block;font:700 14px var(--display);margin-bottom:4px}
.pn-view-error span{font:500 12px var(--mono);color:var(--ink-2)}
.pn-view-error.pn-bad .pn-err-glyph{background:var(--red-soft);color:var(--red)}
.pn-view-error.pn-warn .pn-err-glyph{background:var(--amber-soft);color:var(--amber)}

.pn-how{margin-top:20px}

/* скрытие рабочей области на время deep-link загрузки (без мерцания дашборда) */
#main.deep-loading{opacity:0}
@media (max-width:700px){
  .pn-options{flex-direction:column;align-items:stretch;gap:16px}
  .pn-ttl-field{min-width:0}
}
