:root{--bg: #ffffff;--fg: #1a1a1f;--muted: #5c5c66;--accent: #f5b301;--border: #e6e6ea;--card: #fafafb;--max: 760px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0b0b0f;--fg: #e8e8ee;--muted: #9a9aa5;--border: #26262e;--card: #14141a}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font-family:var(--font);line-height:1.7;-webkit-font-smoothing:antialiased}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:20px}.main{padding-block:40px 64px;flex:1 0 auto}a{color:inherit}.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(180%) blur(8px);z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:60px}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;text-decoration:none;font-size:1.15rem}.brand-mark{font-size:1.3rem}.nav{display:flex;gap:18px;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--muted);font-size:.95rem}.nav a:hover{color:var(--fg)}.hero{padding-block:8px 24px}.hero h1{font-size:2rem;margin:0 0 8px;word-break:keep-all;text-wrap:balance}.hero p{color:var(--muted);margin:0;max-width:60ch;word-break:keep-all;text-wrap:pretty}.categories{display:flex;gap:10px;flex-wrap:wrap;margin-block:20px 8px}.chip{border:1px solid var(--border);border-radius:999px;padding:6px 14px;text-decoration:none;font-size:.9rem;color:var(--muted)}.chip:hover{border-color:var(--accent);color:var(--fg)}.post-list h2{font-size:1.1rem;margin-block:32px 12px;color:var(--muted)}.card{border:1px solid var(--border);border-radius:16px;margin-block:14px;background:var(--card);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 12px 30px -14px #0000004d}.card a{display:block;padding:22px 24px;text-decoration:none}.card-cat{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;color:var(--accent);font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px}.card-cat:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.card h3{margin:0 0 8px;font-size:1.3rem;line-height:1.35;letter-spacing:-.01em;word-break:keep-all;text-wrap:balance}.card p{margin:0 0 16px;color:var(--muted);font-size:.95rem;word-break:keep-all;text-wrap:pretty}.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:13px}.card time{font-size:.8rem;color:var(--muted)}.card-more{font-size:.82rem;font-weight:600;color:var(--accent);transition:transform .18s ease}.card:hover .card-more{transform:translate(4px)}.toc{display:none}@media(min-width:1280px){.toc{display:block;position:fixed;top:120px;left:max(20px,calc(50% - 604px));width:200px;max-height:calc(100vh - 160px);overflow-y:auto;font-size:.85rem;line-height:1.45}.toc-title{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.toc ol{list-style:none;margin:0;padding:0}.toc li{margin:0}.toc a{display:block;padding:5px 0 5px 12px;color:var(--muted);text-decoration:none;border-left:2px solid var(--border);transition:color .15s ease,border-color .15s ease;word-break:keep-all}.toc a:hover{color:var(--fg)}.toc a.active{color:var(--fg);font-weight:600;border-left-color:var(--accent)}}.post h1{font-size:2rem;line-height:1.25;margin:8px 0;word-break:keep-all;text-wrap:balance}.breadcrumb{font-size:.85rem;color:var(--muted)}.breadcrumb a{text-decoration:none;color:var(--muted)}.meta{color:var(--muted);font-size:.85rem;margin-block:0 24px}.prose{font-size:1.05rem;word-break:keep-all}.prose h2,.prose h3{text-wrap:balance}.prose h2{margin-block:40px 14px;font-size:1.5rem;font-weight:700;padding:2px 0 10px 14px;border-left:4px solid var(--accent);border-bottom:1px solid var(--border)}.prose h3{margin-block:28px 8px;font-size:1.2rem;font-weight:700}.prose p{margin-block:14px}.prose a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;transition:background .15s ease}.prose a:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.prose a.buy-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:9px 18px;background:var(--accent);color:#1a1a1f;font-weight:700;font-size:.92rem;border-radius:8px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.prose a.buy-btn:after{content:"→";font-weight:700}.prose a.buy-btn:hover{background:var(--accent);filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 18px -10px var(--accent)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-block:20px 28px}.product-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--card);display:flex;flex-direction:column;gap:6px}.product-card .product-thumb{background:#fff;border-radius:10px;padding:10px;margin-bottom:4px}.product-card .product-thumb img{display:block;width:100%;height:140px;object-fit:contain;border-radius:0;margin:0}.product-card .product-label{font-size:.78rem;color:var(--muted);margin:0}.product-card .product-title{font-size:.85rem;font-weight:700;color:var(--accent);margin:0}.product-card .product-name{font-size:.9rem;font-weight:500;color:var(--muted);margin:0 0 8px;line-height:1.4}.product-card a.buy-btn{margin-top:auto;justify-content:center;text-align:center}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-block:6px}.prose img{max-width:100%;height:auto;border-radius:10px}.prose pre{background:#0d1117!important;border:1px solid #30363d;border-radius:10px;padding:36px 16px 16px;overflow-x:auto;position:relative}.prose pre:before{content:"";position:absolute;top:14px;left:16px;width:10px;height:10px;border-radius:50%;background:#ff5f56;box-shadow:18px 0 #ffbd2e,36px 0 #27c93f}.prose pre code span[style*="6A737D" i]{color:#7ee787!important}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.prose :not(pre)>code{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:2px 6px}.prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:8px 12px;text-align:left}.prose blockquote{border-left:3px solid var(--accent);margin:16px 0;padding:4px 16px;color:var(--muted)}.affiliate-notice{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--card);border-radius:8px;padding:12px 16px;font-size:.85rem;color:var(--muted);margin-block:16px 24px}.summary-card{margin:28px 0 36px;padding:18px 20px 18px 22px;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px}.summary-card-title{margin:0 0 10px;font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.summary-card ul{margin:0;padding-left:1.1em}.summary-card li{margin-block:7px;line-height:1.65}.summary-card li::marker{color:var(--accent)}.summary-card code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-size:.88em}.faq{margin-top:40px;border-top:1px solid var(--border);padding-top:24px}.faq h2{font-size:1.3rem}.faq details{border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-block:10px}.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:10px 0 0;color:var(--muted)}.tags{margin-top:28px;display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:.8rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 10px}.site-footer{border-top:1px solid var(--border);padding-block:28px;color:var(--muted);font-size:.85rem}.site-footer .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.footer-nav{display:flex;gap:16px}.footer-nav a{text-decoration:none;color:var(--muted)}.footer-nav a:hover{color:var(--fg)}
