#cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--card-bg);border-top:1px solid var(--border-color);padding:14px 20px;display:flex;justify-content:center}#cookie-consent[hidden]{display:none}.cc-box{max-width:960px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-mute)}.cc-box p{margin:0;flex:1;min-width:220px}.cc-box a{color:var(--accent-color)}.cc-btns{display:flex;gap:8px}#cc-reject,#cc-accept{border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer}#cc-accept{background:var(--accent-color);color:#fff}#cc-reject{background:var(--bg-color);color:var(--text-main);border:1px solid var(--border-color)}:root{--bg: #FFFFFF;--bg-muted: #F9FAFB;--bg-card: #FFFFFF;--bg-card-hover: #F3F4F6;--text: #111827;--text-secondary: #6B7280;--text-soft: #1F2937;--border: #E5E7EB;--brand: #3B82F6;--brand-dark: #2563EB;--brand-glow: rgba(59, 130, 246, .2);--green: #22C55E;--green-bg: rgba(34, 197, 94, .05);--green-border: rgba(34, 197, 94, .2);--amber: #F59E0B;--amber-bg: rgba(245, 158, 11, .05);--amber-border: rgba(245, 158, 11, .2);--red: #EF4444;--red-bg: rgba(239, 68, 68, .05);--red-border: rgba(239, 68, 68, .2);--font-en: "Inter", system-ui, -apple-system, sans-serif;--font-zh: "Noto Sans SC", "Inter", system-ui, sans-serif;--font-mono: "Fira Code", "SF Mono", Monaco, "Courier New", monospace;--fs-h1-d: 64px;--fs-h1-m: 38px;--fs-h2: 42px;--fs-h3: 32px;--fs-h4: 26px;--fs-body: 20px;--fs-body-m: 18px;--fs-small: 14px;--fs-xs: 12px;--fs-code: 14px;--lh-heading: 1.1;--lh-body: 1.85;--lh-tight: 1.4;--fw-h1: 800;--fw-h2: 700;--fw-h3: 700;--fw-h4: 600;--fw-body: 400;--fw-mid: 500;--fw-bold: 600;--fw-extrabold: 800;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--s-16: 64px;--s-24: 96px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .12);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .16);--r-sm: 6px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-full: 999px;--max-w: 1320px;--w-article: 760px;--w-toc: 280px;--w-sidebar: 320px;--gap-layout: 24px;--t-hover: .15s ease;--t-page: .25s ease;--t-enter: .3s ease;--z-header: 100;--z-toc: 50;--z-modal: 1000;--z-toast: 1100}html[data-theme=dark],body:not(.light-theme){--bg: #0D0D0D;--bg-muted: #111111;--bg-card: #16161E;--bg-card-hover: #1C1C26;--text: #E4E4E7;--text-secondary: #A1A1AA;--text-soft: #F4F4F5;--border: #2B2B36;--brand: #60A5FA;--brand-dark: #93C5FD;--brand-glow: rgba(96, 165, 250, .2);--green: #34D399;--green-bg: rgba(52, 211, 153, .1);--green-border: rgba(52, 211, 153, .28);--amber: #FBBF24;--amber-bg: rgba(251, 191, 36, .1);--amber-border: rgba(251, 191, 36, .28);--red: #F87171;--red-bg: rgba(248, 113, 113, .1);--red-border: rgba(248, 113, 113, .28);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5)}html[data-theme=light],body.light-theme{--bg: #FFFFFF;--bg-muted: #F9FAFB;--bg-card: #FFFFFF;--bg-card-hover: #F3F4F6;--text: #111827;--text-secondary: #6B7280;--text-soft: #1F2937;--border: #E5E7EB;--brand: #3B82F6;--brand-dark: #2563EB;--brand-glow: rgba(59, 130, 246, .2);--green: #16A34A;--green-bg: rgba(34, 197, 94, .07);--green-border: rgba(34, 197, 94, .24);--amber: #D97706;--amber-bg: rgba(245, 158, 11, .07);--amber-border: rgba(245, 158, 11, .24);--red: #DC2626;--red-bg: rgba(239, 68, 68, .07);--red-border: rgba(239, 68, 68, .24);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .12)}:root{--bg-color: var(--bg);--card-bg: var(--bg-card);--card-bg-hover: var(--bg-card-hover);--text-main: var(--text);--text-mute: var(--text-secondary);--accent-color: var(--brand);--accent-glow: var(--brand-glow);--border-color: var(--border);--ad-bg: var(--bg-muted);--transition: all var(--t-hover);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--max-width: var(--max-w)}:root{--ad-bg: linear-gradient(135deg, #1e1e2e 0%, #11111d 100%);--transition: all .15s ease(.4, 0, .2, 1);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--max-width: 1320px}.light-theme{--ad-bg: linear-gradient(135deg, #ffffff 0%, #f3f4f6 100%)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-en),var(--font-zh),sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:color .3s ease;min-height:100vh;display:flex;flex-direction:column}main.container{flex:1;padding-top:24px;padding-bottom:60px}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}header.site-header{height:64px;display:flex;align-items:center;border-bottom:1px solid var(--border-color);background:#0a0a0cd9;backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;transition:var(--transition)}.light-theme header.site-header,html[data-theme=light] header.site-header{background:#f9fafbd9}header.site-header .container{display:flex;justify-content:space-between;align-items:center;width:100%;gap:24px}.logo{font-size:20px;font-weight:700;letter-spacing:-.3px}.logo-link{color:var(--text-main);text-decoration:none}.logo span{color:var(--accent-color)}.nav-links{display:flex;list-style:none;gap:28px}.nav-links a{color:var(--text-mute);text-decoration:none;font-size:14px;font-weight:500;transition:var(--transition)}.nav-links a:hover,.nav-links a.active{color:var(--text-main)}.header-actions{display:flex;align-items:center}.action-group{display:flex;align-items:center;gap:12px}.style-select{background:var(--card-bg);color:var(--text-main);border:1px solid var(--border-color);padding:6px 10px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;outline:none;transition:var(--transition)}#theme-toggle,.nav-toggle{background:none;border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;font-size:14px;width:34px;height:34px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:var(--transition)}#theme-toggle:hover,.nav-toggle:hover{border-color:var(--accent-color);color:var(--accent-color)}.nav-toggle{display:none}.hero{padding:72px 0 40px;text-align:center}.hero h1{font-size:44px;font-weight:700;letter-spacing:-1.2px;line-height:1.15;margin-bottom:16px}.hero h1 span{color:var(--accent-color)}.hero p.lede{font-size:17px;color:var(--text-mute);max-width:640px;margin:0 auto 28px;line-height:1.55}.hero-cta{display:flex;gap:12px;justify-content:center;margin-bottom:28px;flex-wrap:wrap}.cta-btn{padding:12px 22px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;transition:var(--transition);cursor:pointer;border:none;display:inline-flex;align-items:center;gap:8px}.cta-primary{display:inline-block;background:var(--brand);color:#fff;border:none;cursor:pointer;padding:10px 20px;border-radius:var(--r-sm);font-size:15px;font-weight:var(--fw-bold);text-decoration:none}.cta-primary:hover{filter:brightness(1.1);transform:scale(1.03)}.cta-secondary{background:transparent;color:var(--text-main);border:1px solid var(--border-color)}.cta-secondary:hover{border-color:var(--accent-color);color:var(--accent-color)}.cat-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:16px}.cat-pill{padding:7px 16px;border-radius:999px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-mute);font-size:13px;font-weight:500;text-decoration:none;transition:var(--transition)}.cat-pill:hover{color:var(--text-main);border-color:var(--accent-color)}.cat-pill.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.section-title{font-size:14px;color:var(--text-mute);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px}.featured-section{padding:56px 0 40px}.featured-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tool-card{display:block;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px;text-decoration:none;color:inherit;transition:var(--transition);position:relative}.tool-card:hover{border-color:var(--accent-color);background:var(--card-bg-hover);transform:translateY(-3px)}.tool-card.featured{padding:28px;grid-row:span 2}.tool-card .rank{position:absolute;top:14px;right:14px;background:var(--accent-color);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.tool-card .icon{width:48px;height:48px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--accent-color);margin-bottom:14px}.tool-card.featured .icon{width:60px;height:60px;font-size:26px}.tool-card h3{font-size:17px;font-weight:600;margin-bottom:6px;letter-spacing:-.2px}.tool-card.featured h3{font-size:22px;margin-bottom:8px}.tool-card p{font-size:13px;color:var(--text-mute);line-height:1.5;margin-bottom:12px}.tool-card.featured p{font-size:14px;margin-bottom:16px}.tool-card .tag{display:inline-block;padding:3px 10px;border-radius:5px;background:var(--bg-color);color:var(--text-mute);font-size:11px;font-weight:500}.articles-section{padding:56px 0;background:var(--card-bg);border-radius:var(--radius-lg);margin:40px 0}.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article-row{display:block;padding:20px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:var(--transition)}.article-row:hover{border-color:var(--accent-color);background:var(--card-bg-hover)}.article-row .eyebrow{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--accent-color);letter-spacing:.5px;margin-bottom:8px}.article-row h3{font-size:15px;font-weight:600;line-height:1.4;margin-bottom:8px}.article-row .meta{font-size:12px;color:var(--text-mute)}.article{max-width:760px;margin:0 auto;padding:48px 0}.article .breadcrumbs{font-size:13px;color:var(--text-mute);margin-bottom:20px}.article .breadcrumbs a{color:var(--text-mute);text-decoration:none}.article .breadcrumbs a:hover{color:var(--accent-color)}.article .breadcrumbs span{color:var(--text-main)}.article-header{padding:0 0 24px;border-bottom:1px solid var(--border-color);margin-bottom:28px}.article-header .eyebrow{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--accent-color);letter-spacing:1px;margin-bottom:10px}.article-header h1{font-size:clamp(34px,4.5vw + .8rem,var(--fs-h1-d));font-weight:var(--fw-h1);line-height:var(--lh-heading);letter-spacing:-.02em;margin-bottom:var(--s-4);color:var(--text-soft)}.article-header .lede{font-size:17px;color:var(--text-soft);line-height:1.55;margin-bottom:16px}.article-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-mute);align-items:center}.article-meta .meta-item{display:inline-flex;align-items:center;gap:6px}.article-meta i{color:var(--accent-color);font-size:12px}.article-meta .reviewer{flex-basis:100%;padding-top:10px;border-top:1px dashed var(--border-color);font-size:12px;color:var(--text-mute)}.article-meta .reviewer strong{color:var(--text-main);font-weight:600}.article-body{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-soft)}.article-body h2{font-size:clamp(26px,2.6vw + .8rem,var(--fs-h2));font-weight:var(--fw-h2);margin:var(--s-12) 0 var(--s-4);letter-spacing:-.01em;line-height:var(--lh-heading);color:var(--text-soft);scroll-margin-top:84px}.article-body h3{font-size:clamp(22px,1.8vw + .7rem,var(--fs-h3));font-weight:var(--fw-h3);margin:var(--s-8) 0 var(--s-3);color:var(--text-soft);scroll-margin-top:84px}.article-body p{margin-bottom:18px}.article-body ul,.article-body ol{margin:12px 0 18px 24px}.article-body li{margin-bottom:6px}.article-body a{color:var(--accent-color)}.article-footer{margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--fs-small)}.article-footer p{margin-bottom:var(--s-2)}.article-body pre{overflow-x:auto;max-width:100%;margin:var(--s-6) 0;padding:var(--s-4);background:var(--bg-muted);border-radius:var(--r-md)}.article-body pre code{white-space:pre;background:none;padding:0}.article-body code{overflow-wrap:anywhere}.article img,.article-body img,.legal-page img,.blog-content img{max-width:100%;height:auto;border-radius:var(--r-md);margin:var(--s-6) 0}.article-body .callout{background:var(--bg-card);border-left:4px solid var(--brand);padding:var(--s-4) var(--s-6);border-radius:var(--r-sm);margin:var(--s-6) 0}.code-card{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-6);margin:var(--s-6) 0}.copy-btn{position:absolute;top:var(--s-3);right:var(--s-3);background:var(--brand);color:#fff;border:none;border-radius:var(--r-sm);padding:6px 14px;font-size:var(--fs-xs);font-weight:var(--fw-bold);cursor:pointer;transition:filter var(--t-hover)}.copy-btn:hover{filter:brightness(1.1)}.article-body .prompt-code{white-space:pre-wrap;word-break:break-word;font-size:var(--fs-small);color:var(--text-soft);line-height:1.7;font-family:var(--font-mono);padding-right:80px;margin:0;background:none;overflow:visible;border-radius:0}.back-link{text-align:center;margin-top:var(--s-8)}.back-link a{font-weight:var(--fw-bold)}.meta-text{font-size:var(--fs-small);color:var(--text-secondary)}.tag-pill.diff-beginner{background:var(--green)}.tag-pill.diff-intermediate{background:var(--amber)}.tag-pill.diff-advanced{background:var(--red)}.section-mt{margin-top:var(--s-8)}.page-container{max-width:900px;margin:0 auto;padding:var(--s-12) var(--s-4)}.page-title{font-size:clamp(28px,3vw,36px);font-weight:var(--fw-h2);margin-bottom:var(--s-2)}.page-lede{color:var(--text-secondary);font-size:var(--fs-body);margin-bottom:var(--s-8)}.list-section{margin-bottom:40px}.list-section-title{font-size:20px;font-weight:var(--fw-bold);margin-bottom:var(--s-4);padding-bottom:var(--s-2);border-bottom:1px solid var(--border);color:var(--text-soft)}.card-grid{display:grid;gap:var(--s-4)}.list-card{display:block;text-decoration:none;color:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-6);transition:border-color var(--t-hover);overflow:hidden}.list-card:hover{border-color:var(--brand)}.list-card h3{font-size:var(--fs-body);font-weight:var(--fw-bold);margin:0}.card-head{display:flex;justify-content:space-between;align-items:start;gap:var(--s-3);margin-bottom:var(--s-2)}.card-desc{font-size:var(--fs-small);color:var(--text-soft);margin:0 0 var(--s-3) 0;line-height:1.5}.tool-pill{font-size:var(--fs-xs);color:var(--brand);background:var(--brand-glow);padding:3px 10px;border-radius:var(--r-sm);font-weight:var(--fw-bold)}a.tool-pill{text-decoration:none}.meta-count{font-size:var(--fs-xs);color:var(--text-secondary);margin-left:auto}.tag-pill{white-space:nowrap}.list-footer{text-align:center;margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--fs-small)}.prompt-preview{background:var(--bg-muted);border-radius:var(--r-sm);padding:var(--s-3);font-size:var(--fs-xs);color:var(--text-soft);overflow:auto;white-space:pre-wrap;word-break:break-word;max-height:120px;margin:0;font-family:var(--font-mono)}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-6);margin:var(--s-6) 0}.team-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6)}.team-card h3{margin-top:0;margin-bottom:var(--s-2)}.team-card .team-role{color:var(--brand);font-size:var(--fs-small);font-weight:var(--fw-bold);margin-bottom:var(--s-3)}.team-card .team-bio{font-size:var(--fs-small);color:var(--text);line-height:1.6}.team-member-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);margin-bottom:var(--s-6)}.member-grid{display:grid;grid-template-columns:120px 1fr;gap:var(--s-8);align-items:start}.team-avatar{width:120px;height:120px;border-radius:var(--r-lg);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:var(--fw-extrabold)}.avatar-caption{text-align:center;color:var(--text-secondary);font-size:var(--fs-small);margin-top:var(--s-3)}.team-member-card .member-name{margin-top:0;font-size:28px}.team-member-card .member-role{color:var(--brand);font-size:15px;font-weight:var(--fw-bold);margin-bottom:var(--s-4)}.team-member-card .member-bio{font-size:var(--fs-body);line-height:1.7;color:var(--text);margin-bottom:var(--s-4)}.team-member-card .member-section{margin-bottom:var(--s-4)}.team-member-card .field-label{font-weight:var(--fw-bold);font-size:var(--fs-small);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--s-2)}.team-member-card .field-value{margin:0;font-size:var(--fs-small)}.team-member-card .field-value a{color:var(--brand)}.team-member-card .field-list{margin:0;padding-left:20px;font-size:var(--fs-small);line-height:1.7}.team-member-card .member-socials{display:flex;gap:var(--s-6);flex-wrap:wrap;align-items:center;padding-top:var(--s-2);border-top:1px solid var(--border)}.form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-8);margin:var(--s-6) 0}.form-row{margin-bottom:var(--s-4)}.form-label{display:block;font-size:var(--fs-small);font-weight:var(--fw-bold);margin-bottom:var(--s-2)}.form-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font-size:15px;font-family:inherit}textarea.form-input{resize:vertical}.form-input.mono{font-family:var(--font-mono)}.form-hint{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:var(--s-3)}.form-grid{display:grid;gap:var(--s-4);margin-top:var(--s-6)}.info-card.green{background:var(--green-bg);border-color:var(--green-border)}.info-card.green h3{color:var(--green)}.info-card ul{margin:0;padding-left:18px;font-size:var(--fs-small);color:var(--text-soft);line-height:1.7}.form-success p{margin:0;font-size:var(--fs-small)}.form-success p:first-child{color:var(--green);font-weight:var(--fw-bold)}.form-success p+p{color:var(--text-secondary);margin-top:var(--s-2)}.nl-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-6);margin:var(--s-6) 0}.nl-card h2{font-size:18px;font-weight:var(--fw-bold);margin-bottom:var(--s-4);color:var(--text-soft)}.nl-features{display:grid;gap:var(--s-4)}.nl-feature{display:flex;gap:var(--s-3);align-items:flex-start}.nl-feature .nl-icon{font-size:20px;line-height:1.4}.nl-feature h3{font-size:15px;font-weight:var(--fw-bold);margin:0 0 4px;color:var(--text-soft)}.nl-feature p{font-size:var(--fs-small);color:var(--text-secondary);margin:0}.nl-subscribe{background:linear-gradient(135deg,var(--brand-glow),rgba(139,92,246,.05));border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-8);margin:var(--s-6) 0;text-align:center}.nl-subscribe h2{font-size:20px;font-weight:var(--fw-bold);margin-bottom:var(--s-2);color:var(--text-soft)}.nl-form{display:flex;gap:var(--s-2);max-width:420px;margin:0 auto;flex-wrap:wrap;justify-content:center}.nl-email{flex:1;min-width:200px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-small);background:var(--bg);color:var(--text);font-family:inherit}.form-msg-inline{display:none;margin-top:var(--s-3);color:var(--green);font-size:var(--fs-small)}.stats-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6) var(--s-8);margin:var(--s-8) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s-6);text-align:center}.stat-number{font-size:28px;font-weight:var(--fw-bold);color:var(--brand)}.stat-label{font-size:var(--fs-small);color:var(--text-secondary);margin-top:4px}.score-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);margin:var(--s-6) 0}.score-overall{display:flex;align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-4);padding-bottom:var(--s-4);border-bottom:1px solid var(--border)}.score-number{font-size:42px;font-weight:var(--fw-extrabold);line-height:1}.score-max{font-size:var(--fs-body);color:var(--text-secondary)}.score-label{margin-left:auto;font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.score-breakdown{display:grid;gap:var(--s-3)}.score-dim{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:var(--s-1) var(--s-3);align-items:center}.score-dim-header{display:flex;justify-content:space-between;align-items:center}.score-dim-label{font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--text-soft)}.score-dim-weight{font-size:var(--fs-xs);color:var(--text-secondary)}.score-dim-bar{grid-column:1;height:8px;background:var(--bg-muted);border-radius:var(--r-full);overflow:hidden}.score-dim-fill{height:100%;border-radius:var(--r-full);transition:width var(--t-page)}.score-dim-value{grid-column:2;grid-row:2;font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--text)}.score-green{color:var(--green);background:var(--green)}.score-amber{color:var(--amber);background:var(--amber)}.score-red{color:var(--red);background:var(--red)}.save-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);cursor:pointer;font-size:var(--fs-small);font-weight:var(--fw-bold);transition:all var(--t-hover)}.save-btn:hover{border-color:var(--brand);color:var(--brand)}.save-btn.saved{background:var(--brand);color:#fff;border-color:var(--brand)}.save-btn.saved:hover{filter:brightness(1.1)}.save-btn i{font-size:var(--fs-small)}.library-count{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--text-soft)}.library-empty{text-align:center;padding:var(--s-24) var(--s-6)}.library-empty i{font-size:48px;color:var(--text-secondary);margin-bottom:var(--s-4)}.library-empty h2{font-size:var(--fs-h3);margin-bottom:var(--s-3)}.library-empty p{color:var(--text-secondary);margin-bottom:var(--s-6)}.library-empty .cta-primary{display:inline-block}.comments-section{margin-top:60px;padding-top:40px;border-top:1px solid var(--border)}.comments-section h2{font-size:22px;margin-bottom:var(--s-4);color:var(--text-soft)}.comments-desc{color:var(--text-secondary);font-size:var(--fs-small);margin-bottom:var(--s-6)}.comments-fallback{text-align:center;color:var(--text-secondary);padding:var(--s-6);background:var(--bg-card);border-radius:var(--r-md)}.feedback-section{margin-top:var(--s-12);padding:var(--s-6);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);text-align:center}.feedback-section>p:first-child{margin:0 0 var(--s-4);color:var(--text);font-weight:var(--fw-bold)}.feedback-buttons{display:flex;gap:var(--s-3);justify-content:center;align-items:center}.feedback-btn{padding:10px 20px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);cursor:pointer;font-size:var(--fs-body);display:inline-flex;align-items:center;gap:var(--s-2)}.feedback-btn:hover{border-color:var(--brand)}.feedback-count{margin-left:var(--s-2);color:var(--text-secondary);font-size:var(--fs-small)}.feedback-thanks{display:none;margin-top:var(--s-4);color:var(--brand);font-size:var(--fs-small)}.newsletter-widget h3{margin-top:0;font-size:20px;margin-bottom:var(--s-2);color:var(--text-soft)}.newsletter-widget>p{color:var(--text-secondary);font-size:var(--fs-small)}.newsletter-form{display:flex;gap:var(--s-2);flex-wrap:wrap}.newsletter-input{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font-size:15px;font-family:inherit}.newsletter-btn{border:none;cursor:pointer}.newsletter-hint{color:var(--text-secondary);font-size:var(--fs-xs);margin-top:var(--s-3);margin-bottom:0}.related-posts{margin-top:60px;padding-top:40px;border-top:1px solid var(--border)}.related-posts h3{font-size:20px;margin-bottom:var(--s-6);color:var(--text-soft)}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--s-4)}.related-post-card{display:block;padding:var(--s-6);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);text-decoration:none;color:inherit;transition:border-color var(--t-hover)}.related-post-card:hover{border-color:var(--brand)}.related-post-card h4{margin:0 0 var(--s-2);font-size:var(--fs-body);line-height:1.4;color:var(--text-soft)}.related-post-card p{color:var(--text-secondary);font-size:var(--fs-small);margin:0;line-height:1.5}.related-post-meta{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:var(--s-3);margin-bottom:0}.form-success{display:none;margin-top:var(--s-4);padding:var(--s-4);background:var(--green-bg);border:1px solid var(--green-border);border-radius:var(--r-sm);color:var(--text-soft);font-size:var(--fs-small)}.tag-row{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;margin-top:var(--s-3)}.tag-pill{display:inline-block;font-size:var(--fs-small);font-weight:var(--fw-bold);color:#fff;background:var(--brand);padding:3px 12px;border-radius:var(--r-full)}.tag-chip{display:inline-block;font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg-muted);padding:3px 10px;border-radius:var(--r-full)}.info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4) var(--s-6);margin:var(--s-6) 0}.info-card h3{font-size:var(--fs-small);font-weight:var(--fw-bold);margin-bottom:var(--s-3)}.info-card p{font-size:var(--fs-small);color:var(--text-soft);margin:0;line-height:1.6}.info-card.amber{background:var(--amber-bg);border-color:var(--amber-border)}.info-card.amber h3{color:var(--amber)}.info-card.blue{background:var(--brand-glow);border-color:#3b82f633}.qa-box{margin-top:var(--s-8);padding:var(--s-6);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md)}.qa-box h3{font-size:var(--fs-small);font-weight:var(--fw-bold);margin-bottom:var(--s-2)}.qa-box ul{margin:0;padding-left:20px;font-size:var(--fs-small);color:var(--text-soft);line-height:1.8}.step-list{margin:0;padding-left:0;list-style:none}.step-item{position:relative;padding-left:48px;margin-bottom:var(--s-6)}.step-item .step-icon{position:absolute;left:0;top:0;width:32px;height:32px;background:var(--brand);color:#fff;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-small)}.step-item h3{font-size:var(--fs-body);font-weight:var(--fw-bold);margin-bottom:var(--s-2)}.step-item p{font-size:var(--fs-small);color:var(--text-soft);line-height:1.6;margin:0}.section-gap{margin-top:var(--s-8)}.grid-stack{display:grid;gap:var(--s-4);margin:var(--s-4) 0}.audience-tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-4) 0}.audience-tag{display:inline-block;padding:2px 10px;border-radius:var(--r-full);background:var(--bg-muted);color:var(--text-secondary);font-size:var(--fs-small);overflow-wrap:anywhere;word-break:break-word}.article-body img[loading=lazy],.article-body img[decoding=async]{display:block}.article-body strong{color:var(--text-main)}.article-body blockquote{border-left:3px solid var(--accent-color);padding:6px 0 6px 16px;margin:24px 0;color:var(--text-soft);font-style:italic}.article-body table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:24px 0;font-size:14px}.article-body th,.article-body td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.article-body th{background:var(--card-bg);font-weight:600;color:var(--text-mute);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.tool-detail{padding:40px 0}.tool-detail .breadcrumbs{font-size:13px;color:var(--text-mute);margin-bottom:16px}.tool-detail .breadcrumbs a{color:var(--text-mute);text-decoration:none}.tool-detail .breadcrumbs a:hover{color:var(--accent-color)}.tool-detail-header{display:flex;align-items:center;gap:20px;padding:0 0 24px;border-bottom:1px solid var(--border-color);margin-bottom:28px;flex-wrap:wrap}.tool-detail-header .icon{width:60px;height:60px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--accent-color);flex-shrink:0}.tool-detail-header .title-group{flex:1;min-width:200px}.tool-detail-header h1{font-size:clamp(34px,4.5vw + .8rem,var(--fs-h1-d));font-weight:var(--fw-h1);letter-spacing:-.02em;line-height:var(--lh-heading);margin-bottom:6px}.tool-detail-header .tag{font-size:12px;color:var(--text-mute);background:var(--card-bg);padding:3px 10px;border-radius:999px;display:inline-block;border:1px solid var(--border-color)}.tool-detail-header .actions{display:flex;gap:8px}.tool-detail-header .actions a{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:var(--transition)}.tool-detail-header .actions .use{background:var(--accent-color);color:#fff}.tool-detail-header .actions .use:hover{filter:brightness(1.1)}.tool-detail-header .actions .alt{background:var(--card-bg);color:var(--text-main);border:1px solid var(--border-color)}.tool-detail-header .actions .alt:hover{border-color:var(--accent-color)}.tool-detail .lede{font-size:var(--fs-body);color:var(--text-soft);margin-bottom:28px;line-height:var(--lh-body)}.detail-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:22px 26px;margin:16px 0}.detail-section h2{font-size:clamp(26px,2.6vw + .8rem,var(--fs-h2));font-weight:var(--fw-h2);letter-spacing:-.01em;line-height:var(--lh-heading);margin-top:var(--s-12);margin-bottom:var(--s-4);display:flex;align-items:center;gap:10px;color:var(--text-soft);scroll-margin-top:84px}.detail-section p{color:var(--text-soft);margin-bottom:var(--s-4);line-height:var(--lh-body);font-size:var(--fs-body)}.detail-section p:last-child{margin-bottom:0}.detail-section .pros-list,.detail-section .cons-list{list-style:none}.detail-section .pros-list li,.detail-section .cons-list li{padding:6px 0;font-size:var(--fs-body);color:var(--text-soft);line-height:var(--lh-body)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.cat-hero{padding:56px 0 32px;border-bottom:1px solid var(--border-color);margin-bottom:40px}.cat-hero .eyebrow{color:var(--accent-color);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.cat-hero h1{font-size:36px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin-bottom:12px}.cat-hero .lede{font-size:16px;color:var(--text-soft);line-height:1.55;margin-bottom:8px;max-width:760px}.cat-hero .meta{font-size:13px;color:var(--text-mute)}.compare-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin:32px 0 40px}.compare-card{display:block;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:28px 22px;text-align:center;text-decoration:none;color:inherit;transition:var(--transition)}.compare-card:hover{border-color:var(--accent-color);background:var(--card-bg-hover)}.compare-card .icon{width:60px;height:60px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--accent-color);margin:0 auto 14px}.compare-card .tag{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--bg-color);color:var(--text-mute);font-size:11px;font-weight:600;margin-bottom:10px;border:1px solid var(--border-color)}.compare-card h2{font-size:22px;font-weight:700;margin-bottom:8px}.compare-card p{color:var(--text-mute);font-size:13px;margin-bottom:12px;line-height:1.5}.compare-vs{display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--accent-color);letter-spacing:1px}.value-proposition{padding:56px 0;text-align:center}.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.value-card{background:var(--card-bg);border:1px solid var(--border-color);padding:32px 22px;border-radius:var(--radius-md);transition:var(--transition);text-align:left}.value-card:hover{border-color:var(--accent-color);transform:translateY(-3px)}.value-icon{font-size:32px;color:var(--accent-color);margin-bottom:16px}.value-card h3{font-size:18px;margin-bottom:8px}.value-card p{color:var(--text-mute);font-size:14px;line-height:1.55}.category-hero{padding:20px 0 40px}.cat-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.cat-hero-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:28px 20px;text-align:center;cursor:pointer;transition:var(--transition)}.cat-hero-card:hover{border-color:var(--accent-color);transform:translateY(-3px)}.cat-hero-icon{width:52px;height:52px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--accent-color);margin:0 auto 14px}.cat-hero-card h3{font-size:17px;font-weight:600;margin-bottom:6px}.cat-hero-card p{font-size:13px;color:var(--text-mute);line-height:1.5}.recommended-section{padding:48px 0}.rec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.rec-card{border:2px solid var(--accent-color);position:relative}.ad-banner{border-radius:var(--radius-md);padding:22px 28px;margin:32px 0;background:var(--ad-bg);border:1px solid var(--border-color)}.ad-content{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.ad-tag{display:inline-block;padding:4px 10px;border-radius:5px;background:var(--accent-color);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ad-content p{flex:1;font-size:15px;color:var(--text-main);min-width:200px}.ad-button{padding:10px 20px;border-radius:10px;background:var(--accent-color);color:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:var(--transition);white-space:nowrap}.ad-button:hover{filter:brightness(1.1);transform:scale(1.03)}.legal-page{padding:32px 0 60px}.legal-page h1{font-size:clamp(34px,4.5vw + .8rem,var(--fs-h1-d));font-weight:var(--fw-h1);margin:12px 0 var(--s-6);line-height:var(--lh-heading);letter-spacing:-.02em;color:var(--text-soft)}.legal-page h2{font-size:clamp(26px,2.6vw + .8rem,var(--fs-h2));font-weight:var(--fw-h2);margin:var(--s-12) 0 var(--s-4);letter-spacing:-.01em;line-height:var(--lh-heading);color:var(--text-soft);scroll-margin-top:84px}.legal-page h3{font-size:clamp(22px,1.8vw + .7rem,var(--fs-h3));font-weight:var(--fw-h3);margin:var(--s-8) 0 var(--s-3);color:var(--text-soft);scroll-margin-top:84px}.legal-page p{color:var(--text-main);margin-bottom:var(--s-4);line-height:var(--lh-body);font-size:var(--fs-body)}.legal-page ol,.legal-page ul{margin:12px 0 16px 24px}.legal-page li{margin-bottom:8px;color:var(--text-main)}.legal-page a{color:var(--accent-color)}.legal-page strong{color:var(--text-main)}.updated-badge{display:inline-flex;align-items:center;gap:6px;background:var(--green-bg);border:1px solid var(--green-border);border-radius:var(--r-sm);padding:4px 12px;margin-top:var(--s-2);font-size:13px;font-weight:var(--fw-bold);color:var(--green)}.lede{font-size:17px;color:var(--text-soft);line-height:1.55;margin-bottom:20px}.update-note{color:var(--text-mute);margin-bottom:28px;font-size:13px}.breadcrumbs{font-size:13px;color:var(--text-mute);padding:12px 0}.breadcrumbs a{color:var(--text-mute);text-decoration:none;transition:var(--transition)}.breadcrumbs a:hover{color:var(--accent-color)}.breadcrumbs span{color:var(--text-main)}table.ranking{width:100%;border-collapse:collapse;margin:20px 0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;font-size:14px}table.ranking th,table.ranking td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-color)}table.ranking thead th{background:var(--bg-color);color:var(--text-mute);font-size:12px;text-transform:uppercase;letter-spacing:.5px}table.ranking tbody tr:last-child td{border-bottom:none}table.ranking tbody tr:hover{background:var(--bg-color)}table.ranking a{color:var(--text-main);text-decoration:none;font-weight:600}table.ranking a:hover{color:var(--accent-color)}table.ranking tr.current td{background:#3b82f614}table.ranking tr.current strong{color:var(--accent-color)}table.ranking tbody th{color:var(--text-mute);font-size:13px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.tool-review{padding:22px;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:16px;background:var(--card-bg)}.tool-review h3{font-size:20px;margin-bottom:8px}.tool-review .short{color:var(--accent-color);font-weight:600;margin-bottom:10px}.tool-review p{color:var(--text-main);line-height:1.6}.pros-cons-box{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.pros-cons-box .pro-list,.pros-cons-box .con-list{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;padding:14px 16px;list-style:none;margin:0}.pros-cons-box .pro-list li,.pros-cons-box .con-list li{padding:4px 0;font-size:14px}.faq-section{margin:16px 0}.faq-section details{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:14px 18px;margin-bottom:10px}.faq-section summary{cursor:pointer;font-weight:600;color:var(--text-main)}.faq-section p{color:var(--text-mute);margin-top:8px}.pro-list,.con-list{list-style:none;margin:10px 0}.pro-list li,.con-list li{padding:4px 0;display:flex;align-items:flex-start;gap:8px;font-size:15px}.pro-list li:before{content:"✓";color:#10b981;font-weight:700}.con-list li:before{content:"✗";color:#ef4444;font-weight:700}footer{border-top:1px solid var(--border-color);padding:32px 0;text-align:center;margin-top:40px}footer .container{display:flex;flex-direction:column;align-items:center;gap:14px}footer p{color:var(--text-mute);font-size:15px;margin-bottom:12px}footer .nav-links{width:100%;flex-wrap:wrap;justify-content:center;gap:12px 20px}footer .nav-links a{color:var(--text-mute);font-size:15px}footer .nav-links a:hover{color:var(--text-main)}.tool-detail-container{padding:32px 0 60px}.tool-detail-container h1{font-size:30px;line-height:1.15;margin:12px 0}.tool-detail-container h2{font-size:22px;margin:32px 0 12px}.tool-detail-container p{color:var(--text-main);margin-bottom:14px}.tool-detail-container ul{margin:10px 0 10px 24px}.tool-detail-container li{margin-bottom:6px}.tool-detail-container .related ul{list-style:none;margin-left:0}.tool-detail-container .related li{margin-bottom:6px}.tool-detail-container .related a{color:var(--accent-color);text-decoration:none}.tool-detail-container .related a:hover{text-decoration:underline}.page-hero{text-align:center;padding:56px 0 28px;border-bottom:1px solid var(--border-color);margin-bottom:32px}.page-hero h1{font-size:36px;line-height:1.2;margin:10px 0 12px;letter-spacing:-.5px}.page-hero .lede{max-width:720px;margin:0 auto 8px}.featured-badge{position:absolute;top:12px;right:12px;padding:3px 10px;border-radius:5px;background:var(--accent-color);color:#fff;font-size:11px;font-weight:700}.tool-review-head{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;margin-bottom:10px}.tool-review-icon{width:48px;height:48px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--accent-color)}.card-number{position:absolute;top:12px;left:12px;background:var(--accent-color);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.example-box{background:var(--bg-color);border:1px solid var(--border-color);padding:18px;border-radius:12px;font-family:SF Mono,Monaco,Courier New,monospace;color:var(--text-mute);font-size:14px;line-height:1.6;white-space:pre-wrap}.detail-title-group h1{font-size:30px;margin-bottom:8px}.detail-tag{font-size:12px;color:var(--text-mute);background:var(--bg-color);padding:3px 10px;border-radius:999px}.detail-use-btn{display:inline-flex;align-items:center;gap:8px}.related-section{padding:32px 0 20px}.related-section .section-title{font-size:18px;margin-bottom:20px;text-align:center}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.related-card{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px;text-decoration:none;color:inherit;transition:var(--transition)}.related-card:hover{border-color:var(--accent-color);transform:translateY(-2px)}.related-icon{width:52px;height:52px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--accent-color)}.related-card h3{font-size:15px;margin-bottom:4px}.related-card p{font-size:13px;color:var(--text-mute);line-height:1.4}.vs-pair{display:flex;align-items:center;gap:6px}.vs-pair .related-icon{width:36px;height:36px;font-size:16px}.vs-divider{font-size:11px;font-weight:800;color:var(--accent-color)}.compare-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.compare-pros-cons .pro-list,.compare-pros-cons .con-list{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px 22px;margin:0;list-style:none}.compare-pros-cons h2{font-size:17px;margin-bottom:10px}.verdict-box{background:var(--card-bg);border:1px solid var(--accent-color);border-radius:var(--radius-md);padding:24px 28px;margin:28px 0}.verdict-box h2{color:var(--accent-color);margin-bottom:12px;font-size:18px}@media (max-width: 1023px){body{font-size:var(--fs-body-m)}h1{font-size:var(--fs-h1-m)!important}.article-body{font-size:var(--fs-body-m);line-height:1.75}.hero h1{font-size:38px}.hero p.lede{font-size:18px}.article-header h1{font-size:32px}.tool-detail-header h1{font-size:28px}.cat-hero h1{font-size:32px}}@media (max-width: 1279px){.container{max-width:1024px}.nav-toggle{display:inline-flex}.site-header .container{position:relative}.site-header .nav-links{display:none;position:absolute;top:calc(100% + 12px);left:16px;right:16px;max-height:calc(100vh - 96px);overflow-y:auto;flex-direction:column;gap:0;padding:8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 16px 40px #00000047}.site-header .nav-links.open{display:flex}.site-header .nav-links li{width:100%}.site-header .nav-links a{display:block;padding:10px 12px;border-radius:var(--radius-sm)}.site-header .nav-links a:hover{background:var(--card-bg-hover)}}@media (max-width: 768px){.hero{padding:48px 0 32px}.hero h1{font-size:32px}.hero p.lede{font-size:16px}.hero-cta{flex-direction:column;align-items:stretch}.cta-btn{justify-content:center}.nav-toggle{display:inline-flex}.site-header .container{position:relative}.site-header .nav-links{display:none;position:absolute;top:calc(100% + 12px);left:16px;right:16px;max-height:calc(100vh - 96px);overflow-y:auto;flex-direction:column;gap:0;padding:8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 16px 40px #00000047}.site-header .nav-links.open{display:flex}.site-header .nav-links li{width:100%}.site-header .nav-links a{display:block;padding:10px 12px;border-radius:var(--radius-sm)}.site-header .nav-links a:hover{background:var(--card-bg-hover)}.cat-pills{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.featured-grid,.articles-grid,.grid-3,.value-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.tool-card.featured{grid-row:auto}.article-header h1{font-size:26px}.article-header .lede{font-size:16px}.article-meta{gap:10px}.cat-hero h1,.page-hero h1,.tool-detail-header h1{font-size:26px}.cat-hero{padding:32px 0 20px}.grid-2,.compare-grid,.compare-pros-cons,.pros-cons-box{grid-template-columns:1fr}.compare-vs{padding:8px 0}.tool-detail-header{flex-direction:column;align-items:flex-start}.tool-detail-header .actions{width:100%}.tool-detail-header .actions a{flex:1;justify-content:center}.legal-page h1{font-size:26px}.detail-section{padding:18px 20px}.related-card{grid-template-columns:44px 1fr;padding:14px}.related-icon{width:44px;height:44px;font-size:18px}.ad-content{flex-direction:column;align-items:flex-start;gap:12px}.ad-button{width:100%;text-align:center}table.ranking{font-size:13px}table.ranking th,table.ranking td{padding:10px}.articles-section{padding:40px 0}}@media (max-width: 480px){.grid-4{grid-template-columns:1fr}.site-header .container{gap:12px}.style-select{padding:4px 8px;font-size:12px}.logo{font-size:18px}}.tool-detail-header{align-items:flex-start}.tool-detail-header .icon{flex-shrink:0}.tool-detail-header .title-group{flex:1 1 240px;min-width:0}.tool-detail-header .title-group h1{overflow-wrap:anywhere}.tool-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}@media (max-width: 768px){.tool-detail-header{flex-wrap:nowrap}.tool-detail-header .title-group{flex:1 1 100%}.tool-detail-header .actions{width:100%}}.tool-rating-inline{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--text-soft)}.tool-rating-inline i{color:#f59e0b}.tool-rating-inline strong{color:var(--text-main)}.tool-rating-inline span{color:var(--text-mute)}.tool-detail-updated{font-size:12px;color:var(--text-mute);display:inline-flex;align-items:center;gap:4px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1}.status-badge--reviewed{background:#22c55e1f;color:#16a34a;border:1px solid rgba(34,197,94,.35)}.status-badge--pending{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.35)}.quick-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin:0 0 24px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);overflow:hidden}.quick-facts-row{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.quick-facts-row dt{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.06em;margin:0}.quick-facts-row dd{margin:0;font-size:14px;color:var(--text-main);font-weight:600}.quick-facts-row dd a{color:var(--accent-color);text-decoration:none}.quick-facts-row dd a:hover{text-decoration:underline}@media (max-width: 768px){.quick-facts{grid-template-columns:1fr}.quick-facts-row{border-right:none}}.screenshot-gallery{display:grid;grid-template-columns:repeat(var(--gallery-columns, 3),minmax(0,1fr));gap:14px;margin:12px 0 4px}.screenshot-item{margin:0;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-color)}.screenshot-item img{width:100%;height:auto;display:block}.screenshot-item figcaption{padding:8px 12px;font-size:12px;color:var(--text-mute);border-top:1px solid var(--border-color);background:var(--card-bg)}@media (max-width: 768px){.screenshot-gallery{grid-template-columns:1fr}}.feature-table-scroll{overflow-x:auto;margin:12px 0 4px;-webkit-overflow-scrolling:touch}.feature-table{width:100%;border-collapse:collapse;font-size:14px;min-width:480px}.feature-table th,.feature-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-color);color:var(--text-main)}.feature-table thead th{background:var(--bg-color);color:var(--text-mute);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.feature-table tbody th{font-weight:600}.test-status{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px 22px;margin:16px 0}.test-status h2{font-size:18px;color:var(--accent-color);display:flex;align-items:center;gap:8px;margin-bottom:10px}.test-prompt{font-size:13px;color:var(--text-mute);margin-bottom:12px}.test-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.test-metric{background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;padding:12px;text-align:center;display:flex;flex-direction:column;gap:4px}.test-metric-label{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.06em}.test-metric-value{color:var(--text-main);font-size:20px}.test-notes{color:var(--text-soft);line-height:1.6;font-size:14px;margin-bottom:8px}.test-footnote{color:var(--text-mute);font-size:12px;font-style:italic;margin:0}.test-pending{display:flex;flex-direction:column;gap:10px}.test-pending p{color:var(--text-soft);font-size:14px;line-height:1.6;margin:0}.test-pending .test-footnote{margin-top:4px}.pricing-section p{color:var(--text-soft);line-height:1.6}.pricing-note{margin-top:10px;font-size:13px}.pricing-note a{color:var(--accent-color);font-weight:600}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.comparison-card{display:block;padding:14px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);color:inherit;text-decoration:none;transition:var(--transition);font-size:14px}.comparison-card:hover{border-color:var(--accent-color);transform:translateY(-2px)}.comparison-card strong{color:var(--text-main)}.comparison-card span{color:var(--text-mute);margin:0 4px;font-weight:500;text-transform:lowercase}.section-followup{margin-top:12px;font-size:13px}.section-followup a{color:var(--accent-color);font-weight:600}.tool-faq{padding:22px 26px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);margin:16px 0}.tool-faq h2{font-size:18px;color:var(--accent-color);display:flex;align-items:center;gap:8px;margin-bottom:12px}.tool-faq-list{display:flex;flex-direction:column;gap:8px}.tool-faq-item{border:1px solid var(--border-color);border-radius:10px;padding:12px 16px;background:var(--bg-color)}.tool-faq-item summary{cursor:pointer;font-weight:600;color:var(--text-main);list-style:none;position:relative;padding-right:24px}.tool-faq-item summary:after{content:"+";position:absolute;right:4px;top:0;color:var(--accent-color);font-size:18px;line-height:1;transition:transform .2s ease}.tool-faq-item[open] summary:after{content:"−"}.tool-faq-item summary::-webkit-details-marker{display:none}.tool-faq-item p{margin-top:8px;color:var(--text-soft);font-size:14px;line-height:1.6}.editorial-disclosure{text-align:center;font-size:13px;color:var(--text-mute);font-style:italic}.verdict-block p{margin-bottom:12px}.verdict-block strong{color:var(--text-main)}.solutions-index,.solution-detail{max-width:960px;margin:0 auto;padding:0 0 48px}.solutions-hero{padding:24px 0 32px}.solutions-hero h1{font-size:32px;letter-spacing:-.5px;margin:8px 0 12px}.solutions-hero-summary{color:var(--text-soft);font-size:15px;line-height:1.7;max-width:720px}.solutions-hero-summary a{color:var(--accent-color);font-weight:600}.solution-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.solution-filter-btn{padding:7px 14px;border:1px solid var(--border-color);border-radius:999px;background:var(--card-bg);color:var(--text-mute);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition)}.solution-filter-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.solution-filter-btn[aria-pressed=true]{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.solutions-featured,.solutions-list{margin:32px 0}.solutions-featured h2,.solutions-list h2{font-size:20px;margin-bottom:16px}.solutions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.solution-card{display:block;padding:20px 22px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);color:inherit;text-decoration:none;transition:var(--transition)}.solution-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.solution-card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.solution-card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#3b82f61f;color:var(--accent-color);font-size:16px}.solution-card-industry{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);font-weight:700}.solution-card h3{font-size:17px;margin-bottom:8px;letter-spacing:-.2px}.solution-card p{color:var(--text-soft);font-size:13px;line-height:1.55;margin-bottom:12px}.solution-card.compact p{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.solution-card-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--text-mute);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.solution-hero{padding:20px 0 12px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.solution-hero h1{font-size:32px;letter-spacing:-.5px;line-height:1.15;margin:12px 0}.solution-hero-summary{color:var(--text-soft);font-size:17px;line-height:1.6;max-width:740px;margin-bottom:20px}.solution-hero-tags{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.status-badge--industry{background:#3b82f61f;color:var(--accent-color);border:1px solid rgba(59,130,246,.35)}.industry-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--bg-color);color:var(--text-mute);border:1px solid var(--border-color);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.solution-hero-updated{color:var(--text-mute);font-size:12px}.solution-hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.solution-hero-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;transition:var(--transition)}.solution-hero-btn.primary{background:var(--accent-color);color:#fff}.solution-hero-btn.primary:hover{filter:brightness(1.05)}.solution-hero-btn.secondary{border:1px solid var(--border-color);color:var(--text-main)}.solution-hero-btn.secondary:hover{border-color:var(--accent-color);color:var(--accent-color)}.solution-anchor{scroll-margin-top:80px}.industry-stack{margin:24px 0;padding:20px 22px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg)}.industry-stack h2{font-size:20px;margin:4px 0 16px}.industry-stack .section-kicker{display:inline-block;margin-bottom:4px;color:var(--accent-color);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.industry-stack-list{list-style:none;display:flex;flex-direction:column;gap:12px;padding:0;margin:0}.industry-stack-item{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:stretch}.industry-stack-rank{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-color);color:#fff;font-weight:800;align-self:center}.industry-tool-card{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-color);color:inherit;text-decoration:none;transition:var(--transition)}.industry-tool-card:hover{border-color:var(--accent-color);transform:translate(3px)}.industry-tool-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#3b82f61f;color:var(--accent-color);font-size:20px}.industry-tool-body{display:flex;flex-direction:column;gap:4px;min-width:0}.industry-tool-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.industry-tool-name{color:var(--text-main);font-size:15px}.industry-tool-cat{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.06em}.industry-tool-role{font-size:12px;color:var(--accent-color);font-weight:700}.industry-tool-desc{margin:4px 0 0;color:var(--text-soft);font-size:13px;line-height:1.5}.industry-tool-cta{color:var(--accent-color);font-size:12px;font-weight:700;margin-top:4px}.solution-tasks{margin:24px 0}.solution-tasks>h2{font-size:22px;margin-bottom:16px}.solution-section{padding:18px 22px;margin-bottom:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg)}.solution-section-heading{font-size:17px;margin-bottom:8px;color:var(--text-main)}.solution-section-content{color:var(--text-soft);font-size:14px;line-height:1.7;margin-bottom:12px}.solution-section-tools{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px dashed var(--border-color)}.solution-section-tools-label{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.solution-section-tools-list{display:flex;flex-wrap:wrap;gap:8px}.solution-section-tool-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#3b82f614;color:var(--accent-color);font-size:12px;font-weight:600;text-decoration:none;transition:var(--transition)}.solution-section-tool-chip:hover{background:#3b82f629}.solution-adoption{padding:20px 22px;margin:24px 0;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg)}.solution-adoption h2{font-size:20px;margin-bottom:12px}.adoption-path{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:10px;color:var(--text-soft);font-size:14px;line-height:1.65}.adoption-path strong{color:var(--text-main)}.solution-workflows{margin:24px 0}.solution-workflows h2{font-size:22px;margin-bottom:16px}.workflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.workflow-card{display:block;padding:16px 18px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);color:inherit;text-decoration:none;transition:var(--transition)}.workflow-card:hover{border-color:var(--accent-color);transform:translateY(-2px)}.workflow-card-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.workflow-card-tool{color:var(--accent-color)}.workflow-card-difficulty{color:var(--text-mute)}.workflow-card-title{font-size:15px;margin-bottom:6px;letter-spacing:-.2px}.workflow-card-desc{color:var(--text-soft);font-size:13px;line-height:1.5;margin-bottom:10px}.workflow-card-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-mute)}.workflow-card-cta{color:var(--accent-color);font-weight:700}.solution-safety{padding:20px 22px;margin:24px 0;border:1px solid var(--amber-border);border-radius:var(--radius-md);background:var(--amber-bg)}.solution-safety h2{font-size:18px;margin-bottom:10px;color:var(--text-main)}.solution-safety ul{padding-left:20px;margin:0;color:var(--text-soft);font-size:13px;line-height:1.7;display:flex;flex-direction:column;gap:6px}.solution-related{margin:24px 0}.solution-related h2{font-size:22px;margin-bottom:16px}.solution-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:linear-gradient(135deg,#3b82f60d,#3b82f626);margin-top:24px}.solution-cta h2{font-size:20px;margin-bottom:6px}.solution-cta p{color:var(--text-soft);font-size:14px;margin:0;max-width:560px}.solution-cta .solution-hero-btn{flex-shrink:0}@media (max-width: 768px){.solutions-hero h1,.solution-hero h1{font-size:26px}.solution-hero-btn{width:100%;justify-content:center}.solution-hero-cta{flex-direction:column;align-items:stretch}.industry-stack-item{grid-template-columns:34px 1fr}.industry-tool-card{grid-template-columns:40px 1fr;padding:12px 14px}.solution-cta{flex-direction:column;align-items:flex-start}.solution-cta .solution-hero-btn{width:100%;justify-content:center}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-en),system-ui,-apple-system,sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);background-color:var(--bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-en);font-weight:var(--fw-bold);line-height:var(--lh-heading);color:var(--text-soft);margin-top:0;margin-bottom:var(--s-4)}h1{font-size:var(--fs-h1-d)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}a{color:var(--brand);text-decoration:underline}a:hover{color:var(--brand-dark)}.container{width:100%;max-width:var(--layout-width, 1200px);margin-left:auto;margin-right:auto;padding-left:var(--s-4);padding-right:var(--s-4)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background-color:var(--bg-card);border-color:var(--border)}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}@media print{body{background:#fff;color:#000}a{color:#000;text-decoration:underline}}.article-grid{display:grid;grid-template-columns:minmax(0,var(--w-article)) var(--w-toc);gap:var(--gap-layout);align-items:start;max-width:calc(var(--w-article) + var(--w-toc) + var(--gap-layout));margin-inline:auto;padding-block:var(--s-12)}.article-grid.has-sidebar{grid-template-columns:var(--w-sidebar) minmax(0,var(--w-article)) var(--w-toc);max-width:calc(var(--w-sidebar) + var(--w-article) + var(--w-toc) + var(--gap-layout) * 2)}.article-grid.has-sidebar .article-main{order:2}.article-grid.has-sidebar .article-sidebar{order:1}.article-grid.has-sidebar .article-toc{order:3}.article-main{min-width:0;width:100%}.article-toc{position:sticky;top:calc(var(--s-12) + 64px);max-height:calc(100vh - 96px);overflow-y:auto;font-size:var(--fs-small);color:var(--text-secondary)}.article-sidebar{position:sticky;top:calc(var(--s-12) + 64px)}.article-toc .toc-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-bold);color:var(--text-secondary);margin-bottom:var(--s-3)}.article-toc ol,.article-toc ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--border)}.article-toc li{margin:0}.article-toc a{display:block;padding:var(--s-2) var(--s-4);color:var(--text-secondary);text-decoration:none;border-left:2px solid transparent;margin-left:-2px;line-height:var(--lh-tight);transition:color var(--t-hover),border-color var(--t-hover),background var(--t-hover)}.article-toc a:hover,.article-toc a.is-active{color:var(--brand);border-left-color:var(--brand);background:var(--brand-glow)}@media (max-width: 1023px){.article-grid,.article-grid.has-sidebar{grid-template-columns:minmax(0,1fr);max-width:var(--w-article)}.article-toc,.article-sidebar{position:static;max-height:none;order:2}.article-toc{display:none}}.prose{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text)}.prose>:first-child{margin-top:0}.prose h1{font-size:clamp(var(--fs-h1-m),5vw + 1rem,var(--fs-h1-d));font-weight:var(--fw-h1);letter-spacing:-.02em;line-height:var(--lh-heading);margin-bottom:var(--s-6);color:var(--text-soft)}.prose h2{font-size:clamp(26px,2.6vw + .8rem,var(--fs-h2));font-weight:var(--fw-h2);letter-spacing:-.01em;line-height:var(--lh-heading);margin-top:var(--s-12);margin-bottom:var(--s-4);color:var(--text-soft);scroll-margin-top:80px}.prose h3{font-size:clamp(22px,1.8vw + .7rem,var(--fs-h3));font-weight:var(--fw-h3);margin-top:var(--s-8);margin-bottom:var(--s-3);color:var(--text-soft);scroll-margin-top:80px}.prose h4{font-size:clamp(20px,1.2vw + .6rem,var(--fs-h4));font-weight:var(--fw-h4);margin-top:var(--s-6);margin-bottom:var(--s-2);color:var(--text-soft)}.prose p{margin-bottom:var(--s-4)}.prose p,.prose li{font-size:var(--fs-body);line-height:var(--lh-body)}.prose a{color:var(--brand);text-decoration:underline}.prose a:hover{color:var(--brand-dark)}.prose strong{font-weight:var(--fw-bold);color:var(--text-soft)}.prose ul,.prose ol{margin:0 0 var(--s-4) var(--s-6)}.prose li{margin-bottom:var(--s-2)}.prose img{max-width:100%;height:auto;border-radius:var(--r-md);margin:var(--s-6) 0}.prose blockquote{border-left:4px solid var(--brand);padding:var(--s-2) var(--s-6);margin:var(--s-6) 0;color:var(--text-secondary);background:var(--bg-muted);border-radius:0 var(--r-md) var(--r-md) 0}.prose code{font-family:var(--font-mono);font-size:var(--fs-code);background:var(--bg-muted);padding:2px var(--s-2);border-radius:var(--r-sm)}.prose pre{font-family:var(--font-mono);font-size:var(--fs-code);background:var(--bg-muted);padding:var(--s-4);border-radius:var(--r-md);overflow-x:auto;margin:var(--s-6) 0}.prose pre code{background:none;padding:0}.prose table{width:100%;border-collapse:collapse;margin:var(--s-6) 0;font-size:var(--fs-small)}.prose th,.prose td{border:1px solid var(--border);padding:var(--s-3) var(--s-4);text-align:left}.prose th{background:var(--bg-muted);font-weight:var(--fw-bold)}.prose hr{border:0;border-top:1px solid var(--border);margin:var(--s-12) 0}img[data-lightbox],a[data-lightbox]{cursor:zoom-in}.lb-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:#000000eb;display:flex;align-items:center;justify-content:center;padding:var(--s-8);gap:var(--s-4);cursor:zoom-out}.lb-overlay[hidden]{display:none}.lb-overlay img.lb-img{max-width:min(92vw,1400px);max-height:82vh;border-radius:var(--r-md);box-shadow:var(--shadow-xl);cursor:default;object-fit:contain;background:#000}.lb-overlay .lb-close,.lb-overlay .lb-prev,.lb-overlay .lb-next{position:absolute;background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-full);width:48px;height:48px;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--t-hover),transform var(--t-hover)}.lb-overlay .lb-close:hover,.lb-overlay .lb-prev:hover,.lb-overlay .lb-next:hover{background:#fff3}.lb-overlay .lb-close{top:var(--s-6);right:var(--s-6)}.lb-overlay .lb-prev{left:var(--s-6);top:50%;transform:translateY(-50%)}.lb-overlay .lb-next{right:var(--s-6);top:50%;transform:translateY(-50%)}.lb-overlay .lb-prev:hover{transform:translateY(-50%) translate(-2px)}.lb-overlay .lb-next:hover{transform:translateY(-50%) translate(2px)}.lb-overlay .lb-cap{position:absolute;left:0;right:0;bottom:var(--s-6);text-align:center;color:#ffffffd9;font-size:var(--fs-small);margin:0;padding:0 var(--s-8)}.lb-overlay .lb-count{position:absolute;top:var(--s-6);left:50%;transform:translate(-50%);color:#ffffffb3;font-size:var(--fs-small)}@media (max-width: 640px){.lb-overlay{padding:var(--s-4)}.lb-overlay .lb-prev,.lb-overlay .lb-next{width:40px;height:40px;font-size:20px}.lb-overlay img.lb-img{max-height:74vh}}
