.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);min-height:3.8rem;width:100%;padding:var(--space-xs) var(--space-m);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);transition:all var(--transition-fast);cursor:text}.tag-input:hover{border-color:var(--border-strong)}.tag-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px hsla(from var(--primary) h s l/.1)}.tag-input--disabled{opacity:.5;cursor:not-allowed;background-color:var(--surface-subtle)}.tag-input__tag{display:inline-flex;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);font-size:var(--t-s);background-color:var(--surface-strong);color:var(--fg);border-radius:var(--radius-xs)}.tag-input__tag,.tag-input__tag-remove{align-items:center;transition:background-color var(--transition-fast)}.tag-input__tag-remove{display:flex;justify-content:center;padding:var(--space-3xs);background:transparent;border:none;border-radius:var(--radius-full);color:var(--fg-subtle);cursor:pointer}.tag-input__tag-remove:hover{background-color:hsla(from var(--fg) h s l/.1);color:var(--fg)}.tag-input__tag-remove svg{width:1.2rem;height:1.2rem}.tag-input__input{flex:1;min-width:12rem;padding:var(--space-2xs) 0;font-size:var(--t-m);line-height:1.5;color:var(--fg);background-color:transparent;border:none;outline:none}.tag-input__input::-moz-placeholder{color:var(--fg-muted)}.tag-input__input::placeholder{color:var(--fg-muted)}.tag-input__input:disabled{cursor:not-allowed}.tag-input__suggestions{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:var(--space-2xs);max-height:24rem;overflow-y:auto;background-color:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:var(--shadow-l);padding:var(--space-2xs)}.tag-input__suggestion{width:100%;padding:var(--space-xs) var(--space-s);font-size:var(--t-m);text-align:left;color:var(--fg);background-color:transparent;border:none;border-radius:var(--radius-xs);cursor:pointer;transition:background-color var(--transition-fast)}.tag-input__suggestion--selected,.tag-input__suggestion:hover{background-color:var(--surface-strong)}.tag-input-wrapper{position:relative;width:100%}