/* Shared tokens + typography for the minimal-serif family (from 001-minimal-serif). */
:root{--paper:#faf8f3;--ink:#1c1a17;--dim:#6f6a61;--rule:#e4dfd4;--acc:#8b4513;--tile:#f1ede4;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}
@media(prefers-color-scheme:dark){:root{--paper:#191713;--ink:#ece8df;--dim:#98917f;--rule:#332f27;--acc:#d9925f;--tile:#23201b}}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.7;font-size:18px}
img{display:block;max-width:100%}
h2{font:600 13px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--acc);margin-bottom:20px}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;transition:text-decoration-color .2s}
a:hover{text-decoration-color:var(--acc)}
p+p{margin-top:14px}
.ko{color:var(--dim)}
.dim{color:var(--dim)}

/* publication entry pieces */
.pub .title{display:block}
.pub .authors,.pub .venue{display:block;color:var(--dim);font-size:16px;line-height:1.6}
.pub .venue{font-style:italic}
.pub .authors a{color:inherit;text-decoration:none}
.pub .authors a:hover{text-decoration:underline;text-decoration-color:var(--acc)}
.me{font-weight:700;color:var(--ink)}
.links{font:500 13px/1.9 var(--sans);letter-spacing:.04em;color:var(--dim)}
.links a{color:var(--acc);text-decoration:none}
.links a:hover{text-decoration:underline}
.award{font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--acc);white-space:nowrap}
.tag{font:500 13px/1.4 var(--sans);color:var(--dim);letter-spacing:.02em;white-space:nowrap}

/* teaser figures are drawn on white; keep them calm on dark paper */
.fig{background:#fff;border:1px solid var(--rule)}
@media(prefers-color-scheme:dark){.fig{filter:brightness(.88)}}

footer{color:var(--dim);font-size:15px}
.fade{opacity:0;transform:translateY(8px);animation:fade-in .7s forwards}
@keyframes fade-in{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.fade{animation:none;opacity:1;transform:none}}
@media print{body{background:#fff;color:#000;font-size:11pt}.fade{opacity:1;transform:none;animation:none}}
