/*
Theme Name: CodeCraftGuide PCB Circuit Board
Theme URI: https://codecraftguide.com/
Author: CodeCraftGuide
Description: A classic WordPress news/business publishing theme built as a solid matte PCB surface with meaningful copper traces, solder pads, silkscreen labels and datasheet article pages.
Version: 2.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: codecraftguide-pcb
Domain Path: /languages
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* =========================================================
   STEP 0A — DESIGN PROOF: EXACT PCB TOKENS
   ========================================================= */
:root{
 --ccg-mask-green:#0E3A2A;--ccg-mask-deep:#082017;--ccg-mask-blue:#10263F;--ccg-mask-cream:#E6E4D8;
 --ccg-copper:#C9A227;--ccg-copper-hi:#E3C158;--ccg-solder:#B8BCC4;
 --ccg-silk:#E8EDE9;--ccg-silk-dim:#8FA79C;--ccg-silk-dim-aa:#A3B8AE;
 --ccg-panel:#F2F0E9;--ccg-panel-light:#FBFAF6;--ccg-ink:#14171A;
 --ccg-led:#E2453A;--ccg-led-small:#EC6259;--ccg-link-copper-dark:#8A6E15;
 --ccg-trace:3px;--ccg-trace-gap:6px;--ccg-pad:14px;--ccg-pad-hole:5px;--ccg-via:8px;--ccg-via-hole:3px;
 --ccg-chamfer:6px;--ccg-outline:1px;--ccg-header-h:84px;--ccg-reading:900px;--ccg-breakout:1160px;--ccg-container:1440px;
}

/* =========================================================
   STEP 0B.1 — COPPER TRACE WITH A REAL 45° ELBOW
   Three pieces: horizontal segment + vertical segment +
   rotated square/chamfer at the joint. No curves.
   ========================================================= */
.ccg-trace-elbow{position:relative;display:block;width:46%;height:72px;pointer-events:none}
.ccg-trace-elbow::before,.ccg-trace-elbow::after,.ccg-trace-elbow>i{content:"";position:absolute;display:block;background:var(--ccg-copper)}
.ccg-trace-elbow::before{left:0;top:0;width:100%;height:var(--ccg-trace)}
.ccg-trace-elbow::after{right:0;top:0;width:var(--ccg-trace);height:100%}
.ccg-trace-elbow>i{right:-2px;top:-2px;width:8px;height:8px;transform:rotate(45deg);transform-origin:center}

/* =========================================================
   STEP 0B.2 — SOLDER PAD + VIA: annular ring + hole
   ========================================================= */
.ccg-pad,.ccg-via{position:relative;display:inline-block;flex:0 0 auto;border-radius:50%;box-sizing:border-box}
.ccg-pad{width:var(--ccg-pad);height:var(--ccg-pad);background:var(--ccg-copper);border:1px solid var(--ccg-copper-hi)}
.ccg-pad::after{content:"";position:absolute;width:var(--ccg-pad-hole);height:var(--ccg-pad-hole);left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--ccg-mask-green)}
.ccg-via{width:var(--ccg-via);height:var(--ccg-via);background:var(--ccg-solder);border:1px solid var(--ccg-silk-dim-aa)}
.ccg-via::after{content:"";position:absolute;width:var(--ccg-via-hole);height:var(--ccg-via-hole);left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--ccg-mask-green)}

/* =========================================================
   STEP 0B.3 — SILKSCREEN LABEL + COMPONENT OUTLINE
   ========================================================= */
.ccg-component{position:relative;border:var(--ccg-outline) solid var(--ccg-silk);padding:24px}
.ccg-component__label{position:absolute;z-index:4;top:-9px;left:18px;padding:2px 7px;background:var(--ccg-mask-green);color:var(--ccg-silk);font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase}

