.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:linear-gradient(135deg,var(--primary),var(--primary-container));color:var(--on-primary);font-family:var(--font-main);font-size:.9375rem;font-weight:600;border:0;border-radius:var(--radius-lg);cursor:pointer;transition:opacity .2s,transform .15s}.btn-primary:hover{opacity:.92;transform:translateY(-1px);color:var(--on-primary)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:var(--surface-container-high);color:var(--on-surface);font-family:var(--font-main);font-size:.9375rem;font-weight:600;border:0;border-radius:var(--radius-lg);cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--surface-container-highest);color:var(--on-surface)}.btn-tertiary{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:0;color:var(--primary);font-family:var(--font-main);font-size:.875rem;font-weight:600;border:0;cursor:pointer;transition:color .2s}.btn-tertiary:hover{color:var(--primary-container)}.btn-tertiary i,.btn-tertiary .fas{font-size:.8em}.card{background:var(--surface-container-lowest);border-radius:var(--radius-xl);padding:var(--space-6);transition:transform .2s}.card:hover{transform:translateY(-2px)}.card--active{border-left:4px solid var(--primary-fixed-dim)}.card--featured{background:var(--surface-container-lowest);position:relative}.card--featured::before{content:'';position:absolute;inset:-2px;border-radius:calc(var(--radius-xl) + 2px);background:linear-gradient(135deg,var(--primary),var(--primary-container));z-index:-1}.chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;background:var(--surface-container-high);color:var(--on-surface-variant);font-family:var(--font-main);font-size:.8125rem;font-weight:600;border-radius:var(--radius-full);border:0;cursor:pointer;transition:background .2s,color .2s}.chip:hover{background:var(--surface-container-highest);color:var(--on-surface)}.chip--selected{background:var(--primary-fixed);color:var(--on-primary-fixed)}.chip--selected:hover{background:var(--primary-fixed-dim)}.chip--tertiary{background:var(--tertiary-fixed);color:var(--on-tertiary-fixed)}.input-field{width:100%;padding:.75rem 0;background:var(--surface-container-highest);color:var(--on-surface);font-family:var(--font-main);font-size:.9375rem;border:0;border-bottom:2px solid var(--ghost-border);border-radius:var(--radius-default) var(--radius-default) 0 0;padding-left:var(--space-4);padding-right:var(--space-4);transition:border-color .2s;outline:0}.input-field:focus{border-bottom-color:var(--primary)}.input-field::placeholder{color:var(--outline)}.timeline-thread{position:relative;padding-left:var(--space-8)}.timeline-thread::before{content:'';position:absolute;left:11px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent 0,var(--outline-variant) 10%,var(--outline-variant) 90%,transparent 100%);opacity:.25}.timeline-dot{position:relative;padding:var(--space-4) 0}.timeline-dot::before{content:'';position:absolute;left:calc(-1 * var(--space-8) + 6px);top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--surface-container-high);border:2px solid var(--outline-variant)}.timeline-dot--active::before{background:var(--primary);border-color:var(--primary)}.timeline-dot--completed::before{background:var(--primary-fixed-dim);border-color:var(--primary)}.timeline-dot--tertiary::before{background:var(--tertiary);border-color:var(--tertiary)}.glass{background:rgba(249,249,255,0.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.glass-dark{background:rgba(45,48,56,0.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--inverse-on-surface)}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-default)}.badge--primary{background:var(--primary-fixed);color:var(--on-primary-fixed)}.badge--tertiary{background:var(--tertiary-fixed);color:var(--on-tertiary-fixed)}.badge--gold{background:linear-gradient(135deg,var(--tertiary-fixed-dim),var(--tertiary-fixed));color:var(--on-tertiary-fixed)}.tabs{display:flex;gap:var(--space-6)}.tab{padding:var(--space-3) 0;font-size:.875rem;font-weight:500;color:var(--on-surface-variant);border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s;background:0;border-top:0;border-left:0;border-right:0;font-family:var(--font-main)}.tab:hover{color:var(--on-surface)}.tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--tertiary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fab-shadow{box-shadow:var(--shadow-fab)}.accent-border-left{border-left:4px solid var(--primary);padding-left:var(--space-6)}.accent-tertiary{border-left:4px solid var(--tertiary);padding-left:var(--space-6)}.text-primary{color:var(--primary)}.text-tertiary{color:var(--tertiary)}.text-muted{color:var(--outline)}.text-on-surface{color:var(--on-surface)}.text-on-surface-variant{color:var(--on-surface-variant)}.bg-primary{background:var(--primary)}.bg-surface{background:var(--surface)}.bg-surface-low{background:var(--surface-container-low)}.bg-surface-container{background:var(--surface-container)}.bg-surface-high{background:var(--surface-container-high)}