@import url("fonts/latin.css");
@import url("fonts/pretendard.css");

/* Palette sampled from the Prose theme: white page, warm off-white bands,
   near-black ink, one yellow. Layout after Quiet: section name left, content right. */
:root{
  --paper:#ffffff;
  --band:#f9f6f3;              /* warm off-white section ground */
  --ink:#060606;
  --ink-2:#6c6c6c;
  --ink-3:#9b9b94;
  --line:#e0dcc8;              /* the theme's khaki hairline, used for rules and underlines */
  --yellow:#f6cc5e;
  --yellow-ink:#d9a520;        /* 글씨에 쓰는 노랑. 흰 바탕에서 읽히게 한 톤 내렸다 */            /* Prose yellow: the one point of colour */
  --gold:#fcd500;              /* the brighter highlight yellow */
  --on-yellow:#060606;
  --label:#6c6c6c;
  --kr:"Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --sans:"Outfit", "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --serif:"Crimson Text", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", serif;
  --col:40rem;
  --wide:66rem;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#121210; --band:#1c1a17; --ink:#f4f3ec; --ink-2:#b4b1a6; --ink-3:#84817a;
    --line:#35332a; --label:#b4b1a6; --gold:#fcd500; --yellow-ink:#f6cc5e;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#121210; --band:#1c1a17; --ink:#f4f3ec; --ink-2:#b4b1a6; --ink-3:#84817a;
  --line:#35332a; --label:#b4b1a6; --gold:#fcd500; --yellow-ink:#f6cc5e;
  color-scheme:dark;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.7;letter-spacing:-.01em;
  word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:3px}
::selection{background:var(--yellow);color:var(--on-yellow)}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
ul{padding:0;list-style:none}

.wrap,.wrap-wide{
  margin-left:auto;margin-right:auto;
  padding-left:max(24px, env(safe-area-inset-left, 0px));
  padding-right:max(24px, env(safe-area-inset-right, 0px));
}
.wrap{max-width:calc(var(--col) + 48px)}
.wrap-wide{max-width:calc(var(--wide) + 48px)}

/* a band of warm ground that reaches both screen edges without widening the page */
.tint{
  background:var(--band);
  box-shadow:0 0 0 100vmax var(--band);
  clip-path:inset(0 -100vmax);
  border-top:0;
}

/* header: stays at the top while the page scrolls */
.site-head{
  position:sticky;top:0;z-index:20;
  background:color-mix(in srgb, var(--paper) 90%, transparent);
  backdrop-filter:saturate(1.6) blur(10px);-webkit-backdrop-filter:saturate(1.6) blur(10px);
  border-bottom:1px solid var(--line);
}
@supports not (backdrop-filter: blur(1px)){.site-head{background:var(--paper)}}
.site-head .wrap-wide{display:flex;align-items:center;gap:10px 24px;padding-block:14px}
.site-nav{margin-left:auto}
.head-tools{display:flex;align-items:center;gap:2px;margin-left:16px}
.icon-btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:none;color:var(--ink-2);cursor:pointer}
.icon-btn:hover{color:var(--ink);background:var(--band)}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.icon-btn .i-close{display:none}
.icon-btn[aria-expanded="true"] .i-close{display:block}
.icon-btn[aria-expanded="true"] .i-open{display:none}
.panel{border-top:1px solid var(--line);background:var(--paper);max-height:calc(100dvh - 60px);overflow-y:auto}
.panel .wrap-wide{display:block;padding-block:18px 24px}
.search-field{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line);border-radius:999px;background:var(--band)}
.search-field svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--ink-3);stroke-width:1.6;stroke-linecap:round}
.search-field input{flex:1;min-width:0;font:inherit;font-size:15.5px;color:var(--ink);background:none;border:0;outline:none}
.search-field input::placeholder{color:var(--ink-3)}
.results{margin-top:10px;display:grid}
.results a{display:block;padding:11px 14px;border-radius:10px}
.results a:hover{background:var(--band)}
.r-meta{display:block;font-size:12px;color:var(--ink-3)}
.r-title{display:block;margin-top:2px;font-size:16px;font-weight:500;letter-spacing:-.03em}
.no-hit{margin-top:14px;padding-left:14px;font-size:14.5px;color:var(--ink-3)}
.panel[data-mode="menu"] .panel-search{display:none}
.panel[data-mode="search"] .panel-nav{display:none}
.panel-nav{display:grid;gap:2px}
.panel-nav a{padding:10px 14px;border-radius:10px;font-size:17px;font-weight:500;letter-spacing:-.02em}
.panel-nav a:hover{background:var(--band)}
@media (min-width:761px){.only-narrow{display:none}.panel-nav{display:none!important}}
.site-name{font-weight:700;font-size:15.5px;letter-spacing:-.02em}
.site-nav{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:14.5px;color:var(--ink-3)}
.site-nav a:hover{color:var(--ink)}

