/* Musings: the writing index (/musings/), each piece (/musings/<slug>/), and the latest three on the
   home page. A single reading column in the site's type; images may run a little wider than the text. */

.m-page{--rail-h:0px}
.m-main{max-width:calc(760px + 2 * var(--gutter));margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 120px) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 64px)}

.m-head .label a{color:inherit;text-decoration:none}
.m-head .label a:hover{color:var(--blue)}
.m-h1{margin:0;font-weight:800;font-size:var(--fs-5);line-height:1.02;letter-spacing:0;text-wrap:balance}
.m-h1 span{display:block;color:var(--unlit)}
.m-dek{margin:16px 0 0;font-size:var(--fs-3);line-height:1.3;letter-spacing:0;color:var(--ink-soft);text-wrap:balance}

/* list of pieces, used on the index and on the home page */
.m-list{margin-top:clamp(36px,5vw,56px)}
.m-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 0;color:var(--ink);text-decoration:none;transition:transform var(--press) var(--ease-out)}
.m-row:active{transform:scale(.99)}
.m-row-text{display:grid;gap:6px;min-width:0}
.m-meta{font-size:var(--fs-1);color:var(--ink-soft);font-variant-numeric:tabular-nums}
.m-title{font-weight:800;font-size:var(--fs-3);line-height:1.15;letter-spacing:0;transition:color .2s ease}
.m-sub-line{font-size:var(--fs-2);line-height:1.4;color:var(--ink-soft)}
.m-thumb{width:clamp(84px,14vw,140px);aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--card)}
.m-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .m-row:hover .m-title{color:var(--blue)}
  .m-row:hover .m-thumb img{transform:scale(1.04)}
}

/* the quiet between two pieces: one tick per month, Januaries taller, filling in on arrival */
.m-gap{display:grid;gap:10px;padding:18px 0 20px}
.m-gap-ticks{display:flex;flex-wrap:wrap;align-items:flex-end;gap:5px 4px}
.m-gap-ticks i{width:2px;height:10px;border-radius:1px;background:var(--ink-soft)}
.m-gap-ticks i.y{height:16px;background:var(--blue)}
.m-gap-t{font-size:var(--fs-1);font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.m-gap.is-armed .m-gap-ticks i,.m-gap.is-armed .m-gap-t{opacity:0}
.m-gap.is-armed.is-in .m-gap-ticks i{opacity:1;transition:opacity .24s var(--ease-out) calc(min(var(--i), 90) * 11ms)}
.m-gap.is-armed.is-in .m-gap-t{opacity:1;transition:opacity .3s var(--ease-out) .1s}
.m-row-out .m-meta{color:var(--blue);font-weight:700}

/* writing published elsewhere: a blue card that links out */
.m-feature{display:grid;gap:10px;margin-top:clamp(36px,5vw,56px);padding:clamp(24px,4vw,40px);border-radius:22px;background:var(--blue);color:var(--on-blue);text-decoration:none;
  transition:transform var(--press) var(--ease-out)}
.m-feature:active{transform:scale(.97)}
.m-feature-meta{font-size:var(--fs-1);font-weight:700}
.m-feature-title{font-weight:800;font-size:var(--fs-4);line-height:1.05;letter-spacing:0;text-wrap:balance}
.m-feature-dek{max-width:52ch;font-size:var(--fs-2);line-height:1.45}
.m-feature-go{margin-top:8px;font-weight:700;font-size:var(--fs-2)}
.m-feature-go i{display:inline-block;font-style:normal;transition:transform .2s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.m-feature:hover .m-feature-go i{transform:translate(2px,-2px)}}

/* a piece */
.m-article{margin:0}
.m-body{margin-top:clamp(36px,5vw,52px);font-size:var(--fs-2);line-height:1.72;color:var(--ink)}
.m-body > *{margin:0 0 1.1em}
.m-body h2,.m-body h3,.m-body h4{margin:1.8em 0 .5em;font-weight:800;line-height:1.2;letter-spacing:0}
.m-body h2{font-size:var(--fs-4)}
.m-body h3,.m-body h4{font-size:var(--fs-3)}
.m-body a{color:var(--blue);text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.15em}
.m-body strong{font-weight:800}
.m-body em,.m-body i{font-style:normal}                 /* no italics anywhere on the site, the articles included */
.m-body blockquote{margin:1.6em 0;padding:0;color:var(--blue);font-size:var(--fs-3);line-height:1.4;letter-spacing:0}
.m-body ul,.m-body ol{padding-left:1.2em}
.m-body li{margin:.3em 0}
.m-body hr{margin:2.4em 0;border:0;height:0}
.m-body figure{margin:1.8em calc(var(--bleed,0px) * -1);text-align:center}
.m-body figure img{display:block;width:auto;max-width:100%;max-height:78vh;height:auto;margin:0 auto;border-radius:14px;background:var(--card)}  /* tall photos stay within the screen */
.m-body figcaption{margin-top:10px;font-size:var(--fs-1);line-height:1.5;color:var(--ink-soft)}
.m-body .m-gallery{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:8px;align-items:start}
.m-body .m-gallery img{width:100%;max-height:none;aspect-ratio:4/5;object-fit:cover}
.m-body .m-gallery figcaption{grid-column:1/-1}
.m-sign{margin:40px 0 0;font-weight:800;font-size:var(--fs-2)}
.m-orig{margin:8px 0 0;font-size:var(--fs-1);color:var(--ink-soft)}
.m-orig a{color:inherit}
.m-next{margin-top:clamp(48px,7vw,80px)}
.m-next .m-feature{margin-top:14px}
@media (min-width:1000px){.m-body{--bleed:60px}}

/* subscribe */
.m-sub{margin-top:clamp(48px,7vw,80px);padding:clamp(22px,3vw,32px);border-radius:22px;background:var(--card)}
.m-sub-t{margin:0 0 16px;font-size:var(--fs-2);line-height:1.45;color:var(--ink-soft)}
.m-sub-t b{display:block;font-weight:800;font-size:var(--fs-3);letter-spacing:0;color:var(--ink)}
.m-sub-row{display:flex;gap:10px}
.m-sub-row input{flex:1;min-width:0;min-height:48px;padding:0 16px;border:0;border-radius:999px;background:var(--paper);font:inherit;font-size:var(--fs-2);color:var(--ink)}
.m-sub-row input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--blue)} /* taste-skill-ignore: focus ring */
.m-sub-row .btn:active{transform:scale(.97)}

