.comments{margin-top:56px;min-height:160px}.comments h2{font-family:var(--font-body);font-size:var(--fs-xl);font-weight:800;color:var(--ink);display:flex;gap:6px;margin:0 0 20px}.login-box{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:20px;text-align:center;font-size:var(--fs-sm);color:var(--ink-3);display:flex;flex-direction:column;gap:10px;align-items:center}.login-box[hidden],.comment-form[hidden]{display:none}.login-box button,.comment-form button{background:none;border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:9px 18px;font-family:inherit;font-size:var(--fs-sm);cursor:pointer;transition:border-color .15s,filter .15s}.login-box button:hover,.comment-form button:hover{border-color:var(--accent)}.google-btn{display:inline-flex;align-items:center;gap:8px}.comment-form button[type=submit]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.comment-form button[type=submit]:hover{filter:brightness(1.12)}.comment-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.comment-form textarea{background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-family:inherit;font-size:var(--fs-md);padding:12px;min-height:70px;resize:vertical}.form-row{display:flex;justify-content:space-between}.ghost{background:none!important;border:none!important;color:var(--ink-3)!important;padding:9px 4px!important}.ghost:hover{color:var(--accent)!important;border:none!important}.comment-list{list-style:none;margin:22px 0 0;padding:0}.comment-item{padding:22px 0;border-bottom:1px solid var(--line);font-size:var(--fs-md)}.comment-item:first-child{padding-top:0}.comment-item:last-child{border-bottom:none;padding-bottom:0}.comment-item .row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.comment-item .who{display:flex;align-items:center;gap:10px;font-weight:700;font-size:var(--fs-md);color:var(--ink)}.avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;background:var(--accent);color:var(--bg);overflow:hidden}.avatar img{width:100%;height:100%;border-radius:50%;display:block;object-fit:cover}.comment-item .when{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);margin-left:auto;white-space:nowrap}.comment-item .body-wrap{padding-left:38px}.comment-item p{margin:0;color:var(--ink);line-height:1.65}.comment-item .del{background:none;border:none;color:var(--ink-3);font-size:var(--fs-xs);cursor:pointer;padding:10px 0 0;display:block}.comment-item .del:hover{color:#c0392b!important}.error{color:#c0392b;font-size:var(--fs-xs)}.post[data-astro-cid-inpx6w42]{display:grid;grid-template-columns:minmax(0,720px) 288px;justify-content:space-between;gap:56px;padding-top:40px}.crumb[data-astro-cid-inpx6w42]{font-size:var(--fs-sm);color:var(--ink-3);margin:0}.crumb[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]:hover{color:var(--accent)}h1[data-astro-cid-inpx6w42]{font-size:var(--fs-2xl);line-height:1.45;font-weight:800;letter-spacing:-.02em;margin:12px 0 16px}.langs-row[data-astro-cid-inpx6w42]{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:var(--fs-xs);color:var(--ink-3)}.langs[data-astro-cid-inpx6w42]{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px}.langs[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42],.langs[data-astro-cid-inpx6w42] span[data-astro-cid-inpx6w42]{font-size:var(--fs-xs);font-weight:700;line-height:1;padding:5px 10px;border-radius:999px;color:var(--ink-3)}.langs[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]:hover{color:var(--accent)}.langs[data-astro-cid-inpx6w42] .on[data-astro-cid-inpx6w42]{background:var(--ink);color:var(--on-ink)}.langs[data-astro-cid-inpx6w42] .off[data-astro-cid-inpx6w42]{opacity:.35}.cover[data-astro-cid-inpx6w42]{margin:28px 0 40px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.cover[data-astro-cid-inpx6w42] img{display:block;width:100%;height:auto;aspect-ratio:1200 / 630;object-fit:cover}.langs-row[data-astro-cid-inpx6w42]+.prose[data-astro-cid-inpx6w42]{margin-top:36px}.prose[data-astro-cid-inpx6w42]{font-size:var(--fs-body);line-height:1.9}.prose[data-astro-cid-inpx6w42] p{margin:0 0 1.5em}.prose[data-astro-cid-inpx6w42] strong{font-weight:700;background:linear-gradient(transparent 62%,var(--mark-hl) 62%)}.prose[data-astro-cid-inpx6w42] a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose[data-astro-cid-inpx6w42] h2{font-size:var(--fs-xl);line-height:1.45;font-weight:800;letter-spacing:-.01em;margin:64px 0 20px;padding-left:14px;border-left:4px solid var(--accent);scroll-margin-top:24px}.prose[data-astro-cid-inpx6w42] h3{font-size:var(--fs-lg);line-height:1.5;font-weight:700;margin:40px 0 14px}.prose[data-astro-cid-inpx6w42] ul,.prose[data-astro-cid-inpx6w42] ol{margin:0 0 1.5em;padding-left:1.3em}.prose[data-astro-cid-inpx6w42] li{margin-bottom:.45em}.prose[data-astro-cid-inpx6w42] li::marker{color:var(--accent);font-weight:700}.prose[data-astro-cid-inpx6w42] :not(pre)>code{background:var(--surface);border:1px solid var(--line);padding:.1em .4em;border-radius:6px;font-size:.88em}.prose[data-astro-cid-inpx6w42] pre{padding:18px 20px;border-radius:12px;overflow-x:auto;font-size:var(--fs-sm);line-height:1.7}.prose[data-astro-cid-inpx6w42] blockquote{margin:1.6em 0;padding:16px 20px;background:var(--surface);border-left:4px solid var(--accent);border-radius:0 12px 12px 0}.prose[data-astro-cid-inpx6w42] blockquote p{margin:0}.prose[data-astro-cid-inpx6w42] table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-md);line-height:1.6;margin:8px 0 1.8em;border:1px solid var(--line);border-radius:12px;overflow:hidden}.prose[data-astro-cid-inpx6w42] th{background:var(--surface);font-weight:700;text-align:left}.prose[data-astro-cid-inpx6w42] th,.prose[data-astro-cid-inpx6w42] td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}.prose[data-astro-cid-inpx6w42] tr:last-child td{border-bottom:0}.prose[data-astro-cid-inpx6w42] img,.prose[data-astro-cid-inpx6w42] video{display:block;max-width:min(100%,420px);max-height:560px;width:auto;height:auto;margin:8px auto 1.6em;border-radius:12px;border:1px solid var(--line)}.prose[data-astro-cid-inpx6w42] img[title]{max-width:100%;max-height:none}.prose[data-astro-cid-inpx6w42] img[src*="/sticker-"],.prose[data-astro-cid-inpx6w42] img[src*="%2Fsticker-"]{width:240px;max-width:60%;border:0;border-radius:0;image-rendering:pixelated;margin:.4em auto 1.4em}.prose[data-astro-cid-inpx6w42] figcaption{font-size:var(--fs-sm);color:var(--ink-3);text-align:center;margin-top:8px}.tags[data-astro-cid-inpx6w42]{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.pn[data-astro-cid-inpx6w42]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.pn[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.pn[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]:hover{border-color:var(--accent)}.pn[data-astro-cid-inpx6w42] small[data-astro-cid-inpx6w42]{display:block;font-size:var(--fs-xs);font-weight:700;color:var(--ink-3)}.pn[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42] span[data-astro-cid-inpx6w42]{display:block;font-size:var(--fs-sm);font-weight:700;line-height:1.55;margin-top:4px}.pn[data-astro-cid-inpx6w42] .next[data-astro-cid-inpx6w42]{text-align:right}.related[data-astro-cid-inpx6w42]{margin-top:56px}.related[data-astro-cid-inpx6w42] h2[data-astro-cid-inpx6w42]{font-size:var(--fs-xl);font-weight:800;letter-spacing:-.02em;margin:0 0 20px}.related-grid[data-astro-cid-inpx6w42]{grid-template-columns:repeat(2,minmax(0,1fr))}.post-side[data-astro-cid-inpx6w42]{display:flex;flex-direction:column;gap:20px}.side-sticky[data-astro-cid-inpx6w42]{position:sticky;top:24px;display:flex;flex-direction:column;gap:20px}.box[data-astro-cid-inpx6w42]{border:1px solid var(--line);border-radius:var(--radius);padding:20px}.box-label[data-astro-cid-inpx6w42]{font-size:var(--fs-xs);font-weight:800;letter-spacing:.06em;color:var(--ink-3);margin:0 0 10px}.prof[data-astro-cid-inpx6w42]{display:flex;align-items:center;gap:14px}.prof[data-astro-cid-inpx6w42] small[data-astro-cid-inpx6w42]{display:block;font-size:var(--fs-xs);font-weight:700;color:var(--ink-3)}.prof[data-astro-cid-inpx6w42] b[data-astro-cid-inpx6w42]{font-size:var(--fs-lg);font-weight:800}.toc[data-astro-cid-inpx6w42]{list-style:none;margin:0;padding:0;counter-reset:t}.toc[data-astro-cid-inpx6w42] li[data-astro-cid-inpx6w42]{counter-increment:t}.toc[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]{display:flex;gap:10px;font-size:var(--fs-sm);line-height:1.55;padding:6px 0;color:var(--ink-2)}.toc[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]:before{content:counter(t,decimal-leading-zero);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);padding-top:2px}.toc[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]:hover,.toc[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42].on{color:var(--accent)}.toc[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42].on{font-weight:700}.toc[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42].on:before{color:var(--accent)}.latest[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]{display:block;padding:10px 0;border-top:1px solid var(--line)}.latest[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]:first-of-type{border-top:0;padding-top:0}.latest-title[data-astro-cid-inpx6w42]{display:block;font-size:var(--fs-sm);font-weight:700;line-height:1.55}.latest[data-astro-cid-inpx6w42] a[data-astro-cid-inpx6w42]:hover .latest-title[data-astro-cid-inpx6w42]{color:var(--accent)}@media(max-width:1040px){.post[data-astro-cid-inpx6w42]{grid-template-columns:minmax(0,1fr);max-width:768px}.post-side[data-astro-cid-inpx6w42]{display:none}}@media(max-width:760px){.post[data-astro-cid-inpx6w42]{padding-top:20px}h1[data-astro-cid-inpx6w42]{font-size:26px}.prose[data-astro-cid-inpx6w42] h2{font-size:var(--fs-lg);margin-top:48px}.prose[data-astro-cid-inpx6w42] h3{font-size:var(--fs-body)}.prose[data-astro-cid-inpx6w42] table{font-size:var(--fs-sm)}.prose[data-astro-cid-inpx6w42] th,.prose[data-astro-cid-inpx6w42] td{padding:10px}.pn[data-astro-cid-inpx6w42]{grid-template-columns:minmax(0,1fr)}.pn[data-astro-cid-inpx6w42] .next[data-astro-cid-inpx6w42]{text-align:left}.related-grid[data-astro-cid-inpx6w42]{grid-template-columns:minmax(0,1fr)}}