/* opening */
.opening{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,56px);align-items:end;padding-block:clamp(20px,3vw,36px) clamp(56px,8vw,96px)}
.hero img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px}
.hero figcaption{margin-top:10px;font-size:12px;color:var(--ink-3)}
.opening h1{margin-top:16px;font-weight:500;font-size:clamp(34px,4.2vw,50px);line-height:1.26;letter-spacing:-.05em;text-wrap:balance}
.opening-text{padding-bottom:28px}

/* shared */
.kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow-ink)}
.more-link{display:inline-block;font-size:15px;font-weight:500;color:var(--ink);border-bottom:2px solid var(--line);padding-bottom:2px}
.more-link:hover{color:var(--ink-2)}
.ext{font-weight:400;color:var(--ink-3)}
.dim{font-weight:400;color:var(--ink-3)}
.star{color:var(--gold);font-size:.8em;vertical-align:.08em}
.meta{display:flex;flex-wrap:wrap;font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.meta > * + *::before{content:"·";margin:0 7px}
.text-btn{font:inherit;font-size:14.5px;font-weight:500;color:var(--ink);background:none;border:0;padding:0 0 2px;cursor:pointer;border-bottom:2px solid var(--line)}
.text-btn:hover{color:var(--ink-2)}

/* section blocks */
.latest{padding-block:clamp(40px,5.5vw,64px);border-top:1px solid var(--line)}
.latest + .latest{border-top:0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}
.sec-head.stack{display:block;border-bottom:0;padding-bottom:0}
.sec-head.stack .row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px 28px;flex-wrap:wrap;margin-top:12px}
.sec-head.stack .sec-lede{flex:1 1 18em;min-width:0;max-width:30em;font-size:16.5px;line-height:1.7;color:var(--ink)}
.sec-head.stack .more-link{margin-left:auto}
.titles{margin-top:28px;border-top:1px solid var(--line)}
.titles li{border-bottom:1px solid var(--line)}
.titles > li > a,.titles > li > span{display:block;padding-block:20px;font-size:clamp(18px,2vw,21px);font-weight:500;line-height:1.42;letter-spacing:-.04em}
.titles .ext{white-space:nowrap}
.titles a:hover{color:var(--ink-2)}
.co{margin-left:10px;font-size:12.5px;font-weight:400;letter-spacing:-.01em;text-transform:none;color:var(--ink-2)}
.numbered li{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:0 8px;padding-block:17px;border-bottom:1px solid var(--line)}
.numbered .num{font-size:18px;font-weight:300;color:var(--ink-3);font-variant-numeric:tabular-nums;line-height:1.5}
.numbered .meta{font-size:13px}
.numbered h3{margin-top:3px;font-size:clamp(17px,1.85vw,19.5px);font-weight:500;line-height:1.38;letter-spacing:-.045em;text-wrap:balance}
.numbered h3 a:hover{text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:3px;text-underline-offset:.2em}
.numbered .dek{margin-top:5px;font-size:13px;line-height:1.6;color:var(--ink-3)}
.numbered.plain li{grid-template-columns:minmax(0,1fr)}
.card{margin-top:18px;background:var(--paper);border-radius:14px;padding:4px clamp(18px,3vw,26px)}
.card .numbered li:last-child{border-bottom:0}
.numbered .rows{margin-top:14px}
.after{margin-top:20px}

/* management rows */
.rows{display:grid;gap:8px}
.rows div{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:12px}
.rows dt{font-size:13px;color:var(--ink-3);padding-top:2px}
.rows dd{font-size:14.5px;line-height:1.78;color:var(--ink)}
.award{margin-top:18px;font-size:16.5px;line-height:1.7;max-width:34em}
.profile{margin-top:22px;max-width:34em}
.pname{font-size:clamp(26px,3.4vw,33px);font-weight:500;letter-spacing:-.045em;line-height:1.2}
.pbio{margin-top:12px;font-size:16.5px;line-height:1.75;color:var(--ink)}
.pnote{margin-top:14px;font-size:14px;line-height:1.7;color:var(--ink-3)}
.email{padding-top:22px}
.email a{font-size:15.5px;font-weight:500;letter-spacing:-.01em;border-bottom:2px solid var(--line);padding-bottom:2px;overflow-wrap:anywhere}
.email a:hover{color:var(--ink-2)}

/* footer, after the Quiet theme: name, tagline, email, link columns */
.site-foot{background:var(--paper);border-top:1px solid var(--line)}
.site-foot .wrap-wide{padding-block:clamp(40px,5vw,60px) 36px}
.foot-top{display:block}
.fname{font-size:15.5px;font-weight:700;letter-spacing:-.02em;line-height:1.5}
.ftag{margin-top:6px;font-size:15.5px;color:var(--ink-2)}
.fmail{margin-top:14px}
.fmail a{display:inline-block;font-family:var(--kr);font-size:15.5px;color:var(--ink-2)}
.fmail a:hover{color:var(--ink)}
.fmail span{border-bottom:2px solid var(--line);padding-bottom:2px;overflow-wrap:anywhere}
.foot-legal{margin-top:clamp(32px,4vw,44px);padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3);text-align:center}

