/*
Theme Name: CamoCrypt
Description: Crypto security & education — technical-documentation register, dark-first, no crypto-marketing aesthetic. Classic PHP for the perf budget (JS<80KB, readable without JS). Domain-agnostic.
Version: 1.0
*/

/* ===== tokens: DARK (primary) ===== */
:root{
  --canvas:#0C0F14; --s1:#131A25; --s2:#1B2432; --hair:#2A3444;
  --t1:#E8EDF5; --t2:#A0AAB9; --t3:#6D7787;
  --accent:#4A8FE7; --threat:#E0574A; --safe:#3E9E72; --caution:#C99A3B; --defi:#A855F7;
  --cat:#4A8FE7; /* per-page category accent, overridden inline */
  --measure:700px;
  --f-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --f-disp:'Inter Tight',var(--f-body); --f-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
}
:root[data-theme="light"]{
  --canvas:#F7F9FC; --s1:#FFFFFF; --s2:#EEF2F8; --hair:#D8E0EC;
  --t1:#141A22; --t2:#4A5666; --t3:#7B8698;
  --accent:#1F6FD6; --threat:#C0392B; --safe:#2E7D55; --caution:#9A731F; --defi:#8E44C7;
}
@media (prefers-color-scheme: light){ :root:not([data-theme="dark"]){
  --canvas:#F7F9FC; --s1:#FFFFFF; --s2:#EEF2F8; --hair:#D8E0EC;
  --t1:#141A22; --t2:#4A5666; --t3:#7B8698;
  --accent:#1F6FD6; --threat:#C0392B; --safe:#2E7D55; --caution:#9A731F; --defi:#8E44C7;
}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--t1);font-family:var(--f-body);font-size:17px;line-height:1.7;
  font-feature-settings:"cv05","ss01";-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--f-disp);font-weight:700;line-height:1.18;letter-spacing:-.011em;color:var(--t1)}
h1{font-size:42px;margin:.2em 0 .3em} h2{font-size:27px;margin:2em 0 .5em} h3{font-size:22px;margin:1.6em 0 .4em} h4{font-size:19px}
@media(max-width:640px){h1{font-size:33px} h2{font-size:23px} body{font-size:16px}}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
p{margin:0 0 1.1em} img{max-width:100%;height:auto} code,kbd,samp{font-family:var(--f-mono);font-size:.9em}
.mono,.tabular{font-variant-numeric:tabular-nums}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.read{max-width:var(--measure);margin:0 auto}
hr{border:0;border-top:1px solid var(--hair);margin:2em 0}

/* ===== masthead ===== */
.top{background:var(--s1);border-bottom:1px solid var(--hair);position:sticky;top:0;z-index:40}
.top .wrap{display:flex;align-items:center;gap:22px;height:60px}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--f-disp);font-weight:700;font-size:20px;color:var(--t1)}
.brand:hover{text-decoration:none}
.brand .mk{display:inline-grid;place-items:center;width:26px;height:26px;border:1.5px solid var(--accent);border-radius:6px;color:var(--accent);font-size:14px;font-weight:800}
.nav{display:flex;gap:18px;margin-left:6px;flex:1}
.nav a{color:var(--t2);font-size:14.5px;font-weight:500} .nav a:hover{color:var(--t1);text-decoration:none}
.top .tools{display:flex;gap:10px;align-items:center}
.tgl{background:var(--s2);border:1px solid var(--hair);color:var(--t2);border-radius:7px;width:34px;height:34px;cursor:pointer;display:grid;place-items:center}
.tgl:hover{color:var(--t1)}
.menu-btn{display:none;background:var(--s2);border:1px solid var(--hair);color:var(--t1);border-radius:7px;width:34px;height:34px;cursor:pointer}
@media(max-width:860px){.nav{display:none;position:absolute;top:60px;left:0;right:0;background:var(--s1);border-bottom:1px solid var(--hair);flex-direction:column;padding:10px 22px}
  .nav.open{display:flex} .menu-btn{display:block}}