/* =========================================================
   PCB MATERIAL + TYPE
   ========================================================= */
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ccg-mask-deep)}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--ccg-mask-green);color:var(--ccg-silk);font-family:"Segoe UI",Arial,Helvetica,sans-serif;text-rendering:optimizeLegibility}body.admin-bar .ccg-site-header{top:32px}a{color:inherit}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button{color:inherit}.ccg-shell{width:min(var(--ccg-container),calc(100% - 48px));margin-inline:auto}.ccg-main{position:relative;z-index:2}.ccg-board{position:relative;padding:48px 0 76px}.ccg-mask-texture{position:fixed;z-index:0;inset:0;pointer-events:none;opacity:.03;background-image:repeating-linear-gradient(0deg,transparent 0 5px,rgba(232,237,233,.72) 5px 6px)}
.ccg-kicker,.ccg-component__label,.ccg-meta,.ccg-trust-strip,.ccg-silk-row__designator,.ccg-silk-row__section,.ccg-ad__label,.ccg-marginalia,.ccg-toc,.ccg-search-panel__top,.ccg-test-point span,.ccg-footer-category span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}.ccg-kicker{margin:0 0 9px;color:var(--ccg-copper-hi);font-size:12px;line-height:1.3;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3,.ccg-nav a{font-family:"Arial Narrow","Roboto Condensed","Segoe UI",Arial,sans-serif;font-stretch:condensed}h1,h2,h3{letter-spacing:.03em}.ccg-skip-link{position:fixed;z-index:9999;left:16px;top:-100px;padding:12px 16px;background:var(--ccg-panel);color:var(--ccg-ink)}.ccg-skip-link:focus{top:16px}
.ccg-mount{position:fixed;z-index:60;width:16px;height:16px;border:2px solid var(--ccg-silk);border-radius:50%;background:var(--ccg-mask-deep);pointer-events:none}.ccg-mount--tl{top:12px;left:12px}.ccg-mount--tr{top:12px;right:12px}.ccg-mount--bl{bottom:12px;left:12px}.ccg-mount--br{bottom:12px;right:12px}.ccg-chamfer{overflow:visible}@supports (clip-path:polygon(0 0)){.ccg-chamfer{clip-path:polygon(var(--ccg-chamfer) 0,calc(100% - var(--ccg-chamfer)) 0,100% var(--ccg-chamfer),100% calc(100% - var(--ccg-chamfer)),calc(100% - var(--ccg-chamfer)) 100%,var(--ccg-chamfer) 100%,0 calc(100% - var(--ccg-chamfer)),0 var(--ccg-chamfer))}}

/* focus: board vs datasheet */
.ccg-site-header a:focus-visible,.ccg-site-header button:focus-visible,.ccg-board a:focus-visible,.ccg-board button:focus-visible,.ccg-site-footer a:focus-visible,.ccg-related a:focus-visible,.ccg-article-hero a:focus-visible,.ccg-archive a:focus-visible,.ccg-404 a:focus-visible{outline:3px solid var(--ccg-copper-hi);outline-offset:2px;box-shadow:0 0 0 2px var(--ccg-mask-deep)}.ccg-datasheet-surface a:focus-visible,.ccg-datasheet-surface button:focus-visible,.ccg-datasheet-surface input:focus-visible,.ccg-page-paper a:focus-visible{outline:3px solid var(--ccg-ink);outline-offset:2px;box-shadow:0 0 0 2px var(--ccg-panel)}

/* =========================================================
   HEADER — top edge + navigation-to-bus routing
   ========================================================= */
.ccg-site-header{position:sticky;z-index:50;top:0;background:var(--ccg-mask-deep);border-bottom:1px solid var(--ccg-silk-dim);transition:min-height .14s ease}.ccg-header__inner{position:relative;display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(180px,1fr);align-items:center;gap:24px;min-height:84px;transition:min-height .14s ease}.ccg-scrolled .ccg-header__inner{min-height:58px}.ccg-brand{display:block;justify-self:start;line-height:0}.ccg-brand img,.ccg-brand .custom-logo{display:block;width:auto;height:48px;max-width:300px;object-fit:contain}.ccg-scrolled .ccg-brand img,.ccg-scrolled .ccg-brand .custom-logo{height:38px}.ccg-logo--light{display:none!important}.ccg-nav{align-self:stretch;display:flex;align-items:center}.ccg-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:8px}.ccg-nav__list>li{position:relative}.ccg-nav__list>li::after{content:"";position:absolute;left:50%;top:100%;width:var(--ccg-trace);height:16px;background:var(--ccg-copper);transform:translateX(-50%);opacity:.72}.ccg-nav__list a{display:block;border:1px solid var(--ccg-silk-dim);padding:9px 12px;text-decoration:none;color:var(--ccg-silk);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.ccg-nav__list a:hover,.ccg-nav__list .current-menu-item>a,.ccg-nav__list .current-category-ancestor>a{border-color:var(--ccg-copper);color:var(--ccg-copper-hi)}.ccg-nav__list .current-menu-item::after,.ccg-nav__list .current-category-ancestor::after{background:var(--ccg-copper-hi);opacity:1}.ccg-header__actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.ccg-search-trigger,.ccg-mode-toggle{height:38px;border:1px solid var(--ccg-silk-dim);background:transparent;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.ccg-search-trigger{padding:0 12px}.ccg-mode-toggle{position:relative;width:40px}.ccg-mode-toggle span{position:absolute;left:9px;top:9px;width:18px;height:18px;border:2px solid var(--ccg-copper);border-radius:50%}.ccg-mode-toggle span::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;background:var(--ccg-copper-hi);border-radius:50%;transform:translate(-50%,-50%)}.ccg-nav-toggle{display:none}.ccg-nav-bus{position:relative;height:22px;background:var(--ccg-mask-deep);overflow:hidden}.ccg-nav-bus i{position:absolute;left:0;right:0;height:var(--ccg-trace);background:var(--ccg-copper)}.ccg-nav-bus i:nth-child(1){top:2px}.ccg-nav-bus i:nth-child(2){top:calc(2px + var(--ccg-trace) + var(--ccg-trace-gap))}.ccg-nav-bus i:nth-child(3){top:calc(2px + (var(--ccg-trace) + var(--ccg-trace-gap))*2)}.ccg-trust-strip{display:flex;align-items:center;gap:26px;height:28px;color:var(--ccg-silk-dim-aa);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.ccg-trust-strip span+span::before{content:"•";margin-right:26px;color:var(--ccg-copper)}

/* SEARCH: outlined panel + native REST live rows */
.ccg-search-panel[hidden]{display:none}.ccg-search-panel{position:fixed;z-index:100;inset:0;background:var(--ccg-mask-deep);padding:110px 0 40px;overflow:auto}.ccg-search-panel__inner{max-width:1040px;padding:34px;background:var(--ccg-mask-green)}.ccg-search-panel__top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;color:var(--ccg-silk-dim-aa);font-size:11px;letter-spacing:.08em}.ccg-search-close{border:1px solid var(--ccg-silk-dim);background:none;padding:8px 10px;cursor:pointer}.ccg-search-form label{display:block;margin-bottom:12px;color:var(--ccg-silk);font-size:14px;font-weight:700}.ccg-search-input-row{display:grid;grid-template-columns:1fr auto;gap:8px}.ccg-search-input-row input{min-width:0;border:1px solid var(--ccg-silk);background:transparent;color:var(--ccg-silk);padding:16px 18px;font:700 30px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;outline:0}.ccg-search-input-row input::placeholder{color:var(--ccg-silk-dim)}.ccg-search-input-row button{border:1px solid var(--ccg-copper);background:var(--ccg-copper);color:var(--ccg-mask-deep);padding:0 18px;font-weight:900;letter-spacing:.08em}.ccg-search-results{display:grid;gap:7px;margin-top:20px}.ccg-search-result,.ccg-search-results__hint{display:flex;justify-content:space-between;gap:20px;margin:0;border:1px solid var(--ccg-silk-dim);padding:12px 14px;text-decoration:none}.ccg-search-result:hover{border-color:var(--ccg-copper)}.ccg-search-result span:last-child{color:var(--ccg-copper-hi);font-family:ui-monospace,monospace}.ccg-search-results__hint{color:var(--ccg-silk-dim-aa);font-size:13px}

/* =========================================================
   COMMON BOARD COMPONENTS
   ========================================================= */
.ccg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:var(--ccg-silk-dim-aa);font-size:11px;line-height:1.45;letter-spacing:.025em;text-transform:uppercase}.ccg-meta a{text-decoration:underline;text-decoration-color:var(--ccg-copper);text-underline-offset:3px}.ccg-meta__section{color:var(--ccg-silk)}.ccg-meta__dot{color:var(--ccg-copper)}.ccg-polarity{position:absolute;z-index:3;right:16px;top:16px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--ccg-silk);opacity:.92}.ccg-image-frame{position:relative;display:block;margin:4px;border:1px solid var(--ccg-silk);outline:1px solid var(--ccg-silk-dim);outline-offset:4px;background:var(--ccg-mask-deep)}.ccg-image-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.06) saturate(1.02)}.ccg-image-pad{position:absolute;z-index:3;right:calc(var(--ccg-pad)/-2 - 5px)}.ccg-image-pad--a{top:28%}.ccg-image-pad--b{bottom:28%}.ccg-image-empty{display:block;width:100%;aspect-ratio:16/9;background:var(--ccg-mask-deep);border:1px solid var(--ccg-silk-dim)}.ccg-component:hover{border-color:var(--ccg-copper)}.ccg-component:hover .ccg-pad{border-color:var(--ccg-copper-hi)}

