:root{color-scheme:light;--bg:#f7f4ee;--surface:#fffdfa;--text:#20201d;--muted:#6a665e;--line:#ddd6c8;--accent:#2f9c95;--accent-strong:#21746f;--warm:#d86f45;--focus:#5d78b7;--shadow:0 18px 42px #20201d1f;--header-height:72px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg:#191916;--surface:#24241f;--text:#f3efe5;--muted:#bbb3a4;--line:#3a372f;--accent:#56bdb4;--accent-strong:#8ed8d1;--warm:#f09167;--focus:#8fa6e6;--shadow:0 18px 42px #00000059}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);letter-spacing:0;font-size:16px}body{background:var(--bg);min-width:320px;color:var(--text);text-rendering:optimizelegibility;margin:0;line-height:1.7}body,button,input,textarea{font:inherit}a{color:inherit;text-decoration-color:color-mix(in srgb, var(--accent) 70%, transparent);text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{color:var(--accent-strong)}img{max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{z-index:50;background:var(--text);color:var(--bg);border-radius:8px;padding:.75rem 1rem;position:fixed;top:12px;left:12px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(18px);transition:transform .18s,box-shadow .18s;position:sticky;top:0}.site-header[data-hidden]{transform:translateY(-100%)}.site-header[data-compact]{box-shadow:var(--shadow)}.site-nav{min-height:var(--header-height);grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;width:min(1120px,100% - 24px);margin:0 auto;display:grid}.brand{align-items:center;gap:.65rem;min-width:0;min-height:44px;font-weight:760;text-decoration:none;display:inline-flex}.brand-mark{border:7px solid var(--text);width:28px;height:28px;box-shadow:inset 0 0 0 5px var(--accent);border-radius:50%;flex:none}.brand-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-links,.nav-actions{align-items:center;gap:.25rem;display:flex}.nav-links a,.language-toggle,.icon-button{min-width:44px;min-height:44px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nav-links a{padding:0 .75rem;font-size:.95rem}.nav-links a:hover,.language-toggle:hover,.icon-button:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.language-toggle{font-weight:760}.icon-button{cursor:pointer;background:0 0;border:0}.theme-toggle__icon{font-size:1.15rem;line-height:1}main{min-height:70vh}.home-intro,.content-section,.page-copy{width:min(1120px,100% - 24px);margin:0 auto}.home-intro{align-items:end;min-height:clamp(280px,42vh,460px);padding:4rem 0 3rem;display:flex}.home-intro div,.page-copy{max-width:72ch}.home-intro h1,.page-copy h1,.post-hero h1,.section-heading h1{margin:0;font-size:clamp(2.2rem,6vw,5.4rem);line-height:1.02}.home-intro p:not(.eyebrow),.page-copy p,.lede{color:var(--muted);font-size:clamp(1.05rem,1.9vw,1.3rem)}.eyebrow{color:var(--accent-strong);text-transform:uppercase;margin:0 0 .85rem;font-size:.82rem;font-weight:780}.content-section,.page-copy{padding:3rem 0 5rem}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-heading h2{margin:0;font-size:clamp(1.5rem,3vw,2.2rem)}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.post-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.post-card__media{background:color-mix(in srgb, var(--line) 55%, transparent);display:block;overflow:hidden}.post-card__media .r2-image{object-fit:cover;width:100%;height:100%;transition:transform .22s;display:block}.post-card:hover .post-card__media .r2-image{transform:scale(1.025)}.post-card__body{padding:1rem}.post-card__body h2{margin:0;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.2}.post-card__body h2 a{text-decoration:none}.post-card__body p{color:var(--muted);margin:.7rem 0 0}.post-card__meta{font-size:.85rem;font-weight:700}.tag-row,.tag-cloud{flex-wrap:wrap;gap:.5rem;display:flex}.tag-row{margin-top:1rem}.tag-row a,.tag-cloud a,.pagination a{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 84%, transparent);border-radius:8px;align-items:center;min-height:44px;padding:.35rem .75rem;text-decoration:none;display:inline-flex}.tag-cloud{margin-top:1.5rem}.tag-cloud a{gap:.45rem;font-size:1.05rem}.tag-cloud span{color:var(--muted);font-size:.9rem}.pagination{justify-content:space-between;gap:.75rem;margin-top:2rem;display:flex}.post{padding-bottom:5rem}.post-hero{width:min(1120px,100% - 24px);margin:0 auto;padding:3rem 0 0}.post-hero h1{max-width:11ch}.post-cover{object-fit:cover;background:var(--line);border-radius:8px;width:100%;margin-top:2rem;display:block}.post-content{width:min(72ch,100% - 24px);margin:2.5rem auto 0;font-size:1.05rem}.post-content>*+*{margin-top:1.35rem}.post-content h2,.post-content h3{margin-top:2.2rem;line-height:1.2}.post-content p{margin-bottom:0}.post-content .r2-image,.markdown-image .r2-image{object-fit:cover;background:var(--line);cursor:zoom-in;border-radius:8px;width:100%;display:block}.markdown-image{margin:2rem 0}.markdown-image figcaption{color:var(--muted);margin-top:.5rem;font-size:.9rem}pre{color:#f4f1ea;background:#11110f;border-radius:8px;padding:1rem;line-height:1.55;overflow-x:auto}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.92em}.youtube-facade{aspect-ratio:16/9;background:#11110f;border-radius:8px;width:100%;position:relative;overflow:hidden}.youtube-facade__button,.youtube-facade iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.youtube-facade__button{cursor:pointer;background:linear-gradient(#0000001f, #0000006b), var(--youtube-thumb) center / cover no-repeat}.youtube-facade__play{background:var(--warm);border-radius:8px;width:68px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.youtube-facade__play:after{content:"";border-top:11px solid #0000;border-bottom:11px solid #0000;border-left:18px solid #fffdfa;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-38%,-50%)}.page-copy{min-height:58vh}.site-footer{border-top:1px solid var(--line);width:min(1120px,100% - 24px);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:0 auto;padding:2rem 0 3rem;font-size:.95rem;display:flex}.site-footer p{margin:0}.lightbox{z-index:60;padding:max(18px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#000000e0;grid-template-columns:64px 1fr 64px;align-items:center;gap:.5rem;display:grid;position:fixed;inset:0}.lightbox[hidden]{display:none}.is-lightbox-open{overflow:hidden}.lightbox__image{object-fit:contain;justify-self:center;max-width:100%;max-height:calc(100vh - 48px)}.lightbox__button{color:#fffdfa;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:2rem;display:inline-flex}.lightbox__close{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));position:absolute}@media (width<=820px){.site-nav{grid-template-columns:1fr auto}.nav-links{grid-column:1/-1;justify-content:space-between;padding-bottom:.45rem;overflow-x:auto}.post-grid{grid-template-columns:1fr}.home-intro{min-height:320px;padding-top:3rem}.post-hero{width:100%;padding-top:2rem}.post-hero>:not(.post-cover){width:calc(100% - 24px);margin-left:auto;margin-right:auto}.post-cover{border-radius:0}.post-content .r2-image,.post-content .youtube-facade,.markdown-image{border-radius:0;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}.post-content .r2-image,.markdown-image .r2-image,.youtube-facade{border-radius:0}.section-heading{flex-direction:column;align-items:start}.lightbox{grid-template-columns:48px 1fr 48px}}@media (width<=520px){.brand-name{max-width:44vw}.nav-links a{padding:0 .55rem}.home-intro h1,.page-copy h1,.post-hero h1{font-size:clamp(2.2rem,14vw,4rem)}.lightbox{grid-template-columns:1fr}.lightbox__prev,.lightbox__next{position:fixed;top:50%;transform:translateY(-50%)}.lightbox__prev{left:8px}.lightbox__next{right:8px}}