/* ===== article ===== */
.lead{color:var(--t2);font-size:19px;line-height:1.6;margin:.4em 0 1.2em}
.crumb{font-size:13px;color:var(--t3);margin:22px 0 8px} .crumb a{color:var(--t3)} .crumb a:hover{color:var(--t2)}
.chip{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--cat);color:var(--cat)}
.article{padding:0 0 60px}
.prose{font-size:17px}
.prose h2{scroll-margin-top:80px} .prose h3{scroll-margin-top:80px}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.1em} .prose li{margin:.3em 0}
.prose blockquote{margin:1.4em 0;padding:.4em 0 .4em 1.1em;border-left:3px solid var(--cat);color:var(--t2)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;margin:1.4em 0} .prose th,.prose td{border:1px solid var(--hair);padding:9px 12px;text-align:left} .prose th{background:var(--s2);font-family:var(--f-disp)}
.prose a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}

/* byline */
.byline{display:flex;align-items:center;gap:12px;margin:16px 0 26px;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.byline .av{width:42px;height:42px;border-radius:50%;background:var(--s2);border:1px solid var(--hair);display:grid;place-items:center;font-family:var(--f-disp);font-weight:700;color:var(--accent);flex:0 0 auto}
.byline .who{font-size:14px} .byline .who b{color:var(--t1)} .byline .who span{color:var(--t3);display:block;font-size:13px}

/* ===== components ===== */
.quick{border:1px solid var(--hair);border-left:3px solid var(--accent);border-radius:8px;padding:16px 18px;margin:0 0 22px;background:transparent}
.quick .k{font-family:var(--f-disp);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}
.quick p{margin:0;color:var(--t1)}
.keypts{border:1px solid var(--hair);border-radius:8px;padding:14px 18px 14px 20px;margin:0 0 22px;background:var(--s1)}
.keypts .k{font-family:var(--f-disp);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);margin:0 0 8px}
.keypts ul{margin:0;padding-left:1.1em} .keypts li{margin:.35em 0}
.threatbox{border:1px solid var(--threat);border-radius:10px;overflow:hidden;margin:0 0 24px;background:color-mix(in srgb,var(--threat) 7%,var(--s1))}
.threatbox .hd{background:color-mix(in srgb,var(--threat) 16%,transparent);padding:8px 16px;font-family:var(--f-disp);font-weight:700;color:var(--threat);font-size:13px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.threatbox .gr{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--hair)}
.threatbox .c{background:var(--s1);padding:12px 16px} .threatbox .c .l{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--t3);margin:0 0 3px} .threatbox .c .v{font-weight:600;color:var(--t1);font-size:15px}
.tell{border-left:3px solid var(--threat);background:color-mix(in srgb,var(--threat) 8%,var(--s1));border-radius:0 8px 8px 0;padding:14px 18px;margin:0 0 22px}
.tell .k{font-family:var(--f-disp);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--threat);margin:0 0 5px}
.tell p{margin:0;color:var(--t1)}
.donow{border:1px solid var(--safe);border-radius:10px;padding:16px 18px 16px 20px;margin:0 0 22px;background:color-mix(in srgb,var(--safe) 7%,var(--s1))}
.donow .k{font-family:var(--f-disp);font-weight:700;color:var(--safe);font-size:14px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px}
.donow ol{margin:0;padding-left:1.3em;counter-reset:d} .donow li{margin:.5em 0;font-weight:500}
.never{border:1px solid var(--threat);border-radius:10px;padding:16px 18px 16px 20px;margin:0 0 22px;background:color-mix(in srgb,var(--threat) 7%,var(--s1))}
.never .k{font-family:var(--f-disp);font-weight:700;color:var(--threat);font-size:14px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px}
.never ul{margin:0;padding-left:1.2em} .never li{margin:.45em 0}
.addr{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:14px;background:var(--s2);border:1px solid var(--hair);border-radius:6px;padding:5px 10px;color:var(--t1)}
.addr button{background:transparent;border:0;color:var(--t3);cursor:pointer;font-size:12px} .addr button:hover{color:var(--accent)}
pre{background:var(--s2);border:1px solid var(--hair);border-radius:8px;padding:14px 16px;overflow-x:auto;font-family:var(--f-mono);font-size:14px;line-height:1.55;margin:0 0 22px}
.risknote{border-top:1px solid var(--hair);margin:30px 0 0;padding:14px 0;color:var(--t3);font-size:13.5px}
.risknote b{color:var(--caution)}
.faqs{margin:36px 0 0} .faqs h2{margin-bottom:.4em}
.faqs details{border-bottom:1px solid var(--hair);padding:12px 0} .faqs summary{cursor:pointer;font-family:var(--f-disp);font-weight:600;color:var(--t1);list-style:none}
.faqs summary::-webkit-details-marker{display:none} .faqs summary::before{content:"+";color:var(--accent);margin-right:9px} .faqs details[open] summary::before{content:"–"}
.faqs .a{color:var(--t2);padding:8px 0 2px}
.toc{border:1px solid var(--hair);border-radius:8px;padding:14px 18px;margin:0 0 24px;background:var(--s1);font-size:14.5px}
.toc .k{font-family:var(--f-disp);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin:0 0 6px}
.toc a{color:var(--t2);display:block;padding:2px 0} .toc a:hover{color:var(--accent);text-decoration:none}

