/* Notes: card grid, search, interactive note (case study builder). Uses tokens from styles.css. */
.note-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:20px}
.note-grid>li[hidden]{display:none}
@media (min-width:760px){.note-grid{grid-template-columns:repeat(2,1fr)}}
.note-card{display:flex;flex-direction:column;height:100%;padding:6px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow),inset 0 0 0 1px var(--line);transition:transform .6s var(--ease),box-shadow .4s}
.note-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--line)}
.note-card:focus-visible{outline:2px solid var(--faint);outline-offset:4px}
.nc-media{border-radius:15px;overflow:hidden;background:var(--surface-2);aspect-ratio:16/9}
.nc-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.note-card:hover .nc-media img{transform:scale(1.02)}
.nc-body{display:flex;flex-direction:column;gap:10px;padding:18px 16px 14px}
.nc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;color:var(--muted)}
.nc-title{font-size:22px;font-weight:500;letter-spacing:-.03em;line-height:1.2;color:var(--ink)}
.nc-sum{color:var(--ink-2);font-size:15px;line-height:1.55}
.note-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;background:var(--lime);color:var(--on-lime);font-size:11.5px;font-weight:600;white-space:nowrap}
.notes-tools{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.notes-search{position:relative;flex:1;max-width:380px}
.notes-search svg{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.notes-search input{width:100%;height:44px;padding:0 14px 0 36px;border:0;border-radius:var(--r);background:var(--surface);color:var(--ink);font:400 15px var(--font);box-shadow:var(--shadow),inset 0 0 0 1px var(--line);-webkit-appearance:none;appearance:none}
.notes-search input::placeholder{color:var(--muted)}
.notes-search input:focus{outline:2px solid var(--faint);outline-offset:2px}
.notes-count{font-size:13px;color:var(--muted)}
.notes-none{padding:32px;border-radius:var(--r-lg);background:var(--surface-2);color:var(--ink-2);text-align:center}
.notes-none[hidden]{display:none}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.crumb .note-tag{height:24px}
.wip-note{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 16px;border-radius:var(--r);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2)}
.wip-note p{margin:0;font-size:15px;color:var(--ink-2)}
.cs-fork{margin:0;padding:16px;border:0;border-radius:20px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-wrap:wrap;gap:10px}
.cs-fork legend{float:left;width:100%;font-weight:500;font-size:15px;color:var(--ink);margin-bottom:6px}
.cs-fork .fork-c{flex:1 1 240px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-size:15px;line-height:1.4}
.cs-fork .fork-c input{margin:3px 0 0;accent-color:var(--lime);width:16px;height:16px;flex:none}
.cs-fork .fork-c b{display:block;font-weight:500;color:var(--ink)}
.cs-fork .fork-c small{display:block;font-size:13px;color:var(--ink-2);margin-top:2px}
.cs-fork .fork-c:has(input:checked){background:var(--surface);box-shadow:inset 0 0 0 2px var(--lime),var(--shadow)}
.cs-fork .fork-c:has(input:focus-visible){outline:2px solid var(--faint);outline-offset:2px}
.cs-tabs{display:inline-flex;padding:4px;gap:4px;border-radius:var(--r);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);justify-self:start;max-width:100%}
.cs-tabs button{height:40px;padding:0 16px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-2);font:500 14px/1 var(--font);cursor:pointer;white-space:nowrap}
.cs-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow),inset 0 0 0 1px var(--line)}
.cs-tabs button:focus-visible{outline:2px solid var(--faint);outline-offset:2px}
.cs-panel{display:grid;gap:16px}.cs-panel[hidden]{display:none}
.cs-panel>.ai-note{background:none;padding:0;font-size:13px;color:var(--muted)}
.cs-step{display:grid;gap:12px;padding:20px;border-radius:20px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);scroll-margin-top:90px}
.cs-step header{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.cs-n{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);background:var(--lime);color:var(--on-lime);font:500 13px var(--mono)}
.cs-of{display:block;font-size:11.5px;color:var(--muted)}
.cs-step h2{font-size:19px;font-weight:500;letter-spacing:-.03em;color:var(--ink);margin:0}
.cs-why{font-size:15px;color:var(--ink-2);margin:0}
.cs-hint{font-size:13px;color:var(--muted);margin:0}
.cs-wrap[data-path="a"] .pb,.cs-wrap[data-path="b"] .pa{display:none!important}
.cs-step .pa,.cs-step .pb{display:grid;gap:12px}.cs-step h2 .pa,.cs-step h2 .pb{display:inline}
.note-body .prompt pre{font-size:12.5px}
@media (max-width:520px){.cs-tabs{display:flex;width:100%}.cs-tabs button{flex:1;padding:0 8px;font-size:13px}.cs-step{padding:16px}.notes-search{max-width:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* ---- mobile pass ---- */
@media (max-width:900px){
  .notes-search input{font-size:16px;min-height:48px}
  [role=tablist] button,.copy,.crumb a,.crumb .pill{min-height:44px}
  .crumb a{display:inline-flex;align-items:center}
  .cs-panel>.ai-note{font-size:14px}
  .note-grid{gap:16px}
  .note-card{-webkit-tap-highlight-color:transparent}
  .note-card:active{transform:scale(.99)}
  .note-body{font-size:17px;line-height:1.65}
  .note-body h2{font-size:24px;line-height:1.25;margin-top:1.8em}
  .note-body h3{font-size:19px}
}
.notes-none{min-height:120px}
.note-fig{margin:8px 0}
.note-fig img{display:block;width:100%;height:auto;aspect-ratio:1600/795;border-radius:var(--r);box-shadow:var(--shadow),inset 0 0 0 1px var(--line);background:var(--surface-2)}
.note-fig figcaption{margin-top:8px;font-size:14px;color:var(--muted);line-height:1.5}
.note-body code{font-size:.9em;padding:1px 5px;border-radius:5px;background:var(--surface-2)}
/* project links: reuse building.html .post-links / .post-link */
.post-links.note-links{flex-wrap:wrap;margin-top:20px;padding-top:0}
@media (max-width:900px){.note-links .post-link{min-height:44px;height:44px}}
/* thumbnails: light/dark pair swapped by html[data-mode] */
.nc-media .thumb{display:block;height:100%}
/* ===== QA5: every note on the guide layout: left-aligned hero, chips + byline, guide reading width ===== */
.note-read{max-width:720px}
.note-hero .note-links{margin-top:20px}
.guide main .post-link,.guide main .post-nav a.btn,.guide main .crumb a.pill{text-decoration:none}
