:root{--mint:#10b981;--mint-strong:#059669;--mint-deep:#065f46;--brand-grad:linear-gradient(135deg,#10b981,#047857);--ink:#0d1a15;--sub:#64756f;--bg:#fcfdfd;--card:#ffffff;--line:#e6edea;--frame:#101d18;--shadow:0 1px 2px rgba(13,26,21,0.05),0 10px 28px rgba(13,26,21,0.07);--shadow-lift:0 4px 10px rgba(13,26,21,0.06),0 18px 44px rgba(5,150,105,0.15)}@media (prefers-color-scheme:dark){:root{--mint-deep:#34d399;--ink:#eef4f1;--sub:#9aa8a2;--bg:#0c1210;--card:#131a17;--line:#222c28;--frame:#1b2622;--shadow:0 1px 2px rgba(0,0,0,0.35),0 10px 28px rgba(0,0,0,0.4);--shadow-lift:0 4px 10px rgba(0,0,0,0.4),0 18px 44px rgba(16,185,129,0.13)}.chip,.lang-menu ul,.lang-menu>summary{border-color:color-mix(in srgb,var(--line) 60%,#ffffff 14%)}}:where(html[lang=ar],html[lang=hi],html[lang=th],html[lang=ja],html[lang=zh],html[lang=zh-TW]) :is(.intro-title,.article h1,.prose h2,.brand-name,.entry-body h2){letter-spacing:normal}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth}body{background:radial-gradient(900px 380px at 50% -180px,color-mix(in srgb,var(--mint) 8%,transparent),transparent 70%),var(--bg);color:var(--ink);font-family:Pretendard Variable,Pretendard,Noto Sans KR,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}::selection{background:color-mix(in srgb,var(--mint) 30%,transparent)}.article h1,.entry-body h2,.intro-title{text-wrap:balance}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{max-width:760px;margin:0 auto;padding:0 20px 72px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-in{max-width:760px;margin:0 auto;padding:11px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-row{display:inline-flex;align-items:center;gap:9px}.brand-mark{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:var(--brand-grad);color:#fff;font-size:15px;font-weight:800}.brand-name{font-size:15.5px;font-weight:800;letter-spacing:-.01em}a.brand-row:hover .brand-name{color:var(--mint-strong)}.lang-menu{position:relative}.lang-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 14px;background:var(--card);font-size:13.5px;font-weight:600;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.lang-menu>summary::-webkit-details-marker{display:none}.lang-menu>summary:hover,.lang-menu[open]>summary{border-color:var(--mint);color:var(--mint-strong)}.lang-caret{font-size:11px;opacity:.7}.lang-menu ul{position:absolute;z-index:40;top:calc(100% + 8px);inset-inline-end:0;margin:0;padding:8px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lift);max-height:340px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;grid-gap:2px;gap:2px;min-width:320px;color:var(--ink)}.lang-menu li a{display:block;padding:7px 12px;border-radius:9px;font-size:14px;white-space:nowrap}.lang-menu li a:hover{background:color-mix(in srgb,var(--mint) 14%,transparent)}.lang-menu li a.on{color:var(--mint-deep);font-weight:700}.intro{padding:72px 0 26px}.intro-title{margin:0 0 12px;width:-moz-fit-content;width:fit-content;font-size:clamp(38px,7vw,58px);font-weight:800;letter-spacing:-.045em;line-height:1.08;background:linear-gradient(100deg,var(--ink) 35%,var(--mint-strong));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}.intro-sub{margin:0;color:var(--sub);font-size:17px}.feed{list-style:none;margin:30px 0 0;padding:0}.entry{border-top:1px solid var(--line)}.entry:last-child{border-bottom:1px solid var(--line)}.entry>a{position:relative;display:flex;align-items:center;gap:24px;padding:26px 44px 26px 6px;transition:background .15s ease;border-radius:4px}[dir=rtl] .entry>a{padding:26px 6px 26px 44px}.entry>a:hover{background:color-mix(in srgb,var(--mint) 5%,transparent)}.entry>a:active{transform:scale(.99)}.entry>a:focus-visible{outline:2px solid var(--mint-strong);outline-offset:2px;border-radius:10px}.entry>a:after{content:"›";position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-52%);font-size:26px;color:var(--sub);opacity:.4;transition:opacity .15s ease,color .15s ease}[dir=rtl] .entry>a:after{content:"‹"}.entry:hover>a:after{opacity:1;color:var(--mint-strong)}.entry-shot{flex:0 0 auto;width:74px;padding:4px;border-radius:15px;background:var(--frame);box-shadow:0 8px 20px rgba(13,26,21,.18)}.entry-shot img{width:100%;aspect-ratio:9/19;object-fit:cover;object-position:top;border-radius:11px;display:block}.entry-mark{flex:0 0 auto;width:64px;height:64px;display:grid;place-items:center;border-radius:17px;background:var(--brand-grad);color:rgba(255,255,255,.9);font-size:27px;font-weight:800}.entry-body{min-width:0}.entry-meta{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--sub);font-size:13px}.entry-meta .dot{opacity:.45}.entry-app{color:var(--mint-strong);font-weight:700}.entry-body h2{margin:7px 0 6px;font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.35;transition:color .15s ease}.entry:hover .entry-body h2{color:var(--mint-strong)}.summary{color:var(--sub);font-size:15px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:560px){.intro{padding:48px 0 18px}.entry>a{gap:16px;padding:20px 34px 20px 4px}[dir=rtl] .entry>a{padding:20px 4px 20px 34px}.entry-shot{width:58px}.entry-mark{width:52px;height:52px;font-size:22px;border-radius:14px}.entry-body h2{font-size:17.5px}}.chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);color:var(--sub);font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}.chip-app{border-color:transparent;background:var(--brand-grad);color:#fff;font-weight:700}a.chip-app:hover{filter:brightness(1.12)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tag{font-size:12.5px;color:var(--sub)}.tag:before{content:"#";color:var(--mint);-webkit-margin-end:1px;margin-inline-end:1px}.empty-box{border:1.5px dashed color-mix(in srgb,var(--mint) 45%,var(--line));border-radius:20px;padding:64px 24px;margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--sub);text-align:center}.empty-box p{margin:0}.empty-dot{width:14px;height:14px;border-radius:50%;background:var(--mint);animation:emptyPulse 1.6s ease-in-out infinite}@keyframes emptyPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.45}}.foot{margin-top:72px;padding-top:22px;border-top:1px solid var(--line);color:var(--sub);font-size:13px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}.foot-mark{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;font-size:12px;font-weight:800;color:#fff;background:var(--brand-grad)}.article{padding-top:44px}.post-head{margin-bottom:12px}.post-meta{margin:0 0 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--sub);font-size:13.5px}.post-meta .dot{opacity:.45}.post-app{color:var(--mint-strong);font-weight:800}.post-app:hover{text-decoration:underline;text-underline-offset:3px}.article h1{font-size:clamp(30px,5vw,42px);line-height:1.18;letter-spacing:-.04em;font-weight:800;margin:0 0 12px}.lead{color:var(--sub);font-size:17.5px;margin:0 0 8px}.meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.meta-date{color:var(--sub);font-size:13px}.walk-nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px}.walk-nav a{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--sub);transition:border-color .15s ease,color .15s ease}.walk-nav a:hover{border-color:var(--mint);color:var(--mint-strong)}.walk-nav a b{color:var(--mint-strong);font-weight:800}.walk{margin:46px 0;scroll-margin-top:76px}.walk-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.walk-num{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;font-size:14px;font-weight:800;color:#fff;background:var(--brand-grad);box-shadow:0 4px 12px rgba(16,185,129,.3)}.walk-head h3{margin:0;font-size:21px;font-weight:800;letter-spacing:-.01em}.walk-desc{margin:0 0 20px;-webkit-padding-start:46px;padding-inline-start:46px;color:var(--sub);font-size:15.5px;line-height:1.7}.walk-shot{display:flex;justify-content:center}.walk .shot-frame{width:280px}@media (max-width:620px){.walk{margin:36px 0}.walk-desc{-webkit-padding-start:0;padding-inline-start:0}.walk .shot-frame{width:230px}}.shot-frame{padding:9px;border-radius:30px;background:var(--frame);box-shadow:var(--shadow-lift),inset 0 0 0 1.5px rgba(255,255,255,.09)}.shot-frame img{width:100%;border-radius:22px;display:block;aspect-ratio:9/18.5;object-fit:cover}.shots{display:flex;gap:20px;overflow-x:auto;padding:18px 4px 20px;margin:18px -4px 10px;scroll-snap-type:x proximity;scrollbar-width:thin}.shot{flex:0 0 auto;margin:0;scroll-snap-align:start}.shot .shot-frame{width:220px}.shot figcaption{text-align:center;font-size:13px;color:var(--sub);margin-top:10px}.hero{width:100%;max-width:420px;border-radius:20px;margin:22px auto;display:block;box-shadow:var(--shadow)}.prose{font-size:16.5px}.prose h2{font-size:21px;letter-spacing:-.01em;margin:40px 0 12px;font-weight:800;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-border-start:4px solid var(--mint);border-inline-start:4px solid var(--mint);line-height:1.4}.prose ul{-webkit-padding-start:22px;padding-inline-start:22px}.prose li{margin:8px 0}.prose li::marker{color:var(--mint)}.prose a{color:var(--mint-deep);text-decoration:underline;text-underline-offset:3px}.prose strong{color:color-mix(in srgb,var(--ink) 88%,var(--mint))}.prose img{border-radius:14px}.timeline{list-style:none;margin:34px 0 0;padding:0 0 0 6px;position:relative}.timeline:before{content:"";position:absolute;top:8px;bottom:8px;inset-inline-start:12px;width:2px;background:color-mix(in srgb,var(--mint) 35%,var(--line))}.tl-item{position:relative;padding:0 0 30px 40px}[dir=rtl] .tl-item{padding:0 40px 30px 0}.tl-item:last-child{padding-bottom:8px}.tl-dot{position:absolute;inset-inline-start:6px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--card);border:3px solid var(--mint)}.tl-dot-latest{background:var(--mint);box-shadow:0 0 0 5px color-mix(in srgb,var(--mint) 18%,transparent)}.tl-meta{display:flex;align-items:center;gap:10px;margin-bottom:5px}.tl-title{display:inline-block;font-size:17.5px;font-weight:700;letter-spacing:-.01em;line-height:1.4}.tl-title:hover{color:var(--mint-strong);text-decoration:underline;text-underline-offset:3px}.tl-summary{margin:4px 0 0;color:var(--sub);font-size:14px}.tl-notes{margin:10px 0 0;padding:10px 14px;background:color-mix(in srgb,var(--mint) 5%,transparent);border:1px solid var(--line);border-radius:10px;color:var(--sub);font-size:13.5px;line-height:1.65;white-space:pre-line}.store-row{margin:30px 0 6px;display:flex;gap:12px;flex-wrap:wrap}.store-row-top{margin:18px 0 8px}.store-row-top .store-btn{padding:9px 18px;font-size:13.5px;border-radius:11px}.store-row-top .store-btn svg{width:16px;height:16px}.store-btn{display:inline-flex;align-items:center;gap:10px;background:var(--brand-grad);color:#fff;border-radius:14px;padding:13px 24px;font-size:15px;font-weight:700;box-shadow:0 6px 18px rgba(16,185,129,.32);transition:transform .15s ease,box-shadow .15s ease}.store-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,185,129,.42)}.store-btn:active{transform:translateY(0) scale(.97)}.store-btn:focus-visible{outline:2px solid var(--mint-strong);outline-offset:3px}.store-btn svg{width:20px;height:20px;flex:0 0 auto}.store-btn-ios{background:var(--ink);color:var(--bg);box-shadow:0 6px 18px rgba(13,26,21,.28)}@media (prefers-color-scheme:dark){.store-btn-ios{background:#eef4f1;color:#0c1210}}.store-btn-ios:hover{box-shadow:0 10px 26px rgba(13,26,21,.35)}