/* @generated by ksite theme css: the prototype's rules KS Theme doesn't already provide (spec §2A).
   Review each: a rule that every site would want belongs in the parent block's CSS. */

/* (base) */
:root{
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --container-max:1320px;
  --space-section:var(--space-4xl); --space-head:var(--space-2xl); --space-grid:var(--space-m); --space-strip:var(--space-xl);
  --space-stack-s:var(--space-s); --space-stack-m:var(--space-m); --space-stack-l:var(--space-xl);
  --space-pad-l:var(--space-xl); --space-pad-m:var(--space-l);
  --toc-h:0px;
  interpolate-size:allow-keywords;
}
@media (max-width: 720px) {
:root { --size-header: 64px; --size-anchor-offset: 76px; }
}
/* js */
.js .hero__anim{animation:fadeUp .9s var(--ease-out) both;animation-delay:var(--d,0ms)}
/* link-strong */
.link-strong[href="#fee-note"]{color:var(--secondary-d-1);text-decoration:none;padding:0 var(--space-4xs)}
.link-strong--on-dark[href="#fee-note"]{color:var(--secondary)}
/* wordmark */
.wordmark__name { font-family: "Cinzel",Georgia,serif; }
.wordmark__sub { font-family: "Cinzel",Georgia,serif; }
/* js */
.js .hero__bg-img{opacity:.01}
.js .hero__bg-img--loaded{animation:photoIn 1.2s var(--ease-out) both}
/* field */
.field--flush{margin:0}
.field--invalid .field__control{border-color:var(--danger)}
/* contact-card */
.contact-card--solid{background:var(--primary-80)}
/* footer */
.footer__link[aria-current="page"] { color: var(--white); }
/* jr-card */
.jr-card .dl-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width: 720px) {
.jr-card .dl-controls { grid-template-columns: minmax(0,1fr); }
}
/* map-tree */
.map-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-grid)}
@media (max-width: 1020px) {
.map-tree { grid-template-columns: minmax(0,1fr); }
}
/* map-col */
.map-col{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--space-pad-m)}
.map-col__title{font-size:var(--text-xl);margin-bottom:var(--space-3xs)}
.map-col__text{color:var(--text-muted);font-size:var(--text-s);margin-bottom:var(--space-s)}
.map-col__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2xs)}
.map-col__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3xs) var(--space-xs);align-items:baseline;padding:var(--space-xs) var(--space-s);border-radius:var(--radius-s);background:var(--neutral-l-5);font-size:var(--text-s);font-weight:600;line-height:1.35}
.map-col__path{grid-column:1/-1;font:500 var(--text-xs)/1.4 ui-monospace,Menlo,monospace;color:var(--text-muted);word-break:break-all}
.map-col__link{color:inherit}
/* tag */
.tag{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-4xs) var(--space-xs);border-radius:var(--radius-full);background:var(--neutral-l-4);color:var(--neutral);white-space:nowrap}
.tag.built{background:var(--success-l-4);color:var(--success)}
.tag.ads{background:var(--secondary-l-4);color:var(--secondary-d-1)}
/* map-notes */
.map-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-grid);margin-top:var(--space-grid)}
@media (max-width: 1020px) {
.map-notes { grid-template-columns: minmax(0,1fr); }
.toc-mobile { border: 1px solid var(--border-strong); }
.toc-mobile__summary { padding: var(--space-s) var(--space-m); font-size: var(--text-xs); }
}
