:root{--ease:cubic-bezier(0.22,0.61,0.36,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--dur-fast:120ms;--dur:180ms;--dur-slow:280ms}:is(.shell,.auth-shell,.lb-shell) .btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}:is(.shell,.auth-shell,.lb-shell) .btn:hover{background:var(--surface-2);border-color:var(--line-strong)}:is(.shell,.auth-shell,.lb-shell) .btn:active{transform:scale(.97)}:is(.shell,.auth-shell,.lb-shell) .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}:is(.shell,.auth-shell,.lb-shell) .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}:is(.shell,.auth-shell,.lb-shell) .btn.primary:hover{background:var(--brand-strong);border-color:var(--brand-strong);box-shadow:0 4px 12px rgba(99,102,241,.25)}:is(.shell,.auth-shell,.lb-shell) .btn.ghost{background:var(--surface-2);border-color:transparent;color:var(--ink-2)}:is(.shell,.auth-shell,.lb-shell) .btn.ghost:hover:not(:disabled){background:var(--line);border-color:transparent;color:var(--ink)}:is(.shell,.auth-shell,.lb-shell) .btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}:is(.shell,.auth-shell,.lb-shell) .btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,var(--ink));border-color:color-mix(in srgb,var(--danger) 85%,var(--ink))}:is(.shell,.auth-shell,.lb-shell) .btn.warn-solid{background:var(--warn);border-color:var(--warn);color:#fff}:is(.shell,.auth-shell,.lb-shell) .btn.warn-solid:hover:not(:disabled){background:color-mix(in srgb,var(--warn) 85%,var(--ink));border-color:color-mix(in srgb,var(--warn) 85%,var(--ink))}:is(.shell,.auth-shell,.lb-shell) .btn.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}:is(.shell,.auth-shell,.lb-shell) .btn.warn:hover:not(:disabled){background:color-mix(in srgb,var(--warn) 10%,transparent);border-color:var(--warn)}:is(.shell,.auth-shell,.lb-shell) .btn.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,var(--line))}:is(.shell,.auth-shell,.lb-shell) .btn.ok:hover:not(:disabled){background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:var(--ok)}:is(.shell,.auth-shell,.lb-shell) .input{padding:.625rem .75rem;font-size:.9375rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-family:inherit;width:100%;outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}:is(.shell,.auth-shell,.lb-shell) .input:hover{border-color:var(--line-strong)}:is(.shell,.auth-shell,.lb-shell) .input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}:is(.shell,.auth-shell,.lb-shell) .input:disabled{opacity:.6;cursor:not-allowed}:is(.shell,.auth-shell,.lb-shell) textarea.input{resize:vertical;min-height:80px}@media (max-width:768px){:is(.shell,.auth-shell,.lb-shell) .input{font-size:16px}}