.sg-personal-tools{margin:18px 12px;padding:16px;background:#f3f8f5;border:1px solid #d5e5df;border-radius:14px}.sg-personal-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.sg-personal-buttons a,.sg-personal-buttons button,.sg-library-button{box-sizing:border-box;background:white;border:1px solid #138897;border-radius:24px;color:#137c88;font:inherit;font-size:14px;line-height:1.6;padding:10px 16px;text-decoration:none;cursor:pointer}.sg-personal-buttons button[aria-pressed=true]{background:#138897;color:white}.sg-personal-buttons a:hover,.sg-personal-buttons button:hover,.sg-library-button:hover{background:#e3f1ed}.sg-personal-buttons button[aria-pressed=true]:hover{background:#0b6975}.sg-personal-buttons a:focus-visible,.sg-personal-buttons button:focus-visible,.sg-library-button:focus-visible{outline:3px solid #b58c4b;outline-offset:3px}#sg-personal-status{font-size:13px;margin:8px 0 0}.sg-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.sg-library-card{border:1px solid #d8e5df;border-radius:14px;background:white;padding:12px}.sg-library-card a{display:block;text-decoration:none}.sg-library-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px}.sg-library-card p{font-size:14px;line-height:1.6;margin:10px 0}.sg-library-card button{margin-top:6px} @media(max-width:680px){.sg-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sg-personal-buttons{align-items:stretch}.sg-personal-buttons a,.sg-personal-buttons button{flex:1 1 200px;text-align:center}}

.sg-personal-tools{text-align:center}

.sg-list-favorite-card{position:relative}.sg-list-favorite{position:absolute;top:8px;right:8px;z-index:2;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #8dcdd2;border-radius:50%;background:#fff;color:#137c88;font:28px/1 sans-serif;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12)}.sg-list-favorite[aria-pressed="true"]{background:#168996;color:white;border-color:#168996}.sg-list-favorite:hover{box-shadow:0 3px 8px rgba(0,0,0,.2)}.sg-list-favorite:focus-visible{outline:3px solid #b88b40;outline-offset:2px}.sg-list-favorite-notice:empty{display:none}.sg-list-favorite-notice{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);z-index:10000;background:#fff;color:#315f64;box-sizing:border-box;max-width:calc(100% - 24px);width:max-content;border:1px solid #8dcdd2;border-radius:10px;padding:12px 18px;font-size:14px;pointer-events:none}

.sg-list-favorite{width:44px;height:44px;border:0;background:transparent!important;box-shadow:none!important;font-size:17px;color:#137c88!important;isolation:isolate}.sg-list-favorite::before{content:"";position:absolute;z-index:-1;left:10px;top:10px;width:24px;height:24px;border:1px solid #8dcdd2;border-radius:50%;background:white;box-shadow:0 1px 4px rgba(0,0,0,.12);box-sizing:border-box}.sg-list-favorite[aria-pressed="true"]{color:white!important}.sg-list-favorite[aria-pressed="true"]::before{background:#168996;border-color:#168996}
.sg-favorites-entry{box-sizing:border-box;width:calc(100% - 24px);max-width:1280px;margin:12px auto;display:flex;justify-content:flex-end}.sg-favorites-entry a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:1px solid #168996;border-radius:999px;background:#168996;color:#fff!important;font-size:15px;font-weight:700;line-height:1.5;text-decoration:none;box-shadow:0 2px 6px rgba(19,124,136,.12)}.sg-favorites-entry a:hover{background:#137c88}.sg-favorites-entry a:focus-visible{outline:3px solid #b88b40;outline-offset:3px}@media(max-width:680px){.sg-favorites-entry{justify-content:center}.sg-favorites-entry a{padding:11px 18px}}

/* Keep the small heart in its own gutter above the artwork. */
.sg-list-favorite-card{padding-top:34px}
.sg-list-favorite-card .sg-list-favorite{top:-4px;right:0;z-index:3}

/* Bring the heart close to the thumbnail corner without covering it. */
.sg-list-favorite-card{padding-top:12px}
.sg-list-favorite-card .sg-list-favorite{right:8px}
@media(max-width:999px){.sg-list-favorite-card{padding-top:22px}.sg-list-favorite-card .sg-list-favorite{right:0}}

/* Reveal favorites only while selecting artwork. */
.sg-list-favorite-card{padding-top:0!important}
.sg-list-favorite-card .sg-list-favorite{top:8px;right:8px;opacity:0;pointer-events:none;transition:opacity .15s}
@media(hover:hover) and (pointer:fine){.sg-list-favorite-card:hover .sg-list-favorite{opacity:1;pointer-events:auto}}
.sg-list-favorite-card:focus-within .sg-list-favorite,.sg-list-favorite-card.sg-favorite-touch-visible .sg-list-favorite{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.sg-list-favorite-card .sg-list-favorite{transition:none}}

/* Readable favorite action label instead of browser-native title. */
.sg-list-favorite::after{content:attr(data-favorite-hint);position:absolute;top:100%;right:0;display:none;white-space:nowrap;background:#fff;color:#137c88;border:1px solid #8dcdd2;border-radius:7px;padding:7px 10px;box-shadow:0 2px 8px rgba(0,0,0,.14);font:700 15px/1.5 sans-serif;pointer-events:none}
@media(hover:hover) and (pointer:fine){.sg-list-favorite:hover::after{display:block}}
.sg-list-favorite:focus-visible::after{display:block}

/* Speech bubble pointing back to the heart. */
.sg-list-favorite::after{top:calc(100% + 4px);border-radius:10px;padding:8px 12px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.08))}
.sg-list-favorite .sg-favorite-bubble-tip{display:none;position:absolute;top:calc(100% - 1px);left:17px;width:10px;height:10px;background:#fff;border-left:1px solid #8dcdd2;border-top:1px solid #8dcdd2;transform:rotate(45deg);pointer-events:none;z-index:1}
@media(hover:hover) and (pointer:fine){.sg-list-favorite:hover .sg-favorite-bubble-tip{display:block}}
.sg-list-favorite:focus-visible .sg-favorite-bubble-tip{display:block}

/* Favorite at the artwork's lower right, with its bubble above. */
.sg-list-favorite::after{top:auto;bottom:calc(100% + 4px)}
.sg-list-favorite .sg-favorite-bubble-tip{top:auto;bottom:calc(100% - 1px);transform:rotate(225deg)}
