.back-to-top[data-v-fdbac42e]{position:fixed;right:max(.85rem,env(safe-area-inset-right,0px));bottom:max(1.1rem,calc(env(safe-area-inset-bottom,0px) + .85rem));z-index:65;width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:var(--toc-bg, var(--surface));color:var(--ink);box-shadow:var(--shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:transform .15s ease,color .15s ease,border-color .15s ease}.back-to-top svg[data-v-fdbac42e]{width:1.15rem;height:1.15rem}.back-to-top[data-v-fdbac42e]:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-2px)}@media (max-width: 980px){.back-to-top[data-v-fdbac42e]{right:max(.75rem,env(safe-area-inset-right,0px));bottom:max(1rem,calc(env(safe-area-inset-bottom,0px) + .75rem))}}.site-search[data-v-6dcde34d]{position:relative}.site-search-form input[data-v-6dcde34d]{width:min(15rem,42vw);min-width:8.5rem;height:2.35rem;padding:0 .85rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font:inherit;font-size:.9rem}.site-search-form input[data-v-6dcde34d]:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.site-search-panel[data-v-6dcde34d]{position:absolute;top:calc(100% + .45rem);right:0;width:min(22rem,calc(100vw - 2rem));max-height:min(70vh,26rem);overflow:auto;z-index:80;padding:.55rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 85%,var(--accent));background:color-mix(in srgb,var(--input-bg) 92%,var(--accent));box-shadow:0 12px 32px color-mix(in srgb,#0f172a 14%,transparent),0 2px 8px color-mix(in srgb,#0f172a 8%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink)}html.dark .site-search-panel[data-v-6dcde34d]{background:color-mix(in srgb,#0f172a 94%,var(--accent));border-color:color-mix(in srgb,var(--line) 70%,var(--accent));box-shadow:0 16px 40px #0000008c,0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.site-search-hint[data-v-6dcde34d]{margin:0;padding:.65rem .55rem;font-size:.88rem}.site-search-group+.site-search-group[data-v-6dcde34d]{margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--line)}.site-search-label[data-v-6dcde34d]{margin:0;padding:.35rem .55rem .2rem;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.site-search-item[data-v-6dcde34d]{display:flex;align-items:center;gap:.65rem;padding:.55rem;border-radius:10px;text-decoration:none;color:inherit}.site-search-item[data-v-6dcde34d]:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:inherit}html.dark .site-search-item[data-v-6dcde34d]:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.site-search-avatar[data-v-6dcde34d]{width:1.85rem;height:1.85rem;border-radius:8px;display:grid;place-items:center;overflow:hidden;flex-shrink:0;font-family:var(--font-display);font-size:.8rem;font-weight:700;color:var(--accent);background:var(--stat-bg);border:1px solid var(--line)}.site-search-avatar img[data-v-6dcde34d]{width:100%;height:100%;object-fit:cover}.site-search-text[data-v-6dcde34d]{display:grid;gap:.1rem;min-width:0}.site-search-text strong[data-v-6dcde34d]{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-search-text .muted[data-v-6dcde34d]{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only[data-v-6dcde34d]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 720px){.site-search-form input[data-v-6dcde34d]{width:min(11rem,36vw)}.site-search-panel[data-v-6dcde34d]{right:auto;left:0}}.post-engage[data-v-52178310]{margin:.45rem 0 0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.35rem}.person-chip[data-v-52178310]{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:inherit;border-radius:12px;padding:.15rem;transition:background .2s ease}.person-chip[data-v-52178310]:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:inherit}.person-avatar[data-v-52178310]{width:2rem;height:2rem;border-radius:9px;display:grid;place-items:center;overflow:hidden;font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--accent);background:var(--stat-bg);border:1px solid var(--line);flex-shrink:0}.person-avatar img[data-v-52178310]{width:100%;height:100%;object-fit:cover}.person-text[data-v-52178310]{display:grid;gap:.05rem;line-height:1.2}.person-text strong[data-v-52178310]{font-size:.92rem}.person-text time[data-v-52178310]{color:var(--muted);font-size:.78rem}.emoji-picker[data-v-0eb7008f]{position:relative;display:inline-flex}.emoji-trigger[data-v-0eb7008f]{min-width:2.4rem;padding:.3rem .55rem;font-size:1.05rem;line-height:1}.emoji-panel[data-v-0eb7008f]{position:absolute;bottom:calc(100% + .45rem);left:0;z-index:30;width:min(280px,72vw);padding:.55rem;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);background:var(--surface)}.emoji-grid[data-v-0eb7008f]{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.2rem}.emoji-btn[data-v-0eb7008f]{border:none;background:transparent;border-radius:8px;padding:.35rem;font-size:1.15rem;line-height:1;cursor:pointer}.emoji-btn[data-v-0eb7008f]:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.post-toc-nav[data-v-50566bb5]{scrollbar-width:none;-ms-overflow-style:none}.post-toc-nav[data-v-50566bb5]::-webkit-scrollbar{width:0;height:0;display:none}.post-header[data-v-410cd632]{margin-bottom:.35rem}.post-header h1[data-v-410cd632]{margin:.85rem 0 0}.person-chip[data-v-410cd632]{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;max-width:100%;padding:.2rem .35rem .2rem .2rem;margin:0 -.2rem;border-radius:14px;transition:background .2s ease}.person-chip[data-v-410cd632]:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:inherit}.person-avatar[data-v-410cd632]{width:2.7rem;height:2.7rem;border-radius:12px;display:grid;place-items:center;flex-shrink:0;overflow:hidden;font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--accent);background:var(--stat-bg);border:1px solid var(--line);text-decoration:none}.person-avatar.sm[data-v-410cd632]{width:2.15rem;height:2.15rem;border-radius:10px;font-size:.92rem}.person-avatar img[data-v-410cd632]{width:100%;height:100%;object-fit:cover}.person-text[data-v-410cd632]{display:grid;gap:.08rem;min-width:0}.person-name[data-v-410cd632]{font-weight:650;line-height:1.2;text-decoration:none;color:inherit}.person-name[data-v-410cd632]:hover{color:var(--accent)}.person-sub[data-v-410cd632]{color:var(--muted);font-size:.82rem}.engage-bar[data-v-410cd632]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:1rem 0 1.5rem;scroll-margin-top:5rem}.engage-stat[data-v-410cd632]{font-size:.92rem}.like-btn[data-v-410cd632]{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.35rem .85rem;font-weight:600;font-size:.9rem;transition:border-color .2s ease,color .2s ease,background .2s ease}.like-btn[data-v-410cd632]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.like-btn.active[data-v-410cd632]{border-color:#e11d48;color:#e11d48;background:color-mix(in srgb,#e11d48 8%,transparent)}.like-btn.busy[data-v-410cd632]{opacity:.65}.like-hint[data-v-410cd632]{margin:0;width:100%;font-size:.88rem}.share-wrap[data-v-410cd632]{position:relative;margin-left:auto}.share-btn[data-v-410cd632]{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:.3rem .85rem;font-size:.82rem;transition:border-color .2s ease,color .2s ease,background .2s ease}.share-btn[data-v-410cd632]:hover,.share-trigger[aria-expanded=true][data-v-410cd632]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.share-panel[data-v-410cd632]{position:absolute;right:0;top:calc(100% + .45rem);width:min(17.5rem,calc(100vw - 2rem));z-index:30;padding:.85rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise .25s ease both}.share-panel-title[data-v-410cd632]{margin:0 0 .65rem;font-size:.88rem;font-weight:650}.share-actions[data-v-410cd632]{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.share-action[data-v-410cd632]{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:transparent;color:inherit;border-radius:10px;padding:.5rem .55rem;font-size:.82rem;text-align:left;transition:border-color .2s ease,background .2s ease,color .2s ease}.share-action[data-v-410cd632]:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.share-ico[data-v-410cd632]{width:1.25rem;height:1.25rem;border-radius:6px;display:grid;place-items:center;font-size:.72rem;font-weight:700;background:var(--stat-bg);color:var(--accent);flex-shrink:0}.share-qr[data-v-410cd632]{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--line);display:grid;justify-items:center;gap:.35rem}.share-qr img[data-v-410cd632]{width:132px;height:132px;border-radius:10px;background:#fff;padding:.35rem;border:1px solid var(--line)}.share-qr p[data-v-410cd632]{margin:0;font-size:.78rem;text-align:center}.share-feedback[data-v-410cd632]{margin:.55rem 0 0;font-size:.82rem;color:var(--danger)}.share-feedback.ok[data-v-410cd632]{color:var(--accent)}.flash[data-v-410cd632]{animation:notify-flash-410cd632 1.6s ease;border-radius:12px}@keyframes notify-flash-410cd632{0%,to{box-shadow:none;background-color:transparent}20%,55%{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent);background-color:color-mix(in srgb,var(--accent) 10%,transparent)}}.comments[data-v-410cd632]{margin-top:2.5rem;scroll-margin-top:5rem}.comment-list[data-v-410cd632]{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.95rem}.comment-list>li[data-v-410cd632]{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;padding:.55rem .5rem;border-radius:12px;scroll-margin-top:5rem}.comment-body[data-v-410cd632]{min-width:0}.comment-text[data-v-410cd632]{margin:.2rem 0 0;line-height:1.55;color:var(--prose-ink);white-space:pre-wrap;word-break:break-word}.comment-head[data-v-410cd632]{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem}.comment-head time[data-v-410cd632]{color:var(--muted);font-size:.85rem}.reply-to[data-v-410cd632]{font-size:.85rem}.reply-list[data-v-410cd632]{list-style:none;margin:.75rem 0 0;padding:.65rem 0 0 .85rem;border-left:2px solid var(--line);display:grid;gap:.75rem}.reply-list>li[data-v-410cd632]{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;scroll-margin-top:5rem}.person-avatar.xs[data-v-410cd632]{width:1.85rem;height:1.85rem;font-size:.75rem}.btn.small[data-v-410cd632]{padding:.25rem .55rem;font-size:.85rem}.comment-form[data-v-410cd632]{margin-top:1.25rem}.comment-compose[data-v-410cd632]{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start}.comment-compose-fields[data-v-410cd632]{display:grid;gap:.55rem;min-width:0}.comment-compose-label-row[data-v-410cd632]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem}.comment-compose-actions[data-v-410cd632]{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.comment-compose-actions .btn[data-v-410cd632]{justify-self:start}.article-layout[data-v-410cd632]{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}.article-layout.has-toc[data-v-410cd632]{grid-template-columns:minmax(0,1fr) minmax(17.5rem,20.5rem);gap:1.75rem}.article-main[data-v-410cd632]{min-width:0;overflow-wrap:anywhere}.article-toc-rail[data-v-410cd632]{position:sticky;top:1.1rem;align-self:start;z-index:20;max-height:calc(100vh - 2rem);width:100%}.article-toc-rail[data-v-410cd632]:not(.open){display:flex;justify-content:flex-end}.article-toc-rail[data-v-410cd632] .post-toc{display:flex;flex-direction:column;gap:.55rem;max-height:calc(100vh - 2rem);padding:.9rem .85rem 1rem;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:14px;background:var(--toc-bg, var(--surface));box-shadow:var(--shadow);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15)}.article-toc-rail[data-v-410cd632] .post-toc-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .15rem .45rem;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.article-toc-rail[data-v-410cd632] .post-toc-head strong{font-family:var(--font-display);font-size:.98rem;letter-spacing:.02em;color:var(--ink)}.article-toc-rail[data-v-410cd632] .post-toc-icon-btn,.toc-reopen-edge[data-v-410cd632]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:var(--toc-bg, var(--surface));color:var(--ink);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.article-toc-rail[data-v-410cd632] .post-toc-icon-btn{width:1.85rem;height:1.85rem;border-radius:8px;padding:0;background:color-mix(in srgb,var(--toc-bg, var(--surface)) 70%,transparent)}.article-toc-rail[data-v-410cd632] .post-toc-icon-btn svg,.toc-reopen-edge svg[data-v-410cd632]{width:1rem;height:1rem;flex-shrink:0}.article-toc-rail[data-v-410cd632] .post-toc-icon-btn:hover,.toc-reopen-edge[data-v-410cd632]:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.article-toc-rail[data-v-410cd632] .post-toc-nav{overflow:auto;overscroll-behavior:contain;padding-right:.1rem;scrollbar-width:none;-ms-overflow-style:none}.article-toc-rail[data-v-410cd632] .post-toc-nav::-webkit-scrollbar{width:0;height:0;display:none}.article-toc-rail[data-v-410cd632] .post-toc-list{list-style:none;margin:0;padding:0}.article-toc-rail[data-v-410cd632] .post-toc-row{display:grid;grid-template-columns:1.1rem 1fr;gap:.2rem;align-items:start}.article-toc-rail[data-v-410cd632] .post-toc-twist{width:1.1rem;height:1.35rem;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.article-toc-rail[data-v-410cd632] .post-toc-twist svg{width:.72rem;height:.72rem;transition:transform .15s ease}.article-toc-rail[data-v-410cd632] .post-toc-twist.open svg{transform:rotate(90deg)}.article-toc-rail[data-v-410cd632] .post-toc-twist.spacer{cursor:default;visibility:hidden}.article-toc-rail[data-v-410cd632] .post-toc-link{border:0;background:transparent;text-align:left;padding:.3rem .45rem;border-radius:8px;color:var(--muted);font-size:.84rem;line-height:1.4;cursor:pointer;width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s ease,background .15s ease}.article-toc-rail[data-v-410cd632] .post-toc-link:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,transparent)}.article-toc-rail[data-v-410cd632] .post-toc-link.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600}.toc-reopen-edge[data-v-410cd632]{width:3.25rem;height:3.25rem;min-height:0;flex-direction:column;padding:.35rem .25rem;border-radius:12px;font-size:.72rem;font-weight:600;gap:.18rem;box-shadow:var(--shadow);letter-spacing:.04em;line-height:1.1}.toc-reopen-edge span[data-v-410cd632]{writing-mode:horizontal-tb;text-orientation:mixed;white-space:nowrap}.toc-backdrop[data-v-410cd632]{display:none}@media (max-width: 980px){.article-layout[data-v-410cd632],.article-layout.has-toc[data-v-410cd632]{display:block;grid-template-columns:none;gap:0}.article-main[data-v-410cd632]{width:100%;max-width:100%;min-width:0}.post-header h1[data-v-410cd632]{font-size:clamp(1.7rem,7.5vw,2.2rem);line-height:1.2;overflow-wrap:anywhere;word-break:break-word}.engage-bar[data-v-410cd632]{gap:.55rem .75rem}.article-toc-rail[data-v-410cd632],.article-toc-rail[data-v-410cd632]:not(.open),.article-toc-rail.open[data-v-410cd632],.toc-reopen-edge[data-v-410cd632],.toc-backdrop[data-v-410cd632],.article.toc-open .toc-backdrop[data-v-410cd632]{display:none!important}}.about-page[data-v-574b5ffd]{max-width:1080px;margin:0 auto}.terminal-bar[data-v-574b5ffd]{display:flex;align-items:center;gap:.45rem;padding:.55rem .85rem;background:#0f172a;border-radius:10px 10px 0 0;border:1px solid #1e293b;border-bottom:none}.dot[data-v-574b5ffd]{width:10px;height:10px;border-radius:50%}.dot.red[data-v-574b5ffd]{background:#ef4444}.dot.yellow[data-v-574b5ffd]{background:#eab308}.dot.green[data-v-574b5ffd]{background:#22c55e}.terminal-title[data-v-574b5ffd]{margin-left:.5rem;color:#94a3b8;font-size:.78rem}.mono[data-v-574b5ffd]{font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace}.prompt[data-v-574b5ffd]{color:var(--accent)}.geek-panel[data-v-574b5ffd]{background:var(--panel-grad);border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:var(--shadow);padding:1.35rem 1.4rem;margin-bottom:1.5rem}.about-hero.geek-panel[data-v-574b5ffd]{border-radius:0 0 14px 14px;margin-top:0}.about-hero h1[data-v-574b5ffd]{font-family:var(--font-display);font-size:clamp(2rem,5vw,2.6rem);margin:.2rem 0 .5rem}.role-line[data-v-574b5ffd]{color:var(--muted);margin:0 0 1rem}.summary-list[data-v-574b5ffd]{margin:0 0 1.25rem;padding-left:1.1rem;color:var(--prose-ink)}.summary-list li+li[data-v-574b5ffd]{margin-top:.45rem}.stat-row[data-v-574b5ffd]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.stat[data-v-574b5ffd]{padding:.65rem .75rem;border:1px dashed var(--line);border-radius:10px;background:var(--stat-bg)}.stat-value[data-v-574b5ffd]{display:block;font-weight:700;color:var(--accent)}.stat-label[data-v-574b5ffd]{font-size:.85rem;color:var(--muted)}.link-row[data-v-574b5ffd]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.chip-link[data-v-574b5ffd]{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:.88rem;background:var(--chip-bg)}.chip-link[data-v-574b5ffd]:hover{border-color:var(--accent);color:var(--accent)}.edu[data-v-574b5ffd]{margin:0;font-size:.85rem}.section-head[data-v-574b5ffd]{margin-bottom:1rem}.section-head h2[data-v-574b5ffd]{margin:0 0 .35rem;font-family:var(--font-display)}.filter-bar[data-v-574b5ffd]{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.filter-btn[data-v-574b5ffd]{border:1px solid var(--line);background:var(--chip-bg);border-radius:999px;padding:.3rem .75rem;font-size:.82rem;color:var(--muted)}.filter-btn.active[data-v-574b5ffd],.filter-btn[data-v-574b5ffd]:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.ghost[data-v-574b5ffd]{margin-left:auto}.tech-grid[data-v-574b5ffd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}.tech-node[data-v-574b5ffd]{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--node-bg);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s,opacity .15s;position:relative;overflow:hidden}.tech-node[data-v-574b5ffd]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--node-color, var(--accent));opacity:.85}.tech-node[data-v-574b5ffd]:hover{border-color:var(--node-color, var(--accent));transform:translateY(-1px)}.tech-node.active[data-v-574b5ffd]{border-color:var(--node-color, var(--accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--node-color, var(--accent)) 25%,transparent)}.tech-node.linked[data-v-574b5ffd]{border-color:var(--node-color, var(--accent));background:color-mix(in srgb,var(--node-color, var(--accent)) 8%,var(--mini-mix))}.tech-node.dim[data-v-574b5ffd],.project-card.dim[data-v-574b5ffd]{opacity:.38}.tech-dot[data-v-574b5ffd]{width:8px;height:8px;border-radius:50%;background:var(--node-color, var(--accent))}.tech-name[data-v-574b5ffd]{font-weight:600;font-size:.92rem}.tech-cat[data-v-574b5ffd]{font-size:.68rem;color:var(--muted)}.relation-hint[data-v-574b5ffd]{margin:1rem 0 0;font-size:.85rem;color:var(--muted)}.inline-link[data-v-574b5ffd]{border:none;background:none;color:var(--accent);text-decoration:underline;padding:0;margin-left:.35rem;cursor:pointer}.project-grid[data-v-574b5ffd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.project-card[data-v-574b5ffd]{padding:1.1rem 1.15rem;border-radius:14px;cursor:pointer;transition:border-color .15s,box-shadow .15s,opacity .15s}.project-card.active[data-v-574b5ffd]{border-color:var(--accent);box-shadow:0 0 0 2px #0f766e2e}.project-card.linked[data-v-574b5ffd]{border-color:var(--accent)}.project-head[data-v-574b5ffd]{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem}.project-head h3[data-v-574b5ffd]{margin:0;font-size:1.05rem;font-family:var(--font-display)}.period[data-v-574b5ffd]{font-size:.72rem;color:var(--muted);white-space:nowrap}.project-summary[data-v-574b5ffd]{margin:0 0 .65rem;font-size:.92rem;color:var(--prose-ink)}.project-bullets[data-v-574b5ffd]{margin:0 0 .85rem;padding-left:1rem;font-size:.86rem;color:var(--muted)}.project-bullets li+li[data-v-574b5ffd]{margin-top:.25rem}.project-tech[data-v-574b5ffd]{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.mini-tech[data-v-574b5ffd]{border:1px solid var(--line);background:color-mix(in srgb,var(--node-color, #64748b) 10%,var(--mini-mix));border-left:3px solid var(--node-color, var(--accent));border-radius:6px;padding:.15rem .45rem;font-size:.72rem;cursor:pointer}.mini-tech[data-v-574b5ffd]:hover{border-color:var(--node-color, var(--accent))}.project-links[data-v-574b5ffd]{display:flex;gap:.75rem;font-size:.85rem}.project-links a[data-v-574b5ffd]{color:var(--accent);text-decoration:none;font-weight:600}@media (max-width: 640px){.filter-btn.ghost[data-v-574b5ffd]{margin-left:0}.project-grid[data-v-574b5ffd]{grid-template-columns:1fr}}:root,:host{--w-e-textarea-bg-color: #fff;--w-e-textarea-color: #333;--w-e-textarea-border-color: #ccc;--w-e-textarea-slight-border-color: #e8e8e8;--w-e-textarea-slight-color: #d4d4d4;--w-e-textarea-slight-bg-color: #f5f2f0;--w-e-textarea-selected-border-color: #B4D5FF;--w-e-textarea-handler-bg-color: #4290f7;--w-e-toolbar-color: #595959;--w-e-toolbar-bg-color: #fff;--w-e-toolbar-active-color: #333;--w-e-toolbar-active-bg-color: #f1f1f1;--w-e-toolbar-disabled-color: #999;--w-e-toolbar-border-color: #e8e8e8;--w-e-modal-button-bg-color: #fafafa;--w-e-modal-button-border-color: #d9d9d9}.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;opacity:0;padding:5px 10px;position:absolute;text-align:center;top:40px;transition:opacity .6s;visibility:hidden;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after{border:5px solid transparent;border-bottom:5px solid var(--w-e-toolbar-active-color);content:"";opacity:0;position:absolute;top:30px;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:transparent;border-left-color:transparent;border-right-color:var(--w-e-toolbar-active-color);border-top-color:transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:"tnum";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{bottom:0!important;display:flex!important;flex-direction:column!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:fixed;right:0!important;top:0!important;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;font-family:monospace;padding:3px}.w-e-panel-content-color{list-style:none;text-align:left;width:230px}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);border-radius:3px;cursor:pointer;display:inline-block;padding:2px}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;height:17px;width:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{line-height:1.5;margin-bottom:5px;width:100%}.w-e-panel-content-color .clear svg{height:16px;margin-bottom:-4px;width:16px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);display:block;font-size:100%;line-height:1.5;margin:10px 0;padding:10px}.w-e-panel-content-emotion{font-size:20px;list-style:none;text-align:left;width:300px}.w-e-panel-content-emotion li{border-radius:3px;cursor:pointer;display:inline-block;padding:0 5px}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;display:block;height:1px}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);border-radius:4px;display:block;font-size:14px;padding:10px;text-indent:0}.w-e-text-container [data-slate-editor] .w-e-image-container{display:inline-block;margin:0 3px}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:hidden;position:relative}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);height:7px;position:absolute;width:7px}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;left:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;right:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:0;cursor:nesw-resize;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{bottom:0;cursor:nwse-resize;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover,.w-e-text-container [contenteditable=false] .w-e-image-container:hover{box-shadow:none}.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin-top:10px;overflow-x:auto;padding:10px;width:100%}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);line-height:1.5;min-width:30px;padding:3px 5px;text-align:left}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);font-weight:700;text-align:center}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;height:15px;padding:3px 5px;width:20px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-textarea-video-container{background-image:linear-gradient(45deg,#eee 25%,transparent 0,transparent 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0,#fff 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin:10px auto 0;padding:10px 0;text-align:center}.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;margin:.5em 0;overflow:auto;padding:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help}.rte[data-v-5d40eca4]{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--input-bg)}.rte-toolbar-wrap[data-v-5d40eca4]{border-bottom:1px solid var(--line)}.rte-body-wrap[data-v-5d40eca4] .w-e-text-container{min-height:var(--v43440972);background:var(--input-bg);color:var(--ink)}.rte-body-wrap[data-v-5d40eca4] .w-e-text-placeholder{color:var(--muted);font-style:normal}.studio-hero[data-v-13f04f17]{margin-bottom:1.25rem}.studio-gate[data-v-13f04f17]{display:grid;gap:.85rem;max-width:28rem}.studio-gate p[data-v-13f04f17]{margin:0}.studio-gate-actions[data-v-13f04f17]{display:flex;flex-wrap:wrap;gap:.5rem}.studio-who[data-v-13f04f17]{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .85rem;font-size:.9rem}.studio-who a[data-v-13f04f17]{color:var(--accent);text-decoration:none}.studio-who strong[data-v-13f04f17]{color:var(--ink)}.password-field[data-v-13f04f17]{position:relative;display:flex;align-items:center}.password-field input[data-v-13f04f17]{padding-right:2.7rem}.password-toggle[data-v-13f04f17]{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:8px;background:transparent;color:var(--muted);padding:0}.password-toggle[data-v-13f04f17]:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.password-toggle svg[data-v-13f04f17]{width:1.15rem;height:1.15rem;display:block}.account-bar[data-v-13f04f17]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.account-main[data-v-13f04f17]{display:flex;align-items:center;gap:.85rem;min-width:0}.account-avatar[data-v-13f04f17]{width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;color:var(--accent);background:var(--stat-bg);border:1px solid var(--line);flex-shrink:0;overflow:hidden}.account-avatar img[data-v-13f04f17]{width:100%;height:100%;object-fit:cover}.account-name[data-v-13f04f17]{margin:0 0 .15rem}.profile-link[data-v-13f04f17]{font-size:.9rem;color:var(--accent);text-decoration:none;margin-right:.85rem}.studio-tabs[data-v-13f04f17]{display:flex;gap:.35rem;margin-bottom:.85rem;flex-wrap:wrap}.studio-tabs button[data-v-13f04f17]{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:.4rem .95rem;font-size:.9rem;transition:border-color .2s ease,color .2s ease,background .2s ease}.studio-tabs button[data-v-13f04f17]:hover,.studio-tabs button.active[data-v-13f04f17]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.composer-head[data-v-13f04f17]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.composer-head h2[data-v-13f04f17]{margin:0}.composer-grid[data-v-13f04f17]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}.composer-grid .field[data-v-13f04f17]{display:grid;gap:.35rem}.composer-grid .field.full[data-v-13f04f17]{grid-column:1 / -1}.content-head[data-v-13f04f17]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem;margin-bottom:.45rem}.content-tools[data-v-13f04f17]{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.content-mode[data-v-13f04f17]{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,#000)}.content-mode button[data-v-13f04f17]{border:none;background:transparent;color:var(--muted);border-radius:999px;padding:.28rem .75rem;font-size:.82rem;cursor:pointer;transition:color .2s ease,background .2s ease}.content-mode button.active[data-v-13f04f17]{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.md-workspace[data-v-13f04f17]{display:grid;gap:.65rem;min-height:360px}.md-workspace.is-split[data-v-13f04f17]{grid-template-columns:1fr 1fr}.md-workspace textarea[data-v-13f04f17]{min-height:360px;resize:vertical;width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:.75rem .9rem;font:inherit;line-height:1.5}.md-workspace textarea[data-v-13f04f17]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.md-preview[data-v-13f04f17]{min-height:360px;max-height:min(70vh,720px);overflow:auto;padding:.85rem 1rem 1rem;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 3%)}.md-preview-label[data-v-13f04f17]{margin:0 0 .65rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.md-preview-head[data-v-13f04f17]{margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.md-preview-head h3[data-v-13f04f17]{margin:0 0 .35rem;font-size:1.35rem}.md-preview-head p[data-v-13f04f17]{margin:0}.md-preview-empty[data-v-13f04f17]{margin:2rem 0;text-align:center}.content-field textarea[data-v-13f04f17]{min-height:360px;resize:vertical}@media (max-width: 860px){.md-workspace.is-split[data-v-13f04f17]{grid-template-columns:1fr}}.composer-foot[data-v-13f04f17]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem}.composer-opts[data-v-13f04f17]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.vis-field[data-v-13f04f17]{display:inline-flex;align-items:center;gap:.45rem;font-size:.92rem;color:var(--muted)}.vis-field select[data-v-13f04f17]{min-width:7.5rem;padding:.35rem .55rem;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,#000);color:var(--text)}.upload-note[data-v-13f04f17]{margin:.35rem 0 0;font-size:.9rem}.md-upload[data-v-13f04f17]{position:relative;overflow:hidden;padding:.4rem .85rem;font-size:.88rem;margin:0}.md-upload input[type=file][data-v-13f04f17]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0;border:none}.stats-grid[data-v-13f04f17]{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}.stat-card[data-v-13f04f17]{border:1px dashed var(--line);border-radius:12px;padding:.75rem .8rem;background:var(--stat-bg, color-mix(in srgb, var(--accent) 6%, transparent))}.stat-value[data-v-13f04f17]{display:block;font-size:1.25rem;font-weight:700;color:var(--accent)}.stat-label[data-v-13f04f17]{color:var(--muted);font-size:.85rem}.settings-lede[data-v-13f04f17]{margin-top:-.35rem}.settings-block[data-v-13f04f17]{display:grid;gap:.55rem;padding:1rem 0;border-top:1px dashed var(--line)}.settings-block[data-v-13f04f17]:first-of-type{border-top:none}.settings-block h3[data-v-13f04f17]{margin:0 0 .2rem;font-size:1rem}.settings-block .btn[data-v-13f04f17]{justify-self:start;margin-top:.25rem}.avatar-editor[data-v-13f04f17]{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.avatar-preview[data-v-13f04f17]{width:4.5rem;height:4.5rem;border-radius:16px;border:1px solid var(--line);background:var(--stat-bg);color:var(--accent);display:grid;place-items:center;overflow:hidden;font-family:var(--font-display);font-size:1.6rem;font-weight:700}.avatar-preview img[data-v-13f04f17]{width:100%;height:100%;object-fit:cover}@media (max-width: 720px){.composer-grid[data-v-13f04f17]{grid-template-columns:1fr}.account-bar[data-v-13f04f17]{flex-direction:column;align-items:stretch}}.user-hero[data-v-f143d6c7]{display:grid;gap:1.1rem;margin-bottom:1.5rem}.user-identity[data-v-f143d6c7]{display:flex;gap:1rem;align-items:center}.user-avatar[data-v-f143d6c7],.people-avatar[data-v-f143d6c7]{width:3.4rem;height:3.4rem;border-radius:14px;display:grid;place-items:center;font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:var(--accent);background:var(--stat-bg);border:1px solid var(--line);flex-shrink:0;overflow:hidden}.user-avatar img[data-v-f143d6c7],.people-avatar img[data-v-f143d6c7]{width:100%;height:100%;object-fit:cover}.people-avatar[data-v-f143d6c7]{width:2.4rem;height:2.4rem;font-size:1rem;border-radius:10px}.user-hero h1[data-v-f143d6c7]{margin:.1rem 0 .25rem;font-size:clamp(1.8rem,4vw,2.4rem)}.user-meta[data-v-f143d6c7]{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.user-actions[data-v-f143d6c7]{display:grid;gap:.75rem}.user-action-row[data-v-f143d6c7]{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.user-secondary-links[data-v-f143d6c7]{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.88rem}.user-secondary-links a[data-v-f143d6c7]{color:var(--muted);text-decoration:none}.user-secondary-links a[data-v-f143d6c7]:hover{color:var(--accent)}.me-hub[data-v-f143d6c7]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.me-hub-card[data-v-f143d6c7]{display:grid;gap:.2rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;background:color-mix(in srgb,var(--surface) 88%,transparent);transition:border-color .2s ease,background .2s ease}.me-hub-card[data-v-f143d6c7]:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.me-hub-card strong[data-v-f143d6c7]{font-size:.95rem}.me-hub-card .muted[data-v-f143d6c7]{font-size:.75rem;line-height:1.35}.follow-hint[data-v-f143d6c7]{margin:0;font-size:.9rem}@media (max-width: 720px){.me-hub[data-v-f143d6c7]{grid-template-columns:repeat(2,minmax(0,1fr))}}.user-stats[data-v-f143d6c7]{display:flex;flex-wrap:wrap;gap:.55rem}.stat-chip[data-v-f143d6c7]{border:1px solid var(--line);background:transparent;color:inherit;border-radius:12px;padding:.55rem .85rem;display:grid;gap:.1rem;text-align:left;min-width:5.5rem;transition:border-color .2s ease,background .2s ease}.stat-chip[data-v-f143d6c7]:hover,.stat-chip.active[data-v-f143d6c7]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.stat-chip strong[data-v-f143d6c7]{font-size:1.15rem;color:var(--accent)}.stat-chip span[data-v-f143d6c7]{font-size:.8rem;color:var(--muted)}.user-posts h2[data-v-f143d6c7],.user-graph h2[data-v-f143d6c7]{margin:0 0 .85rem;font-size:1.15rem}.people-list[data-v-f143d6c7]{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.people-list li[data-v-f143d6c7]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px dashed var(--line)}.people-link[data-v-f143d6c7]{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:0}.people-link span[data-v-f143d6c7]:last-child{display:grid;gap:.05rem}.btn.small[data-v-f143d6c7]{padding:.35rem .7rem;font-size:.85rem}.dash[data-v-af506271]{animation:rise .55s ease both}.dash-hero[data-v-af506271]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem;position:relative;overflow:hidden}.dash-hero[data-v-af506271]:before{content:"";position:absolute;inset:auto -10% -40% auto;width:220px;height:220px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%);pointer-events:none}.dash-identity[data-v-af506271]{display:flex;gap:.95rem;align-items:center;position:relative}.dash-avatar[data-v-af506271]{width:3.6rem;height:3.6rem;border-radius:16px;display:grid;place-items:center;overflow:hidden;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--accent);background:var(--stat-bg);border:1px solid var(--line);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.dash-avatar img[data-v-af506271]{width:100%;height:100%;object-fit:cover}.dash-hero h1[data-v-af506271]{margin:.15rem 0 .35rem;font-size:clamp(1.55rem,3.5vw,2.1rem)}.dash-actions[data-v-af506271]{display:flex;gap:.5rem;flex-wrap:wrap;position:relative}.kpi-grid[data-v-af506271]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.kpi-card[data-v-af506271]{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;padding:.85rem .9rem;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise .6s ease both}.kpi-card[data-v-af506271]:nth-child(2){animation-delay:.04s}.kpi-card[data-v-af506271]:nth-child(3){animation-delay:.08s}.kpi-card[data-v-af506271]:nth-child(4){animation-delay:.12s}.kpi-card[data-v-af506271]:nth-child(5){animation-delay:.16s}.kpi-card[data-v-af506271]:nth-child(6){animation-delay:.2s}.kpi-label[data-v-af506271]{display:block;color:var(--muted);font-size:.8rem}.kpi-value[data-v-af506271]{display:block;margin-top:.25rem;font-size:1.35rem;color:var(--kpi, var(--accent))}.kpi-glow[data-v-af506271]{position:absolute;right:-20%;bottom:-40%;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--kpi) 35%,transparent),transparent 70%);pointer-events:none}.heat-panel[data-v-af506271]{margin-bottom:.85rem}.heat-scroll[data-v-af506271]{overflow-x:auto;padding-bottom:.25rem;width:100%}.heat-board[data-v-af506271]{--heat-gap: 3px;--weeks: 53;display:grid;grid-template-columns:1.6rem minmax(0,1fr);grid-template-rows:1rem auto;gap:.35rem var(--heat-gap);width:100%;min-width:0}.heat-corner[data-v-af506271]{grid-column:1;grid-row:1}.heat-months[data-v-af506271]{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(var(--weeks),minmax(0,1fr));gap:var(--heat-gap);min-width:0}.heat-month-slot[data-v-af506271]{min-width:0;overflow:hidden;height:1rem}.heat-month-slot span[data-v-af506271]{display:block;white-space:nowrap;overflow:hidden;text-overflow:clip;font-size:.72rem;color:var(--muted);line-height:1rem}.heat-dows[data-v-af506271]{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(7,minmax(0,1fr));gap:var(--heat-gap);color:var(--muted);font-size:.68rem;line-height:1;align-items:center;justify-items:start}.heat-weeks[data-v-af506271]{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(var(--weeks),minmax(0,1fr));gap:var(--heat-gap);min-width:0;width:100%}.heat-week[data-v-af506271]{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));gap:var(--heat-gap);min-width:0}.heat-cell[data-v-af506271]{width:100%;aspect-ratio:1;min-width:0;min-height:0;border-radius:2px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--line) 35%,transparent);padding:0;cursor:default;transition:transform .15s ease,filter .15s ease}.heat-cell.heat-empty[data-v-af506271]{opacity:0;border-color:transparent;background:transparent;pointer-events:none}button.heat-cell[data-v-af506271]:hover{transform:scale(1.15);filter:brightness(1.15);z-index:1}.heat-cell.lv-0[data-v-af506271]{background:color-mix(in srgb,var(--line) 28%,transparent)}.heat-cell.lv-1[data-v-af506271]{background:color-mix(in srgb,var(--accent) 28%,transparent);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.heat-cell.lv-2[data-v-af506271]{background:color-mix(in srgb,var(--accent) 48%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.heat-cell.lv-3[data-v-af506271]{background:color-mix(in srgb,var(--accent) 72%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.heat-cell.lv-4[data-v-af506271]{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,#000)}.heat-legend[data-v-af506271]{display:flex;align-items:center;gap:.35rem;margin-top:.75rem;flex-wrap:wrap;font-size:.78rem}.heat-legend .heat-cell[data-v-af506271]{display:inline-block;width:11px;height:11px;aspect-ratio:auto;flex:0 0 11px}.heat-total[data-v-af506271]{margin-left:auto}.chart-grid[data-v-af506271]{display:grid;grid-template-columns:1.4fr 1fr;gap:.85rem;margin-bottom:.85rem}.chart-panel[data-v-af506271]{margin:0;min-width:0}.chart-head h2[data-v-af506271]{margin:0 0 .2rem;font-size:1.05rem}.chart-head p[data-v-af506271]{margin:0 0 .75rem;font-size:.88rem}.chart-wrap[data-v-af506271]{height:260px;position:relative}.chart-wrap.doughnut[data-v-af506271]{height:260px;max-width:320px;margin:0 auto}.top-table h2[data-v-af506271]{margin:0 0 .75rem;font-size:1.05rem}.table-scroll[data-v-af506271]{overflow-x:auto}table[data-v-af506271]{width:100%;border-collapse:collapse;font-size:.92rem}th[data-v-af506271],td[data-v-af506271]{text-align:left;padding:.65rem .5rem;border-bottom:1px dashed var(--line)}th[data-v-af506271]{color:var(--muted);font-weight:600;font-size:.82rem}td.heat[data-v-af506271]{color:var(--accent);font-weight:700}@media (max-width: 980px){.kpi-grid[data-v-af506271]{grid-template-columns:repeat(3,minmax(0,1fr))}.chart-grid[data-v-af506271]{grid-template-columns:1fr}}@media (max-width: 560px){.kpi-grid[data-v-af506271]{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-identity[data-v-af506271]{align-items:flex-start}}:root{--bg: #f3f5f8;--ink: #111827;--muted: #4b5563;--line: #d7dee8;--accent: #0f766e;--danger: #b91c1c;--surface: rgba(255, 255, 255, .88);--shadow: 0 18px 50px rgba(17, 24, 39, .08);--input-bg: #ffffff;--prose-ink: #1f2937;--row-hover: rgba(255, 255, 255, .55);--btn-fg: #ffffff;--btn-hover: #1f2937;--panel-grad: linear-gradient(180deg, rgba(15, 23, 42, .03), rgba(255, 255, 255, .92));--chip-bg: #ffffff;--node-bg: #ffffff;--mini-mix: #ffffff;--stat-bg: rgba(15, 118, 110, .04);--toc-bg: rgba(255, 255, 255, .62);--toc-bg-solid: rgba(255, 255, 255, .88);--body-glow-1: rgba(15, 118, 110, .14);--body-glow-2: rgba(37, 99, 235, .1);--body-base-1: #f7f9fc;--body-base-2: #eef2f7;--font-display: "Libre Bodoni", Georgia, serif;--font-body: "Public Sans", "Segoe UI", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--font-body);line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light}html.dark{--bg: #0b1220;--ink: #e8eef7;--muted: #94a3b8;--line: #2a3548;--accent: #2dd4bf;--danger: #f87171;--surface: rgba(15, 23, 42, .86);--shadow: 0 18px 50px rgba(0, 0, 0, .4);--input-bg: #111827;--prose-ink: #cbd5e1;--row-hover: rgba(255, 255, 255, .04);--btn-fg: #0b1220;--btn-hover: #5eead4;--panel-grad: linear-gradient(180deg, rgba(45, 212, 191, .06), rgba(15, 23, 42, .92));--chip-bg: rgba(17, 24, 39, .9);--node-bg: rgba(17, 24, 39, .9);--mini-mix: #0f172a;--stat-bg: rgba(45, 212, 191, .08);--toc-bg: rgba(15, 23, 42, .72);--toc-bg-solid: rgba(15, 23, 42, .9);--body-glow-1: rgba(45, 212, 191, .12);--body-glow-2: rgba(59, 130, 246, .12);--body-base-1: #0b1220;--body-base-2: #0f172a;color-scheme:dark;--w-e-textarea-bg-color: var(--input-bg);--w-e-textarea-color: var(--ink);--w-e-textarea-border-color: var(--line);--w-e-textarea-slight-border-color: var(--line);--w-e-textarea-slight-color: var(--muted);--w-e-textarea-slight-bg-color: color-mix(in srgb, var(--input-bg) 88%, #fff);--w-e-textarea-selected-border-color: color-mix(in srgb, var(--accent) 45%, transparent);--w-e-textarea-handler-bg-color: var(--accent);--w-e-toolbar-color: var(--muted);--w-e-toolbar-bg-color: var(--input-bg);--w-e-toolbar-active-color: var(--ink);--w-e-toolbar-active-bg-color: color-mix(in srgb, var(--accent) 14%, transparent);--w-e-toolbar-disabled-color: color-mix(in srgb, var(--muted) 55%, transparent);--w-e-toolbar-border-color: var(--line);--w-e-modal-button-bg-color: color-mix(in srgb, var(--input-bg) 92%, #fff);--w-e-modal-button-border-color: var(--line)}html.dark .w-e-bar-item-menus-container,html.dark .w-e-select-list,html.dark .w-e-panel-container,html.dark .w-e-drop-panel,html.dark .w-e-textarea-container,html.dark .w-e-modal,html.dark .w-e-panel-content-color,html.dark .w-e-panel-content-emotion,html.dark .w-e-panel-tab-content,html.dark .w-e-panel-content-table,html.dark .w-e-panel-content-link,html.dark .w-e-panel-content-video{background-color:var(--input-bg);color:var(--ink);border-color:var(--line);color-scheme:dark}html.dark .w-e-select-list ul li,html.dark .w-e-bar-item-menus-container .w-e-bar-item button{color:var(--ink)}html.dark .w-e-select-list ul li:hover,html.dark .w-e-bar-item-menus-container .w-e-bar-item button:hover{background-color:color-mix(in srgb,var(--accent) 12%,transparent)}html.dark .w-e-select-list ul li.selected{background-color:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--ink)}html.dark .w-e-modal input,html.dark .w-e-modal textarea,html.dark .w-e-panel-container input,html.dark .w-e-panel-container textarea,html.dark .w-e-panel-container select{background:color-mix(in srgb,var(--input-bg) 92%,#000);color:var(--ink);border-color:var(--line)}html.dark .w-e-modal button,html.dark .w-e-panel-container button{background:color-mix(in srgb,var(--input-bg) 92%,#fff);color:var(--ink);border-color:var(--line)}html.dark .w-e-modal button:hover,html.dark .w-e-panel-container button:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}html{transition:background-color .35s ease,color .35s ease}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% 12%,var(--body-glow-1),transparent 32%),radial-gradient(circle at 90% 0%,var(--body-glow-2),transparent 28%),linear-gradient(180deg,var(--body-base-1) 0%,var(--body-base-2) 100%);transition:background .4s ease,color .35s ease}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em;transition:color .2s ease,opacity .2s ease}a:hover{color:var(--accent)}button,.btn,input,textarea{font:inherit}button,.btn,a,input,textarea{cursor:pointer}input,textarea{width:100%;border:1px solid var(--line);background:var(--input-bg);color:var(--ink);border-radius:10px;padding:.75rem .9rem}textarea{resize:vertical}button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{width:min(920px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 3rem}.shell:has(.about-page),.shell:has(.dash),.shell:has(.tools-page){width:min(1080px,calc(100% - 2rem))}@media (min-width: 981px){.shell:has(.article-layout.has-toc){width:min(1320px,calc(100% - 2rem))}}.site-header{position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0 1.5rem;border-bottom:1px solid var(--line);animation:rise .6s ease both}.header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.brand{font-family:var(--font-display);font-size:1.6rem;font-weight:700;letter-spacing:.04em;text-decoration:none}.nav{display:flex;gap:1rem}.nav a{text-decoration:none;color:var(--muted);font-weight:500}.nav a.router-link-active{color:var(--ink)}.header-tools{display:flex;align-items:center;gap:.55rem}.me-wrap{position:relative}.me-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;box-shadow:var(--shadow);padding:0}.me-trigger:hover{border-color:var(--accent)}.me-avatar{width:1.7rem;height:1.7rem;border-radius:999px;display:grid;place-items:center;overflow:hidden;font-size:.78rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.me-avatar img{width:100%;height:100%;object-fit:cover}.me-panel{position:absolute;right:0;top:calc(100% + .45rem);width:min(14.5rem,calc(100vw - 2rem));background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:60;padding:.55rem;display:grid;gap:.15rem}.me-panel-name{margin:.15rem .55rem .45rem;font-size:.78rem;color:var(--muted)}.me-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-radius:10px;color:inherit;text-decoration:none;font-size:.92rem}.me-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.me-item-studio{margin-top:.2rem;border-top:1px solid var(--line);border-radius:0 0 10px 10px;color:var(--muted)}.me-item-logout{margin-top:.2rem;border:none;border-top:1px solid var(--line);border-radius:0 0 10px 10px;background:transparent;color:#e11d48;width:100%;text-align:left;cursor:pointer;font:inherit}.me-item-badge{min-width:1.15rem;padding:.05rem .35rem;border-radius:999px;background:#e11d48;color:#fff;font-size:.7rem;text-align:center;line-height:1.15rem}.me-login{display:inline-flex;align-items:center;justify-content:center;height:2.35rem;padding:0 .9rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;box-shadow:var(--shadow);text-decoration:none;font-size:.88rem;font-weight:600}.me-login:hover{border-color:var(--accent);color:var(--accent)}.notify-wrap{position:relative}.notify-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;box-shadow:var(--shadow);padding:0;text-decoration:none}a.notify-bell.router-link-active,.notify-bell:hover{border-color:var(--accent);color:var(--accent)}.notify-bell svg{width:1.15rem;height:1.15rem}.notify-badge{position:absolute;top:-.2rem;right:-.2rem;min-width:1.1rem;height:1.1rem;padding:0 .28rem;border-radius:999px;background:#e11d48;color:#fff;font-size:.68rem;font-weight:700;line-height:1.1rem;text-align:center}.notify-panel{position:absolute;right:0;top:calc(100% + .45rem);width:min(22rem,calc(100vw - 2rem));max-height:22rem;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:60;padding:.75rem}.notify-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.notify-mark{border:none;background:none;color:var(--accent);font-size:.82rem;padding:0;cursor:pointer}.notify-empty{margin:.5rem 0;font-size:.9rem}.notify-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.notify-item{display:grid;gap:.2rem;width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:10px;padding:.55rem .6rem;color:inherit;cursor:pointer;text-decoration:none}.notify-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.notify-list li.unread .notify-item{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}.notify-text{font-size:.9rem;line-height:1.4}.notify-item time{font-size:.75rem}.lang-toggle{display:inline-flex;align-items:center;gap:.2rem;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:.38rem .7rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace;font-size:.78rem;font-weight:600;letter-spacing:.04em;transition:border-color .2s ease,transform .2s ease,color .2s ease}.lang-toggle:hover{border-color:var(--accent);transform:translateY(-1px)}.lang-opt{opacity:.45;transition:opacity .2s ease,color .2s ease}.lang-opt.active{opacity:1;color:var(--accent)}.lang-divider{opacity:.35}.theme-toggle{--toggle-track: linear-gradient(135deg, #fde68a 0%, #fb923c 100%);--toggle-thumb: #fff7ed;--toggle-icon: #b45309;--toggle-ring: rgba(251, 146, 60, .35);display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.28rem .6rem .28rem .28rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .25s ease,transform .2s ease,background .35s ease,box-shadow .35s ease}.theme-toggle.dark{--toggle-track: linear-gradient(135deg, #334155 0%, #0f172a 100%);--toggle-thumb: #1e293b;--toggle-icon: #e2e8f0;--toggle-ring: rgba(45, 212, 191, .35)}.theme-toggle:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 22px var(--toggle-ring)}.theme-track{position:relative;width:2.7rem;height:1.5rem;border-radius:999px;background:var(--toggle-track);overflow:hidden;transition:background .35s ease,box-shadow .35s ease;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}.theme-thumb{position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--toggle-thumb);box-shadow:0 2px 6px #0003;display:grid;place-items:center;transition:transform .35s cubic-bezier(.34,1.4,.64,1),background .35s ease;color:var(--toggle-icon)}.theme-toggle.dark .theme-thumb{transform:translate(1.2rem);box-shadow:0 2px 8px #00000073,0 0 0 1px #e2e8f01f}.icon-sun,.icon-moon{grid-area:1 / 1;width:.78rem;height:.78rem;transition:opacity .25s ease,transform .25s ease}.icon-moon{opacity:0;transform:rotate(-50deg) scale(.55)}.theme-toggle.dark .icon-sun{opacity:0;transform:rotate(50deg) scale(.55)}.theme-toggle.dark .icon-moon{opacity:1;transform:rotate(0) scale(1);filter:drop-shadow(0 0 3px rgba(226,232,240,.55))}.theme-text{font-size:.78rem;color:var(--muted);min-width:1em;transition:color .35s ease}.mono{font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace}.main{padding:2rem 0 3rem}.site-footer{border-top:1px solid var(--line);padding-top:1.25rem;color:var(--muted);font-size:.92rem}.hero,.about,.admin,.article{animation:rise .7s ease both}.eyebrow{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--accent);font-weight:600}h1{margin:0;font-family:var(--font-display);font-size:clamp(2.6rem,7vw,4.4rem);line-height:1.05;letter-spacing:-.02em}h2{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.5rem}.lede{margin:1rem 0 0;max-width:38rem;color:var(--muted);font-size:1.1rem}.post-list{margin-top:2.75rem;display:grid;gap:0}.post-row{display:grid;grid-template-columns:11rem 1fr;gap:1.25rem;padding:1.4rem 0;border-top:1px solid var(--line);transition:background .2s ease,transform .2s ease}.post-row:last-child{border-bottom:1px solid var(--line)}.post-row:hover{background:var(--row-hover);transform:translate(4px)}.post-meta time{color:var(--muted);font-size:.92rem}.post-body{min-width:0;overflow-wrap:anywhere;word-break:break-word}.post-body h2{margin:0 0 .35rem;font-size:1.45rem;overflow-wrap:anywhere;word-break:break-word}.post-body h2 a{text-decoration:none;overflow-wrap:anywhere;word-break:break-word}.post-body p{margin:0;color:var(--muted);overflow-wrap:anywhere;word-break:break-word}.article .prose{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.prose :is(h1,h2,h3,h4){font-family:var(--font-display);margin-top:1.8rem;margin-bottom:.65rem;line-height:1.25;scroll-margin-top:5rem;overflow-wrap:anywhere;word-break:break-word}.prose h1{font-size:1.75rem}.prose h2{font-size:1.4rem}.prose h3{font-size:1.15rem}.prose p,.prose li{color:var(--prose-ink)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em;word-break:break-all}.prose ul,.prose ol{padding-left:1.35rem;color:var(--prose-ink)}.prose li+li{margin-top:.35rem}.prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;margin:1.25rem 0;font-size:.92rem}.prose thead{background:color-mix(in srgb,var(--accent) 10%,transparent)}.prose th,.prose td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left;vertical-align:top;color:var(--prose-ink)}.prose th{font-weight:700;white-space:nowrap}.prose tr:nth-child(2n) td{background:color-mix(in srgb,var(--ink) 3%,transparent)}.prose blockquote{margin:1rem 0;padding:.35rem 0 .35rem 1rem;border-left:3px solid var(--accent);color:var(--muted)}.prose hr{border:none;border-top:1px solid var(--line);margin:1.5rem 0}.prose pre{overflow:auto;padding:1rem;border-radius:12px;background:#111827;color:#f9fafb}.prose pre.mermaid{background:transparent;color:inherit;padding:.5rem 0;border-radius:0;text-align:center}.prose pre.mermaid svg{max-width:100%;height:auto}.prose img{max-width:100%;height:auto;border-radius:10px;margin:.75rem 0}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.prose :not(pre)>code{padding:.1em .35em;border-radius:4px;background:color-mix(in srgb,var(--ink) 6%,transparent);overflow-wrap:anywhere;word-break:break-word;white-space:normal}.back{display:inline-block;margin-top:2rem;color:var(--accent);text-decoration:none;font-weight:600}.about-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.about-grid>div,.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.25rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.about-grid p{margin:0;color:var(--muted)}.admin{display:grid;gap:1.25rem}.panel{display:grid;gap:.65rem}.panel h2{margin-bottom:.25rem}.row{display:flex;gap:.75rem;align-items:center}.row.between{justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:.7rem 1.1rem;background:var(--ink);color:var(--btn-fg);font-weight:600;transition:transform .2s ease,background .2s ease,opacity .2s ease}.btn:hover{transform:translateY(-1px);background:var(--btn-hover)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--danger);color:#fff}.check{display:flex;align-items:center;gap:.5rem}.check input{width:auto}.admin-list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.admin-list li{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-top:.85rem;border-top:1px solid var(--line);min-width:0}.admin-item-meta{min-width:0;flex:1 1 auto;overflow:hidden}.admin-item-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item-meta .muted{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.admin-item-actions{display:flex;flex:0 0 auto;gap:.55rem;align-items:center}.admin-item-actions .btn{white-space:nowrap;flex-shrink:0}.muted{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 760px){.shell{width:min(100% - 1.25rem,920px)}h1{font-size:clamp(1.75rem,8vw,2.35rem)}.nav{flex-wrap:wrap;gap:.65rem .9rem;width:100%}.header-tools{flex-wrap:wrap;justify-content:flex-start;margin-left:0;width:100%;gap:.45rem}.post-row,.about-grid{grid-template-columns:1fr}.site-header{flex-direction:column;align-items:flex-start;gap:.85rem}.header-right{width:100%;flex-direction:column;align-items:stretch;gap:.75rem}.admin-list li,.row{flex-direction:column;align-items:stretch}.admin-item-actions{justify-content:flex-start}.admin-item-meta strong,.admin-item-meta .muted{white-space:normal}.prose table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.prose th{white-space:normal}.prose pre{max-width:100%}.prose pre.mermaid svg{max-width:100%}.post-body h2,.post-body p,.article .prose :is(h1,h2,h3,h4),.article h1{overflow-wrap:anywhere;word-break:break-word}}.vis-badge{display:inline-block;margin-left:.45rem;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;vertical-align:middle;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.vis-badge.private{color:var(--muted);background:color-mix(in srgb,var(--line) 35%,transparent);border-color:var(--line)}