/* ===== cards / archive / home ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin:0 0 40px}
.card{display:block;background:var(--s1);border:1px solid var(--hair);border-radius:10px;padding:18px 18px 16px;transition:border-color .15s}
.card:hover{border-color:var(--cat);text-decoration:none} .card .chip{margin:0 0 10px}
.card h3{margin:.1em 0 .3em;font-size:19px;color:var(--t1)} .card p{color:var(--t2);font-size:14.5px;margin:0}
.card .meta{color:var(--t3);font-size:12.5px;margin-top:10px}
.hero{padding:54px 0 20px;border-bottom:1px solid var(--hair)}
.hero h1{font-size:46px;max-width:16ch} .hero .lead{max-width:60ch;font-size:20px}
@media(max-width:640px){.hero h1{font-size:32px}}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;margin:40px 0 14px;border-bottom:1px solid var(--hair);padding-bottom:8px}
.sec-h h2{margin:0;font-size:22px} .sec-h a{font-size:14px;color:var(--t2)}
.gloss-card{border:1px solid var(--hair);border-radius:8px;padding:14px 16px;background:var(--s1)}
.gloss-card h3{margin:0 0 4px;font-size:17px} .gloss-card p{margin:0;color:var(--t2);font-size:14px}

/* ===== footer ===== */
.foot{background:var(--s1);border-top:1px solid var(--hair);margin-top:50px;padding:40px 0 30px;color:var(--t2);font-size:14px}
.foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:26px}
@media(max-width:760px){.foot .cols{grid-template-columns:1fr}}
.foot h4{font-family:var(--f-disp);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);margin:0 0 10px}
.foot a{color:var(--t2);display:block;padding:2px 0} .foot a:hover{color:var(--t1)}
.foot .disc{border-top:1px solid var(--hair);padding-top:16px;color:var(--t3);font-size:12.5px;line-height:1.6}
.foot .disc b{color:var(--t2)}
.skip{position:absolute;left:-999px} .skip:focus{left:8px;top:8px;background:var(--accent);color:#fff;padding:8px;z-index:99}

/* ===== pillar hub (category long-form) — eye-catching listicle ===== */
.cc-pillar .pillar-h1{font-size:46px;letter-spacing:-.02em;margin:.15em 0 .35em}
@media(max-width:640px){.cc-pillar .pillar-h1{font-size:32px}}
.cc-pillar .prose h2{position:relative;font-size:28px;margin:1.9em 0 .55em;padding:14px 0 0;border-top:1px solid var(--hair);counter-increment:cc}
.cc-pillar .prose h2::before{content:counter(cc,decimal-leading-zero);display:inline-block;font-family:var(--f-mono);font-size:15px;color:var(--cat);letter-spacing:.06em;margin-right:12px;vertical-align:2px}
.cc-pillar .prose{counter-reset:cc}
.cc-pillar .prose h3{font-size:20px;margin:1.5em 0 .35em;padding-left:12px;border-left:3px solid var(--cat)}
.cc-pillar .prose table{width:100%;border-collapse:collapse;font-size:14.5px;margin:1.5em 0;border:1px solid var(--hair);border-radius:8px;overflow:hidden}
.cc-pillar .prose thead th{background:color-mix(in srgb,var(--cat) 14%,var(--s2));color:var(--t1);font-family:var(--f-disp);text-align:left;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase}
.cc-pillar .prose th,.cc-pillar .prose td{border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);padding:10px 13px;vertical-align:top}
.cc-pillar .prose tbody tr:nth-child(even){background:var(--s1)}
.cc-pillar .prose blockquote{margin:1.5em 0;padding:14px 18px;border:0;border-left:3px solid var(--caution);background:color-mix(in srgb,var(--caution) 8%,var(--s1));border-radius:0 8px 8px 0;color:var(--t1)}
.cc-pillar .prose blockquote p:last-child{margin-bottom:0}
.cc-pillar .prose ul li::marker{color:var(--cat)}
.cc-pillar .prose ol li::marker{color:var(--cat);font-family:var(--f-mono);font-weight:600}
.cc-pillar .prose > ol{counter-reset:none}
.cc-pillar .prose h2 a,.cc-pillar .prose h3 a{color:inherit}