/* sparse vias: 8–12 per page, distributed so a viewport stays within budget */
.ccg-board,.ccg-archive,.ccg-single,.ccg-page-datasheet,.ccg-404{position:relative}.ccg-via-field{position:absolute;inset:0;z-index:0;pointer-events:none}.ccg-via-field .ccg-via{position:absolute}.ccg-via-field .ccg-via:nth-child(1){top:5%;left:3px}.ccg-via-field .ccg-via:nth-child(2){top:18%;right:3px}.ccg-via-field .ccg-via:nth-child(3){top:31%;left:5px}.ccg-via-field .ccg-via:nth-child(4){top:44%;right:5px}.ccg-via-field .ccg-via:nth-child(5){top:57%;left:3px}.ccg-via-field .ccg-via:nth-child(6){top:70%;right:3px}.ccg-via-field .ccg-via:nth-child(7){top:83%;left:5px}.ccg-via-field .ccg-via:nth-child(8){top:95%;right:5px}.ccg-via-field .ccg-via:nth-child(n+9){display:none}.ccg-board>:not(.ccg-via-field),.ccg-archive>:not(.ccg-via-field),.ccg-single>:not(.ccg-via-field),.ccg-page-datasheet>:not(.ccg-via-field),.ccg-404>:not(.ccg-via-field){position:relative;z-index:1}

/* =========================================================
   MAIN IC — a physical package, not a generic hero card
   ========================================================= */
.ccg-main-ic{min-height:480px;padding:38px 52px;background:var(--ccg-mask-green)}.ccg-main-ic__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:48px;align-items:center}.ccg-main-ic__media{min-height:360px}.ccg-main-ic__media img{height:360px}.ccg-main-ic__title{margin:0 0 16px;font-size:clamp(42px,4.2vw,54px);line-height:.98;font-weight:800;text-transform:uppercase}.ccg-main-ic__title a{text-decoration:none}.ccg-main-ic__dek{max-width:650px;margin:0 0 22px;color:var(--ccg-silk);font-size:18px;line-height:1.55}.ccg-ic-pins{position:absolute;z-index:3;top:14%;bottom:14%;display:flex;flex-direction:column;justify-content:space-between}.ccg-ic-pins--left{left:calc(var(--ccg-pad)/-2)}.ccg-ic-pins--right{right:calc(var(--ccg-pad)/-2)}