/* archive page */
.archive{padding-bottom:80px}
.archive-head{padding-block:clamp(28px,4.5vw,46px) 26px;border-bottom:1px solid var(--line)}
.archive-head h1{margin-top:12px;font-size:clamp(40px,7vw,58px);font-weight:500;letter-spacing:-.055em;line-height:1.08}
.archive-head .lede{margin-top:18px;font-size:16.5px;line-height:1.75;color:var(--ink);max-width:32em}
.archive-head .kicker{font-size:16px;letter-spacing:.1em}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.pill{font:inherit;font-size:14px;line-height:1;padding:10px 16px;border-radius:999px;cursor:pointer;color:var(--ink);background:transparent;border:1px solid var(--line)}
.pill:hover{color:var(--ink);border-color:var(--ink-3)}
.pill[aria-pressed="true"]{background:var(--yellow);border-color:var(--yellow);color:var(--on-yellow);font-weight:600}
.pill .n{margin-left:5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.pill[aria-pressed="true"] .n{color:var(--on-yellow);opacity:.55}
.featured{padding-block:34px 10px}
.featured-card{display:block;margin-top:16px;padding:14px;background:var(--band);border-radius:14px}
.featured-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.featured-card .cat{display:block;margin-top:16px}
.featured-card .ftitle{display:block;margin-top:5px;font-size:19.5px;font-weight:500;letter-spacing:-.045em;line-height:1.4;color:var(--ink)}
.featured-card:hover .ftitle{text-decoration:underline;text-underline-offset:.2em}
.featured-card .fmeta{display:block;margin-top:5px;padding-bottom:4px;font-size:13.5px;color:var(--ink-3)}
.year-group{padding-top:30px}
.year{font-size:19px;font-weight:400;font-style:italic;color:var(--ink-2);letter-spacing:-.015em;padding-bottom:10px}
.entry{padding-block:18px;border-bottom:1px solid var(--line)}
.entry .cat,.featured-card .cat{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--label)}
.entry h3{margin-top:5px;font-size:18px;font-weight:500;line-height:1.42;letter-spacing:-.045em;text-wrap:balance}
.entry h3 a:hover{text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:3px;text-underline-offset:.2em}
.entry .emeta{margin-top:5px;font-size:13.5px;color:var(--ink-3)}
.archive .after{margin-top:26px}

/* article */
.article .head{text-align:center;padding-block:clamp(32px,6vw,64px) 32px}
.meta.center{justify-content:center}
.article h1{margin-top:16px;font-size:clamp(28px,4.6vw,42px);font-weight:500;line-height:1.3;letter-spacing:-.05em;text-wrap:balance}
.article .work{margin-top:14px;font-size:16.5px;color:var(--ink-2)}
.cover{margin-bottom:clamp(32px,5vw,48px)}
.cover img{width:100%;border-radius:8px}
.cover figcaption{margin-top:10px;font-size:12px;color:var(--ink-3);text-align:center}
.prose{font-family:var(--serif);font-size:17.5px;line-height:1.95;letter-spacing:-.012em}
.prose p{margin:0 0 1.25em}
.prose h2{margin:2em 0 .6em;font-size:21px;font-weight:600;letter-spacing:-.035em}
.prose blockquote{margin:1.6em 0;padding-left:18px;border-left:3px solid var(--yellow)}
.prose blockquote p{margin:0}
.prose hr{border:0;margin:2.4em auto;width:40px;height:2px;background:var(--yellow)}
.prose a{text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:2px;text-underline-offset:.22em}
.endnote{margin-top:44px;padding:22px 24px;background:var(--band);border-radius:12px;font-size:14px;line-height:1.85;color:var(--ink)}
.endnote p + p{margin-top:8px}
.back{margin-block:40px 64px;font-size:14px;color:var(--ink-3)}
.back a:hover{color:var(--ink)}

@media (max-width:760px){
  .site-nav{display:none}
  .site-name{margin-right:auto}
  .opening{grid-template-columns:minmax(0,1fr);align-items:start}
  .opening-text{padding-bottom:0}
}
@media (max-width:520px){
  body{font-size:15.5px}
  .site-nav{gap:4px 15px;font-size:13.5px}
  .foot-top{grid-template-columns:minmax(0,1fr)}
  .site-head .wrap-wide{padding-block:12px}
  .site-name{font-size:15px}
  html{scroll-padding-top:96px}
  .sec-head{flex-direction:column;align-items:flex-start;gap:6px}
  .numbered li{grid-template-columns:2.6rem minmax(0,1fr)}
  .numbered.plain li{grid-template-columns:minmax(0,1fr)}
.card{margin-top:18px;background:var(--paper);border-radius:14px;padding:4px clamp(18px,3vw,26px)}
.card .numbered li:last-child{border-bottom:0}
  .numbered .num{font-size:18px}
  .rows div{grid-template-columns:minmax(0,1fr);gap:0}
  .prose{font-size:16.5px}
}
