/* Quiet labels and shared tag controls inherit Hearth's current theme. */
.collection-row-tags{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;min-width:0;}
.collection-row-tags{margin-top:.25rem;pointer-events:none;position:relative;z-index:1;}
.collection-tag-title-copy{display:block;min-width:0;flex:1;}
.collection-tag-title-copy>.watch-row-open,.collection-tag-title-copy>.plan-title,.collection-tag-title-copy>.dining-row-name{max-width:100%;overflow-wrap:anywhere;}
.collection-tag-label{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;padding:.1rem .5rem;border:1px solid var(--line);border-radius:999px;font-size:.75rem;line-height:1.5;color:var(--ink-muted);overflow-wrap:anywhere;}
.collection-row-tags>.collection-row-tags-overflow{display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;pointer-events:auto;min-width:44px;min-height:44px;margin:0;padding:.1rem .4rem;border:0;border-radius:999px;background:transparent;color:var(--ink-muted);font-size:.75rem;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;box-shadow:none;}
.collection-row-tags>.collection-row-tags-overflow:active{transform:none;}
.collection-row-tags>.collection-row-tags-overflow:focus-visible{outline:2px solid var(--clay);outline-offset:2px;}
@media(any-hover:hover) and (any-pointer:fine){.collection-row-tags>.collection-row-tags-overflow:hover:where(html[data-hearth-hover="true"] *){color:var(--clay);background:transparent;}}
/* Read-only overflow lives outside the row and above its click target. The
   surface is opaque in every theme; opening it never changes row geometry. */
.collection-row-tags-popover{position:fixed;left:0;top:0;inset-inline-end:auto;inset-block-end:auto;margin:0;z-index:50;box-sizing:border-box;width:20rem;max-width:calc(100vw - 24px);max-height:min(18rem,calc(100dvh - 24px));padding:.75rem;border:1px solid var(--line);border-radius:.65rem;background:var(--paper-raised);color:var(--ink);box-shadow:0 8px 24px rgb(0 0 0 / .16);overflow:auto;overscroll-behavior:contain;pointer-events:auto;animation:none;transition:none;}
.collection-row-tags-popover[hidden]{display:none;}
.collection-row-tags-popover:focus-visible{outline:2px solid var(--clay);outline-offset:2px;}
.collection-row-tags-popover::backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;}
/* Cap intrinsic height while overflowing labels use the panel's single scroller. */
.collection-row-tags-popover .collection-row-tags-list{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:.35rem;min-width:0;max-width:100%;max-height:18rem;margin:0;padding:0;list-style:none;}
.collection-row-tags-popover .collection-row-tags-list>li{min-width:0;max-width:100%;margin:0;padding:0;}
.collection-row-tags-popover .collection-tag-label{min-width:0;white-space:normal;text-align:center;justify-content:center;}
.collection-tag-label button{display:grid;place-items:center;flex:none;width:28px;min-height:28px;padding:0;border:0;background:none;color:var(--ink-muted);}
.collection-object-tags{margin-block:1.5rem;min-width:0;container-type:inline-size;}
.collection-object-tags h2{font-family:inherit;font-size:.875rem;line-height:inherit;font-weight:400;color:var(--ink-muted);margin:0;}
:root body .has-collection-ratings .collection-object-tags{order:2;}
:root body .has-collection-ratings .plan-notes-section{order:3;}
:root body .has-collection-ratings > form > .plans-message,:root body .has-collection-ratings.thumb-corner .thumb-corner-content > form > .plans-message{order:4;}
.collection-object-tags .collection-tag-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-bottom:.4rem;}
/* The visible pill matches list labels; its quiet surrounding hit area stays
   thumb-sized without making the label itself bulky. */
.collection-object-tags .collection-tag-bubbles{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 .3rem;min-width:0;}
/* Collection-created tags stay in view. The remaining shared vocabulary is a
   quiet disclosure, matching the modal's Other housemates section. */
