/* Lab Notes: the one sheet every note uses (the 10/10 plan, 2026-09-29, T22 T76 T86 T57 G23).
   Linked from each lab-notes/<slug>/index.html after the stamped head block; the pages carry no copy of these rules.
   Needs <body class="kit lab-note"> (tokens + kit parts) and <main class="ln">.
   Body text is Nunito 18/28 on the ruled lines at 64ch; Patrick Hand is only the kid box, Caveat only short captions. */
.lab-note{--ln-rule:#bcd6e6;--ln-margin:rgba(224,72,72,.35);--ln-line:28px;--ln-read:64ch}

/* ---------- page ---------- */
.ln{max-width:880px;margin:0 auto;padding:var(--s-6) var(--gutter) var(--s-7)}
@media (min-width:768px){.ln{padding-top:var(--s-7)}}

/* reading progress: 3px coral under the sticky header */
.ln-progress{position:fixed;left:0;right:0;top:var(--ttl-head);height:3px;z-index:49;pointer-events:none}
.ln-progress span{display:block;height:100%;width:100%;background:var(--coral);transform-origin:0 50%;transform:scaleX(0)}

/* ---------- the sheet ---------- */
.sheet{position:relative;background-color:var(--card);border:3px solid var(--ink);border-radius:var(--r-tag);box-shadow:var(--sh-4);
  padding:var(--s-7) var(--s-7) var(--s-8) 104px;
  background-image:linear-gradient(to right,transparent 78px,var(--ln-margin) 78px,var(--ln-margin) 80px,transparent 80px);
  font-size:18px;line-height:var(--ln-line)}
/* the ruled lines sit under each block of writing, so every line of text stands on one */
.sheet > p:not(.ln-update):not(.ln-meta),.sheet > ul > li,.sheet > ol:not(.arc) > li,.dad p,.ln-fold__body > p{
  background-image:linear-gradient(transparent 26px,var(--ln-rule) 26px,var(--ln-rule) 27px,transparent 27px);background-size:100% var(--ln-line);line-height:var(--ln-line)}
/* binder holes down the whole margin (T32), clear of the red rule */
.holes{position:absolute;left:24px;top:30px;bottom:30px;width:26px;pointer-events:none;
  background:radial-gradient(circle at 13px 13px,var(--paper) 0 8px,rgba(43,35,68,.45) 8.5px 11px,transparent 11.5px) 0 0/26px 260px repeat-y}
.holes i{display:none}
.sheet-tape{position:absolute;top:-14px;left:96px;width:110px;height:30px;background:rgba(255,201,51,.85);
  border:2px solid rgba(43,35,68,.35);border-radius:3px;transform:rotate(-3deg)}
.sheet-tape.r{left:auto;right:64px;transform:rotate(2.5deg)}
.stain{position:absolute;right:34px;bottom:60px;width:92px;height:92px;border-radius:50%;
  border:9px solid rgba(160,120,60,.12);pointer-events:none;transform:rotate(12deg) scaleX(1.08)}

/* reading text: Nunito 18/28, 64ch, on the lines */
.sheet > p,.sheet > ul,.sheet > ol,.sheet .ln-body > p,.sheet .ln-body > ul,.sheet .ln-body > ol,.dad p{max-width:var(--ln-read)}
.sheet p{margin:0 0 var(--ln-line)}
.sheet ul,.sheet ol{margin:0 0 var(--ln-line) 4px;padding:0;list-style:none}
.sheet li{padding-left:28px;position:relative;margin:0}
.sheet ul > li::before{content:"\2192";position:absolute;left:0;color:var(--error);font-weight:800}
.sheet ol{counter-reset:step}
.sheet ol > li{counter-increment:step;padding-left:34px}
.sheet ol > li::before{content:counter(step) ".";position:absolute;left:0;color:var(--error);font-weight:900}
.sheet strong,.sheet b{font-weight:900}

/* the first long-version paragraph opens with a drop cap (on .ln-lede only, so no stray 'W RITTEN') */
.sheet p.ln-lede::first-letter{font-family:var(--f-display);font-size:3.4em;float:left;line-height:.8;padding:6px 10px 0 0;color:var(--coral);
  -webkit-text-stroke:1px var(--ink);paint-order:stroke fill}

/* ---------- title block ---------- */
.ln-head{display:grid;gap:var(--s-5);align-items:start;margin-bottom:var(--s-6)}
.ln-head--pic{grid-template-columns:minmax(0,1fr) 220px}
.ln-meta{display:flex;flex-wrap:wrap;gap:0 .6em;margin:0 0 var(--s-3);font-family:var(--f-mono);font-weight:700;font-size:var(--fs-label);
  line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:var(--error)}
.ln-meta > * + *::before{content:"\00b7";margin-right:.6em}
.ln-late{display:inline-block;font-size:var(--fs-label);background:var(--tint-butter);color:var(--ink);border:2px solid var(--ink);border-radius:var(--r-tag);padding:0 6px;margin-left:4px;letter-spacing:.04em}
.sheet h1{font-family:var(--f-display);font-weight:400;font-size:clamp(2rem,1.55rem + 1.9vw,3rem);line-height:1.06;letter-spacing:.005em;margin:0;text-wrap:balance}
.sheet .ln-head .polaroid{width:100%;margin:var(--s-2) 0 0}
@media (max-width:760px){
  .ln-head--pic{grid-template-columns:1fr}
  .sheet .ln-head .polaroid{width:min(240px,78%);justify-self:center;margin:var(--s-3) auto 0}
  .sheet .ln-head .polaroid img{height:200px;object-fit:cover}
}

/* h2: Lilita with a whole (unbroken) sun underline */
.sheet h2{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,1.3rem + .8vw,1.9rem);line-height:1.2;margin:var(--s-7) 0 var(--s-4);max-width:var(--ln-read);
  text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:6px;text-decoration-skip-ink:none;text-underline-offset:6px;text-wrap:balance}

