/* Goal Lit — editorial redesign (롱블랙 실측 기반). Components use semantic tokens only;
   raw hex values live only in :root and the dark override below. */
:root{
 --bg:#FAF9F5;--surface:#FFFFFF;--surface-2:#F2F1EE;
 --text:#1A1A1A;--text-muted:#5E5D59;--border:#E4E2DD;--rule:#1A1A1A;
 /* --accent is decoration only (read progress, rubric bars): never a text color, never the sole carrier of meaning */
 --accent:#C96442;--accent-d:#B85635;--accent-contrast:#FFFFFF;--action:var(--accent-d);
 --danger:#1A1A1A;--success:#1A1A1A;--warn:#1A1A1A;
 --tint-green-bg:#F2F1EE;--tint-green-fg:#1A1A1A;
 --tint-blue-bg:#F2F1EE;--tint-blue-fg:#1A1A1A;
 --tint-amber-bg:#F2F1EE;--tint-amber-fg:#1A1A1A;
 --tint-gray-bg:#F2F1EE;--tint-gray-fg:#1A1A1A;
 --tint-violet-bg:#F2F1EE;--tint-violet-fg:#1A1A1A;
 --tint-red-bg:#F2F1EE;--tint-red-fg:#1A1A1A;
 --glyph-tile:#2A2A2A;
 --header-bg:#FAF9F5;
 --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;
 --fs-1:13px;--fs-2:14px;--fs-3:16px;--fs-4:18px;--fs-5:22px;--fs-6:26px;--fs-7:32px;--fs-8:40px;
 --lh-body:1.65;--lh-prose:1.9;--lh-title:1.35;--ls-title:-.01em;
 --r-s:4px;--r-m:4px;--r-l:8px;
 --dur-1:150ms;--ease-out:cubic-bezier(.22,1,.36,1);
 --w:1200px;--measure:580px;
 --font:-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;
 --serif:"AppleMyungjo","Nanum Myeongjo","Noto Serif KR","Noto Serif CJK KR",Georgia,"Times New Roman",serif;
}
@media (prefers-color-scheme:dark){
 :root{
  --bg:#141414;--surface:#1C1C1C;--surface-2:#242424;
  --text:#EDEDEA;--text-muted:#A6A5A0;--border:#2F2F2D;--rule:#EDEDEA;
  --accent:#D97757;--accent-d:#E08A6D;--accent-contrast:#141414;--action:var(--accent);
  --danger:#EDEDEA;--success:#EDEDEA;--warn:#EDEDEA;
  --tint-green-bg:#242424;--tint-green-fg:#EDEDEA;
  --tint-blue-bg:#242424;--tint-blue-fg:#EDEDEA;
  --tint-amber-bg:#242424;--tint-amber-fg:#EDEDEA;
  --tint-gray-bg:#242424;--tint-gray-fg:#EDEDEA;
  --tint-violet-bg:#242424;--tint-violet-fg:#EDEDEA;
  --tint-red-bg:#242424;--tint-red-fg:#EDEDEA;
  --header-bg:#141414;
 }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;border-top:4px solid var(--accent);background:var(--bg);color:var(--text);font:400 var(--fs-3)/var(--lh-body) var(--font);word-break:keep-all;overflow-wrap:break-word}