/* after subscribing: the box answers in place */
.m-sub-done{display:flex;gap:14px;align-items:flex-start;animation:sub-in .32s var(--ease-out) both}
.m-sub-done p{margin:0;font-size:var(--fs-2);line-height:1.45;color:var(--ink-soft)}
.m-sub-done b{color:var(--ink);font-weight:800}
.m-sub-done span{color:var(--ink);font-weight:700;overflow-wrap:anywhere}
.m-sub-check{flex:none;position:relative;width:28px;height:28px;margin-top:-2px;border-radius:50%;background:var(--blue);animation:sub-pop .42s var(--ease-out) both}
.m-sub-check::after{content:"";position:absolute;left:10px;top:6px;width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.m-sub.is-done .m-sub-t{display:none}
.m-sub-row .btn[disabled]{background:var(--ink-soft);cursor:progress}
@keyframes sub-in{from{opacity:0;transform:translateY(6px)}}
@keyframes sub-pop{from{transform:scale(.4);opacity:0}60%{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.m-sub-done,.m-sub-check{animation:none}}

/* newer / older */
.m-more{display:flex;justify-content:space-between;gap:16px;margin-top:clamp(40px,6vw,64px)}
.m-more a{max-width:48%;color:var(--ink);text-decoration:none;transition:transform var(--press) var(--ease-out)}
.m-more a:active{transform:scale(.97)}
.m-more .older{text-align:right;margin-left:auto}
.m-more small{display:block;margin-bottom:6px;font-size:var(--fs-1);font-weight:700;color:var(--ink-soft)}
.m-more span{font-weight:800;font-size:var(--fs-3);line-height:1.15;letter-spacing:0}
.m-more a:hover span{color:var(--blue)}

/* the latest three, on the home page */
.musings-home .m-list{margin-top:clamp(32px,5vw,48px)}
.m-all{display:inline-block;margin-top:22px;font-weight:700;font-size:var(--fs-2);color:var(--ink);text-decoration:none}
.m-all:hover{color:var(--blue)}

@media (max-width:600px){
  .m-main{padding-top:calc(env(safe-area-inset-top,0px) + 96px)}
  .m-sub-row{flex-direction:column}
  .m-row{grid-template-columns:minmax(0,1fr) 84px;gap:14px}
}
