:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172b36;background:#f1f5fb;line-height:1.6}*{box-sizing:border-box}body{margin:0}main{max-width:1240px;margin:auto;padding:48px 24px}header{max-width:950px;margin-bottom:40px}h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.12;letter-spacing:-.04em;margin:.3em 0}h2{font-size:1.35rem;line-height:1.3;margin-top:0}h3{font-size:.92rem;margin-bottom:0}.intro{font-size:1.18rem;color:#455c66}.eyebrow{font-size:.73rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#223f64}.notice{background:#e2ebf6;border-left:4px solid #264a79;border-radius:0 8px 8px 0;padding:15px 18px}.muted{font-size:.86rem;color:#536773}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:22px}article,.lead{background:white;border:1px solid #cfdef1;border-radius:14px;padding:26px}article{display:flex;flex-direction:column}article p{margin-top:.5rem}details{margin:12px 0 22px}summary{cursor:pointer;font-weight:650}a{color:#133057;text-underline-offset:3px}a:focus-visible,summary:focus-visible{outline:3px solid #a36913;outline-offset:5px}.action{display:block;margin-top:auto;font-weight:700}nav{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px}.lead{margin-bottom:24px}footer{margin-top:42px;padding-top:20px;border-top:1px solid #cfdef1}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}@media(max-width:500px){main{padding:28px 16px}article{padding:21px}}
header{max-width:none;padding:40px;border-radius:24px;background:#112d39;color:#fff}header .eyebrow{color:#8eb4e6}header .intro{color:#d3e4e9;max-width:780px}nav a{color:#d4e3f6}nav a[aria-current]{text-decoration-thickness:3px;text-underline-offset:8px}.filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;background:#fff;padding:24px;border:1px solid #cfdef1;border-radius:14px}.filters div{flex:1;min-width:170px}label{display:block;font-weight:650;margin-bottom:6px}input,select,button{font:inherit;border:1px solid #6b87ac;border-radius:8px;padding:11px;width:100%;min-height:46px}button{background:#133057;color:#fff;cursor:pointer;width:auto;font-weight:700}.plan{border-top:1px solid #cfdef1;padding-top:14px;margin-top:14px}.badge{display:inline-block;background:#e2ebf6;color:#172f4e;border-radius:16px;padding:2px 10px;font-size:.78rem;margin:5px}.skip{position:absolute;left:-10000px}.skip:focus{left:15px;top:10px;background:white;padding:10px;z-index:2}:focus-visible{outline:3px solid #a36913;outline-offset:4px}@media(max-width:500px){header{padding:25px}.filters{padding:18px}}

.maintenance{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:24px 0}.maintenance div{padding:16px 20px;border-left:3px solid #264a79;background:#e8eff8;border-radius:6px}.maintenance strong,.maintenance span{display:block}.maintenance span{font-size:.86rem;color:#455c66}.review-note{font-size:.85rem;color:#68491e;border-left:3px solid #a36913;padding-left:12px}
/* NJSafeAI central-hub visual system. */
:root{color:#19212c;background:#f4f4ef;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif}main{max-width:1320px;padding:32px 36px}header{position:relative;background:#141a23;border-radius:28px;padding:50px;margin-bottom:30px;overflow:hidden}header:after{content:"";position:absolute;width:340px;height:340px;right:-80px;top:-180px;border:1px solid #899fbc55;border-radius:50%;pointer-events:none}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.5rem,5vw,4.6rem);max-width:820px;letter-spacing:-.06em}header .eyebrow{color:#bdd1ec}header .intro{color:#b1c9e8;font-size:1.05rem}header nav{gap:22px;font-size:.85rem}header nav a{color:#d2e0f2}h2{font-weight:600;letter-spacing:-.03em}.eyebrow{color:#3c506a}.lead{background:#e0eaf6;border-color:#b8ceea;border-radius:18px;padding:24px 30px}.lead>p:not(.notice){max-width:900px}.notice{background:#d0dff2;border-color:#445b79;font-size:.86rem}.muted{color:#405673}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.grid article{background:#fffef8;border-radius:18px;border-color:#bcd1ec;padding:27px}.tool-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#d8e4f4;color:#3a4d66;font-size:24px;margin-bottom:22px}.grid article:nth-child(4n+2) .tool-symbol{background:#eee4d7;color:#7b613e}.grid article:nth-child(4n+3) .tool-symbol{background:#e2eaf0;color:#405e72}.grid article:nth-child(4n+4) .tool-symbol{background:#e8e3f0;color:#67567d}.grid article>.eyebrow{font-size:.62rem;letter-spacing:.08em}.grid article>h2{font-size:1.4rem}.grid details{border-top:1px solid #c9d9ef;padding:13px 0 0;margin:10px 0;font-size:.87rem}summary{min-height:28px}.action{padding-top:22px;color:#2e3e54;font-size:.88rem}a{color:#2a3d57}.filters{background:#fffef8;border-color:#bcd1ec;border-radius:18px}.filters label{font-size:.8rem}input,select{border-color:#6481a8;background:#fffef8;color:#1c2633}button{background:#273444;border-color:#273444;border-radius:99px}.maintenance div{background:#d8e4f4;border-color:#48607f}.maintenance span{color:#3d516c}.badge{background:#d0dff2;color:#26374d}.plan{border-color:#bcd1ec}.review-note{color:#6b4b1f}.practice-banner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:30px 0 40px;background:#d2e0f2;padding:36px;border-radius:24px}.practice-banner h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em}.board-diagram{max-width:390px;min-height:200px;background:#202b3a;border:10px solid #3a4d66;border-bottom-width:20px;border-radius:14px;display:flex;flex-direction:column;justify-content:center;padding:24px;color:#cadbf0;position:relative;box-shadow:12px 18px 0 #abbbd0}.board-diagram span{font-family:Georgia,serif;font-size:2rem;line-height:1.4}.board-diagram b{position:absolute;right:25px;font-size:90px;color:#8da7ca;font-weight:400}.step-number{font-family:Georgia,serif;font-size:2.5rem;color:#4e698c;margin-bottom:14px}.setup-guide{margin-top:32px}.judgment-diagram{display:flex;justify-content:center;gap:15px}.judgment-diagram span{display:grid;place-items:center;width:90px;height:110px;background:#243040;color:#bdd1ec;border-radius:50px;font-family:Georgia,serif;font-size:3.5rem}.judgment-diagram span:nth-child(2){background:#c9b396;color:#332f21;transform:translateY(18px)}.judgment-diagram span:nth-child(3){background:#cdc5df;color:#51455d}:focus-visible{outline:3px solid #94601e;outline-offset:4px}footer{border-color:#b0c8e8;font-size:.86rem}footer h2{font-family:Georgia,serif;font-size:2rem;font-weight:400}@media(max-width:640px){main{padding:18px 16px}header{padding:32px 24px}header nav{gap:14px;font-size:.78rem}.lead{padding:22px}.practice-banner{grid-template-columns:1fr;padding:25px;gap:30px}.board-diagram{min-height:175px}.board-diagram span{font-size:1.65rem}.maintenance{gap:10px}.maintenance div{padding:12px 16px}.grid article{padding:24px}}
.compact-guidance{padding:16px 24px;margin:18px 0}.compact-guidance summary{font-size:.87rem}.compact-guidance p{font-size:.88rem}header{padding:38px 42px}header .intro{max-width:900px}@media(max-width:640px){header{padding:30px 24px}}

/* Bright blue surfaces shared by the public catalog and practice guides. */
:root{background:#f7fbff;color:#142d4f}
header{background:linear-gradient(120deg,#eaf4ff,#cfE5ff);color:#142d4f;border:1px solid #c9def8}
header .eyebrow,header .intro{color:#3d5875}
header nav a{color:#164d91}
a,.action{color:#1557a0}
button{background:#1557be;border-color:#1557be}
.grid article,.filters{background:#fff}
.lead,.notice,.maintenance div{background:#eaf3ff}
.badge{background:#deedff;color:#194575}

.guide-notes{margin:18px 0 26px;padding:16px 20px;border:1px solid #c6d5e8;border-radius:14px;background:#eef4fc;color:#223b59;font-size:14px;line-height:1.6}.guide-notes summary{font-weight:700;cursor:pointer;min-height:24px}.guide-notes div{padding-top:12px}.guide-notes p:last-child{margin-bottom:0}

/* School visual identity; public resource content remains school-neutral. */
:root{color:#0b1829;background:#f7f8fa;font-family:"Avenir Next",Arial,sans-serif}h1,h2,h3{font-family:inherit;font-weight:700;letter-spacing:-.035em}header{background:#0b1829;border-radius:6px;border-top:4px solid #d71235}header h1,header .eyebrow,header .intro,header .site-credit,header nav a{color:#fff}.grid article,.lead,.filters,details{border-color:#dce1e8;border-radius:6px;background:#fff}.lead,.notice,.maintenance div{background:#f4f5f7}.notice,.maintenance div{border-left-color:#d71235}.eyebrow,.action,.step-number{color:#ad0e2a}.muted,.intro{color:#4b5b70}button{background:#d71235;color:#fff;border-color:#d71235;border-radius:4px}a{color:#ad0e2a}.badge,.tool-symbol{background:#fbecef;color:#92122b}.practice-banner{border-radius:6px}.guide-notes{background:#fff;border-color:#dce1e8;color:#0b1829}:focus-visible{outline:3px solid #ad0e2a;outline-offset:4px}

/* Short, output-based teaching practice. */
.workshop{margin:28px 0;padding:24px;border:1px solid #dce1e8;border-radius:6px;background:#fff}.practice-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;list-style:none}.practice-steps li{border-top:3px solid #d71235;padding-top:14px}.routine-links{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.routine-links a{color:#ad0e2a;padding:10px 14px;background:#f7f8fa;border:1px solid #dce1e8;border-radius:4px}.deliverable{padding:14px;border-left:3px solid #d71235;background:#f7f8fa;margin:18px 0}.deliverable p{margin:8px 0 0}.worked-example{margin:20px 0}.worked-example figcaption{font-size:.85rem;color:#4b5b70;margin-bottom:12px}.example-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.example-flow>div{background:#f7f8fa;border:1px solid #dce1e8;padding:18px}.example-flow span{display:block;color:#ad0e2a;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}article[id]{scroll-margin-top:24px}article[id]:target{outline:3px solid #ad0e2a;outline-offset:4px}@media(max-width:680px){.practice-steps,.example-flow{grid-template-columns:1fr}.workshop{padding:18px}}

/* Shared CJCP palette: blue navigation, green progress, red emphasis. */
:root{--cjcp-blue:#174b87;--cjcp-green:#176b45;--cjcp-red:#b81938}
a{color:var(--cjcp-blue)}:focus-visible{outline:3px solid var(--cjcp-green);outline-offset:4px}
.main-home{display:block;max-width:1160px;margin:16px auto;padding:8px 24px;font-weight:700}
button,.action{background:var(--cjcp-blue);color:#fff}.eyebrow{color:var(--cjcp-green)}article{border-top:4px solid var(--cjcp-blue)}article:nth-child(3n+2){border-top-color:var(--cjcp-green)}article:nth-child(3n){border-top-color:var(--cjcp-red)}.notice{border-left-color:var(--cjcp-green)}
/* Keep text contrast explicit on shared hero and standalone navigation. */
header{background:#123b6a;color:#fff;border-top-color:var(--cjcp-red)}header p,header .intro,header .eyebrow,header .site-credit{color:#fff}main>nav{margin:0 0 18px;gap:16px}main>nav a{color:var(--cjcp-blue);font-weight:700}.grid article{border-top:4px solid var(--cjcp-blue)}.grid article:nth-child(3n+2){border-top-color:var(--cjcp-green)}.grid article:nth-child(3n){border-top-color:var(--cjcp-red)}.action{padding:12px 16px;border-radius:4px;text-align:center;min-height:44px}.grid article .action{color:#fff}

.tool-categories{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.25rem 0}.tool-categories a{padding:.75rem 1rem;border:1px solid currentColor;border-radius:.6rem;font-weight:700}.non-ai-filter{align-self:center}.non-ai-filter label{display:flex;gap:.5rem;align-items:center}.non-ai-filter input{width:auto;min-height:1.25rem}
