:root{--personal-tag-trigger-size: 24px;--personal-tag-trigger-border: rgba(59, 130, 246, .24);--personal-tag-trigger-bg: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);--personal-tag-trigger-fg: #2563eb;--personal-tag-trigger-border-active: rgba(37, 99, 235, .42);--personal-tag-trigger-bg-active: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);--personal-tag-popover-width: 360px;--personal-tag-popover-gap: 10px;--personal-tag-popover-padding: 12px;--personal-tag-popover-border: #cbd5e1;--personal-tag-popover-bg: rgba(255, 255, 255, .98);--personal-tag-popover-shadow: 0 18px 40px rgba(15, 23, 42, .16);--personal-tag-muted: #64748b;--personal-tag-text: #0f172a;--personal-tag-section-text: #475569;--personal-tag-chip-bg: #f8fafc;--personal-tag-chip-text: #334155;--personal-tag-chip-border: #cbd5e1;--personal-tag-empty-fg: rgba(15, 23, 42, .52);--personal-tag-remove-hover-bg: rgba(239, 68, 68, .14);--personal-tag-remove-hover-fg: #b91c1c;--personal-tag-remove-hover-ring: rgba(239, 68, 68, .12);--personal-tag-color-picker-width: 54px;--personal-tag-color-pin-size: 24px}.letters-table tbody td[data-tags-cell]{position:relative;overflow:visible!important}.tag-cell-wrap{position:relative;min-height:var(--row-content-height, 3em);overflow:visible!important}.tag-list{position:relative;overflow:visible!important}.tag-empty-placeholder{display:none}.tag-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--personal-tag-trigger-size);height:var(--personal-tag-trigger-size);border:1px solid var(--personal-tag-trigger-border);border-radius:999px;background:var(--personal-tag-trigger-bg);color:var(--personal-tag-trigger-fg);font:inherit;font-size:15px;font-weight:600;line-height:1;cursor:pointer;flex:0 0 auto;box-shadow:0 1px 2px #0f172a14;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.tag-menu-toggle:hover,.tag-menu-toggle.is-active{border-color:var(--personal-tag-trigger-border-active);background:var(--personal-tag-trigger-bg-active);color:var(--personal-tag-trigger-fg);box-shadow:0 4px 10px #3b82f629;transform:translateY(-1px)}.tag-menu-section:has(.tag-menu-section-toggle[data-action=toggle-tag-color-panel]){display:none}.tag-menu-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:min(var(--personal-tag-popover-width),calc(100vw - 48px));display:grid;gap:var(--personal-tag-popover-gap);padding:var(--personal-tag-popover-padding);border:1px solid var(--personal-tag-popover-border);border-radius:14px;background:var(--personal-tag-popover-bg);box-shadow:var(--personal-tag-popover-shadow);backdrop-filter:blur(6px)}.tag-menu-popover [hidden]{display:none!important}.tag-menu-popover[hidden]{display:none}.tag-menu-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.tag-menu-title{margin:0;font-size:.92rem;font-weight:600;color:var(--personal-tag-text);min-width:0}.tag-menu-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--personal-tag-muted);font:inherit;line-height:1;cursor:pointer;padding:0;border-radius:999px;flex:0 0 auto}.tag-menu-close:hover{background:#94a3b81f;color:var(--personal-tag-text)}.tag-menu-empty{color:var(--personal-tag-muted);font-size:.88rem}.tag-menu-section{display:grid;gap:8px}.tag-menu-section-title{margin:0;font-size:.82rem;font-weight:600;color:var(--personal-tag-section-text);text-transform:uppercase;letter-spacing:.04em}.tag-menu-section-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}.tag-menu-section-toggle:hover .tag-menu-section-title{color:var(--personal-tag-text)}.tag-menu-section-caret{width:9px;height:9px;border-right:1.5px solid var(--personal-tag-muted);border-bottom:1.5px solid var(--personal-tag-muted);transform:rotate(45deg);transition:transform .15s ease}.tag-menu-section-toggle.is-expanded .tag-menu-section-caret{transform:rotate(225deg)}.tag-menu-section-body[hidden]{display:none}.tag-menu-options,.row-user-tag-list{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tag-menu-options{max-height:152px;overflow:auto;padding-right:2px}.tag-menu-search{display:grid}.tag-menu-search-input{width:100%;min-width:0;padding:8px 12px;border:1px solid var(--personal-tag-popover-border);border-radius:999px;font:inherit;background:#fff;box-sizing:border-box}.tag-menu-option{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--personal-tag-chip-border);border-radius:999px;color:var(--personal-tag-chip-text);font:inherit;font-size:.86rem;cursor:pointer;background:var(--personal-tag-chip-bg);white-space:nowrap}.tag-menu-option.is-restore{border-style:dashed}.row-tag-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%}.row-tag-input{min-width:0;width:100%;padding:8px 12px;border:1px solid var(--personal-tag-popover-border);border-radius:999px;font:inherit;background:#fff;box-sizing:border-box}.row-tag-input.is-invalid{border-color:#ef4444;box-shadow:0 0 0 1px #ef444429}.row-tag-form .user-submit-button{white-space:nowrap;flex:0 0 auto}.row-tag-field-hint{grid-column:1 / -1;margin:0;font-size:.82rem;color:var(--personal-tag-section-text)}.row-tag-field-hint.is-error{color:#b91c1c}.row-tag-color-list{display:grid;gap:8px}.row-tag-color-item{display:grid;grid-template-columns:minmax(0,1fr) var(--personal-tag-color-picker-width) auto var(--personal-tag-color-pin-size);gap:6px;align-items:center;min-height:32px;position:relative}.row-tag-color-item.is-editing-label{grid-template-columns:minmax(0,1fr) auto;align-items:start}.row-tag-color-item.is-pinned{background:transparent}.row-tag-color-item.is-pinned:before{content:"";position:absolute;left:-8px;top:7px;bottom:7px;width:2px;border-radius:999px;background:#0ea5e96b}.row-tag-color-item.is-editing-label .tag-color-palette-picker,.row-tag-color-item.is-editing-label .row-tag-color-pin{display:none}.row-tag-color-chip{display:block;min-width:0;max-width:100%;margin-inline-end:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;box-shadow:none;font-size:.82em;line-height:1.15;padding:1px 8px}.row-tag-color-label-trigger{width:100%;min-width:0;border:none;cursor:text;text-align:left}.row-tag-color-label-trigger:hover,.row-tag-color-label-trigger:focus-visible{box-shadow:none;filter:saturate(.98) brightness(.99)}.row-tag-color-label-trigger:focus-visible{outline:2px solid rgba(37,99,235,.12);outline-offset:2px}.row-tag-color-label-form{display:flex;align-items:flex-start;gap:6px;min-width:0;width:100%}.row-tag-color-label-input{flex:1 1 auto;min-width:0;width:100%;min-height:28px;height:28px;padding:6px 10px;border:1px solid var(--personal-tag-popover-border);border-radius:12px;background:#fff;color:var(--personal-tag-text);font:inherit;font-size:.82rem;line-height:1.25;box-sizing:border-box;resize:none;overflow:hidden}.row-tag-color-label-input:focus{outline:none;border-color:#9db3cf;box-shadow:0 0 0 2px #2563eb1f}.row-tag-color-label-save{flex:0 0 auto;border:1px solid var(--personal-tag-popover-border);border-radius:999px;background:#fff;color:var(--personal-tag-section-text);font:inherit;font-size:.76rem;line-height:1;padding:6px 10px;cursor:pointer;white-space:nowrap}.row-tag-color-label-save:hover{border-color:var(--personal-tag-trigger-border-active);color:var(--personal-tag-text)}.row-tag-color-label-save[hidden]{display:none}.tag-color-palette-picker{position:relative;flex:0 0 auto;width:var(--personal-tag-color-picker-width);min-width:var(--personal-tag-color-picker-width);justify-self:start;z-index:1}.tag-color-palette-picker[open]{z-index:60}.tag-color-palette-picker>summary{list-style:none}.tag-color-palette-picker>summary::-webkit-details-marker{display:none}.tag-color-palette-trigger{position:relative;display:inline-flex;align-items:center;width:100%;min-height:24px;cursor:pointer;user-select:none}.tag-color-palette-current{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;height:24px;padding:0 8px 0 6px;box-sizing:border-box;border-radius:999px;border:1px solid rgba(15,23,42,.16);box-shadow:none;font-weight:600;font-size:.76rem;line-height:1}.tag-color-palette-current-index{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:3ch;text-align:center}.tag-color-palette-current-index.is-custom svg{display:block;width:.78rem;height:.78rem}.tag-color-palette-picker.has-inline-reset .tag-color-palette-current{padding:0 20px 0 6px}.tag-color-palette-picker[open] .tag-color-palette-current{border-color:#2563eb47;box-shadow:0 0 0 2px #2563eb1a}.tag-color-palette-grid{position:fixed;top:0;left:0;z-index:200;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;width:min(460px,calc(100vw - 72px));padding:10px;border:1px solid #dbe3ed;border-radius:10px;background:#fff;box-shadow:0 14px 28px #0f172a1f;visibility:hidden;opacity:0;pointer-events:none}.tag-color-palette-grid[data-ready="1"]{visibility:visible;opacity:1;pointer-events:auto}.tag-color-palette-option{min-width:36px;height:24px;border:1px solid rgba(15,23,42,.14);border-radius:999px;padding:0 8px;font:inherit;font-size:.78em;line-height:1;cursor:pointer;box-shadow:none}.tag-color-palette-option.is-active{box-shadow:0 0 0 2px #2563eb2e;transform:none}.row-tag-color-custom-trigger,.row-tag-color-custom-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--personal-tag-popover-border);border-radius:999px;background:#fff;color:var(--personal-tag-section-text);font:inherit;font-size:.76rem;line-height:1;padding:5px 8px;cursor:pointer;white-space:nowrap}.row-tag-color-custom-trigger:hover,.row-tag-color-custom-toggle:hover,.row-tag-color-custom-toggle:focus-visible{border-color:var(--personal-tag-trigger-border-active);color:var(--personal-tag-text)}.tag-color-palette-custom{grid-column:1 / -1;justify-self:start}.tag-color-palette-custom-row{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:10px;justify-self:center;width:min(100%,286px)}.tag-color-custom-editor{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(100%,286px);margin:0 auto;box-sizing:border-box}.tag-color-custom-editor[hidden]{display:none}.row-tag-color-custom-trigger{display:none!important}.row-tag-color-custom-trigger:focus-within{outline:none}.row-tag-color-custom-picker-shell{display:flex;flex-direction:column;gap:10px;width:100%;padding:12px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:inset 0 1px #ffffffbf,0 10px 22px #0f172a14}.row-tag-color-custom-input{display:none!important}.row-tag-color-custom-picker{position:relative;width:100%;aspect-ratio:1 / .82;border-radius:14px;overflow:hidden;cursor:crosshair;background:linear-gradient(180deg,#0000,#000),linear-gradient(90deg,#fff,red);box-shadow:inset 0 0 0 1px #0f172a24}.row-tag-color-custom-picker-knob,.row-tag-color-custom-hue-knob{position:absolute;width:14px;height:14px;border-radius:999px;border:3px solid #fff;box-shadow:0 0 0 1px #0f172ad1;transform:translate(-50%,-50%);pointer-events:none}.row-tag-color-custom-picker-knob{top:50%;left:50%}.row-tag-color-custom-toolbar{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;width:100%}.row-tag-color-custom-eyedropper{width:32px;height:32px;padding:0;border:1px solid rgba(148,163,184,.32);border-radius:999px;background:#fff;color:#334155;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px #0f172a14}.row-tag-color-custom-eyedropper:hover,.row-tag-color-custom-eyedropper:focus-visible{border-color:var(--personal-tag-trigger-border-active);color:var(--personal-tag-text)}.row-tag-color-custom-eyedropper svg{width:.95rem;height:.95rem;display:block}.row-tag-color-custom-preview{width:32px;height:32px;border-radius:999px;border:1px solid rgba(15,23,42,.12);box-shadow:inset 0 1px #ffffff59,0 4px 10px #0f172a14}.row-tag-color-custom-hue{position:relative;width:100%;height:18px;border-radius:999px;cursor:ew-resize;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);box-shadow:inset 0 0 0 1px #0f172a24}.row-tag-color-custom-hue-knob{top:50%;left:50%}.row-tag-color-custom-rgb{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.row-tag-color-custom-rgb-field{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.row-tag-color-custom-rgb-field input{width:100%;min-width:0;height:38px;padding:0 8px;border:1px solid rgba(148,163,184,.36);border-radius:10px;background:#fff;color:#0f172a;font:inherit;font-size:.9rem;text-align:center;box-sizing:border-box}.row-tag-color-custom-rgb-field input:focus{outline:none;border-color:var(--personal-tag-trigger-border-active);box-shadow:0 0 0 3px #2563eb1f}.row-tag-color-custom-rgb-field span{font-size:.78rem;line-height:1;color:#334155}.row-tag-color-custom-apply{align-self:center;margin-top:2px;border:1px solid var(--personal-tag-popover-border);border-radius:999px;background:#fff;color:var(--personal-tag-section-text);font:inherit;font-size:.76rem;line-height:1;padding:5px 8px;cursor:pointer;white-space:nowrap}.row-tag-color-custom-apply:hover{border-color:var(--personal-tag-trigger-border-active);color:var(--personal-tag-text)}.row-tag-color-reset-inline{position:absolute;top:50%;right:4px;width:.86rem;height:.86rem;padding:0;border:none;border-radius:999px;background:transparent;box-shadow:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;font-size:0;line-height:1;cursor:pointer;opacity:0;transform:translateY(-50%);transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.row-tag-color-reset-inline:hover,.row-tag-color-reset-inline:focus-visible{background:color-mix(in srgb,currentColor 14%,transparent);color:inherit;box-shadow:none;opacity:1;transform:translateY(-50%) scale(1.04)}.row-tag-color-reset-inline:focus-visible{outline:none}.tag-color-palette-picker.has-active-reset .row-tag-color-reset-inline{opacity:.72}.row-tag-color-item:is(:hover,:focus-within) .row-tag-color-reset-inline,.tag-color-palette-picker[open] .row-tag-color-reset-inline,.tag-color-palette-picker.has-active-reset:is(:hover,:focus-within) .row-tag-color-reset-inline{opacity:1}.row-tag-color-reset-inline.is-idle{opacity:.62}.row-tag-color-reset-inline.is-idle:hover,.row-tag-color-reset-inline.is-idle:focus-visible{opacity:1}.row-tag-color-reset-inline svg{display:block;width:.82rem;height:.82rem;transform:rotate(0);transition:transform .22s ease}.row-tag-color-reset-inline:hover svg,.row-tag-color-reset-inline:focus-visible svg{transform:rotate(120deg)}.row-tag-color-reset-inline.is-hidden{display:none}.row-tag-color-input{width:24px;height:24px;padding:0;border:1px solid var(--personal-tag-popover-border);border-radius:999px;background:transparent;cursor:pointer}.row-tag-color-input::-webkit-color-swatch-wrapper{padding:2px}.row-tag-color-input::-webkit-color-swatch{border:none;border-radius:999px}.row-tag-color-input-hidden{position:fixed;left:-9999px;top:-9999px;opacity:0;pointer-events:none;width:1px;height:1px}.row-tag-color-reset{border:1px solid var(--personal-tag-popover-border);border-radius:999px;background:#fff;color:var(--personal-tag-section-text);font:inherit;font-size:.76rem;line-height:1;padding:5px 8px;cursor:pointer}.row-tag-color-reset:hover{border-color:var(--personal-tag-trigger-border-active);color:var(--personal-tag-text)}.row-tag-color-reset.is-hidden{display:none}.row-tag-color-pin{grid-column:4;width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:color-mix(in srgb,var(--personal-tag-section-text) 74%,transparent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.18;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease}.row-tag-color-item:is(:hover,:focus-within) .row-tag-color-pin,.row-tag-color-item.is-pinned .row-tag-color-pin{border-color:var(--personal-tag-popover-border);background:#fff;color:var(--personal-tag-section-text);opacity:1}.row-tag-color-pin:hover,.row-tag-color-pin:focus-visible{border-color:var(--personal-tag-trigger-border-active);color:var(--personal-tag-text)}.row-tag-color-pin.is-active{border-color:#0f766e47;background:#ecfefff2;color:#0f766e;box-shadow:0 0 0 2px #0f766e14;opacity:1}.row-tag-color-pin .pin-indicator{width:14px;height:14px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:currentColor;opacity:.72;transform:rotate(-28deg) translateY(-1px);transition:transform .18s ease,opacity .18s ease,filter .18s ease}.row-tag-color-pin .pin-indicator svg{width:14px;height:14px;overflow:visible}.row-tag-color-pin .pin-head-fill{fill:currentColor;opacity:.08;transition:opacity .18s ease}.row-tag-color-pin .pin-head-stroke,.row-tag-color-pin .pin-stem,.row-tag-color-pin .pin-cross{transition:opacity .18s ease}.row-tag-color-pin.is-active .pin-indicator{opacity:1;transform:rotate(0) translateY(0);filter:drop-shadow(0 1px 2px rgba(15,23,42,.18))}.row-tag-color-pin.is-active .pin-head-fill{opacity:.22}.row-user-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--personal-tag-chip-border);border-radius:999px;background:var(--personal-tag-chip-bg);color:var(--personal-tag-chip-text);font-size:.86rem}.row-user-tag-remove{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border:none;background:transparent;color:currentColor;font:inherit;line-height:1;cursor:pointer;padding:0;border-radius:999px;opacity:.78;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.row-user-tag-remove:hover,.row-user-tag-remove:focus-visible{background:var(--personal-tag-remove-hover-bg);color:var(--personal-tag-remove-hover-fg);box-shadow:0 0 0 1px var(--personal-tag-remove-hover-ring);opacity:1;transform:translateY(-1px)}.row-user-tag-remove:focus-visible{outline:none}.row-user-tag-remove:disabled{opacity:.55;cursor:default}.user-tag-hint{margin:0;color:var(--personal-tag-section-text);font-size:.92rem}.table-tag-chip.is-user-tag{box-shadow:inset 0 0 0 1px #0f172a1f;border-style:dashed}.table-tag-chip.is-editable{display:inline-flex;align-items:center;gap:6px;padding-right:6px}.table-tag-chip-label{min-width:0}.table-tag-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:999px;flex:0 0 auto;border:none;background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer;padding:0;opacity:.8;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.table-tag-chip-remove:before{content:"×";display:block}.table-tag-chip-remove:hover,.table-tag-chip-remove:focus-visible{background:var(--personal-tag-remove-hover-bg);color:var(--personal-tag-remove-hover-fg);box-shadow:0 0 0 1px var(--personal-tag-remove-hover-ring);opacity:1;transform:translateY(-1px)}.table-tag-chip-remove:focus-visible{outline:none}.table-tag-chip-remove:disabled{opacity:.55;cursor:default}@media(max-width:900px){.row-tag-form{grid-template-columns:1fr}.row-tag-input{min-width:100%}.row-tag-form .user-submit-button{justify-self:start}.row-tag-color-item{grid-template-columns:minmax(0,1fr) var(--personal-tag-color-picker-width) var(--personal-tag-color-pin-size)}.row-tag-color-pin{grid-column:3}.row-tag-color-reset,.row-tag-color-custom-toggle,.row-tag-color-custom-trigger,.row-tag-color-custom-apply{grid-column:1 / -1;justify-self:start}.tag-color-palette-custom-row{flex-wrap:wrap}.tag-color-palette-grid{width:min(420px,calc(100vw - 64px));grid-template-columns:repeat(5,minmax(0,1fr))}}
