/* ============================================================
   EDGHT — Free Tools stylesheet (editorial light theme)
   Loaded only on /tools/* pages. All widget styles are scoped
   under .tools-scope, which also re-maps the legacy tool tokens
   (--fg, --a, --card …) onto the editorial design tokens so the
   ported markup renders natively in the new palette.
   ============================================================ */

.tools-scope{
  /* legacy → editorial token bridge */
  --fg:var(--ink);
  --fg2:var(--ink-soft);
  --fg3:var(--muted);
  --a:var(--accent);
  --a-ink:var(--accent-ink);
  --card:var(--surface);
  --card2:var(--surface-2);
  --brd:var(--line);
  --brd2:var(--line-strong);
  --g:#0E9E6E;
  --gold:var(--gold);
  --r:var(--danger);
  --r12:12px;
  --r16:16px;
  --tr:.2s var(--ease);
  --grd-main:linear-gradient(135deg,var(--accent),#16a37a);
}

/* ---------- tool hero ---------- */
.tool-hero{padding:46px 0 8px}
.tool-bc{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);margin-bottom:16px;flex-wrap:wrap}
.tool-bc a{color:var(--muted);text-decoration:none}
.tool-bc a:hover{color:var(--accent)}
.tool-bc svg{width:15px;height:15px}
.tool-hero h1{margin:14px 0 12px;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2}
.tool-hero p{color:var(--ink-soft);max-width:62ch;font-size:1.02rem;line-height:1.85}
.tool-hero .neon{color:var(--accent)}
.tool-hero .grd{background:var(--grd-main,linear-gradient(135deg,#0E7C5B,#16a37a));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- shared chrome ---------- */
.tools-scope .badge,.tools-scope .eyebrow-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--accent-tint);color:var(--accent-ink);font-size:.78rem;font-weight:800;border:1px solid #cfe7dd}
.tools-scope .sec-hd{text-align:center;max-width:680px;margin:0 auto 28px}
.tools-scope .sec-hd h2{margin:14px 0 8px;font-size:clamp(1.4rem,3vw,2rem)}
.tools-scope .sec-hd p{color:var(--muted)}

/* ---------- form panel ---------- */
.dv-tool,.ng-ctrl{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm)}
.ng-tool>*+*{margin-top:24px}
.dv-tool h3,.ng-ctrl h3{font-weight:800;color:var(--ink)}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:620px){.fg-row{grid-template-columns:1fr}}
.fg{display:flex;flex-direction:column;gap:7px}
.fg label{font-size:.82rem;font-weight:700;color:var(--ink-soft)}
.fg input,.fg select,.dv-inp,.bulk-ta{width:100%;font-family:inherit;font-size:.92rem;color:var(--ink);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:12px;padding:12px 14px;transition:border-color var(--tr),box-shadow var(--tr)}
.fg input:focus,.fg select:focus,.dv-inp:focus,.bulk-ta:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.bulk-ta{min-height:150px;resize:vertical;line-height:1.7;direction:ltr;text-align:left}
.dv-inp{direction:ltr;text-align:left}

.dv-inp-row{display:flex;gap:12px;flex-wrap:wrap}
.dv-inp-row .dv-inp{flex:1;min-width:200px}

/* ---------- buttons ---------- */
.dv-btn,.btn-p{appearance:none;cursor:pointer;border:none;font-family:inherit;font-weight:800;font-size:.92rem;color:#fff;background:var(--accent);border-radius:12px;padding:12px 24px;transition:background var(--tr),transform var(--tr)}
.dv-btn:hover,.btn-p:hover{background:var(--accent-ink);transform:translateY(-1px)}
.btn-s{appearance:none;cursor:pointer;font-family:inherit;font-weight:800;font-size:.92rem;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:12px;padding:12px 22px;transition:all var(--tr)}
.btn-s:hover{border-color:var(--accent);color:var(--accent)}
.exp-btn,.copy-btn{appearance:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:.78rem;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;padding:8px 14px;transition:all var(--tr)}
.exp-btn:hover,.copy-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}

