.tut-cover[data-v-69f31460]{aspect-ratio:16/9;background:#e2e8f0;overflow:hidden;position:relative}.tut-cover img[data-v-69f31460]{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.tut-cover-fallback[data-v-69f31460]{align-items:flex-end;box-sizing:border-box;display:flex;height:100%;padding:14px 14px 16px;position:relative;width:100%}.tut-cover-pattern[data-v-69f31460]{background-image:linear-gradient(hsla(0,0%,100%,.35) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.35) 1px,transparent 0);background-size:18px 18px;inset:0;opacity:.14;position:absolute}.tut-cover-glow[data-v-69f31460]{background:radial-gradient(circle,hsla(0,0%,100%,.28) 0,transparent 68%);border-radius:50%;height:78%;pointer-events:none;position:absolute;right:-10%;top:-20%;width:58%}.tut-cover-body[data-v-69f31460]{min-width:0;position:relative;z-index:1}.tut-cover-icon[data-v-69f31460]{display:block;filter:drop-shadow(0 1px 2px rgba(15,23,42,.2));font-size:22px;line-height:1;margin-bottom:8px}.tut-cover-title[data-v-69f31460]{color:#fff;display:-webkit-box;font-size:14px;font-weight:700;-webkit-line-clamp:2;line-height:1.35;margin:0;text-shadow:0 1px 3px rgba(15,23,42,.28);-webkit-box-orient:vertical;overflow:hidden}.tut-card-cat[data-v-69f31460]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a9e;border-radius:8px;color:#fff;font-size:var(--m-caption,11px);font-weight:600;left:10px;padding:3px 9px;position:absolute;top:10px;z-index:2}.tut-wrap[data-v-6d826355]{padding:18px 0 8px}.tut-list-head[data-v-6d826355]{background:var(--bg-card,#f3ede4);border:1px solid var(--border-color,rgba(37,32,24,.09));border-radius:16px;box-shadow:none;margin-bottom:18px;overflow:hidden}.tut-hero[data-v-6d826355]{margin:0;padding:16px 16px 12px}.tut-hero-row[data-v-6d826355]{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.tut-hero-text[data-v-6d826355]{flex:1;min-width:0}.tut-hero-kicker[data-v-6d826355]{background:var(--accent-bg,rgba(168,74,58,.12));border-radius:6px;color:var(--accent,#a84a3a);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;margin:0 0 8px;padding:3px 8px}.tut-hero-title[data-v-6d826355]{color:var(--text-primary,#252018);font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 6px}.tut-hero-sub[data-v-6d826355]{color:var(--text-muted,#7a7168);font-size:13px;line-height:1.55;margin:0;max-width:22em}.tut-hero-index[data-v-6d826355]{align-items:center;background:var(--bg-page,#ebe4d8);border:1px solid var(--border-color,rgba(37,32,24,.09));border-radius:999px;box-shadow:none;color:var(--accent,#a84a3a);display:inline-flex;flex-shrink:0;font-size:13px;font-weight:600;gap:2px;margin-top:2px;padding:8px 12px;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease;white-space:nowrap}.tut-hero-index[data-v-6d826355]:hover{background:var(--accent-bg-hover,rgba(168,74,58,.18));border-color:var(--accent,#a84a3a)}.tut-hero-index[data-v-6d826355]:active{transform:scale(.98)}.tut-hero-index-arrow[data-v-6d826355]{font-size:16px;line-height:1;margin-top:-1px}.tut-cats[data-v-6d826355]{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:0 12px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tut-cats[data-v-6d826355]::-webkit-scrollbar{display:none}.tut-cat-pill[data-v-6d826355]{background:#2520180f;border:none;border-radius:999px;color:var(--text-secondary,#4a4338);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:500;line-height:1.2;padding:7px 14px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.tut-cat-pill[data-v-6d826355]:hover{background:#25201817;color:var(--text-primary,#252018)}.tut-cat-pill.active[data-v-6d826355]{background:var(--accent,#a84a3a);box-shadow:none;color:#f3ede4;font-weight:600}.tut-grid[data-v-6d826355]{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}.tut-card[data-v-6d826355]{background:var(--bg-card,#fff);border:1px solid var(--border-light,#e2e8f0);border-radius:14px;color:inherit;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tut-card[data-v-6d826355]:hover{border-color:var(--accent,#3b82f6);box-shadow:0 10px 28px #0f172a1f;transform:translateY(-3px)}.tut-art-cover-wrap[data-v-6d826355]{border-radius:14px;margin-bottom:20px;overflow:hidden}.tut-art-cover-wrap[data-v-6d826355] .tut-cover{aspect-ratio:21/9}.tut-card-body[data-v-6d826355]{display:flex;flex:1;flex-direction:column;padding:13px 14px 14px}.tut-card-title[data-v-6d826355]{color:var(--text-primary,#0f172a);font-size:15.5px;font-weight:700;line-height:1.4;margin:0 0 6px}.tut-card-desc[data-v-6d826355]{color:var(--text-secondary,#64748b);display:-webkit-box;font-size:var(--m-body);-webkit-line-clamp:2;line-height:1.55;margin:0 0 12px;-webkit-box-orient:vertical;overflow:hidden}.tut-card-foot[data-v-6d826355]{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:auto}.tut-card-tags[data-v-6d826355]{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.tut-tag[data-v-6d826355]{color:var(--accent,#3b82f6)}.tut-card-read[data-v-6d826355],.tut-tag[data-v-6d826355]{font-size:var(--m-caption);white-space:nowrap}.tut-card-read[data-v-6d826355]{flex-shrink:0}.tut-card-read[data-v-6d826355],.tut-empty[data-v-6d826355]{color:var(--text-muted,#94a3b8)}.tut-empty[data-v-6d826355]{font-size:var(--m-body-lg);padding:48px 0;text-align:center}.tut-extra[data-v-6d826355]{margin-top:34px}.tut-extra-head[data-v-6d826355]{align-items:center;display:flex;gap:12px;margin-bottom:8px}.tut-extra-line[data-v-6d826355]{background:var(--border-light,#e2e8f0);flex:1;height:1px}.tut-extra-label[data-v-6d826355]{color:var(--text-muted,#94a3b8);font-size:var(--m-body);white-space:nowrap}.tut-back[data-v-6d826355]{background:none;border:none;color:var(--accent,#3b82f6);cursor:pointer;font-size:var(--m-body);margin-bottom:14px;padding:4px 0}.tut-back[data-v-6d826355]:hover{text-decoration:underline}.tut-article[data-v-6d826355]{margin:0 auto;max-width:760px}.tut-art-head[data-v-6d826355]{margin-bottom:18px}.tut-cat[data-v-6d826355]{background:var(--accent-bg,rgba(37,99,235,.08));border-radius:8px;color:var(--accent,#3b82f6);display:inline-block;font-size:var(--m-caption);font-weight:600;margin-bottom:12px;padding:3px 10px}.tut-art-title[data-v-6d826355]{color:var(--text-primary,#0f172a);font-size:var(--m-hero);font-weight:var(--m-value-weight);letter-spacing:-.02em;line-height:1.3;margin:0 0 10px}.tut-art-desc[data-v-6d826355]{color:var(--text-secondary,#475569);font-size:var(--m-callout);line-height:1.6;margin:0 0 12px}.tut-art-meta[data-v-6d826355]{align-items:center;color:var(--text-muted,#94a3b8);display:flex;font-size:var(--m-body);gap:7px}.tut-art-meta .dot[data-v-6d826355]{opacity:.6}.tut-art-foot[data-v-6d826355]{border-top:1px solid var(--border-light,#e2e8f0);margin-top:36px;padding-top:18px}.tut-prose[data-v-6d826355]{color:var(--text-primary,#1e293b);font-size:var(--m-callout);line-height:1.85;word-break:break-word}.tut-prose[data-v-6d826355] h2{border-bottom:1px solid var(--border-light,#e2e8f0);color:var(--text-primary,#0f172a);font-size:21px;font-weight:700;margin:34px 0 14px;padding-bottom:8px;scroll-margin-top:80px}.tut-prose[data-v-6d826355] h3{color:var(--text-primary,#0f172a);font-size:17.5px;font-weight:700;margin:26px 0 10px}.tut-prose[data-v-6d826355] h4{color:var(--text-secondary,#334155);font-size:15.5px;font-weight:700;margin:20px 0 8px}.tut-prose[data-v-6d826355] p{margin:0 0 16px}.tut-prose[data-v-6d826355] a{border-bottom:1px solid color-mix(in srgb,var(--accent,#2563eb) 35%,transparent);color:var(--accent,#2563eb);text-decoration:none}.tut-prose[data-v-6d826355] a:hover{border-bottom-color:var(--accent,#2563eb)}.tut-prose[data-v-6d826355] strong{color:var(--text-primary,#0f172a);font-weight:700}.tut-prose[data-v-6d826355] ol,.tut-prose[data-v-6d826355] ul{counter-reset:step;list-style:none;margin:0 0 16px;padding-left:0}.tut-prose[data-v-6d826355] ol li,.tut-prose[data-v-6d826355] ul li{margin-bottom:10px;padding-left:30px;position:relative}.tut-prose[data-v-6d826355] ul li:before{background:var(--accent,#3b82f6);border-radius:50%;content:"";height:6px;left:8px;position:absolute;top:12px;width:6px}.tut-prose[data-v-6d826355] ol li{counter-increment:step}.tut-prose[data-v-6d826355] ol li:before{background:var(--accent,#3b82f6);border-radius:50%;color:#fff;content:counter(step);font-size:var(--m-caption);font-weight:700;height:21px;left:0;line-height:21px;position:absolute;text-align:center;top:3px;width:21px}.tut-prose[data-v-6d826355] img{border:1px solid var(--border-light,#e2e8f0);border-radius:12px;box-shadow:0 4px 16px #0f172a14;display:block;height:auto;margin:8px auto 4px;max-width:100%}.tut-prose[data-v-6d826355] blockquote{background:var(--accent-bg,rgba(37,99,235,.06));border-left:3px solid var(--accent,#3b82f6);border-radius:0 8px 8px 0;color:var(--text-secondary,#475569);margin:0 0 16px;padding:12px 16px}.tut-prose[data-v-6d826355] blockquote p{margin:0}.tut-prose[data-v-6d826355] code{background:var(--bg-input,#f1f5f9);border-radius:5px;color:#db2777;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;padding:2px 6px}.tut-prose[data-v-6d826355] pre{background:#0f172a;border-radius:10px;color:#e2e8f0;font-size:var(--m-body);line-height:1.6;margin:0 0 16px;overflow-x:auto;padding:14px 16px}.tut-prose[data-v-6d826355] pre code{background:none;color:inherit;padding:0}.tut-prose[data-v-6d826355] hr{border:none;border-top:1px solid var(--border-light,#e2e8f0);margin:28px 0}.tut-prose[data-v-6d826355] table{border-collapse:collapse;font-size:var(--m-body-lg);margin:0 0 16px;width:100%}.tut-prose[data-v-6d826355] td,.tut-prose[data-v-6d826355] th{border:1px solid var(--border-light,#e2e8f0);padding:8px 12px;text-align:left}.tut-prose[data-v-6d826355] th{background:var(--bg-page,#f8fafc);font-weight:700}.tut-prose[data-v-6d826355] figure.tut-fig{margin:8px 0 16px}.tut-prose[data-v-6d826355] figure.tut-fig figcaption{color:var(--text-muted,#94a3b8);font-size:var(--m-body);margin-top:6px;text-align:center}.tut-prose[data-v-6d826355] ul.tut-checklist{list-style:none;padding-left:0}.tut-prose[data-v-6d826355] ul.tut-checklist li{margin-bottom:10px;padding-left:30px;position:relative}.tut-prose[data-v-6d826355] ul.tut-checklist li:before{background:transparent;border:1.5px solid var(--border-light,#cbd5e1);border-radius:4px;content:"";height:16px;left:5px;position:absolute;top:4px;width:16px}.tut-prose[data-v-6d826355] ul.tut-checklist li.done:before{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:#fff;content:"✓";font-size:var(--m-caption);line-height:15px;text-align:center}.tut-prose[data-v-6d826355] .tut-embed{height:0;margin:0 0 16px;padding-bottom:56.25%;position:relative}.tut-prose[data-v-6d826355] .tut-embed iframe{border:0;border-radius:10px;height:100%;inset:0;position:absolute;width:100%}.tut-topbar[data-v-6d826355]{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.tut-share[data-v-6d826355]{background:var(--bg-card,#fff);border:1px solid var(--border-light,#e2e8f0);border-radius:999px;color:var(--text-secondary,#475569);cursor:pointer;font-size:var(--m-body);padding:6px 14px;transition:all .15s;white-space:nowrap}.tut-share[data-v-6d826355]:hover{border-color:var(--accent,#3b82f6);color:var(--accent,#3b82f6)}.tut-share-hint[data-v-6d826355]{background:var(--accent-bg,rgba(37,99,235,.08));border-radius:8px;color:var(--accent,#2563eb);font-size:var(--m-body);line-height:1.5;margin:-4px 0 14px;padding:8px 12px}.tut-cta[data-v-6d826355]{align-items:center;background:linear-gradient(135deg,#5b3fe0,#2563eb);border-radius:16px;box-shadow:0 12px 30px #2563eb40;color:#fff;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-top:36px;padding:20px 22px}.tut-cta-title[data-v-6d826355]{font-size:16.5px;font-weight:var(--m-value-weight);margin-bottom:5px}.tut-cta-sub[data-v-6d826355]{font-size:var(--m-body);line-height:1.6;opacity:.92}.tut-cta-btn[data-v-6d826355]{background:#fff;border-radius:999px;color:#2563eb;display:inline-block;flex-shrink:0;font-size:var(--m-body-lg);font-weight:700;padding:11px 20px;text-decoration:none;transition:transform .15s;white-space:nowrap}.tut-cta-btn[data-v-6d826355]:hover{transform:translateY(-2px)}.tut-missing[data-v-6d826355]{color:var(--text-secondary,#475569);margin:60px auto;max-width:520px;text-align:center}.tut-missing-emoji[data-v-6d826355]{font-size:44px;margin-bottom:12px}.tut-missing p[data-v-6d826355]{font-size:var(--m-subhead);margin-bottom:20px}.tut-missing-btn[data-v-6d826355]{background:var(--accent,#2563eb);border-radius:999px;color:#fff;display:inline-block;font-weight:700;padding:11px 22px;text-decoration:none}@media(max-width:640px){.tut-grid[data-v-6d826355]{gap:13px;grid-template-columns:1fr}.tut-art-title[data-v-6d826355]{font-size:23px}.tut-prose[data-v-6d826355]{font-size:15.5px}}.tut-loading[data-v-6d826355]{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:14px;justify-content:center;padding:80px 20px}.tut-loading p[data-v-6d826355]{font-size:var(--m-body-lg);margin:0}.tut-loading-spin[data-v-6d826355]{animation:tut-spin-6d826355 .8s linear infinite;border:3px solid rgba(124,92,255,.25);border-radius:50%;border-top-color:#7c5cff;height:32px;width:32px}@keyframes tut-spin-6d826355{to{transform:rotate(1turn)}}
