:root{color-scheme:dark;--bg:#121417;--surface:#1a1d22;--surface-muted:#23272e;--ink:#f2f4f6;--body:#c9ced6;--muted:#8b95a1;--line:#2a2f36;--accent:#a3d98b;--accent-soft:#1f2d1c;--on-accent:#0b0e12;--focus:#a3d98b;--highlight:#e5463a;--danger:#ff6b63;--backdrop:rgba(0,0,0,0.6);--cover-1:#fff1d6;--cover-2:#e3f1ff;--cover-3:#e6f5e9;--cover-4:#ffd8d1;--cover-5:#efe9fb;--cover-default:var(--surface);--font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-snug:1.4;--leading-normal:1.5;--leading-relaxed:1.6;--leading-body:1.7;--tracking-tight:-0.02em;--tracking-normal:0em;--font-12:0.75rem;--font-13:0.8125rem;--font-14:0.875rem;--font-15:0.9375rem;--font-16:1rem;--font-17:1.0625rem;--font-18:1.125rem;--font-20:1.25rem;--font-22:1.375rem;--font-24:1.5rem;--font-30:1.875rem;--font-36:2.25rem;--font-40:2.5rem;--spacing:0.25rem;--sp-half:calc(var(--spacing) * 0.5);--sp-1:calc(var(--spacing) * 1);--sp-2:calc(var(--spacing) * 2);--sp-3:calc(var(--spacing) * 3);--sp-4:calc(var(--spacing) * 4);--sp-5:calc(var(--spacing) * 5);--sp-6:calc(var(--spacing) * 6);--sp-8:calc(var(--spacing) * 8);--sp-10:calc(var(--spacing) * 10);--sp-12:calc(var(--spacing) * 12);--sp-16:calc(var(--spacing) * 16);--sp-20:calc(var(--spacing) * 20);--sp-24:calc(var(--spacing) * 24);--measure:44rem;--article-w:56rem;--container:64rem;--feed-w:44rem;--rail-w:16rem;--gutter:var(--sp-6);--thumb-w:calc(var(--spacing) * 52);--hero-img-w:calc(var(--spacing) * 90);--thumb-ratio:16/10;--cover-ratio:2/1;--logo-cell:2px;--logo-h:calc(var(--logo-cell) * 9);--brand-skin:#8fc47a;--brand-robe:#b8a98a;--tap-min:calc(var(--spacing) * 11);--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--border-w:1px;--focus-w:3px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--body);font-family:var(--font);font-size:var(--font-16);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto;display:block}:focus-visible{outline:var(--focus-w) solid var(--focus);outline-offset:var(--sp-half);border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.site-main{flex:1 1;padding-block:var(--sp-12) var(--sp-24)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--bg);border-bottom:var(--border-w) solid var(--line)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);min-height:var(--sp-16)}.site-brand{font-size:var(--font-18);font-weight:var(--font-weight-bold);color:var(--ink);letter-spacing:var(--tracking-tight)}.site-logo{display:inline-flex;height:var(--logo-h);color:var(--ink)}.site-logo svg{height:100%;width:auto;image-rendering:pixelated}.site-nav a{display:inline-flex;align-items:center;min-height:var(--tap-min);padding-inline:var(--sp-3);font-size:var(--font-15);font-weight:var(--font-weight-medium);color:var(--muted);border-radius:var(--radius-md)}.site-nav a:hover{color:var(--ink);background:var(--surface-muted)}.site-footer{border-top:var(--border-w) solid var(--line);padding-block:var(--sp-8);font-size:var(--font-14);color:var(--muted)}.site-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3)}.site-footer ul{display:flex;gap:var(--sp-4);margin:0;padding:0;list-style:none}.eyebrow{margin:0 0 var(--sp-3);font-size:var(--font-13);font-weight:var(--font-weight-semibold);color:var(--accent)}.page-title{margin:0 0 var(--sp-4);font-size:var(--font-40);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--ink);overflow-wrap:anywhere}.subtitle{max-width:var(--measure);margin:0 0 var(--sp-5);font-size:var(--font-18);line-height:var(--leading-normal)}.meta,.subtitle{color:var(--muted)}.meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);font-size:var(--font-14)}.section-title{margin:0 0 var(--sp-6);font-size:var(--font-24);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);color:var(--ink)}.empty{padding-block:var(--sp-16);color:var(--muted);text-align:center}.badge-draft{display:inline-block;margin-left:var(--sp-2);padding-inline:var(--sp-2);font-size:var(--font-12);font-weight:var(--font-weight-medium);color:var(--muted);border:var(--border-w) solid var(--line);border-radius:var(--radius-full);vertical-align:middle}.cover{overflow:hidden;aspect-ratio:var(--thumb-ratio);background:var(--cover-bg,var(--cover-default));border-radius:var(--radius-lg)}.cover img{width:100%;height:100%;object-fit:cover}.cover[data-tone="1"]{--cover-bg:var(--cover-1)}.cover[data-tone="2"]{--cover-bg:var(--cover-2)}.cover[data-tone="3"]{--cover-bg:var(--cover-3)}.cover[data-tone="4"]{--cover-bg:var(--cover-4)}.cover[data-tone="5"]{--cover-bg:var(--cover-5)}.intro-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--sp-5);margin-bottom:var(--sp-8);font:inherit;text-align:left;color:var(--body);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);cursor:pointer}.intro-card:hover{border-color:var(--accent)}.intro-name{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3);font-size:var(--font-18);color:var(--ink)}.intro-name strong{font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}.intro-role{font-size:var(--font-13);font-weight:var(--font-weight-medium);color:var(--muted)}.intro-line{font-size:var(--font-14);line-height:var(--leading-relaxed)}.intro-line+.intro-line{margin-top:var(--sp-2)}.intro-cta{margin-top:var(--sp-4);font-size:var(--font-13);font-weight:var(--font-weight-semibold);color:var(--accent)}.layout{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);grid-gap:var(--sp-16);gap:var(--sp-16);align-items:start}.layout-main{max-width:var(--feed-w)}.layout-rail{position:-webkit-sticky;position:sticky;top:calc(var(--sp-16) + var(--sp-6))}.tags{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);margin:0 0 var(--sp-2);font-size:var(--font-13);font-weight:var(--font-weight-medium);color:var(--accent)}.post-list{margin:0;padding:0;list-style:none}.post-list li{display:grid;grid-template-columns:minmax(0,1fr) var(--thumb-w);grid-gap:var(--sp-8);gap:var(--sp-8);align-items:center;padding-block:var(--sp-6);border-top:var(--border-w) solid var(--line)}.post-list li:last-child{border-bottom:var(--border-w) solid var(--line)}.post-list li:first-child{border-top:0;padding-top:0}.post-list h2{margin:0 0 var(--sp-2);font-size:var(--font-22);font-weight:var(--font-weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--ink)}.post-list h2 a:hover{color:var(--accent)}.post-list p{margin:0 0 var(--sp-3);font-size:var(--font-15);line-height:var(--leading-normal);color:var(--muted)}.article{max-width:var(--article-w);margin-inline:auto}.article-head{margin-bottom:var(--sp-12)}.article-cover{aspect-ratio:var(--cover-ratio);border-radius:var(--radius-xl)}.article-title-block{max-width:var(--measure);margin:var(--sp-10) auto 0;text-align:center}.article-title-block .eyebrow{margin-bottom:var(--sp-4)}.article-title-block .subtitle{margin-inline:auto}.article-title-block .tags{justify-content:center;margin-bottom:var(--sp-4)}.brief{margin:0 0 var(--sp-10);padding:var(--sp-5) var(--sp-6);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg)}.brief-title{margin:0 0 var(--sp-3);font-size:var(--font-13);font-weight:var(--font-weight-semibold);color:var(--muted)}.brief ol{margin:0;padding-left:var(--sp-5);font-size:var(--font-16);line-height:var(--leading-relaxed);color:var(--body)}.brief li+li{margin-top:var(--sp-2)}.article-title-block .meta{justify-content:center}.article-body{max-width:var(--measure);margin-inline:auto}.prose{font-size:var(--font-17);line-height:var(--leading-body);overflow-wrap:anywhere}.prose>*+*{margin-top:var(--sp-6)}.prose h2{margin-top:var(--sp-12);margin-bottom:var(--sp-3);font-size:var(--font-30);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.prose h2,.prose h3{font-weight:var(--font-weight-bold);color:var(--ink)}.prose h3{margin-top:var(--sp-10);margin-bottom:var(--sp-2);font-size:var(--font-22);line-height:var(--leading-snug)}.prose p{margin-top:var(--sp-6)}.prose a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-soft);text-decoration-color:var(--accent-soft);text-underline-offset:var(--sp-1)}.prose ol,.prose ul{padding-left:var(--sp-6)}.prose li+li{margin-top:var(--sp-2)}.prose blockquote{margin-inline:0;padding-left:var(--sp-5);border-left:var(--sp-1) solid var(--line);color:var(--muted)}.prose hr{border:0;border-top:var(--border-w) solid var(--line);margin-block:var(--sp-12)}.prose code{font-family:var(--font-mono);font-size:var(--font-15);padding:var(--sp-half) var(--sp-1);background:var(--surface-muted);border-radius:var(--radius-sm)}.prose pre{padding:var(--sp-5);overflow-x:auto;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);line-height:var(--leading-normal)}.prose pre code{padding:0;background:none}.prose table{width:100%;border-collapse:collapse;font-size:var(--font-15)}.prose td,.prose th{padding:var(--sp-2) var(--sp-3);text-align:left;border-bottom:var(--border-w) solid var(--line)}.prose th{color:var(--ink);font-weight:var(--font-weight-semibold)}.prose img{border-radius:var(--radius-lg)}.prose figure{margin:var(--sp-8) 0}.prose figure img{width:100%;border:var(--border-w) solid var(--line)}.prose figcaption{margin-top:var(--sp-2);font-size:var(--font-14);line-height:var(--leading-normal);color:var(--muted)}.article-foot{max-width:var(--article-w);margin:var(--sp-20) auto 0;padding-top:var(--sp-10);border-top:var(--border-w) solid var(--line)}.related-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-6);gap:var(--sp-6);margin:0;padding:0;list-style:none}.related-cards a{display:block}.related-cards .cover{margin-bottom:var(--sp-3)}.related-cards .eyebrow{margin-bottom:var(--sp-1)}.related-cards h3{margin:0 0 var(--sp-1);font-size:var(--font-17);font-weight:var(--font-weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--ink)}.related-cards a:hover h3{color:var(--accent)}.related-cards p{margin:0;font-size:var(--font-14);line-height:var(--leading-normal);color:var(--muted)}.article-back{margin:var(--sp-10) 0 0}.article-back,.nav-button{font-size:var(--font-15);color:var(--muted)}.nav-button{display:inline-flex;align-items:center;min-height:var(--tap-min);padding-inline:var(--sp-3);font-weight:var(--font-weight-medium);background:none;border:0;border-radius:var(--radius-md);cursor:pointer}.nav-button:hover{color:var(--ink);background:var(--surface-muted)}.dialog{width:min(100% - var(--gutter) * 2,var(--measure));max-height:calc(100dvh - var(--sp-10));padding:0;border:0;border-radius:var(--radius-xl);background:var(--bg);color:var(--body)}.dialog::-webkit-backdrop{background:var(--backdrop)}.dialog::backdrop{background:var(--backdrop)}.dialog-body{padding:var(--sp-8)}.dialog-title{margin:0 0 var(--sp-6);font-size:var(--font-24);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);color:var(--ink)}.dialog-intro{margin:0 0 var(--sp-6);padding-bottom:var(--sp-5);border-bottom:var(--border-w) solid var(--line)}.dialog-intro p{margin:0;font-size:var(--font-15);line-height:var(--leading-relaxed);color:var(--body)}.dialog-intro p+p{margin-top:var(--sp-2);color:var(--muted)}.dialog-note{margin:0 0 var(--sp-6);font-size:var(--font-17)}.form{gap:var(--sp-5)}.field,.form{display:flex;flex-direction:column}.field{gap:var(--sp-2);font-size:var(--font-14);font-weight:var(--font-weight-medium);color:var(--ink)}.field small{font-weight:var(--font-weight-normal);color:var(--muted)}.field input,.field textarea{font:inherit;font-size:var(--font-16);color:var(--ink);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-md)}.field textarea{resize:vertical;line-height:var(--leading-relaxed)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:var(--bg)}.check{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--font-14);line-height:var(--leading-normal);color:var(--muted)}.check input{margin-top:var(--sp-1);accent-color:var(--accent)}.form-error{margin:0;font-size:var(--font-14);color:var(--danger)}.form-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2)}.button{display:inline-flex;align-items:center;min-height:var(--tap-min);padding-inline:var(--sp-5);font:inherit;font-size:var(--font-15);font-weight:var(--font-weight-semibold);color:var(--on-accent);background:var(--accent);border:0;border-radius:var(--radius-md);cursor:pointer}.button:disabled{opacity:.6;cursor:default}.button-ghost{color:var(--body);background:var(--surface-muted)}@media (max-width:720px){:root{--gutter:var(--sp-5)}.site-main{padding-block:var(--sp-8) var(--sp-16)}.page-title{font-size:var(--font-30)}.subtitle{font-size:var(--font-16)}.layout-rail{display:block;order:-1;position:static}.intro-card{margin-bottom:var(--sp-2)}.layout{grid-template-columns:1fr;gap:var(--sp-6)}.post-list li{grid-template-columns:1fr calc(var(--thumb-w) / 2);gap:var(--sp-4);align-items:start;padding-block:var(--sp-6)}.post-list h2{font-size:var(--font-18)}.post-list p{font-size:var(--font-14)}.prose{font-size:var(--font-16)}.prose h2{font-size:var(--font-24);margin-top:var(--sp-10)}.prose h3{font-size:var(--font-20)}.dialog-body{padding:var(--sp-6) var(--sp-5)}.article-cover{border-radius:var(--radius-lg)}.article-title-block{margin-top:var(--sp-6)}.related-cards{grid-template-columns:1fr;gap:var(--sp-8)}}