:root{--bg:#f6f3ee;--bg-strong:#efe9df;--surface:#ffffffc2;--surface-strong:#ffffffeb;--line:#0f172a1a;--text:#111827;--muted:#5b6474;--accent:#e76f51;--accent-soft:#e76f511f;--shadow:0 20px 60px #0f172a14;--radius:26px;--container:min(1120px, calc(100vw - 32px));--font-body:"MaruBuri", serif;--font-display:"NanumBarunGothic", sans-serif;--font-mono:"IBM Plex Mono", monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at top left, #e76f512e, transparent 28%), radial-gradient(circle at right 20%, #11182714, transparent 24%), linear-gradient(180deg, #faf7f2 0%, var(--bg) 46%, #f0ebe4 100%);font-family:var(--font-body);margin:0;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{z-index:1;position:relative}.backdrop{pointer-events:none;opacity:.6;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0;mask-image:linear-gradient(#000000b3,#00000047 55%,#0000 88%)}.container{width:var(--container);margin:0 auto}.site-header{z-index:10;padding:18px 0;position:sticky;top:0}.nav-shell{border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:var(--shadow);background:#f6f3eec7;border-radius:999px;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.brand-mark{flex-direction:column;gap:2px;margin-left:clamp(22px,4.5vw,80px);padding-top:6px;padding-bottom:4px;display:flex}.brand-title,.footer-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.18rem;font-weight:700;line-height:1.1}.brand-subtitle{color:var(--muted);font-size:.85rem}.site-nav{flex-wrap:wrap;gap:10px;display:flex}.nav-link,.button,.inline-link,.tag-title-row a{transition:transform .18s,background-color .18s,border-color .18s}.nav-link{color:var(--muted);border-radius:999px;padding:10px 14px}.nav-link:hover,.nav-link.is-active{color:var(--text);background:var(--surface)}.hero-grid,.section-shell,.prose-shell,.article-shell{margin-top:40px}.hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);align-items:stretch;gap:24px;display:grid}.hero-copy,.hero-panel,.post-card,.feature-card,.tag-column,.article-body,.article-header,.contact-block,.site-footer{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.hero-copy,.hero-panel,.article-header,.article-body,.prose-shell{padding:28px}.eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.82rem}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.04em;margin:0;line-height:1.05}.hero-copy h1{max-width:12ch;font-size:clamp(2.8rem,6vw,5.8rem);line-height:1.14}.hero-copy h1 span{color:var(--accent);display:block}.hero-text,.lead,.card-excerpt,.feature-card p,.footer-copy,.contact-block p,.signal-list li,.article-meta,.section-heading p:last-child{color:var(--muted)}.hero-text,.lead{max-width:60ch;margin:20px 0 0;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:700;display:inline-flex}.button:hover,.inline-link:hover,.tag-title-row a:hover{transform:translateY(-1px)}.button.primary{background:var(--text);color:#fff}.button.secondary{border-color:var(--line);background:var(--surface-strong)}.profile-image{object-fit:cover;border:1px solid var(--line);border-radius:24px;width:96px;height:96px}.profile-head{border-bottom:2px solid #0f172a2e;align-items:center;gap:22px;padding-bottom:16px;display:flex}.profile-copy{min-width:0}.profile-name{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.profile-body{padding-top:16px}.panel-label{font-family:var(--font-display);margin:0 0 10px;font-size:1.2rem;font-weight:700}.signal-list,.tag-row,.mini-list{margin:0;padding:0;list-style:none}.signal-list{gap:12px;display:grid}.profile-links{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.profile-links li{color:var(--muted);letter-spacing:.01em;flex-wrap:nowrap;align-items:center;gap:6px;font-size:.9rem;display:flex}.link-bullet{width:18px;height:18px;color:var(--text);justify-content:center;align-items:center;display:inline-flex}.link-bullet svg{width:100%;height:100%}.link-icon{width:16px;height:16px}.profile-link-text{color:var(--text)}.inline-link,.feature-link,.tag-title-row a{color:var(--accent);font-weight:700}.feature-link:hover,.category-link:hover{color:var(--accent)}.section-heading,.split-heading,.tag-title-row,.footer-shell{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-heading h2{letter-spacing:.06em;font-size:clamp(1.75rem,3vw,2.7rem)}.page-title{font-size:clamp(2rem,4vw,3.4rem)}.card-grid,.feature-grid,.tag-shelf,.list-stack{margin-top:22px}.card-grid,.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.post-card,.feature-card,.tag-column{padding:24px}.card-meta,.article-meta{flex-wrap:wrap;gap:10px;font-size:.92rem;display:flex}.meta-dot:before{content:"• ";margin-right:2px}.card-title{margin-top:14px;font-size:1.6rem}.card-title a:hover,.mini-list a:hover,.article-body a:hover{color:var(--accent)}.category-link{color:var(--muted)}.card-excerpt{margin:14px 0 0}.tag-row{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.tag-row li{background:var(--accent-soft);color:#833d2b;border-radius:999px;padding:6px 12px;font-size:.9rem}.feature-card h3{font-size:1.45rem}.feature-card p{margin:14px 0 0}.tag-shelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.tag-shelf.full-width{grid-template-columns:repeat(3,minmax(0,1fr))}.tag-title-row h2,.tag-title-row h3{font-size:1.35rem}.mini-list{gap:12px;margin-top:16px;display:grid}.mini-list a{color:var(--muted);display:inline-block}.prose-shell{box-shadow:none;background:0 0;border:none;padding:0}.lead-line{display:block}.contact-block{margin-top:24px;padding:22px 24px}.list-stack{gap:18px;display:grid}.article-shell{width:min(1260px,100vw - clamp(24px,7vw,140px));max-width:100%}.article-frame{grid-template-columns:minmax(210px,240px) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,48px);display:grid}.article-frame.no-toc{grid-template-columns:minmax(0,1fr)}.article-main{gap:5px;width:min(100%,clamp(760px,78vw,920px));min-width:0;margin-left:auto;display:grid}.article-frame.no-toc .article-main{margin-inline:auto}.article-main>*{min-width:0;max-width:100%}.article-toc-shell{align-self:start;position:sticky;top:132px}.article-toc{border:1px solid var(--line);backdrop-filter:blur(12px);max-height:calc(100vh - 164px);box-shadow:var(--shadow);background:#ffffff9e;border-radius:22px;padding:18px 18px 20px;overflow:auto}.toc-label{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem}.toc-list{margin:0;padding:0;list-style:none}.toc-item+.toc-item{margin-top:10px}.toc-item a{color:var(--muted);font-size:.94rem;line-height:1.45;display:block}.toc-item a:hover{color:var(--accent)}.toc-item.is-sub a{padding-left:12px;font-size:.88rem}.article-header h1{letter-spacing:-.02em;overflow-wrap:anywhere;word-break:break-word;max-width:16ch;margin-top:8px;font-size:clamp(2.5rem,4vw,5rem);line-height:1.16}.article-body{letter-spacing:-.005em;overflow-wrap:anywhere;font-size:clamp(1rem,1vw + .7rem,1.08rem);line-height:1.9;overflow-x:hidden}.article-header,.article-body{width:100%;min-width:0;max-width:100%;padding:clamp(24px,3vw,44px)}.article-body>:first-child{margin-top:0}.article-body>*{min-width:0;max-width:72ch}.article-body>:is(pre,table,.expressive-code,.astro-code){width:100%;min-width:0;max-width:100%}.article-body p,.article-body li,.article-body td,.article-body th{overflow-wrap:anywhere;word-break:break-word}.article-body :is(h2,h3,h4){letter-spacing:-.016em;max-width:30ch;margin-top:2.4rem;margin-bottom:.9rem;line-height:1.28}.article-body h2{font-size:clamp(1.7rem,2vw,2.25rem)}.article-body h3{font-size:clamp(1.3rem,1.4vw,1.65rem)}.article-body p,.article-body ul,.article-body ol,.article-body blockquote{margin-top:1rem;margin-bottom:0}.article-body pre{background:#0f172a;border-radius:20px;width:100%;min-width:0;max-width:100%;padding:22px;display:block;overflow:auto hidden}.article-body :is(pre,.astro-code,.expressive-code) code{min-width:max-content;display:block}.article-body code{font-family:var(--font-mono);font-size:.92em}.article-body :not(pre)>code{white-space:normal;overflow-wrap:anywhere;word-break:break-word;background:#0f172a0f;border-radius:8px;padding:.18em .42em}.article-body blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1.4rem 0;padding-left:18px}.article-body table{border-collapse:collapse;border-radius:18px;width:100%;min-width:0;max-width:100%;margin:1.5rem 0;display:block;overflow-x:auto}.article-body th,.article-body td{text-align:left;border:1px solid #0f172a14;padding:12px 14px}.site-footer{width:min(1320px,100vw - clamp(20px,7vw,140px));margin:44px auto 24px;padding:clamp(18px,2.2vw,26px) clamp(20px,2.8vw,30px)}.footer-shell{align-items:start;width:100%;margin:0}.footer-title,.footer-copy{margin:0}.footer-copy{max-width:none;margin-top:8px}.footer-links{color:var(--muted);flex-wrap:wrap;gap:14px;display:flex}@media (width<=980px){.hero-grid,.card-grid,.feature-grid,.tag-shelf,.tag-shelf.full-width{grid-template-columns:1fr}.article-shell{width:min(100%,100vw - 20px)}.article-frame,.article-frame.no-toc{grid-template-columns:1fr;gap:18px}.article-main{width:100%}.article-toc-shell{position:static}.article-toc{max-height:none}.nav-shell,.section-heading,.split-heading,.footer-shell{flex-direction:column;align-items:start}.brand-mark{margin-left:0}}@media (width<=720px){.site-header{padding-top:12px}.nav-shell{border-radius:28px;padding:16px}.hero-copy,.hero-panel,.post-card,.feature-card,.tag-column,.article-header,.article-body{padding:20px}.article-shell{width:min(100%,100vw - 20px)}.site-footer{width:min(100%,100vw - 20px);padding:18px 20px}.article-body>*{max-width:100%}.hero-copy h1,.article-header h1,.page-title{letter-spacing:-.05em}.profile-links li{flex-wrap:wrap}}@media (width>=721px){.footer-copy{white-space:nowrap}}