/* ---------- the kid box: the only Patrick Hand on the page ---------- */
.kid{background:var(--tint-butter);border:3px solid var(--ink);border-radius:var(--r-card);padding:var(--s-5) var(--s-5) var(--s-1);margin:0 0 var(--s-6);
  font-family:'Patrick Hand',var(--f-hand);font-weight:400;font-size:21px;line-height:30px;max-width:calc(var(--ln-read) + 48px)}
.kid .who{display:block;font-family:var(--f-display);font-size:1.15rem;color:var(--ink);margin-bottom:var(--s-2);letter-spacing:.01em}
.kid p{margin:0 0 var(--s-4)}
.grown{font-family:var(--f-mono);font-size:var(--fs-label);font-weight:700;letter-spacing:.1em;color:var(--muted);border-top:3px dashed var(--ln-rule);padding-top:var(--s-4);margin:0 0 var(--s-5);text-transform:uppercase}

/* jump-to chips (built from the h2s) */
.ln-jump{margin:0 0 var(--s-6)}
.ln-jump b{display:block;font-family:var(--f-mono);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s-2)}
.ln-jump ul{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0;list-style:none}
.sheet .ln-jump li{padding:0}
.sheet .ln-jump li::before{content:none}
.ln-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-weight:800;font-size:.95rem;line-height:1.2;color:var(--ink);text-decoration:none;
  background:var(--card);border:2px solid var(--ink);border-radius:var(--r-pill);box-shadow:var(--sh-1)}
.ln-jump a:hover,.ln-jump a:focus-visible{background:var(--sun)}
@media (max-width:640px){
  .ln-jump ul{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 8px;margin-right:-18px;scrollbar-width:thin;scrollbar-color:var(--coral) transparent}
  .ln-jump li{flex:none;scroll-snap-align:start}
  .ln-jump a{white-space:nowrap}
}

