:root{--ui-r-control: 8px;--ui-r-card: 16px;--ui-h-lg: 44px;--ui-h: 40px;--ui-h-sm: 34px;--ui-h-chip: 30px;--ui-swatch: 28px;--ui-lift: 0 10px 28px rgba(29,29,31,.08);--ui-pop: scale(1.06);--ui-speed: .16s ease}@media(max-width:640px){:root{--ui-h-lg: 40px;--ui-h: 36px;--ui-h-sm: 32px;--ui-h-chip: 28px;--ui-swatch: 26px;--ui-fs: 14px;--ui-fs-sm: 13px;--ui-fs-chip: 12.5px;--ui-pad: 12px}}@media(max-width:370px){:root{--ui-h-lg: 38px;--ui-h: 34px;--ui-h-sm: 30px;--ui-h-chip: 26px;--ui-swatch: 24px;--ui-fs: 13.5px;--ui-fs-sm: 12.5px;--ui-fs-chip: 12px;--ui-pad: 10px}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--ui-h);padding:0 var(--ui-pad, 14px);border-radius:var(--ui-r-control);font-family:var(--font-text);font-size:var(--ui-fs, 15px);font-weight:500;line-height:1;letter-spacing:0;white-space:nowrap;text-decoration:none;cursor:pointer;background:var(--brand-white);color:var(--brand-ink);border:1px solid var(--border);box-shadow:none;transition:background var(--ui-speed),border-color var(--ui-speed),color var(--ui-speed);-webkit-tap-highlight-color:transparent}.ui-btn:hover:not(:disabled),.ui-btn[aria-pressed=true],.ui-btn[aria-current=page]{border-color:var(--brand-teal);color:var(--brand-teal)}.ui-btn-lg{height:var(--ui-h-lg);padding:0 calc(var(--ui-pad, 14px) + 4px)}.ui-btn-sm{height:var(--ui-h-sm);padding:0 calc(var(--ui-pad, 14px) - 2px);font-size:var(--ui-fs-sm, 14px)}.ui-btn-icon{width:var(--ui-h);padding:0}.ui-btn-icon.ui-btn-sm{width:var(--ui-h-sm)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{cursor:default;color:var(--text-faint);border-color:var(--border-soft)}.ui-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--ui-h-chip);padding:0 calc(var(--ui-pad, 14px) - 3px);border-radius:var(--ui-r-control);font-family:inherit;font-size:var(--ui-fs-chip, 13px);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;background:var(--brand-white);color:var(--brand-ink);border:1px solid var(--border);transition:border-color var(--ui-speed),color var(--ui-speed)}.ui-chip:hover:not(:disabled),.ui-chip[aria-pressed=true],.ui-chip[aria-checked=true]{border-color:var(--brand-teal);color:var(--brand-teal)}.ui-card{background:var(--surface);border-radius:var(--ui-r-card);border:none;box-shadow:none}.ui-card-link{display:block;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.ui-card-link:hover{transform:translateY(-3px);box-shadow:var(--ui-lift)}.ui-input{height:var(--ui-h);padding:0 var(--ui-pad, 14px);border-radius:var(--ui-r-control);font-family:var(--font-text);font-size:var(--ui-fs, 15px);font-weight:400;color:var(--brand-ink);background:var(--brand-white);border:1px solid var(--border);transition:border-color var(--ui-speed),background var(--ui-speed)}.ui-input-on-card{background:var(--brand-bg);border-color:transparent}.ui-input::placeholder{color:var(--text-faint)}.ui-input:focus{outline:none;border-color:var(--brand-teal);background:var(--brand-white)}.ui-swatch{flex:0 0 auto;width:var(--ui-swatch);height:var(--ui-swatch);padding:2px;border-radius:50%;cursor:pointer;font-size:inherit;background:var(--brand-white);border:2px solid transparent;box-shadow:0 1px 3px #1d1d1f24;transition:border-color var(--ui-speed),transform var(--ui-speed)}.ui-swatch>span{display:block;width:100%;height:100%;border-radius:50%;box-shadow:inset 0 0 0 1px #00000024}.ui-swatch:hover{transform:translateY(-1px)}.ui-swatch[aria-checked=true],.ui-swatch.active,.ui-swatch.on{border-color:var(--brand-teal)}.ui-link{color:var(--brand-teal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--teal-line);transition:text-decoration-color var(--ui-speed);cursor:pointer}.ui-link:hover{text-decoration-color:var(--brand-teal)}button.ui-link{border:none;background:none;padding:0;font:inherit}.ui-btn:focus-visible,.ui-chip:focus-visible,.ui-card-link:focus-visible,.ui-swatch:focus-visible,.ui-link:focus-visible{outline:2px solid var(--brand-teal);outline-offset:3px;border-radius:var(--ui-r-control)}.ui-swatch:focus-visible{border-radius:50%}
