/* Shared theme + tool-nav for /tools/<slug>/ pages. */
:root,html[data-theme="dark"]{
  --bg:#0a0a1a;--bg2:#111128;--bg3:#1a1a3e;--card:#16163a;--border:#2a2a5e;
  --text:#e2e8f0;--text-light:#94a3b8;--gold:#f59e0b;--green:#10b981;
  --green-bg:rgba(16,185,129,.12);--red:#ef4444;--red-bg:rgba(239,68,68,.12);
  --amber:#f59e0b;--amber-bg:rgba(245,158,11,.12);--blue:#3b82f6;
  --blue-bg:rgba(59,130,246,.12);--purple:#8b5cf6;
  --r:10px;
  --font:'Segoe UI',system-ui,-apple-system,sans-serif;
  --mono:'Cascadia Code','Fira Code',Consolas,monospace;
  --hdr-bg:linear-gradient(135deg,#0a0a1a 0%,#1a1040 50%,#0a2040 100%);
}
html[data-theme="light"]{
  --bg:#f8f9fa;--bg2:#eef0f2;--bg3:#e2e5e9;--card:#fff;--border:#d1d5db;
  --text:#1a1a2e;--text-light:#4b5563;--gold:#d97706;--green:#059669;
  --green-bg:rgba(5,150,105,.1);--red:#dc2626;--red-bg:rgba(220,38,38,.08);
  --amber:#d97706;--amber-bg:rgba(217,119,6,.08);--blue:#2563eb;
  --blue-bg:rgba(37,99,235,.08);--purple:#7c3aed;
  --hdr-bg:linear-gradient(135deg,#1e293b 0%,#312e81 50%,#1e3a5f 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}
a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}
.hdr{background:var(--hdr-bg);border-bottom:1px solid var(--border);padding:2rem 1.5rem;text-align:center;position:relative}
.theme-btn{position:absolute;top:1rem;right:1.5rem;background:var(--bg3);border:1px solid var(--border);color:var(--text);width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.hdr h1{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,var(--gold),#fbbf24,var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hdr p{color:#cbd5e1;font-size:.9rem;max-width:740px;margin:.3rem auto 0}
html[data-theme="light"] .hdr p{color:#e2e8f0}
.shell{max-width:1100px;margin:0 auto;padding:1.5rem}
.cd{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem;margin-bottom:1rem}
.cd h2{font-size:1.05rem;font-weight:700;margin-bottom:.5rem}
.cd h3{font-size:.9rem;font-weight:700;margin:1rem 0 .4rem;color:var(--gold)}
.cd .sub{font-size:.82rem;color:var(--text-light);margin-bottom:.75rem}
input,select,textarea{padding:.6rem .8rem;border:1px solid var(--border);border-radius:6px;background:var(--bg2);color:var(--text);font-size:.85rem;font-family:var(--font);outline:none;width:100%}
textarea{font-family:var(--mono);font-size:.82rem;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
label{font-size:.72rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:.25rem}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}
.btn-primary{padding:.65rem 1.3rem;background:var(--gold);color:#000;border:none;border-radius:8px;font-weight:700;font-size:.85rem;cursor:pointer}
.btn-primary:hover{background:#fbbf24}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-secondary{padding:.55rem 1rem;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:8px;font-weight:600;font-size:.8rem;cursor:pointer}
.tbl{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.5rem}
.tbl th,.tbl td{padding:.45rem .6rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.tbl th{font-size:.7rem;text-transform:uppercase;color:var(--text-light);background:var(--bg2)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin:.75rem 0}
.stat{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:.7rem;text-align:center}
.stat-val{font-size:1.4rem;font-weight:800;color:var(--gold)}
.stat-val.good{color:var(--green)}.stat-val.ok{color:var(--amber)}.stat-val.bad{color:var(--red)}
.stat-lbl{font-size:.7rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em}
.spin{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
.progress{height:6px;background:var(--bg3);border-radius:99px;overflow:hidden;margin:.5rem 0}
.progress > span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--green));transition:width .3s}
.chk{display:flex;align-items:flex-start;gap:.55rem;padding:.5rem 0;border-bottom:1px solid rgba(128,128,128,.12);font-size:.85rem}
.chk-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;font-weight:800;margin-top:1px}
.chk-pass .chk-icon{background:var(--green-bg);color:var(--green)}
.chk-fail .chk-icon{background:var(--red-bg);color:var(--red)}
.chk-warn .chk-icon{background:var(--amber-bg);color:var(--amber)}
.chk-info .chk-icon{background:var(--blue-bg);color:var(--blue)}
.chk-title{font-weight:600}
.chk-detail{font-size:.78rem;color:var(--text-light);margin-top:.15rem}
.code-blk{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem;font-family:var(--mono);font-size:.72rem;overflow:auto;white-space:pre-wrap;word-break:break-word;color:var(--text-light);max-height:420px}
.tag{display:inline-flex;font-size:.66rem;padding:.12rem .45rem;border-radius:99px;font-weight:700;margin-right:.25rem;background:var(--bg3);color:var(--text-light)}
.tag-ok{background:rgba(16,185,129,.18);color:var(--green)}
.tag-warn{background:rgba(217,119,6,.18);color:var(--amber)}
.tag-bad{background:rgba(239,68,68,.18);color:var(--red)}
.grade{font-size:2.6rem;font-weight:900}
.grade.A{color:var(--green)}.grade.B{color:#65a30d}.grade.C{color:var(--amber)}.grade.D{color:#ea580c}.grade.F{color:var(--red)}

/* ─── Tool nav v2 — compact bar + searchable dropdown panel ────────────── */
.tool-nav{background:#111128;border-bottom:1px solid #2a2a5e;padding:.5rem 0;position:sticky;top:0;z-index:60}
.tool-nav-inner{max-width:1200px;margin:0 auto;padding:0 .75rem;display:flex;align-items:center;gap:.6rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tool-nav-inner::-webkit-scrollbar{display:none}

/* Primary menu trigger */
.tn-menu-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.48rem .85rem;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4);color:#f59e0b;font-size:.82rem;font-weight:800;border-radius:8px;cursor:pointer;font-family:inherit;white-space:nowrap;flex-shrink:0;transition:background .15s}
.tn-menu-btn:hover{background:rgba(245,158,11,.2)}
.tn-menu-btn[aria-expanded="true"]{background:rgba(245,158,11,.25);border-color:#f59e0b}
.tn-menu-btn[aria-expanded="true"] .tn-chev{transform:rotate(180deg)}
.tn-menu-btn .tn-chev{transition:transform .18s}

/* Current tool chip (shown between trigger and quickbar on desktop; hidden on narrow mobile) */
.tn-current{display:inline-flex;align-items:center;font-size:.74rem;font-weight:700;color:#cbd5e1;padding:.34rem .7rem;background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.2);border-radius:99px;white-space:nowrap;flex-shrink:0}

/* Horizontal featured quickbar (scrolls horizontally when cramped) */
.tn-quickbar{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tn-quickbar::-webkit-scrollbar{display:none}
.tn-quick{font-size:.72rem;font-weight:700;color:#94a3b8;padding:.38rem .6rem;border-radius:6px;text-decoration:none;white-space:nowrap;border:1px solid transparent;transition:all .12s;flex-shrink:0}
.tn-quick:hover{color:#e2e8f0;background:rgba(255,255,255,.05);text-decoration:none}
.tn-quick.active{color:#000;background:linear-gradient(135deg,#f59e0b,#fbbf24);font-weight:800;box-shadow:0 2px 8px rgba(245,158,11,.3);border-color:#f59e0b}
.tn-quick.tn-hub{color:#fbbf24;font-weight:800;margin-left:auto}

/* Panel — desktop: dropdown; mobile: full-screen */
.tn-panel{position:absolute;top:100%;left:0;right:0;max-width:1200px;margin:0 auto;background:#0f1020;border:1px solid #2a2a5e;border-top:none;border-radius:0 0 12px 12px;box-shadow:0 14px 36px rgba(0,0,0,.55);z-index:55;display:none;flex-direction:column;max-height:calc(100vh - 70px)}
.tn-panel[open],.tool-nav[data-open] .tn-panel{display:flex}
.tn-panel-head{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border-bottom:1px solid #2a2a5e;background:#111128}
.tn-search-wrap{position:relative;flex:1;min-width:0}
.tn-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}
.tn-search{width:100%;padding:.6rem 5rem .6rem 2.2rem;border:1px solid #2a2a5e;border-radius:8px;background:#1a1a3e;color:#e2e8f0;font-size:.88rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.tn-search:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.2)}
.tn-search::placeholder{color:#64748b}
.tn-hint{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);font-size:.62rem;color:#64748b;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.18);padding:.1rem .45rem;border-radius:99px;pointer-events:none;white-space:nowrap}
.tn-close{background:transparent;border:none;color:#94a3b8;font-size:1.6rem;line-height:1;cursor:pointer;padding:0 .5rem;flex-shrink:0}
.tn-close:hover{color:#e2e8f0}
.tn-panel-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.65rem .9rem 1rem;flex:1}
.tn-group{margin-bottom:1rem}
.tn-group-header{display:flex;align-items:center;gap:.5rem;padding:.55rem 0 .35rem;cursor:pointer;user-select:none;color:#e2e8f0;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #1e293b;margin-bottom:.5rem;background:transparent;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-family:inherit}
.tn-group-header .tn-caret{margin-left:auto;transition:transform .18s;flex-shrink:0}
.tn-group[data-collapsed="true"] .tn-caret{transform:rotate(-90deg)}
.tn-group[data-collapsed="true"] .tn-group-list{display:none}
.tn-group-count{font-size:.62rem;color:#94a3b8;background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.18);padding:.1rem .45rem;border-radius:99px;font-weight:700;letter-spacing:.02em;text-transform:none}
.tn-group-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.35rem}
.tn-item{display:flex;flex-direction:column;padding:.55rem .7rem;background:#16163a;border:1px solid #2a2a5e;border-radius:8px;text-decoration:none;color:#e2e8f0;transition:border-color .12s,transform .12s}
.tn-item:hover{border-color:#f59e0b;transform:translateY(-1px);text-decoration:none}
.tn-item[data-featured="true"]{border-left:3px solid #f59e0b;background:linear-gradient(180deg,rgba(245,158,11,.07),#16163a)}
.tn-item.active{border-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.18),#1a1a40)}
.tn-item-title{font-size:.82rem;font-weight:800;color:#e2e8f0;line-height:1.25}
.tn-item-desc{font-size:.68rem;color:#94a3b8;margin-top:.2rem;line-height:1.5}
.tn-empty{text-align:center;padding:2rem 1rem;color:#94a3b8;font-size:.82rem}

/* Mobile adjustments */
@media (max-width:640px){
  .tool-nav{padding:.45rem 0}
  .tn-current{display:none}
  .tn-quick{font-size:.68rem;padding:.3rem .5rem}
  .tn-panel{position:fixed;top:0;left:0;right:0;bottom:0;max-height:100vh;max-width:none;margin:0;border-radius:0;border:none;z-index:100}
  .tn-panel-head{padding-top:max(.7rem,env(safe-area-inset-top));padding-bottom:.7rem;position:sticky;top:0;z-index:2}
  .tn-group-list{grid-template-columns:1fr}
  .tn-search{font-size:16px} /* prevent iOS zoom on focus */
}

/* Light theme overrides */
html[data-theme="light"] .tool-nav{background:#1e293b;border-bottom-color:#334155}
html[data-theme="light"] .tn-current{color:#e2e8f0}
html[data-theme="light"] .tn-panel{background:#ffffff;border-color:#e5e7eb}
html[data-theme="light"] .tn-panel-head{background:#f8fafc;border-bottom-color:#e5e7eb}
html[data-theme="light"] .tn-search{background:#ffffff;color:#1a1a2e;border-color:#d1d5db}
html[data-theme="light"] .tn-group-header{color:#1a1a2e;border-bottom-color:#e5e7eb}
html[data-theme="light"] .tn-item{background:#f8fafc;border-color:#e5e7eb;color:#1a1a2e}
html[data-theme="light"] .tn-item-title{color:#1a1a2e}
html[data-theme="light"] .tn-item-desc{color:#475569}
html[data-theme="light"] .tn-item[data-featured="true"]{background:linear-gradient(180deg,rgba(217,119,6,.08),#f8fafc)}
html[data-theme="light"] .tn-close{color:#475569}
html[data-theme="light"] .tn-close:hover{color:#0f172a}

/* AI-prompt ready pulse */
.ai-prompt-ready-btn{position:relative}
.ai-prompt-ready-btn.ready-flash{box-shadow:0 0 0 0 rgba(245,158,11,.65);animation:readyPulseGold 1.6s ease-out 3}
.ai-prompt-ready-btn.ready-flash::after{content:'READY';position:absolute;top:-8px;right:-10px;font-size:.58rem;font-weight:900;letter-spacing:.08em;background:#0f172a;color:#f59e0b;padding:.14rem .42rem;border-radius:99px;box-shadow:0 2px 6px rgba(15,23,42,.4)}
@keyframes readyPulseGold{0%{box-shadow:0 0 0 0 rgba(245,158,11,.6)}70%{box-shadow:0 0 0 14px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}

/* Footer */
.tool-footer{max-width:1100px;margin:2rem auto 0;padding:1.5rem;border-top:1px solid var(--border)}
.tool-footer-inner{font-size:.7rem;color:#64748b;line-height:1.6;max-width:800px;margin:0 auto;text-align:center}
.tool-footer-inner a{color:#94a3b8}