/* ---------- Dad's notes, margin notes, the signature ---------- */
.dad{border-left:5px solid var(--teal);padding:2px 0 2px var(--s-4);margin:0 0 var(--ln-line)}
.dad .who{display:block;font-weight:900;font-size:1rem;color:var(--teal-ink);margin-bottom:4px}
.dad p:last-child{margin-bottom:0}
.margin-note{display:inline-block;font-family:'Patrick Hand',var(--f-hand);font-size:1.3rem;line-height:1.35;color:var(--ink);background:var(--tint-butter);
  border-left:4px solid var(--sun);padding:6px 12px;margin:0 0 var(--ln-line);transform:rotate(-1deg);max-width:min(100%,48ch)}
.sig{font-family:var(--f-hand);font-weight:700;font-size:1.8rem;display:inline-block;margin-top:var(--s-2);transform:rotate(-2deg)}
.ln-update{display:block;width:fit-content;max-width:100%;margin:-12px 0 var(--ln-line);padding:4px 12px;background:var(--tint-butter);border:2px solid var(--ink);border-radius:var(--r-tag);
  font-weight:800;font-size:.95rem;line-height:1.4;transform:rotate(-.8deg)}
.ln-update b{font-family:var(--f-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--error);margin-right:6px}

/* ---------- spec tables ---------- */
.spec{background:var(--card);border:3px solid var(--ink);border-radius:var(--r-tag);padding:var(--s-3) var(--s-4);margin:0 0 var(--ln-line);overflow-x:auto;
  font-size:.95rem;line-height:1.5;scrollbar-color:var(--coral) var(--paper)}
.spec table{border-collapse:collapse;width:100%}
.spec td{padding:6px 12px 6px 0;vertical-align:top;border-bottom:1px dashed var(--ln-rule)}
.spec tr:last-child td{border-bottom:0}
.spec td:first-child{white-space:nowrap}
.spec td:first-child b{font-family:var(--f-mono);font-size:var(--fs-label);letter-spacing:.04em;color:var(--error);text-transform:uppercase}
.spec b{font-weight:800}
/* phones (T86): two-column tables stack as label over value */
@media (max-width:640px){
  .spec tr:not(:has(> td:nth-child(3))),.spec tr:not(:has(> td:nth-child(3))) > td{display:block}
  .spec tr:not(:has(> td:nth-child(3))) > td:first-child{white-space:normal;border-bottom:0;padding:8px 0 0}
  .spec tr:not(:has(> td:nth-child(3))) > td:last-child{padding:2px 0 8px}
}
/* the bear/base/bull table becomes swipe cards on phones */
.ln-cases{display:none}
@media (max-width:640px){
  .spec--cases{display:none}
  .ln-cases{display:flex;gap:var(--s-3);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px var(--s-2) 0;padding:4px 18px 10px 2px;scrollbar-width:none}
  .ln-cases::-webkit-scrollbar{display:none}
  .ln-case{flex:0 0 84%;scroll-snap-align:start;background:var(--card);border:3px solid var(--ink);border-radius:var(--r-card);padding:var(--s-4)}
  .ln-case.is-base{background:var(--tint-butter)}
  .ln-case h3{font-family:var(--f-display);font-weight:400;font-size:1.3rem;margin:0 0 var(--s-2)}
  .ln-case dl{margin:0;font-size:.95rem;line-height:1.4}
  .ln-case dt{font-family:var(--f-mono);font-size:var(--fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--error);margin-top:var(--s-2)}
  .ln-case dd{margin:0;font-weight:800}
  .ln-dots{display:flex;justify-content:center;gap:8px;margin:0 0 var(--ln-line)}
  .ln-dots i{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);background:var(--card)}
  .ln-dots i.on{background:var(--coral)}
}
@media (min-width:641px){.ln-dots{display:none}}

