/* Your Daily Science: identity tokens (sites decision 2026-10-17) */
:root{--bg:#F3F6F5;--surface:#FFFFFF;--ink:#14212A;--muted:#4F5E5A;--line:#D3DDD9;--link:#0F6F5B;--accent:#B8322A;--onaccent:#FFFFFF;
--display:"IBM Plex Sans",system-ui,sans-serif;--body:"IBM Plex Sans",system-ui,sans-serif;--serif:"IBM Plex Serif",Georgia,serif;--read-size:18.5px;
--head-weight:600;--head-tracking:-.02em;--head-transform:none;
--wordmark-font:"IBM Plex Mono",ui-monospace,monospace;--wordmark-size:22px;--wordmark-weight:600;--wordmark-tracking:-.01em;--wordmark-transform:none;
--kicker-font:600 12.5px/1 "IBM Plex Mono",ui-monospace,monospace;--kicker-bg:transparent;--kicker-ink:#B8322A;--kicker-pad:0;
--mast-bg:#14212A;--mast-ink:#EEF3F1;--mast-accent:#5FC9A8;--nav-hover:rgba(95,201,168,.14);--nav-radius:4px;
--hero-bg:#F3F6F5;--hero-ink:#14212A;--hero-muted:#4F5E5A;--hero-kicker:#B8322A;
--today-bg:#14212A;--today-ink:#EEF3F1;--today-accent:#5FC9A8;
--radius:6px;--card-border:1px solid var(--line);--hover-shadow:0 10px 26px rgba(20,33,42,.12);
--rule:#14212A;--rule-w:2px;--foot-bg:#14212A;--foot-ink:#B4C3BE;
--grid:#D6E0DC;
--motif:repeating-linear-gradient(90deg,#5FC9A8 0 1px,transparent 1px 10px) 0 0/100% 4px no-repeat,repeating-linear-gradient(90deg,#5FC9A8 0 1px,transparent 1px 50px) 0 0/100% 6px no-repeat,#14212A}
@media (prefers-color-scheme:dark){:root{--bg:#0E161A;--surface:#152127;--ink:#E7EEEC;--muted:#9DB0AA;--line:#24343B;--link:#5FC9A8;--accent:#F0675C;--kicker-ink:#F0675C;--hero-bg:#0E161A;--hero-ink:#E7EEEC;--hero-muted:#9DB0AA;--hero-kicker:#F0675C;--rule:#E7EEEC;--grid:#18262C;--hover-shadow:0 10px 26px rgba(0,0,0,.45);color-scheme:dark}}
.hero{background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/22px 22px,var(--hero-bg);border-bottom:1px solid var(--line)}
.kicker::before{content:"\25B8\00a0"}
.hero h1 em{font-style:normal;color:var(--accent)}
.article-body .meta .tag::before{content:none}
/* Ink Horses fan sites: shared magazine layout. Site identity lives in the tokens above this block. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a{color:var(--link)}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--surface);color:var(--ink);padding:8px 12px;z-index:60}
.skip:focus{left:12px}
h1,h2,h3{font-family:var(--display);font-weight:var(--head-weight);letter-spacing:var(--head-tracking);text-transform:var(--head-transform);line-height:1.04;margin:0 0 .45em;text-wrap:balance}

/* masthead */
header.site{background:var(--mast-bg);color:var(--mast-ink)}
@media (min-width:761px){header.site{position:sticky;top:0;z-index:40}}
.mast-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px}
header.site .wordmark{font-family:var(--wordmark-font,var(--display));font-size:var(--wordmark-size,28px);font-weight:var(--wordmark-weight,var(--head-weight));letter-spacing:var(--wordmark-tracking,var(--head-tracking));text-transform:var(--wordmark-transform,var(--head-transform));color:var(--mast-ink);text-decoration:none;white-space:nowrap;line-height:1}
header.site .wordmark span{color:var(--mast-accent)}
nav.main{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
nav.main::-webkit-scrollbar{display:none}
nav.main a{color:var(--mast-ink);text-decoration:none;font:600 15px/1 var(--body);padding:10px 13px;border-radius:var(--nav-radius,999px);white-space:nowrap;opacity:.86}
nav.main a:hover,nav.main a[aria-current]{opacity:1;background:var(--nav-hover);color:var(--mast-ink)}
nav.main a.nav-today{color:var(--mast-accent);opacity:1}
.motif{height:6px;background:var(--motif)}
@media (max-width:760px){
  .mast-row{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 20px 4px;min-height:0}
  header.site .wordmark{font-size:calc(var(--wordmark-size,28px)*.85)}
  nav.main{align-self:stretch;width:auto;margin:0 -20px;padding:0 7px}
}

/* kickers, buttons */
.kicker{display:inline-block;font:var(--kicker-font);letter-spacing:.09em;text-transform:uppercase;color:var(--kicker-ink);background:var(--kicker-bg);padding:var(--kicker-pad);margin:0 0 14px;transform:var(--kicker-tilt,none)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--btn-radius,999px);background:var(--accent);color:var(--onaccent);font:700 15px/1 var(--body);text-decoration:none;border:2px solid var(--accent)}
.btn:hover{color:var(--onaccent);filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--bg)}

/* home: cover */
.hero{background:var(--hero-bg);color:var(--hero-ink);padding:52px 0 40px}
.hero h1{font-size:clamp(38px,6.4vw,74px);max-width:17ch;color:var(--hero-ink)}
.hero .kicker{color:var(--hero-kicker,var(--kicker-ink))}
.hero .lede{font-size:clamp(17px,1.9vw,20px);color:var(--hero-muted);max-width:64ch;margin:0 0 30px}
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.door{display:flex;flex-direction:column;gap:5px;padding:18px 20px 20px;background:var(--surface);color:var(--ink);border:var(--card-border);border-radius:var(--radius);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.door:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow);color:var(--ink)}
.door .door-k{font:var(--kicker-font);text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.door strong{font-family:var(--display);font-weight:var(--head-weight);font-size:24px;line-height:1.08;text-transform:var(--head-transform);letter-spacing:var(--head-tracking)}
.door span:last-child{color:var(--muted);font-size:15px;line-height:1.45}
.door.door-today{background:var(--today-bg);color:var(--today-ink);border-color:var(--today-bg)}
.door.door-today .door-k{color:var(--today-accent)}
.door.door-today span:last-child{color:var(--today-ink);opacity:.82}
@media (max-width:760px){.doors{grid-template-columns:1fr}.hero{padding:34px 0 28px}}

/* sections */
.block{padding:52px 0}
.block+.block{border-top:1px solid var(--line)}
.block h2{font-size:clamp(30px,4.2vw,44px)}
.section-head{margin-bottom:24px}
.section-head h2{margin-bottom:8px}
.section-head p:not(.kicker){color:var(--muted);margin:0;max-width:62ch}
.home-articles h2,.related h2{display:flex;align-items:center;gap:16px}
.home-articles h2::after,.related h2::after{content:"";flex:1;height:var(--rule-w);background:var(--rule)}

/* home: latest stories (the dashboard rewrites this grid, decision 112) */
.feat-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px}
.feat-grid>.card-big{grid-row:span 3}
.feat-card{display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:var(--card-border);border-radius:var(--radius);overflow:hidden;text-decoration:none;height:100%;transition:box-shadow .15s ease}
.feat-card:hover{box-shadow:var(--hover-shadow);color:var(--ink)}
.fthumb,.thumb,.rthumb{aspect-ratio:16/9;overflow:hidden;background:var(--line)}
.fthumb img,.thumb img,.rthumb img{width:100%;height:100%;object-fit:cover;display:block;filter:var(--photo-filter,none);transition:filter .25s ease,transform .4s ease}
.feat-card:hover img,.article-card:hover img,.related-card:hover img{filter:none;transform:scale(1.03)}
.fbody{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.feat-card .tag,.article-card .meta,.related-card .rbody::before{font:var(--kicker-font);text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.feat-card h3{font-size:22px;margin:0}
.feat-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.feat-card .meta{font-size:13px;color:var(--muted)}
.feat-card.card-big .fthumb{aspect-ratio:3/2}
.feat-card.card-big h3{font-size:clamp(28px,3.4vw,42px)}
.feat-card.card-big p{font-size:17px}
.feat-card.card-small{flex-direction:row}
.feat-card.card-small .fthumb{flex:0 0 36%;aspect-ratio:auto;min-height:120px}
.feat-card.card-small h3{font-size:19px}
.feat-card.card-small p{display:none}
@media (max-width:860px){.feat-grid{grid-template-columns:1fr}.feat-grid>.card-big{grid-row:auto}}

/* home: play */
.play-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.play-card{display:flex;flex-direction:column;gap:7px;padding:22px 22px 20px;background:var(--surface);color:var(--ink);border:var(--card-border);border-radius:var(--radius);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.play-card:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow);color:var(--ink)}
.play-card .play-k{font:var(--kicker-font);text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.play-card h3{font-size:25px;margin:0}
.play-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.5;flex:1}
.play-card .go{font-weight:700;color:var(--accent);font-size:15px;margin-top:6px}
.play-card .go::after{content:" \2192"}

/* home: about strip, generic cards */
.cols3,.cards,.contact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.contact-list{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}
.cols3>div,.cards>.card,.contact-list>.card{background:var(--surface);border:var(--card-border);border-radius:var(--radius);padding:20px 22px}
.cols3 h3,.card h3{font-size:22px;margin:0 0 6px}
.cols3 p,.card p{margin:0;color:var(--muted);font-size:15px}
.about-links{margin:22px 0 0;font-weight:600}
@media (max-width:760px){.cols3,.cards,.contact-list{grid-template-columns:1fr}}
.fact{background:var(--surface);border:var(--card-border);border-radius:var(--radius);padding:24px 26px;position:relative;max-width:860px}
.fact .claim{font-family:var(--serif);font-size:clamp(20px,2.6vw,26px);line-height:1.35;margin:0 0 14px}
.stamp{display:inline-block;font:var(--kicker-font);font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);border:2px solid var(--accent);padding:6px 12px;transform:rotate(-4deg);margin:0 0 12px}
.fact p:last-child{margin:0;color:var(--muted)}

/* articles index */
.articles-header{padding:46px 0 18px;margin-bottom:28px;border-bottom:var(--rule-w) solid var(--rule)}
.articles-header h1{font-size:clamp(44px,7vw,84px);margin:0 0 6px}
.articles-header p{color:var(--muted);margin:0;font-size:18px}
.writers-link{margin:10px 0 0;font-size:15px}
.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px;padding-bottom:64px}
.article-card{display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:var(--card-border);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:box-shadow .15s ease}
.article-card:hover{box-shadow:var(--hover-shadow);color:var(--ink)}
.article-card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.article-card h3{font-size:22px;margin:0;order:1}
.article-card .meta{order:0}
.article-card .desc{margin:0;color:var(--muted);font-size:15px;line-height:1.5;order:2}
@media (min-width:900px){
  .article-grid>.article-card:first-child{grid-column:1/-1;flex-direction:row}
  .article-grid>.article-card:first-child .thumb{flex:0 0 58%;aspect-ratio:16/9}
  .article-grid>.article-card:first-child .body{justify-content:center;padding:28px 32px}
  .article-grid>.article-card:first-child h3{font-size:clamp(30px,3.4vw,44px)}
  .article-grid>.article-card:first-child .desc{font-size:18px}
}

