/* Post styling only.

   The header, footer, buttons, fonts and palette all come from the site's own
   css/styles.css, which these pages load first. Anything duplicated here would
   quietly win over the real site rules, so this file adds and never repeats. */

/* Per-post accent, themed from the editor. */
.accent-blue{--accent:#0077cc;--accent-soft:#e6f2fb}
.accent-mint{--accent:#0f8a6a;--accent-soft:#e3f5ef}
.accent-sunset{--accent:#c2570c;--accent-soft:#fdefe2}
.accent-grape{--accent:#6b3fc4;--accent-soft:#efe9fb}
.accent-rose{--accent:#c0326c;--accent-soft:#fbe8f0}
.accent-slate{--accent:#3f5566;--accent-soft:#eaf0f4}
.updates-page{--accent:var(--brand);--accent-soft:#e6f2fb}

.updates-page .sprite{position:absolute;width:0;height:0;overflow:hidden}
.updates-page main{display:block;padding-bottom:20px}

.preview-bar{margin:0;padding:12px 24px;text-align:center;font-weight:600;font-size:.875rem;
  background:#fff0d4;color:#7a5310;border-bottom:1px solid #e8d09a}

/* ── index ── */
.page-head{padding:48px 0 32px;max-width:70ch}
.page-head .eyebrow{margin:0 0 10px;font-size:.75rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brand)}
.page-head h1{font-size:clamp(2.4rem,6vw,3.4rem)}
.lead{margin:16px 0 0;font-size:1.0625rem;color:var(--ink-soft)}
.update-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;padding-bottom:20px}
.update-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;
  transition:transform .2s,box-shadow .2s}
.update-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -26px #17323a80}
.update-card.is-pinned{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.card-link{display:block;color:inherit;text-decoration:none}
.card-art{aspect-ratio:16/9;background:var(--accent-soft);overflow:hidden}
.card-art img{width:100%;height:100%;object-fit:cover}
.card-art.is-blank{background:linear-gradient(140deg,var(--accent-soft),#fff)}
.card-body{padding:20px 22px 24px}
.card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;
  font-size:.8125rem;color:var(--ink-soft)}
.tag{background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.6875rem;
  letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.pin{font-weight:700;font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.card-body h2{font-size:1.4rem;margin-bottom:10px}
.card-summary{margin:0 0 14px;color:var(--ink-soft);font-size:.9375rem}
.card-more{font-weight:600;font-size:.875rem;color:var(--accent)}
.empty-state{background:#fff;border:1px dashed var(--line);border-radius:22px;padding:52px 28px;text-align:center}
.empty-state img{margin:0 auto 14px;opacity:.9}
.empty-state h2{font-size:1.5rem;margin-bottom:10px}
.empty-state p{margin:0 auto;max-width:44ch;color:var(--ink-soft)}

/* ── article ── */
.post .wrap{max-width:780px}
.crumbs{padding-top:26px;margin:0;font-size:.8125rem;color:var(--ink-soft)}
.post-head{padding:18px 0 26px}
.post-head h1{font-size:clamp(2.1rem,5.4vw,3rem);margin-bottom:14px}
.reading{color:var(--ink-soft)}
.post-cover{border-radius:20px;overflow:hidden;border:1px solid var(--line);margin-bottom:34px}
.post-cover img{width:100%;height:auto;object-fit:cover;display:block}
.post-body>*{margin:0 0 22px}
.post-body h2{font-size:1.7rem;margin:40px 0 14px}
.post-body h3{font-size:1.3rem;margin:32px 0 12px}
.post-body p{font-size:1.0625rem;line-height:1.75}
/* The site resets every link to plain ink for its own nav and cards. Inside
   a post that makes links invisible, so give them back a link's look. */
.post-body a:not(.btn),.post-callout a{color:var(--accent);font-weight:600;text-decoration:underline;
  text-decoration-thickness:1.5px;text-underline-offset:3px}
.post-body a:not(.btn):hover,.post-callout a:hover{text-decoration-thickness:2.5px}
.post-body code{background:#eef3f6;border-radius:6px;padding:2px 6px;font-size:.9em;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.post-list{padding-left:22px}
.post-list li{margin-bottom:8px}
.post-body blockquote{margin:0 0 22px;padding:4px 0 4px 20px;border-left:3px solid var(--accent);
  font-size:1.15rem;font-style:italic}
.post-body blockquote cite{display:block;margin-top:10px;font-size:.875rem;font-style:normal;color:var(--ink-soft)}
.post-figure{margin:0 0 26px}
.post-figure img,.post-figure video{border-radius:16px;border:1px solid var(--line);width:100%;display:block}
.post-figure.is-inline{max-width:340px}
figcaption{margin-top:9px;font-size:.8125rem;color:var(--ink-soft);text-align:center}
.post-gallery{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.post-gallery img{aspect-ratio:1;object-fit:cover}
.post-callout{border-radius:0 14px 14px 0;border-left:3px solid var(--accent);
  background:var(--accent-soft);padding:16px 20px}
.post-callout p{margin:0;font-size:1rem}
.post-callout .callout-title{font-weight:700;margin-bottom:5px}
.post-callout.tone-tip{--accent:#0f8a6a;--accent-soft:#e3f5ef}
.post-callout.tone-warning{--accent:#b5541c;--accent-soft:#fdeee2}
.post-cta{text-align:center;margin:30px 0}
.post-rule{border:0;border-top:1px solid var(--line);margin:34px 0}
.post-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin:44px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:.9375rem}

@media(max-width:680px){
  .page-head{padding:30px 0 22px}
  .update-grid{grid-template-columns:1fr;gap:16px}
}

/* Release journal: generous artwork, readable copy, and clear chapters. */
.updates-page{background:#f5fafa}
.updates-page .page-head{max-width:850px;padding:64px 0 40px}
.page-head h1{font-size:clamp(2.8rem,7vw,4.8rem)}
.index-wiki-link{display:inline-block;margin-top:22px;font-size:.9375rem;font-weight:600;color:var(--brand)}
.update-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.update-card:first-child{grid-column:1/-1}
.update-card:first-child .card-link{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch}
/* The art fills its column and crops; a fixed 16:9 box would widen past the column when the text runs tall. */
.update-card:first-child .card-art{aspect-ratio:auto;width:100%;height:100%;min-height:300px}
.update-card:first-child .card-body{align-self:center}
.update-card:first-child .card-body{padding:36px}
.update-card:first-child h2{font-size:clamp(1.8rem,3vw,2.8rem)}
.card-meta,.tag,.pin{font-size:.875rem}
.card-summary{font-size:1rem;line-height:1.8}
.post .wrap{max-width:1120px}
.post-head{max-width:900px;padding:32px 0 40px}
.post-head h1{font-size:clamp(2.8rem,6vw,4.8rem);line-height:1.08;overflow-wrap:anywhere}
.post-head .lead{font-size:clamp(1.0625rem,2vw,1.25rem);max-width:65ch;line-height:1.8}
.post-cover{border-radius:28px;margin-bottom:40px;box-shadow:0 20px 60px -40px #221b3980}
.post-contents{max-width:820px;margin:0 auto 48px;padding:26px 30px;background:white;border:1px solid var(--line);border-radius:20px}
.post-contents>p{font-weight:700;margin:0 0 14px;color:var(--accent)}
.post-contents ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;margin:0;padding-left:22px}
.post-contents a{color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.post-contents a:hover{text-decoration:underline;color:var(--accent)}
.post-contents .level-3{font-size:.9375rem}
.post-body{max-width:820px;margin:auto;overflow-wrap:anywhere}
.post-body h2{font-size:clamp(1.9rem,4vw,2.6rem);padding-top:32px;border-top:1px solid var(--line);margin:60px 0 20px;scroll-margin-top:140px}
.post-body h3{font-size:1.5rem;scroll-margin-top:140px}
.post-body p,.post-list{font-size:1.125rem;line-height:1.9}
.post-body .post-figure{margin:32px 0 40px}
.post-figure.is-full{width:calc(100% + 120px);max-width:none;margin-left:-60px}
.post-figure.is-inline{margin-inline:auto}
.post-gallery img{object-fit:contain;background:#fff;padding:12px}
.post-figure figcaption{font-size:.875rem}
.post-explore{margin:64px 0 0;padding:32px 36px;background:#e6f2fb;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.post-explore .eyebrow{font-size:.875rem;color:#005c9e;margin:0 0 10px;font-weight:700}
.post-explore h2{font-size:1.8rem;margin-bottom:12px}
.post-explore p{margin:0;max-width:48ch}
.post-explore .btn{flex-shrink:0}
.post-foot{margin-bottom:32px}
@media(max-width:960px){.post-figure.is-full{width:100%;margin-left:0}}
@media(max-width:680px){.updates-page .page-head{padding:32px 0}.update-grid{grid-template-columns:1fr}.update-card:first-child .card-link{display:block}.update-card:first-child .card-art{min-height:0}.update-card:first-child .card-body{padding:24px}.post-head{padding-top:24px}.post-contents{padding:22px}.post-contents ol{grid-template-columns:1fr}.post-explore{padding:26px;display:block}.post-explore .btn{margin-top:22px}.post-body h2,.post-body h3{scroll-margin-top:170px}}