/* ---------- code cards ---------- */
.term{background:var(--night);color:#e9e4ff;border:3px solid var(--ink);border-radius:var(--r-tag);margin:0 0 var(--ln-line);overflow:hidden;
  font-family:var(--f-mono);font-size:13px;line-height:1.55;position:relative}
.term .bar{display:flex;align-items:center;gap:8px;background:var(--ink);padding:8px 12px;color:var(--on-night-muted);font-size:var(--fs-label);letter-spacing:.04em}
.term .bar i{width:11px;height:11px;border-radius:50%;display:inline-block;flex:none}
.term .bar i:nth-child(1){background:var(--coral)}.term .bar i:nth-child(2){background:var(--sun)}.term .bar i:nth-child(3){background:var(--teal)}
.term .bar span{margin-left:auto;text-align:right}
.term pre{margin:0;padding:14px 16px;overflow-x:auto;white-space:pre;tab-size:4;font:inherit;scrollbar-color:var(--coral) var(--ink)}
@media (max-width:640px){.term pre{white-space:pre-wrap;overflow-wrap:anywhere}.term .bar span{font-size:13px}}
.term .c{color:#9aa5c9}.term .k{color:var(--sun)}.term .s{color:var(--chip-green)}.term .n{color:#ff8fd8}
.sheet code{font-family:var(--f-mono);font-size:.85em;background:var(--paper);border:1.5px solid var(--ln-rule);border-radius:4px;padding:0 5px;overflow-wrap:anywhere}

/* ---------- pictures ---------- */
/* real photos: the kit polaroid, keeping each photo's own shape */
.sheet .polaroid{width:min(340px,92%);margin:var(--s-2) auto var(--s-6);transform:rotate(-1.8deg)}
.sheet .polaroid img{aspect-ratio:auto;height:auto}
.sheet .polaroid .pin{display:none}
.sheet .polaroid figcaption,.sheet .polaroid .cap{display:block;font-family:var(--f-hand);font-weight:700;font-size:1.3rem;line-height:1.15;text-align:center;padding:10px 6px 12px}
.sheet figcaption small,.sheet .cap small{display:block;font-family:var(--f-mono);font-weight:700;font-size:var(--fs-label);letter-spacing:.06em;color:var(--error);margin-top:4px}
.teasers{display:flex;flex-wrap:wrap;gap:var(--s-5) var(--s-4);justify-content:center;align-items:flex-start;margin:var(--s-5) 0 var(--s-6)}
.teasers .polaroid{width:min(230px,44%);margin:0;transform:rotate(-1.6deg)}
.teasers .polaroid:nth-child(2){transform:rotate(1.4deg)}.teasers .polaroid:nth-child(3){transform:rotate(-.8deg)}
@media (max-width:480px){.teasers .polaroid{width:min(260px,80%)}}
/* made-on-screen pictures (the Imaginator's drafts, file views): a crew-card frame, never a polaroid */
.ln-frame{margin:0;background:var(--card);border:3px solid var(--ink);border-radius:var(--r-card);overflow:hidden;width:min(260px,44%)}
.ln-frame img{display:block;width:100%;height:auto;background:var(--sand);border-bottom:3px solid var(--ink)}
.ln-frame figcaption{padding:10px 12px 12px;font-weight:800;font-size:1rem;line-height:1.3;text-align:center}
@media (max-width:480px){.ln-frame{width:min(280px,86%)}}
.machine{background:var(--card);border:3px solid var(--ink);border-radius:var(--r-card);padding:var(--s-3);margin:0 0 var(--ln-line)}
.machine .row{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.machine img{height:auto;display:block;border:2px solid rgba(43,35,68,.18);border-radius:10px;background:var(--sand)}
.machine img.a{width:min(220px,100%)}.machine img.b{flex:1 1 300px;max-width:100%;min-width:0}
.machine figcaption{font-weight:800;font-size:1rem;line-height:1.35;text-align:center;margin-top:10px}

/* diagrams: the wide drawing on desktop, a tall one on phones, and tap to see it big */
.blueprint,.sketch{position:relative;margin:0 0 var(--ln-line);border:3px solid var(--ink);border-radius:var(--r-tag);padding:10px 10px 4px}
.blueprint{background:#1f3f75}
.sketch{background:var(--card)}
.blueprint svg,.sketch svg{width:100%;height:auto;display:block}
.blueprint .cap,.sketch .cap{font-family:var(--f-hand);font-weight:700;font-size:1.2rem;line-height:1.25;text-align:center;margin:6px 0 8px}
.blueprint .cap{color:#dfe9ff}
.sketch .cap{color:var(--ink)}
.blueprint svg.dg-tall,.sketch svg.dg-tall{display:none}
@media (max-width:640px){.blueprint svg.dg-wide,.sketch svg.dg-wide{display:none}.blueprint svg.dg-tall,.sketch svg.dg-tall{display:block}}
.dg-zoom{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;font:inherit;font-weight:800;font-size:.9rem;
  color:var(--ink);background:var(--sun);border:2px solid var(--ink);border-radius:var(--r-pill);box-shadow:var(--sh-1);cursor:zoom-in}
.dg-zoom svg{width:16px;height:16px}
.dg-dlg{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0}
.dg-dlg::backdrop{background:rgba(27,21,48,.82)}
.dg-dlg .dg-big{position:absolute;inset:12px;overflow:auto;background:var(--card);border:3px solid var(--ink);border-radius:var(--r-tag);-webkit-overflow-scrolling:touch}
.dg-dlg .dg-big.is-blue{background:#1f3f75}
.dg-dlg .dg-big svg{display:block;width:max(100%,980px);max-width:none;height:auto}
.dg-dlg .dg-x{position:fixed;top:20px;right:20px;z-index:2;width:48px;height:48px;border-radius:50%;font:inherit;font-size:1.3rem;font-weight:900;color:var(--ink);background:var(--card);border:3px solid var(--ink);box-shadow:var(--sh-2);cursor:pointer}
.dg-dlg .dg-hint{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:2;background:var(--card);border:2px solid var(--ink);border-radius:var(--r-pill);padding:6px 14px;font-weight:800;font-size:.9rem;white-space:nowrap}
@media (min-width:1000px){.dg-dlg .dg-hint{display:none}}

/* the learning goals card */
.goals{background:var(--night);color:var(--on-night);border:3px solid var(--ink);border-radius:var(--r-card);padding:var(--s-5) var(--s-5) var(--s-3);margin:0 0 var(--s-6)}
.goals .who{font-family:var(--f-display);font-size:1.4rem;color:var(--sun);display:block;margin-bottom:4px}
.goals .why{font-size:1.05rem;color:var(--on-night);margin:0 0 var(--s-4)}
.sheet .goals ol{counter-reset:g;margin:0 0 var(--s-2)}
.sheet .goals li{counter-increment:g;padding-left:44px;margin-bottom:var(--s-3);line-height:1.45;color:var(--on-night-muted)}
.sheet .goals li::before{content:counter(g,decimal-leading-zero);top:2px;font-family:var(--f-mono);font-size:var(--fs-label);font-weight:700;color:var(--sun);letter-spacing:.06em}
.goals li b{font-weight:900;font-size:1.02rem;color:#fff;display:block}
.goals .foot{font-weight:700;font-size:.95rem;color:var(--on-night-muted);margin:var(--s-2) 0}

/* the thirteen notes, as a list with links */
.sheet .arc{margin:0 0 var(--ln-line)}
.sheet .arc li{padding-left:0;margin-bottom:6px;line-height:1.45}
.sheet .arc li::before{content:none}
.arc .n{font-family:var(--f-mono);font-size:var(--fs-label);font-weight:700;color:var(--error);letter-spacing:.06em;margin-right:8px}
.arc .d{font-weight:800;font-size:.9rem;color:var(--muted);margin-left:6px;white-space:nowrap}

/* ---------- folds: press, links, and the grown-up numbers ---------- */
.ln-fold{margin:0 0 var(--s-4);border:3px solid var(--ink);border-radius:var(--r-card);background:var(--card)}
.ln-fold > summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 18px;cursor:pointer;list-style:none;font-family:var(--f-display);font-size:1.15rem;line-height:1.2}
.ln-fold > summary::-webkit-details-marker{display:none}
.ln-fold > summary::after{content:"+";margin-left:auto;font-size:1.5rem;line-height:1}
.ln-fold[open] > summary::after{content:"\2212"}
.ln-fold > summary small{font-family:var(--f-mono);font-size:var(--fs-label);letter-spacing:.04em;color:var(--muted);font-weight:700}
.ln-fold__body{padding:0 18px 18px;font-size:1rem;line-height:1.6}
.ln-fold__body p{margin:0 0 var(--s-3)}
.ln-fold--grown{background:var(--tint-lilac)}
.ln-fold--grown > .ln-fold__body{padding-top:var(--s-2)}
.ln-fold--grown .spec,.ln-fold--grown .term,.ln-fold--grown .sketch{margin-bottom:var(--s-5)}
.press .q{font-family:var(--f-display);font-size:1.15rem;line-height:1.35;border-left:4px solid var(--sun);padding-left:12px;margin:var(--s-2) 0 var(--s-3)}
.sheet .links ul{margin:0 0 var(--s-3)}
.sheet .links li{padding-left:22px;margin-bottom:4px}

/* ---------- the ending: one next note, the rest small links ---------- */
.ln-end{margin:var(--s-7) auto 0;max-width:720px}
.ln-end .next-stop{grid-template-columns:140px 1fr}
.ln-end .next-stop img{aspect-ratio:1/1;object-fit:cover;border:2px solid var(--ink)}
.ln-end .next-stop small{display:block;font-family:var(--f-mono);font-weight:700;font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--error)}
.ln-end .next-stop b{display:block;font-family:var(--f-display);font-weight:400;font-size:var(--fs-h3);line-height:1.15;margin:4px 0}
.ln-end .next-stop span{font-weight:800;color:var(--muted)}
@media (hover:hover) and (pointer:fine){.ln-end .next-stop{transition:transform var(--t-quick) var(--ease-pop),box-shadow var(--t-quick) var(--ease-pop)}.ln-end .next-stop:hover{transform:translate(-2px,-2px);box-shadow:var(--sh-4)}}
@media (max-width:560px){.ln-end .next-stop{grid-template-columns:96px 1fr;gap:var(--s-4)}}
.ln-more{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:var(--s-5) 0 0;padding:0;list-style:none;font-weight:800}
.ln-more a{display:inline-flex;align-items:center;min-height:44px}

/* ---------- story notes (retired) keep their doodles ---------- */
.doodle{float:right;width:min(250px,42%);margin:6px -10px 10px 22px;transform:rotate(1.6deg)}
.doodle svg{width:100%;height:auto}
.doodle .cap{font-family:var(--f-hand);font-weight:700;font-size:1.2rem;text-align:center;color:var(--ink);line-height:1.2;margin-top:2px}

/* ---------- phones ---------- */
@media (max-width:640px){
  .ln{padding-left:12px;padding-right:12px}
  .sheet{padding:var(--s-6) 18px var(--s-7) 52px;font-size:17px;box-shadow:var(--sh-3);
    background-image:linear-gradient(to right,transparent 40px,var(--ln-margin) 40px,var(--ln-margin) 42px,transparent 42px)}
  .holes{left:5px;width:22px;background:radial-gradient(circle at 11px 11px,var(--paper) 0 6.5px,rgba(43,35,68,.45) 7px 9px,transparent 9.5px) 0 0/22px 220px repeat-y}
  .sheet-tape{left:56px;width:90px}.sheet-tape.r{right:28px}
  .kid{font-size:20px;line-height:28px;padding:var(--s-4) var(--s-4) 2px}
  .stain{display:none}
  .doodle{float:none;width:min(250px,80%);margin:0 auto var(--s-5)}
}
@media print{.ln-progress,.dg-zoom,.ln-jump{display:none}.sheet{box-shadow:none;background-image:none}.ln-fold{border-width:1px}}

/* ---------- the Lab Notes index (lab-notes/index.html) ----------
   Card markup is what docs/agents/labnotesctl.py index_card() writes: a.note-card > span.tape2, span.meta, h2, p, span.readmore
   (its inline tilt and tape colour included). The cover image is added on the page, or by the page's script for new cards. */
.lab-notes-index{--yellow:var(--sun)}
.lni{max-width:880px;margin:0 auto;padding:var(--s-6) var(--gutter) var(--s-7)}
@media (min-width:768px){.lni{padding-top:var(--s-7)}}
.lni-head{margin-bottom:var(--s-6)}
.lni-head .h1{margin-bottom:var(--s-3)}
.lni-head .lede{max-width:38em}
.lni-when{margin-top:var(--s-2);transform:rotate(-1deg);transform-origin:left}
.lni-list{display:grid;gap:var(--s-6)}
.note-card{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:var(--s-5);
  background:var(--card);border:3px solid var(--ink);border-radius:var(--r-card);box-shadow:var(--sh-3);padding:var(--s-4);color:var(--ink);text-decoration:none;
  transform:none!important;transition:transform var(--t-quick) var(--ease-pop),box-shadow var(--t-quick) var(--ease-pop)}
.note-card .note-cover{grid-column:1;grid-row:1 / -1;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:2px solid var(--ink);border-radius:10px;background:var(--sand)}
.note-card .meta,.note-card h2,.note-card p,.note-card .readmore{grid-column:2}
.note-card:not(:has(.note-cover)){grid-template-columns:minmax(0,1fr)}
.note-card:not(:has(.note-cover)) :is(.meta,h2,p,.readmore){grid-column:1}
.note-card .tape2{position:absolute;top:-14px;left:40px;width:96px;height:26px;border:2px solid rgba(43,35,68,.35);border-radius:3px;transform:rotate(-3deg)}
.note-card .meta{font-family:var(--f-mono);font-weight:700;font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--error);margin-top:var(--s-1)}
.note-card h2{font-family:var(--f-display);font-weight:400;font-size:clamp(1.35rem,1.2rem + .6vw,1.7rem);line-height:1.15;margin:var(--s-2) 0;text-wrap:balance}
.note-card p{margin:0;font-weight:600;line-height:1.55;color:var(--ink)}
.note-card .readmore{align-self:end;margin-top:var(--s-3);font-family:var(--f-display);font-size:1.1rem}
.note-card .readmore::first-letter{text-transform:uppercase}
@media (hover:hover) and (pointer:fine){.note-card:hover{transform:translate(-2px,-2px)!important;box-shadow:var(--sh-4)}}
.note-card:active{transform:translate(2px,2px)!important;box-shadow:var(--sh-1)}
@media (max-width:560px){
  .note-card{grid-template-columns:96px minmax(0,1fr);column-gap:var(--s-4);padding:var(--s-3)}
  .note-card .note-cover{grid-row:1 / 3}
  .note-card p,.note-card .readmore{grid-column:1 / -1}
  .note-card p{margin-top:var(--s-2)}
}
.lni-more{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 18px;margin-top:var(--s-7);font-weight:800}
.lni-more a{display:inline-flex;align-items:center;min-height:44px}
.lni-foot{text-align:center;color:var(--muted);font-size:var(--fs-small);margin-top:var(--s-3)}
