*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}html{font-size:16px}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;color:#111827;background-color:#ffffff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}:root{--font-primary:var(--font-inter,"Inter",system-ui,-apple-system,sans-serif);--font-display:var(--font-pacifico,"Pacifico",cursive);--color-primary:#495164;--color-primary-dark:#3d4453;--color-primary-light:#5b6378;--color-secondary:#2083ff;--color-success:#38a169;--color-error:#e53e3e;--color-alert:#dd6b20;--color-white:#ffffff;--color-border-light:#e2e8f0;--color-border-medium:#cbd5e0;--color-border-dark:#a0aec0;--color-text-light:#718096;--color-text-medium:#4a5568;--color-text-dark:#2d3748;--color-gray-1:#ffffff;--color-gray-2:#f7fafc;--color-gray-3:#e2e8f0;--color-gray-4:#cbd5e0;--color-gray-5:#a0aec0;--color-gray-6:#718096;--color-gray-7:#4a5568;--color-gray-8:#2d3748;--color-gray-9:#1a202c;--font-size-xs:0.65rem;--font-size-sm:0.775rem;--font-size-base:16px;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-xxl:2.5rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-loose:1.75;--line-height-relaxed:1.6;--line-height-base:1.6;--font-family-base:var(--font-primary);--font-family-display:var(--font-display);--font-family-mono:"Monaco","Menlo",monospace;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem;--spacing-xxl:2rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--transition-fast:150ms;--transition-normal:250ms;--transition-slow:350ms;--transition-ease:cubic-bezier(0.4,0,0.2,1);font-size:var(--font-size-base);line-height:var(--line-height-base);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"kern" 1,"liga" 1}:root,html{-moz-osx-font-smoothing:grayscale}html{box-sizing:border-box;-webkit-font-smoothing:antialiased}*,:after,:before{box-sizing:inherit}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.7;color:#2c2826;background-color:#f7f6f5;font-weight:400;letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{margin:0;line-height:var(--line-height-tight)}h1{font-size:2.5rem;line-height:1.25}h1,h2{font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}h2{font-size:2rem;line-height:1.3}h3{font-size:1.5rem}h3,h4{font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-dark)}h4{font-size:1.25rem}h5{font-size:1.125rem}h5,h6{font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-dark)}h6{font-size:1rem}p{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-medium)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast) var(--transition-ease)}a:hover{color:var(--color-gray-700)}:focus{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.sr-only,.visually-hidden{width:1px;height:1px;overflow:hidden;white-space:nowrap}.visually-hidden{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.section-subtitle{font-size:1.25rem;color:var(--color-gray-600);line-height:1.5;max-width:65ch;font-weight:400;letter-spacing:-.015em}.info-panel,.section-subtitle{margin-bottom:var(--spacing-xl)}.info-panel{background:var(--color-gray-50);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.info-panel-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-lg)}.info-panel p{font-size:1.125rem;line-height:1.7;color:var(--color-gray-800);margin-bottom:var(--spacing-lg);max-width:68ch;font-weight:400;letter-spacing:-.011em}.info-panel .file-path{font-family:var(--font-family-mono);font-size:.925em;color:var(--color-primary);background:var(--color-gray-100);padding:.4em .6em;border-radius:var(--radius-sm);display:inline-block;margin-bottom:var(--spacing-md);letter-spacing:-.025em}.info-panel .description{font-size:var(--font-size-base);color:var(--color-gray-700);line-height:1.6;margin-bottom:var(--spacing-lg)}.info-list{list-style:none;padding:0;margin:var(--spacing-md) 0 0;max-width:68ch}.info-list li{position:relative;padding-left:1.5em;margin-bottom:1em;color:var(--color-gray-700);line-height:1.7;font-size:1.0625rem}.info-list li:before{content:"•";position:absolute;left:.25em;color:var(--color-gray-400);font-size:1.2em;line-height:1}.info-list code{font-size:.925em;background:var(--color-gray-100);padding:.2em .4em;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);letter-spacing:-.025em}.ascii-diagram,.info-list code{font-family:var(--font-family-mono);color:var(--color-gray-800)}.ascii-diagram{font-size:var(--font-size-sm);line-height:1.5;white-space:pre;background:var(--color-white);padding:var(--spacing-xl);border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--color-gray-200);margin:var(--spacing-lg) 0;box-shadow:0 1px 2px rgba(0,0,0,.05)}.nav-links{display:flex;gap:var(--spacing-lg);margin:var(--spacing-xl) 0 var(--spacing-xxl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-gray-200)}.nav-links a{color:var(--color-gray-600);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease}.nav-links a:hover{color:var(--color-primary)}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-xxl) var(--spacing-xl)}.page-title{font-size:2.75rem;font-weight:var(--font-weight-bold);letter-spacing:-.03em;line-height:1.1;color:var(--color-gray-8);margin-bottom:var(--spacing-sm)}.page-subtitle{font-size:var(--font-size-lg);color:var(--color-gray-6);line-height:1.5;margin-bottom:var(--spacing-xxl);max-width:50ch}.text-mono{font-family:var(--font-family-mono);font-size:.9em}.text-small{font-size:var(--font-size-sm);color:var(--color-gray-600)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.content-section{margin-bottom:var(--spacing-xxl)}.content-section:last-child{margin-bottom:0}.section-title{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:3rem;color:var(--color-gray-900)}.component-category{margin-top:5rem;padding-top:5rem;border-top:1px solid var(--color-gray-200)}.component-category:first-of-type{margin-top:0;padding-top:0;border-top:none}.category-title{font-size:.875rem;font-weight:500;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2rem}.component-list .expandableSection{border-top:1px solid var(--color-gray-100)}.component-list .expandableSection:first-child{border-top:none}.component-list .expandableSection .header{padding:1.25rem 0}.component-list .expandableSection .header:hover{background:var(--color-gray-50)}.component-list .expandableSection .content.expanded{padding:2rem 0;border-top:1px solid var(--color-gray-100)}@media (max-width:768px){.section-title{font-size:2rem;margin-bottom:2rem}.component-category{margin-top:3rem;padding-top:3rem}}.lead{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-text-medium)}.small,small{font-size:var(--font-size-sm)}.caption,.small,small{color:var(--color-text-light)}.caption{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.text-italic{font-style:italic}.text-large{font-size:var(--font-size-lg)}.price-display{font-size:2.5rem;font-weight:var(--font-weight-bold);color:var(--color-text-dark);line-height:1}.price-period{font-size:var(--font-size-base);color:var(--color-text-light);font-weight:var(--font-weight-regular)}.dark-section,.dark-section h1,.dark-section h2,.dark-section h3,.dark-section h4,.dark-section h5,.dark-section h6,.dark-section p{color:var(--color-white)}.dark-section p{opacity:.9}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.modal-overlay,.modal-overlay *{scrollbar-width:none;-ms-overflow-style:none}.modal-overlay ::-webkit-scrollbar,.modal-overlay::-webkit-scrollbar{display:none;width:0;height:0}@keyframes loadingDots{0%,80%,to{opacity:.5}40%{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}button[data-variant=primary]:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px rgba(45,78,84,.25)}button[data-variant=secondary]:hover:not(:disabled){background-color:#f8f9fa}button[data-variant=ghost]:hover:not(:disabled){background-color:#f8f9fa;color:#1a202c}button[data-variant=link]:hover:not(:disabled){color:#2d4e54}button:focus-visible{outline:2px solid #2d4e54;outline-offset:2px}.modal-close-button:hover{background-color:#f8f9fa;color:#1a202c}.modal-close-button:focus-visible{outline:2px solid #2d4e54;outline-offset:2px}.card-elevation-min:hover{box-shadow:0 2px 4px rgba(0,0,0,.05)}.card-elevation-medium:hover{box-shadow:0 6px 8px -1px rgba(0,0,0,.1),0 3px 6px -1px rgba(0,0,0,.06)}.card-elevation-max:hover{box-shadow:0 12px 20px -3px rgba(0,0,0,.1),0 6px 8px -2px rgba(0,0,0,.05)}.chip-variant-default:hover{background-color:#e2e8f0}.chip-filter-default:hover{background-color:#e2e8f0;border-color:#cbd5e0}.tab-button:hover{color:#1a202c}.tab-button:focus-visible{outline:2px solid #2d4e54;outline-offset:-2px;border-radius:.25rem}.tab-panel:focus{outline:none}.expandable-section-trigger:hover{color:#2d4e54}.expandable-section-trigger:focus-visible{outline:2px solid #2d4e54;outline-offset:-2px}.form-textarea:focus{outline:none;border-color:#2d4e54;box-shadow:0 0 0 3px rgba(45,78,84,.1)}.form-textarea:disabled{opacity:.6;cursor:not-allowed}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/55c55f0601d81cf3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26a46d62cd723877-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/97e0cb1ae144a2a9-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/581909926a08bbc8-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_e8ce0c{font-family:Inter,Inter Fallback,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-style:normal}.__variable_e8ce0c{--font-inter:"Inter","Inter Fallback",system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c89cfa4ee44cbc90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4c5ce8dda3f2e57a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bbe178ab8b70b75e-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/797ceaad3c9a531e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1b3800ed4c918892-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Pacifico Fallback;src:local("Arial");ascent-override:137.32%;descent-override:47.74%;line-gap-override:0.00%;size-adjust:94.89%}.__className_5f64cf{font-family:Pacifico,Pacifico Fallback,cursive,system-ui;font-weight:400;font-style:normal}.__variable_5f64cf{--font-pacifico:"Pacifico","Pacifico Fallback",cursive,system-ui}