:root{--color-primary:#f47a3d;--color-primary-hover:#e06a2d;--color-secondary:#707171;--color-background:#fff;--color-text:#1a1a1a;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-code-bg:#f9fafb;--color-hover-bg:#fef3ee;--color-overlay:rgba(0,0,0,.5);--color-focus:rgba(244,122,61,.4);--badge-green-bg:#ecfdf5;--badge-green-text:#059669;--badge-blue-bg:#dbeafe;--badge-blue-text:#1d4ed8;--badge-purple-bg:#f3e8ff;--badge-purple-text:#7c3aed;--badge-red-bg:#fef2f2;--badge-red-text:#dc2626;--badge-yellow-bg:#fef3c7;--badge-yellow-text:#d97706;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--sidebar-width:280px;--header-height:64px;--max-content-width:1280px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease}[data-theme=dark]{--color-background:#272427;--color-text:#f0ece8;--color-text-muted:#a09a9c;--color-border:#4a464b;--color-code-bg:#1e1d1e;--color-hover-bg:#3a383b;--color-overlay:rgba(0,0,0,.7);--color-secondary:#9ca3af;--badge-green-bg:#059669;--badge-green-text:#ecfdf5;--badge-blue-bg:#1d4ed8;--badge-blue-text:#dbeafe;--badge-purple-bg:#7c3aed;--badge-purple-text:#f3e8ff;--badge-red-bg:#dc2626;--badge-red-text:#fef2f2;--badge-yellow-bg:#d97706;--badge-yellow-text:#fef3c7}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{min-height:100vh}.skip-to-content{background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;font-weight:500;left:50%;padding:var(--spacing-sm) var(--spacing-md);position:absolute;text-decoration:none;top:-100%;transform:translate(-50%);transition:top var(--transition-fast);z-index:1000}.skip-to-content:focus{outline:2px solid var(--color-focus);outline-offset:2px;top:var(--spacing-md)}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:600;line-height:1.3}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}a:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-focus);outline-offset:2px}code{border-radius:var(--radius-sm);font-size:.875em;padding:.125rem .375rem}code,pre{background-color:var(--color-code-bg);font-family:var(--font-mono)}pre{border-radius:var(--radius-md);font-size:.875rem;overflow-x:auto;padding:var(--spacing-md)}pre code{background-color:transparent;padding:0}table{border-collapse:collapse;margin-bottom:var(--spacing-lg);width:100%}td,th{border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);text-align:left}th{background-color:var(--color-code-bg);font-weight:600}.container{margin:0 auto;max-width:var(--max-content-width);padding:0 var(--spacing-lg)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-muted{color:var(--color-text-muted)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);transition:all .15s ease}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover{background-color:#5a5b5b}.btn-outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-outline:hover{background-color:var(--color-code-bg);border-color:var(--color-text-muted)}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:500;padding:.125rem .5rem}.badge-primary{background-color:var(--color-hover-bg);color:var(--color-primary)}.badge-success{background-color:var(--badge-green-bg);color:var(--badge-green-text)}.badge-warning{background-color:var(--badge-yellow-bg);color:var(--badge-yellow-text)}.badge-danger{background-color:var(--badge-red-bg);color:var(--badge-red-text)}.card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.card:hover{box-shadow:var(--shadow-md)}.search-input{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.875rem;outline:none;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .15s ease,box-shadow .15s ease;width:100%}.search-input::-moz-placeholder{color:var(--color-text-muted)}.search-input::placeholder{color:var(--color-text-muted)}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f47a3d1a}.hamburger-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;display:none;flex-direction:column;height:44px;justify-content:center;padding:var(--spacing-sm);transition:background-color var(--transition-fast);width:44px}.hamburger-btn:hover{background-color:var(--color-code-bg)}.hamburger-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.hamburger-btn span{background-color:var(--color-text);border-radius:1px;display:block;height:2px;transition:all var(--transition-normal);width:24px}.hamburger-btn span:first-child{margin-bottom:6px}.hamburger-btn span:nth-child(3){margin-top:6px}.hamburger-btn.is-open span:first-child{transform:translateY(8px) rotate(45deg)}.hamburger-btn.is-open span:nth-child(2){opacity:0}.hamburger-btn.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-nav-overlay{background-color:var(--color-overlay);inset:0;opacity:0;position:fixed;transition:opacity var(--transition-normal),visibility var(--transition-normal);visibility:hidden;z-index:90}.mobile-nav-overlay.is-open{opacity:1;visibility:visible}.mobile-nav-drawer{background-color:var(--color-background);box-shadow:var(--shadow-lg);height:100vh;overflow-y:auto;position:fixed;right:0;top:0;transform:translate(100%);transition:transform var(--transition-normal);width:min(320px,85vw);z-index:100}.mobile-nav-drawer.is-open{transform:translate(0)}.mobile-nav-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.mobile-nav-close{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;height:44px;justify-content:center;transition:background-color var(--transition-fast);width:44px}.mobile-nav-close:hover{background-color:var(--color-code-bg)}.mobile-nav-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.mobile-nav-links{display:flex;flex-direction:column;padding:var(--spacing-md)}.mobile-nav-link{align-items:center;border-radius:var(--radius-md);color:var(--color-text);display:flex;font-size:1rem;font-weight:500;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.mobile-nav-link:hover{background-color:var(--color-code-bg);color:var(--color-primary);text-decoration:none}.mobile-nav-link.router-link-active{background-color:var(--color-hover-bg);color:var(--color-primary)}.sidebar-toggle{align-items:center;background-color:var(--color-code-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:none;font-size:.875rem;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-md);transition:all var(--transition-fast);width:100%}.sidebar-toggle:hover{background-color:#f3f4f6;border-color:var(--color-text-muted)}.sidebar-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sidebar-toggle-icon{transition:transform var(--transition-fast)}.sidebar-toggle.is-expanded .sidebar-toggle-icon{transform:rotate(180deg)}.table-responsive{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch;margin-bottom:var(--spacing-lg)}.table-responsive table{margin-bottom:0;min-width:600px}@media(max-width:640px){.table-stack{display:block}.table-stack thead{display:none}.table-stack tbody{display:flex;flex-direction:column;gap:var(--spacing-md)}.table-stack tr{background-color:var(--color-code-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;padding:var(--spacing-md)}.table-stack td{border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.table-stack td:last-child{border-bottom:none}.table-stack td:before{content:attr(data-label);flex-shrink:0;font-weight:600;margin-right:var(--spacing-md)}}.back-to-top{align-items:center;background-color:var(--color-primary);border:none;border-radius:50%;bottom:var(--spacing-xl);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;opacity:0;position:fixed;right:var(--spacing-xl);transform:translateY(20px);transition:all var(--transition-normal);visibility:hidden;width:48px;z-index:50}.back-to-top.is-visible{opacity:1;transform:translateY(0);visibility:visible}.back-to-top:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.back-to-top:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(min-width:1280px){.container{padding:0 var(--spacing-xl)}}@media(max-width:1024px){:root{--sidebar-width:240px}}@media(max-width:768px){:root{--sidebar-width:100%;--header-height:56px}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.container{padding:0 var(--spacing-md)}.hamburger-btn,.sidebar-toggle{display:flex}}@media(max-width:480px){:root{--spacing-lg:1rem;--spacing-xl:1.5rem;--spacing-2xl:2rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.btn{font-size:.8125rem;padding:var(--spacing-sm) var(--spacing-md)}}@media print{.back-to-top,.hamburger-btn,.mobile-nav-drawer,.mobile-nav-overlay,.search-trigger,.sidebar-toggle,.skip-to-content,footer,nav{display:none!important}html{font-size:12pt}body{background:#fff;color:#000}.content,main{margin:0;max-width:100%;padding:0}h1,h2,h3,h4,h5,h6,li,p,td,th{color:#000!important}a[href]:after{color:#666;content:" (" attr(href) ")";font-size:.8em}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}h1,h2,h3,h4,h5,h6{page-break-after:avoid}code,img,pre,table{page-break-inside:avoid}code,pre{background-color:#f5f5f5!important;border:1px solid #ddd}table{border-collapse:collapse;width:100%}td,th{border:1px solid #ddd;padding:8px}th{background-color:#f5f5f5!important}@page{margin:2cm}.print-header{border-bottom:1px solid #ddd;display:block!important;margin-bottom:1cm;padding-bottom:.5cm;text-align:center}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.hide-mobile{display:block}@media(max-width:768px){.hide-mobile{display:none!important}}.show-mobile{display:none}@media(max-width:768px){.show-mobile{display:block}}body.nav-open{overflow:hidden}
