.ui-iconbtn{width:40px;height:40px;color:var(--ink-muted);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:50%;flex:none;place-items:center;display:inline-grid}.ui-iconbtn:hover{background:var(--surface-sunken);color:var(--ink)}.ui-iconbtn[aria-expanded=true]{background:var(--surface-cool);color:var(--brand)}.ui-iconbtn:disabled{opacity:.4;pointer-events:none}.ui-btn--danger{background:var(--signal);color:#fff}.ui-btn--danger:hover{background:#a3321f}.ui-btnspin,.ui-spinner__ring{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-spinner{color:var(--brand);place-items:center;display:inline-grid}.ui-spinner__ring{width:var(--ui-spin);height:var(--ui-spin);border-width:2px;border-color:var(--line-strong);border-top-color:currentColor}.ui-pagespin{background:var(--bg);place-items:center;min-height:100svh;display:grid}.ui-pagespin--inline{background:0 0;min-height:240px}.ui-skel{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-sunken) 0%, var(--surface-cool) 40%, var(--surface-sunken) 80%) 0 0 / 300% 100%;animation:ui-shimmer 1.6s var(--ease) infinite;display:block}.ui-skel-lines{gap:8px;width:100%;display:grid}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.ui-skel{animation:none}}.ui-empty{text-align:center;color:var(--ink-muted);justify-items:center;gap:6px;padding:56px 24px;display:grid}.ui-empty--compact{padding:28px 16px}.ui-empty__icon{background:var(--surface-cool);width:52px;height:52px;color:var(--brand);box-shadow:0 0 0 6px var(--surface-sunken);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.ui-empty--compact .ui-empty__icon{width:40px;height:40px;box-shadow:none;margin-bottom:4px}.ui-empty__title{font-family:var(--font-ui);font-weight:600;font-size:var(--fs-base);color:var(--ink)}.ui-empty__body{font-size:var(--fs-sm);max-width:42ch}.ui-empty__action{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.ui-avatar{--ui-tint:var(--ring-blue);width:var(--ui-av);height:var(--ui-av);background:color-mix(in srgb, var(--ui-tint) 26%, var(--surface));color:color-mix(in srgb, var(--ui-tint) 30%, var(--brand-900));font-family:var(--font-ui);font-weight:600;font-size:calc(var(--ui-av) * .36);letter-spacing:.01em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden}.ui-avatar img{object-fit:cover;width:100%;height:100%}.ui-avatar:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #1e25500f}.ui-avatar--ring{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent-line)}.ui-avatar--sky{--ui-tint:var(--ring-sky)}.ui-avatar--teal{--ui-tint:var(--ring-teal)}.ui-avatar--blue{--ui-tint:var(--ring-blue)}.ui-avatar--lilac{--ui-tint:var(--ring-lilac)}.ui-avatar--green{--ui-tint:var(--ring-green)}.ui-avatar--orange{--ui-tint:var(--ring-orange)}.ui-avatar--pink{--ui-tint:var(--ring-pink)}.ui-avatar--yellow{--ui-tint:var(--ring-yellow)}html:has(.ui-modal[open]){overflow:hidden}.ui-modal{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;place-items:center;margin:0;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.ui-modal:not([open]){display:none}.ui-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ui-fade .24s var(--ease) both;background:#070b2675}.ui-modal:focus{outline:none}.ui-modal__panel{--ui-w:560px;width:min(var(--ui-w), 100%);background:var(--surface);max-height:calc(100dvh - 48px);animation:ui-pop .32s var(--ease-out) both;border-radius:16px;flex-direction:column;display:flex;position:relative;box-shadow:inset 0 1px #fff9,0 30px 80px #070b2647}.ui-modal--sm .ui-modal__panel{--ui-w:420px}.ui-modal--lg .ui-modal__panel{--ui-w:760px}.ui-modal--xl .ui-modal__panel{--ui-w:980px}.ui-modal__head{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 16px 4px 24px;display:flex}.ui-modal__head--bare{z-index:1;padding:0;position:absolute;top:12px;right:12px}.ui-modal__titles{gap:4px;min-width:0;padding-top:8px;display:grid}.ui-modal__title{font-family:var(--font-display);font-weight:500;font-size:var(--fs-lg);letter-spacing:var(--track-display);color:var(--ink)}.ui-modal__desc{font-size:var(--fs-sm);color:var(--ink-muted)}.ui-modal__body{flex:auto;min-height:0;padding:16px 24px 24px;overflow:auto}.ui-modal__foot{border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface-sunken) 55%, var(--surface));border-radius:0 0 16px 16px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.ui-modal--drawer{place-items:stretch end;padding:0}.ui-modal--drawer .ui-modal__panel{--ui-w:520px;border-radius:0;height:100dvh;max-height:none;animation-name:ui-slide-x;animation-duration:.38s}.ui-modal--drawer.ui-modal--lg .ui-modal__panel{--ui-w:720px}.ui-modal--drawer.ui-modal--xl .ui-modal__panel{--ui-w:920px}.ui-modal--drawer .ui-modal__head{border-bottom:1px solid var(--line);padding:18px 16px 14px 24px}.ui-modal--drawer .ui-modal__titles{padding-top:6px}.ui-modal--drawer .ui-modal__body{padding-top:20px}.ui-modal--drawer .ui-modal__foot{border-radius:0}@media (width<=639.98px){.ui-modal--center{padding:12px}.ui-modal--sheet{place-items:end stretch;padding:0}.ui-modal--sheet .ui-modal__panel{width:100%;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;animation-name:ui-slide-y;animation-duration:.38s}.ui-modal--sheet .ui-modal__panel:before{content:"";background:var(--line-strong);border-radius:2px;flex:none;align-self:center;width:36px;height:4px;margin-top:8px}.ui-modal--sheet .ui-modal__head{padding-top:8px}.ui-modal--sheet .ui-modal__foot{border-radius:0}.ui-modal__head{padding-left:20px}.ui-modal__body{padding:12px 20px 20px}.ui-modal__foot{padding:12px 20px}.ui-modal--drawer .ui-modal__panel{width:100%}}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes ui-slide-x{0%{opacity:0;transform:translate(32px)}}@keyframes ui-slide-y{0%{opacity:.4;transform:translateY(40px)}}.ui-confirm .ui-modal__head{padding-bottom:0}.ui-confirm .ui-modal__body{padding-top:8px}.ui-confirm__msg{color:var(--ink-muted);font-size:var(--fs-sm)}.ui-toasts{z-index:120;right:24px;bottom:calc(24px + var(--ui-toast-offset,0px));pointer-events:none;justify-items:end;gap:10px;width:min(420px,100vw - 32px);display:grid;position:fixed}.ui-toasts[popover]{inset:auto 24px auto auto;bottom:calc(24px + var(--ui-toast-offset,0px));color:inherit;background:0 0;border:0;margin:0;padding:0;overflow:visible}.ui-toasts[popover]:not(:popover-open){display:grid}.ui-toast{pointer-events:auto;background:var(--stage);width:100%;color:var(--stage-ink);font-size:var(--fs-sm);border-radius:12px;align-items:center;gap:12px;padding:12px 8px 12px 16px;line-height:1.45;display:flex;box-shadow:0 16px 40px #070b2642}.ui-toast__icon{background:#ffffff1a;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.ui-toast--success .ui-toast__icon{background:color-mix(in srgb, var(--ring-green) 28%, transparent);color:var(--ring-green)}.ui-toast--error .ui-toast__icon{background:color-mix(in srgb, var(--ring-orange) 26%, transparent);color:var(--ring-orange)}.ui-toast--info .ui-toast__icon{color:var(--ring-sky)}.ui-toast__msg{flex:1;min-width:0}.ui-toast__action{border-radius:var(--radius-pill);min-height:32px;font-family:var(--font-ui);font-weight:600;font-size:var(--fs-xs);color:var(--ring-sky);flex:none;padding:6px 12px}.ui-toast__action:hover{background:#ffffff1a}.ui-toast__close{width:32px;height:32px;color:var(--stage-faint);border-radius:50%;flex:none;place-items:center;display:grid}.ui-toast__close:hover{color:var(--stage-ink);background:#ffffff14}.ui-toast :focus-visible{outline-color:var(--ring-sky)}@media (width<=639.98px){.ui-toasts{left:16px;right:16px;bottom:calc(16px + var(--ui-toast-offset,0px));justify-items:stretch;width:auto}}.ui-sort{gap:8px;display:grid}.ui-sort__item{background:var(--surface);border-radius:var(--radius-card);list-style:none;position:relative}.ui-sort__item.is-dragging{z-index:2;box-shadow:var(--shadow-pop)}.ui-sort__handle{border-radius:var(--radius);width:32px;height:40px;color:var(--ink-ghost);cursor:grab;touch-action:none;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);flex:none;place-items:center;display:inline-grid}.ui-sort__handle:hover,.ui-sort__handle:focus-visible{color:var(--brand);background:var(--surface-sunken)}.ui-sort__item.is-dragging .ui-sort__handle{cursor:grabbing;color:var(--brand)}.ui-sort__handle:disabled{cursor:default;opacity:.4}.ui-tabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.ui-tabs::-webkit-scrollbar{display:none}.ui-tabs__tab{min-height:48px;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--ink-faint);transition:color var(--dur-fast) var(--ease);flex:none;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex;position:relative}.ui-tabs--sm .ui-tabs__tab{min-height:40px;font-size:var(--fs-xs);padding:0 10px}.ui-tabs__tab:hover{color:var(--ink)}.ui-tabs__tab[aria-selected=true]{color:var(--brand)}.ui-tabs__tab:focus-visible{outline-offset:-3px}.ui-tabs__count{border-radius:var(--radius-pill);background:var(--surface-sunken);min-width:22px;height:20px;color:var(--ink-muted);font-size:var(--fs-label);place-items:center;padding:0 6px;display:inline-grid}.ui-tabs__tab[aria-selected=true] .ui-tabs__count{background:var(--surface-cool);color:var(--brand)}.ui-tabs__ink{background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.ui-menu{display:inline-flex;position:relative}.ui-menu__list{z-index:60;background:var(--surface);border:1px solid var(--line);min-width:208px;max-width:min(300px,100vw - 32px);box-shadow:var(--shadow-pop);animation:ui-menu-in .16s var(--ease-out) both;transform-origin:100% 0;border-radius:12px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px)}.ui-menu__list--end{right:0}.ui-menu__list--start{transform-origin:0 0;left:0}.ui-menu__item{min-height:38px;font-size:var(--fs-sm);color:var(--ink);text-align:left;white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:0 10px;display:flex}.ui-menu__item svg{color:var(--ink-faint);flex:none}.ui-menu__item:hover,.ui-menu__item:focus-visible{background:var(--surface-sunken);outline:none}.ui-menu__item.is-danger{color:var(--signal)}.ui-menu__item.is-danger svg{color:currentColor}.ui-menu__item.is-disabled{color:var(--ink-ghost);cursor:default}.ui-menu__item.is-disabled:hover{background:0 0}.ui-menu__sep{background:var(--line);height:1px;margin:6px 4px}@keyframes ui-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.ui-progress{background:#ffffff80;border-radius:2px;height:4px;position:absolute;bottom:10px;left:10px;right:10px;overflow:hidden}.ui-progress--bar{background:var(--surface-sunken);width:100%;display:block;position:relative;inset:auto}.ui-progress__fill{background:var(--brand);transform-origin:0;height:100%;transition:transform .2s var(--ease);display:block}.ui-drop{gap:12px;display:grid}.ui-drop__zone{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--radius-card);background:var(--surface-sunken);width:100%;color:var(--ink-muted);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);justify-items:center;gap:6px;padding:28px 20px;display:grid}.ui-drop__zone:hover,.ui-drop.is-over .ui-drop__zone{border-color:var(--brand);background:var(--surface-cool)}.ui-drop__zoneicon{background:var(--surface);width:44px;height:44px;color:var(--brand);box-shadow:var(--shadow-panel);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.ui-drop__pick{color:var(--brand);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;font-weight:600}.ui-drop__hint{font-size:var(--fs-xs);color:var(--ink-faint)}.ui-drop__grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px;display:grid}.ui-drop.is-over .ui-drop__grid{outline:2px dashed var(--brand);outline-offset:4px;border-radius:10px}.ui-drop__tile{aspect-ratio:1;background:var(--surface-sunken);border-radius:10px;position:relative;overflow:hidden}.ui-drop__tile img{object-fit:cover;width:100%;height:100%}.ui-drop__tile.is-pending img{opacity:.6}.ui-drop__tile.is-error{box-shadow:inset 0 0 0 1.5px var(--signal)}.ui-drop__tileerr{color:var(--signal);font-size:var(--fs-label);background:#fffffff0;padding:6px 8px;line-height:1.3;position:absolute;inset:auto 0 0}.ui-drop__remove{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:28px;height:28px;transition:background var(--dur-fast) var(--ease);background:#070b26a8;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.ui-drop__remove:hover{background:#070b26db}.ui-drop__tile--add button{border:1.5px dashed var(--line-strong);width:100%;height:100%;color:var(--ink-muted);font-family:var(--font-ui);font-size:var(--fs-label);letter-spacing:.02em;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:10px;place-content:center;justify-items:center;gap:6px;font-weight:600;display:grid}.ui-drop__tile--add button:hover{border-color:var(--brand);color:var(--brand)}.ui-drop__files{gap:8px;display:grid}.ui-drop__file{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:10px 8px 10px 12px;display:flex}.ui-drop__file.is-error{border-color:var(--signal)}.ui-drop__fileicon{background:color-mix(in srgb, var(--signal) 8%, var(--surface));width:40px;height:48px;color:var(--signal);border-radius:6px;flex:none;place-items:center;display:grid}.ui-drop__filemeta{flex:1;gap:4px;min-width:0;display:grid}.ui-drop__filename{font-weight:600;font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}a.ui-drop__filename:hover{color:var(--brand);text-decoration:underline}.ui-drop__filesize{font-size:var(--fs-xs);color:var(--ink-faint)}.ui-drop__fileerr{font-size:var(--fs-xs);color:var(--signal)}.ui-drop__errors{font-size:var(--fs-xs);color:var(--signal);gap:2px;display:grid}.ui-imgin{justify-items:start;gap:10px;display:grid}.ui-imgin__frame{border-radius:var(--radius-card);background:var(--surface-sunken);border:1.5px dashed var(--line-strong);width:100%;transition:border-color var(--dur-fast) var(--ease);position:relative;overflow:hidden}.ui-imgin__frame:has(img){border-style:solid;border-color:var(--line)}.ui-imgin.is-over .ui-imgin__frame,.ui-imgin__frame:hover{border-color:var(--brand)}.ui-imgin--circle .ui-imgin__frame{border-radius:50%;width:128px}.ui-imgin__frame img{object-fit:cover;width:100%;height:100%}.ui-imgin__empty{text-align:center;color:var(--ink-faint);font-size:var(--fs-xs);place-content:center;justify-items:center;gap:8px;padding:16px;display:grid;position:absolute;inset:0}.ui-imgin__empty svg{color:var(--brand)}.ui-imgin__busy{position:absolute;inset:auto 12px 12px}.ui-imgin__hit{border-radius:inherit;cursor:pointer;position:absolute;inset:0}.ui-imgin__hit:focus-visible{outline-offset:-3px}.ui-imgin__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ui-imgin__remove{color:var(--ink-muted)}.ui-imgin__remove:hover{color:var(--signal)}
