body .sticky-tray{display:none!important}
body .desktop-sticky{border:0!important;border-radius:5px 5px 18px 5px!important;box-shadow:3px 10px 22px #19413830,0 1px 2px #19413820!important;background:linear-gradient(145deg,#fffef9,var(--sticky-bg) 55%)!important}
body .desktop-sticky .sticky-handle{padding:12px 9px 7px 12px;background:transparent!important;border:0;gap:4px}
body .sticky-handle input{flex:1;width:0;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important;color:#173f48!important;font-size:14px;font-weight:700;font-style:italic;padding:4px 0!important;min-height:28px}
body .desktop-sticky .sticky-handle button{min-width:26px;background:#ffffff90!important;color:#184e51!important;text-shadow:none!important;border:0!important;box-shadow:none!important}
body .desktop-sticky footer{padding-bottom:17px;background:#ffffff45!important}
body .desktop-sticky .sticky-content{padding:8px 16px}
body .desktop-sticky .sticky-format-button{background:#ffffffa0!important;color:#184e51!important;border:0!important;box-shadow:none!important;text-shadow:none!important}
body .desktop-sticky:after{content:'';position:absolute;right:0;bottom:0;width:23px;height:23px;background:linear-gradient(135deg,#ffffff75 45%,#355b4535 50%,#edf5f4 54%);pointer-events:none}
body .desktop-sticky .sticky-resize{position:absolute;z-index:2;right:0;bottom:0;width:25px;height:25px;min-height:25px;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;color:#225b54!important;cursor:nwse-resize;touch-action:none;font-size:17px;text-shadow:none!important}
.sticky-hanger{position:fixed;right:7px;top:112px;bottom:100px;max-height:calc(100dvh - 212px);width:65px;z-index:96;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}
.sticky-hanger>*{pointer-events:auto}
.sticky-hanger[hidden]{display:none}
body .hanger-toggle,body .hanger-add{background:linear-gradient(#f1fff9,#b5dfd1)!important;color:#184e51!important;border:1px solid #91bbae!important;text-shadow:none!important;box-shadow:0 2px 8px #19413820!important;border-radius:12px!important}
body .hanger-toggle{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 10px!important;font-size:11px;min-height:49px}
body .hanger-toggle span:last-child{font-weight:700;font-size:13px}
.hanger-list{position:relative;display:flex;flex-direction:column;align-items:center;gap:17px;overflow-y:auto;overflow-x:hidden;width:100%;padding:11px 6px 9px;min-height:0;max-height:100%;scrollbar-width:thin}
.hanger-list[hidden],.hanger-list:empty{display:none}
.hanger-list:before{content:'';position:absolute;left:32px;top:0;bottom:0;width:2px;background:#89aaa0;z-index:-1}
body .hanger-leaf{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:49px;min-height:57px;padding:8px 3px 6px!important;border:0!important;border-radius:4px 4px 12px 4px!important;color:#173f48!important;text-shadow:none!important;background:linear-gradient(140deg,#fffef8,var(--leaf,#cdebe0))!important;box-shadow:2px 4px 7px #163e4730!important;transform-origin:50% 0;animation:sticky-leaf-sway 4.8s ease-in-out infinite!important}
.hanger-leaf:after{content:'';position:absolute;left:21px;top:-8px;width:7px;height:14px;border:2px solid #688a7e;border-radius:6px;pointer-events:none}
.hanger-leaf[data-colour=yellow]{--leaf:#fff0ad}.hanger-leaf[data-colour=pink]{--leaf:#f8d9e4}.hanger-leaf[data-colour=lavender]{--leaf:#e5daf8}.hanger-leaf[data-colour=blue]{--leaf:#d5e9fb}.hanger-leaf[data-colour=peach]{--leaf:#fbe0c7}
body .hanger-leaf:nth-child(even){animation-delay:-2.4s!important}
.hanger-leaf strong{font-size:16px}.hanger-leaf span{font-size:10px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .hanger-leaf:is(:hover,:focus-visible,:active){animation-play-state:paused!important}
body .hanger-add{width:34px;min-height:32px;padding:3px!important;font-size:20px}
.sticky-hanger>small:empty{display:none}.sticky-hanger>small{background:#f5faf8;color:#173f48;border-radius:8px;font-size:11px;padding:6px;overflow-wrap:anywhere}
body:has(.chat-dock.open) .sticky-hanger{right:min(420px,calc(100vw - 72px))}
body:has(dialog[open]) .sticky-hanger{visibility:hidden}
@keyframes sticky-leaf-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@media(prefers-reduced-motion:reduce){body .hanger-leaf{animation:none!important;transform:none!important}}
@media(max-height:540px){.sticky-hanger{top:75px;bottom:75px;max-height:calc(100dvh - 150px)}}
@media(min-width:701px){body:has(.sticky-hanger:not([hidden])) .app-main{padding-right:72px!important}}
/* Compact hanger: complete visible footprint stays below the 56px chat button. */
.sticky-hanger{width:44px;right:30px;gap:10px}
body .hanger-toggle{width:44px;min-height:43px;padding:5px 3px!important;font-size:10px;border-radius:10px!important;gap:2px}
body .hanger-toggle span:last-child{font-size:11px}
.hanger-list{padding:9px 3px 7px;gap:14px}
.hanger-list:before{left:21px}
body .hanger-leaf{width:34px;min-height:40px;padding:7px 2px 4px!important;border-radius:3px 3px 9px 3px!important;box-shadow:1px 3px 4px #163e4728!important}
.hanger-leaf:after{left:14px;top:-7px;width:6px;height:12px}
.hanger-leaf strong{font-size:13px}.hanger-leaf span{display:none}
body .hanger-add{width:28px;min-height:28px;font-size:18px}
.sticky-hanger>small{position:absolute;right:48px;top:0;width:180px;box-shadow:0 3px 10px #173f4820}
:root{--outer-gutter:clamp(24px,2.8vw,48px)}
@media(min-width:701px){body:has(.sticky-hanger:not([hidden])) .app-main{padding-right:40px!important}}
@media(max-width:700px){:root{--outer-gutter:12px}.sticky-hanger{right:12px}}
.sticky-options{position:static;flex:none}.sticky-options>summary{list-style:none!important;cursor:pointer;font-size:20px!important;min-width:22px;padding:0 3px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#164854!important}.sticky-options>summary::-webkit-details-marker{display:none}.sticky-options>div{position:absolute;left:8px;top:42px;z-index:5;display:grid;gap:6px;padding:8px;background:#fbfffd;border:1px solid #aacbc4;border-radius:8px;box-shadow:0 5px 15px #123f4020}.sticky-options:not([open])>div{display:none}.sticky-options a,.sticky-options button{font-size:12px!important;color:#164854!important}.sticky-options a{padding:5px}.sticky-handle{gap:3px!important}.sticky-handle input{min-width:0}