:is(.collection-object-tags,.collection-tag-popover) .collection-other-tags{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:0;margin:.4rem 0 0;padding:0;border:0;border-top:1px solid var(--line);background:transparent;box-shadow:none;}
:is(.collection-object-tags,.collection-tag-popover) .collection-other-tags>summary{box-sizing:border-box;display:flex;align-items:center;gap:.65rem;min-height:44px;margin:0;padding:.35rem 0;border:0;background:transparent;color:var(--ink-muted);font:inherit;font-size:.875rem;font-weight:400;line-height:1.5;text-align:left;list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.collection-other-tags>summary::-webkit-details-marker{display:none;}
:is(.collection-object-tags,.collection-tag-popover) .collection-other-tags>summary::before{content:"";order:2;flex:none;box-sizing:border-box;width:.4rem;height:.4rem;margin-inline:.15rem;margin-inline-start:auto;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg);color:var(--ink-muted);}
:is(.collection-object-tags,.collection-tag-popover) .collection-other-tags[open]>summary::before{transform:rotate(45deg);color:var(--clay);}
.collection-other-tags>summary>span{min-width:0;overflow-wrap:anywhere;}
.collection-other-tags .collection-other-tags-count{order:1;color:var(--ink-muted);font-size:.75rem;font-weight:400;}
.collection-object-tags .collection-other-tag-options{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 .3rem;min-width:0;}
.collection-tag-popover .collection-other-tag-options{min-width:0;}
.collection-other-tags:not([open])>.collection-other-tag-options{display:none;}
.collection-object-tags .collection-tag-bubble{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;max-width:100%;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink-muted);font-weight:400;text-align:center;opacity:1;box-shadow:none;}
.collection-object-tags .collection-tag-pill{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;padding:.1rem .5rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-muted);font-size:.75rem;font-weight:400;line-height:1.5;text-align:center;overflow-wrap:anywhere;}
.collection-object-tags .collection-tag-bubble:is([aria-pressed="true"],.is-applied) .collection-tag-pill{border-color:var(--clay);}
/* The composer, clear affordance and action retain their space while typing. */
.collection-object-tags .collection-tag-composer{display:grid;grid-template-columns:minmax(0,1fr) max(44px,4rem);align-items:center;gap:.4rem;margin:.15rem 0 .35rem;min-width:0;}
.collection-object-tags .collection-tag-input{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-width:0;border-bottom:2px solid transparent;box-shadow:inset 0 -1px var(--line);}
.collection-object-tags .collection-tag-input:has(input:focus){border-bottom-color:var(--clay);box-shadow:none;}
:root body .collection-tag-composer input:not([type="checkbox"]):not([type="radio"]){box-sizing:border-box;min-width:0;width:100%;min-height:44px;margin:0;border:0;border-radius:0;background:transparent;color:var(--ink);padding:.5rem 0;font:inherit;font-size:max(1rem,16px);box-shadow:none;}
.collection-object-tags .collection-tag-composer input::placeholder{color:var(--ink-muted);opacity:1;}
.collection-object-tags .collection-tag-composer button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;max-width:100%;margin:0;padding:.35rem .5rem;border:0;border-radius:.35rem;background:transparent;color:var(--clay);font-size:.8125rem;font-weight:400;line-height:1.4;text-align:center;box-shadow:none;}
.collection-object-tags .collection-tag-composer>[data-tag-create]{width:100%;white-space:nowrap;}
.collection-object-tags .collection-tag-input>[data-tag-clear]{width:44px;padding:0;color:var(--ink-muted);font-size:1.25rem;}
.collection-object-tags .collection-tag-input>[data-tag-clear][data-empty="true"]{visibility:hidden;}
.collection-object-tags :is(.collection-tag-bubble,.collection-tag-composer button):active{transform:none;}
@container(max-width:14rem){.collection-object-tags .collection-tag-composer{grid-template-columns:minmax(0,1fr);}.collection-object-tags .collection-tag-composer>[data-tag-create]{justify-self:end;width:max(44px,4rem);}}
@media(any-hover:hover) and (any-pointer:fine){.collection-object-tags button.collection-tag-bubble[aria-pressed="false"]:not(:disabled):hover:where(html[data-hearth-hover="true"] *) .collection-tag-pill{border-color:var(--ink-muted);}.collection-object-tags .collection-tag-composer button:not(:disabled):hover:where(html[data-hearth-hover="true"] *){color:var(--ink);}}
.collection-tag-search{display:block;min-width:0;margin:.4rem 0 .6rem;}
.collection-tag-search input,.collection-tag-create-form input,.collection-tag-manager-row input{box-sizing:border-box;min-width:0;width:100%;min-height:44px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:.5rem 0;font:inherit;box-shadow:none;}
:root body :is(.collection-tag-search,.collection-tag-create-form,.collection-tag-manager-row) input:not([type="checkbox"]):not([type="radio"]){box-sizing:border-box;min-width:0;width:100%;min-height:44px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:.5rem 0;font:inherit;box-shadow:none;}
.collection-tag-popover [data-tag-options]{max-height:16rem;overflow:auto;overscroll-behavior:contain;}
.collection-tag-option,.plan-dialog .collection-tag-option{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.3rem .2rem;margin:0;cursor:pointer;font-size:.875rem;color:var(--ink);}
.collection-tag-option span{overflow-wrap:anywhere;min-width:0;}
.collection-tag-option input,.plan-dialog .collection-tag-option input{flex:none;appearance:auto;width:18px!important;height:18px!important;min-height:0!important;margin:0;padding:0;accent-color:var(--clay);}
.collection-tag-clear{min-height:44px;background:none;border:0;border-radius:0;text-align:left;color:var(--clay);padding:.4rem .2rem;max-width:100%;overflow-wrap:anywhere;}
.collection-object-tags [data-tag-feedback]:empty,.collection-tag-popover [data-tag-feedback]:empty,[data-tag-manager-feedback]:empty{display:none;}
.collection-object-tags [data-tag-feedback],.collection-tag-popover [data-tag-feedback],[data-tag-manager-feedback]{color:var(--ink-muted);font-size:.875rem;}
[data-tag-feedback] button,[data-tag-manager-feedback] button{margin-inline-start:.5rem;background:none;color:var(--clay);border:0;min-height:44px;}
.collection-tag-filter{position:relative;display:grid;place-items:center;width:44px;min-width:44px;height:44px;border-left:1px solid var(--line);}
.watch-page .collection-tag-trigger{position:relative;opacity:.55;}
.watch-page .collection-tag-filter.is-active .collection-tag-trigger{opacity:1;color:var(--clay);}
.collection-tag-count{position:absolute;right:0;top:0;font-size:.65rem;line-height:1rem;min-width:1rem;border-radius:50%;background:var(--paper-raised);color:var(--clay);}
.collection-tag-popover{position:fixed;margin:0;width:290px;max-width:calc(100vw - 24px);max-height:min(420px,calc(100dvh - 24px));box-sizing:border-box;overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:var(--paper-raised);color:var(--ink);box-shadow:0 12px 32px rgb(0 0 0 / .2);}
.collection-tag-popover header{font:inherit;font-size:.875rem;font-weight:600;}
.watch-page .collection-tag-popover button{display:block;width:auto;height:auto;min-height:44px;padding:.35rem .2rem;border-radius:0;font-size:.875rem;color:var(--clay);opacity:1;}
.collection-tag-popover [data-tag-clear]{border-top:1px solid var(--line);width:100%;margin-top:.5rem;}
.collection-tags-settings .collection-tag-create-form{display:flex;gap:.75rem;align-items:center;margin:1.5rem 0;}
.collection-tag-create-form>label{flex:1;min-width:0;}
.collection-tag-create-form>button{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;border:0;background:none;color:var(--clay);}
.collection-tag-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:.75rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line);}
.collection-tag-manager-row>label{min-width:0;}
.collection-tag-manager-row input{border-bottom:0;}
.collection-tag-manager-row small{white-space:nowrap;color:var(--ink-muted);}
.collection-tag-manager-row>button{display:grid;place-items:center;min-height:44px;min-width:44px;border:0;background:none;color:var(--ink-muted);}
.collection-tag-manager-row svg{width:18px;height:18px;}
.collection-object-tags :focus-visible,.collection-tag-popover :focus-visible,.collection-tags-settings :focus-visible,.collection-tag-label button:focus-visible{outline:2px solid var(--clay);outline-offset:3px;}
.collection-object-tags .collection-tag-bubble:focus-visible{outline:none;}
.collection-object-tags .collection-tag-bubble:focus-visible .collection-tag-pill{outline:2px solid var(--clay);outline-offset:3px;}
:root body .collection-tag-composer input:not([type="checkbox"]):not([type="radio"]):focus{outline:none;border:0;box-shadow:none;}
@media(forced-colors:active){
  .collection-row-tags>.collection-row-tags-overflow{color:ButtonText;}
  .collection-row-tags-popover{background:Canvas;color:CanvasText;border-color:ButtonText;box-shadow:none;}
  .collection-row-tags-popover .collection-tag-label{border-color:GrayText;color:CanvasText;}
  .collection-row-tags>.collection-row-tags-overflow:focus-visible,.collection-row-tags-popover:focus-visible{outline-color:Highlight;}
  .collection-object-tags .collection-tag-pill{border-color:GrayText;color:ButtonText;}
  :is(.collection-object-tags,.collection-tag-popover) .collection-other-tags{border-color:GrayText;}
  :is(.collection-object-tags,.collection-tag-popover) .collection-other-tags>summary,.collection-other-tags .collection-other-tags-count{color:CanvasText;}
  .collection-object-tags .collection-tag-bubble:is([aria-pressed="true"],.is-applied) .collection-tag-pill{border-color:Highlight;outline:2px solid Highlight;outline-offset:-3px;}
  .collection-object-tags .collection-tag-input{border-bottom-color:GrayText;}
  .collection-object-tags .collection-tag-input:has(input:focus){border-bottom-color:Highlight;}
  .collection-object-tags .collection-tag-composer button{color:ButtonText;}
  .collection-object-tags :focus-visible{outline-color:Highlight;}
  .collection-object-tags .collection-tag-bubble:focus-visible .collection-tag-pill{outline:2px solid Highlight;outline-offset:3px;}
}

