.article-container[data-v-aab9b15e]{--container:1080px;margin-inline:auto;max-width:1080px;padding-inline:var(--gutter,24px)}.loading-state[data-v-aab9b15e]{display:flex;gap:8px;justify-content:center;padding:80px 0}.loading-dot[data-v-aab9b15e]{animation:dotPulse-aab9b15e 1.4s ease-in-out infinite both;background:var(--accent);border-radius:50%;height:8px;width:8px}.loading-dot[data-v-aab9b15e]:first-child{animation-delay:-.32s}.loading-dot[data-v-aab9b15e]:nth-child(2){animation-delay:-.16s}.loading-dot[data-v-aab9b15e]:nth-child(3){animation-delay:0s}@keyframes dotPulse-aab9b15e{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.error-state[data-v-aab9b15e]{color:var(--danger);font-family:var(--font-mono);font-size:var(--fs-sm);padding:80px 0;text-align:center}.error-state .back-link[data-v-aab9b15e]{color:var(--accent);display:inline-block;margin-top:16px;text-decoration:none}.article-header[data-v-aab9b15e]{padding:clamp(48px,8vh,80px) 0 32px}.article-header .breadcrumb[data-v-aab9b15e]{color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;margin-bottom:20px}.article-header .breadcrumb a[data-v-aab9b15e]{color:var(--accent);text-decoration:none}.article-header .breadcrumb a[data-v-aab9b15e]:hover{text-decoration:underline}.article-header .cats[data-v-aab9b15e]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.article-header .cats span[data-v-aab9b15e]{border:1px solid var(--border);border-radius:999px;color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;padding:3px 10px;text-transform:uppercase}.article-header .cats .accent-cat[data-v-aab9b15e]{border-color:var(--accent);color:var(--accent)}.article-header h1[data-v-aab9b15e]{font-family:var(--font-display);font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:16px}.owner-actions[data-v-aab9b15e]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.owner-action[data-v-aab9b15e]{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm,8px);color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:11px;padding:7px 14px;text-decoration:none;transition:all .2s}.owner-action[data-v-aab9b15e]:hover:not(:disabled){border-color:var(--accent);color:var(--fg)}.owner-action.danger[data-v-aab9b15e]:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.owner-action[data-v-aab9b15e]:disabled{cursor:not-allowed;opacity:.5}.article-header .meta-row[data-v-aab9b15e]{color:var(--muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--fs-xs);gap:20px}.article-header .meta-row span[data-v-aab9b15e]{align-items:center;display:flex;gap:6px}.article-header .edit-info[data-v-aab9b15e]{color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-xs);margin-top:8px;opacity:.8}.article-reading-layout[data-v-aab9b15e]{align-items:start;display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:minmax(0,760px) minmax(190px,240px);margin:28px 0 40px}.article-reading-layout.without-toc[data-v-aab9b15e]{grid-template-columns:minmax(0,760px)}.article-body-shell[data-v-aab9b15e]{background:color-mix(in oklch,var(--surface) 38%,transparent);border-bottom:1px solid var(--border);border-left:2px solid color-mix(in oklch,var(--accent) 72%,transparent);border-top:1px solid var(--border);padding:22px 24px 24px;position:relative}.article-body[data-v-aab9b15e]{min-width:0}.article-toc[data-v-aab9b15e]{max-height:calc(100vh - 104px);overflow:auto;position:sticky;scrollbar-width:none;top:84px}.article-toc[data-v-aab9b15e]::-webkit-scrollbar{display:none}.article-toc-inner[data-v-aab9b15e]{border-left:1px solid var(--border);padding:4px 0 4px 18px}.article-toc-title[data-v-aab9b15e]{color:var(--muted);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;margin:0 0 12px;text-transform:uppercase}.article-toc .toc-nav[data-v-aab9b15e]{display:grid;font-family:var(--font-mono);font-size:12px;gap:2px}.article-toc .toc-link[data-v-aab9b15e]{color:var(--muted);display:block;line-height:1.5;padding:3px 0;text-decoration:none;transition:color .2s ease}.article-toc .toc-link[data-v-aab9b15e]:hover{color:var(--fg-2)}.article-toc .toc-link.is-active[data-v-aab9b15e]{color:var(--accent)}.article-toc .toc-lvl-3[data-v-aab9b15e]{padding-left:14px}.article-body[data-v-aab9b15e] .lead{border-left:2px solid var(--accent);color:var(--fg-2);font-size:var(--fs-sm,14px);line-height:1.7;margin-bottom:var(--gap-lg);max-width:65ch;padding-left:20px}.article-body[data-v-aab9b15e] h2{font-family:var(--font-display);font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-.015em;line-height:1.3;margin:48px 0 16px}.article-body[data-v-aab9b15e] h3{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.005em;margin:32px 0 12px}.article-body[data-v-aab9b15e] p{color:var(--fg-2);line-height:1.75;margin-bottom:16px}.article-body[data-v-aab9b15e] .editor-image{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm,8px);display:block;height:auto;margin:20px 0 26px;max-width:100%}.article-body[data-v-aab9b15e] .editor-img-placeholder{align-items:center;background:color-mix(in oklch,var(--surface) 64%,var(--bg));border:1px dashed color-mix(in oklch,var(--accent) 46%,var(--border));border-radius:var(--radius-sm,8px);color:var(--fg-2);display:flex;font-family:var(--font-mono);font-size:12px;gap:10px;justify-content:center;margin:18px 0 24px;min-height:148px;padding:18px;text-align:center}.article-body[data-v-aab9b15e] .editor-img-placeholder svg{color:var(--accent);flex:0 0 auto;height:18px;opacity:.9;width:18px}.article-body[data-v-aab9b15e] p>code{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--accent);font-family:var(--font-mono);font-size:.9em;padding:2px 6px}.article-body[data-v-aab9b15e] pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);font-family:var(--font-mono);font-size:14px;line-height:1.6;margin:24px 0;overflow-x:auto;padding:20px;position:relative}.article-body[data-v-aab9b15e] blockquote{background:var(--surface);border-left:2px solid var(--accent);border-radius:0 var(--radius-sm,8px) var(--radius-sm,8px) 0;margin:24px 0;padding:16px 20px}.article-body[data-v-aab9b15e] blockquote p{color:var(--fg);font-style:italic;margin:0}.article-body[data-v-aab9b15e] ol,.article-body[data-v-aab9b15e] ul{color:var(--fg-2);margin:16px 0;padding-left:24px}.article-body[data-v-aab9b15e] li{margin-bottom:8px}.article-body[data-v-aab9b15e] a{color:var(--accent);text-decoration:underline}.article-actions-panel[data-v-aab9b15e]{align-items:stretch;border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:grid;gap:28px;grid-template-columns:minmax(0,1fr) minmax(280px,520px);margin-bottom:var(--gap-xl);padding:24px 0}.article-actions-main[data-v-aab9b15e]{display:flex;flex-direction:column;gap:24px;justify-content:space-between;min-width:0}.action-label[data-v-aab9b15e]{color:var(--muted);display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.article-actions-panel .tags[data-v-aab9b15e]{display:flex;flex-wrap:wrap;gap:8px}.article-actions-panel .tags span[data-v-aab9b15e]{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-family:var(--font-mono);font-size:10px;padding:5px 12px}.article-actions-panel .share-row[data-v-aab9b15e]{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.article-actions-panel .share-row .action-label[data-v-aab9b15e]{flex-basis:100%;margin-bottom:0}.article-actions-panel .share-row a[data-v-aab9b15e]{border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:11px;padding:7px 14px;text-decoration:none;transition:all .2s}.article-actions-panel .share-row a[data-v-aab9b15e]:hover{background:var(--surface);border-color:var(--accent);color:var(--fg)}.article-actions-panel .share-row a.disabled[data-v-aab9b15e]{cursor:wait;opacity:.55;pointer-events:none}.tip-panel[data-v-aab9b15e]{background:color-mix(in oklch,var(--surface) 62%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm,8px);display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px}.tip-panel-head[data-v-aab9b15e]{align-items:center;display:flex;gap:16px;justify-content:space-between}.tip-panel-head p[data-v-aab9b15e]{color:var(--fg-2);margin:0}.btn-tip[data-v-aab9b15e],.tip-panel-head p[data-v-aab9b15e]{font-family:var(--font-mono);font-size:12px}.btn-tip[data-v-aab9b15e]{background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;color:var(--accent);cursor:pointer;letter-spacing:.04em;padding:9px 18px;transition:all .2s}.btn-tip[data-v-aab9b15e]:hover:not(:disabled){background:var(--accent);color:var(--bg)}.btn-tip[data-v-aab9b15e]:disabled{cursor:not-allowed;opacity:.5}.tip-msg[data-v-aab9b15e]{border-radius:var(--radius-sm,8px);font-family:var(--font-mono);font-size:11px;padding:6px 10px;text-align:center}.tip-msg.success[data-v-aab9b15e]{background:#4f8a4f1a;color:var(--success)}.tip-msg.error[data-v-aab9b15e]{background:#e050501a;color:var(--danger)}.tip-records[data-v-aab9b15e]{display:grid;gap:6px}.tip-record[data-v-aab9b15e]{align-items:center;background:color-mix(in oklch,var(--bg) 74%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm,8px);color:var(--muted);display:grid;font-family:var(--font-mono);font-size:11px;gap:10px;grid-template-columns:40px minmax(0,1fr) auto;padding:8px 10px;text-align:left}.tip-record .tip-rank[data-v-aab9b15e]{color:var(--fg-2)}.tip-record .tip-name[data-v-aab9b15e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tip-record strong[data-v-aab9b15e]{color:var(--accent);font-weight:700}.tip-hidden[data-v-aab9b15e]{color:var(--fg-2);margin:0}.empty-hint[data-v-aab9b15e],.tip-hidden[data-v-aab9b15e]{font-family:var(--font-mono);font-size:11px}.empty-hint[data-v-aab9b15e]{color:var(--muted)}@media(max-width:640px){.article-header .meta-row[data-v-aab9b15e]{flex-direction:column;gap:8px}.article-body[data-v-aab9b15e] pre{font-size:13px;padding:14px}.article-actions-panel[data-v-aab9b15e]{gap:18px;grid-template-columns:1fr}.tip-panel-head[data-v-aab9b15e]{align-items:flex-start;flex-direction:column}.btn-tip[data-v-aab9b15e]{width:100%}}@media(max-width:1020px){.article-container[data-v-aab9b15e]{--container:760px;max-width:760px}.article-reading-layout[data-v-aab9b15e],.article-reading-layout.without-toc[data-v-aab9b15e]{grid-template-columns:minmax(0,1fr)}.article-toc[data-v-aab9b15e]{display:none}}
