.btn { display: flex; align-items: center; justify-content: center; gap: var(--space-s); padding: var(--space-2xs) var(--space-m); background: var(--primary); color: var(--text-title-light); font-size: 1.2em; font-weight: 600; font-family: var(--font-primary); border-radius: var(--radius-l); box-shadow: var(--shadow-s); transition: all 0.25s ease-in-out; outline: 0; cursor: pointer;}.btn:hover { transform: translateY(-0.1rem);}.btn.small { font-size: 1em; padding: var(--space-xs) var(--space-s);}.btn.large { font-size: 1em; padding: var(--space-s) var(--space-m);}.btn.secondary { background: none; color: var(--primary); box-shadow: inset 0 0 0 2px var(--primary);}.btn.tertiary { background: var(--tertiary);}.btn.slight { background: var(--bg-surface); border-color: var(--border-primary); box-shadow: var(--shadow-s);}.btn:focus { outline-offset: 2px;}.link { position: relative; text-decoration: none; box-shadow: none;}.link::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 2px; background-color: var(--primary-60); transition: background-color 0.15s ease-in-out;}.link:hover::after { background-color: var(--primary-40);}.link.secondary { color: var(--secondary); border-color: var(--secondary-20);}.link.tertiary { color: var(--tertiary); border-color: var(--tertiary-20);}.icon-s{ height: auto; width: 2rem; font-style: 2rem;}.icon-m { height: auto; width: 3rem; font-style: 3rem;}.icon-l{ height: auto; width: 4.5rem; font-style: 4.5rem;}.avatar { width: var(--space-2xl); height: var(--space-2xl); border-radius: 100%; box-shadow: var(--shadow-m); object-fit: cover;}.avatar.small { width: var(--space-l); height: var(--space-l);}.avatar.large { width: var(--space-4xl); height: var(--space-4xl);}.input { padding: var(--space-xs) var(--space-s); color: var(--text-title); font-size: var(--text-m); font-weight: 500; border-radius: var(--radius-m); border: 1px solid var(--border-primary); box-shadow: var(--shadow-xs); transition: all 0.25s ease-in-out; appearance: none; outline: 0;}.input:focus { background: var(--primary-20); border-color: var(--primary); box-shadow: var(--shadow-l);}.input:hover { border-color: var(--primary); background: transparent; box-shadow: var(--shadow-l);}.input:invalid { border-color: var(--error); background: var(--error-10);}.input:disabled { cursor: not-allowed; opacity: 0.75; box-shadow: none;}.select { padding: var(--space-xs) var(--space-s); color: var(--text-body); font-size: var(--text-m); font-weight: 500; border-radius: var(--radius-m); border: 1px solid var(--border-primary); box-shadow: var(--shadow-xs); transition: all 0.25s ease-in-out; outline: 0;}.select:focus { background: var(--primary-20); border-color: var(--primary);}.select:hover { border-color: var(--primary);}.select:invalid { border-color: var(--error); background: var(--error-10);}.select:disabled { cursor: not-allowed; opacity: 0.75; box-shadow: none;}.checkbox { appearance: none; display: grid; place-content: center; border-radius: var(--radius-s); width: clamp(1.13rem, calc(-0.37vw + 1.45rem), 1.38rem); height: clamp(1.13rem, calc(-0.37vw + 1.45rem), 1.38rem);}.checkbox:checked:before { transform: scale(1);}.checkbox::before { content: ""; width: 1em; height: 1em; box-shadow: inset 1em 1em #fff; clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); transform: scale(0); transition: transform 0.2s;}.checkbox:hover { border-color: var(--primary);}.checkbox:focus { outline-offset: 2px;}.checkbox:checked { background: var(--primary); border-color: var(--primary);}.radio { appearance: none; display: grid; place-content: center; border-radius: var(--radius-full); width: clamp(1.13rem, calc(-0.37vw + 1.45rem), 1.38rem); height: clamp(1.13rem, calc(-0.37vw + 1.45rem), 1.38rem);}.radio:checked:before { transform: scale(1);}.radio::before { content: ""; width: 1em; height: 1em; border-radius: 100%; transform: scale(0); transition: transform 0.2s; background: var(--primary);}.radio:hover { border-color: var(--primary);}.radio:focus { outline-offset: 2px;}.radio:checked { border-color: var(--primary);}