/* Content-first Collection Header: one quiet More entry. */
.library-head-actions{position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;align-self:start!important;gap:0!important}.library-head-actions .collection-more-button{box-sizing:border-box!important;display:grid!important;place-items:center!important;flex:0 0 52px!important;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;aspect-ratio:1/1!important;background:rgba(255,255,255,.07)!important;color:rgba(247,243,251,.92)!important;transform:none!important;transition:filter .18s ease,background-color .18s ease!important}.library-head-actions .collection-more-button svg{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;aspect-ratio:1/1!important}.library-head-actions .collection-more-button:hover,.library-head-actions .collection-more-button:focus-visible{filter:brightness(1.12)!important;background:rgba(255,255,255,.1)!important;transform:none!important}
.collection-more-popover{position:absolute;z-index:40;right:0;top:60px;width:188px;padding:6px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(36,30,50,.94);box-shadow:0 18px 44px rgba(10,8,20,.34),inset 0 1px rgba(255,255,255,.14);backdrop-filter:blur(24px)}.collection-more-popover[hidden]{display:none!important}.collection-more-popover button{display:flex;align-items:center;width:100%;height:38px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:rgba(247,243,251,.94);font-size:13px;text-align:left}.collection-more-popover button:hover{background:rgba(255,255,255,.1)}.collection-more-popover button.danger{color:#ffb9c4}.sheet-tools{position:relative}.sheet-more-popover{top:50px;right:auto;left:196px}.sheet-head-actions{grid-template-columns:52px!important}.sheet-head-actions .sheet-close{box-sizing:border-box!important;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;border-radius:50%!important;aspect-ratio:1/1!important;display:grid!important;place-items:center!important;padding:0!important}

/* Collection preview stays above the Dock; the Dock remains the persistent app navigation. */
.pickart.sheet-open .dock-stage{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:none!important}
.bottom-sheet.open,.bottom-sheet.hero-active.open{z-index:28!important;background:rgba(47,40,72,.92)!important}
.bottom-sheet .sheet-tools{position:relative!important;z-index:4!important;overflow:visible!important;margin:0!important}
.bottom-sheet .sheet-label{position:relative;z-index:3;margin:4px 0 8px!important}
.bottom-sheet .sheet-tags-area{position:relative;z-index:3;margin-top:0;overflow:visible}
.bottom-sheet .sheet-tag-editor{position:relative;z-index:4;width:min(440px,100%)}
.bottom-sheet .sheet-stat-action{position:relative;display:block;width:100%;color:var(--primary);text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease!important}
.bottom-sheet .sheet-stat-action:hover{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.34)!important;transform:translateY(-1px)}
.bottom-sheet .sheet-stat-action:active{transform:scale(.99)}
.bottom-sheet .sheet-stat-action i{position:absolute;right:16px;top:50%;font-style:normal;font-size:28px;line-height:1;opacity:.6;transform:translateY(-50%)}

/* Collection shell: fixed header/actions, one internal scroller, persistent Dock below. */
.collection-scroll{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-width:none!important;-ms-overflow-style:none!important}
.collection-scroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.detail-panel{bottom:148px!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;overflow:hidden!important;padding:16px!important}
.detail-panel>.library-head{position:relative;z-index:5;margin:0 0 12px!important}
.detail-panel>.collection-primary-actions{position:relative;z-index:4;display:flex;gap:8px;margin:0 0 12px!important}
.collection-primary-actions button{height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.2);border-radius:19px;background:rgba(255,255,255,.075);color:var(--primary);font-size:13px}
.collection-primary-actions button:hover{background:rgba(255,255,255,.14)}
.detail-panel>.detail-scroll{height:auto!important;min-height:0!important;padding:0 4px 12px 0!important}
@media(max-width:900px){.detail-panel{top:12px!important;right:12px!important;left:12px!important;bottom:118px!important;width:auto!important;border-radius:26px!important}}