/* article */
.article-body{max-width:760px;margin:0 auto;padding:36px 20px 64px}
.article-body h1{font-size:clamp(36px,5.6vw,62px);margin:8px 0 16px}
.article-body .meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;color:var(--muted);font-size:14px;margin:0 0 30px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.article-body .meta .tag{font:var(--kicker-font);text-transform:uppercase;letter-spacing:.09em;color:var(--kicker-ink);background:var(--kicker-bg);padding:var(--kicker-pad);border-radius:0}
.article-body .meta a{color:inherit}
.article-photo-hero{margin:0 0 6px}
.article-photo-hero img{width:100%;border-radius:var(--radius);display:block;filter:var(--photo-filter,none)}
.article-body .photo-credit{color:var(--muted);font-size:13px;margin:0 0 22px}
.article-body p,.article-body li{font-family:var(--serif);font-size:var(--read-size,19px);line-height:1.72}
.article-body p{margin:0 0 20px}
.article-body .meta,.article-body .photo-credit,.article-body .ai-note,.article-body .trademark-note,.article-body .byline{font-family:var(--body)}
.article-text>p:first-child::first-letter{float:left;font-family:var(--display);font-weight:var(--head-weight);font-size:4.1em;line-height:.82;padding:6px 12px 0 0;color:var(--accent)}
.article-body h2{font-size:clamp(26px,3.2vw,34px);margin:44px 0 14px}
.article-body h3{font-size:22px;margin:30px 0 10px}
.article-body ul,.article-body ol{padding-left:24px}
.article-body li{margin:0 0 10px}
.article-body blockquote{margin:28px 0;padding:4px 0 4px 22px;border-left:4px solid var(--accent);font-family:var(--display);font-size:24px;line-height:1.35}
.article-figure{margin:30px 0}
.article-figure img{border-radius:var(--radius)}
.article-body .ai-note,.article-body .trademark-note{font-size:14px!important;color:var(--muted)}
.article-body .horse-cta,.article-body .proto-banner{background:var(--today-bg);color:var(--today-ink);border:0;border-radius:var(--radius);padding:24px 26px;margin:44px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.article-body .horse-cta h3,.article-body .proto-banner h3{color:var(--today-accent);margin:0 0 4px;font-size:24px}
.article-body .horse-cta p,.article-body .proto-banner p{color:var(--today-ink);opacity:.85;margin:0;font-family:var(--body);font-size:16px}
.related{margin-top:52px}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related-card{display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:var(--card-border);border-radius:var(--radius);overflow:hidden;text-decoration:none}
.related-card:hover{box-shadow:var(--hover-shadow);color:var(--ink)}
.rbody{padding:12px 14px 14px}
.rbody h3{font-size:18px;margin:0 0 6px}
.rbody p{font-family:var(--body)!important;font-size:14px!important;line-height:1.45!important;color:var(--muted);margin:0!important}
@media (max-width:760px){.related-grid{grid-template-columns:1fr}.article-body{padding-top:22px}}

/* daily page (decision 113) */
.daily-list{list-style:none;padding:0!important;margin:0 0 26px}
.daily-list li{font-family:var(--body)!important;font-size:17px!important;padding:14px 0;margin:0!important;border-bottom:1px solid var(--line)}
.daily-list li strong{font-family:var(--display);font-weight:var(--head-weight);font-size:20px}
.daily-list .meta{display:inline!important;border:0!important;padding:0!important;margin:0 0 0 8px!important;font:var(--kicker-font)!important;color:var(--accent)!important}
.daily-list a{font-weight:700;font-size:14px}

/* policy and plain pages */
.prose{max-width:760px;margin:0 auto;padding:44px 0 64px}
.prose h1{font-size:clamp(38px,5.6vw,60px)}
.prose h2{font-size:28px;margin:38px 0 10px}
.prose p,.prose li{font-size:18px;line-height:1.7}
.prose .meta{color:var(--muted);font-size:15px}

/* footer */
footer.site{background:var(--foot-bg);color:var(--foot-ink);padding:40px 0 44px;font-size:14px;border-top:var(--rule-w) solid var(--rule)}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;align-items:flex-start}
footer.site a{color:inherit}
footer.site nav{display:flex;flex-wrap:wrap;gap:8px 18px}
