:root{--color-primary: #0a66c2;--color-secondary: #057642;--color-warning: #b36a00;--color-error: #cc1016;--color-text-primary: #1c1c1c;--color-text-inverse: #ffffff;--color-bg-surface: #ffffff;--color-bg-app: #f3f2ef;--color-primary-hover: color-mix(in oklch, var(--color-primary) 60%, black);--color-primary-light: color-mix(in oklch, var(--color-primary) 18%, white);--color-secondary-hover: color-mix(in oklch, var(--color-secondary) 60%, black);--color-secondary-light: color-mix(in oklch, var(--color-secondary) 18%, white);--color-warning-light: color-mix(in oklch, var(--color-warning) 18%, white);--color-error-light: color-mix(in oklch, var(--color-error) 14%, white);--color-success: var(--color-secondary);--color-success-light: var(--color-secondary-light);--color-info: var(--color-primary);--color-info-light: var(--color-primary-light);--color-text-secondary: color-mix(in oklch, var(--color-text-primary) 52%, white);--color-text-tertiary: color-mix(in oklch, var(--color-text-primary) 38%, white);--color-text-disabled: color-mix(in oklch, var(--color-text-primary) 27%, white);--color-text-link: var(--color-primary);--color-bg-subtle: color-mix(in oklch, var(--color-bg-surface) 95%, var(--color-text-primary));--color-bg-muted: color-mix(in oklch, var(--color-bg-surface) 88%, var(--color-text-primary));--color-bg-dark: var(--color-text-primary);--color-border: color-mix(in oklch, var(--color-bg-surface) 78%, var(--color-text-primary));--color-border-strong: var(--color-text-disabled);--color-border-focus: var(--color-primary);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .14);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .16);--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-base: .9375rem;--font-scale: 1.25;--font-size-md: var(--font-size-base);--font-size-sm: calc(var(--font-size-md) / var(--font-scale));--font-size-xs: calc(var(--font-size-sm) / var(--font-scale));--font-size-lg: calc(var(--font-size-md) * var(--font-scale));--font-size-xl: calc(var(--font-size-lg) * var(--font-scale));--font-size-2xl: calc(var(--font-size-xl) * var(--font-scale));--font-size-3xl: calc(var(--font-size-2xl) * var(--font-scale));--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-loose: 1.8;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .04em;--space-unit: calc(var(--font-size-base) / 3.75);--space-1: var(--space-unit);--space-2: calc(var(--space-unit) * 2);--space-3: calc(var(--space-unit) * 3);--space-4: calc(var(--space-unit) * 4);--space-5: calc(var(--space-unit) * 5);--space-6: calc(var(--space-unit) * 6);--space-8: calc(var(--space-unit) * 8);--space-10: calc(var(--space-unit) * 10);--space-12: calc(var(--space-unit) * 12);--space-16: calc(var(--space-unit) * 16);--space-20: calc(var(--space-unit) * 20);--radius-none: 0;--radius-sm: var(--space-unit);--radius-md: calc(var(--space-unit) * 2);--radius-lg: calc(var(--space-unit) * 3);--radius-xl: calc(var(--space-unit) * 4);--radius-full: 9999px;--border-width: 1px;--border-width-medium: 2px;--border-width-thick: 4px;--size-icon-sm: calc(var(--space-unit) * 4);--size-icon-md: calc(var(--space-unit) * 5);--size-icon-lg: calc(var(--space-unit) * 6);--size-icon-xl: calc(var(--space-unit) * 8);--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .35s ease;--z-base: 0;--z-raised: 10;--z-overlay: 100;--z-modal: 1000;--z-toast: 2000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family-base);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-primary)}h5{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-primary)}h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}p{font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text-primary)}small{font-size:var(--font-size-sm);color:var(--color-text-secondary)}strong,b{font-weight:var(--font-weight-semibold)}em,i{font-style:italic}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}a:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}ul,ol{list-style:none}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input,textarea,select{color:var(--color-text-primary);background-color:var(--color-bg-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-bg-muted);color:var(--color-text-disabled);cursor:not-allowed;border-color:var(--color-border)}button{cursor:pointer;border:none;background:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}button:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}img,video{max-width:100%;height:auto;display:block}hr{border:none;border-top:var(--border-width) solid var(--color-border);margin:var(--space-6) 0}code,kbd,pre,samp{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}code{background-color:var(--color-bg-muted);padding:.1em .4em;border-radius:var(--radius-sm);color:var(--color-text-primary)}pre{background-color:var(--color-bg-muted);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;line-height:var(--line-height-loose)}table{width:100%;border-collapse:collapse}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:var(--border-width) solid var(--color-border)}th{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:var(--color-bg-subtle)}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-grid{display:grid}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink{flex-shrink:1}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-x-0{column-gap:0}.gap-x-1{column-gap:var(--space-1)}.gap-x-2{column-gap:var(--space-2)}.gap-x-3{column-gap:var(--space-3)}.gap-x-4{column-gap:var(--space-4)}.gap-x-6{column-gap:var(--space-6)}.gap-y-0{row-gap:0}.gap-y-1{row-gap:var(--space-1)}.gap-y-2{row-gap:var(--space-2)}.gap-y-3{row-gap:var(--space-3)}.gap-y-4{row-gap:var(--space-4)}.gap-y-6{row-gap:var(--space-6)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-10{margin-top:var(--space-10)}.mt-12{margin-top:var(--space-12)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-0{margin-left:0}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-5{margin-left:var(--space-5)}.ml-6{margin-left:var(--space-6)}.mr-0{margin-right:0}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mr-5{margin-right:var(--space-5)}.mr-6{margin-right:var(--space-6)}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.pt-0{padding-top:0}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-5{padding-top:var(--space-5)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-5{padding-bottom:var(--space-5)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.pl-0{padding-left:0}.pl-1{padding-left:var(--space-1)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pl-5{padding-left:var(--space-5)}.pl-6{padding-left:var(--space-6)}.pr-0{padding-right:0}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.pr-5{padding-right:var(--space-5)}.pr-6{padding-right:var(--space-6)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.h-fit{height:fit-content}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-light{font-weight:var(--font-weight-light)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.italic{font-style:italic}.not-italic{font-style:normal}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-word{word-break:break-word}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-disabled{color:var(--color-text-disabled)}.text-inverse{color:var(--color-text-inverse)}.text-link{color:var(--color-text-link)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.bg-app{background-color:var(--color-bg-app)}.bg-surface{background-color:var(--color-bg-surface)}.bg-subtle{background-color:var(--color-bg-subtle)}.bg-muted{background-color:var(--color-bg-muted)}.bg-dark{background-color:var(--color-bg-dark)}.bg-primary{background-color:var(--color-primary)}.bg-success{background-color:var(--color-success-light)}.bg-warning{background-color:var(--color-warning-light)}.bg-error{background-color:var(--color-error-light)}.bg-info{background-color:var(--color-info-light)}.border{border:var(--border-width) solid var(--color-border)}.border-0{border:none}.border-top{border-top:var(--border-width) solid var(--color-border)}.border-bottom{border-bottom:var(--border-width) solid var(--color-border)}.border-left{border-left:var(--border-width) solid var(--color-border)}.border-right{border-right:var(--border-width) solid var(--color-border)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-text{cursor:text}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;padding:.25em .6em;border-radius:var(--radius-full);white-space:nowrap}.badge--sm{font-size:.625rem;padding:.2em .5em}.badge--default{background-color:var(--color-bg-muted);color:var(--color-text-secondary)}.badge--primary{background-color:var(--color-primary-light);color:var(--color-primary-hover)}.badge--success{background-color:var(--color-success-light);color:var(--color-secondary-hover)}.badge--warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge--error{background-color:var(--color-error-light);color:var(--color-error)}.badge--info{background-color:var(--color-info-light);color:var(--color-info)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);border:var(--border-width-medium) solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.btn:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:2px}.btn:disabled,.btn--loading{cursor:not-allowed;opacity:.6}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);min-height:28px}.btn--md{padding:var(--space-2) var(--space-5);font-size:var(--font-size-sm);min-height:36px}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-md);min-height:44px}.btn--full-width{width:100%}.btn--primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--secondary{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--secondary:hover:not(:disabled){background-color:var(--color-primary-light)}.btn--ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.btn--ghost:hover:not(:disabled){background-color:var(--color-bg-muted);color:var(--color-text-primary)}.btn--outline{background-color:transparent;color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn--outline:hover:not(:disabled){background-color:var(--color-bg-subtle);border-color:var(--color-text-primary)}.btn--danger{background-color:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.btn--danger:hover:not(:disabled){background-color:#a00d12;border-color:#a00d12}.btn__spinner{width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.card{background-color:var(--color-bg-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);width:100%}.card--no-padding{padding:0}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text-primary);line-height:var(--line-height-normal)}.checkbox__input{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checkbox__visual{position:relative;flex-shrink:0;display:inline-block;background-color:var(--color-bg-surface);border:var(--border-width) solid var(--color-border);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.checkbox__label{-webkit-user-select:none;user-select:none}.checkbox__required{color:var(--color-error)}.checkbox--sm{font-size:var(--font-size-sm);--checkbox-size: calc(var(--space-unit) * 4);--switch-height: calc(var(--space-unit) * 4);--switch-width: calc(var(--space-unit) * 7)}.checkbox--md{font-size:var(--font-size-md);--checkbox-size: calc(var(--space-unit) * 5);--switch-height: calc(var(--space-unit) * 5);--switch-width: calc(var(--space-unit) * 9)}.checkbox--lg{font-size:var(--font-size-lg);--checkbox-size: calc(var(--space-unit) * 6);--switch-height: calc(var(--space-unit) * 6);--switch-width: calc(var(--space-unit) * 11)}.checkbox--checkbox .checkbox__visual{width:var(--checkbox-size);height:var(--checkbox-size);border-radius:var(--radius-sm)}.checkbox--checkbox .checkbox__visual:after{content:"";position:absolute;top:46%;left:50%;width:28%;height:56%;border:solid var(--color-text-inverse);border-width:0 var(--border-width-medium) var(--border-width-medium) 0;transform:translate(-50%,-55%) rotate(45deg) scale(0);transition:transform var(--transition-fast)}.checkbox--checkbox .checkbox__input:checked+.checkbox__visual:after{transform:translate(-50%,-55%) rotate(45deg) scale(1)}.checkbox--switch .checkbox__visual{width:var(--switch-width);height:var(--switch-height);border-radius:var(--radius-full);background-color:var(--color-bg-muted);--switch-gap: calc(var(--space-unit) / 2);--switch-thumb: calc(var(--switch-height) - 2 * var(--switch-gap) - 2 * var(--border-width))}.checkbox--switch .checkbox__visual:after{content:"";position:absolute;top:50%;left:var(--switch-gap);width:var(--switch-thumb);height:var(--switch-thumb);border-radius:var(--radius-full);background-color:var(--color-bg-surface);box-shadow:var(--shadow-xs);transform:translateY(-50%);transition:transform var(--transition-normal)}.checkbox--switch .checkbox__input:checked+.checkbox__visual:after{transform:translateY(-50%) translate(calc(var(--switch-width) - var(--switch-thumb) - 2 * var(--switch-gap) - 2 * var(--border-width)))}.checkbox__input:checked+.checkbox__visual{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox:hover .checkbox__input:not(:disabled)+.checkbox__visual{border-color:var(--color-border-strong)}.checkbox__input:focus-visible+.checkbox__visual{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.checkbox--error .checkbox__visual{border-color:var(--color-error)}.checkbox--success .checkbox__visual{border-color:var(--color-success)}.checkbox--error .checkbox__input:checked+.checkbox__visual{background-color:var(--color-error);border-color:var(--color-error)}.checkbox--success .checkbox__input:checked+.checkbox__visual{background-color:var(--color-success);border-color:var(--color-success)}.checkbox:has(.checkbox__input:disabled){cursor:not-allowed;opacity:.55}.divider{border:none;border-top:var(--border-width) solid var(--color-border);margin:var(--space-4) 0}.divider--vertical{display:inline-block;width:var(--border-width);height:1em;background-color:var(--color-border);margin:0 var(--space-2);vertical-align:middle}.divider--labeled{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.divider__line{flex:1;border:none;border-top:var(--border-width) solid var(--color-border)}.divider__label{font-size:var(--font-size-sm);color:var(--color-text-tertiary);white-space:nowrap}.form-group{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.form-group__error{font-size:var(--font-size-xs);color:var(--color-error);font-weight:var(--font-weight-medium)}.form-group__hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.form-group--error .input-text,.form-group--error .selector{border-color:var(--color-error)}.form-group--error .input-text:focus,.form-group--error .selector:focus{box-shadow:0 0 0 3px var(--color-error-light)}.input-group{position:relative;display:flex;align-items:center;width:100%}.input-group .input-text{flex:1;min-width:0}.input-group__prefix,.input-group__suffix{position:absolute;display:flex;align-items:center;color:var(--color-text-tertiary);pointer-events:none;font-size:var(--font-size-md)}.input-group__prefix{left:var(--space-3)}.input-group__suffix{right:var(--space-3)}.input-group--has-prefix .input-text{padding-left:calc(var(--space-3) * 2 + var(--size-icon-md))}.input-group--has-suffix .input-text{padding-right:calc(var(--space-3) * 2 + var(--size-icon-md))}.input-group__suffix--interactive{pointer-events:auto;color:inherit}.input-text{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-text:hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}.input-text:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.input-text:disabled{background-color:var(--color-bg-muted);color:var(--color-text-disabled);cursor:not-allowed}.input-text--sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.input-text--md{padding:var(--space-2) var(--space-3);font-size:var(--font-size-md)}.input-text--lg{padding:var(--space-3) var(--space-4);font-size:var(--font-size-lg)}.input-text--error{border-color:var(--color-error)}.input-text--error:focus{box-shadow:0 0 0 3px var(--color-error-light)}.input-text--success{border-color:var(--color-success)}.input-text--success:focus{box-shadow:0 0 0 3px var(--color-success-light)}.input-textarea{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);font-family:inherit;color:var(--color-text-primary);background-color:var(--color-bg-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);resize:vertical;min-height:100px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-textarea:hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}.input-textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.input-textarea:disabled{background-color:var(--color-bg-muted);color:var(--color-text-disabled);cursor:not-allowed;resize:none}.input-textarea--sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.input-textarea--md{padding:var(--space-2) var(--space-3);font-size:var(--font-size-md)}.input-textarea--lg{padding:var(--space-3) var(--space-4);font-size:var(--font-size-lg)}.input-textarea--error{border-color:var(--color-error)}.input-textarea--error:focus{box-shadow:0 0 0 3px var(--color-error-light)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.form-label__required{color:var(--color-error);font-weight:var(--font-weight-bold)}.password-field__toggle{display:flex;align-items:center;justify-content:center;padding:var(--space-1);margin:calc(var(--space-1) * -1);background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast)}.password-field__toggle:hover{color:var(--color-text-secondary)}.password-field__toggle:focus-visible{outline:none;color:var(--color-text-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.password-field__icon{width:var(--size-icon-md);height:var(--size-icon-md)}.radio{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text-primary);line-height:var(--line-height-normal)}.radio__input{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.radio__visual{position:relative;flex-shrink:0;display:inline-block;width:var(--radio-size);height:var(--radio-size);border-radius:var(--radius-full);background-color:var(--color-bg-surface);border:var(--border-width) solid var(--color-border);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.radio__visual:after{content:"";position:absolute;top:50%;left:50%;width:50%;height:50%;border-radius:var(--radius-full);background-color:var(--color-text-inverse);transform:translate(-50%,-50%) scale(0);transition:transform var(--transition-fast)}.radio__label{-webkit-user-select:none;user-select:none}.radio--sm{font-size:var(--font-size-sm);--radio-size: calc(var(--space-unit) * 4)}.radio--md{font-size:var(--font-size-md);--radio-size: calc(var(--space-unit) * 5)}.radio--lg{font-size:var(--font-size-lg);--radio-size: calc(var(--space-unit) * 6)}.radio__input:checked+.radio__visual{background-color:var(--color-primary);border-color:var(--color-primary)}.radio__input:checked+.radio__visual:after{transform:translate(-50%,-50%) scale(1)}.radio:hover .radio__input:not(:disabled)+.radio__visual{border-color:var(--color-border-strong)}.radio__input:focus-visible+.radio__visual{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.radio--error .radio__visual{border-color:var(--color-error)}.radio--success .radio__visual{border-color:var(--color-success)}.radio--error .radio__input:checked+.radio__visual{background-color:var(--color-error);border-color:var(--color-error)}.radio--success .radio__input:checked+.radio__visual{background-color:var(--color-success);border-color:var(--color-success)}.radio:has(.radio__input:disabled){cursor:not-allowed;opacity:.55}.radio-group{border:0;padding:0;margin:0}.radio-group--stack{display:flex;flex-direction:column;gap:var(--space-2)}.radio-group--inline{display:flex;flex-flow:row wrap;gap:var(--space-2) var(--space-4)}.radio-group--grid{display:grid;grid-template-columns:repeat(var(--radio-group-cols, 2),minmax(0,1fr));gap:var(--space-2) var(--space-4)}.radio-group__legend{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.radio-group__required{color:var(--color-error);font-weight:var(--font-weight-bold)}.selector-wrapper{position:relative;width:100%}.selector{display:block;width:100%;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.selector:hover:not(:disabled){border-color:var(--color-border-strong)}.selector:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.selector:disabled{background-color:var(--color-bg-muted);color:var(--color-text-disabled);cursor:not-allowed}.selector-wrapper__chevron{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);pointer-events:none;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-text-secondary)}.selector--sm{padding:var(--space-1) 1.75rem var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.selector--md{padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-size:var(--font-size-md)}.selector--lg{padding:var(--space-3) 2.25rem var(--space-3) var(--space-4);font-size:var(--font-size-lg)}.selector--error{border-color:var(--color-error)}.selector--success{border-color:var(--color-success)}.paper{width:100%;max-width:50rem;margin-inline:auto;padding-inline:var(--space-4)}.sub-card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);width:100%}.sub-card--default{background-color:var(--color-bg-subtle)}.sub-card--subtle{background-color:var(--color-bg-muted)}.sub-card--muted{background-color:var(--color-bg-app)}.table-wrapper{width:100%;border-radius:var(--radius-md);overflow:hidden;border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-xs)}.table__caption{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-bg-surface);border-bottom:var(--border-width) solid var(--color-border);text-align:left}.table{display:grid;width:100%;min-width:0}.table__head,.table__body,.table__row{display:grid;grid-column:1 / -1;grid-template-columns:subgrid}.table__header-cell{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background-color:var(--color-bg-subtle);border-bottom:var(--border-width-medium) solid var(--color-border);text-align:left;white-space:nowrap;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.table__cell{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-primary);border-bottom:var(--border-width) solid var(--color-border);background-color:var(--color-bg-surface);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-content:center}.table__body .table__row:last-child .table__cell{border-bottom:none}.table__cell--left,.table__header-cell--left{text-align:left}.table__cell--center,.table__header-cell--center{text-align:center}.table__cell--right,.table__header-cell--right{text-align:right}.table__body .table__row:hover .table__cell{background-color:var(--color-primary-light);cursor:default;transition:background-color var(--transition-fast)}.table--striped .table__body .table__row:nth-child(2n) .table__cell{background-color:var(--color-bg-subtle)}.table--striped .table__body .table__row:nth-child(2n):hover .table__cell{background-color:var(--color-primary-light)}.table--bordered .table__header-cell+.table__header-cell,.table--bordered .table__cell+.table__cell{border-left:var(--border-width) solid var(--color-border)}.table--sm .table__header-cell,.table--sm .table__cell{padding:var(--space-2) var(--space-3)}.table--lg .table__header-cell,.table--lg .table__cell{padding:var(--space-4) var(--space-5)}.table__empty{grid-column:1 / -1;padding:var(--space-10) var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm);background-color:var(--color-bg-surface)}.table__sentinel{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-tertiary);background-color:var(--color-bg-surface);border-top:var(--border-width) solid var(--color-border)}.table__sentinel-spinner{display:inline-block;width:var(--size-icon-sm);height:var(--size-icon-sm);border:var(--border-width-medium) solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:table-spin .7s linear infinite;flex-shrink:0}@keyframes table-spin{to{transform:rotate(360deg)}}.demo{display:flex;flex-direction:column;gap:var(--space-3)}.demo__bar{display:flex;justify-content:flex-end;border-top:var(--border-width) solid var(--color-border);padding-top:var(--space-2)}.demo__code{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);white-space:pre}.demo__code[hidden]{display:none}.pkg__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.pkg__meta{display:flex;align-items:center;gap:var(--space-2)}.pkg__points{margin:var(--space-3) 0;display:flex;flex-direction:column;gap:var(--space-1)}.pkg__points li{position:relative;padding-left:var(--space-4)}.pkg__points li:before{content:"›";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-weight-bold)}.pkg__code{margin:0}.token-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.token-swatch{display:flex;flex-direction:column;gap:var(--space-1)}.token-swatch__chip{display:block;width:100%;height:var(--space-12);border-radius:var(--radius-md);border:var(--border-width) solid var(--color-border)}.token__labels{display:flex;flex-direction:column;min-width:0}.token__name{font-size:var(--font-size-xs);background:none;padding:0;color:var(--color-text-primary);word-break:break-all}.token__value{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.token-row{display:flex;align-items:center;gap:var(--space-4);padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--color-border)}.token-row--text{gap:0}.token-bar{display:block;height:var(--space-3);background-color:var(--color-primary);border-radius:var(--radius-sm);flex-shrink:0}.token-radius{display:block;width:100%;height:var(--space-12);background-color:var(--color-bg-muted);border:var(--border-width) solid var(--color-border-strong)}.token-shadow{display:block;width:100%;height:var(--space-12);background-color:var(--color-bg-surface);border-radius:var(--radius-md)}.token-icon{display:block;background-color:var(--color-primary);border-radius:var(--radius-sm);flex-shrink:0}