a{color:var(--text);text-underline-offset:3px;transition:color var(--dur-1) var(--ease-out)}
a:hover{color:var(--text-muted)}
img,svg{max-width:100%}
.wrap{max-width:var(--w);margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
h1,h2,h3{line-height:1.3;margin:0 0 .5em;font-weight:700;letter-spacing:var(--ls-title)}
h1{font-size:var(--fs-6)}
h2{font-size:var(--fs-5);margin-top:1.6em}
h3{font-size:var(--fs-4)}
p{margin:0 0 1em}
.muted{color:var(--text-muted);font-size:var(--fs-2)}
.lead{font-size:var(--fs-4)}
.skip{position:absolute;left:-999px;top:0;background:var(--text);color:var(--bg);padding:var(--s-3) var(--s-4);z-index:100}
.skip:focus{left:var(--s-2)}
/* header — 60px sticky masthead, serif wordmark left, nav right */
.site-header{position:sticky;top:0;z-index:50;height:60px;background:var(--header-bg);border-bottom:1px solid var(--border)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);height:60px}
.hrow{display:flex;align-items:center;flex:none;min-width:0}
.brand{display:inline-flex;align-items:center;min-height:44px;font-family:var(--serif);font-weight:700;font-size:var(--fs-5);color:var(--text);text-decoration:none;letter-spacing:var(--ls-title);white-space:nowrap}
.brand small{display:none}
.brand i{display:none}
.nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none;font-size:15px;font-weight:400;padding:0 10px;white-space:nowrap}
.nav a:hover{color:var(--text);text-decoration:underline}
.nav a[aria-current=page]{font-weight:700;box-shadow:inset 0 -2px 0 var(--rule)}
/* sections — labels and section heads */
.sec{margin:var(--s-7) 0}
.sec-h{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);border-bottom:2px solid var(--rule);padding-bottom:var(--s-2);margin-bottom:var(--s-3)}
.sec-h h2{margin:0;font-size:var(--fs-5);line-height:28px;color:var(--accent-d)}
.sec-h a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:var(--fs-2);white-space:nowrap;color:var(--text-muted)}
.kicker{display:block;font-size:var(--fs-1);font-weight:700;letter-spacing:.04em;color:var(--accent-d)}
.grid{display:grid;gap:var(--s-3);grid-template-columns:1fr}
.grid>*,.rows>*,.lead-grid>*,.card{min-width:0}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-m);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);position:relative}
.card h3{margin:0;font-size:var(--fs-4)}
.card h3 a{display:flex;align-items:center;min-height:44px;padding-block:11px;color:var(--text);text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.card h3 a:after{content:"";position:absolute;inset:0}
.card .loc{margin:0;color:var(--text-muted);font-size:var(--fs-2)}
.card .meta{margin-top:auto;padding-top:var(--s-2);font-size:var(--fs-2);color:var(--text-muted)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:2px}
.badge{display:inline-block;font-size:var(--fs-1);padding:2px 10px;border-radius:var(--r-s);background:var(--surface-2);color:var(--text);line-height:1.6}
.badge-g{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-4);font-size:var(--fs-2);text-decoration:none}
.badge-g:hover{color:var(--text);text-decoration:underline}
.band{background:var(--surface-2);border-radius:var(--r-l);padding:var(--s-5);margin:var(--s-7) 0}
.note{border:1px solid var(--border);border-left:4px solid var(--text);background:var(--surface);padding:var(--s-3) var(--s-4);border-radius:0 var(--r-s) var(--r-s) 0;font-size:var(--fs-2);margin:var(--s-4) 0}
[hidden]{display:none!important}
/* detail — 580px reading column */
.detail{max-width:var(--measure);margin-inline:auto}
.post-detail{line-height:var(--lh-prose)}
.crumb{font-size:var(--fs-1);color:var(--text-muted);margin:var(--s-5) 0 var(--s-2)}.crumb a{color:var(--text-muted)}
.detail h1{font-size:var(--fs-7);line-height:44px;margin:0 0 var(--s-5)}
.essay h1{border-top:2px solid var(--rule);padding-top:var(--s-4)}
.post-byline{font-size:var(--fs-1);color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:var(--s-4);margin:0 0 var(--s-6)}
.facts{width:100%;border-collapse:collapse;margin:var(--s-3) 0 var(--s-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-m);overflow:hidden;display:block}
.facts tbody{display:block}.facts tr{display:block;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.facts tr:last-child{border:0}
.facts th{display:block;font-size:var(--fs-1);font-weight:700;color:var(--text-muted);text-align:left;letter-spacing:.03em}
.facts td{display:block;font-weight:400}
.verify{background:var(--surface-2);border-radius:var(--r-s);padding:var(--s-4);font-size:var(--fs-2);margin:var(--s-4) 0}
.verify p{margin:.2em 0}
ul.clean{padding-left:1.2em}ul.clean li{margin:.3em 0}
/* footer */
.site-footer{margin-top:var(--s-8);border-top:1px solid var(--border);padding:var(--s-5) 0 calc(var(--s-6) + env(safe-area-inset-bottom));font-size:var(--fs-2);color:var(--text-muted)}
.site-footer a{color:var(--text-muted)}
.flinks{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-2);margin:var(--s-3) 0}
.flinks a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding:0 var(--s-2)}
:focus-visible{outline:2px solid var(--accent-d);outline-offset:2px}
/* source tiers, preview banner */
.preview-bar{background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-1);line-height:18px;text-align:center;padding:5px var(--s-4);overflow-wrap:anywhere}
.tier{display:inline-block;font-size:var(--fs-1);font-weight:700;padding:1px 9px;border-radius:var(--r-s);line-height:1.6;white-space:nowrap}
.tier-1{background:var(--tint-green-bg);color:var(--tint-green-fg)}
.tier-2{background:var(--tint-blue-bg);color:var(--tint-blue-fg)}
.tier-3{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}
.tier-4{background:var(--tint-gray-bg);color:var(--tint-gray-fg)}
.srcline{display:block;font-size:var(--fs-1);color:var(--text-muted);margin-top:3px}
.facts td .v{display:block}
.tierkey{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) 14px;font-size:var(--fs-2);margin:var(--s-2) 0 var(--s-4)}
.tierkey a{display:inline-flex;align-items:center;min-height:44px}
.warn-list li{color:var(--warn)}
/* lit-hub: pen-name editor byline, framing, opinion cards */
.byline{font-size:var(--fs-1);color:var(--text-muted)}
.byline b{color:var(--text);font-weight:700}
.framing{margin:0 0 var(--s-6);font-size:var(--fs-3);color:var(--text-muted)}
.fine{font-size:var(--fs-1)}
.glyph{width:44px;height:44px;flex:none;border-radius:var(--r-s);background:var(--glyph-tile)}
.prow{display:flex;gap:var(--s-3);align-items:center}
.stance{display:inline-block;font-size:var(--fs-1);font-weight:700;padding:2px 10px;border-radius:var(--r-s);margin-right:6px}
.st-good{background:var(--tint-green-bg);color:var(--tint-green-fg)}
.st-bad{background:var(--tint-red-bg);color:var(--tint-red-fg)}
.st-mid{background:var(--tint-violet-bg);color:var(--tint-violet-fg)}
.ops{list-style:none;margin:var(--s-3) 0;padding:0;display:grid;gap:var(--s-3)}
.ops li{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-m);padding:var(--s-3) var(--s-4)}
.cite{font-size:var(--fs-1);color:var(--text-muted);margin-left:4px}
.panels{display:grid;gap:var(--s-4);grid-template-columns:1fr}
.panel{border:1px solid var(--border);border-radius:var(--r-m);padding:var(--s-4);background:var(--surface)}
.panel h3{margin:0 0 6px;font-size:var(--fs-3)}
.panel.human{border-style:dashed}
.panel.editors{border-color:var(--text)}
.limits{background:var(--tint-amber-bg);border:1px solid var(--border);border-radius:var(--r-m);padding:var(--s-3) var(--s-4);margin:var(--s-4) 0}
.limits h3{margin:0 0 4px;font-size:var(--fs-3);color:var(--warn)}
.bars{display:grid;gap:var(--s-1);margin:6px 0;font-size:var(--fs-2)}
.bar{display:flex;align-items:center;gap:var(--s-2)}.bar i{display:block;height:8px;background:var(--accent);border-radius:4px}.bar span{min-width:96px;color:var(--text-muted)}
.todo{border:1px dashed var(--border);border-radius:var(--r-m);padding:var(--s-3) var(--s-4);background:var(--surface);color:var(--text-muted);font-size:var(--fs-2)}
/* pages */
.tight{margin:var(--s-1) 0 0}
.page{padding:var(--s-5) 0 var(--s-3);max-width:46em}
.page.wide{max-width:none}
.page ul{padding-left:1.2em}.page li{margin:.4em 0}
/* home — featured critique and numbered review list */
.lead-story{padding:var(--s-6) 0 0;margin:0 0 var(--s-8)}
.lead-grid{display:grid;grid-template-columns:1fr;gap:var(--s-5)}
.lead-img{display:block}
.lead-img img{display:block;width:100%;aspect-ratio:3/2;max-height:56vw;object-fit:cover}
.lead-story h1{font-size:30px;line-height:1.25;letter-spacing:-.02em;margin:20px 0 12px}
.lead-story h1 a{color:var(--text);text-decoration:none}
.lead-story h1 a:hover{text-decoration:underline}
.lead-subtitle{font-size:var(--fs-4);font-weight:500;line-height:1.5;margin:0}
.lead-story .card-summary{font-size:var(--fs-4);line-height:1.8;color:var(--text-muted);margin:20px 0 12px}
.lead-story .meta{font-size:var(--fs-2);color:var(--text-muted)}
.story-list{margin:0 0 var(--s-8)}
.story-list-head{display:flex;align-items:end;justify-content:space-between;gap:var(--s-3);padding-bottom:var(--s-4)}
.story-list-head h2{font-size:var(--fs-5);margin:var(--s-1) 0 0}
.story-list-head a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-2);color:var(--text-muted);white-space:nowrap}
.rows{display:grid;grid-template-columns:1fr}
.srow{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--s-3);padding:var(--s-5) 0;border-top:1px solid var(--border);position:relative}
.srow-num{font-size:var(--fs-2);font-weight:700;color:var(--accent-d)}
.srow .thumb{display:none}
.srow .thumb img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.srow h3{font-size:var(--fs-4);line-height:1.4;margin:0 0 var(--s-1)}
.srow h3 a{display:inline;color:var(--text);text-decoration:none}
.srow h3 a:hover{text-decoration:underline}
.srow h3 a:after{content:"";position:absolute;inset:0}
.srow .ssum{font-size:15px;line-height:1.6;color:var(--text-muted);margin:4px 0 8px}
.srow .meta{font-size:var(--fs-2);color:var(--text-muted)}
.srow .stext{min-width:0}
/* reviews index — magazine thumbnail grid, paper style (no card boxes) */
.scard-grid{display:grid;grid-template-columns:1fr;gap:24px}
.scard{position:relative;min-width:0}
.scard .sthumb{display:block;margin:0 0 var(--s-3)}
.scard .sthumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-s)}
.scard h2{font-size:var(--fs-4);line-height:26px;margin:var(--s-1) 0}
.scard h2 a{display:flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none}
.scard h2 a:hover{text-decoration:underline}
.scard h2 a:after{content:"";position:absolute;inset:0}
.scard .ssum{font-size:var(--fs-2);color:var(--text-muted);margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.scard .meta{font-size:var(--fs-1);color:var(--text-muted)}
.chip-row{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-4) 0 var(--s-2)}
.chip-l{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border-radius:var(--r-s);background:var(--surface-2);color:var(--text);text-decoration:none;font-size:var(--fs-3)}
.chip-l:hover{color:var(--text);text-decoration:underline}
.related{font-size:var(--fs-2);color:var(--text-muted);border-top:1px dashed var(--border);padding-top:var(--s-2);margin-top:-6px}
.bar i.w5{width:10px}.bar i.w10{width:20px}.bar i.w15{width:30px}.bar i.w20{width:40px}.bar i.w25{width:50px}.bar i.w30{width:60px}.bar i.w35{width:70px}.bar i.w40{width:80px}.bar i.w45{width:90px}
.sub{color:var(--text-muted);font-size:var(--fs-2)}
.card-stats{margin:0;font-size:var(--fs-2);color:var(--text)}
.cta-row{display:flex;margin-top:var(--s-6)}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:14px 24px;border-radius:var(--r-s);font-weight:700;font-size:var(--fs-3);line-height:1.5;text-decoration:none}
.cta-main{background:var(--action);color:var(--accent-contrast);width:100%}
.cta-main:hover{color:var(--accent-contrast);text-decoration:underline}
.glance{list-style:none;margin:var(--s-3) 0;padding:var(--s-3) var(--s-4);background:var(--surface-2);border-radius:var(--r-m)}
.glance li{margin:var(--s-1) 0}
.glance b{display:inline-block;min-width:3em}
.meta-more{color:var(--text-muted);font-size:var(--fs-1)}
.meta-more summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;color:var(--text);text-decoration:underline;text-underline-offset:3px}
.meta-more span{display:block;padding-bottom:var(--s-2)}
.next{margin:var(--s-6) 0 0;border-top:1px solid var(--border)}
.next a{display:inline-flex;align-items:center;min-height:44px;padding:var(--s-3) 0;font-size:var(--fs-4);font-weight:700;color:var(--text);text-decoration:none}
.next a:hover{text-decoration:underline}
/* essay type (편집부 칼럼) + CSS-only read progress */
.read-progress{position:fixed;top:60px;left:0;height:3px;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);display:none;z-index:60}
@supports (animation-timeline:scroll()){.read-progress{display:block;animation:grow linear both;animation-timeline:scroll(root)}}
@keyframes grow{to{transform:scaleX(1)}}
.essay-body p{font-size:var(--fs-4);line-height:1.9;letter-spacing:-.2px;margin:0 0 36px;color:var(--text)}
.essay-fig{margin:40px 0}
.essay-fig img{display:block;width:100%;height:auto;border-radius:0}
.essay-quote{margin:36px 0;padding:4px 0 4px 20px;border-left:2px solid var(--rule)}
.essay-quote p{margin:0;font-size:var(--fs-4);line-height:1.9;color:var(--text-muted)}
@media(min-width:720px){
 .brand{font-size:24px}
 .nav a{font-size:var(--fs-3)}
 .lead-story{padding-top:96px;margin:0 0 96px}
 .lead-grid:has(.lead-img){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
 .lead-img img{max-height:none}
 .lead-story h1{font-size:36px}
 .lead-story .cta-main{width:auto}
 .sec-h h2{font-size:var(--fs-6);line-height:32px}
 .story-list{margin:0 0 96px}
 .story-list-head h2{font-size:var(--fs-6)}
 .srow{grid-template-columns:40px minmax(0,1fr) 160px;gap:var(--s-6)}
 .srow:not(:has(.thumb)){grid-template-columns:40px minmax(0,1fr)}
 .srow .thumb{display:block;width:160px;align-self:start}
 .srow h3{font-size:20px}
 .sec{margin:var(--s-8) 0}
 .band{margin:var(--s-8) 0}
 .detail h1{font-size:var(--fs-8);line-height:54px}
 .grid{grid-template-columns:repeat(2,1fr)}
 .facts,.facts tbody{display:table}.facts tbody{display:table-row-group}.facts tr{display:table-row}
 .facts th,.facts td{display:table-cell;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.facts th{width:11em;font-size:var(--fs-2);color:var(--text-muted)}
 .panels{grid-template-columns:1fr 1fr}
}
@media(min-width:900px){
 .lead-story h1{font-size:44px}
}
@media(min-width:640px){.scard-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.scard-grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .read-progress{display:none}
 *,*:before,*:after{transition:none!important;animation:none!important}
}
