/* The Lab: shared styles for /lab/ (index only; each app carries its own CSS). */
:root{--paper:#f7f7f2;--white:#fff;--ink:#171916;--soft:#4b4f47;--rule:#babeb3;--accent:#254dff;
  --sans:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;--display:'Anton',Impact,'Arial Narrow',sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans)}
a{color:var(--ink);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:8px 12px}
.skip:focus{left:8px;top:8px}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.top{border-bottom:2px solid var(--ink);background:var(--paper)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px;font-weight:600}
.top a{text-decoration:none}.top a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.kicker{margin:44px 0 6px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(72px,15vw,168px);line-height:.86;margin:0;letter-spacing:.005em}
h1 span{color:var(--accent)}
.lede{font-size:clamp(18px,2.3vw,22px);max-width:760px;margin:22px 0 10px}
.rules{max-width:760px;margin:0 0 34px;color:var(--soft);font-size:15px}
.tally{display:flex;gap:18px;flex-wrap:wrap;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);padding:10px 0;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.apps{list-style:none;margin:0;padding:0}
.app{border-bottom:1px solid var(--rule)}
.app a.card{display:grid;grid-template-columns:120px 1fr auto;gap:8px 24px;align-items:baseline;padding:22px 0;text-decoration:none;color:var(--ink)}
.app .no{font-family:var(--display);font-size:44px;line-height:1;color:var(--accent)}
.app h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(32px,4.4vw,52px);line-height:.95;margin:0 0 8px;letter-spacing:.01em}
.app p{margin:0 0 8px;max-width:680px}
.app .meta{font-size:13px;color:var(--soft);letter-spacing:.02em}
.app .date{font-size:14px;font-weight:600;white-space:nowrap}
.app a.card:hover h2,.app a.card:focus-visible h2{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:4px}
.empty{padding:28px 0;color:var(--soft)}
footer{margin-top:72px;border-top:2px solid var(--ink)}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;padding-bottom:40px;font-size:14px}
@media (max-width:720px){.app a.card{grid-template-columns:1fr;gap:4px}.app .no{font-size:34px}.app .date{order:-1}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