/* hero->two related cards: each route has endpoints + 45/90° pieces */
.ccg-hero-network{height:78px;display:flex;justify-content:space-around;padding:0 18%;pointer-events:none}.ccg-network-path{position:relative;display:block;width:34%;height:78px}.ccg-network-path i,.ccg-network-path em,.ccg-network-path u{position:absolute;display:block;background:var(--ccg-copper);text-decoration:none}.ccg-network-path i{left:0;top:0;width:62%;height:var(--ccg-trace)}.ccg-network-path em{left:62%;top:0;width:8px;height:8px;transform:translate(-50%,-2px) rotate(45deg)}.ccg-network-path u{left:calc(62% - var(--ccg-trace)/2);top:0;width:var(--ccg-trace);height:100%}.ccg-network-path .ccg-pad{position:absolute;z-index:2}.ccg-network-path .ccg-pad:first-child{left:calc(var(--ccg-pad)/-2);top:calc(var(--ccg-pad)/-2 + var(--ccg-trace)/2)}.ccg-network-path .ccg-pad:last-child{left:calc(62% - var(--ccg-pad)/2);bottom:calc(var(--ccg-pad)/-2)}.ccg-network-path--right{transform:scaleX(-1)}

/* =========================================================
   COMPONENT ROW — section bus branches into three stories
   ========================================================= */
.ccg-section{margin-top:26px}.ccg-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.ccg-section-head h2{margin:0;color:var(--ccg-silk);font-size:clamp(28px,3vw,34px);line-height:1;font-weight:800;text-transform:uppercase}.ccg-polarity--section{position:static;flex:0 0 auto;margin-bottom:6px}.ccg-section-routing{position:relative;height:34px;margin:0 10px;display:grid;grid-template-columns:repeat(3,1fr)}.ccg-section-routing>i{position:absolute;left:0;right:0;top:4px;height:var(--ccg-trace);background:var(--ccg-copper)}.ccg-section-routing>.ccg-pad{position:absolute;left:0;top:calc(4px - var(--ccg-pad)/2 + var(--ccg-trace)/2)}.ccg-section-routing>b{position:relative;display:block}.ccg-section-routing>b::after{content:"";position:absolute;left:50%;top:4px;width:var(--ccg-trace);height:30px;background:var(--ccg-copper);transform:translateX(-50%)}.ccg-component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ccg-story-card{padding:24px;background:var(--ccg-mask-green)}.ccg-card-node{position:absolute;left:50%;top:calc(var(--ccg-pad)/-2);transform:translateX(-50%)}.ccg-story-card__media{margin-bottom:22px}.ccg-story-card__media img{aspect-ratio:16/9}.ccg-story-card h2{margin:0 0 10px;font-size:23px;line-height:1.08;font-weight:800;text-transform:uppercase}.ccg-story-card h2 a{text-decoration:none}.ccg-story-card__summary{margin:0 0 18px;color:var(--ccg-silk);font-size:15px;line-height:1.55}

/* =========================================================
   BUS SECTION — Mask Blue + four parallel traces + branches
   ========================================================= */
.ccg-bus-section{margin-top:54px;padding:34px 34px 28px;background:var(--ccg-mask-blue);border:1px solid var(--ccg-silk)}.ccg-bus-section__head{position:relative;display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.ccg-bus-section h2{margin:0;font-size:30px;line-height:1;font-weight:800;text-transform:uppercase}.ccg-data-bus{position:relative;height:32px;margin:0 12px}.ccg-data-bus i{position:absolute;left:0;right:0;height:var(--ccg-trace);background:var(--ccg-copper)}.ccg-data-bus i:nth-child(1){top:0}.ccg-data-bus i:nth-child(2){top:9px}.ccg-data-bus i:nth-child(3){top:18px}.ccg-data-bus i:nth-child(4){top:27px}.ccg-bus-stories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:18px}.ccg-bus-story{position:relative;min-width:0;padding:38px 20px 10px;border-right:1px solid var(--ccg-silk-dim)}.ccg-bus-story:last-child{border-right:0}.ccg-bus-branch{position:absolute;left:20px;top:-18px;width:32px;height:42px}.ccg-bus-branch i{position:absolute;left:calc(var(--ccg-pad)/2 - var(--ccg-trace)/2);top:0;width:var(--ccg-trace);height:32px;background:var(--ccg-copper)}.ccg-bus-branch .ccg-pad{position:absolute;left:0;bottom:0}.ccg-bus-story h3{margin:0 0 15px;font-size:20px;line-height:1.12;font-weight:800;text-transform:uppercase}.ccg-bus-story h3 a{text-decoration:none}

/* =========================================================
   TEST POINTS — only editor data; no fake electrical values
   ========================================================= */
