@import "https://cdn.jsdelivr.net/gh/sunn-us/SUIT/fonts/variable/woff2/SUIT-Variable.css";:root{--bg:#fff;--surface:#f7f7f6;--ink:#202124;--muted:#72757a;--line:#e3e4e5;--accent:#3056a0;--sans:"SUIT Variable","SUIT","Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}a{color:inherit}::selection{background:#dfe7f7}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{border-bottom:1px solid var(--line);align-items:center;max-width:1080px;height:68px;margin:auto;padding:0 24px;display:flex}.brand{letter-spacing:-.035em;font-size:1.18rem;font-weight:800;text-decoration:none}.site-header nav{gap:26px;margin-left:auto;font-size:.88rem;display:flex}.site-header nav a{color:#55585c;text-decoration:none}.site-header nav a:hover{color:var(--accent)}main{max-width:1080px;margin:auto;padding:0 24px}.blog-layout{grid-template-columns:minmax(0,1fr) 210px;gap:72px;padding:64px 0 90px;display:grid}.list-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.list-header>div{align-items:baseline;gap:9px;display:flex}.list-header h1{letter-spacing:-.04em;margin:0;font-size:1.55rem;line-height:1.2}.list-header>div>span{color:var(--muted);font-size:.8rem}.search{width:190px;position:relative}.search input{border:1px solid var(--line);background:var(--surface);width:100%;height:38px;font:inherit;border-radius:5px;outline:none;padding:0 36px 0 12px;font-size:.83rem}.search input:focus{background:#fff;border-color:#9aa9c5;box-shadow:0 0 0 3px #edf1f8}.search svg{fill:none;stroke:#85888c;stroke-width:1.6px;width:17px;height:17px;position:absolute;top:10px;right:11px}.post-list{border-top:1px solid #bfc1c4}.post-card{border-bottom:1px solid var(--line);padding:27px 4px 29px}.post-card[hidden]{display:none}.post-meta{color:var(--muted);align-items:center;gap:9px;margin-bottom:8px;font-size:.73rem;display:flex}.post-meta span:before{content:"·";color:#c1c2c4;margin-right:9px}.post-meta span{color:var(--accent);font-weight:600}.post-card h2{letter-spacing:-.025em;margin:0;font-size:1.28rem;line-height:1.4}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline 1px}.post-card>p{color:#62656a;white-space:nowrap;text-overflow:ellipsis;margin:8px 0 0;font-size:.9rem;overflow:hidden}.empty-state{text-align:center;color:var(--muted);padding:70px 0;font-size:.9rem}.sidebar{padding-top:2px}.sidebar section{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:28px}.sidebar h2{color:#5e6165;margin:0 0 11px;font-size:.75rem;font-weight:700}.filter{color:#55585d;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:space-between;padding:7px 8px;font-size:.83rem;display:flex}.filter:hover{background:var(--surface)}.filter.active{color:#284b8a;background:#edf1f8;font-weight:650}.filter span{color:#97999c;font-size:.72rem}.sidebar-links{flex-direction:column;display:flex}.sidebar-links h2{width:100%}.sidebar-links a{color:#55585d;padding:5px 8px;font-size:.83rem;text-decoration:none}.sidebar-links a:hover{color:var(--accent)}.page-title{border-bottom:1px solid var(--line);padding:62px 0 30px}.page-title h1{letter-spacing:-.04em;margin:8px 0;font-size:2.2rem}.page-title .eyebrow{color:var(--accent);margin:0;font-size:.72rem}.page-title a{text-decoration:none}.post{max-width:760px;margin:0 auto;padding:58px 0 90px}.back-link{color:var(--muted);margin-bottom:52px;font-size:.8rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.post-header{border-bottom:1px solid var(--line);margin-bottom:42px;padding-bottom:28px}.post-header .post-meta{flex-direction:row;margin:0;display:flex}.post-header .post-meta a{color:var(--accent);text-decoration:none}.post-header h1{letter-spacing:-.045em;margin:16px 0 0;font-size:clamp(2rem,5vw,3.25rem);font-weight:720;line-height:1.25}.feature-image{width:100%;height:auto;margin-bottom:38px}.content{color:#34363a;font-size:1rem;line-height:1.85}.content h2,.content h3{color:var(--ink);letter-spacing:-.025em;margin-top:2.5em;line-height:1.35}.content img{border:1px solid var(--line);max-width:100%;height:auto}.content figure{margin:2em 0}.content figcaption{color:var(--muted);margin-top:7px;font-size:.75rem}.content pre{color:#eef0f2;background:#24272b;border-radius:5px;padding:20px;line-height:1.6;overflow:auto}.content code{font-family:var(--mono);font-size:.83em}.content a{color:var(--accent);text-underline-offset:3px}.content blockquote{color:var(--muted);border-left:3px solid #b8c5dc;margin-left:0;padding-left:18px}.about-page{max-width:680px;min-height:560px;padding:70px 0 100px}.about-page h1{letter-spacing:-.04em;border-bottom:1px solid var(--line);margin:0 0 42px;padding-bottom:20px;font-size:2rem}.about-body{color:#45484c;font-size:1rem}.about-body p{margin:0 0 15px}footer{border-top:1px solid var(--line);color:#8a8c90;justify-content:space-between;max-width:1080px;margin:auto;padding:28px 24px 42px;font-size:.75rem;display:flex}footer a{text-decoration:none}@media (width<=760px){.site-header{height:60px;padding:0 18px}.site-header nav{gap:19px;font-size:.82rem}main{padding:0 18px}.blog-layout{padding:42px 0 65px;display:block}.sidebar{display:none}.list-header{align-items:flex-end}.search{width:145px}.post-card{padding:24px 2px}.post-card>p{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.post{padding:42px 0 65px}.back-link{margin-bottom:40px}.post-header h1{font-size:2.15rem}.content{font-size:.96rem}.about-page{padding-top:50px}footer{margin:0 18px;padding-left:0;padding-right:0}}@media (width<=400px){.site-header nav a:last-child{display:none}.list-header{display:block}.search{width:100%;margin-top:18px;display:block}.search input{height:40px}}