/* ---------- tabs ---------- */
.pf-btn{appearance:none;cursor:pointer;font-family:inherit;font-weight:800;font-size:.86rem;color:var(--ink-soft);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:999px;padding:10px 20px;transition:all var(--tr)}
.pf-btn:hover{border-color:var(--accent)}
.pf-btn.act{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- mode selector (domain intelligence) ---------- */
.di-modes{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:24px}
@media(max-width:900px){.di-modes{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.di-modes{grid-template-columns:repeat(2,1fr)}}
.di-mode-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:14px;border:2px solid var(--line-strong);background:var(--surface);cursor:pointer;transition:all var(--tr);text-align:center;-webkit-tap-highlight-color:transparent}
.di-mode-btn:hover{border-color:var(--accent)}
.di-mode-btn.act{border-color:var(--accent);background:var(--accent-tint)}
.di-mode-ic{font-size:1.5rem}
.di-mode-lbl{font-size:.74rem;font-weight:800;color:var(--ink-soft)}
.di-mode-btn.act .di-mode-lbl{color:var(--accent-ink)}
.di-mode-sub{font-size:.62rem;color:var(--muted);display:none}
@media(min-width:561px){.di-mode-sub{display:block}}

/* ---------- result: gauge / score circle ---------- */
.dv-res{margin-top:20px;display:none}
.dv-res.show{display:block;animation:tfade .4s var(--ease)}
@keyframes tfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.di-gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.di-gauge{position:relative;width:160px;height:160px}
.di-gauge svg{transform:rotate(-90deg)}
.di-gauge-bg{stroke:var(--line);fill:none;stroke-width:10}
.di-gauge-fill{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1),stroke .6s}
.di-gauge-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.di-gauge-num .n{font-weight:900;font-size:2.4rem;line-height:1}
.di-gauge-num .max{font-size:.7rem;color:var(--muted);margin-top:2px}
.di-tier-badge{padding:6px 18px;border-radius:50px;font-size:.78rem;font-weight:800;display:inline-flex;align-items:center;gap:6px}
.di-tier-badge.green{background:rgba(14,158,110,.12);color:#0a7d57;border:1px solid rgba(14,158,110,.3)}
.di-tier-badge.yellow{background:rgba(176,125,43,.12);color:var(--gold);border:1px solid rgba(176,125,43,.3)}
.di-tier-badge.red{background:rgba(194,65,12,.1);color:var(--danger);border:1px solid rgba(194,65,12,.3)}

.score-circle-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:8px}
.score-circle{width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:8px solid var(--accent-tint);background:var(--surface)}
.score-circle.s-high{border-color:#bfe8d8}
.score-circle.s-med{border-color:#f0e2c4}
.score-circle .sc-n{font-size:2.6rem;font-weight:900;color:var(--accent);line-height:1}
.score-circle.s-med .sc-n{color:var(--gold)}
.score-circle .sc-max{font-size:.74rem;color:var(--muted)}
.score-lbl{text-align:center;max-width:46ch;color:var(--ink-soft);font-size:.9rem;line-height:1.7}

/* ---------- price box ---------- */
.price-box{margin-top:22px;text-align:center;background:var(--accent-tint);border:1px solid #cfe7dd;border-radius:16px;padding:22px}
.pr-lbl{font-size:.8rem;font-weight:700;color:var(--accent-ink)}
.pr-val{font-size:2.2rem;font-weight:900;color:var(--accent-ink);line-height:1.2;margin:4px 0;direction:ltr}
.pr-range{font-size:.82rem;color:var(--muted);direction:ltr}

/* ---------- factor bars ---------- */
.dv-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
@media(max-width:620px){.dv-grid{grid-template-columns:1fr}}
.dv-fact{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px}
.dv-fact-lbl{font-size:.78rem;font-weight:700;color:var(--ink-soft);margin-bottom:6px}
.dv-fact-val{font-size:.84rem;font-weight:800;color:var(--accent-ink);margin-bottom:8px}
.dv-bar{height:7px;border-radius:50px;background:var(--line-strong);overflow:hidden}
.dv-bar-fill{height:100%;border-radius:50px;background:var(--grd-main,linear-gradient(135deg,#0E7C5B,#16a37a))}

/* ---------- key signals ---------- */
.signals-box,.di-signals{margin-top:24px}
.signals-box{padding:20px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px}
.signals-title{font-size:1.05rem;font-weight:800;color:var(--ink);margin-bottom:16px}
.signals-grid,.di-signals{display:flex;flex-direction:column;gap:10px}
.sig-item,.di-sig{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;background:var(--surface);border-radius:10px;font-size:.85rem;line-height:1.6}
.sig-item.pos,.di-sig.pos{border-right:4px solid var(--g)}
.sig-item.neg,.di-sig.neg{border-right:4px solid var(--r)}
.di-sig.neutral{border-right:4px solid var(--gold)}
.sig-badge,.di-sig-badge{flex-shrink:0;padding:2px 9px;border-radius:50px;font-size:.65rem;font-weight:800;white-space:nowrap}
.sig-item.pos .sig-badge,.di-sig.pos .di-sig-badge{background:rgba(14,158,110,.12);color:#0a7d57}
.sig-item.neg .sig-badge,.di-sig.neg .di-sig-badge{background:rgba(194,65,12,.1);color:var(--danger)}
.di-sig.neutral .di-sig-badge{background:rgba(176,125,43,.12);color:var(--gold)}
.sig-text,.di-sig-text{color:var(--ink-soft)}
.sig-text strong,.di-sig-text strong{color:var(--ink)}

/* ---------- mode result cards / project ideas ---------- */
.di-modes-result{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}
@media(max-width:760px){.di-modes-result{grid-template-columns:repeat(2,1fr)}}
.di-mode-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center}
.di-mode-card .mc-score{font-size:1.4rem;font-weight:900}
.di-mode-card .mc-lbl{font-size:.68rem;color:var(--muted);font-weight:700;margin-top:2px}
.di-mode-card.green .mc-score{color:#0a7d57}
.di-mode-card.yellow .mc-score{color:var(--gold)}
.di-mode-card.red .mc-score{color:var(--danger)}
.di-ideas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}
.di-idea{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:.82rem;color:var(--ink-soft);line-height:1.7;display:flex;gap:10px;align-items:flex-start}
.di-idea-n{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--grd-main,linear-gradient(135deg,#0E7C5B,#16a37a));display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;color:#fff}

/* ---------- tld comparison ---------- */
.tld-g{display:flex;flex-wrap:wrap;gap:10px}
.tld-itm{padding:8px 14px;border-radius:10px;font-size:.8rem;font-weight:700;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft);direction:ltr}
.tld-itm.com{background:var(--accent-tint);border-color:#cfe7dd;color:var(--accent-ink)}
.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:50px;background:var(--surface-2);border:1px solid var(--line);font-size:.74rem;font-weight:700;color:var(--ink-soft);margin:0 3px}

/* ---------- score pills ---------- */
.sc-pill{display:inline-block;padding:3px 11px;border-radius:50px;font-size:.74rem;font-weight:800;white-space:nowrap}
.sc-pill.high{background:rgba(14,158,110,.12);color:#0a7d57}
.sc-pill.med{background:rgba(176,125,43,.12);color:var(--gold)}
.sc-pill.low{background:rgba(194,65,12,.1);color:var(--danger)}

/* ---------- tables ---------- */
.ng-tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.ng-tbl,.bulk-res-tbl{width:100%;border-collapse:collapse;font-size:.84rem;min-width:560px}
.ng-tbl th,.bulk-res-tbl th{text-align:right;font-size:.72rem;font-weight:800;color:var(--muted);background:var(--surface-2);padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.ng-tbl td,.bulk-res-tbl td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-soft)}
.ng-tbl tr:last-child td,.bulk-res-tbl tr:last-child td{border-bottom:none}
.ng-tbl tbody tr:hover,.bulk-res-tbl tbody tr:hover{background:var(--surface-2)}
.dom-cell{font-weight:800;color:var(--ink);direction:ltr;text-align:left}
.cnt-badge{width:26px;height:26px;border-radius:7px;background:var(--accent-tint);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:800}
.ng-actions,.di-actions{display:flex;flex-wrap:wrap;gap:8px}
.di-bulk-tbl tr.row-green td:first-child{border-right:4px solid var(--g)}
.di-bulk-tbl tr.row-yellow td:first-child{border-right:4px solid var(--gold)}
.di-bulk-tbl tr.row-red td:first-child{border-right:4px solid var(--danger)}
.di-bulk-tbl tr.row-green{background:rgba(14,158,110,.05)}
.di-bulk-tbl tr.row-yellow{background:rgba(176,125,43,.05)}
.di-bulk-tbl tr.row-red{background:rgba(194,65,12,.04)}

/* ---------- generator option cards ---------- */
.ng-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:680px){.ng-opts{grid-template-columns:repeat(2,1fr)}}
.ng-opt-c{border:2px solid var(--line-strong);border-radius:14px;padding:16px 10px;text-align:center;cursor:pointer;transition:all var(--tr);background:var(--surface);-webkit-tap-highlight-color:transparent}
.ng-opt-c:hover{border-color:var(--accent)}
.ng-opt-c.sel{border-color:var(--accent);background:var(--accent-tint)}
.ng-opt-c .em2{font-size:1.5rem;margin-bottom:6px}
.ng-opt-c p{font-size:.76rem;font-weight:700;color:var(--ink-soft)}
.ng-opt-c.sel p{color:var(--accent-ink)}
.di-gen-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.di-gen-tag{padding:6px 14px;border-radius:50px;border:2px solid var(--line-strong);background:var(--surface);font-size:.74rem;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:all var(--tr);-webkit-tap-highlight-color:transparent}
.di-gen-tag.sel{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}

/* ---------- misc ---------- */
.di-credits{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:50px;background:rgba(176,125,43,.1);border:1px solid rgba(176,125,43,.3);color:var(--gold);font-size:.75rem;font-weight:800;margin-top:14px}
.di-saved-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding:10px 16px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}
.di-saved-bar span{font-size:.82rem;color:var(--ink-soft);font-weight:700}
.loading-dots{display:inline-flex;gap:6px}
.loading-dots span{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:tbounce 1s infinite ease-in-out}
.loading-dots span:nth-child(2){animation-delay:.15s}
.loading-dots span:nth-child(3){animation-delay:.3s}
@keyframes tbounce{0%,80%,100%{transform:scale(.5);opacity:.4}40%{transform:scale(1);opacity:1}}

/* ---------- tool cards (hub + info) ---------- */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.tool-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm);transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);text-decoration:none}
.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cfe7dd}
.tool-card .tc-ic{width:54px;height:54px;border-radius:14px;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin-bottom:16px}
.tool-card h3{font-size:1.15rem;color:var(--ink);margin-bottom:8px}
.tool-card p{color:var(--ink-soft);font-size:.9rem;line-height:1.75;flex:1}
.tool-card .tc-go{margin-top:16px;font-weight:800;color:var(--accent);font-size:.88rem}
.tool-card .tc-free{align-self:flex-start;margin-bottom:14px;padding:3px 12px;border-radius:50px;background:var(--accent-tint);color:var(--accent-ink);font-size:.7rem;font-weight:800}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.info-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.info-card .ic-ic{font-size:1.6rem;margin-bottom:12px}
.info-card h3{font-size:1.02rem;color:var(--ink);margin-bottom:8px}
.info-card p{color:var(--ink-soft);font-size:.86rem;line-height:1.7}
.info-card .ic-num{font-size:1.4rem;font-weight:900;color:var(--accent);margin-bottom:10px}

/* ---------- seo-keywords page ---------- */
.spd-win{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px 18px;box-shadow:var(--shadow-sm)}
.spd-rw{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--ink-soft)}
.spd-rw:last-child{border-bottom:none}
.spd-v{font-weight:900;color:var(--accent-ink)}
.kw-sec{margin-bottom:34px}
.kw-sec h3{font-size:1.1rem;color:var(--ink);margin-bottom:14px}
.kw-cloud{display:flex;flex-wrap:wrap;gap:9px}
.kw-tag{padding:7px 14px;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid transparent}
.kw-tag.hot{background:rgba(194,65,12,.08);color:var(--danger);border-color:rgba(194,65,12,.2)}
.kw-tag.med{background:rgba(176,125,43,.1);color:var(--gold);border-color:rgba(176,125,43,.22)}
.kw-tag.low{background:rgba(14,158,110,.1);color:#0a7d57;border-color:rgba(14,158,110,.22)}
.kw-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:.8rem;color:var(--muted)}
.kw-legend span{display:inline-flex;align-items:center;gap:6px}
.kw-dot{width:11px;height:11px;border-radius:50%;display:inline-block}