.ccg-test-points{margin-top:54px}.ccg-test-points__grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.ccg-test-points__grid::before{content:"";position:absolute;left:4%;right:4%;top:18px;height:var(--ccg-trace);background:var(--ccg-copper)}.ccg-test-point{position:relative;z-index:2;padding-top:52px}.ccg-test-point__pad{position:absolute;top:0;left:0;width:36px;height:36px;border-radius:50%;background:var(--ccg-copper);border:1px solid var(--ccg-copper-hi)}.ccg-test-point__pad::after{content:"";position:absolute;width:12px;height:12px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--ccg-mask-green)}.ccg-test-point strong{display:block;color:var(--ccg-copper);font:800 clamp(46px,5vw,70px)/.9 ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.ccg-test-point span:last-child{display:block;margin-top:8px;color:var(--ccg-silk);font-size:11px;letter-spacing:.08em;text-transform:uppercase}

/* =========================================================
   SILKSCREEN REGISTER — intentionally no box/pad/trace
   ========================================================= */
.ccg-silkscreen-list{margin-top:58px}.ccg-silkscreen-list__rows{border-top:1px solid var(--ccg-silk-dim)}.ccg-silk-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid var(--ccg-silk-dim)}.ccg-silk-row__designator{color:var(--ccg-copper-hi);font-size:11px;letter-spacing:.08em}.ccg-silk-row__section{margin:0 0 4px;color:var(--ccg-silk-dim-aa);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.ccg-silk-row h3{margin:0;font-size:20px;line-height:1.15;font-weight:800;text-transform:uppercase}.ccg-silk-row h3 a{text-decoration:none}.ccg-silk-row:hover h3 a{color:var(--ccg-copper-hi)}

/* Ads: cream only; deliberately not PCB components */
.ccg-ad{min-height:120px;margin:28px 0;padding:22px;background:var(--ccg-panel);color:var(--ccg-ink);border:1px solid #C9C6BD}.ccg-ad:empty{display:none}.ccg-ad__label{display:block;margin-bottom:10px;color:#565A5D;font-size:10px;letter-spacing:.1em}.ccg-load-board,.ccg-board-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:42px}.ccg-load-board__button,.ccg-board-nav a{display:inline-block;border:1px solid var(--ccg-silk);padding:13px 16px;text-decoration:none;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.ccg-load-board__button:hover,.ccg-board-nav a:hover{border-color:var(--ccg-copper);color:var(--ccg-copper-hi)}.ccg-load-route{position:relative;display:block;flex:1;max-width:240px;height:24px;margin-left:auto}.ccg-load-route i{position:absolute;left:0;right:0;top:10px;height:var(--ccg-trace);background:var(--ccg-copper)}.ccg-load-route .ccg-pad{position:absolute;right:0;top:calc(10px - var(--ccg-pad)/2 + var(--ccg-trace)/2)}

/* =========================================================
   ARTICLE — board hero + separate datasheet surface
   ========================================================= */
.ccg-article-hero{position:relative;padding:48px 0;background:var(--ccg-mask-green)}.ccg-article-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:46px;align-items:center;padding:36px}.ccg-article-hero h1{margin:0 0 16px;font-size:clamp(42px,5vw,54px);line-height:.98;font-weight:800;text-transform:uppercase}.ccg-article-hero__dek{margin:0 0 20px;font-size:17px;line-height:1.55}.ccg-article-hero__image{min-height:280px}.ccg-article-hero__image img{height:280px}.ccg-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;color:var(--ccg-silk-dim-aa);font:700 11px/1.3 ui-monospace,monospace;letter-spacing:.05em;text-transform:uppercase}.ccg-breadcrumb a{color:inherit;text-decoration:underline;text-decoration-color:var(--ccg-copper);text-underline-offset:3px}.ccg-datasheet-wrap{display:grid;grid-template-columns:190px minmax(860px,var(--ccg-reading)) 190px;justify-content:center;align-items:start;gap:28px;padding:52px 0 74px}.ccg-article-paper{width:100%;background:var(--ccg-panel);color:var(--ccg-ink);padding:46px 54px 56px}.ccg-article__content{font-size:19px;line-height:1.8}.ccg-article__content p{margin:0 0 1.5em}.ccg-article__content>p:first-of-type::first-letter{float:left;display:block;margin:8px 10px 2px 0;padding:8px 10px;background:var(--ccg-copper);color:var(--ccg-mask-green);font:800 34px/1 "Arial Narrow",Arial,sans-serif}.ccg-article__content h2{margin:2.4em 0 .7em;font-size:31px;line-height:1.15;font-weight:800;text-transform:uppercase}.ccg-article__content h3{margin:2em 0 .65em;font-size:24px;line-height:1.2;font-weight:800}.ccg-article__content a,.ccg-inline-related a{color:var(--ccg-ink);text-decoration:underline;text-decoration-color:var(--ccg-copper);text-decoration-thickness:2px;text-underline-offset:3px}.ccg-article__content blockquote{margin:2.2em 0;padding:26px 30px;background:var(--ccg-mask-green);color:var(--ccg-silk);font-size:24px;line-height:1.42;font-weight:700}.ccg-article__content blockquote p:last-child{margin-bottom:0}.ccg-article__content table{width:100%;border-collapse:collapse;background:var(--ccg-panel-light);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ccg-article__content th,.ccg-article__content td{padding:11px 12px;border:1px solid #B7B4AB;text-align:left}.ccg-article__content th{background:#E3E0D7}.ccg-article__content iframe,.ccg-article__content embed,.ccg-article__content object{max-width:100%;border:1px solid #B7B4AB!important;clip-path:none!important;outline:0!important}.ccg-article__content figure{margin:2em 0}.ccg-article__content img{display:block;height:auto}.ccg-article__content .alignwide{width:min(var(--ccg-breakout),calc(100vw - 64px));max-width:none;margin-left:50%;transform:translateX(-50%)}.ccg-article__content .alignfull{width:calc(100vw - 48px);max-width:none;margin-left:50%;transform:translateX(-50%)}.ccg-key-points{margin:0 0 32px;padding:24px;background:var(--ccg-mask-green);color:var(--ccg-silk)}.ccg-key-points h2{margin:0 0 10px;font-size:24px;text-transform:uppercase}.ccg-key-points p:last-child{margin:0;font-size:17px;line-height:1.6}.ccg-toc{position:sticky;top:126px;color:var(--ccg-silk);font-size:11px}.ccg-toc__title{margin:0 0 14px;color:var(--ccg-copper-hi);font-weight:800;letter-spacing:.1em}.ccg-toc nav{position:relative;display:grid;gap:12px;padding-left:22px}.ccg-toc__trace{position:absolute;left:6px;top:42px;bottom:6px;width:var(--ccg-trace);background:var(--ccg-copper)}.ccg-toc a{position:relative;color:var(--ccg-silk-dim-aa);text-decoration:none;line-height:1.4}.ccg-toc__pad{position:absolute;z-index:2;left:-21px;top:3px;width:9px;height:9px;border:1px solid var(--ccg-solder);border-radius:50%;background:var(--ccg-mask-green)}.ccg-toc a.is-active{color:var(--ccg-silk)}.ccg-toc a.is-active .ccg-toc__pad{background:var(--ccg-copper-hi);border-color:var(--ccg-copper-hi)}.ccg-marginalia{position:sticky;top:126px;border-left:1px solid var(--ccg-silk-dim);padding-left:18px;color:var(--ccg-silk-dim-aa);font-size:11px}.ccg-marginalia__label{color:var(--ccg-copper-hi);font-weight:800;letter-spacing:.1em}.ccg-marginalia dl{margin:0}.ccg-marginalia dl div{padding:10px 0;border-bottom:1px solid var(--ccg-silk-dim)}.ccg-marginalia dt{color:var(--ccg-silk);text-transform:uppercase}.ccg-marginalia dd{margin:3px 0 0}.ccg-inline-related{margin:1.6em 0;padding:18px;border-left:4px solid var(--ccg-copper);background:#E9E6DE}.ccg-inline-related>span{display:block;margin-bottom:7px;font-weight:800}.ccg-inline-related ul{margin:0;padding-left:20px}.ccg-inline-related li+li{margin-top:5px}

.ccg-author-box{display:grid;grid-template-columns:96px 1fr;gap:20px;margin-top:46px;padding-top:30px;border-top:1px solid #B7B4AB}.ccg-author-box__avatar{border:1px solid var(--ccg-ink);padding:4px}.ccg-author-box__avatar img{display:block}.ccg-author-box h2{margin:0 0 7px;font-size:22px}.ccg-author-box p{margin:0 0 8px;line-height:1.55}.ccg-author-box a{color:var(--ccg-ink);text-decoration:underline;text-decoration-color:var(--ccg-copper)}.ccg-related{padding:0 0 70px}.ccg-related .ccg-section-head{margin-bottom:22px}.ccg-related .ccg-component-grid{grid-template-columns:repeat(3,1fr)}

/* =========================================================
   ARCHIVES / PAGES / 404
   ========================================================= */
.ccg-archive,.ccg-page-datasheet{padding:50px 0 74px}.ccg-archive-head,.ccg-page-head,.ccg-author-archive{padding:34px;background:var(--ccg-mask-green);margin-bottom:34px}.ccg-archive-head h1,.ccg-page-head h1,.ccg-author-archive h1{margin:0;font-size:clamp(36px,5vw,54px);line-height:1;font-weight:800;text-transform:uppercase}.ccg-archive-description{max-width:840px;margin-top:16px;color:var(--ccg-silk);line-height:1.65}.ccg-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ccg-author-archive{display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:center}.ccg-author-archive__avatar img{display:block;width:160px;height:160px;object-fit:cover}.ccg-page-paper{width:min(var(--ccg-reading),100%);margin-inline:auto;padding:48px 54px;background:var(--ccg-panel);color:var(--ccg-ink);font-size:19px;line-height:1.8}.ccg-page-paper a{color:var(--ccg-ink);text-decoration-color:var(--ccg-copper);text-decoration-thickness:2px}.ccg-empty-board{margin:44px 0;padding:40px;min-height:220px;display:grid;align-content:center}.ccg-empty-board h1,.ccg-empty-board h2{margin:0 0 12px;text-transform:uppercase}.ccg-404{margin:60px auto 80px;min-height:470px;padding:48px;display:grid;align-content:center}.ccg-404__cut{position:relative;width:230px;height:70px;margin-bottom:34px}.ccg-404__cut i{position:absolute;height:var(--ccg-trace);background:var(--ccg-copper);top:32px}.ccg-404__cut i:first-child{left:0;width:78px}.ccg-404__cut i:nth-child(2){right:0;width:88px}.ccg-404__cut .ccg-pad{position:absolute;right:0;top:calc(32px - var(--ccg-pad)/2 + var(--ccg-trace)/2)}.ccg-404__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.ccg-404__links a{padding:10px 12px;border:1px solid var(--ccg-silk);text-decoration:none;text-transform:uppercase;font-weight:800}

/* COMMENTS */
.ccg-comments-wrap{max-width:var(--ccg-reading);margin:0 auto 70px;padding:34px;background:var(--ccg-panel);color:var(--ccg-ink)}.ccg-comments-wrap input,.ccg-comments-wrap textarea{max-width:100%;border:1px solid #9B998F;background:#fff;padding:10px}.ccg-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* =========================================================
   EDGE CONNECTOR + FOOTER
   ========================================================= */
.ccg-edge-connector{position:relative;z-index:2;height:54px;display:flex;justify-content:center;align-items:end;gap:8px;background:var(--ccg-mask-green)}.ccg-edge-connector i{display:block;width:24px;background:var(--ccg-copper);border-top:1px solid var(--ccg-copper-hi)}.ccg-edge-connector i:nth-child(3n+1){height:46px}.ccg-edge-connector i:nth-child(3n+2){height:38px}.ccg-edge-connector i:nth-child(3n){height:50px}.ccg-site-footer{position:relative;z-index:2;background:var(--ccg-mask-deep);border-top:1px solid var(--ccg-copper);padding:44px 0 22px}.ccg-footer-grid{display:grid;grid-template-columns:1fr 2fr .8fr;gap:36px;align-items:start}.ccg-footer-brand img{width:auto;height:44px;display:block}.ccg-footer-brand p{max-width:390px;color:var(--ccg-silk-dim-aa);font-size:14px;line-height:1.6}.ccg-footer-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ccg-footer-category{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:7px;min-width:0;padding:9px;border:1px solid var(--ccg-silk-dim);text-decoration:none;font-size:11px;font-weight:800;text-transform:uppercase}.ccg-footer-category span{color:var(--ccg-copper-hi);font-size:9px;letter-spacing:.08em}.ccg-footer-category:hover{border-color:var(--ccg-copper)}.ccg-footer-nav{list-style:none;margin:0;padding:0;display:grid;gap:9px}.ccg-footer-nav a{color:var(--ccg-silk);text-decoration:underline;text-decoration-color:var(--ccg-silk-dim);text-underline-offset:3px;font-size:13px}.ccg-footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid var(--ccg-silk-dim);display:flex;justify-content:space-between;gap:18px;color:var(--ccg-silk-dim-aa);font:11px/1.4 ui-monospace,monospace;letter-spacing:.05em;text-transform:uppercase}

/* =========================================================
   LIGHT BOARD MODE — still a PCB, only solder mask changes
   ========================================================= */
html.ccg-light,html.ccg-light body{--ccg-mask-green:#E6E4D8;--ccg-mask-deep:#D4D1C5;--ccg-mask-blue:#DCE2E6;--ccg-silk:#082017;--ccg-silk-dim:#486358;--ccg-silk-dim-aa:#355347;--ccg-panel:#FBFAF6;background:var(--ccg-mask-green);color:var(--ccg-silk)}html.ccg-light .ccg-logo--dark{display:none!important}html.ccg-light .ccg-logo--light{display:block!important}@media(prefers-color-scheme:light){html:not(.ccg-dark),html:not(.ccg-dark) body{--ccg-mask-green:#E6E4D8;--ccg-mask-deep:#D4D1C5;--ccg-mask-blue:#DCE2E6;--ccg-silk:#082017;--ccg-silk-dim:#486358;--ccg-silk-dim-aa:#355347;--ccg-panel:#FBFAF6;background:var(--ccg-mask-green);color:var(--ccg-silk)}html:not(.ccg-dark) .ccg-logo--dark{display:none!important}html:not(.ccg-dark) .ccg-logo--light{display:block!important}}

/* =========================================================
   RESPONSIVE — mobile routing becomes vertical only
   ========================================================= */
@media(max-width:1399px){.ccg-datasheet-wrap{grid-template-columns:minmax(860px,var(--ccg-reading));width:min(calc(100% - 48px),var(--ccg-reading));padding-inline:0}.ccg-toc,.ccg-marginalia{display:none}.ccg-article-paper{width:100%}}
@media(max-width:1199px){.ccg-shell{width:min(100% - 40px,var(--ccg-container))}.ccg-header__inner{grid-template-columns:minmax(220px,1fr) auto minmax(140px,1fr);gap:12px}.ccg-nav__list{gap:5px}.ccg-nav__list a{padding:8px;font-size:10px}.ccg-main-ic__grid{grid-template-columns:1fr 1fr;gap:30px}.ccg-bus-stories{grid-template-columns:repeat(2,1fr)}.ccg-bus-story:nth-child(2){border-right:0}.ccg-bus-story:nth-child(n+3){border-top:1px solid var(--ccg-silk-dim)}.ccg-test-points__grid{grid-template-columns:repeat(3,1fr);row-gap:34px}.ccg-test-points__grid::before{display:none}.ccg-footer-grid{grid-template-columns:1fr 1.8fr}.ccg-footer-policy{grid-column:1/-1}}
@media(max-width:900px){body.admin-bar .ccg-site-header{top:46px}.ccg-header__inner{grid-template-columns:auto 1fr auto;min-height:72px}.ccg-brand img,.ccg-brand .custom-logo{height:40px}.ccg-nav-toggle{position:relative;display:inline-grid;width:46px;height:40px;padding:8px;gap:4px;justify-self:center;border:1px solid var(--ccg-silk-dim);background:none}.ccg-nav-toggle span{width:100%;height:2px;background:var(--ccg-silk)}.ccg-nav-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ccg-nav{display:none;position:absolute;left:20px;right:20px;top:72px;background:var(--ccg-mask-deep);border:1px solid var(--ccg-silk);padding:12px}.ccg-nav.is-open{display:block}.ccg-nav__list{display:grid}.ccg-nav__list a{padding:12px;font-size:12px}.ccg-nav__list>li::after{display:none}.ccg-trust-strip{overflow-x:auto;white-space:nowrap;padding-bottom:5px}.ccg-main-ic__grid,.ccg-article-hero__inner{grid-template-columns:1fr}.ccg-main-ic__media{min-height:320px}.ccg-main-ic__media img{height:320px}.ccg-component-grid,.ccg-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ccg-silk-row{grid-template-columns:100px 1fr}.ccg-silk-row .ccg-meta{grid-column:2;justify-content:flex-start}.ccg-page-paper{width:100%}.ccg-footer-categories{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){:root{--ccg-pad:10px;--ccg-pad-hole:4px}.ccg-shell{width:calc(100% - 32px)}.ccg-mount--bl,.ccg-mount--br{display:none}.ccg-header__actions{gap:4px}.ccg-search-trigger{width:38px;overflow:hidden;white-space:nowrap;text-indent:-999px;position:relative}.ccg-search-trigger::after{content:"⌕";position:absolute;inset:0;display:grid;place-items:center;text-indent:0;font-size:22px}.ccg-nav-bus i:nth-child(n+2){display:none}.ccg-trust-strip{gap:18px;font-size:10px}.ccg-trust-strip span+span::before{margin-right:18px}.ccg-board{padding-top:30px}.ccg-main-ic{padding:26px 22px;min-height:0}.ccg-main-ic__title{font-size:clamp(34px,10vw,44px)}.ccg-main-ic__media{min-height:0}.ccg-main-ic__media img{height:auto;aspect-ratio:16/9}.ccg-ic-pins--right{display:none}.ccg-ic-pins--left{top:16%;bottom:16%}.ccg-hero-network{height:56px;padding:0 24%;justify-content:center;gap:34%}.ccg-network-path{width:var(--ccg-trace);height:56px}.ccg-network-path i,.ccg-network-path em{display:none}.ccg-network-path u{left:0;top:0;width:var(--ccg-trace);height:100%}.ccg-network-path .ccg-pad:first-child{left:calc(var(--ccg-pad)/-2 + var(--ccg-trace)/2);top:calc(var(--ccg-pad)/-2)}.ccg-network-path .ccg-pad:last-child{left:calc(var(--ccg-pad)/-2 + var(--ccg-trace)/2);bottom:calc(var(--ccg-pad)/-2)}.ccg-network-path--right{transform:none}.ccg-section-routing{height:28px;display:block}.ccg-section-routing>i{left:50%;right:auto;top:0;width:var(--ccg-trace);height:28px}.ccg-section-routing>.ccg-pad{left:calc(50% - var(--ccg-pad)/2);top:calc(var(--ccg-pad)/-2)}.ccg-section-routing>b{display:none}.ccg-component-grid,.ccg-archive-grid,.ccg-related .ccg-component-grid{grid-template-columns:1fr}.ccg-story-card{padding:22px}.ccg-data-bus{height:18px}.ccg-data-bus i:nth-child(n+2){display:none}.ccg-data-bus i:first-child{left:50%;right:auto;top:0;width:var(--ccg-trace);height:18px}.ccg-bus-stories{grid-template-columns:1fr}.ccg-bus-story{border-right:0;border-top:1px solid var(--ccg-silk-dim);padding-top:30px}.ccg-bus-branch{left:20px;top:-16px;height:26px}.ccg-bus-branch i{height:18px}.ccg-test-points__grid{grid-template-columns:1fr 1fr}.ccg-test-point strong{font-size:46px}.ccg-silk-row{grid-template-columns:1fr;gap:7px;padding:16px 0}.ccg-silk-row .ccg-meta{grid-column:1}.ccg-article-hero{padding:28px 0 36px}.ccg-article-hero__inner{padding:24px 20px}.ccg-article-hero h1{font-size:clamp(34px,9.6vw,44px)}.ccg-datasheet-wrap{grid-template-columns:1fr;width:calc(100% - 32px);padding:34px 0 54px}.ccg-article-paper{padding:34px 20px 40px}.ccg-article__content{font-size:19px}.ccg-article__content .alignwide,.ccg-article__content .alignfull{width:calc(100vw - 32px)}.ccg-author-box{grid-template-columns:76px 1fr}.ccg-search-panel{padding-top:86px}.ccg-search-panel__inner{padding:20px}.ccg-search-input-row{grid-template-columns:1fr}.ccg-search-input-row input{font-size:23px}.ccg-footer-grid{grid-template-columns:1fr}.ccg-footer-policy{grid-column:auto}.ccg-footer-bottom{flex-direction:column}.ccg-edge-connector{gap:6px}.ccg-edge-connector i{width:20px}.ccg-edge-connector i:nth-child(n+9){display:none}.ccg-via-field .ccg-via:nth-child(n+7){display:none}}
@media(max-width:420px){.ccg-shell{width:calc(100% - 24px)}.ccg-brand img,.ccg-brand .custom-logo{height:34px;max-width:190px}.ccg-header__inner{gap:7px}.ccg-mode-toggle{width:34px}.ccg-main-ic__title{font-size:34px}.ccg-component{padding:20px}.ccg-test-points__grid{grid-template-columns:1fr}.ccg-footer-categories{grid-template-columns:1fr}.ccg-article__content .alignwide,.ccg-article__content .alignfull{width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}
/* Optional density kill-switches exposed as constants/filters. */
.ccg-no-pads .ccg-pad,.ccg-no-pads .ccg-via,.ccg-no-pads .ccg-test-point__pad{display:none!important}.ccg-no-traces .ccg-nav-bus,.ccg-no-traces .ccg-nav__list>li::after,.ccg-no-traces .ccg-hero-network,.ccg-no-traces .ccg-section-routing,.ccg-no-traces .ccg-data-bus,.ccg-no-traces .ccg-bus-branch,.ccg-no-traces .ccg-test-points__grid::before,.ccg-no-traces .ccg-load-route,.ccg-no-traces .ccg-toc__trace{display:none!important}.ccg-author-box.ccg-component{border-color:#B7B4AB}.ccg-author-box .ccg-component__label{background:var(--ccg-panel);color:var(--ccg-ink)}
@media(max-width:1199px){.ccg-datasheet-wrap{grid-template-columns:1fr;width:90%;max-width:var(--ccg-reading)}.ccg-article-paper{padding-left:24px;padding-right:24px}}
