body,html{background:var(--bg);color:var(--text)}::selection{background:color-mix(in srgb,var(--primary),transparent 75%);color:inherit}.text-inherit{color:inherit}a{color:var(--link);text-decoration-color:color-mix(in srgb,var(--link),transparent 70%);transition:color .2s}a:hover{color:var(--link-hover)}a:focus-visible{outline:3px solid color-mix(in srgb,var(--focus),transparent 40%);outline-offset:2px}hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.bg{background:var(--bg)}.bg-muted{background:var(--bg-muted)}.bg-white{background:var(--bg-white)}.bg-surface{background:var(--surface)}.bg-surface-2{background:var(--surface-2)}.bg-surface-3{background:var(--surface-3)}.bg-inverse{background:var(--bg-inverse);color:var(--text-inverse)}.bg-inverse a{color:var(--neutral-300)}.bg-inverse a:hover{color:var(--brand-300)}.bg-primary{background:var(--primary);color:var(--on-primary)}.bg-secondary{background:var(--secondary);color:var(--on-secondary)}.bg-danger{background:var(--danger);color:var(--on-danger)}.bg-success{background:var(--success);color:var(--on-success)}.text :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--text)}.text-color :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--text)}.text-white :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:#fff}.text-muted :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--text-muted)}.text-subtle :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--text-subtle)}.text-inverse :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--text-inverse)}.text-primary :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--primary)}.text-secondary :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--secondary)}.text-accent :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--danger)}.text-brand :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--primary)}.text-success :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--success)}.text-warning :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--warning)}.text-danger :is( p,h1,h2,h3,h4,h5,h6,span,a,strong,em,small,label,li,blockquote,table,thead,tbody,tfoot,tr,td,th ){color:var(--danger)}.border{border:1px solid var(--border)}.border-top{border-top:1px solid var(--border)}.border-bottom{border-bottom:1px solid var(--border)}.border-strong{border:1px solid var(--border-strong)}.card{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px}.btn-primary,.btn-secondary{border:1px solid transparent}.card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{background:var(--primary-active)}.btn-secondary{background:var(--secondary);color:var(--on-secondary)}.btn-secondary:hover{background:var(--secondary-hover)}.btn-ghost{background:0 0;color:var(--text);border:1px solid var(--border-strong)}.btn-ghost:hover{background:var(--surface-2);color:var(--primary);border-color:var(--primary)}input,select,textarea{background:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);border-radius:4px}input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--focus),transparent 40%);border-color:var(--input-border-focus)}.alert-success{background:color-mix(in srgb,var(--success),transparent 90%);border:1px solid color-mix(in srgb,var(--success),transparent 70%);color:var(--text)}.alert-success strong{color:var(--success)}.alert-warning{background:color-mix(in srgb,var(--warning),transparent 90%);border:1px solid color-mix(in srgb,var(--warning),transparent 70%);color:var(--text)}.alert-warning strong{color:var(--warning)}.alert-danger{background:color-mix(in srgb,var(--danger),transparent 90%);border:1px solid color-mix(in srgb,var(--danger),transparent 70%);color:var(--text)}.alert-danger strong{color:var(--danger)}