:root,html[data-theme=light]{--bg: #ffffff;--surface: #ffffff;--surface-2: #f6f7f8;--border: #e8eaed;--text-1: #282728;--text-2: #555055;--text-3: #8b857f;--accent: #e0483f;--accent-soft: #fcebe9;--link: #b03a32;--footer-bg: #282728;--footer-fg: #c9c4bd;--footer-text: #c9c4bd;--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Segoe UI", Roboto, sans-serif;--font-head: var(--font-sans);--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.563rem;--fs-3xl: 1.953rem;--fs-4xl: 2.441rem;--lh-tight: 1.15;--lh-snug: 1.3;--lh-base: 1.7;--lh-prose: 1.8;--fw-normal: 400;--fw-medium: 600;--fw-bold: 700;--fw-black: 800;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--sh-sm: 0 1px 1px rgba(0,0,0,.125);--sh-md: 0 2px 8px rgba(40,39,40,.1);--sh-lg: 0 10px 30px rgba(40,39,40,.13);--transition: all .2s ease-in-out;--maxw: 1220px;--content-w: 720px;--left-w: 220px;--sidebar-w: 400px;--sidebar-w-wide: 400px;--hd-offset: 4.5rem;--logo-size: 1.5rem;--logo-weight: 800;--nav-size: .95rem;--nav-weight: 600}html[data-theme=dark]{--bg: #16161a;--surface: #1f1f24;--surface-2: #26262c;--border: #2a2a30;--text-1: #e8e6e3;--text-2: #b5b2ad;--text-3: #8b857f;--accent: #e0483f;--accent-soft: rgba(224,72,63,.18);--link: #ff8a80;--footer-bg: var(--surface);--footer-fg: var(--text-2);--footer-text: var(--text-2);--sh-sm: 0 1px 1px rgba(0,0,0,.35);--sh-md: 0 2px 10px rgba(0,0,0,.32);--sh-lg: 0 10px 30px rgba(0,0,0,.4)}html{font-family:var(--font-sans);color:var(--text-1);background:var(--bg);-webkit-font-smoothing:antialiased}body{margin:0;font-size:var(--fs-base);line-height:var(--lh-base);background:var(--bg);color:var(--text-1)}a{color:var(--link);text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3,h4{font-family:var(--font-head);line-height:var(--lh-snug);color:var(--text-1)}.blog-shell{max-width:var(--maxw);margin-inline:auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;gap:1rem;min-height:56px}.site-logo{font-weight:var(--logo-weight);font-size:var(--logo-size);color:var(--accent);white-space:nowrap}.site-nav{display:flex;gap:.2rem;flex-wrap:wrap}.site-nav a{font-size:var(--nav-size);font-weight:var(--nav-weight);padding:.3rem .85rem;color:var(--text-1);border-radius:var(--r-sm)}.site-nav a:hover{color:var(--accent)}.site-search{min-width:200px;font-size:.85rem;border-radius:var(--r-pill);border:1px solid var(--border);padding:.45rem 1rem;background:var(--surface);color:var(--text-1)}.site-search::placeholder{color:var(--text-3)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);cursor:pointer;transition:var(--transition)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);box-shadow:var(--sh-sm)}.theme-toggle__icon{width:1rem;height:1rem;background:currentColor;-webkit-mask:var(--theme-icon) center / contain no-repeat;mask:var(--theme-icon) center / contain no-repeat}.theme-toggle__icon--sun{--theme-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41'/%3E%3C/svg%3E");display:none}.theme-toggle__icon--moon{--theme-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 7.4A9 9 0 1 1 12 3z'/%3E%3C/svg%3E")}html[data-theme=dark] .theme-toggle__icon--sun{display:block}html[data-theme=dark] .theme-toggle__icon--moon{display:none}@media(max-width:899px){.blog-shell{padding-inline:18px}.site-header__inner{flex-wrap:wrap;gap:.5rem;padding-block:.65rem}.site-logo{flex:1 0 auto}.site-search{flex:1 1 150px;min-width:0}.site-nav{order:10;width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.1rem}.site-nav a{flex:0 0 auto}.lang-switch{margin-left:0}}.lang-switch{display:flex;gap:.3rem;margin-left:auto}.lang-switch a.lang-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:1.9rem;border:1px solid var(--border);border-radius:var(--r-md);font-size:1.15rem;line-height:1;filter:grayscale(.4) opacity(.7);transition:var(--transition)}.lang-switch a.lang-btn:hover{border-color:var(--accent);filter:none}.lang-switch a.lang-btn.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);filter:none}.hero{display:grid;grid-template-columns:1fr;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin:1.75rem 0;background:var(--surface);box-shadow:var(--sh-md);transition:box-shadow .2s ease,transform .2s ease}@media(min-width:768px){.hero{grid-template-columns:1.25fr 1fr}}.hero__media{aspect-ratio:16/10;background:var(--surface-2)}.hero__media img{width:100%;height:100%;object-fit:cover;display:block}.hero:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}.hero__body{padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;justify-content:center}.hero__cat{display:inline-block;font-size:.8rem;font-weight:700;color:var(--accent)}.hero__title{font-size:1.9rem;font-weight:800;line-height:1.25;margin:.6rem 0;color:var(--text-1)}.hero__excerpt{color:var(--text-2);font-size:1rem;line-height:1.7}.hero__date{color:var(--text-3);font-size:.82rem;margin-top:1rem}.blog-2col{display:grid;grid-template-columns:1fr;gap:36px;align-items:start}@media(min-width:900px){.blog-2col{grid-template-columns:minmax(0,1fr) minmax(280px,var(--sidebar-w))}}@media(min-width:900px){.blog-2col--post{grid-template-columns:minmax(0,var(--content-w)) minmax(260px,var(--sidebar-w));justify-content:center}}.section-title{font-size:1.3rem;font-weight:700;border-bottom:1px solid var(--border);padding-bottom:.55rem;margin:0 0 1.4rem}.section-title>span{display:inline-block;border-bottom:2px solid var(--accent);padding-bottom:.55rem;margin-bottom:-1px}.post-list{display:flex;flex-direction:column;gap:24px}.post-card{display:grid;grid-template-columns:1fr;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface);transition:box-shadow .2s ease,transform .2s ease}@media(min-width:560px){.post-card{grid-template-columns:240px 1fr}}.post-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}.post-card__thumb{aspect-ratio:16/10;background:var(--surface-2)}.post-card__thumb picture{display:block;width:100%;height:100%}.post-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}.post-card__body{padding:1.15rem 1.4rem;display:flex;flex-direction:column;min-width:0}.post-card__cat{display:inline-block;font-size:.78rem;color:var(--accent);font-weight:700}.post-card__title{font-size:1.25rem;font-weight:700;line-height:1.3;margin:.35rem 0;color:var(--text-1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card__excerpt{color:var(--text-2);font-size:.92rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card__date{color:var(--text-3);font-size:.8rem;margin-top:auto;padding-top:.6rem}.rail-card{border:1px solid var(--border);border-radius:var(--r-md);padding:1.2rem 1.3rem;margin-bottom:1.5rem;background:var(--surface)}.rail-title{font-size:1rem;font-weight:700;border-left:3px solid var(--accent);padding-left:.5rem;margin:0 0 1rem}.rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.rail-item{margin:0}.rail-item a{display:flex;gap:.7rem;align-items:center;color:inherit}.rail-item a>div{flex:1;min-width:0}.rail-num{align-self:flex-start}.rail-item__thumb{width:56px;height:56px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0;background:var(--surface-2)}.rail-item__title{font-size:.9rem;font-weight:600;line-height:1.35;color:var(--text-1)}.rail-item__date{font-size:.75rem;color:var(--text-3);margin-top:.2rem}.rail-num{color:var(--accent);font-weight:800;margin-right:.45rem}.rail-cats{list-style:none;margin:0;padding:0}.rail-cats li{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.rail-cats li:last-child{border-bottom:0}.post-article{width:100%;max-width:var(--content-w);min-width:0;padding-top:var(--sp-8)}.post-cover{width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:var(--r-md);background:var(--surface-2);margin:0 0 var(--sp-6);box-shadow:var(--sh-md)}.post-cover picture{display:block;width:100%;height:100%}.post-cover img{width:100%;height:100%;object-fit:cover;display:block}.post-meta-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;color:var(--text-3);font-size:var(--fs-sm);margin:0 0 var(--sp-6)}.post-meta-item{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-3);min-width:0}.post-meta-item:hover{color:var(--accent)}.post-meta-item:before{content:"";width:.9rem;height:.9rem;flex:0 0 auto;background:currentColor;-webkit-mask:var(--meta-icon) center / contain no-repeat;mask:var(--meta-icon) center / contain no-repeat}.post-meta-item--cat{--meta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 13.42 20.6a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1.2'/%3E%3C/svg%3E")}.post-meta-item--date{--meta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18M5 4h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}.post-meta-item--tags{--meta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h16M4 15h16M10 3 8 21M16 3l-2 18'/%3E%3C/svg%3E");flex-wrap:wrap}.article-prose{max-width:var(--content-w);margin-inline:auto;font-size:1.1rem;line-height:1.8;color:var(--text-1);overflow-wrap:break-word}.article-prose>*{margin:0 0 1.5rem}.article-prose h2{font-size:1.5rem;font-weight:700;margin:2.2rem 0 1rem;border-left:4px solid var(--accent);padding-left:.6rem}.article-prose h3{font-size:1.25rem;font-weight:700;margin:1.7rem 0 .8rem}.article-prose img{max-width:100%;height:auto;border-radius:var(--r-md)}.article-prose blockquote{border-left:4px solid var(--accent);padding-left:1rem;color:var(--text-2)}.article-prose table{width:100%;max-width:100%;border-collapse:collapse;font-size:.95rem;overflow-x:auto}.article-prose pre{max-width:100%;overflow-x:auto}.article-prose th,.article-prose td{border:1px solid var(--border);padding:.5rem .7rem}.article-prose a{color:var(--accent);text-decoration:none;font-weight:600}.article-prose a:hover{text-decoration:underline}.post-title{font-size:2.1rem;font-weight:800;line-height:1.25;margin:0 0 var(--sp-3);color:var(--text-1)}.post-toc-mobile{margin:0 0 var(--sp-6)}.post-toc-desktop{display:none}.post-toc-list{gap:.55rem}.post-toc-list a{display:block;border-left:2px solid transparent;padding-left:.55rem;color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-snug)}.post-toc-list a:hover,.post-toc-list a.is-active{border-left-color:var(--accent);color:var(--accent)}.post-toc-list__sub{padding-left:.75rem}.post-side-rail{min-width:0}@media(min-width:1024px){.post-toc-mobile{display:none}.post-toc-desktop{display:block;position:sticky;top:calc(var(--hd-offset) + var(--sp-4));max-height:calc(100vh - var(--hd-offset) - var(--sp-8));overflow:auto}}.post-nav-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4);margin-top:var(--sp-8)}.post-nav-card{grid-template-columns:1fr;min-height:120px}@media(min-width:680px){.post-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tag-chip{display:inline-block;padding:4px 10px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);font-size:.85rem;margin-right:.35rem}.tag-chip--meta{margin-right:0}.site-footer{background:var(--footer-bg);color:var(--footer-fg);margin-top:3rem;padding:2rem 0}.site-footer a{color:var(--footer-fg)}.post-card__cat:before,.hero__cat:before,.cat-ico:before{content:"";display:inline-block;width:.85em;height:.85em;margin-right:.3em;vertical-align:-1px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 13.42 20.6a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1.2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 13.42 20.6a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7' cy='7' r='1.2'/%3E%3C/svg%3E") center/contain no-repeat}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0}.table-scroll>table{width:max-content;min-width:100%;max-width:none}.about-sec{padding:var(--sp-12) 0}.about-sec--bordered{border-top:1px solid var(--border)}.about-hero__media{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-lg);background:var(--surface-2)}.about-hero__media img{width:100%;height:100%;object-fit:cover}.about-hero__overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:var(--sp-6);background:linear-gradient(to top,#000000b8,#0003 55%,#0000)}.about-hero__title{font-size:var(--fs-3xl);font-weight:var(--fw-black);line-height:var(--lh-tight);color:#fff;margin:0;text-wrap:balance}.about-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}.about-grid>*{min-width:0}.about-h3{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:var(--lh-snug);margin:0}.about-tagline{font-size:var(--fs-lg);line-height:var(--lh-base);color:var(--text-2);margin:var(--sp-4) 0 0}.about-lead{font-size:var(--fs-lg);line-height:var(--lh-prose);color:var(--text-2);margin:0}.about-lead strong{color:var(--text-1);font-weight:var(--fw-bold)}.about-cards__h{margin-bottom:var(--sp-8)}.about-cards{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}.about-card__box{padding:var(--sp-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-sm)}.about-card__box h4{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0}.about-card__desc{font-size:var(--fs-sm);line-height:var(--lh-base);color:var(--text-2);margin:var(--sp-4) 0 0}@media(min-width:768px){.about-hero__media{aspect-ratio:16/9}.about-hero__overlay{padding:var(--sp-10)}.about-hero__title{font-size:var(--fs-4xl)}.about-grid{grid-template-columns:1fr 2fr}.about-cards{grid-template-columns:repeat(3,1fr)}}
