@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
nav a{white-space:nowrap}@media(max-width:360px){header nav{gap:12px}header nav a:first-child{display:none}}
.post-cover{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.article-body.prose img{max-width:100%;height:auto;border-radius:6px}.article-body.prose pre{white-space:pre;overflow:auto}.article-body.prose code{font-family:Consolas,monospace}.article-body.prose h1,.article-body.prose h3{color:var(--text)}.article-body.prose blockquote{margin:24px 0}.article-body.prose a{color:var(--blue)}.series-badge{display:inline-block;padding:9px 12px;margin-top:20px;background:var(--panel);border:1px solid var(--line);font-size:12px;color:var(--blue)}.series-navigation{display:grid;grid-template-columns:1fr 1fr;gap:25px}.article-tags{font-size:12px;color:var(--blue);margin-top:35px}.article-tags span{margin-right:8px}.feed-error{padding:20px;color:var(--muted)}
:root{--bg:#0b0c0e;--panel:#14161a;--text:#f4f5f7;--muted:#90949e;--line:#292c33;--blue:#557dff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,'Noto Sans KR',sans-serif}body.light{--bg:#f7f8fb;--panel:#fff;--text:#171c29;--muted:#626b7a;--line:#dce0e9}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:5px}header{height:94px;max-width:1440px;margin:auto;padding:0 64px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{font-weight:900;letter-spacing:2px;font-size:20px;white-space:nowrap}.brand b{color:var(--blue)}.brand span{display:block;color:var(--muted);font-size:9px;letter-spacing:3.8px;margin-top:7px}nav{margin-left:auto;display:flex;gap:32px;font-size:13px;color:var(--muted)}nav a:hover{color:var(--text)}#theme{border:1px solid var(--line);background:none;color:var(--text);border-radius:50%;width:34px;height:34px;font-size:21px}main{max-width:1440px;margin:auto;padding:0 64px}.hero{padding:66px 0 46px;display:flex;justify-content:space-between;align-items:end}.eyebrow{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:2.6px}.hero h1{font-size:58px;line-height:1.08;letter-spacing:-3px;margin:20px 0}.hero h1 em{font-style:normal;color:var(--blue)}.hero p{font-size:14px;color:var(--muted);line-height:1.9;margin:0}.hero-index{font-size:10px;letter-spacing:2px;color:var(--muted);padding-bottom:8px}.feature{display:grid;grid-template-columns:1.05fr 1fr;background:var(--panel);border:1px solid var(--line);min-height:340px;overflow:hidden}.feature-copy{padding:38px 42px;display:flex;align-items:start;flex-direction:column}.tag{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:1.4px}.feature h2{font-size:29px;line-height:1.5;letter-spacing:-1px;margin:18px 0 12px;max-width:450px}.feature p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 26px}.meta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:11px}.feature .meta{margin-top:auto}.arrow{margin-left:auto;color:var(--text);font-size:23px}.visual{position:relative;overflow:hidden;min-height:205px;background:#0b111d}.visual canvas{width:100%;height:100%;position:absolute;inset:0}.visual-label{position:absolute;left:20px;bottom:17px;letter-spacing:2px;color:#99a9cf;font-size:9px}.visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09101a66,transparent 45%);pointer-events:none}.feature .visual{min-height:340px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:55px 0 23px}.section-heading h2{font-size:23px;margin:0;letter-spacing:-.7px}.section-heading span{color:var(--muted);font-size:11px}.toolbar{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:28px}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{color:var(--muted);border:1px solid transparent;background:none;padding:9px 13px;font-size:12px;border-radius:4px}.filter.active{background:var(--text);color:var(--bg)}.search{margin-left:auto;position:relative}.search input{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:11px 14px;color:var(--text);width:220px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}.card{display:flex;flex-direction:column;min-width:0}.card .visual{border:1px solid var(--line);transition:transform .25s}.card:hover .visual{transform:translateY(-3px)}.card .tag{margin-top:23px}.card h3{font-size:19px;line-height:1.6;letter-spacing:-.6px;margin:12px 0 8px}.card p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 20px}.card .meta{margin-top:auto;padding-bottom:22px;border-bottom:1px solid var(--line)}.count{color:var(--muted);font-size:12px;margin-left:10px}.series{margin:65px 0 75px;background:var(--panel);border:1px solid var(--line);padding:30px 35px;display:flex;gap:25px;align-items:center}.series-icon{font-size:35px;color:var(--blue);font-weight:800}.series h3{font-size:21px;margin:8px 0}.series p{font-size:12px;color:var(--muted);line-height:1.8}.series a{margin-left:auto;white-space:nowrap;border:1px solid var(--line);padding:13px 20px;font-size:12px}.empty{grid-column:1/-1;text-align:center;padding:60px;color:var(--muted)}footer{max-width:1312px;margin:auto;border-top:1px solid var(--line);padding:35px 0 45px;display:flex;align-items:center;gap:30px}footer .brand{font-size:14px}footer p,footer span{color:var(--muted);font-size:10px}footer span{margin-left:auto}.back{display:inline-block;font-size:12px;color:var(--muted);margin:35px 0}.article-head{max-width:850px;margin:15px auto 35px}.article-head h1{font-size:43px;line-height:1.4;letter-spacing:-1.8px}.article-layout{display:grid;grid-template-columns:minmax(0,790px) 220px;gap:65px;max-width:1075px;margin:0 auto 80px}.article-body{line-height:2;font-size:15px;color:var(--muted)}.article-body .visual{height:330px;margin-bottom:35px}.article-body h2{color:var(--text);font-size:25px;margin-top:45px;scroll-margin-top:25px}.article-body pre{background:var(--panel);border:1px solid var(--line);padding:22px;overflow:auto;color:#9fb8ff;font-size:12px;line-height:1.8}.article-body blockquote{border-left:3px solid var(--blue);margin:28px 0;padding:10px 22px;background:var(--panel)}.demo-note{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:10px 14px;display:inline-block;margin-top:20px}.toc{position:sticky;top:35px;height:fit-content;border-left:1px solid var(--line);padding-left:20px;font-size:12px}.toc strong{display:block;margin-bottom:20px}.toc a{display:block;color:var(--muted);margin:16px 0}.toc a:hover{color:var(--blue)}.article-actions{display:flex;gap:10px;margin:30px 0}.article-actions button{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:10px 16px;border-radius:4px;font-size:12px}.next-article{display:block;border-top:1px solid var(--line);padding-top:25px;color:var(--text)}@media(min-width:1500px){header,main{padding-left:80px;padding-right:80px}}@media(max-width:900px){header,main{padding-left:28px;padding-right:28px}.hero h1{font-size:46px}.hero-index{display:none}.feature-copy{padding:26px}.feature h2{font-size:24px}.grid{grid-template-columns:repeat(2,1fr)}.toolbar{align-items:start;flex-direction:column}.search{margin:8px 0 0}.article-layout{grid-template-columns:1fr}.toc{display:none}footer{margin:0 28px;flex-wrap:wrap}footer span{margin-left:0}.series{padding:25px}.article-head h1{font-size:34px}}@media(max-width:560px){header{height:80px;padding:0 20px;gap:14px}.brand{font-size:15px;letter-spacing:1.1px}.brand span{font-size:8px;letter-spacing:2px}nav{gap:15px;font-size:11px}nav a:last-child{display:none}#theme{width:28px;height:28px;flex-shrink:0}main{padding:0 20px}.hero{padding:44px 0 30px}.hero h1{font-size:43px}.hero p{font-size:12px}.feature{grid-template-columns:1fr}.feature .visual{min-height:235px;grid-row:1}.feature h2{font-size:25px}.feature-copy{padding:26px}.grid{grid-template-columns:1fr;gap:28px}.card .visual{min-height:220px}.series{align-items:start;flex-wrap:wrap;gap:15px}.series a{margin-left:0}.series-icon{display:none}.section-heading{margin-top:40px}.filter{padding:8px 10px;font-size:11px}.search,.search input{width:100%}footer{gap:12px;display:block}footer p{margin:16px 0}.article-head h1{font-size:30px}.article-body{font-size:14px}.article-body .visual{height:230px}}
