.ic-library-groups-title { display:flex; align-items:center; justify-content:space-between; min-height:32px; margin:8px 14px 3px; padding:0 2px; color:var(--ic-muted); font-size:12px; font-weight:500; }
.ic-library-groups-title > span { display:flex; align-items:center; gap:7px; }
.ic-library-groups-title > span svg { display:none; }
.ic-library-groups-title button,.ic-library-group-heading button { border:0; background:transparent; color:var(--ic-text); cursor:pointer; }
.ic-library-groups-title button { display:grid; place-items:center; width:28px; height:28px; color:var(--ic-muted); border:0; border-radius:6px; background:transparent; }
.ic-library-groups-title svg,.ic-library-group-heading svg,.ic-library-menu summary svg { width:16px; height:16px; flex-shrink:0; }
.ic-library-group { margin-bottom:12px; }
.ic-library-group-heading { display:flex; align-items:center; min-width:0; min-height:40px; border:1px solid transparent; border-radius:7px; transition:background-color 140ms ease; }
.ic-library-group-heading:hover { background:var(--ic-card-soft); }
.ic-library-group.is-selected .ic-library-group-heading { background:transparent; }
.ic-library-group-heading > button { display:flex; align-items:center; gap:7px; min-width:0; min-height:38px; flex:1; padding:7px 6px 7px 9px; text-align:left; font-size:14px; font-weight:500; }
.ic-library-group-heading > button > svg:first-child { order:1; width:14px; height:14px; margin-left:3px; color:var(--ic-muted); }
.ic-library-group-folder { display:grid; width:18px; height:18px; flex:0 0 auto; place-items:center; color:var(--ic-muted); }
.ic-library-group-folder svg { width:15px; height:15px; }
.ic-library-group-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.ic-library-group-heading small { min-width:18px; margin-left:auto; color:var(--ic-muted); text-align:right; font-size:12px; font-weight:400; line-height:20px; }
.ic-library-group.is-selected .ic-library-group-folder { color:var(--ic-accent-deep); }
.ic-library-group > .ic-canvas-record { margin-left:26px; width:calc(100% - 26px); }
.ic-library-group > .ic-canvas-record { min-height:40px; padding:0; border:0; border-radius:6px; }
.ic-library-group .ic-canvas-record-main { min-height:40px; padding:8px; border-radius:6px; }
.ic-library-group .ic-canvas-record strong { font-size:13px; font-weight:400; line-height:24px; }
.ic-library-group .ic-canvas-record-copy small { display:none; }
.ic-canvas-record > .ic-library-menu > summary { opacity:0; }
.ic-canvas-record:hover > .ic-library-menu > summary,
.ic-canvas-record:focus-within > .ic-library-menu > summary,
.ic-canvas-record > .ic-library-menu[open] > summary { opacity:1; }
.ic-canvas-record-main:focus-visible { outline:2px solid var(--ic-accent); outline-offset:-2px; }
@media (hover:none) { .ic-canvas-record > .ic-library-menu > summary { opacity:1; } }
.ic-library-group-empty { margin:2px 0 6px; padding:6px 8px 6px 30px; color:var(--ic-muted); font-size:12px; font-weight:400; line-height:1.45; }
.ic-library-date { display:block; font-size:11px; font-weight:400; color:var(--ic-muted); }
.ic-library-menu { position:relative; flex:none; align-self:center; }
.ic-library-menu summary { list-style:none; cursor:pointer; display:grid; place-items:center; width:28px; height:28px; margin-right:5px; color:var(--ic-muted); border:1px solid transparent; border-radius:7px; }
.ic-library-menu summary::-webkit-details-marker { display:none; }
.ic-library-group-heading > .ic-library-menu > summary { opacity:0; }
.ic-library-group-heading:hover > .ic-library-menu > summary,
.ic-library-group-heading:focus-within > .ic-library-menu > summary,
.ic-library-group-heading > .ic-library-menu[open] > summary { opacity:1; }
@media (hover:none) { .ic-library-group-heading > .ic-library-menu > summary { opacity:1; } }
.ic-library-menu[open] { z-index:8; }
.ic-library-menu > div { position:absolute; right:0; top:100%; width:164px; padding:6px; border:1px solid var(--ic-line); border-radius:10px; background:var(--ic-card); box-shadow:var(--ic-shadow-soft); }
.ic-canvas-record > .ic-library-menu > .ic-canvas-menu-popover { position:fixed; inset:auto; box-sizing:border-box; width:208px; max-width:calc(100vw - 16px); max-height:calc(100vh - 16px); overflow:visible; margin:0; padding:5px; border-radius:10px; }
.ic-library-menu button,.ic-library-menu label { display:block; width:100%; font:400 12px var(--ic-font-primary); text-align:left; color:var(--ic-text); background:transparent; border:0; padding:8px; }
.ic-library-menu button { cursor:pointer; border-radius:5px; }
.ic-library-menu select { width:100%; margin-top:6px; padding:5px; background:var(--ic-card); color:var(--ic-text); border:1px solid var(--ic-line); border-radius:5px; font-size:12px; font-weight:400; }
.ic-library-menu .ic-canvas-record-delete { position:static; height:auto; opacity:1; color:var(--ic-danger); }
.ic-library-menu .ic-library-group-delete { color:var(--ic-danger); }
.ic-library-menu .ic-library-group-delete:hover { color:var(--ic-danger); background:#fff4f4; }
.ic-library-menu button:hover,.ic-library-menu summary:hover { color:var(--ic-text); border-color:var(--ic-line); background:var(--ic-card); }
.ic-library-groups-title button:hover { color:var(--ic-text); background:var(--ic-card-soft); }
.ic-library-menu :focus-visible,.ic-library-group-heading button:focus-visible,.ic-library-groups-title button:focus-visible { outline:2px solid var(--ic-accent); outline-offset:1px; }
.ic-canvas-menu-popover > button,
.ic-canvas-menu-popover > .ic-canvas-menu-move { display:flex; align-items:center; gap:8px; box-sizing:border-box; min-height:36px; margin:0; padding:6px 9px; border-radius:6px; font-size:12px; font-weight:400; line-height:20px; white-space:nowrap; }
.ic-canvas-menu-icon { display:flex; flex:0 0 15px; color:var(--ic-muted); }
.ic-canvas-menu-icon svg { width:15px; height:15px; stroke-width:1.6; }
.ic-canvas-menu-move > .ic-library-move-select { flex:0 0 108px; min-width:0; }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-trigger { display:flex; align-items:center; gap:3px; height:26px; padding:0 2px 0 7px; border:1px solid var(--ic-line); border-radius:6px; background:var(--ic-card); color:var(--ic-text); font:400 12px var(--ic-font-primary); text-align:left; cursor:pointer; }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-trigger:hover { border-color:var(--ic-accent); background:var(--ic-card); }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-trigger[aria-expanded="true"] { border-color:var(--ic-accent); background:var(--ic-card); box-shadow:0 0 0 2px rgba(18,185,214,.12); }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-value { font-weight:500; }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-chevron { flex-basis:16px; width:16px; height:16px; }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-menu { right:0; left:auto; width:max(100%,118px); min-width:0; max-width:min(160px,calc(100vw - 16px)); box-sizing:border-box; padding:3px; gap:1px; border-radius:8px; }
.ic-canvas-menu-popover .ic-library-move-select[data-dropdown-up="true"] .ic-select-menu { top:auto; bottom:calc(100% + 6px); transform-origin:bottom right; }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-menu [role="option"] { display:flex; align-items:center; min-height:28px; height:auto; padding:3px 7px; border-radius:5px; font:400 12px var(--ic-font-primary); white-space:normal; }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-menu [role="option"]:hover { background:var(--ic-card-soft); }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-menu [role="option"][aria-selected="true"] { font-weight:500; background:var(--ic-accent-soft); box-shadow:none; }
.ic-canvas-menu-popover .ic-library-move-select .ic-select-native { width:1px; height:1px; margin:-1px; padding:0; border:0; }
.ic-canvas-menu-popover > button:hover { background:var(--ic-card-soft); }
.ic-canvas-menu-popover > .ic-canvas-record-delete { margin-top:5px; border-top:1px solid var(--ic-line); border-radius:0 0 6px 6px; min-height:39px; color:var(--ic-danger); }
.ic-canvas-menu-popover > .ic-canvas-record-delete .ic-canvas-menu-icon { color:inherit; }
.ic-canvas-menu-popover > .ic-canvas-record-delete:hover { color:var(--ic-danger); background:color-mix(in srgb,var(--ic-danger) 8%,var(--ic-card)); }
.ic-library-name-dialog { width:min(360px,90vw); border:1px solid var(--ic-line); border-radius:16px; padding:22px; color:var(--ic-text); background:var(--ic-card); box-shadow:var(--ic-shadow); }
.ic-library-name-dialog::backdrop { background:rgba(0,0,0,.35); }
.ic-library-name-dialog h2 { font-size:18px; margin:0 0 20px; }
.ic-library-name-dialog label { display:block; font-size:13px; font-weight:400; }
.ic-library-name-dialog input { display:block; width:100%; box-sizing:border-box; margin-top:8px; padding:10px; border:1px solid var(--ic-line); border-radius:8px; background:var(--ic-card-soft); color:var(--ic-text); }
.ic-library-name-dialog p { font-size:12px; font-weight:400; color:var(--ic-danger); }
.ic-library-name-dialog form > div { display:flex; justify-content:flex-end; gap:8px; }
.ic-library-name-dialog button { border:1px solid var(--ic-line); border-radius:8px; padding:8px 16px; background:var(--ic-card-soft); color:var(--ic-text); cursor:pointer; }
.ic-library-panel { grid-template-rows:auto auto auto minmax(0,1fr) auto; }

html[data-theme="dark"] .ic-library-group.is-selected .ic-library-group-heading { background:transparent; }
html[data-theme="dark"] .ic-library-menu .ic-library-group-delete:hover { background:rgba(255,92,104,.12); }