/* ===== pillar visual upgrade v2 ===== */
.cc-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--cat,#4A8FE7);z-index:60;transition:width .1s linear}
.cc-pillar .pillar-hero{background:linear-gradient(180deg,color-mix(in srgb,var(--cat) 10%,var(--s1)) 0%,var(--s1) 100%);border-bottom:1px solid var(--hair);border-top:3px solid var(--cat);padding:30px 0 26px;margin-bottom:8px}
.cc-pillar .pillar-hero .pillar-h1{font-size:48px;line-height:1.08;margin:.18em 0 .3em;background:none}
@media(max-width:640px){.cc-pillar .pillar-hero .pillar-h1{font-size:31px}}
.cc-pillar .pillar-hero .lead{font-size:20px;color:var(--t2);max-width:62ch}
.pillar-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pillar-meta span{font-size:12.5px;color:var(--t2);background:var(--s2);border:1px solid var(--hair);border-radius:999px;padding:5px 12px}
.pillar-meta span b{color:var(--t1);font-variant-numeric:tabular-nums}
.pillar-meta .ok{color:var(--safe);border-color:color-mix(in srgb,var(--safe) 40%,var(--hair))}
.pillar-body{padding-top:22px}
.quick-lg{border-left-width:4px;padding:18px 20px;background:color-mix(in srgb,var(--cat) 6%,transparent)}
.quick-lg p:last-child{font-size:18px;line-height:1.6}

/* chip TOC */
.toc-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 26px;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.toc-chips .k{font-family:var(--f-disp);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-right:4px}
.toc-chips a{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--t2);background:var(--s1);border:1px solid var(--hair);border-radius:8px;padding:6px 12px}
.toc-chips a:hover{color:var(--t1);border-color:var(--cat);text-decoration:none}
.toc-chips a i{font-family:var(--f-mono);font-style:normal;font-size:11px;color:var(--cat);font-weight:600}