/* Portal context menu is never clipped by a Collection or image container. */
.collection-context-menu{position:fixed;z-index:1200;width:210px;padding:7px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(35,30,49,.97);box-shadow:0 22px 60px rgba(10,8,20,.42);backdrop-filter:blur(28px) saturate(135%)}
.collection-context-menu[hidden]{display:none!important}.collection-context-menu button{display:flex;align-items:center;width:100%;height:40px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:rgba(249,246,252,.9);font-size:13px;text-align:left}.collection-context-menu button:hover{background:rgba(255,255,255,.1)}.collection-context-menu button.danger{color:#ffb9c4}
.collection-confirm-layer{position:fixed;z-index:1500;inset:0;display:grid;place-items:center;padding:24px;background:rgba(15,12,25,.44);backdrop-filter:blur(16px)}.collection-confirm-layer[hidden]{display:none!important}.collection-confirm-dialog{width:min(460px,calc(100vw - 48px));padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:rgba(48,41,67,.97);box-shadow:0 30px 90px rgba(8,6,16,.5);color:var(--primary)}.collection-confirm-dialog h3{margin:0;font-size:23px}.collection-confirm-dialog p{margin:13px 0 24px;color:rgba(245,240,249,.7);font-size:14px;line-height:1.65;white-space:pre-line}.collection-confirm-dialog>div{display:flex;justify-content:flex-end;gap:9px}.collection-confirm-dialog button{height:40px;padding:0 17px;border:1px solid rgba(255,255,255,.17);border-radius:20px;background:rgba(255,255,255,.07);color:var(--primary)}.collection-confirm-dialog button.danger{border-color:transparent;background:#e35e72;color:#fff}

/* Restore the stable Collection Detail hierarchy; no visual redesign. */
.detail-panel{grid-template-rows:auto auto minmax(0,1fr)!important;padding:16px!important}
.detail-panel>.library-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:16px!important;margin-bottom:12px!important}
.library-head-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important}
.detail-panel>.collection-primary-actions{display:flex!important;align-items:center!important;gap:8px!important;height:auto!important;margin:0 0 12px!important}
.collection-primary-actions #collection-add-images:before{content:"＋";margin-right:5px}
.collection-primary-actions .collection-ai-action{border-color:rgba(213,190,239,.28);background:rgba(203,177,232,.13);color:#f2e9fb}
.collection-ai-action span{margin-right:4px;color:#dec8f2}

/* App Shell layering: page content < Collection < persistent Dock < menus < dialogs. */
.home-view{z-index:10!important;padding-bottom:132px!important}
.detail-panel{z-index:100!important;bottom:132px!important}
.dock-stage{position:fixed!important;z-index:200!important;right:0!important;bottom:20px!important;left:0!important;width:100%!important;height:112px!important;pointer-events:none!important}
.dock-stage .glass-dock{pointer-events:auto!important}
.collection-context-menu{z-index:300!important}
.collection-confirm-layer{z-index:500!important}
.detail-panel>.detail-scroll{padding-bottom:96px!important}
.detail-panel .masonry,.detail-panel .moodboard{padding-bottom:100px!important}

/* ESC is a shortcut hint for the close control, never a standalone control. */
.library-head-actions{gap:10px!important}
.library-head-actions .detail-close[data-tooltip]:after{content:attr(data-tooltip);position:absolute;z-index:10;right:0;top:46px;padding:6px 9px;border-radius:8px;background:rgba(26,22,38,.95);color:#fff;font-size:10px;line-height:1;white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.library-head-actions .detail-close[data-tooltip]:hover:after,.library-head-actions .detail-close[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transform:none}

@media(max-width:1450px){.dock-stage{height:92px!important;bottom:16px!important}.detail-panel{bottom:116px!important}.home-view{padding-bottom:112px!important}}
@media(max-width:1120px){.dock-stage{height:78px!important;bottom:14px!important}.detail-panel{bottom:100px!important}.home-view{padding-bottom:96px!important}}
@media(max-width:760px){.dock-stage{height:54px!important;bottom:10px!important}.detail-panel{bottom:76px!important}.home-view{padding-bottom:72px!important}.detail-panel>.detail-scroll{padding-bottom:72px!important}.detail-panel .masonry,.detail-panel .moodboard{padding-bottom:76px!important}}

/* Historical stable UI rollback: restore Dock flow and the original Collection panel geometry. */
.home-view{z-index:2!important;padding:0 var(--space-5) var(--space-8)!important}
.dock-stage{position:relative!important;z-index:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;height:112px!important;overflow:visible!important;pointer-events:auto!important}
.detail-panel{z-index:20!important;top:var(--space-3)!important;right:var(--space-3)!important;bottom:var(--space-3)!important;left:auto!important;display:block!important;width:min(640px,48vw)!important;padding:0!important;overflow:hidden!important}
.detail-panel>.detail-scroll{width:100%!important;height:100%!important;min-height:0!important;padding:16px 32px 16px 16px!important;overflow-y:auto!important;overflow-x:hidden!important}
.detail-panel .masonry,.detail-panel .moodboard{padding-bottom:0!important}
.detail-panel .library-head{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;align-items:start!important;gap:var(--space-3)!important;margin-bottom:var(--space-4)!important}
.library-head-actions{display:grid!important;grid-template-columns:48px!important;align-items:center!important;justify-content:stretch!important;gap:0!important}
.library-head-actions .collection-more-button{width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;max-height:48px!important}
.library-head-actions .collection-more-button{position:relative!important;overflow:visible!important}
.collection-import-badge{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:10px;background:#a88fff;color:#211a36;font-size:11px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #191629;pointer-events:none}
.collection-import-badge[hidden]{display:none}

@media(max-width:1450px){.dock-stage{height:92px!important;bottom:auto!important}.home-view{padding:0 var(--space-5) var(--space-8)!important}}
@media(max-width:1120px){.dock-stage{height:78px!important;bottom:auto!important}.home-view{padding:0 var(--space-5) var(--space-8)!important}}
@media(max-width:900px){.detail-panel{top:0!important;right:0!important;bottom:0!important;left:auto!important;width:100%!important;border-radius:0!important}}
@media(max-width:760px){.dock-stage{height:54px!important;bottom:auto!important}.home-view{padding:0 var(--space-2) var(--space-7)!important}.detail-panel>.detail-scroll{padding:var(--space-4)!important}}

/* Collection animation rendering: one composited surface, asymmetric enter/exit. */
.detail-panel{clip-path:none!important;will-change:auto!important;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translate3d(calc(100% + 32px),0,0)!important;opacity:0!important;transition:transform .26s cubic-bezier(.4,0,1,1),opacity .18s ease-in!important}
.detail-panel.open{transform:translate3d(0,0,0)!important;opacity:1!important;transition:transform .42s var(--spring),opacity .24s ease-out!important}
.detail-panel.opening,.detail-panel.closing{will-change:transform,opacity!important}
.detail-panel.closing{pointer-events:none!important}
.detail-panel.open .library-head,.detail-panel.open .detail-toolbar,.detail-panel.open .subcategories{animation:none!important}
@media(max-width:900px){.detail-panel{transform:translate3d(100%,0,0)!important}.detail-panel.open{transform:translate3d(0,0,0)!important}}
/* Dynamic taxonomy tags stay inside the collection header without resizing its title column. */
.detail-panel .subcategories{display:flex;flex-wrap:nowrap;align-items:center;max-width:100%;min-width:0;overflow:hidden;padding-bottom:var(--space-3)}
.detail-panel .subcategories.expanded{flex-wrap:wrap;overflow:visible;row-gap:var(--space-2)}
.detail-panel .subcategory{flex:0 0 auto}
.detail-panel .subcategory:not(.subcategory-more){max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-panel .subcategory-more{border-style:dashed;color:rgba(247,243,251,.82);background:rgba(255,255,255,.045)}

/* P1.7 Collection workspace controls: image-first filter index and edge-only resize. */
@media (min-width:760px){
  .detail-panel{width:var(--collection-panel-width,min(640px,48vw))!important;min-width:0!important;max-width:calc(100vw - 48px)!important}
}
.collection-resize-edge{position:absolute;z-index:24;top:18px;bottom:18px;left:0;width:16px;cursor:col-resize;touch-action:none;opacity:1}
.collection-resize-edge::before{content:"↔  拖动调整宽度";position:absolute;top:50%;left:22px;padding:7px 10px;border:1px solid rgba(239,232,250,.22);border-radius:999px;background:rgba(47,39,66,.82);color:rgba(247,243,251,.88);font-size:12px;line-height:16px;white-space:nowrap;box-shadow:0 8px 22px rgba(22,18,43,.18);pointer-events:none;transform:translate(-5px,-50%);opacity:0;transition:transform .14s ease,opacity .14s ease}
.collection-resize-edge::after{content:"";position:absolute;top:50%;left:3px;width:8px;height:60px;border:1px solid rgba(239,232,250,.48);border-radius:999px;background:rgba(239,232,250,.18);box-shadow:0 8px 20px rgba(22,18,43,.18);transform:translateY(-50%);opacity:.82;transition:opacity .14s ease,background-color .14s ease,border-color .14s ease}
.detail-panel.open .collection-resize-edge{pointer-events:auto}
.detail-panel.open .collection-resize-edge:hover,.detail-panel.open.is-resizing .collection-resize-edge{opacity:1}
.detail-panel.open .collection-resize-edge:hover::after,.detail-panel.open.is-resizing .collection-resize-edge::after,.detail-panel.open.dismiss-intent .collection-resize-edge::after{border-color:rgba(239,232,250,.7);background:rgba(239,232,250,.22);opacity:.94}
.detail-panel.open.is-resizing{transform:translate3d(var(--collection-dismiss-offset,0),0,0)!important;transition:none!important;user-select:none}
.detail-panel.open.is-resizing.dismiss-intent{opacity:.92!important}
.detail-panel .subcategories{position:relative;display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:7px!important;min-width:0;max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;padding:0 20px 10px 0!important;scrollbar-width:none!important;-ms-overflow-style:none!important;mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%)}
.detail-panel .subcategories::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.detail-panel .subcategory-active-indicator{position:absolute;z-index:0;top:0;left:0;width:var(--subcategory-indicator-width,0);height:28px;border:1px solid rgba(218,201,239,.38);border-radius:14px;background:rgba(208,188,234,.16);pointer-events:none;transform:translateX(var(--subcategory-indicator-left,0));transition:transform .18s cubic-bezier(.22,.8,.2,1),width .18s cubic-bezier(.22,.8,.2,1),opacity .14s ease}
.detail-panel .subcategory{box-sizing:border-box;flex:0 0 auto;height:28px!important;min-height:28px!important;max-width:154px!important;padding:0 11px!important;overflow:hidden;border:1px solid rgba(255,255,255,.14)!important;border-radius:14px!important;background:rgba(255,255,255,.035)!important;color:rgba(247,243,251,.66)!important;font-size:12px!important;line-height:26px!important;text-overflow:ellipsis;white-space:nowrap;box-shadow:none!important;transition:background-color .16s ease,border-color .16s ease,color .16s ease!important}
.detail-panel .subcategory{position:relative;z-index:1}
.detail-panel .subcategory:hover,.detail-panel .subcategory:focus-visible{border-color:rgba(255,255,255,.26)!important;background:rgba(255,255,255,.075)!important;color:rgba(247,243,251,.88)!important;outline:none}
.detail-panel .subcategory.active{border-color:transparent!important;background:transparent!important;color:rgba(250,247,253,.94)!important}
.detail-panel .subcategory-more{display:none!important}

/* Motion v0.1: one short spatial panel transition; direct manipulation stays un-interpolated. */
.detail-panel{transition:transform .2s cubic-bezier(.22,.8,.2,1),opacity .18s ease-out!important}
.detail-panel.open{transition:transform .2s cubic-bezier(.22,.8,.2,1),opacity .18s ease-out!important}
.detail-panel.dismiss-intent:not(.is-resizing){opacity:.92!important}
@keyframes collection-resize-guide{0%,100%{transform:translate(0,-50%)}50%{transform:translate(7px,-50%)}}
@media(prefers-reduced-motion:reduce){.detail-panel,.detail-panel.open,.collection-resize-edge::before,.collection-resize-edge::after,.detail-panel .subcategory,.detail-panel .subcategory-active-indicator{transition:none!important}.detail-panel.open .collection-resize-edge.show-hint:hover::before{animation:none!important}}


/* Edge-only guidance lives outside the workspace clipping boundary. */
.collection-resize-edge::before{display:none!important}
.collection-edge-tooltip{position:fixed;z-index:300;box-sizing:border-box;padding:7px 10px;border:1px solid rgba(239,232,250,.22);border-radius:14px;background:rgba(47,39,66,.94);color:rgba(247,243,251,.94);font-size:12px;line-height:16px;width:max-content;overflow-wrap:anywhere;pointer-events:none;opacity:0;visibility:hidden;transform:translate(calc(-100% + 5px),-50%);transition:opacity .16s ease,transform .22s cubic-bezier(.22,.8,.2,1),visibility .16s}
.collection-edge-tooltip.visible{opacity:1;visibility:visible;transform:translate(-100%,-50%)}
@media(prefers-reduced-motion:reduce){.collection-edge-tooltip{transition:none}}

.collection-edge-tooltip{display:flex;align-items:center;gap:6px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--secondary);font-weight:500;line-height:1.4}
.collection-edge-tooltip .resize-direction-mark{--cue-x:5px;--cue-y:0;flex:none}
.collection-edge-tooltip.visible .resize-direction-mark{animation:picart-direction-cue var(--picart-cue-duration) var(--picart-cue-ease) infinite}
@media(prefers-reduced-motion:reduce){.collection-edge-tooltip .resize-direction-mark{animation:none!important}}
