/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;tab-size:4}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}b,strong{font-weight:600}blockquote,dd,dl,figure,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}canvas,img,picture,svg,video{max-width:100%;display:block}table{border-collapse:collapse}hr{color:inherit;border:0;border-top:1px solid}}@layer components,utilities;:root{--color-blue-50:#eff5ff;--color-blue-100:#dbe8fe;--color-blue-200:#bfd7fe;--color-blue-300:#93bbfd;--color-blue-400:#609afa;--color-blue-500:#3b82f6;--color-blue-600:#2570eb;--color-blue-700:#1d64d8;--color-blue-800:#1e55af;--color-blue-900:#1e478a;--color-blue-950:#172e54;--color-purple-30:#fdfaff;--color-purple-50:#faf5ff;--color-purple-100:#f4e8ff;--color-purple-200:#ebd5ff;--color-purple-300:#dab4fe;--color-purple-400:#c184fc;--color-purple-500:#a855f7;--color-purple-600:#9133ea;--color-purple-700:#7a22ce;--color-purple-800:#6621a8;--color-purple-900:#531c87;--color-purple-950:#370764;--color-pink-600:#e30076;--color-green-30:#f5fefa;--color-green-50:#ecfdf5;--color-green-100:#d1fae5;--color-green-200:#a7f3d0;--color-green-300:#6ee7b7;--color-green-400:#34d399;--color-green-500:#10b981;--color-green-600:#059669;--color-green-700:#047857;--color-green-800:#065f46;--color-green-900:#064e3b;--color-green-950:#022c22;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-gray-950:#020617;--color-red-30:#fff8f8;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-red-900:#7f1d1d;--color-red-950:#450a0a;--color-orange-30:#fffaf3;--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-300:#fcd34d;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#92400e;--color-amber-900:#78350f;--color-amber-950:#451a03;--color-yellow-30:#fffef5;--color-yellow-50:#fefce8;--color-yellow-100:#fef9c3;--color-yellow-200:#fef08a;--color-yellow-300:#fde047;--color-yellow-400:#facc15;--color-yellow-500:#eab308;--color-yellow-600:#ca8a04;--color-yellow-700:#a16207;--color-yellow-800:#854d0e;--color-yellow-900:#713f12;--color-yellow-950:#422006;--color-blue-500-4:var(--color-blue-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-500-4:color-mix(in srgb,var(--color-blue-500) 4%,transparent)}}:root{--color-blue-500-5:var(--color-blue-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-500-5:color-mix(in srgb,var(--color-blue-500) 5%,transparent)}}:root{--color-blue-500-6:var(--color-blue-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-500-6:color-mix(in srgb,var(--color-blue-500) 6%,transparent)}}:root{--color-blue-500-10:var(--color-blue-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-500-10:color-mix(in srgb,var(--color-blue-500) 10%,transparent)}}:root{--color-blue-500-15:var(--color-blue-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-500-15:color-mix(in srgb,var(--color-blue-500) 15%,transparent)}}:root{--color-blue-500-20:var(--color-blue-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-500-20:color-mix(in srgb,var(--color-blue-500) 20%,transparent)}}:root{--color-blue-500-30:var(--color-blue-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-500-30:color-mix(in srgb,var(--color-blue-500) 30%,transparent)}}:root{--color-blue-500-40:var(--color-blue-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-500-40:color-mix(in srgb,var(--color-blue-500) 40%,transparent)}}:root{--color-blue-600-6:var(--color-blue-600)}@supports (color:color-mix(in lab,red,red)){:root{--color-blue-600-6:color-mix(in srgb,var(--color-blue-600) 6%,transparent)}}:root{--color-red-500-20:var(--color-red-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-red-500-20:color-mix(in srgb,var(--color-red-500) 20%,transparent)}}:root{--color-red-500-30:var(--color-red-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-red-500-30:color-mix(in srgb,var(--color-red-500) 30%,transparent)}}:root{--color-red-500-40:var(--color-red-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-red-500-40:color-mix(in srgb,var(--color-red-500) 40%,transparent)}}:root{--color-purple-400-15:var(--color-purple-400)}@supports (color:color-mix(in lab,red,red)){:root{--color-purple-400-15:color-mix(in srgb,var(--color-purple-400) 15%,transparent)}}:root{--color-purple-500-6:var(--color-purple-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-purple-500-6:color-mix(in srgb,var(--color-purple-500) 6%,transparent)}}:root{--color-purple-500-15:var(--color-purple-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-purple-500-15:color-mix(in srgb,var(--color-purple-500) 15%,transparent)}}:root{--color-purple-500-20:var(--color-purple-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-purple-500-20:color-mix(in srgb,var(--color-purple-500) 20%,transparent)}}:root{--color-purple-500-30:var(--color-purple-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-purple-500-30:color-mix(in srgb,var(--color-purple-500) 30%,transparent)}}:root{--color-purple-500-40:var(--color-purple-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-purple-500-40:color-mix(in srgb,var(--color-purple-500) 40%,transparent)}}:root{--color-green-500-10:var(--color-green-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-green-500-10:color-mix(in srgb,var(--color-green-500) 10%,transparent)}}:root{--color-green-500-20:var(--color-green-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-green-500-20:color-mix(in srgb,var(--color-green-500) 20%,transparent)}}:root{--color-green-500-30:var(--color-green-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-green-500-30:color-mix(in srgb,var(--color-green-500) 30%,transparent)}}:root{--color-green-500-40:var(--color-green-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-green-500-40:color-mix(in srgb,var(--color-green-500) 40%,transparent)}}:root{--color-green-500-50:var(--color-green-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-green-500-50:color-mix(in srgb,var(--color-green-500) 50%,transparent)}}:root{--color-green-500-80:var(--color-green-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-green-500-80:color-mix(in srgb,var(--color-green-500) 80%,transparent)}}:root{--color-gray-400-30:var(--color-gray-400)}@supports (color:color-mix(in lab,red,red)){:root{--color-gray-400-30:color-mix(in srgb,var(--color-gray-400) 30%,transparent)}}:root{--color-gray-500-10:var(--color-gray-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-gray-500-10:color-mix(in srgb,var(--color-gray-500) 10%,transparent)}}:root{--color-gray-500-20:var(--color-gray-500)}@supports (color:color-mix(in lab,red,red)){:root{--color-gray-500-20:color-mix(in srgb,var(--color-gray-500) 20%,transparent)}}:root{--color-gray-900-30:var(--color-gray-900)}@supports (color:color-mix(in lab,red,red)){:root{--color-gray-900-30:color-mix(in srgb,var(--color-gray-900) 30%,transparent)}}:root{--color-gray-200-50:var(--color-gray-200)}@supports (color:color-mix(in lab,red,red)){:root{--color-gray-200-50:color-mix(in srgb,var(--color-gray-200) 50%,transparent)}}:root{--color-error-500:var(--color-red-500);--color-blue-shadow:#3b82f64d;--color-blue-shadow-hover:#3b82f633;--color-shadow-subtle:#0000000f;--color-background-primary:white;--color-background-secondary:var(--color-gray-50);--color-background-tertiary:var(--color-gray-200);--color-bg-primary:var(--color-background-primary);--color-bg-secondary:var(--color-background-secondary);--color-bg-tertiary:var(--color-background-tertiary);--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-500);--color-text-tertiary:var(--color-gray-400);--color-text-muted:var(--color-gray-300);--color-border-primary:var(--color-gray-200);--color-border-secondary:var(--color-gray-300);--color-surface-elevated:white;--color-surface-overlay:#0000000d;--color-button-primary-bg:#8b5cf6;--color-button-primary-text:white;--color-button-secondary-bg:var(--color-gray-100);--color-button-secondary-text:var(--color-gray-700);--color-link-primary:var(--color-blue-600);--color-link-hover:var(--color-blue-700);--color-success-bg:var(--color-green-50);--color-success-text:var(--color-green-800);--color-success-border:var(--color-green-500);--color-error-bg:var(--color-red-50);--color-error-text:var(--color-red-800);--color-error-border:var(--color-red-500);--color-warning-bg:var(--color-amber-50);--color-warning-text:var(--color-amber-800);--color-warning-border:var(--color-amber-500);--color-info-bg:var(--color-blue-50);--color-info-text:#1e40af;--color-info-border:var(--color-blue-500)}[data-theme=dark]{--background:#0a0a0a;--foreground:#ededed;--color-background-primary:#0a0a0a;--color-background-secondary:#1a1a1a;--color-background-tertiary:#262626;--color-text-primary:#ededed;--color-text-secondary:#a3a3a3;--color-text-tertiary:#737373;--color-text-muted:#525252;--color-border-primary:#404040;--color-border-secondary:#525252;--color-surface-elevated:#1f1f1f;--color-surface-overlay:#ffffff0d;--color-button-primary-bg:#8b5cf6;--color-button-primary-text:white;--color-button-secondary-bg:#374151;--color-button-secondary-text:var(--color-gray-300);--color-link-primary:var(--color-blue-400);--color-link-hover:var(--color-blue-300);--color-success-bg:var(--color-green-900);--color-success-text:var(--color-green-300);--color-success-border:var(--color-green-500);--color-error-bg:var(--color-red-900);--color-error-text:var(--color-red-300);--color-error-border:var(--color-red-500);--color-warning-bg:var(--color-amber-900);--color-warning-text:var(--color-amber-300);--color-warning-border:var(--color-amber-500);--color-info-bg:#1e3a8a;--color-info-text:var(--color-blue-300);--color-info-border:var(--color-blue-500)}:root,body{--font-sans:var(--font-poppins),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}:root,body{--font-mono:var(--font-source-code-pro),ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace}:root{--default-mono-font-family:"Source Code Pro",ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--text-12:12px;--text-13:13px;--text-14:14px;--text-15:15px;--text-16:16px;--text-17:17px;--text-18:18px;--text-19:19px;--text-20:20px;--text-21:21px;--text-22:22px;--text-23:23px;--text-24:24px;--text-25:25px;--text-28:28px;--text-31:31px;--text-32:32px;--text-34:34px;--text-36:36px;--text-39:39px;--text-40:40px;--text-48:48px;--text-54:54px;--text-56:56px;--text-64:64px;--text-100:100%;--leading-100:100%;--padding-10:10px;--padding-20:20px;--leading-none:1;--leading-tight:125%;--leading-regular:138%;--leading-paragraph:150%;--leading-code:160%;--leading-huge:170%;--leading-120:120%;--leading-130:130%;--leading-140:140%;--leading-150:150%;--leading-160:160%;--leading-170:170%;--leading-180:180%;--leading-190:190%;--leading-200:200%;--border-width-1:1px;--border-width-2:2px;--radius-none:0;--radius-3:3px;--radius-4:4px;--radius-5:5px;--radius-6:6px;--radius-8:8px;--radius-12:12px;--radius-16:16px;--radius-24:24px;--radius-32:32px;--radius-100:100px;--radius-circle:100%;--z-index-base:1;--z-index-dropdown:10;--z-index-sticky:20;--z-index-fixed:30;--z-index-overlay-backdrop:40;--z-index-resizer:50;--z-index-popover:60;--z-index-tooltip:10100;--z-index-tooltip-content:10101;--z-index-nav:100;--z-index-nav-popover:110;--z-index-beta-tag:1001;--z-index-modal-backdrop:1000;--z-index-modal:1001;--z-index-modal-nested:1050;--z-index-spotlight-backdrop:1100;--z-index-spotlight:1200;--z-index-error-modal-backdrop:1299;--z-index-notification:1300;--header-height:70px;--sticky-offset:24px;--spacing-auto:auto;--spacing-0:0px;--spacing-2:2px;--spacing-4:4px;--spacing-6:6px;--spacing-8:8px;--spacing-10:10px;--spacing-12:12px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--spacing-28:28px;--spacing-32:32px;--spacing-36:36px;--spacing-40:40px;--spacing-44:44px;--spacing-48:48px;--spacing-52:52px;--spacing-56:56px;--spacing-60:60px;--spacing-64:64px;--spacing-72:72px;--spacing-80:80px;--spacing-84:84px;--spacing-88:88px;--spacing-96:96px;--spacing-128:128px;--spacing-140:140px;--spacing-fill:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}@keyframes ui-spin{to{transform:rotate(1turn)}}@keyframes ui-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.theme-transition{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}.theme-transition-fast{transition:background-color .15s,color .15s,border-color .15s}.theme-transition-slow{transition:background-color .5s,color .5s,border-color .5s,box-shadow .5s}.focus-ring:focus-visible{outline:2px solid var(--color-link-primary);outline-offset:2px}.focus-ring-inset:focus-visible{outline:2px solid var(--color-link-primary);outline-offset:-2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-contrast:high){:root{--color-border-primary:black;--color-border-secondary:black;--color-text-secondary:var(--color-text-primary)}[data-theme=dark]{--color-border-primary:white;--color-border-secondary:white;--color-text-secondary:var(--color-text-primary)}}@media (prefers-reduced-motion:reduce){.cm-gutters,.editor,.theme-transition,.theme-transition-fast,.theme-transition-slow,body{transition:none}}.ui-html{overscroll-behavior:none}.ui-body,.ui-body *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-poppins),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}body:after{content:"";pointer-events:none;width:100vw;height:100vh;z-index:var(--z-index-spotlight-backdrop);background:0 0;transition:background-color 2.5s ease-in-out;position:fixed;top:0;left:0}body:has(.spotlight):after{background:#000000e6}body .spotlight{z-index:var(--z-index-spotlight);position:relative}.container-size{container-type:size}.ReactModal__Body--open,.coding-exercise-container{overflow:hidden}.ui-form-field-large{position:relative}.ui-form-field-large>label{color:var(--color-gray-700);margin-bottom:8px;font-size:15px;font-weight:600;transition:color .3s;display:block}.ui-form-field-large:focus-within>label{color:var(--color-blue-500)}.ui-form-field-large>div{position:relative}.ui-form-field-large>div:has(svg) input{padding-left:48px}.ui-form-field-large>div:focus-within svg{color:var(--color-blue-500)}.ui-form-field-large input{border:2px solid var(--color-gray-200);width:100%;color:var(--color-gray-900);background:#fff;border-radius:12px;padding:14px 16px;font-size:16px;transition:all .3s}.ui-form-field-large input:hover{border-color:var(--color-blue-500);box-shadow:0 0 0 2px var(--color-blue-500-10)}.ui-form-field-large input:focus{border-color:var(--color-blue-500);box-shadow:0 0 0 4px var(--color-blue-500-15);outline:none}.ui-form-field-large svg{pointer-events:none;width:18px;height:18px;color:var(--color-gray-400);transition:color .3s;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.ui-form-field-large .ui-form-field-error-message{color:var(--color-red-500);margin-top:4px;font-size:14px;font-weight:500}.ui-form-field-large.ui-form-field-error>div{animation:ui-shake .5s}.ui-form-field-large.ui-form-field-error input{border-color:var(--color-red-500)}.ui-form-field-large.ui-form-field-error input:focus{border-color:var(--color-blue-500);box-shadow:0 0 0 4px var(--color-blue-500-15)}.ui-form-field-large.ui-form-field-error svg{color:var(--color-red-500)}.ui-search-input{margin-top:2px;margin-bottom:32px;position:relative}.ui-search-input>svg:first-child{pointer-events:none;width:18px;height:18px;color:var(--color-gray-400);transition:color .3s;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.ui-search-input input{width:100%;font-size:16px;font-family:var(--font-sans);border:2px solid var(--color-gray-200);color:var(--color-gray-900);background:#fff;border-radius:12px;padding:14px 16px 14px 48px;transition:all .3s}.ui-search-input input::placeholder{color:var(--color-gray-400)}.ui-search-input input:hover{border-color:var(--color-blue-500);box-shadow:0 0 0 2px var(--color-blue-500-10)}.ui-search-input input:focus{border-color:var(--color-blue-500);box-shadow:0 0 0 4px var(--color-blue-500-15);outline:none}.ui-search-input:focus-within>svg:first-child{color:var(--color-blue-500)}.ui-link{color:var(--color-blue-500);font-weight:500;text-decoration:none}.ui-link:hover{text-decoration:underline}.ui-emoji{font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif}.ui-btn{--primary-color:var(--color-blue-500);--primary-color-dark:var(--color-blue-600);--primary-color-light:var(--color-blue-300);--primary-shadow:var(--color-blue-500-30);--primary-shadow-light:var(--color-blue-500-20);--primary-shadow-lighter:var(--color-blue-500-10);--primary-shadow-dark:var(--color-blue-500-40);cursor:pointer;text-align:center;border:2px solid;justify-content:center;align-items:center;gap:12px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.ui-btn-xs{border-radius:8px;padding:6px 12px;font-size:14px}.ui-btn-small{border-radius:8px;padding:8px 16px;font-size:15px}.ui-btn-default{border-radius:10px;padding:12px 18px;font-size:16px}.ui-btn-large{border-radius:12px;padding:16px 20px;font-size:17px}.ui-btn-xlarge{border-radius:12px;padding:18px 40px;font-size:20px}.ui-btn-primary{border-color:var(--primary-color);color:#fff;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-color-dark) 100%);box-shadow:0 2px 8px var(--primary-shadow)}.ui-btn-primary:hover{border-color:var(--primary-color-dark);box-shadow:0 0 0 4px var(--primary-shadow-light),0 4px 16px var(--primary-shadow-dark)}.ui-btn-secondary{color:var(--primary-color);border-color:var(--primary-color-light);box-shadow:0 2px 8px var(--primary-shadow);background:#fff}.ui-btn-secondary:hover{border-color:var(--primary-color);box-shadow:0 0 0 4px var(--primary-shadow-light),0 4px 16px var(--primary-shadow-dark);background:#fff}.ui-btn-tertiary{color:var(--color-gray-600);border-color:var(--color-gray-300);box-shadow:0 2px 8px var(--color-gray-400-30);background:#fff}.ui-btn-tertiary:hover{border-color:var(--color-gray-400);box-shadow:0 0 0 4px var(--color-gray-500-10),0 4px 16px var(--color-gray-500-20);background:#fff}.ui-btn-subtle{background:var(--color-gray-500-20);color:var(--color-gray-600);border-color:var(--color-gray-300);box-shadow:0 2px 8px var(--color-gray-500-10)}.ui-btn-subtle:hover{background:var(--color-gray-400-30);border-color:var(--color-gray-400);box-shadow:0 0 0 4px var(--color-gray-500-10),0 4px 16px var(--color-gray-500-20)}.ui-btn-danger{--primary-color:var(--color-red-500);--primary-color-dark:var(--color-red-600);--primary-color-light:var(--color-red-300);--primary-shadow:var(--color-red-500-30);--primary-shadow-light:var(--color-red-500-20);--primary-shadow-dark:var(--color-red-500-40);color:var(--primary-color);border-color:var(--primary-color-light);box-shadow:0 2px 8px var(--primary-shadow);background:#fff}.ui-btn-danger:hover{border-color:var(--primary-color);box-shadow:0 0 0 4px var(--primary-shadow-light),0 4px 16px var(--primary-shadow-dark);background:#fff}.ui-btn-loading{pointer-events:none;opacity:.8;justify-content:center;align-items:center;gap:12px;display:flex}.ui-btn-loading:before{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:ui-spin .6s linear infinite}.ui-btn-danger.ui-btn-loading:before,.ui-btn-secondary.ui-btn-loading:before{border-color:var(--primary-shadow);border-top-color:var(--primary-color)}.ui-btn-subtle.ui-btn-loading:before,.ui-btn-tertiary.ui-btn-loading:before{border-color:var(--color-gray-400-30);border-top-color:var(--color-gray-600)}.ui-btn-disabled,.ui-btn:disabled{pointer-events:none;opacity:.6;cursor:not-allowed}.ui-btn-white{color:var(--color-gray-800);box-shadow:0 2px 8px var(--color-shadow-subtle);background:#fff;border-color:#fff}.ui-btn-white:hover{background:#fff;border-color:#fff;box-shadow:0 0 0 4px #ffffff40,0 4px 16px #00000026}.ui-btn-for-colorful-background{color:#7c3aed;background:#fff;border:2px solid #c4b5fd;font-weight:600;transition:all .3s;box-shadow:0 4px 20px #0000001a}.ui-btn-for-colorful-background:hover{border-color:#7c3aed;box-shadow:0 0 0 4px #7c3aed33,0 4px 20px #00000026}.ui-btn-purple{--primary-color:var(--color-purple-500);--primary-color-dark:var(--color-purple-600);--primary-color-light:var(--color-purple-300);--primary-shadow:var(--color-purple-500-30);--primary-shadow-light:var(--color-purple-500-20);--primary-shadow-lighter:var(--color-purple-500-15);--primary-shadow-dark:var(--color-purple-500-40)}.ui-btn-green{--primary-color:var(--color-green-500);--primary-color-dark:var(--color-green-600);--primary-color-light:var(--color-green-300);--primary-shadow:var(--color-green-500-30);--primary-shadow-light:var(--color-green-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-green{--primary-shadow-light:color-mix(in srgb,var(--color-green-500) 20%,transparent)}}.ui-btn-green{--primary-shadow-lighter:var(--color-green-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-green{--primary-shadow-lighter:color-mix(in srgb,var(--color-green-500) 10%,transparent)}}.ui-btn-green{--primary-shadow-dark:var(--color-green-500-40)}.ui-btn-amber{--primary-color:var(--color-amber-500);--primary-color-dark:var(--color-amber-600);--primary-color-light:var(--color-amber-300);--primary-shadow:var(--color-amber-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-amber{--primary-shadow:color-mix(in srgb,var(--color-amber-500) 30%,transparent)}}.ui-btn-amber{--primary-shadow-light:var(--color-amber-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-amber{--primary-shadow-light:color-mix(in srgb,var(--color-amber-500) 20%,transparent)}}.ui-btn-amber{--primary-shadow-lighter:var(--color-amber-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-amber{--primary-shadow-lighter:color-mix(in srgb,var(--color-amber-500) 10%,transparent)}}.ui-btn-amber{--primary-shadow-dark:var(--color-amber-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-amber{--primary-shadow-dark:color-mix(in srgb,var(--color-amber-500) 40%,transparent)}}.ui-btn-red{--primary-color:var(--color-red-500);--primary-color-dark:var(--color-red-600);--primary-color-light:var(--color-red-300);--primary-shadow:var(--color-red-500-30);--primary-shadow-light:var(--color-red-500-20);--primary-shadow-lighter:var(--color-red-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-red{--primary-shadow-lighter:color-mix(in srgb,var(--color-red-500) 10%,transparent)}}.ui-btn-red{--primary-shadow-dark:var(--color-red-500-40)}.ui-btn-gray{--primary-color:var(--color-gray-500);--primary-color-dark:var(--color-gray-600);--primary-color-light:var(--color-gray-300);--primary-shadow:var(--color-gray-400-30);--primary-shadow-light:var(--color-gray-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-gray{--primary-shadow-light:color-mix(in srgb,var(--color-gray-500) 20%,transparent)}}.ui-btn-gray{--primary-shadow-lighter:var(--color-gray-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-gray{--primary-shadow-lighter:color-mix(in srgb,var(--color-gray-500) 10%,transparent)}}.ui-btn-gray{--primary-shadow-dark:var(--color-gray-500)}@supports (color:color-mix(in lab,red,red)){.ui-btn-gray{--primary-shadow-dark:color-mix(in srgb,var(--color-gray-500) 40%,transparent)}}.ui-btn-secondary.ui-btn-amber{color:var(--color-amber-600)}.ui-btn-secondary.ui-btn-gray{color:var(--color-gray-600)}.ui-btn-flat{color:var(--color-gray-500);border-color:var(--color-gray-200);box-shadow:none;background:#fff}.ui-btn-flat:hover{color:var(--color-gray-700);border-color:var(--color-gray-400);box-shadow:none}.ui-btn-ghost{color:var(--primary-color-light);background:0 0}.ui-btn-ghost,.ui-btn-ghost:hover{border-color:var(--primary-color-light);box-shadow:none}.ui-btn-ghost:hover{background:var(--primary-shadow-light)}.ui-lhs-menu{border-right:2px solid var(--color-gray-100);width:275px;height:100vh;z-index:var(--z-index-nav);background:#fff;flex-direction:column;flex-shrink:0;padding:20px 20px 32px;display:flex;position:sticky;top:0;left:0}.ui-lhs-menu .logo{text-align:left;border-bottom:1px solid #eee;margin-bottom:16px;padding-bottom:16px}.ui-lhs-menu .logo img{width:auto;height:50px;margin:0 0 0 12px;display:block}.ui-lhs-menu .nav-section{margin-bottom:4px}.ui-lhs-menu .nav-label{color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-left:12px;font-size:12px;font-weight:600}.ui-lhs-menu .nav-list>*+*{margin-top:var(--spacing-2)}.ui-lhs-menu .nav-item{color:var(--color-gray-500);border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:4px;padding:12px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.ui-lhs-menu .nav-item:hover{color:#2d3748;background:#f7fafc}.ui-lhs-menu .nav-item.active{background:linear-gradient(135deg,var(--color-blue-500-6) 0,var(--color-blue-600-6) 100%);color:var(--color-blue-500);font-weight:600}.ui-lhs-menu .premium-pill{color:var(--color-purple-700);background:linear-gradient(135deg,var(--color-purple-500-15) 0,var(--color-purple-500-20) 100%);white-space:nowrap;opacity:1;pointer-events:none;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.ui-lhs-menu .premium-pill-tick{stroke-width:3px;width:10px;height:10px}.ui-lhs-menu .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.ui-lhs-menu .nav-icon svg{width:22px;height:22px}.ui-lhs-menu .nav-upsell{text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid var(--color-gray-200);border-radius:8px;width:100%;margin-top:auto;padding-top:16px;transition:background .2s}.ui-lhs-menu .nav-upsell p{color:var(--color-gray-600);font-size:14px;line-height:1.5}.ui-lhs-menu .nav-upsell .upgrade-text{color:var(--color-purple-600);font-weight:600}.ui-lhs-menu .nav-upsell .arrow{transition:transform .2s;display:inline-block}.ui-lhs-menu .nav-upsell:hover{cursor:pointer}.ui-lhs-menu .nav-upsell:hover .upgrade-text{text-decoration:underline}.ui-lhs-menu .nav-upsell:hover .arrow{transform:translate(4px)}.ui-lhs-menu .premium-upgrade-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:14px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 12px #667eea4d}.ui-lhs-menu .premium-upgrade-btn:before{content:"";background:var(--color-gray-100);height:1px;display:none;position:absolute;top:-10px;left:0;right:0}.ui-lhs-menu .premium-upgrade-btn:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea66}.ui-lhs-menu .premium-upgrade-btn .icon{justify-content:center;align-items:center;width:24px;height:24px;font-size:20px;display:flex}@media (max-width:1400px){.ui-lhs-menu{width:220px;padding:16px 14px 24px}.ui-lhs-menu .logo{margin-bottom:24px}.ui-lhs-menu .logo svg{height:34px}.ui-lhs-menu .nav-item{gap:10px;padding:10px;font-size:14px}.ui-lhs-menu .nav-icon svg{width:20px;height:20px}.ui-lhs-menu .nav-upsell p{font-size:13px}}@media (max-width:1100px){.ui-lhs-menu{width:220px;padding:14px 10px 20px}.ui-lhs-menu .logo{margin-bottom:20px}.ui-lhs-menu .logo svg{height:30px}.ui-lhs-menu .nav-item{gap:8px;padding:9px 8px;font-size:13px}.ui-lhs-menu .nav-icon{width:20px;height:20px}.ui-lhs-menu .nav-icon svg{width:18px;height:18px}.ui-lhs-menu .nav-upsell p{font-size:12px}.ui-lhs-menu .premium-pill{display:none}}.ui-textual-content{color:var(--color-gray-700);line-height:var(--leading-180);background:#fff}.ui-textual-content :first-child{margin-top:0}.ui-textual-content h2{color:var(--color-gray-900);margin:var(--spacing-48) 0 var(--spacing-24) 0;font-weight:700;line-height:var(--leading-120)}.ui-textual-content h2:first-child{margin-top:0}.ui-textual-content h3{color:var(--color-gray-900);margin:var(--spacing-40) 0 var(--spacing-20) 0;font-weight:600;line-height:var(--leading-130)}.ui-textual-content p{margin-bottom:var(--spacing-20)}.ui-textual-content p:last-child{margin-bottom:0}.ui-textual-content p>ol,.ui-textual-content p>ul{margin-top:-12px}.ui-textual-content strong{color:var(--color-gray-900);font-weight:600}.ui-textual-content a{color:var(--color-blue-600);text-underline-offset:1px;font-weight:600;text-decoration:underline}.ui-textual-content a:hover{color:var(--color-blue-700)}.ui-textual-content ul{margin-bottom:20px;margin-left:20px;list-style:outside}.ui-textual-content ol{margin-bottom:20px;margin-left:20px;list-style:decimal}.ui-textual-content li{margin-bottom:4px}.ui-textual-content hr{width:70px;height:12px;margin:var(--spacing-24) 0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='12' viewBox='0 0 240 40' fill='none'%3E%3Cpolyline points='0,32 30,8 60,32 90,8 120,32 150,8 180,32 210,8 240,32' stroke='%23dab4fe' stroke-width='12' stroke-linecap='round' stroke-linejoin='round' /%3E%3C/svg%3E");background-position:0;background-repeat:no-repeat;background-size:70px 12px;border:none}.ui-textual-content .footnotes{font-size:.85em;line-height:1.5}.ui-textual-content .concept-image{max-width:100%;height:auto;margin:var(--spacing-24) auto;display:block}.ui-textual-content code{background:var(--color-purple-100);padding:var(--spacing-2) var(--spacing-6);border-radius:var(--radius-4);font-family:var(--font-mono);color:var(--color-purple-700)}.ui-textual-content pre{border:1px solid var(--color-gray-500);box-shadow:0 0 3px var(--color-gray-400);margin:var(--spacing-20) 0;background:var(--color-gray-50);border-radius:8px;padding:50px 21px 20px;line-height:1.1;position:relative;overflow-x:auto}.ui-textual-content pre:before{content:"● ● ●";text-align:right;background:var(--color-gray-600);color:var(--color-gray-300);border-radius:6px 6px 0 0;padding:6px 20px 8px;font-size:16px;font-weight:700;position:absolute;top:0;left:0;right:0}.ui-textual-content pre code{font-family:var(--font-mono);color:#4d4d4c;font-weight:400;line-height:var(--leading-170);background:0 0;padding:0}.ui-textual-content .code-keyword{color:var(--color-purple-700);font-weight:600}.ui-textual-content .code-string{color:var(--color-green-600)}.ui-textual-content .code-comment{color:var(--color-gray-500);font-style:italic}.ui-textual-content .admonition{border-radius:var(--radius-12);padding:var(--spacing-24) var(--spacing-28);margin:var(--spacing-20) 0}.ui-textual-content .admonition-title{margin-bottom:var(--spacing-12);align-items:center;gap:var(--spacing-8);font-weight:700;display:flex}.ui-textual-content .admonition-content{color:var(--color-gray-700);line-height:var(--leading-170)}.ui-textual-content .admonition-info{background:linear-gradient(135deg,var(--color-purple-50) 0,var(--color-purple-100) 100%);border:2px solid var(--color-purple-300)}.ui-textual-content .admonition-info .admonition-title{color:var(--color-purple-700)}.ui-textual-content .admonition-info .admonition-content strong{color:var(--color-purple-700);font-weight:600}.ui-textual-content .admonition-key-point{border:2px solid var(--color-blue-500);box-shadow:0 4px 16px var(--color-blue-500-15);background:#fff}.ui-textual-content .admonition-key-point .admonition-title{color:var(--color-blue-500)}.ui-textual-content .admonition-warning{background:var(--color-amber-100);border-left:4px solid var(--color-amber-500);border-radius:0 var(--radius-12) var(--radius-12) 0;padding:var(--spacing-20) var(--spacing-24)}.ui-textual-content .admonition-warning .admonition-title{color:var(--color-amber-800)}.ui-textual-content .admonition-warning .admonition-content{color:var(--color-amber-900);line-height:var(--leading-160)}.ui-textual-content .admonition-try-it{background:linear-gradient(135deg,var(--color-blue-500-5) 0,var(--color-purple-500-6) 100%);border:3px dashed var(--color-blue-500);padding:var(--spacing-28) var(--spacing-32)}.ui-textual-content .admonition-try-it .admonition-title{color:var(--color-blue-500)}.ui-textual-content .admonition-try-it .admonition-content{margin-bottom:0}.ui-textual-content table{border-collapse:separate;border-spacing:0;border:2px solid var(--color-gray-200);border-radius:var(--radius-12);width:100%;margin:var(--spacing-24) 0;overflow:hidden}.ui-textual-content thead th{text-align:left;font-size:var(--text-16);color:var(--color-gray-700);padding:var(--spacing-16) var(--spacing-24);background:var(--color-gray-50);border-bottom:2px solid var(--color-gray-200);font-weight:600}.ui-textual-content thead th:not(:last-child){border-right:2px solid var(--color-gray-200)}.ui-textual-content tbody td{padding:var(--spacing-16) var(--spacing-24);vertical-align:top;font-size:var(--text-17);color:var(--color-gray-700);line-height:var(--leading-160);border-bottom:2px solid var(--color-gray-200);background:#fff}.ui-textual-content tbody td:not(:last-child){border-right:2px solid var(--color-gray-200)}.ui-textual-content tbody tr:last-child td{border-bottom:none}.ui-textual-content .article-table-section{margin:var(--spacing-32) 0}.ui-textual-content .article-table{border-collapse:separate;border-spacing:0;border:2px solid var(--color-gray-200);border-radius:var(--radius-12);width:100%}.ui-textual-content .article-table th{text-align:left;font-size:var(--text-16);color:var(--color-gray-600);padding:var(--spacing-16) var(--spacing-20);background:var(--color-gray-50);border-bottom:2px solid var(--color-gray-200);font-weight:500}.ui-textual-content .article-table th:first-child{border-right:2px solid var(--color-gray-200);border-top-left-radius:10px}.ui-textual-content .article-table th:last-child{border-top-right-radius:10px}.ui-textual-content .article-table td{padding:var(--spacing-16) var(--spacing-20);vertical-align:top;border-bottom:2px solid var(--color-gray-200);font-size:var(--text-17);color:var(--color-gray-700);line-height:var(--leading-160);background:#fff}.ui-textual-content .article-table td:first-child{border-right:2px solid var(--color-gray-200)}.ui-textual-content .article-table tr:last-child td{border-bottom:none}.ui-textual-content .article-table tr:last-child td:first-child{border-bottom-left-radius:10px}.ui-textual-content .article-table tr:last-child td:last-child{border-bottom-right-radius:10px}.ui-textual-content .article-table .feature-cell{width:220px}.ui-textual-content .article-table .code-tag{background:linear-gradient(135deg,var(--color-purple-50) 0,var(--color-purple-100) 100%);color:var(--color-purple-500);padding:var(--spacing-4) var(--spacing-10);border-radius:var(--radius-6);font-family:var(--font-mono);font-size:var(--text-15);margin-right:var(--spacing-4);margin-bottom:var(--spacing-4);font-weight:500;display:inline-block}.ui-textual-content-compact{font-size:var(--text-14);background:0 0;max-width:none;margin:0;padding:0}.ui-textual-content-compact p{margin-bottom:var(--spacing-12)}.ui-textual-content-compact p:last-child{padding-bottom:0}.ui-textual-content-compact h2{font-size:var(--text-16);margin:var(--spacing-16) 0 var(--spacing-8) 0}.ui-textual-content-compact h3{font-size:var(--text-14);margin:var(--spacing-12) 0 var(--spacing-6) 0}.ui-textual-content-compact pre{border-radius:var(--radius-8);padding:var(--spacing-12) var(--spacing-16);margin:var(--spacing-12) 0}.ui-textual-content-compact code,.ui-textual-content-compact pre code{font-size:var(--text-13)}.ui-textual-content-large{font-size:var(--text-19)}.ui-textual-content-large h2{font-size:var(--text-36)}.ui-textual-content-large h3{font-size:var(--text-28)}.ui-textual-content-large code{font-size:var(--text-18)}.ui-textual-content-large pre code{font-size:var(--text-14)}.ui-textual-content-large .admonition-title{font-size:var(--text-18)}.ui-textual-content-large .admonition-icon{font-size:var(--text-20)}.ui-textual-content-large .admonition-content{font-size:var(--text-18)}.ui-textual-content-large .admonition-warning .admonition-content,.ui-textual-content-large .admonition-warning .admonition-title{font-size:var(--text-17)}.ui-textual-content-large .admonition-try-it .admonition-title{font-size:var(--text-20)}.ui-textual-content-base{font-size:var(--text-18)}.ui-textual-content-base h2{font-size:var(--text-32)}.ui-textual-content-base h3{font-size:var(--text-24)}.ui-textual-content-base .admonition-title,.ui-textual-content-base code,.ui-textual-content-base pre code{font-size:var(--text-16)}.ui-textual-content-base .admonition-content{font-size:var(--text-18)}pre .hljs-comment,pre .hljs-quote{color:#818b94;font-style:italic}pre .hljs-addition,pre .hljs-string,pre .hljs-template-variable{color:#3e8a00}pre .hljs-built_in,pre .hljs-keyword,pre .hljs-name,pre .hljs-selector-tag,pre .hljs-tag{color:#0080ff;font-weight:500}pre .hljs-params,pre .hljs-variable{color:#7a009f}pre .hljs-title,pre .hljs-title.class_,pre .hljs-title.function_{color:#b800ff;font-weight:600}.hljs-title{font-weight:600}pre .hljs-attr,pre .hljs-attribute,pre .hljs-property{color:#0d47a1}pre .hljs-type{color:#005cc5}pre .hljs-literal,pre .hljs-number{color:#f33636}pre .hljs-operator,pre .hljs-punctuation{color:#888}pre .hljs-regexp{color:#e91e63}pre .hljs-meta{color:#607d8b;font-style:italic}@media (max-width:768px){.ui-textual-content{padding:var(--spacing-32) var(--spacing-20) 0 var(--spacing-20)}.ui-textual-content-large{font-size:var(--text-17)}.ui-textual-content-large h2{font-size:var(--text-28)}.ui-textual-content-large h3{font-size:var(--text-22)}.ui-textual-content-base{font-size:var(--text-16)}.ui-textual-content-base h2{font-size:var(--text-24)}.ui-textual-content-base h3{font-size:var(--text-20)}.ui-textual-content table{border-radius:var(--radius-8);display:block;overflow-x:auto}.ui-textual-content thead th{font-size:var(--text-14);padding:var(--spacing-12) var(--spacing-16)}.ui-textual-content tbody td{font-size:var(--text-15);padding:var(--spacing-12) var(--spacing-16)}}