/* Vocabulary creation stays inline at the top of every filter dropdown. */
.collection-tag-popover .collection-filter-composer{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:.4rem;margin:.35rem 0;min-width:0;}
.collection-filter-composer .collection-tag-input{min-width:0;border-bottom:2px solid transparent;box-shadow:inset 0 -1px var(--line);}
.collection-filter-composer .collection-tag-input:has(input:focus){border-bottom-color:var(--clay);box-shadow:none;}
.watch-page .collection-filter-composer [data-tag-create]{width:44px;min-height:44px;margin:0;padding:.35rem .2rem;border:0;background:transparent;color:var(--clay);font-size:.8125rem;font-weight:400;box-shadow:none;}
.collection-filter-composer [data-tag-create]:active{transform:none;}
.collection-filter-composer input::placeholder{color:var(--ink-muted);opacity:1;}
@media(forced-colors:active){.collection-filter-composer .collection-tag-input{border-bottom-color:GrayText;}.collection-filter-composer .collection-tag-input:has(input:focus){border-bottom-color:Highlight;}}

.collection-tag-popover{overflow-anchor:none;}

.collection-filter-composer .collection-tag-input{font-weight:400;}

.collection-tag-popover .collection-tag-option{box-sizing:border-box;width:100%;}
.collection-tag-popover .collection-tag-option span{flex:1;}
.collection-tag-popover .collection-tag-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;}
.collection-tag-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-inline-start:auto;}
.watch-page .collection-tag-filter-actions button{width:auto;min-width:44px;min-height:44px;margin:0;padding:.25rem 0;border:0;background:transparent;color:var(--clay);font-size:.75rem;font-weight:400;white-space:nowrap;box-shadow:none;}
.collection-tag-filter-actions button:active{transform:none;}

.watch-page .collection-tag-filter-actions button:disabled{opacity:.45;cursor:default;}
