/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:"Inter","Noto Sans JP",system-ui,sans-serif;--font-mono:"JetBrains Mono","Fira Code",ui-monospace,monospace;--color-gray-100:oklch(96.7% .003 264.542);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-7xl:80rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:#fff;--color-foreground:#16181d;--color-muted:#f3f4f6;--color-muted-foreground:#6b7280;--color-border:#e5e7eb;--color-primary:#2662d9;--color-primary-foreground:#fff;--color-sidebar:#f9fafb;--color-sidebar-hover:#eeeff2;--color-sidebar-active:#eef2fc;--color-sidebar-active-border:#2662d9}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.float-left{float:left}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing)*1)}.m-2{margin:calc(var(--spacing)*2)}.m-3{margin:calc(var(--spacing)*3)}.m-4{margin:calc(var(--spacing)*4)}.m-5{margin:calc(var(--spacing)*5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-5{margin-inline:calc(var(--spacing)*5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-5{margin-right:calc(var(--spacing)*5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-16{height:calc(var(--spacing)*16)}.min-h-screen{min-height:100vh}.max-w-7xl{max-width:var(--container-7xl)}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-5{padding-right:calc(var(--spacing)*5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.text-muted{color:var(--color-muted)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[start\:end\]{start:end}@media(hover:hover){.hover\:text-gray-700:hover{color:var(--color-gray-700)}}@media(min-width:40rem){.sm\:ml-6{margin-left:calc(var(--spacing)*6)}.sm\:flex{display:flex}:where(.sm\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}}@media(min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}@media(prefers-color-scheme:dark){.dark\:border-gray-700{border-color:var(--color-gray-700)}}}.dark{--color-background:#16181d;--color-foreground:#f3f4f6;--color-muted:#21242c;--color-muted-foreground:#9096a2;--color-border:#2c313a;--color-sidebar:#1a1d23;--color-sidebar-hover:#272c34;--color-sidebar-active:#132039;--color-sidebar-active-border:#5281e0;--color-accent:#272c34}html{scroll-behavior:smooth}body{background:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.7}h1,h2,h3,h4{color:var(--color-foreground);font-weight:600;line-height:1.3}h1{font-size:2rem}h2{margin-top:2rem;font-size:1.5rem}h3{margin-top:1.5rem;font-size:1.25rem}p{margin:1rem 0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}pre,code{font-family:var(--font-mono);font-size:13px}pre{background:var(--color-muted);border:1px solid var(--color-border);border-radius:6px;margin:1rem 0;padding:1rem;overflow-x:auto}.right-sidebar{align-self:flex-start;top:60px;position:sticky!important}.main-content{flex:1;max-width:1100px;padding:1.5rem 2rem}code:not(pre code){background:var(--color-muted);border-radius:4px;padding:.2em .4em;font-size:.9em}.sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-border);width:220px;min-width:220px;height:100vh;padding:1rem 0;position:sticky;top:0;overflow-y:auto}.sidebar-section{padding:.5rem 1rem}.sidebar-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-foreground);margin-top:1rem;padding:.5rem 0;font-size:11px;font-weight:600}.sidebar-link{color:var(--color-foreground);border-left:2px solid #0000;border-radius:4px;margin:.1rem 0;padding:.4rem .75rem;font-size:14px;text-decoration:none;display:block}.sidebar-link:hover{background:var(--color-sidebar-hover);text-decoration:none}.sidebar-link.active{background:var(--color-sidebar-active);border-left-color:var(--color-sidebar-active-border);color:var(--color-primary)}.sidebar-link-sub{color:var(--color-muted-foreground);padding-left:1.5rem;font-size:13px}.sidebar-item-group{flex-direction:column;display:flex}.sidebar-subitems{border-left:1px solid var(--color-border);flex-direction:column;margin-left:.5rem;display:flex}.sidebar-subitems .sidebar-link{border-left:none;padding-left:1rem;font-size:13px}.expand-icon{opacity:.5;margin-right:.5rem;font-size:.6rem}.sidebar-chapters{border-left:1px solid var(--color-border);flex-direction:column;margin-left:.5rem;padding-left:0;display:flex}.chapter-group{margin-bottom:.25rem}.chapter-title{color:var(--color-muted-foreground);margin-top:.5rem;padding:.5rem .75rem .25rem;font-size:11px;font-weight:600}.chapter-title:first-child{margin-top:.25rem}.chapter-articles{flex-direction:column;display:flex}.sidebar-link-article{color:var(--color-muted-foreground);border-left:none;padding:.35rem .75rem .35rem 1rem;font-size:12px}.sidebar-link-article:hover{background:var(--color-sidebar-hover);color:var(--color-foreground)}.sidebar-link-article.active{background:var(--color-sidebar-active);color:var(--color-primary)}.sidebar-accordion{padding:0 .5rem}.accordion-root{flex-direction:column;display:flex}.accordion-item-nav{margin-bottom:.1rem}.accordion-header-nav{margin:0}.accordion-trigger-nav{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:0;font-family:inherit;display:flex}.accordion-trigger-nav:hover .sidebar-link-main{background:var(--color-sidebar-hover)}.sidebar-link-main{color:var(--color-foreground);border-left:2px solid #0000;border-radius:4px;flex:1;align-items:center;padding:.45rem .75rem;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.sidebar-link-main:hover{background:var(--color-sidebar-hover);text-decoration:none}.sidebar-link-main.active{background:var(--color-sidebar-active);border-left-color:var(--color-sidebar-active-border);color:var(--color-primary)}.accordion-chevron-nav{color:var(--color-muted-foreground);flex-shrink:0;margin-right:.5rem;transition:transform .2s}.accordion-trigger-nav[data-state=open] .accordion-chevron-nav{transform:rotate(180deg)}.accordion-content-nav{border-left:1px solid var(--color-border);margin-left:.5rem;overflow:hidden}.accordion-content-nav[data-state=open]{animation:.2s ease-out slideDown}.accordion-content-nav[data-state=closed]{animation:.2s ease-out slideUp}@keyframes slideDown{0%{opacity:0;height:0}to{height:var(--radix-accordion-content-height);opacity:1}}@keyframes slideUp{0%{height:var(--radix-accordion-content-height);opacity:1}to{opacity:0;height:0}}.chapters-accordion{padding:.25rem 0}.chapter-item{margin-bottom:0}.chapter-header{margin:0}.chapter-trigger{cursor:pointer;width:100%;color:var(--color-muted-foreground);text-align:left;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;padding:.35rem .75rem;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,color .15s;display:flex}.chapter-trigger:hover{background:var(--color-sidebar-hover);color:var(--color-foreground)}.chapter-name{flex:1}.chapter-chevron{opacity:.5;flex-shrink:0;transition:transform .2s}.chapter-trigger[data-state=open] .chapter-chevron{transform:rotate(180deg)}.chapter-content{overflow:hidden}.chapter-content[data-state=open]{animation:.15s ease-out slideDown}.chapter-content[data-state=closed]{animation:.15s ease-out slideUp}.chapter-articles{flex-direction:column;padding-left:.5rem;display:flex}.article-link{color:var(--color-muted-foreground);border-radius:4px;padding:.3rem .75rem;font-size:12px;text-decoration:none;transition:background .15s,color .15s;display:block}.article-link:hover{background:var(--color-sidebar-hover);color:var(--color-foreground);text-decoration:none}.article-link.active{background:var(--color-sidebar-active);color:var(--color-primary)}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-background);z-index:100;align-items:center;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.site-logo{color:var(--color-foreground);align-items:center;gap:.5rem;font-size:15px;font-weight:600;text-decoration:none;display:flex}.site-logo:hover{text-decoration:none}.card{border:1px solid var(--color-border);background:var(--color-background);border-radius:8px;padding:1.25rem;transition:border-color .15s}.card:hover{border-color:var(--color-primary)}.btn{border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:hover{opacity:.9;text-decoration:none}.lang-badge{background:var(--color-muted);color:var(--color-muted-foreground);border-radius:4px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:12px;font-weight:500;display:inline-flex}.text-muted{color:var(--color-muted-foreground)}.text-sm{font-size:14px}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.language-switcher{border:1px solid var(--color-border);background:var(--color-background);color:var(--color-foreground);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;border-radius:4px;padding:.35rem 1.5rem .35rem .6rem;font-size:13px}.language-switcher:hover{border-color:var(--color-primary)}.language-switcher:focus{outline:2px solid var(--color-primary);outline-offset:1px}.glossary-term{color:var(--color-primary);text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:all .15s}.glossary-term:hover{background:#2662d91a}@supports (color:color-mix(in lab,red,red)){.glossary-term:hover{background:color-mix(in srgb,var(--color-primary)10%,transparent)}}.glossary-term:hover{border-radius:2px}.glossary-popover{background:var(--color-background);border:1px solid var(--color-border);z-index:1000;border-radius:12px;width:320px;max-width:calc(100vw - 32px);animation:.2s ease-out glossary-popover-in;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 10px 20px -5px #00000026}@keyframes glossary-popover-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.glossary-popover-header{border-bottom:1px solid var(--color-border);background:var(--color-muted);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.glossary-popover-term{color:var(--color-foreground);font-size:15px;font-weight:600}.glossary-popover-close{width:24px;height:24px;color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex}.glossary-popover-close:hover{background:var(--color-border);color:var(--color-foreground)}.glossary-popover-definition{color:var(--color-foreground);padding:12px 16px;font-size:14px;line-height:1.6}.glossary-popover-metaphor{background:#2662d914;gap:8px;margin:0 12px 12px;padding:10px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.glossary-popover-metaphor{background:color-mix(in srgb,var(--color-primary)8%,transparent)}}.glossary-popover-metaphor{color:var(--color-foreground);border-radius:8px;font-size:13px}.glossary-popover-metaphor-icon{flex-shrink:0}.glossary-popover-links{border-top:1px solid var(--color-border);flex-direction:column;gap:4px;padding:8px 12px;display:flex}.glossary-popover-link{color:var(--color-foreground);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;text-decoration:none;transition:background .15s;display:flex}.glossary-popover-link:hover{background:var(--color-muted)}.glossary-popover-related{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;font-size:12px;display:flex}.glossary-popover-related-label{color:var(--color-muted-foreground)}.glossary-popover-related-tag{background:var(--color-muted);color:var(--color-muted-foreground);border-radius:12px;padding:2px 8px}.glossary-tooltip{background:var(--color-background);border:1px solid var(--color-border);z-index:1000;border-radius:10px;width:320px;max-width:calc(100vw - 32px);animation:.15s ease-out glossary-tooltip-in;overflow:hidden;box-shadow:0 4px 12px -2px #0000001f,0 8px 24px -4px #0000001a}@keyframes glossary-tooltip-in{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.glossary-tooltip-header{border-bottom:1px solid var(--color-border);background:var(--color-muted);align-items:center;padding:10px 14px;display:flex}.glossary-tooltip-term{color:var(--color-foreground);font-size:14px;font-weight:600}.glossary-tooltip-definition{color:var(--color-foreground);padding:10px 14px;font-size:13px;line-height:1.6}.glossary-tooltip-metaphor{background:#2662d914;gap:6px;margin:0 10px 10px;padding:8px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.glossary-tooltip-metaphor{background:color-mix(in srgb,var(--color-primary)8%,transparent)}}.glossary-tooltip-metaphor{color:var(--color-foreground);border-radius:6px;font-size:12px}.glossary-tooltip-metaphor-icon{flex-shrink:0}.glossary-tooltip-related{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:4px;padding:8px 14px;font-size:11px;display:flex}.glossary-tooltip-related-label{color:var(--color-muted-foreground)}.glossary-tooltip-related-tag{background:var(--color-muted);color:var(--color-muted-foreground);border-radius:10px;padding:1px 6px;font-size:10px}.glossary-tooltip-arrow{fill:var(--color-background);filter:drop-shadow(0 1px 2px #0000001a)}.mobile-menu-button{color:var(--color-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px;transition:background .15s;display:none}.mobile-menu-button:hover{background:var(--color-muted)}@media(max-width:768px){.mobile-menu-button{display:flex}.sidebar{display:none}}.mobile-sidebar-overlay{z-index:998;background:#00000080;animation:.2s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-sidebar{background:var(--color-background);border-right:1px solid var(--color-border);z-index:999;width:280px;max-width:85vw;height:100vh;transition:transform .3s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.mobile-sidebar--open{transform:translate(0)}.mobile-sidebar-header{border-bottom:1px solid var(--color-border);background:var(--color-background);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.mobile-sidebar-title{font-size:16px;font-weight:600}.mobile-sidebar-close{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px}.mobile-sidebar-close:hover{background:var(--color-muted);color:var(--color-foreground)}.mobile-sidebar-nav{padding:16px 0}.mobile-sidebar-section{margin-bottom:20px}.mobile-sidebar-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-foreground);padding:8px 20px;font-size:11px;font-weight:600}.mobile-sidebar-list{margin:0;padding:0;list-style:none}.mobile-sidebar-link{color:var(--color-foreground);padding:10px 20px;font-size:14px;text-decoration:none;transition:background .15s;display:block}.mobile-sidebar-link:hover{background:var(--color-muted)}.mobile-sidebar-link--active{background:#2662d91a}@supports (color:color-mix(in lab,red,red)){.mobile-sidebar-link--active{background:color-mix(in srgb,var(--color-primary)10%,transparent)}}.mobile-sidebar-link--active{color:var(--color-primary);font-weight:500}.anti-pattern{border-left:4px solid;border-radius:8px;margin:1.5rem 0;padding:1rem 1.25rem}.anti-pattern--danger{background:#ef444414;border-left-color:#ef4444}.anti-pattern--warning{background:#f59e0b14;border-left-color:#f59e0b}.anti-pattern--info{background:#3b82f614;border-left-color:#3b82f6}.anti-pattern-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.anti-pattern-icon{font-size:1.1em}.anti-pattern-title{font-size:14px;font-weight:600}.anti-pattern--danger .anti-pattern-title{color:#dc2626}.anti-pattern--warning .anti-pattern-title{color:#d97706}.anti-pattern--info .anti-pattern-title{color:#2563eb}.anti-pattern-content{color:var(--color-foreground);font-size:14px;line-height:1.6}.anti-pattern-content code{background:#0000001a;border-radius:3px;padding:.15em .4em;font-size:.9em}.tabs{margin:1.5rem 0}.tabs-list{border-bottom:1px solid var(--color-border);gap:0;display:flex}.tabs-trigger{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:14px;transition:all .15s;display:flex}.tabs-trigger:hover{color:var(--color-foreground);background:var(--color-muted)}.tabs-trigger[data-state=active]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabs-icon{display:flex}.tabs-content{padding:1rem 0}.accordion{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-item:last-child{border-bottom:none}.accordion-trigger{background:var(--color-background);width:100%;color:var(--color-foreground);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:14px;font-weight:500;transition:background .15s;display:flex}.accordion-trigger:hover{background:var(--color-muted)}.accordion-chevron{color:var(--color-muted-foreground);transition:transform .2s}.accordion-trigger[data-state=open] .accordion-chevron{transform:rotate(180deg)}.accordion-content{overflow:hidden}.accordion-content[data-state=open]{animation:.2s ease-out accordionSlideDown}.accordion-content[data-state=closed]{animation:.2s ease-out accordionSlideUp}@keyframes accordionSlideDown{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordionSlideUp{0%{height:var(--radix-accordion-content-height)}to{height:0}}.accordion-content-inner{padding:0 1.25rem 1rem;font-size:14px;line-height:1.6}.callout{border-left:4px solid;border-radius:8px;gap:.75rem;margin:1.5rem 0;padding:1rem 1.25rem;display:flex}.callout--info{background:#3b82f614;border-left-color:#3b82f6}.callout--warning{background:#f59e0b14;border-left-color:#f59e0b}.callout--success{background:#22c55e14;border-left-color:#22c55e}.callout--error{background:#ef444414;border-left-color:#ef4444}.callout--tip{background:#8b5cf614;border-left-color:#8b5cf6}.callout-icon{flex-shrink:0;margin-top:2px}.callout--info .callout-icon{color:#3b82f6}.callout--warning .callout-icon{color:#f59e0b}.callout--success .callout-icon{color:#22c55e}.callout--error .callout-icon{color:#ef4444}.callout--tip .callout-icon{color:#8b5cf6}.callout-content{flex:1}.callout-title{margin-bottom:.25rem;font-size:14px;font-weight:600}.callout-body{font-size:14px;line-height:1.6}.callout-body p:last-child{margin-bottom:0}.note{border-left:2px solid var(--color-border);background:0 0;margin:1.5rem 0;padding:.75rem 0 .75rem 1rem}.note--warning{border-left-color:#d97706}.note--tip{border-left-color:var(--color-primary)}.note-title{color:var(--color-foreground);margin-bottom:.25rem;font-size:13px;font-weight:600}.note--warning .note-title{color:#d97706}.note--tip .note-title{color:var(--color-primary)}.note-content{color:var(--color-muted-foreground);font-size:14px;line-height:1.6}.note-content p:last-child{margin-bottom:0}.mermaid-container{background:var(--color-muted);border-radius:8px;margin:1.5rem 0;padding:1rem;overflow-x:auto}.mermaid-container svg{max-width:100%;height:auto}.mermaid-loading{color:var(--color-muted-foreground);font-size:14px}.mermaid-error{color:#ef4444;font-size:14px}.diff-viewer-container{font-family:var(--font-mono);color:#d4d4d4;background:#1e1e1e;border-radius:8px;font-size:13px;overflow:hidden}.diff-viewer-container span{background-color:#0000!important}.diff-header{background:#2d2d2d;border-bottom:1px solid #3d3d3d;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.diff-title{color:var(--color-muted-foreground);font-weight:500}.diff-toggle{gap:.25rem;display:flex}.diff-toggle-btn{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .75rem;font-size:12px}.diff-toggle-btn.active{background:var(--color-primary);color:#fff}.diff-split{grid-template-columns:1fr 1fr;display:grid}.diff-pane{overflow-x:auto}.diff-pane-header{text-transform:uppercase;letter-spacing:.05em;color:#888;background:#2d2d2d;border-bottom:1px solid #3d3d3d;padding:.5rem 1rem;font-size:11px}.diff-pane--old .diff-pane-header{color:#ef4444;background:#ef444433}.diff-pane--new .diff-pane-header{color:#22c55e;background:#22c55e33}.diff-line{white-space:pre;padding:.125rem .5rem;display:flex}.diff-line-num{text-align:right;width:32px;color:var(--color-muted-foreground);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:.5rem}.diff-line--removed{color:#ef4444;background:0 0}.diff-line--added{color:#22c55e;background:0 0}.diff-unified{padding:.5rem 0}.diff-prefix{text-align:center;flex-shrink:0;width:20px;font-weight:700}.diff-line--removed .diff-prefix{color:#ef4444}.diff-line--added .diff-prefix{color:#22c55e}@media(max-width:768px){.diff-split{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}.article-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}.article-content th,.article-content td{padding:.75rem 1rem;text-align:left;border:1px solid var(--color-border)}.article-content th{background:var(--color-muted);font-weight:600;white-space:nowrap}.article-content tr:nth-child(2n) td{background:#00000005}:where(.dark) .article-content tr:nth-child(2n) td{background:#ffffff05}.article-content td code{background:var(--color-muted);padding:.15em .4em;border-radius:3px;font-size:.85em}.article-content ul{list-style:none;padding-left:0;margin:1rem 0}.article-content ul li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;line-height:1.6}.article-content ul li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700}.article-content ol{padding-left:1.5rem;margin:1rem 0}.article-content ol li{margin-bottom:.5rem;line-height:1.6}.article-content h2{margin-top:2rem;margin-bottom:.75rem}.article-content pre+div,.article-content .expressive-code+div{margin-top:.25rem}.check-icon{display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:3px;margin-right:.5rem}.check-item .check-icon{background:#22c55e;color:#fff}.check-item--anti .check-icon{background:#ef4444;color:#fff}.glossary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.glossary-card{background:var(--color-muted);padding:1rem;border-radius:8px}.glossary-term{font-weight:600;font-size:14px;color:var(--color-primary);margin-bottom:.25rem}.glossary-def{font-size:13px;color:var(--color-muted-foreground);line-height:1.5}.metaphor-box{background:linear-gradient(135deg,#4f46e51a,#9333ea1a);padding:1.25rem;border-radius:8px;margin-top:1rem}.metaphor-title{font-weight:600;font-size:14px;margin-bottom:.5rem}.metaphor-box p{margin:0;font-size:14px;line-height:1.6;color:var(--color-foreground)}.tip-box{background:var(--color-muted);padding:.75rem 1rem;border-radius:4px;font-size:.9rem;margin-top:1.5rem;width:fit-content;border:1px solid transparent}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}@media(max-width:640px){.check-grid{grid-template-columns:1fr}}.check-item{font-size:.9rem;padding:.25rem .5rem;background:var(--color-muted);border-radius:4px;border:1px solid transparent;display:inline-flex;align-items:center}.check-item--anti{background:#fff1f2;color:#be123c;border-color:#fecdd3}:where(.dark) .check-item--anti{background:#881337;color:#ffe4e6;border-color:#9f1239}.next-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.next-step-card{display:flex;flex-direction:column;padding:1.25rem;background:var(--color-muted);border-radius:8px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.next-step-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.next-step-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary);color:#fff;border-radius:6px;font-size:14px;font-weight:600;margin-bottom:.5rem}.next-step-title{font-weight:600;font-size:15px;margin-bottom:.25rem}.next-step-desc{font-size:13px;color:var(--color-muted-foreground)}.code-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}@media(max-width:768px){.code-comparison{grid-template-columns:1fr}}.code-comparison-pane{border-radius:8px;overflow:hidden}.code-comparison-header{padding:.5rem 1rem;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:8px 8px 0 0;margin-bottom:0}.code-comparison-pane--bad .code-comparison-header{background:#ef4444;color:#fff}.code-comparison-pane--good .code-comparison-header{background:#22c55e;color:#fff}.code-comparison-pane>*{margin:0!important}.code-comparison-pane :global(.expressive-code),.code-comparison-pane :global(.expressive-code figure),.code-comparison-pane :global(.expressive-code pre),.code-comparison-pane :global(.expressive-code .frame),.code-comparison-pane :global(figure){margin:0!important}.code-comparison-pane :global(.expressive-code .frame){border-radius:0 0 8px 8px!important}.right-sidebar[data-astro-cid-zujyv34g]{width:200px;padding:1.5rem .75rem;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto;font-size:12px}.right-sidebar-section[data-astro-cid-zujyv34g]{margin-bottom:1.5rem}.right-sidebar-title[data-astro-cid-zujyv34g]{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-foreground);margin-bottom:.75rem}.toc-list[data-astro-cid-zujyv34g]{list-style:none;margin:0;padding:0}.toc-item[data-astro-cid-zujyv34g]{margin-bottom:.25rem}.toc-item--level-3[data-astro-cid-zujyv34g]{padding-left:.75rem}.toc-item--level-4[data-astro-cid-zujyv34g]{padding-left:1.5rem}.toc-link[data-astro-cid-zujyv34g]{color:var(--color-muted-foreground);text-decoration:none;display:block;border-left:2px solid transparent;padding:.25rem 0 .25rem .5rem;transition:all .15s}.toc-link[data-astro-cid-zujyv34g]:hover{color:var(--color-primary);border-left-color:var(--color-primary)}.glossary-list[data-astro-cid-zujyv34g]{list-style:none;margin:0;padding:0}.glossary-item[data-astro-cid-zujyv34g]{margin-bottom:.25rem}.glossary-link[data-astro-cid-zujyv34g]{color:var(--color-primary);text-decoration:none;font-size:12px}.glossary-link[data-astro-cid-zujyv34g]:hover{text-decoration:underline}.judgment-criteria[data-astro-cid-zujyv34g]{background:var(--color-muted);padding:.75rem;border-radius:6px;font-size:12px;line-height:1.5}.right-sidebar-section--completion[data-astro-cid-zujyv34g]{background:color-mix(in srgb,var(--color-success, #22c55e) 10%,transparent);padding:.75rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--color-success, #22c55e) 30%,transparent)}.completion-note[data-astro-cid-zujyv34g]{margin:0;font-size:12px;line-height:1.5}.related-list[data-astro-cid-zujyv34g]{list-style:none;margin:0;padding:0}.related-link[data-astro-cid-zujyv34g]{color:var(--color-foreground);text-decoration:none;display:block;padding:.25rem 0}.related-link[data-astro-cid-zujyv34g]:hover{color:var(--color-primary)}@media(max-width:1024px){.right-sidebar[data-astro-cid-zujyv34g]{display:none}}
