.sf{color:var(--sf-muted);background:var(--sf-bg);min-height:100%}.sf-ink{color:var(--sf-ink)}.sf-muted{color:var(--sf-muted)}.sf-accent{color:var(--sf-accent)}.sf-card{box-shadow:var(--sf-shadow)}.sf-card,.sf-card-soft{background:var(--sf-card);color:var(--sf-ink);border:1px solid var(--sf-line)}.sf-line{border-color:var(--sf-line)}.sf-label{color:var(--sf-muted);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sf-input{width:100%;border-radius:12px;border:1px solid var(--sf-line);background:var(--sf-input-bg);color:var(--sf-ink);font:inherit;font-size:15px;font-weight:500;outline:none}.sf-input::placeholder{color:var(--sf-muted);opacity:.75}.sf-input:focus{border-color:color-mix(in oklab,var(--sf-accent) 45%,var(--sf-line));box-shadow:0 0 0 3px color-mix(in oklab,var(--sf-accent) 18%,transparent)}.sf-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:var(--sf-accent);color:var(--sf-accent-fg);font:inherit;font-weight:800;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}.sf-btn:disabled{opacity:.5;cursor:not-allowed}.sf-btn:active:not(:disabled){transform:scale(.98)}.sf-btn-outline{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid var(--sf-line);background:transparent;color:var(--sf-ink);font:inherit;font-weight:800;cursor:pointer;text-decoration:none}.sf-btn-outline:hover{border-color:color-mix(in oklab,var(--sf-ink) 35%,var(--sf-line));background:color-mix(in oklab,var(--sf-ink) 4%,transparent)}.sf-btn-ghost{border:none;background:var(--sf-line);color:var(--sf-ink);font:inherit;font-weight:800;cursor:pointer}.sf-btn-ghost,.sf-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.sf-chip{font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sf-chip--solid{background:var(--sf-accent);color:var(--sf-accent-fg)}.sf-chip--outline{background:transparent;color:var(--sf-accent);box-shadow:inset 0 0 0 1px var(--sf-accent)}.sf-option{display:flex;width:100%;align-items:center;justify-content:space-between;border-radius:16px;border:1px solid var(--sf-line);background:var(--sf-card);color:var(--sf-ink);padding:12px 16px;text-align:left;font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.sf-option:hover{background:color-mix(in oklab,var(--sf-ink) 4%,var(--sf-card))}.sf-option--on{border-color:var(--sf-ink);background:var(--sf-ink);color:var(--sf-card)}.sf-link{color:var(--sf-muted);font-weight:700;text-decoration:none}.sf-link:active,.sf-link:hover{color:var(--sf-ink)}.sf-sticky-bar{border-top:1px solid var(--sf-line);background:color-mix(in oklab,var(--sf-bg-solid) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sf-callout{border-radius:12px;background:color-mix(in oklab,var(--sf-ink) 5%,var(--sf-card));color:var(--sf-ink);border:1px solid var(--sf-line)}.sf-avatar-ring{outline:3px solid var(--sf-card)}.sf-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:color-mix(in oklab,var(--sf-ink) 6%,var(--sf-card));border:1px solid var(--sf-line)}.sf-tab{flex:1;min-height:34px;border:none;border-radius:999px;background:transparent;color:var(--sf-muted);font:inherit;font-size:12.5px;font-weight:750;letter-spacing:-.02em;cursor:pointer}.sf-tab--on{background:var(--sf-ink);color:var(--sf-card)}.sf-mod-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--sf-line);background:var(--sf-card);color:inherit;text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 1px 0 color-mix(in oklab,var(--sf-ink) 4%,transparent);transition:transform .12s ease,box-shadow .12s ease}.sf-mod-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px color-mix(in oklab,var(--sf-ink) 8%,transparent)}.sf-mod-card--compact{padding:10px 12px;border-radius:12px}.sf-mod-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex-shrink:0;background:color-mix(in oklab,var(--sf-ink) 6%,var(--sf-card));color:var(--sf-ink);border:1px solid var(--sf-line)}.sf-mod-text{text-align:left}.sf-divider{height:1px;width:100%;background:var(--sf-line);border:none}