*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden;font-family:$font-family-sans;background-color:$bg-primary;color:$text-primary;line-height:1.6}a{color:inherit;text-decoration:none}button{border:none;background:none;cursor:pointer;font-family:inherit}ol,ul{list-style:none}img{max-width:100%;height:auto}:focus{outline:2px solid $interactive-primary;outline-offset:2px}.container{max-width:1280px;margin:0 auto;padding:0 $spacing-md}.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}.btn{display:inline-flex;align-items:center;justify-content:center;padding:$spacing-sm $spacing-md;border-radius:$radius-md;font-weight:500;font-size:$font-size-sm;transition:all $transition-normal;cursor:pointer;border:none;text-decoration:none;&:disabled{opacity:.6;cursor:not-allowed}}.btn-primary{@extend .btn;background-color:$btn-primary;color:$btn-primary-text;&:hover:not(:disabled){background-color:$btn-primary-hover}}.btn-secondary{@extend .btn;background-color:$btn-secondary;color:$btn-secondary-text;&:hover:not(:disabled){background-color:$btn-secondary-hover}}.btn-tertiary{@extend .btn;background-color:$btn-tertiary;color:$btn-tertiary-text;border:2px solid $btn-tertiary-border;&:hover:not(:disabled){background-color:$btn-tertiary-hover}}.form-input{width:100%;padding:$spacing-sm $spacing-md;border:1px solid $border-primary;border-radius:$radius-md;font-size:$font-size-base;background-color:$bg-card;color:$text-primary;transition:border-color $transition-normal,box-shadow $transition-normal;&:focus{border-color:$interactive-primary;box-shadow:0 0 0 3px rgba(155,181,255,.1);outline:none}&::placeholder{color:$text-muted}}.form-label{display:block;margin-bottom:$spacing-xs;font-weight:500;color:$text-primary;font-size:$font-size-sm}.card{background-color:$bg-card;border-radius:$radius-lg;box-shadow:$shadow-md;overflow:hidden;&:hover{box-shadow:$shadow-lg}}.card-header{border-bottom:1px solid $border-primary}.card-body,.card-footer,.card-header{padding:$spacing-lg}.card-footer{border-top:1px solid $border-primary;background-color:$bg-secondary}.text-xs{font-size:$font-size-xs}.text-sm{font-size:$font-size-sm}.text-base{font-size:$font-size-base}.text-lg{font-size:$font-size-lg}.text-xl{font-size:$font-size-xl}.text-2xl{font-size:$font-size-2xl}.text-3xl{font-size:$font-size-3xl}.text-4xl{font-size:$font-size-4xl}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-grow{flex:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.gap-4{gap:$spacing-md}.gap-6{gap:$spacing-lg}.gap-8{gap:$spacing-xl}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.p-4{padding:$spacing-md}.p-6{padding:$spacing-lg}.p-8{padding:$spacing-xl}.px-4{padding-left:$spacing-md;padding-right:$spacing-md}.py-4{padding-top:$spacing-md;padding-bottom:$spacing-md}.m-4{margin:$spacing-md}.mx-auto{margin-left:auto;margin-right:auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-primary{color:$text-primary}.text-secondary{color:$text-secondary}.text-muted{color:$text-muted}.bg-primary{background-color:$bg-primary}.bg-card{background-color:$bg-card}@media (min-width:640px){.sm\:text-lg{font-size:$font-size-lg}.sm\:p-6{padding:$spacing-lg}.sm\:px-6{padding-left:$spacing-lg;padding-right:$spacing-lg}}@media (min-width:768px){.md\:text-xl{font-size:$font-size-xl}.md\:text-2xl{font-size:$font-size-2xl}.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.lg\:text-2xl{font-size:$font-size-2xl}.lg\:text-3xl{font-size:$font-size-3xl}.lg\:px-8{padding-left:$spacing-xl;padding-right:$spacing-xl}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}