.shiny-text{color:var(--text-primary);background:linear-gradient(120deg,currentColor 0%,currentColor 35%,var(--brand-primary, #6366f1) 50%,currentColor 65%,currentColor 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;animation:shine 4s ease-in-out infinite}@keyframes shine{0%{background-position:120% 0}to{background-position:-120% 0}}.shiny-text.disabled{animation:none;-webkit-text-fill-color:currentColor}.card-spotlight{position:relative;border-radius:var(--radius-lg, 12px);overflow:hidden;--mouse-x: 50%;--mouse-y: 50%;--spotlight-color: rgba(99, 102, 241, .15)}.card-spotlight:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle 280px at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 80%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}.card-spotlight:hover:before,.card-spotlight:focus-within:before{opacity:1}[data-theme=dark] .card-spotlight{--spotlight-color: rgba(129, 140, 248, .18)}:root{--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--bg-app: #16181d;--bg-header: rgba(22, 24, 29, .92);--bg-sidebar: #16181d;--bg-card: #23272f;--bg-card-hover: #2c313c;--bg-input: #1e222b;--bg-code: #1e222b;--border-color: #343a46;--border-light: #404756;--border-subtle: #2a2f3a;--text-primary: #f6f7f9;--text-secondary: #99a1b3;--text-muted: #657085;--accent-cyan: #149eca;--accent-cyan-hover: #38bdf8;--accent-glow: rgba(20, 158, 202, .12);--bg-highlight: rgba(20, 158, 202, .1);--border-highlight: rgba(20, 158, 202, .3);--bg-deep-dive: #1e222b;--border-deep-dive: #343a46;--bg-pitfall: rgba(245, 158, 11, .08);--border-pitfall: #f59e0b;--text-pitfall: #fbbf24;--bg-critical: rgba(239, 68, 68, .08);--border-critical: #ef4444;--text-critical: #f87171;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--backdrop-blur: blur(16px);--scrollbar-track: #16181d;--scrollbar-thumb: #343a46;--scrollbar-thumb-hover: #50596b;--scrollbar-thumb-active: #149eca}[data-theme=light]{--bg-app: #ffffff;--bg-header: rgba(255, 255, 255, .92);--bg-sidebar: #ffffff;--bg-card: #f6f7f9;--bg-card-hover: #ebedf0;--bg-input: #f3f4f6;--bg-code: #f3f4f6;--border-color: #e5e7eb;--border-light: #d1d5db;--border-subtle: #f0f2f5;--text-primary: #23272f;--text-secondary: #4b5563;--text-muted: #9ca3af;--accent-cyan: #087ea4;--accent-cyan-hover: #0284c7;--accent-glow: rgba(8, 126, 164, .1);--bg-highlight: rgba(8, 126, 164, .08);--border-highlight: rgba(8, 126, 164, .25);--bg-deep-dive: #f8fafc;--border-deep-dive: #e2e8f0;--bg-pitfall: rgba(245, 158, 11, .06);--border-pitfall: #d97706;--text-pitfall: #92400e;--bg-critical: rgba(239, 68, 68, .06);--border-critical: #dc2626;--text-critical: #991b1b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--scrollbar-track: #ffffff;--scrollbar-thumb: #d1d5db;--scrollbar-thumb-hover: #9ca3af;--scrollbar-thumb-active: #087ea4}html{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:9999px;border:2px solid var(--scrollbar-track);transition:background-color .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}.app-header{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:64px;padding:0 1.5rem;background-color:var(--bg-header);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border-bottom:1px solid var(--border-color)}.app-header .mobile-menu-btn{display:none;flex-shrink:0}.brand-container{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);flex-shrink:0}.brand-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #00000029;flex-shrink:0}.brand-logo-img{width:100%;height:100%;object-fit:cover;display:block}.brand-title-group{display:flex;align-items:center;gap:.5rem}.brand-name{font-weight:700;font-size:1.05rem;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap}.version-pill{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:12px;background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);white-space:nowrap}.search-box{position:relative;width:100%;max-width:440px}.search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:.5rem .85rem .5rem 2.3rem;background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);font-size:.88rem;font-family:inherit;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--accent-glow)}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.icon-btn:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}.react-doc-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 240px;max-width:1440px;margin:0 auto;min-height:calc(100vh - 64px)}.nav-sidebar{position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;padding:1.5rem 1rem 3rem 1.5rem;border-right:1px solid var(--border-color);background-color:var(--bg-sidebar);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.nav-sidebar::-webkit-scrollbar-track{background:transparent}.mobile-drawer-close,.mobile-nav-backdrop{display:none}.nav-category{margin-bottom:1.5rem}.nav-category-title{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem;padding-left:.6rem}.nav-item-link{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:all .15s ease;margin-bottom:.2rem}.nav-item-link:hover{background-color:var(--bg-card-hover);color:var(--text-primary)}.nav-item-link.active{background-color:var(--bg-highlight);color:var(--accent-cyan);font-weight:700}.nav-sub-list{margin-left:.75rem;padding-left:.75rem;border-left:1px solid var(--border-color);margin-top:.25rem;margin-bottom:.4rem}.nav-sub-link{display:block;padding:.35rem .5rem;font-size:.83rem;color:var(--text-muted);text-decoration:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.nav-sub-link:hover{color:var(--text-primary)}.nav-sub-link.active{color:var(--accent-cyan);font-weight:600;background-color:var(--bg-card-hover)}section[id],article[id],.article-h2{scroll-margin-top:84px}.main-content-area{padding:2.5rem 3rem 5rem;max-width:840px;margin:0 auto;width:100%}.breadcrumbs{display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:var(--text-muted);margin-bottom:1.25rem;flex-wrap:wrap}.breadcrumb-link{color:var(--accent-cyan);text-decoration:none;font-weight:500}.breadcrumb-link:hover{text-decoration:underline}.article-header{margin-bottom:2rem}.article-title{font-size:2.25rem;font-weight:800;letter-spacing:-.025em;color:var(--text-primary);line-height:1.25;margin-bottom:.75rem}.article-lead{font-size:1.15rem;color:var(--text-secondary);line-height:1.6}.article-h2{font-size:1.5rem;font-weight:700;letter-spacing:-.015em;color:var(--text-primary);margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);scroll-margin-top:80px}.article-p{font-size:1rem;color:var(--text-secondary);line-height:1.75;margin-bottom:1.25rem}.article-p strong{color:var(--text-primary)}.deep-dive-card{background-color:var(--bg-deep-dive);border:1px solid var(--border-deep-dive);border-radius:16px;padding:1.5rem 1.75rem;margin:2rem 0;box-shadow:var(--shadow-sm)}.deep-dive-header{display:flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-cyan);margin-bottom:.75rem}.deep-dive-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.pitfall-box{background-color:var(--bg-pitfall);border-left:4px solid var(--border-pitfall);border-radius:0 12px 12px 0;padding:1.25rem 1.5rem;margin:1.75rem 0}.pitfall-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-pitfall);margin-bottom:.4rem}.pitfall-text{font-size:.94rem;color:var(--text-primary);line-height:1.6}.critical-box{background-color:var(--bg-critical);border-left:4px solid var(--border-critical);border-radius:0 12px 12px 0;padding:1.25rem 1.5rem;margin:1.75rem 0}.critical-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-critical);margin-bottom:.4rem}.data-table-container{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--border-color);border-radius:12px}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{background-color:var(--bg-card);padding:.85rem 1.1rem;text-align:left;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.data-table td{padding:.85rem 1.1rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.data-table tr:last-child td{border-bottom:none}.human-steps{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.human-step-item{display:flex;gap:1.25rem;padding:1.25rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.human-step-num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg-highlight);color:var(--accent-cyan);font-weight:800;font-size:.9rem;flex-shrink:0}.human-step-content{flex:1}.human-step-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.human-step-desc{font-size:.92rem;color:var(--text-secondary);line-height:1.6}.doc-image-figure{margin:1.75rem 0 2.25rem}.doc-image-wrapper{position:relative;background:radial-gradient(circle at 50% 30%,#20242e,#16181d);border:1px solid var(--border-color);border-radius:14px;padding:1.75rem 1.5rem;box-shadow:0 16px 40px -10px #00000073;display:flex;justify-content:center;align-items:center;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.doc-image-wrapper:hover{border-color:var(--border-highlight);box-shadow:0 20px 48px -10px #149eca26}[data-theme=light] .doc-image-wrapper{background:radial-gradient(circle at 50% 30%,#f9fafb,#f0f2f5);border-color:var(--border-color);box-shadow:0 12px 32px -8px #00000014}[data-theme=light] .doc-image-wrapper:hover{border-color:var(--accent-cyan);box-shadow:0 16px 36px -8px #087ea426}.doc-image{max-width:100%;width:auto;height:auto;border-radius:8px;box-shadow:0 10px 28px #00000059;border:1px solid rgba(255,255,255,.08);display:block}[data-theme=light] .doc-image{box-shadow:0 6px 20px #00000014;border:1px solid rgba(0,0,0,.08)}.doc-image-caption{margin-top:.75rem;font-size:.84rem;color:var(--text-muted);text-align:center;font-weight:500;letter-spacing:.01em}.page-navigation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-color)}.page-nav-card{display:flex;flex-direction:column;padding:1.25rem 1.5rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;text-decoration:none;cursor:pointer;transition:all .2s ease}.page-nav-card:hover{border-color:var(--accent-cyan);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.page-nav-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.3rem}.page-nav-title{font-size:1.05rem;font-weight:700;color:var(--accent-cyan)}.toc-sidebar{position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;padding:1.75rem 1.25rem;border-left:1px solid var(--border-color);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.toc-sidebar::-webkit-scrollbar-track{background:transparent}.toc-title{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.85rem}.toc-link{display:block;padding:.3rem 0;font-size:.84rem;color:var(--text-muted);text-decoration:none;transition:color .15s ease}.toc-link:hover{color:var(--text-primary)}.toc-link.active{color:var(--accent-cyan);font-weight:600;border-left:2px solid var(--accent-cyan);padding-left:.5rem;margin-left:-.5rem}.toast-notice{position:fixed;bottom:2rem;right:2rem;padding:.75rem 1.25rem;background-color:#10b981;color:#fff;font-weight:700;font-size:.88rem;border-radius:8px;box-shadow:var(--shadow-md);z-index:1000}.faq-list{display:flex;flex-direction:column;gap:.85rem;margin:1.5rem 0 2.5rem}.faq-item{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:all .2s ease}.faq-item:hover{border-color:var(--accent-cyan);box-shadow:var(--shadow-sm)}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.15rem 1.25rem;cursor:pointer;font-weight:600;font-size:1rem;color:var(--text-primary);-webkit-user-select:none;user-select:none;transition:color .15s ease}.faq-question:hover{color:var(--accent-cyan)}.faq-answer{padding:1rem 1.25rem 1.25rem;font-size:.93rem;line-height:1.65;color:var(--text-secondary);border-top:1px solid var(--border-color-subtle);animation:fadeInFaq .2s ease-out}@keyframes fadeInFaq{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1150px){.react-doc-layout{grid-template-columns:260px minmax(0,1fr)}.toc-sidebar{display:none}}@media (max-width: 800px){.app-header{height:56px;padding:0 .85rem;gap:.5rem}.app-header .mobile-menu-btn{display:inline-flex}.brand-title-group{display:none}.search-box{flex:1;max-width:none}.search-input{padding:.42rem .65rem .42rem 2.1rem;font-size:.82rem}.search-icon{left:.65rem;width:14px;height:14px}.icon-btn{width:34px;height:34px}.react-doc-layout{display:block;min-height:calc(100vh - 56px)}.nav-sidebar{position:fixed;top:56px;left:0;width:280px;max-width:85vw;height:calc(100vh - 56px);z-index:300;transform:translate(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 28px #00000073;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color)}.nav-sidebar.nav-sidebar--open{transform:translate(0)}.mobile-drawer-close{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;margin-bottom:1rem;font-size:.82rem;font-weight:700;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}.mobile-drawer-close:hover{color:var(--text-primary)}.mobile-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:250;animation:fadeInBackdrop .2s ease}.main-content-area{padding:1.25rem 1rem 4rem}.article-title{font-size:1.65rem}.article-lead{font-size:1rem}.article-h2{font-size:1.25rem;margin:1.75rem 0 .75rem;scroll-margin-top:68px}.page-navigation-grid{grid-template-columns:1fr;gap:.75rem;margin-top:2.5rem}.deep-dive-card{padding:1.25rem;margin:1.5rem 0}.pitfall-box,.critical-box{padding:1rem 1.15rem;margin:1.25rem 0}.doc-image-wrapper{padding:1rem .75rem}}@media (max-width: 480px){.main-content-area{padding:1rem .75rem 3.5rem}.article-title{font-size:1.45rem}.search-input::placeholder{font-size:.78rem}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}
