/* Preserve the approved geometry; change only interaction and settling. */
:root{--ease-settle:cubic-bezier(.18,.8,.2,1);--ease-exit:cubic-bezier(.4,0,.8,.2)}
button{-webkit-tap-highlight-color:transparent}
.work-carousel .collection-card{transition:box-shadow .24s var(--ease-settle);backface-visibility:hidden}
.work-carousel{cursor:grab}.work-carousel.is-dragging,.work-carousel.is-dragging .collection-card{cursor:grabbing}
.work-carousel.is-dragging .collection-card{pointer-events:none}
.work-carousel .collection-card img,.work-carousel .collection-card video{-webkit-user-drag:none;user-select:none}
.work-tab{transition:background .16s ease,color .16s ease,transform .28s var(--ease-settle)}
.work-tab:hover{transform:none}.work-tab[aria-selected=true]{box-shadow:0 2px 5px #4d27480a}
.work-tile,.collection-item{transition:transform .28s var(--ease-settle),box-shadow .28s var(--ease-settle),filter .16s}
.carousel-arrow,.viewer-arrow,.video-control,.browse,.reader-back,.window-dot{transition:transform .28s var(--ease-settle),background .16s,box-shadow .24s,filter .16s}
.carousel-arrow{z-index:20;backdrop-filter:none;transform:translateZ(2px)}
.carousel-arrow:hover{transform:translateZ(2px) scale(1.045)}
.view-enter,.work-modal,.focused-video{animation:none}
.work-modal-layer.is-closing,.video-focus-layer.is-closing{pointer-events:none}
.dock-item .dock-art,.dock-item:hover .dock-art,.dock-item:focus-visible .dock-art,.dock-item.bounce .dock-art{transform:translateY(var(--dock-rise,0px)) scale(var(--dock-zoom,1));transition:filter .2s;animation:none}
.portfolio-window{transition:left .4s var(--ease-settle),width .4s var(--ease-settle),top .4s var(--ease-settle),height .4s var(--ease-settle),border-radius .35s,box-shadow .35s}
.menu-popover:not([hidden]){transform-origin:top left;animation:menu-settle .22s var(--ease-settle) both}
@keyframes menu-settle{from{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}
@media(hover:none){.work-tile:hover{transform:none;box-shadow:none}.book-cover:hover{transform:none}.browse:hover{transform:none}.carousel-arrow:hover{transform:translateZ(2px)}}
@media(prefers-reduced-motion:reduce){.dock-item .dock-art{transform:none!important}.menu-popover:not([hidden]){animation:none}}
body.reduce-motion .dock-item .dock-art{transform:none!important}

/* A widening, bottom-anchored dock wave inspired by the supplied simulator. */
.dock{user-select:none;-webkit-user-select:none}
.dock-item{border-radius:14px}
.dock-tip{position:absolute;left:50%;bottom:calc(100% + var(--dock-extra,0px) + 10px);transform:translate(-50%,5px);padding:8px 11px;border:1px solid #fff9;border-radius:8px;background:#fffaf5f2;color:#593950;box-shadow:0 5px 18px #47233d22;white-space:nowrap;font-size:12px;font-weight:550;line-height:1.2;opacity:0;visibility:hidden;pointer-events:none;z-index:5;transition:opacity .13s,transform .18s var(--ease-settle),visibility .13s}
.dock-tip:after{content:'';position:absolute;top:100%;left:calc(50% - 4px);width:8px;height:8px;background:#fffaf5;transform:translateY(-4px) rotate(45deg);border-radius:1px}
.dock-item.tip-visible .dock-tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dock-item[data-window-state=minimized]:after,.dock-item[data-window-state=closed]:after{background:transparent;box-shadow:0 0 0 1px var(--ink);opacity:.65}
body.dark .dock-tip{background:#493341f2;border-color:#e0bfd033;color:#fff4fc;box-shadow:0 5px 18px #160b2044}
body.dark .dock-tip:after{background:#493341}
@media(hover:hover) and (pointer:fine) and (min-width:641px){
 .dock{overflow:visible;max-width:none}
 .dock-item{flex-basis:calc(var(--icon-size) + var(--dock-extra,0px));width:calc(var(--icon-size) + var(--dock-extra,0px))}
 .dock-item .dock-art{transform-origin:50% 100%}
 .dock-item.dock-hover{z-index:2}
 .dock-item.dock-hover .dock-art,.dock-item:focus-visible .dock-art{filter:brightness(1.045) saturate(1.03) drop-shadow(0 0 8px #d9b9ed80) drop-shadow(0 7px 6px #6b3f6330)}
 .dock-item.dock-hover .dock-label{color:var(--heading);text-shadow:0 0 10px #e6c7ebaa}
 .dock-tray{box-shadow:inset 0 1px 0 #fff8,0 5px 22px #6b3f6318;transition:box-shadow .2s}
 .dock:hover .dock-tray{box-shadow:inset 0 1px 0 #fffc,0 0 0 1px #efdaef66,0 8px 28px #6b3f6322}
}
@media(hover:hover) and (pointer:fine){
 .nav-item:hover{box-shadow:inset 0 0 0 1px #fff7,0 0 12px #bd91c422}
 .work-tab:not([aria-selected=true]):hover{background:#e9d9e7;box-shadow:inset 0 0 0 1px #fff9,0 2px 12px #a77aae26;color:var(--heading)}
 .collection-card:hover{border-color:#c39bc5;box-shadow:0 0 0 2px #d4b7d555,0 9px 24px #85528824}
 .collection-card.is-current:hover{box-shadow:0 0 0 2px #d4b7d588,0 18px 22px -10px #68416375}
 .work-tile:hover,.collection-item:hover{box-shadow:0 0 0 2px #cfafd4,0 7px 24px #91649b26;filter:brightness(1.025)}
 .book-cover:hover img{box-shadow:0 0 0 2px #d4b7d5,7px 10px 20px #6b3f6340}
 .carousel-arrow:hover,.viewer-arrow:hover,.reader-back:hover{color:var(--heading);box-shadow:0 0 0 1px #d2b4d199,0 0 14px #c89ed544}
 .browse:hover{box-shadow:0 0 0 2px #ead7ed99,0 7px 22px #6b3f6340;filter:brightness(1.07)}
 .menu-items button:hover,.menu-popover button:hover{box-shadow:inset 0 0 0 1px #fff4}
 .window-dot:hover{box-shadow:0 0 0 3px #ead5df66,0 0 10px #c48dae55}
 body.dark .work-tab:not([aria-selected=true]):hover{background:#70516c;color:#fff1fb}
}
@media(max-width:640px),(hover:none){.dock-tip{display:none}.dock-item .dock-art{filter:none!important}}

/* Icon-only dock: retain its baseline, running indicator and hover wave. */
.dock{--label-gap:0px;--label-height:0px;height:calc(var(--icon-size) + var(--dock-pad)*2);padding-bottom:var(--dock-pad)}
.dock-label,.dock-tip{display:none!important}
.dock-item{gap:0}
.book-stage.book-opening{pointer-events:none}
.carousel-status{max-width:100%;flex-wrap:wrap;row-gap:7px;padding-inline:12px}
