/* Shared styles for the standalone family resources. No app dependencies. */
:root{color-scheme:dark;--resource-bg:#0f172a;--resource-panel:#18243a;--resource-border:#334155;--resource-text:#f8fafc;--resource-muted:#bac7d8;--resource-gold:#fbbf24;--resource-paper:#fffdf8}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
body.resource-page{margin:0;background:var(--resource-bg);color:var(--resource-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-text-size-adjust:100%;background-image:radial-gradient(ellipse at 75% 0,rgba(251,191,36,.07),transparent 42rem)}
a{color:var(--resource-gold);text-underline-offset:.22em}
a:hover{text-decoration-thickness:2px}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--resource-gold);outline-offset:5px}
[hidden]{display:none!important}
img{max-width:100%;height:auto}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.2;text-wrap:balance}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.5rem,6vw,4.7rem);letter-spacing:-.035em;margin-bottom:1.25rem}
h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em}
h3{font-size:1.2rem}
p{margin-bottom:1rem}
.skip-link{position:absolute;top:-8rem;left:1rem;z-index:10;background:var(--resource-gold);color:var(--resource-bg);padding:.7rem 1rem;border-radius:.5rem}
.skip-link:focus{top:1rem}
.resource-header{max-width:1200px;margin:auto;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid rgba(148,163,184,.16)}
.resource-brand{display:flex;align-items:center;gap:.7rem;color:var(--resource-text);text-decoration:none;font-weight:750;font-size:1.05rem;line-height:1.3}
.resource-brand img{width:42px;height:42px;object-fit:contain}
.resource-nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;font-size:.9rem}
.resource-nav a{color:var(--resource-muted);text-decoration:none;padding:.4rem 0}
.resource-nav a:hover,.resource-nav a[aria-current="page"]{color:var(--resource-gold)}
.resource-main{max-width:1120px;margin:auto;padding:0 2rem}
.eyebrow{color:var(--resource-gold);font-size:.76rem;text-transform:uppercase;font-weight:750;letter-spacing:.16em;margin-bottom:1rem}
.resource-hero{padding:4.5rem 0 3.5rem}
.intro{font-size:clamp(1.08rem,2vw,1.25rem);max-width:44rem;color:var(--resource-muted);line-height:1.75}
.muted{color:var(--resource-muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.25rem;border:1px solid transparent;border-radius:.8rem;background:var(--resource-gold);color:var(--resource-bg);font-weight:750;font-size:.95rem;text-decoration:none;cursor:pointer;line-height:1.4;transition:background .15s,transform .15s;text-align:center}
.button:hover{background:#fcd34d;transform:translateY(-1px);text-decoration:none}
.button-secondary{background:transparent;border-color:#52627b;color:var(--resource-text)}
.button-secondary:hover{background:#24324b}
.resource-section{padding:3rem 0;border-top:1px solid rgba(148,163,184,.16)}
.section-heading{margin-bottom:.8rem}
.resource-callout{padding:2rem;border:1px solid rgba(251,191,36,.25);border-radius:1.2rem;background:rgba(251,191,36,.055);margin:2rem 0}
.resource-callout p{max-width:48rem;color:var(--resource-muted)}
details{border-bottom:1px solid var(--resource-border);padding:1.2rem 0}
summary{font-weight:650;cursor:pointer;padding:.25rem 0;color:var(--resource-text)}
details p{color:var(--resource-muted);max-width:48rem;margin:1rem 0 0}
.resource-footer{max-width:1120px;padding:2rem;margin:2rem auto 0;border-top:1px solid var(--resource-border);font-size:.875rem;color:var(--resource-muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.resource-footer p{margin:0}
.resource-footer nav{display:flex;flex-wrap:wrap;gap:1.25rem}
.resource-footer a{color:var(--resource-muted)}
@media(max-width:650px){.resource-header{padding:1rem 1.25rem;align-items:flex-start;flex-direction:column;gap:.8rem}.resource-nav{gap:1.25rem;font-size:.875rem}.resource-brand img{width:36px;height:36px}.resource-main{padding:0 1.25rem}.resource-hero{padding:2.5rem 0}.resource-section{padding:2.25rem 0}.resource-callout{padding:1.4rem}.resource-footer{padding:1.5rem 1.25rem}.button{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{html{color-scheme:light}body.resource-page{background:white;color:black;font-size:11pt}.resource-header,.resource-footer,.skip-link,.no-print{display:none!important}.resource-main{max-width:none;padding:0;margin:0}a{color:black}h1,h2,h3{break-after:avoid}.resource-section{padding:1rem 0}.muted,.intro{color:#222}}
