/* Oct 27 batch3 (Wilson review): arrow cursor, TODO placeholders, case videos, case nav, /work Vanilla break, Sites we built, Vanilla thumbs. */
/* Item 7: the cursor accent is an arrow pointer drawn with an inline SVG. Its tip sits on the pointer. Over [data-cursor] it still grows into the labeled circle.
   site.css keeps it hidden on touch screens and with reduced motion. While it is showing, the system arrow is hidden so there is one pointer. */
.cur:not(.big){width:1.15rem;height:1.4rem;margin:0;border-radius:0;box-shadow:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M2 1.6v17.6l4.6-4.4 3.1 7 3.2-1.4-3.1-6.9h6.6z' fill='%23FED60F' stroke='%23141414' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 0/contain}
.cur.big{background-image:none}
@media (hover:hover) and (pointer:fine){html:has(.cur.on),html:has(.cur.on) *{cursor:none}html:has(.cur.on) input,html:has(.cur.on) textarea,html:has(.cur.on) select{cursor:text}}
.todo{display:inline-block;border:2px dashed var(--ink);background:#FFF3B0;color:var(--ink);padding:.5rem .75rem;border-radius:.25rem;font-weight:700}
.cs-vids{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:1.25rem}
@media (min-width:48em){.cs-vids{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-vids li:only-child{grid-column:1/-1}}
.cs-vids figure,.cs-fig{margin:0}
.cs-vids figcaption,.cs-fig figcaption{font-size:.9375rem;line-height:1.4;margin-top:.6rem}
.wv{position:relative;aspect-ratio:16/9;border-radius:.25rem;overflow:hidden;background:var(--ink)}
.wv img,.wv iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;display:block}
.wv-play{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:1rem;text-decoration:none}
.wv-play:hover .playchip,.wv-play:focus-visible .playchip{background:var(--y)}
.cs-nums{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:1rem 0 0;font-size:1.0625rem}
.cs-nums dt{font-weight:800}.cs-nums dd{margin:0}
.cs-proof{display:grid;gap:1.25rem;margin-top:1rem;align-items:start}
@media (min-width:48em){.cs-proof{grid-template-columns:16rem minmax(0,28rem)}}
.cs-proof img{width:100%;height:auto;display:block;border:2px solid var(--ink);border-radius:.5rem}
.cs-nav{border-top:2px solid var(--ink)}
.cs-pn{display:grid;gap:1rem}
@media (min-width:40em){.cs-pn{grid-template-columns:1fr 1fr}.cs-next{text-align:right}}
.cs-pn a{display:block;border:2px solid var(--ink);border-radius:.5rem;padding:1rem 1.25rem;text-decoration:none;color:inherit}
.cs-pn a:hover,.cs-pn a:focus-visible{background:var(--y)}
.cs-pn .d{display:block;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.15;margin-top:.3rem}
.cs-mw-h{margin-top:1.75rem}
.cs-mw{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.cs-mw a{display:inline-block;border:2px solid var(--ink);border-radius:999px;padding:.45rem .9rem;font-weight:700;text-decoration:none;color:inherit}
.cs-mw a:hover,.cs-mw a:focus-visible{background:var(--y)}
.wp-break{grid-column:1/-1;background:var(--ink);color:var(--paper);border-radius:.25rem;overflow:hidden;gap:0}
.wp-break .wp-copy{padding:1.25rem 1.5rem 1.5rem}
.wp-break .tlink{color:var(--y)}
.wp-bimg img{width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;display:block}
@media (min-width:56em){.wp-break{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center}.wp-break h3{font-size:clamp(1.6rem,2.6vw,2.4rem)}}
@media (min-width:64em){.wp-grid>.wp-solo{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1.5rem;align-items:center}.wp-grid>.wp-solo .wp-copy{grid-column:2/-1;max-width:60ch}}
.sb-grid{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.5rem}
@media (min-width:40em){.sb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64em){.sb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sb-card{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:inherit}
.sb-card img{width:100%;height:auto;display:block;border:2px solid var(--ink);border-radius:.5rem;background:var(--paper)}
.sb-name{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.15;margin-top:.5rem}
.sb-go{font-weight:800}
.sb-card:hover .sb-go,.sb-card:focus-visible .sb-go{text-decoration:underline}
.vi-hasthumb .vi-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vi-hasthumb .vi-ph{background:linear-gradient(transparent 35%,rgba(20,20,20,.8))}
.vi-b3{margin-top:1.25rem}
.cs-fig img{width:100%;height:auto;display:block}

/* /ai-system/ (Wilson, 11:13 PM): static, built graphics only. No animation. */
.ai-p{font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.45;max-width:46ch;margin:1rem 0 0}
.ai-big{font-weight:800}
.ai-day{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1rem}
@media (min-width:48em){.ai-day{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ai-day li{border:2px solid var(--ink);border-radius:.5rem;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}
.ai-t{font-weight:900;font-size:1.25rem}
.ai-rule{margin:1.75rem 0 0;background:var(--ink);color:var(--paper);border-radius:.5rem;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.ai-rq{font-size:clamp(1.6rem,3.6vw,3rem);line-height:1;max-width:22ch}
.ai-dia{margin:1.5rem 0 0;border:2px solid var(--ink);border-radius:.5rem;padding:1.5rem 1rem}
.ai-dia figcaption{font-size:.9375rem;line-height:1.4;margin-top:1.25rem}
.ai-org{display:flex;flex-direction:column;align-items:center}
.ai-node{border:2px solid var(--ink);border-radius:.4rem;padding:.5rem .8rem;font-weight:800;text-align:center;background:var(--paper);display:flex;flex-direction:column;gap:.15rem}
.ai-n{font-weight:900;font-size:1.125rem}.ai-r{font-weight:600;font-size:.875rem}
.ai-boss{background:#FED60F}.ai-dir{background:var(--ink);color:var(--paper)}
.ai-link{width:2px;height:1.5rem;background:var(--ink)}
.ai-l3{width:100%;display:grid;gap:1rem;border-top:2px solid var(--ink);padding-top:1rem}
@media (min-width:56em){.ai-l3{grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:start}}
.ai-spec{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
@media (min-width:40em){.ai-spec{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:64em){.ai-spec{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ai-spec .ai-node{font-size:.9375rem;justify-content:center;min-height:2.75rem}
.ai-br{display:flex;flex-direction:column;align-items:center}
.ai-cb{border-style:solid;background:#FFF3B0;width:100%}
.ai-cl{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%}
.ai-ext{border-style:dashed;font-size:.9375rem;justify-content:center}
.ai-sec .d.h2+ul{margin-top:1.25rem}
.ai-cards{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1rem}
@media (min-width:40em){.ai-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64em){.ai-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ai-card{border:2px solid var(--ink);border-radius:.5rem;padding:1.1rem 1.25rem}
.ai-card p{margin:.4rem 0 0;line-height:1.4}
.ai-cn{font-size:1.25rem;font-weight:900;margin:0}
.ai-res{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1rem}
@media (min-width:48em){.ai-res{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ai-res li{border-top:4px solid var(--ink);padding-top:1rem}
.ai-rh{font-size:1.5rem;font-weight:900;margin:0}
.ai-res p{margin:.4rem 0 .5rem;line-height:1.45}
.ai-tz{background:#FED60F;color:#141414}
.ai-tz-in{display:grid;gap:1rem;align-items:center}
@media (min-width:56em){.ai-tz-in{grid-template-columns:minmax(0,1fr) auto}}
.ai-tzp{font-size:1.125rem;margin:.75rem 0 0;max-width:46ch}
.ai-tzc{margin:0}