/* key-point cards */
.kp-block{margin:0 0 30px}
.kp-h{font-family:var(--f-disp);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);margin:0 0 12px}
.kp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.kp-card{position:relative;background:var(--s1);border:1px solid var(--hair);border-radius:10px;padding:16px 16px 16px 16px;border-top:2px solid var(--cat)}
.kp-card .kp-n{font-family:var(--f-mono);font-size:12px;color:var(--cat);font-weight:600;letter-spacing:.05em}
.kp-card p{margin:.35em 0 0;font-size:14.5px;color:var(--t1);line-height:1.55}

/* filled section-number badges on H2 */
.cc-pillar .prose h2{border-top:0;padding-top:0;margin:2em 0 .6em;display:flex;align-items:center;gap:14px;font-size:27px}
.cc-pillar .prose h2::before{content:counter(cc,decimal-leading-zero);counter-increment:cc;display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:10px;background:var(--cat);color:#0b0f14;font-family:var(--f-mono);font-size:14px;font-weight:700;letter-spacing:0;margin:0}
.cc-pillar .prose h2::after{content:"";flex:1;height:1px;background:var(--hair)}
:root[data-theme="light"] .cc-pillar .prose h2::before,@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) .cc-pillar .prose h2::before{color:#fff}}

/* H3 wallet-type headers as labeled cards */
.cc-pillar .prose h3{margin:1.7em 0 .5em;padding:10px 0 10px 16px;border-left:4px solid var(--cat);border-bottom:1px solid var(--hair);font-size:21px}

/* premium comparison tables */
.cc-pillar .prose table{box-shadow:0 1px 0 var(--hair),0 8px 24px -18px rgba(0,0,0,.5)}
.cc-pillar .prose tbody tr:hover{background:color-mix(in srgb,var(--cat) 6%,var(--s1))}
.cc-pillar .prose tbody td:first-child{font-weight:600;color:var(--t1)}

/* callout blockquotes with mark */
.cc-pillar .prose blockquote{position:relative;padding-left:46px}
.cc-pillar .prose blockquote::before{content:"!";position:absolute;left:14px;top:14px;width:20px;height:20px;border-radius:50%;background:var(--caution);color:#0b0f14;display:grid;place-items:center;font-family:var(--f-disp);font-weight:800;font-size:13px}

/* ===== top-10 featured table ===== */
.toplist{margin:4px 0 30px;border:1px solid var(--hair);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--cat) 8%,var(--s1)),var(--s1));overflow:hidden}
.toplist-h{padding:18px 20px 6px}
.toplist-h h2{margin:0 0 6px;font-size:22px;display:flex;align-items:center;gap:10px}
.toplist-h h2::before{content:"★";color:var(--cat);font-size:18px}
.toplist-sub{margin:0;font-size:13px;color:var(--t3);line-height:1.55;max-width:70ch}
.toplist-sub a{color:var(--cat)}
.toplist-scroll{overflow-x:auto;padding:12px 12px 14px}
.toplist table.tl{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;font-size:14px;margin:0}
.toplist table.tl thead th{position:sticky;top:0;background:color-mix(in srgb,var(--cat) 16%,var(--s2));color:var(--t1);font-family:var(--f-disp);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:11px 14px;border-bottom:1px solid var(--hair)}
.toplist table.tl td{padding:11px 14px;border-bottom:1px solid var(--hair);color:var(--t2);vertical-align:middle}
.toplist table.tl tbody tr:last-child td{border-bottom:0}
.toplist table.tl tbody tr:nth-child(even){background:color-mix(in srgb,var(--cat) 4%,transparent)}
.toplist table.tl tbody tr:hover{background:color-mix(in srgb,var(--cat) 9%,transparent)}
.toplist .tl-n{width:44px;text-align:center;font-family:var(--f-mono);font-weight:600;color:var(--cat);font-size:13px}
.toplist .tl-name{font-family:var(--f-disp);font-weight:600;color:var(--t1);font-size:15px;white-space:nowrap}
