.bh{z-index:var(--z-sticky);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px)saturate(140%);border-bottom:1px solid var(--color-border);position:sticky;top:0}.bh-row{max-width:var(--container-max);align-items:center;gap:var(--space-6);margin-inline:auto;padding:14px 28px;display:flex}.bh-brand{align-items:baseline;gap:var(--space-2);font-family:var(--font-mono);letter-spacing:-.3px;color:var(--color-text);font-size:16px;font-weight:800;display:flex}.bh-brand .colon{color:var(--brand-amber)}.bh-brand .bh-logo{align-items:baseline;gap:var(--space-2);display:flex}.bh-brand .tag{line-height:1;font:700 10px/1 var(--font-mono);letter-spacing:2px;color:var(--color-accent);border:1px solid var(--color-accent-border);border-radius:var(--radius-xs);align-self:center;margin-left:2px;padding:3px 6px}.bh-nav{scrollbar-width:none;flex:1;gap:2px;min-width:0;margin-left:12px;display:flex;overflow-x:auto}.bh-nav::-webkit-scrollbar{display:none}.bh-nav a{white-space:nowrap;border-radius:var(--radius-md);letter-spacing:-.2px;color:var(--color-text-secondary);transition:background var(--dur-fast), color var(--dur-fast);flex-shrink:0;align-items:baseline;gap:5px;padding:8px 10px;font-size:13px;font-weight:600;display:inline-flex}.bh-nav a:hover,.bh-nav a.active{background:var(--color-divider);color:var(--color-text)}.bh-nav a .n{font:700 10px/1 var(--font-mono);letter-spacing:0;color:var(--color-text-muted)}.bh-nav a.active .n{color:var(--color-accent)}@media (width<=1080px){.bh-nav a .n{display:none}.bh-nav a{padding-left:8px;padding-right:8px}}.bh-right{align-items:center;gap:var(--space-2);display:flex}.bh-search{border-radius:var(--radius-md);background:var(--color-divider);min-width:200px;color:var(--color-text-muted);cursor:pointer;transition:background var(--dur-fast);align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:flex}.bh-search:hover{background:var(--color-surface-sunken)}.bh-search .kbd{font:600 10px/1 var(--font-mono);border-radius:var(--radius-xs);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);margin-left:auto;padding:3px 5px}.bh-app-link{border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-on);letter-spacing:-.2px;transition:filter var(--dur-fast);align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;font-weight:700;display:flex}.bh-app-link:hover{filter:brightness(1.06)}@media (width<=640px){.bh-row{gap:12px;padding:12px 16px}.bh-search{min-width:0;padding:7px 9px}.bh-search span{display:none}}.page{max-width:var(--container-max);margin-inline:auto;padding:40px 28px 120px}.crumb{align-items:center;gap:var(--space-2);margin-bottom:var(--space-7);color:var(--color-text-muted);font-size:12px;font-weight:500;display:flex}.crumb a:hover{color:var(--color-text-secondary)}.crumb .sep{opacity:.5}.crumb .now{color:var(--color-text-secondary)}.hero{max-width:760px;margin:0 auto 56px}.hero-cat{border-radius:var(--radius-sm);font:700 11px/1 var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--color-accent);background:var(--color-accent-soft);align-items:center;gap:6px;margin-bottom:22px;padding:5px 10px;display:inline-flex}.hero-cat .dot{background:var(--color-accent);border-radius:50%;width:5px;height:5px}.hero h1{font:800 44px/1.25 var(--font-body);letter-spacing:-1.2px;color:var(--color-text);text-wrap:pretty;margin-bottom:18px}.hero .sub{font:400 18px/1.6 var(--font-body);letter-spacing:-.3px;color:var(--color-text-secondary);text-wrap:pretty;margin-bottom:32px}.hero-meta{align-items:center;gap:var(--space-4);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);padding:16px 0;display:flex}.hero-meta .who{color:var(--color-text);font-size:13px;font-weight:600}.hero-meta .when{font-family:var(--font-mono);color:var(--color-text-muted);margin-top:2px;font-size:11.5px}.hero-meta .stats{color:var(--color-text-muted);align-items:center;gap:18px;margin-left:auto;font-size:12px;display:flex}.hero-meta .stats .num{font-family:var(--font-mono);color:var(--color-text-secondary);font-weight:700}.av{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong));color:#fff;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:grid}.av.lg{width:40px;height:40px;font-size:14px}.av.md{width:28px;height:28px;font-size:10px}.av.sm{width:20px;height:20px;font-size:9px}.cover{aspect-ratio:21/10;border:1px solid var(--color-border);background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-ink-2) 100%);border-radius:18px;max-width:980px;margin:0 auto 64px;position:relative;overflow:hidden}.cover-grid{background-image:linear-gradient(var(--color-on-ink-line) 1px, transparent 1px), linear-gradient(90deg, var(--color-on-ink-line) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0}.cover-balls{grid-auto-flow:column;place-items:center;gap:14px;display:grid;position:absolute;inset:0}.cover-caption{font:500 11px/1 var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--color-on-ink-muted);position:absolute;top:24px;left:24px}.cover-caption .num{color:var(--color-accent);font-weight:700}.cover-fig{text-align:right;font:800 12px/1.4 var(--font-mono);color:var(--color-on-ink-faint);position:absolute;bottom:22px;right:24px}.article-grid{grid-template-columns:1fr minmax(0,720px) 1fr;align-items:start;gap:40px;display:grid}.article{grid-column:2;min-width:0;max-width:720px}.toc-col{grid-column:3;position:sticky;top:90px}.toc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);max-width:240px;padding:18px}.toc-title{font:800 10px/1 var(--font-body);letter-spacing:1.2px;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:6px;margin-bottom:12px;display:flex}.toc ol{counter-reset:tocnum;flex-direction:column;gap:2px;display:flex}.toc li{counter-increment:tocnum;cursor:pointer;border-radius:var(--radius-sm);letter-spacing:-.2px;color:var(--color-text-secondary);padding:6px 8px 6px 24px;font-size:12.5px;line-height:1.45;position:relative}.toc li:before{content:counter(tocnum, decimal-leading-zero);font:700 10px/1.45 var(--font-mono);color:var(--color-text-muted);position:absolute;top:6px;left:8px}.toc li:hover{background:var(--color-divider);color:var(--color-text)}.toc li.active{background:var(--color-accent-soft);color:var(--color-accent-soft-fg);font-weight:600}.toc li.active:before{color:var(--color-accent)}.idx-hero{grid-template-columns:1.4fr 1fr;gap:22px;margin:20px 0 24px;display:grid}.feat{isolation:isolate;cursor:pointer;background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-ink-2) 70%, var(--color-ink) 100%);min-height:380px;color:var(--color-on-ink);transition:transform var(--dur-base) var(--ease-out);border-radius:18px;flex-direction:column;padding:36px 38px 32px;display:flex;position:relative;overflow:hidden}.feat:hover{transform:translateY(-2px)}.feat .feat-cat{font:700 10px/1 var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--color-accent);margin-bottom:14px}.feat h2{max-width:520px;font:800 32px/1.3 var(--font-body);letter-spacing:-.8px;color:var(--color-on-ink);text-wrap:pretty;margin-bottom:14px}.feat .feat-sub{max-width:480px;font:400 14.5px/1.6 var(--font-body);letter-spacing:-.2px;color:var(--color-on-ink-muted);margin-bottom:24px}.feat .feat-meta{align-items:center;gap:var(--space-4);font:500 11.5px/1 var(--font-mono);color:var(--color-on-ink-muted);margin-top:auto;display:flex}.feat .feat-meta .read{color:var(--color-accent);align-items:center;gap:4px;margin-left:auto;font-weight:700;display:inline-flex}.feat .feat-meta .feat-stats{align-items:center;gap:12px;display:inline-flex}.feat .feat-meta .feat-stats .stat{align-items:center;gap:4px;display:inline-flex}.feat .feat-meta .feat-stats .stat .ti{font-size:13px}.feat-side{gap:var(--space-4);flex-direction:column;display:flex}.side-label{font:800 10px/1 var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--color-text-secondary);align-items:center;gap:6px;padding:0 2px 2px;display:flex}.side-label .ti{color:var(--blog-slate);font-size:13px}.feat-mini{cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);border-radius:16px;flex-direction:column;flex:1;padding:22px 24px;display:flex;position:relative;overflow:hidden}.feat-mini:hover{border-color:var(--color-accent-border);transform:translateY(-2px)}.feat-mini .mini-bg{z-index:0;pointer-events:none;background-image:linear-gradient(var(--blog-mini-grid) 1px, transparent 1px), linear-gradient(90deg, var(--blog-mini-grid) 1px, transparent 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 90% at 88% 8%,#000 0%,#0000 65%);mask-image:radial-gradient(70% 90% at 88% 8%,#000 0%,#0000 65%)}.feat-mini .mini-glow{z-index:0;pointer-events:none;filter:blur(4px);border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-50px}.feat-mini .pinmark{z-index:1;background:var(--color-divider);width:28px;height:28px;color:var(--color-text-secondary);border-radius:8px;place-items:center;display:grid;position:absolute;top:14px;right:16px}.feat-mini .pinmark .ti{font-size:15px}.feat-mini .cat{z-index:1;font:700 10px/1 var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--color-accent);margin-bottom:10px;padding-right:52px;position:relative}.feat-mini .ttl{z-index:1;font:700 15.5px/1.45 var(--font-body);letter-spacing:-.3px;color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:22px;margin-bottom:12px;display:-webkit-box;position:relative;overflow:hidden}.feat-mini .meta{z-index:1;font:500 11px/1 var(--font-mono);color:var(--color-text-muted);align-items:center;gap:10px;margin-top:auto;display:flex;position:relative}.feat-mini .meta .dot{background:var(--color-text-muted);border-radius:50%;width:3px;height:3px}.feat-mini.mint{background:var(--blog-mini-mint-bg);border-color:color-mix(in srgb, var(--blog-mini-mint-ink) 28%, transparent)}.feat-mini.mint:hover{border-color:color-mix(in srgb, var(--blog-mini-mint-ink) 55%, transparent)}.feat-mini.mint .mini-glow{background:radial-gradient(circle, color-mix(in srgb, var(--blog-mini-mint-ink) 28%, transparent) 0%, transparent 70%)}.feat-mini.mint .cat{color:var(--blog-mini-mint-ink)}.feat-mini.mint .pinmark{background:color-mix(in srgb, var(--blog-mini-mint-ink) 14%, transparent);color:var(--blog-mini-mint-ink)}.feat-mini.gold{background:var(--blog-mini-gold-bg);border-color:color-mix(in srgb, var(--blog-mini-gold-ink) 30%, transparent)}.feat-mini.gold:hover{border-color:color-mix(in srgb, var(--blog-mini-gold-ink) 55%, transparent)}.feat-mini.gold .mini-glow{background:radial-gradient(circle, color-mix(in srgb, var(--blog-mini-gold-ink) 26%, transparent) 0%, transparent 70%)}.feat-mini.gold .cat{color:var(--blog-mini-gold-ink)}.feat-mini.gold .pinmark{background:color-mix(in srgb, var(--blog-mini-gold-ink) 16%, transparent);color:var(--blog-mini-gold-ink)}.hot-strip{margin:0 0 44px}.strip-head{font:800 10px/1 var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--color-text-secondary);align-items:center;gap:6px;margin-bottom:12px;display:flex}.strip-head .ti{color:var(--brand-amber);font-size:14px}.strip-head .strip-note{text-transform:none;letter-spacing:.4px;font:500 10px/1 var(--font-mono);color:var(--color-text-muted);margin-left:auto}.hot-list{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.hot{align-items:flex-start;gap:var(--space-4);cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);border-radius:14px;padding:16px 18px;display:flex}.hot:hover{border-color:var(--color-accent-border);transform:translateY(-2px)}.hot .hrank{font:800 22px/1 var(--font-mono);letter-spacing:-1px;color:var(--color-text);opacity:.25;padding-top:2px}.hot .hbody{min-width:0}.hot .hcat{margin-bottom:var(--space-2);font:700 10px/1 var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--color-accent)}.hot .httl{font:700 14.5px/1.45 var(--font-body);letter-spacing:-.3px;color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;display:-webkit-box;overflow:hidden}.hot:hover .httl{color:var(--color-accent-soft-fg)}.hot .hstat{font:500 11px/1 var(--font-mono);color:var(--color-text-muted);align-items:center;gap:12px;display:flex}.hot .hstat span{align-items:center;gap:4px;display:inline-flex}.hot .hstat .ti{font-size:13px}.hot .hstat .hdate{opacity:.8;margin-left:auto}.cat-row{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-divider);flex-wrap:wrap;margin-bottom:28px;padding-bottom:22px;display:flex}.cat-row .chip{cursor:pointer;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font:600 13px/1 var(--font-body);letter-spacing:-.2px;color:var(--color-text-secondary);transition:border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast);align-items:center;gap:6px;padding:9px 16px;display:inline-flex}.cat-row .chip:hover{border-color:var(--color-accent);color:var(--color-accent-soft-fg)}.cat-row .chip.active{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}.cat-row .chip .ct{font:700 10px/1 var(--font-mono);color:var(--color-text-muted)}.cat-row .sort{color:var(--color-text-secondary);align-items:center;gap:6px;margin-left:auto;display:inline-flex}.cat-row .sort-select{background-position:right 12px center,right 7px center;height:34px;padding:0 28px 0 12px;font-size:12.5px}.idx-main{grid-template-columns:1fr 300px;align-items:start;gap:40px;display:grid}.idx-main.no-side{grid-template-columns:1fr}.posts{grid-template-columns:1fr 1fr;gap:22px;display:grid}.post{cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.post:hover{border-color:var(--color-accent-border);transform:translateY(-2px)}.post .thumb{place-items:center;height:160px;display:grid;position:relative;overflow:hidden}.post .thumb.ink{background:linear-gradient(135deg, var(--color-ink), var(--color-ink-2))}.post .thumb.mint{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong))}.post .thumb.purple{background:linear-gradient(135deg, var(--brand-purple), color-mix(in srgb, var(--brand-purple) 70%, #000))}.post .thumb.gold{background:linear-gradient(135deg, var(--brand-amber), color-mix(in srgb, var(--brand-amber) 72%, #000))}.post .thumb.coral{background:linear-gradient(135deg, var(--brand-coral), color-mix(in srgb, var(--brand-coral) 72%, #000))}.post .thumb .glyph{z-index:1;font:800 52px/1 var(--font-mono);letter-spacing:-2px;color:#ffffffeb}.post.is-new{border-color:color-mix(in srgb, var(--blog-slate) 50%, transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--blog-slate) 40%, transparent)}.post.is-new .meta .date{color:var(--blog-slate);font-weight:700}.post .thumb .badge-new{z-index:2;border-radius:var(--radius-sm);font:800 9px/1 var(--font-mono);letter-spacing:1px;background:var(--blog-slate);color:var(--blog-slate-on);box-shadow:0 0 0 1px var(--blog-slate-ring);align-items:center;gap:5px;padding:5px 8px;display:inline-flex;position:absolute;top:12px;left:12px}.post .thumb .badge-new .nd{background:var(--blog-new-dot);width:5px;height:5px;animation:newPulse 2s var(--ease-out) infinite;border-radius:50%}@keyframes newPulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.post .thumb .badge-new .nd{animation:none}}.post .body{flex-direction:column;flex:1;padding:18px 20px 20px;display:flex}.post .cat{font:700 10px/1 var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--color-accent);margin-bottom:10px}.post .ttl{font:700 16px/1.4 var(--font-body);letter-spacing:-.3px;color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;display:-webkit-box;overflow:hidden}.post .ex{font:500 12.5px/1.6 var(--font-body);color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:14px;display:-webkit-box;overflow:hidden}.post .meta{align-items:center;gap:var(--space-2);font:500 11px/1 var(--font-mono);color:var(--color-text-muted);margin-top:auto;display:flex}.idx-side{gap:var(--space-4);flex-direction:column;display:flex;position:sticky;top:90px}.side-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:20px 20px 18px}.side-head{font:700 11px/1 var(--font-body);letter-spacing:1px;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:6px;margin-bottom:14px;display:flex}.side-head .ti{color:var(--color-accent);font-size:14px}.pop-list{gap:var(--space-4);flex-direction:column;display:flex}.pop-item{align-items:flex-start;gap:var(--space-3);cursor:pointer;display:flex}.pop-item .rank{text-align:center;width:22px;font:800 18px/1 var(--font-mono);letter-spacing:-1px;color:var(--color-text-muted);flex:none}.pop-item:nth-child(-n+3) .rank{color:var(--color-accent)}.pop-item .pcat{font:700 9px/1 var(--font-mono);letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px}.pop-item .pttl{font:600 13px/1.45 var(--font-body);letter-spacing:-.2px;color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pop-item:hover .pttl{color:var(--color-accent-soft-fg)}.pop-item .pmeta{font:500 10px/1 var(--font-mono);color:var(--color-text-muted);margin-top:6px}.tag-cloud{flex-wrap:wrap;gap:6px;display:flex}.tag-cloud .t{border-radius:var(--radius-pill);border:1px solid var(--color-border);font:600 11.5px/1 var(--font-body);color:var(--color-text-secondary);cursor:pointer;padding:6px 10px}.tag-cloud .t:hover{border-color:var(--color-accent);color:var(--color-accent-soft-fg)}.tag-cloud .t .hash{color:var(--color-text-muted);margin-right:2px}.news{border-radius:var(--radius-2xl);background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-ink-2) 100%);color:var(--color-on-ink);padding:22px 22px 24px;position:relative;overflow:hidden}.news .news-eye{font:800 10px/1 var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-accent);margin-bottom:12px;position:relative}.news h3{font:800 18px/1.35 var(--font-body);letter-spacing:-.4px;color:var(--color-on-ink);margin-bottom:8px;position:relative}.news p{font:500 12px/1.55 var(--font-body);color:var(--color-on-ink-muted);margin-bottom:16px;position:relative}.news .news-input{gap:6px;display:flex;position:relative}.news .news-input input{border-radius:var(--radius-md);border:1px solid var(--color-on-ink-line);min-width:0;color:var(--color-on-ink);font:500 12px/1 var(--font-body);background:#ffffff0f;outline:none;flex:1;padding:10px 12px}.news .news-input input::placeholder{color:var(--color-on-ink-faint)}.news .news-input input:focus{border-color:var(--color-accent)}.news .news-input button{border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-accent-on);place-items:center;padding:0 12px;display:grid}.cmt{color:var(--color-text)}.cmt-head{align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--color-divider);margin-bottom:24px;padding-bottom:18px;display:flex}.cmt-head .h{font:800 22px/1 var(--font-body);letter-spacing:-.5px;color:var(--color-text);align-items:baseline;gap:9px;display:flex}.cmt-head .h .count{font:800 22px/1 var(--font-mono);letter-spacing:-1px;color:var(--color-accent)}.cmt-head .sort{background:var(--color-divider);border-radius:9px;gap:2px;margin-left:auto;padding:3px;display:flex}.cmt-head .sort button{border-radius:var(--radius-sm);font:600 12px/1 var(--font-body);color:var(--color-text-muted);transition:color var(--dur-fast), background var(--dur-fast);padding:7px 12px}.cmt-head .sort button.on{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.cmt-gate{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:linear-gradient(135deg, var(--color-accent-soft), transparent 70%), var(--color-surface);margin-bottom:40px;padding:26px;position:relative;overflow:hidden}.cmt-gate .top{align-items:flex-start;gap:var(--space-4);display:flex;position:relative}.cmt-gate .badge{background:var(--color-accent);width:46px;height:46px;color:var(--color-accent-on);border-radius:13px;flex:none;place-items:center;font-size:22px;display:grid}.cmt-gate .copy .t{font:700 17px/1.4 var(--font-body);letter-spacing:-.4px;color:var(--color-text)}.cmt-gate .copy .s{font:500 13px/1.6 var(--font-body);letter-spacing:-.2px;color:var(--color-text-secondary);margin-top:5px}.cmt-gate .copy .s b{color:var(--color-accent-soft-fg);font-weight:700}.cmt-gate .actions{align-items:center;gap:var(--space-3);margin-top:20px;display:flex;position:relative}.cmt-sns{gap:var(--space-2);display:flex}.cmt-sns button{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;font:800 16px/1 var(--font-mono);cursor:pointer;transition:transform var(--dur-fast);place-items:center;display:grid}.cmt-sns button:hover{transform:translateY(-2px)}.cmt-sns .kakao{background:var(--social-kakao);color:var(--social-kakao-on);border-color:var(--social-kakao)}.cmt-sns .naver{background:var(--social-naver);color:var(--social-naver-on);border-color:var(--social-naver)}.cmt-composer{gap:var(--space-4);margin-bottom:40px;display:flex}.cmt-box{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);transition:border-color var(--dur-fast), box-shadow var(--dur-fast)}.cmt-box.focused{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring)}.cmt-box textarea{resize:none;width:100%;font:500 14.5px/1.65 var(--font-body);letter-spacing:-.2px;color:var(--color-text);background:0 0;border:0;outline:0;min-height:30px;padding:15px 17px 6px;display:block}.cmt-box textarea::placeholder{color:var(--color-text-muted)}.cmt-box .toolbar{align-items:center;gap:var(--space-3);padding:8px 12px 11px 16px;display:flex}.cmt-box .counter{font:600 11px/1 var(--font-mono);color:var(--color-text-muted);margin-left:auto}.cmt-list{flex-direction:column;display:flex}.cmt-item{gap:var(--space-4);border-top:1px solid var(--color-divider);padding:22px 0;display:flex}.cmt-item:first-child{border-top:0;padding-top:4px}.cmt-item .main{flex:1;min-width:0}.cmt-item .row1{align-items:center;gap:var(--space-2);margin-bottom:7px;display:flex}.cmt-item .nm{font:700 13.5px/1 var(--font-body);letter-spacing:-.2px;color:var(--color-text)}.cmt-item .time{font:500 11.5px/1 var(--font-mono);color:var(--color-text-muted)}.cmt-item .body{font:400 14.5px/1.7 var(--font-body);letter-spacing:-.2px;color:var(--color-text-secondary);text-wrap:pretty}.cmt-item .body .men{color:var(--color-accent-soft-fg);font-weight:600}.cmt-item .row3{align-items:center;gap:4px;margin-top:12px;display:flex}.cmt-tag{border-radius:var(--radius-xs);font:700 9px/1 var(--font-mono);letter-spacing:.6px;padding:3px 6px}.cmt-tag.author{color:var(--color-accent-soft-fg);background:var(--color-accent-soft)}.cmt-tag.best{color:var(--color-warning-fg);background:var(--color-warning-soft)}.cmt-tag.mine{color:var(--color-info-fg);background:var(--color-info-soft)}.cmt-act{border-radius:var(--radius-sm);font:600 12px/1 var(--font-body);letter-spacing:-.2px;color:var(--color-text-secondary);transition:background var(--dur-fast), color var(--dur-fast);align-items:center;gap:5px;padding:6px 9px;display:inline-flex}.cmt-act:hover{background:var(--color-divider);color:var(--color-text)}.cmt-act .n{font:700 11.5px var(--font-mono)}.cmt-act.liked{color:var(--color-danger)}.cmt-replies{border-left:2px solid var(--color-divider);flex-direction:column;gap:4px;margin-top:16px;padding-left:18px;display:flex}.idx-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feat .gridbg{z-index:-1;background-image:linear-gradient(var(--color-on-ink-line) 1px, transparent 1px), linear-gradient(90deg, var(--color-on-ink-line) 1px, transparent 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 80% 20%,#0000 30%,#000 80%);mask-image:radial-gradient(80% 60% at 80% 20%,#0000 30%,#000 80%)}.feat .glow{z-index:-1;pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--color-accent) 22%, transparent) 0%, transparent 70%);width:320px;height:320px;position:absolute;top:-80px;right:-60px}.feat .feat-eyebrow{font:800 10px/1 var(--font-mono);letter-spacing:2px;text-transform:uppercase;color:var(--brand-amber);align-items:center;gap:8px;margin-bottom:18px;display:inline-flex}.feat .feat-eyebrow .dot{background:var(--brand-amber);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb, var(--brand-amber) 80%, transparent);border-radius:50%;animation:2.4s ease-in-out infinite blog-pulse}@keyframes blog-pulse{0%,to{opacity:1}50%{opacity:.4}}.feat .feat-meta .sep{opacity:.4}.feat .feat-meta .read .ti{font-size:14px}.post{position:relative}.post .thumb .gridbg{pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.post .thumb.def{background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-ink-2) 72%, var(--color-ink) 100%)}.post .thumb.def .glow{pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--color-accent) 20%, transparent) 0%, transparent 70%);width:200px;height:200px;position:absolute;top:-50px;right:-40px}.thumb.def-a .lockup{z-index:1;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.thumb.def-a .colon{font:800 46px/1 var(--font-mono);letter-spacing:2px;color:var(--color-accent);text-shadow:0 0 24px color-mix(in srgb, var(--color-accent) 50%, transparent)}.thumb.def-a .wm{font:800 11px/1 var(--font-mono);letter-spacing:4px;color:var(--color-on-ink-muted);align-items:center;gap:5px;display:flex}.thumb.def-a .wm .c{color:var(--color-accent)}.post .meta .av-small{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong));color:#fff;width:20px;height:20px;font:800 9px/1 var(--font-mono);border-radius:50%;place-items:center;display:grid}.post .meta .dot{background:var(--color-text-muted);border-radius:50%;width:3px;height:3px}.post .meta .stats{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.post .meta .stat{align-items:center;gap:4px;display:inline-flex}.post .meta .stat .ti{font-size:12px}.post .ttl a:after{content:"";z-index:2;position:absolute;inset:0}.cat-row .chip.active .ct{color:color-mix(in srgb, var(--color-surface) 60%, transparent)}.pagination{justify-content:center;align-items:center;gap:4px;margin:56px 0 0;display:flex}.pagination .p{border-radius:var(--radius-md);min-width:36px;height:36px;font:600 13px/1 var(--font-mono);letter-spacing:-.2px;color:var(--color-text-secondary);cursor:pointer;border:1px solid #0000;place-items:center;padding:0 10px;display:grid}.pagination .p:hover{background:var(--color-divider);color:var(--color-text)}.pagination .p.active{background:var(--color-text);color:var(--color-surface);font-weight:700}.pagination .p.nav{background:var(--color-surface);border-color:var(--color-border)}.pagination .p.nav:hover{border-color:var(--color-accent);color:var(--color-accent-soft-fg)}.pagination .p .ti{font-size:16px}.empty{isolation:isolate;text-align:center;background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-ink-2) 72%, var(--color-ink) 100%);border-radius:18px;flex-direction:column;grid-column:1/-1;align-items:center;padding:72px 32px 76px;display:flex;position:relative;overflow:hidden}.empty .gridbg{z-index:-1;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 80% at 50% 36%,#000 30%,#0000 78%);mask-image:radial-gradient(70% 80% at 50% 36%,#000 30%,#0000 78%)}.empty .glow{z-index:-1;pointer-events:none;background:radial-gradient(ellipse, color-mix(in srgb, var(--color-accent) 18%, transparent) 0%, transparent 68%);width:460px;height:320px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.empty .stage{width:188px;height:96px;margin-bottom:30px;position:relative}.empty .stage .b{width:46px;height:46px;font:800 16px/1 var(--font-mono);border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:inset 0 -4px 8px #0000002e,inset 0 3px 6px #ffffff40}.empty .stage .b.y{color:#5c4400;background:radial-gradient(circle at 30% 30%,#ffd43f,#fbc400);top:34px;left:8px;transform:rotate(-9deg)}.empty .stage .b.bl{color:#07476a;z-index:2;background:radial-gradient(circle at 30% 30%,#8dd9f7,#69c8f2);top:8px;left:56px}.empty .stage .b.r{color:#fff;background:radial-gradient(circle at 30% 30%,#ff9696,#ff7272);top:30px;left:104px}.empty .stage .slot{border:2px dashed #ffffff38;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:absolute;top:4px;right:0}.empty .stage .slot .ti{color:#ffffff4d;font-size:20px}.empty .eye{font:800 11px/1 var(--font-mono);letter-spacing:2.5px;text-transform:uppercase;color:var(--color-accent);align-items:center;gap:7px;margin-bottom:16px;display:inline-flex}.empty .eye .d{background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb, var(--color-accent) 80%, transparent);border-radius:50%}.empty h2{font:800 26px/1.35 var(--font-body);letter-spacing:-.6px;color:var(--color-on-ink);margin:0 0 12px}.empty p{max-width:420px;font:500 14.5px/1.7 var(--font-body);letter-spacing:-.2px;color:var(--color-on-ink-muted);text-wrap:pretty;margin:0 0 30px}.empty .cta{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.empty .btn{border-radius:var(--radius-lg);cursor:pointer;font:700 13.5px/1 var(--font-body);letter-spacing:-.2px;transition:background var(--dur-fast), transform var(--dur-fast);align-items:center;gap:7px;padding:13px 20px;text-decoration:none;display:inline-flex}.empty .btn.primary{background:var(--color-accent);color:var(--color-accent-on);border:1px solid var(--color-accent)}.empty .btn.primary:hover{background:var(--color-accent-strong);transform:translateY(-1px)}.empty .btn .ti{font-size:16px}@media (width<=1100px){.idx-hero,.idx-main{grid-template-columns:1fr}.idx-side{position:static}.article-grid{grid-template-columns:1fr}.article{grid-column:auto}.toc-col{display:none}}@media (width<=760px){.hero h1{font-size:30px}.feat h2{font-size:24px}.posts,.hot-list{grid-template-columns:1fr}.empty{padding:56px 22px 60px}.empty h2{font-size:23px}}.article img{border-radius:var(--radius-md);max-width:100%;height:auto;margin:28px auto;display:block}.article figure:has(>img){margin:28px auto;display:table}.article figure>img{margin:0}.article figure>figcaption{caption-side:bottom;font:400 14px/1.6 var(--font-body);color:var(--color-text-secondary);text-align:center;padding-top:10px;display:table-caption}.article p{font:400 17px/1.85 var(--font-body);color:var(--blog-body-text);letter-spacing:-.2px;text-wrap:pretty;margin:0 0 22px}.article p strong{color:var(--color-text);background:linear-gradient(#0000 60%,#1ab3942e 60%);padding:0 2px;font-weight:700}.article h2{font:800 28px/1.35 var(--font-body);letter-spacing:-.7px;color:var(--color-text);align-items:baseline;gap:12px;margin:56px 0 18px;scroll-margin-top:90px;display:flex}.article h2:before{content:attr(data-num);font:700 12px/1 var(--font-mono);color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-sm);letter-spacing:.5px;flex:none;padding:5px 7px;transform:translateY(-2px)}.article h3{font:700 19px/1.4 var(--font-body);letter-spacing:-.4px;color:var(--color-text);margin:36px 0 12px}.article ul,.article ol{margin:0 0 22px;padding-left:0;list-style:none}.article ul li{font:400 16px/1.75 var(--font-body);color:var(--blog-body-text);letter-spacing:-.2px;padding:4px 0 4px 22px;position:relative}.article ul li:before{content:"";background:var(--color-accent);border-radius:2px;width:6px;height:6px;position:absolute;top:13px;left:6px;transform:rotate(45deg)}.article ul li:has(>input[type=checkbox]):before{content:none}.article ul li>input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);margin:0;position:absolute;top:10px;left:1px}.article ul li:has(>input[type=checkbox])>p{font:inherit;color:inherit;letter-spacing:inherit;margin:0}.article ul li:has(>input:checked){opacity:.55;text-decoration:line-through}.article a{color:var(--color-info-fg);text-underline-offset:2px;text-decoration:underline}.article a:hover{text-decoration-thickness:2px}.article a.inline{border-bottom:1px solid #2563eb59;font-weight:600;text-decoration:none}.article a.inline:hover{border-bottom-color:var(--color-info-fg)}.article code{font:600 14px/1.4 var(--font-mono);background:var(--color-divider);border-radius:var(--radius-xs);color:var(--color-text);letter-spacing:-.2px;padding:2px 6px}.article pre{max-width:100%;overflow-x:auto}.article table{border-collapse:separate;border-spacing:0;width:100%;font:400 15px/1.6 var(--font-body);color:var(--blog-body-text);letter-spacing:-.2px;border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:0 0 28px;overflow:hidden}.article table th{color:var(--color-text);background:var(--color-bg);text-align:left;border-bottom:1px solid var(--color-border);padding:12px 16px;font-weight:700}.article table td{border-bottom:1px solid var(--color-divider);vertical-align:top;padding:11px 16px}.article table tr:last-child td{border-bottom:none}.article table tbody tr:nth-child(2n) td{background:#f5f7fa80}.article .lead{font:500 19px/1.7 var(--font-body);color:var(--color-text);letter-spacing:-.3px;border-bottom:1px dashed var(--color-divider);margin-bottom:36px;padding-bottom:28px}.article blockquote{border-left:3px solid var(--color-accent);margin:28px 0;padding:2px 0 2px 20px}.article blockquote p{font:400 16px/1.8 var(--font-body);color:var(--color-text-secondary);margin:0 0 10px}.article blockquote p:last-child{margin-bottom:0}.pullquote{border-left:3px solid var(--color-accent);background:linear-gradient(90deg, var(--color-accent-soft), transparent 80%);border-radius:0 10px 10px 0;margin:40px -20px;padding:28px 32px}.pullquote q{font:600 21px/1.55 var(--font-body);letter-spacing:-.4px;color:var(--color-text);quotes:none}.pullquote q:before,.pullquote q:after{content:""}.pullquote .by{font:600 12px/1 var(--font-mono);letter-spacing:.4px;color:var(--color-accent-strong);text-transform:uppercase;margin-top:14px;display:block}.article .stats-row{grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0 36px;display:grid}.article .stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:18px 16px}.article .stat .label{font:500 11px/1 var(--font-body);letter-spacing:.3px;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:10px}.article .stat .num{font:800 28px/1 var(--font-mono);letter-spacing:-1px;color:var(--color-text)}.article .stat .num small{font:700 13px/1 var(--font-mono);color:var(--color-text-muted);letter-spacing:0;margin-left:4px}.article .stat .delta{font:700 11px/1 var(--font-mono);color:var(--color-accent);align-items:center;gap:3px;margin-top:8px;display:inline-flex}.article .stat .delta.down{color:var(--color-danger)}.article .stat .delta .ti{font-size:12px}.freq-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);margin:32px 0 40px;padding:22px 22px 18px}.freq-card .head{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.freq-card .title{font:700 14px/1 var(--font-body);letter-spacing:-.3px}.freq-card .meta{font:500 11px/1 var(--font-mono);color:var(--color-text-muted);letter-spacing:.2px}.freq-card .meta b{color:var(--color-accent-strong);font-weight:700}.freq-rows{flex-direction:column;gap:10px;display:flex}.freq-row{grid-template-columns:36px 1fr 56px;align-items:center;gap:14px;display:grid}.freq-row .ball-sm{width:28px;height:28px;font:800 12px/1 var(--font-mono);color:#5c4400;border-radius:50%;place-items:center;margin:0 auto;display:grid}.freq-row .ball-sm.y{color:#5c4400;background:radial-gradient(circle at 30% 30%,#ffd43f,#fbc400)}.freq-row .ball-sm.b{color:#07476a;background:radial-gradient(circle at 30% 30%,#8dd9f7,#69c8f2)}.freq-row .ball-sm.r{color:#fff;background:radial-gradient(circle at 30% 30%,#ff9696,#ff7272)}.freq-row .ball-sm.g{color:#fff;background:radial-gradient(circle at 30% 30%,#b2b2b2,#999)}.freq-row .ball-sm.gr{color:#1f4519;background:radial-gradient(circle at 30% 30%,#9fd698,#7bc672)}.freq-row .track{background:var(--color-divider);border-radius:var(--radius-xs);height:8px;position:relative;overflow:hidden}.freq-row .track i{background:var(--color-accent);border-radius:var(--radius-xs);height:100%;transition:width .6s var(--ease-out);display:block}.freq-row .track.hot i{background:var(--brand-amber)}.freq-row .track.cold i{background:var(--color-text-muted)}.freq-row .val{font:700 13px/1 var(--font-mono);text-align:right;color:var(--color-text);letter-spacing:-.2px}.freq-row .val small{font:500 10px/1 var(--font-mono);color:var(--color-text-muted);margin-left:3px}.note{border-radius:var(--radius-xl);background:#fff8ec;border:1px solid #d8930d38;gap:14px;margin:28px 0 32px;padding:16px 18px;display:flex}.note .ic{color:#b57a0a;border-radius:var(--radius-md);background:#d8930d29;flex:none;place-items:center;width:28px;height:28px;font-size:16px;display:grid}.note .body{font:500 14px/1.65 var(--font-body);color:#6e4806;letter-spacing:-.2px}.note .body b{color:#4b3104;font-weight:700}.article>.info{--cl-bg:#eef7fe;--cl-line:#38bdf8;--cl-fg:#0c4a6e;--cl-icon:"ℹ️"}.article>.tip{--cl-bg:#ecfdf5;--cl-line:#34d399;--cl-fg:#065f46;--cl-icon:"💡"}.article>.warn{--cl-bg:#fffbeb;--cl-line:#fbbf24;--cl-fg:#78350f;--cl-icon:"⚠️"}.article>.danger{--cl-bg:#fef2f2;--cl-line:#f87171;--cl-fg:#7f1d1d;--cl-icon:"⛔"}.article>.note:not(:has(>.ic)){--cl-bg:#fff8ec;--cl-line:#d8930d80;--cl-fg:#6e4806;--cl-icon:"📝"}:is(.article>.info,.article>.tip,.article>.warn,.article>.danger,.article>.note:not(:has(>.ic))){border:1px solid var(--cl-line);border-radius:var(--radius-xl);background:var(--cl-bg);color:var(--cl-fg);font:500 14px/1.7 var(--font-body);letter-spacing:-.2px;border-left-width:4px;margin:28px 0 32px;padding:16px 18px;display:block}.article>.info>:first-child:before,.article>.tip>:first-child:before,.article>.warn>:first-child:before,.article>.danger>:first-child:before{content:var(--cl-icon) " "}.article>.note:not(:has(>.ic))>:first-child:before{content:var(--cl-icon) " "}:is(.article>.info>:first-child,.article>.tip>:first-child,.article>.warn>:first-child,.article>.danger>:first-child,.article>.note:not(:has(>.ic))>:first-child){margin-top:0}:is(.article>.info>:last-child,.article>.tip>:last-child,.article>.warn>:last-child,.article>.danger>:last-child,.article>.note:not(:has(>.ic))>:last-child){margin-bottom:0}.article>.info b,.article>.tip b,.article>.warn b,.article>.danger b,.article>.note b{font-weight:700}.figure{margin:36px 0 40px}.figure .chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);height:280px;padding:24px 24px 32px;position:relative;overflow:hidden}.figure .chart .grid{background-image:linear-gradient(#0f19230a 1px,#0000 1px);background-size:100% 25%;position:absolute;inset:50px 24px 32px 36px}.figure .chart .yax{font:500 9px/1 var(--font-mono);color:var(--color-text-muted);letter-spacing:.2px;flex-direction:column;justify-content:space-between;display:flex;position:absolute;top:50px;bottom:32px;left:12px}.figure .chart .xax{font:500 9px/1 var(--font-mono);color:var(--color-text-muted);justify-content:space-between;display:flex;position:absolute;bottom:12px;left:36px;right:24px}.figure .chart .title{font:700 13px/1 var(--font-body);letter-spacing:-.3px;color:var(--color-text)}.figure .chart .sub{font:500 11px/1 var(--font-body);color:var(--color-text-muted);margin-top:5px}.figure .chart svg{width:calc(100% - 60px);height:calc(100% - 82px);position:absolute;inset:50px 24px 32px 36px}.figure .cap{font:500 12px/1.5 var(--font-body);color:var(--color-text-muted);letter-spacing:-.1px;text-align:center;margin-top:12px}.figure .cap b{color:var(--color-text-secondary);font-weight:600}.tags{flex-wrap:wrap;gap:6px;margin:48px 0 24px;display:flex}.tag{color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-pill);letter-spacing:-.1px;cursor:pointer;padding:6px 11px;font-size:12px;font-weight:600}.tag:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.tag .hash{color:var(--color-text-muted);margin-right:2px;font-weight:500}.share-row{border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);align-items:center;gap:12px;margin:28px 0 36px;padding:20px 0;display:flex}.share-row .lbl{font:600 11px/1 var(--font-body);letter-spacing:.5px;color:var(--color-text-muted);text-transform:uppercase}.share-row .btns{gap:6px;margin-left:auto;display:flex}.share-btn{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:color .16s var(--ease-out), border-color .16s var(--ease-out);place-items:center;display:grid}.share-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.share-btn .ti{font-size:17px}.author-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);align-items:center;gap:16px;padding:20px;display:flex}.author-card .av{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong));width:52px;height:52px;color:var(--brand-primary-on);font:800 18px/1 var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.author-card .info{flex:1;min-width:0}.author-card .info .name{font:700 14px/1.3 var(--font-body);letter-spacing:-.3px;color:var(--color-text)}.author-card .info .name .role{font:600 10px/1 var(--font-mono);letter-spacing:.5px;color:var(--color-accent-strong);background:var(--color-accent-soft);border-radius:var(--radius-xs);vertical-align:2px;margin-left:8px;padding:3px 6px}.author-card .info .bio{font:500 12.5px/1.55 var(--font-body);color:var(--color-text-secondary);letter-spacing:-.1px;margin-top:5px}.author-card .follow{background:var(--color-text);color:var(--color-surface);border-radius:var(--radius-md);font:700 12px/1 var(--font-body);letter-spacing:-.2px;cursor:pointer;padding:8px 14px}.author-card .follow:hover{background:color-mix(in srgb, var(--color-text) 85%, #000)}.related{border-top:1px solid var(--color-border);max-width:1180px;margin:80px auto 0;padding-top:56px}.related-head{justify-content:space-between;align-items:baseline;margin-bottom:26px;display:flex}.related-head h2{font:800 22px/1 var(--font-body);letter-spacing:-.5px;color:var(--color-text)}.related-head .more{font:600 12px/1 var(--font-body);color:var(--color-accent-strong);align-items:center;gap:4px;display:inline-flex}.related-head .more .ti{font-size:14px}.to-list{text-align:left;max-width:760px;margin:30px auto 8px;padding:0 20px}.to-list a{font:600 14px/1 var(--font-body);color:var(--color-accent-strong);align-items:center;gap:6px;text-decoration:none;transition:color .15s;display:inline-flex}.to-list a:hover{text-decoration:underline}.to-list a .ti{font-size:16px}.to-list.to-list-top{margin:0 auto 18px;padding:0}.related-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.card-post{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);cursor:pointer;transition:transform .2s var(--ease-out), border-color .2s var(--ease-out);position:relative;overflow:hidden}.card-post:hover{border-color:var(--color-accent-border);transform:translateY(-2px)}.card-post .thumb{background:linear-gradient(135deg, var(--color-ink), var(--color-ink-2));place-items:center;height:140px;display:grid;position:relative;overflow:hidden}.card-post .thumb.t-a{background:linear-gradient(135deg, var(--color-ink), var(--color-ink-2))}.card-post .thumb.t-b{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong))}.card-post .thumb.t-c{background:linear-gradient(135deg, var(--brand-purple), #5b4fb8)}.card-post .thumb.def{background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-ink-2) 72%, var(--color-ink) 100%)}.card-post .thumb.def .glow{pointer-events:none;background:radial-gradient(circle,#1ab39433 0%,#0000 70%);width:200px;height:200px;position:absolute;top:-50px;right:-40px}.card-post .thumb.def-a .lockup{z-index:1;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.card-post .thumb.def-a .colon{font:800 46px/1 var(--font-mono);letter-spacing:2px;color:var(--color-accent);text-shadow:0 0 24px #1ab39480}.card-post .thumb.def-a .wm{font:800 11px/1 var(--font-mono);letter-spacing:4px;color:#ffffff8c;align-items:center;gap:5px;display:flex}.card-post .thumb.def-a .wm .c{color:var(--color-accent)}.card-post .thumb .glyph{font:800 56px/1 var(--font-mono);color:#ffffffeb;letter-spacing:-2px}.card-post .thumb .gridbg{pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.card-post .body{padding:16px 18px 20px}.card-post .cat{font:700 10px/1 var(--font-mono);letter-spacing:1px;color:var(--color-accent);text-transform:uppercase;margin-bottom:10px}.card-post .ttl{font:700 15px/1.4 var(--font-body);letter-spacing:-.3px;color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;display:-webkit-box;overflow:hidden}.card-post .ttl a:after{content:"";z-index:2;position:absolute;inset:0}.card-post .ex{font:500 12.5px/1.55 var(--font-body);color:var(--color-text-muted);letter-spacing:-.1px;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:14px;display:-webkit-box;overflow:hidden}.card-post .meta{font:500 11px/1 var(--font-mono);color:var(--color-text-muted);letter-spacing:0;align-items:center;gap:10px;display:flex}.card-post .meta .dot{background:var(--color-text-muted);border-radius:50%;width:3px;height:3px}.footer{background:var(--color-ink);color:#94a3b8;margin-top:100px;padding:56px 28px 32px}.footer-inner{max-width:var(--container-max);grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin:0 auto;display:grid}.footer .brand{font-family:var(--font-mono);font:800 18px/1 var(--font-mono);letter-spacing:-.3px;color:#f0ece4;margin-bottom:14px}.footer .brand .colon{color:#f59e0b}.footer .tagline{font:500 12.5px/1.6 var(--font-body);color:#6b7d8e;letter-spacing:-.1px;max-width:320px}.footer h4{font:700 11px/1 var(--font-body);letter-spacing:.8px;color:#cbd5e1;text-transform:uppercase;margin:0 0 16px}.footer ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer ul a{font:500 13px/1 var(--font-body);color:#94a3b8;letter-spacing:-.1px}.footer ul a:hover{color:var(--color-on-ink)}.footer-bottom{max-width:var(--container-max);border-top:1px solid var(--color-on-ink-line);font:500 11px/1 var(--font-mono);color:#6b7d8e;letter-spacing:.2px;justify-content:space-between;align-items:center;margin:48px auto 0;padding-top:22px;display:flex}.footer-bottom .right{gap:16px;display:flex}@media (width<=1100px){.related-grid{grid-template-columns:1fr 1fr}}@media (width<=740px){.stats-row,.related-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.article table{display:block;overflow-x:auto}.article table th,.article table td{white-space:nowrap}}.share-btn.liked{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-on)}.share-btn.liked .ti{color:var(--color-accent-on)}.bs-modal{z-index:9998;justify-content:center;align-items:flex-start;display:none;position:fixed;inset:0}.bs-modal.open{display:flex}.bs-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b121973;position:absolute;inset:0}.bs-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-3xl);width:min(640px,100vw - 32px);box-shadow:var(--shadow-modal);margin-top:12vh;position:relative;overflow:hidden}.bs-bar{border-bottom:1px solid var(--color-divider);align-items:center;gap:10px;padding:14px 16px;display:flex}.bs-bar .ti{color:var(--color-text-secondary);font-size:18px}.bs-input{color:var(--color-text);font:500 15px var(--font-body);background:0 0;border:0;outline:0;flex:1}.bs-input::placeholder{color:var(--color-text-muted)}.bs-esc{font:600 10px var(--font-mono);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-xs);padding:2px 6px}.bs-results{max-height:60vh;padding:8px;overflow-y:auto}.bs-item{border-radius:var(--radius-md);color:var(--color-text);padding:10px 12px;text-decoration:none;display:block}.bs-item:hover{background:var(--color-divider)}.bs-cat{font:700 10px var(--font-mono);letter-spacing:.04em;color:var(--color-accent);margin-bottom:2px;display:block}.bs-ttl{font:600 14px var(--font-body);color:var(--color-text);display:block}.bs-sm{font:400 12px/1.4 var(--font-body);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.bs-empty{text-align:center;color:var(--color-text-muted);font:400 13px var(--font-body);padding:28px 12px}.comments{max-width:760px;margin:48px auto 0;padding:0 20px}.cmt-gate .grain{pointer-events:none;background-image:linear-gradient(#1ab3940f 1px,#0000 1px),linear-gradient(90deg,#1ab3940f 1px,#0000 1px);background-size:22px 22px;width:220px;height:220px;position:absolute;top:-40px;right:-40px;-webkit-mask-image:radial-gradient(circle at 100% 0,#000,#0000 70%);mask-image:radial-gradient(circle at 100% 0,#000,#0000 70%)}.cmt-gate .copy{flex:1;min-width:0}.cmt-gate .login-cta{border-radius:var(--radius-xl);background:var(--color-text);height:44px;color:var(--color-surface);font:700 13.5px/1 var(--font-body);letter-spacing:-.2px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border:0;align-items:center;gap:7px;padding:0 18px;text-decoration:none;display:inline-flex}.cmt-gate .login-cta:hover{background:var(--color-text-secondary)}.cmt-gate .login-cta .ti{font-size:16px}.cmt-gate .fine{font:500 11px/1.5 var(--font-mono);color:var(--color-text-muted);letter-spacing:0;text-align:right;margin-left:auto}.cmt-av{color:#fff;width:42px;height:42px;font:800 14px/1 var(--font-mono);letter-spacing:-.5px;border-radius:50%;flex:none;place-items:center;display:grid}.cmt-av.me{background:linear-gradient(135deg,#1ab394,#0d9b7a)}.cmt-av.c1{background:linear-gradient(135deg,#5b8def,#3d6fd0)}.cmt-av.c2{background:linear-gradient(135deg,#7c6dd8,#5b4fb8)}.cmt-av.c3{background:linear-gradient(135deg,#e8a135,#c9821a)}.cmt-av.c4{background:linear-gradient(135deg,#e17055,#c4543a)}.cmt-av.c5{background:linear-gradient(135deg,#8b95a1,#6b7682)}.cmt-composer .field{flex:1;min-width:0}.cmt-composer .who{align-items:center;gap:7px;margin-bottom:9px;display:flex}.cmt-composer .who .name{font:700 13px/1 var(--font-body);color:var(--color-text);letter-spacing:-.2px}.cmt-composer .who .me-tag{font:700 9px/1 var(--font-mono);letter-spacing:.6px;color:var(--color-accent-soft-fg);background:var(--color-accent-soft);border-radius:var(--radius-xs);padding:3px 6px}.cmt-box textarea{box-sizing:border-box;min-height:46px}.cmt-box .hint{font:500 11.5px/1.4 var(--font-body);color:var(--color-text-muted);letter-spacing:-.1px;align-items:center;gap:6px;display:flex}.cmt-box .hint .ti{font-size:14px}.cmt-box .counter b{color:var(--color-text-secondary);font-weight:700}.cmt-submit{border-radius:var(--radius-lg);background:var(--color-accent);height:36px;color:var(--color-accent-on);font:700 13px/1 var(--font-body);letter-spacing:-.2px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:0;align-items:center;gap:6px;padding:0 18px;display:inline-flex}.cmt-submit:hover{background:var(--color-accent-strong)}.cmt-submit:disabled{opacity:.4;cursor:not-allowed;background:var(--color-text-muted)}.cmt-submit .ti{font-size:15px}.cmt-reply-form{margin-top:14px}.cmt-edit-form{margin:4px 0 2px}.cmt-form-actions{justify-content:flex-end;align-items:center;gap:8px;padding:0 12px 11px;display:flex}.cmt-cancel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);height:36px;color:var(--color-text-secondary);font:700 13px/1 var(--font-body);letter-spacing:-.2px;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);padding:0 14px}.cmt-cancel:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.cmt-replies .cmt-item{border-top:0;padding:14px 0}.cmt-replies .cmt-av{width:34px;height:34px;font-size:12px}.cmt-replies .nm{font-size:13px}.cmt-replies .body{font-size:14px}.cmt-loadmore{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;color:var(--color-text-secondary);font:600 13px/1 var(--font-body);letter-spacing:-.2px;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:7px;margin-top:14px;padding:14px;display:flex}.cmt-loadmore:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.cmt-loadmore .ti{font-size:16px}.cmt-loadmore .num{font-family:var(--font-mono);color:var(--color-accent);font-weight:700}.cmt-item .time .edited{color:var(--color-text-muted);opacity:.75}.cmt-item .time .abs{opacity:.6;margin-left:4px}.cmt-item .body{white-space:pre-wrap;word-break:break-word}.cmt-empty{text-align:center;color:var(--color-text-muted);padding:44px 20px}.cmt-empty .ic{color:var(--color-border);margin-bottom:10px;font-size:30px}.cmt-empty .t{font:600 14px/1.5 var(--font-body);color:var(--color-text-secondary)}.cmt-empty .s{font:500 12.5px/1.5 var(--font-body);margin-top:4px}.bl-modal{z-index:9998;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.bl-modal.open{display:flex}.bl-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b121973;position:absolute;inset:0}.bl-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:min(860px,100vw - 32px);height:min(82vh,900px);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;position:relative;overflow:hidden}.bl-head{border-bottom:1px solid var(--color-divider);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.bl-title{font:700 15px var(--font-body);color:var(--color-text);align-items:center;gap:8px;display:flex}.bl-title .ti{color:var(--color-accent);font-size:18px}.bl-close{border:1px solid var(--color-border);border-radius:var(--radius-md);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:16px;transition:color .15s,border-color .15s;display:flex}.bl-close:hover{color:var(--color-text);border-color:var(--color-text-muted)}.bl-body{background:#f5f7fa;flex:1;position:relative}.bl-frame{border:0;width:100%;height:100%;position:absolute;inset:0}.bl-loading{color:var(--color-text-muted);font:400 13px var(--font-body);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.toc li a{color:inherit;text-decoration:none;display:block}.toc-progress{background:var(--color-divider);border-radius:var(--radius-md);color:var(--color-text-secondary);margin-top:14px;padding:12px 14px;font-size:11px}.toc-progress .row{font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.4px;justify-content:space-between;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.toc-progress .bar{background:var(--color-divider);border-radius:2px;height:4px;overflow:hidden}.toc-progress .bar i{background:var(--color-accent);border-radius:2px;width:0;height:100%;display:block}.bs-item.active{background:var(--color-divider)}.bs-date{font:500 11px var(--font-mono);color:var(--color-text-muted);margin-top:4px;display:block}.pl-ball-row{flex-wrap:nowrap;align-items:center;gap:4px;display:inline-flex}.pl-ball{--_ball-size:36px;--_ball-bg:var(--ball-4-bg);--_ball-fg:var(--ball-4-on);width:var(--_ball-size);height:var(--_ball-size);font-family:var(--font-mono);font-weight:700;font-size:calc(var(--_ball-size) * .36);color:var(--_ball-fg);background:var(--_ball-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.pl-ball.sm{--_ball-size:28px}.pl-ball.lg{--_ball-size:40px}.pl-ball.xs{--_ball-size:22px}.pl-ball.r1,.pl-ball.y{--_ball-bg:var(--ball-1-bg);--_ball-fg:var(--ball-1-on)}.pl-ball.r2,.pl-ball.b{--_ball-bg:var(--ball-2-bg);--_ball-fg:var(--ball-2-on)}.pl-ball.r3,.pl-ball.rd{--_ball-bg:var(--ball-3-bg);--_ball-fg:var(--ball-3-on)}.pl-ball.r4,.pl-ball.g{--_ball-bg:var(--ball-4-bg);--_ball-fg:var(--ball-4-on)}.pl-ball.r5,.pl-ball.gr{--_ball-bg:var(--ball-5-bg);--_ball-fg:var(--ball-5-on)}.pl-ball-num{color:inherit}.pl-ball.bonus{box-shadow:inset 0 0 0 2px #ffffff80}.pl-ball-bonus{background:var(--brand-amber);color:#fff;width:12px;height:12px;font:700 8px var(--font-body);border:1.5px solid var(--color-surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:-3px;right:-3px}.pl-ball-sep{background:var(--color-border);width:1px;height:14px;margin:0 4px}.pl-ball.dim{opacity:.4;filter:grayscale(.4)}.bs-loading.svelte-ss7wqq{place-items:center;padding:32px 0;display:grid}.bs-snippet.svelte-ss7wqq{color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.bs-more.svelte-ss7wqq{place-items:center;padding:12px 0 4px;display:grid}.bs-more-btn.svelte-ss7wqq{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);min-width:160px;min-height:36px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--dur-fast), border-color var(--dur-fast);place-items:center;padding:8px 16px;font-size:13px;display:inline-grid}.bs-more-btn.svelte-ss7wqq:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-secondary)}.bs-more-btn.svelte-ss7wqq:disabled{cursor:default;opacity:.8}.bs-results.svelte-ss7wqq mark{background:var(--color-accent-soft);color:var(--color-accent-soft-fg);border-radius:2px;padding:0 1px;font-weight:600}.theme-toggle.svelte-lficzf{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast);flex:none;place-items:center;display:grid}.theme-toggle.svelte-lficzf:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.theme-toggle.svelte-lficzf .ti{font-size:16px}
