.ssh-member-library-link{color:inherit;font:600 13px/1.3 'SSH Roboto',Arial,sans-serif;text-decoration:none;padding:10px;border-radius:10px;white-space:nowrap}.ssh-member-library-link:hover{background:#7cddd022}.ssh-favorite-button{position:absolute!important;top:10px;left:10px;z-index:3;box-sizing:border-box!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center;border:1px solid #fff9!important;border-radius:50%!important;background:#fffffff0!important;color:#315d69!important;cursor:pointer;box-shadow:0 2px 8px #102b3626!important;transition:background .15s,box-shadow .15s;touch-action:manipulation}.ssh-favorite-button svg{display:block!important;width:18px!important;height:18px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.wcifst-card:has(>.ssh-favorite-button){position:relative}.ssh-favorite-button[aria-pressed=true]{background:linear-gradient(120deg,#7cddd0,#d5edb8)!important;color:#234f59!important;border-color:#c6efda!important}.ssh-favorite-button[aria-pressed=true] svg{fill:currentColor}@media(hover:hover){.ssh-favorite-button:hover{background:#fff!important;box-shadow:0 3px 12px #102b3640!important}.ssh-favorite-button[aria-pressed=true]:hover{background:#b9ead5!important}}.ssh-favorite-button:disabled{opacity:.55;cursor:wait}.ssh-favorite-button:focus-visible,.ssh-library button:focus-visible,.ssh-library a:focus-visible{outline:3px solid #7cddd0;outline-offset:3px}
.ssh-library-route{margin:0;background:#f3f7f5;color:#203c4a}.ssh-library{box-sizing:border-box;max-width:1280px;margin:auto;padding:40px 28px 64px;font:15px/1.6 'SSH Roboto',Arial,sans-serif}.ssh-library header>p:first-child{font-size:12px;letter-spacing:.12em;color:#438277;font-weight:700}.ssh-library h1{font:700 36px/1.2 'SSH Roboto',Arial,sans-serif;margin:8px 0 12px;color:inherit}.ssh-library h2{font:600 23px/1.3 'SSH Roboto',Arial,sans-serif;color:inherit}.ssh-library-body>section{margin-top:32px}.ssh-library [hidden]{display:none!important}.ssh-library-status{color:#50727b}.ssh-history-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.ssh-history-list a,.ssh-library button:not(.ssh-favorite-button){background:#d3eddf;color:#173d49;border:1px solid #8ed3c1;border-radius:10px;padding:9px 14px;font:600 13px/1.4 'SSH Roboto',Arial,sans-serif;text-decoration:none;cursor:pointer}.ssh-favorites-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.ssh-library-card{position:relative;overflow:hidden;border:1px solid #aecfc7;border-radius:16px;background:#fff}.ssh-library-open{display:block;text-decoration:none;color:inherit}.ssh-library-art{aspect-ratio:1.2;display:grid;place-items:center;background:#e7efeb;overflow:hidden}.ssh-library-art img{width:100%;height:100%;object-fit:contain}.ssh-library-card h3{font:600 16px/1.4 'SSH Roboto',Arial,sans-serif;margin:14px 16px 6px;color:inherit}.ssh-library-card p{font:13px/1.5 'SSH Roboto',Arial,sans-serif;margin:0 16px 18px;color:inherit}.ssh-library-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2147483000;max-width:calc(100vw - 40px);width:max-content;padding:12px 20px;border:1px solid #7cddd0;border-radius:12px;background:#102b36;color:#fff;font:14px/1.5 'SSH Roboto',Arial,sans-serif;box-shadow:0 8px 30px #0004}.ssh-library-empty{grid-column:1/-1;padding:30px;border:1px dashed #7bad9f;border-radius:14px}
html[data-ssh-theme=dark] .ssh-library{color:#edf2fa}html[data-ssh-theme=dark] .ssh-library-card{background:#152135;border-color:#304155}html[data-ssh-theme=dark] .ssh-library-art{background:#101b2c}html[data-ssh-theme=dark] .ssh-library-status{color:#b1c2d6}html[data-ssh-theme=dark] .ssh-library header>p:first-child{color:#9be0ce}
@media(max-width:900px){.ssh-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ssh-library{padding:28px 18px}.ssh-library h1{font-size:29px}.ssh-favorites-grid{gap:12px}.ssh-member-library-link{font-size:11px;padding:7px;white-space:normal;max-width:85px}}

.ssh-favorite-button.ssh-favorite-detail{position:relative!important;inset:auto;margin:0 0 12px}

html[data-ssh-theme=dark] body.ssh-library-route{background:#0e162a}
.ssh-member-library-link[hidden]{display:none!important}

/* Collection dashboard: gallery first, quiet recent-search sidebar. */
.ssh-library{--collection-ink:#244955;--collection-muted:#647d83;--collection-line:#d4e2db;--collection-panel:#fff;--collection-wash:#eaf3ed;max-width:1320px;padding:40px 32px 64px;color:var(--collection-ink)}
.ssh-library .ssh-collection-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0 32px;margin:0 0 30px;border-bottom:1px solid var(--collection-line);background:none}
.ssh-library .ssh-collection-header p:first-child{font:700 11px/1.5 'SSH Roboto',Arial,sans-serif;letter-spacing:.14em;color:var(--collection-muted);margin:0 0 12px}
.ssh-library .ssh-collection-header h1{font:700 clamp(32px,4vw,46px)/1.12 'SSH Roboto',Arial,sans-serif!important;text-transform:none!important;letter-spacing:-.045em!important;margin:0 0 14px!important;color:var(--collection-ink)}
.ssh-collection-header h1>span{color:#62c9b4}.ssh-library .ssh-collection-header p:last-child{font:400 15px/1.6 'SSH Roboto',Arial,sans-serif;margin:0;color:var(--collection-muted)}
.ssh-collection-private{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--collection-line);border-radius:100px;color:var(--collection-muted);font-size:12px;white-space:nowrap}.ssh-collection-private svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.ssh-library-status:empty{display:none}.ssh-library-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}.ssh-library .ssh-library-body>section{margin:0}
.ssh-collection-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px}.ssh-library .ssh-collection-section-heading h2{display:flex;align-items:center;gap:10px;font:600 20px/1.3 'SSH Roboto',Arial,sans-serif!important;text-transform:none!important;letter-spacing:-.025em!important;margin:0!important;color:var(--collection-ink)}
.ssh-collection-section-heading [data-favorite-count]{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;background:var(--collection-wash);border:1px solid var(--collection-line);border-radius:8px;font-size:12px;font-weight:600;letter-spacing:0}
.ssh-collection-explore{font-size:13px;color:var(--collection-ink);text-decoration:none;white-space:nowrap}.ssh-collection-explore span{color:#53bba8;margin-left:4px}
.ssh-library .ssh-favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ssh-library .ssh-library-card{background:var(--collection-panel);border:1px solid var(--collection-line);border-radius:14px;transition:border-color .15s}.ssh-library .ssh-library-art{aspect-ratio:1;background:var(--collection-wash)}.ssh-library .ssh-library-art img{object-fit:contain}.ssh-library .ssh-library-card h3{font:600 14px/1.45 'SSH Roboto',Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;margin:14px 14px 5px;color:var(--collection-ink)}.ssh-library .ssh-library-card p{font:400 12px/1.5 'SSH Roboto',Arial,sans-serif!important;margin:0 14px 16px;color:var(--collection-muted)}
.ssh-collection-recent{padding:20px;background:var(--collection-panel);border:1px solid var(--collection-line);border-radius:16px}.ssh-library .ssh-collection-recent h2{font-size:16px!important}.ssh-collection-recent .ssh-collection-section-heading{margin-bottom:6px}.ssh-collection-hint{font-size:12px;color:var(--collection-muted);margin:0 0 16px}
.ssh-library .ssh-collection-recent button[data-clear-history]{background:none;border:0;padding:4px 0;font:400 12px/1.4 'SSH Roboto',Arial,sans-serif;color:var(--collection-muted);text-decoration:underline;text-underline-offset:3px;border-radius:0;min-height:0}
.ssh-library .ssh-history-list{display:flex;flex-direction:column;gap:0;margin:0}.ssh-library .ssh-history-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:0;border-bottom:1px solid var(--collection-line);border-radius:0;padding:12px 0;font:400 13px/1.45 'SSH Roboto',Arial,sans-serif;color:var(--collection-ink);overflow-wrap:anywhere}.ssh-history-list a::after{content:'↗';color:var(--collection-muted);flex:none}.ssh-library .ssh-history-list a:last-child{border-bottom:0}.ssh-history-list p{font-size:13px;color:var(--collection-muted)}
.ssh-library .ssh-library-empty{background:var(--collection-panel);border:1px dashed var(--collection-line);padding:48px 28px;text-align:center;color:var(--collection-muted);font-size:14px;margin:0;min-height:180px;display:grid;place-items:center}
html[data-ssh-theme=dark] .ssh-library{--collection-ink:#edf3f8;--collection-muted:#9eb2c2;--collection-line:#2a3c4c;--collection-panel:#142235;--collection-wash:#1a2d3b}
@media(hover:hover){.ssh-library .ssh-history-list a:hover{color:#55baa7}.ssh-library .ssh-library-card:hover{border-color:#61b6a5}.ssh-collection-explore:hover{text-decoration:underline}}
@media(max-width:1000px){.ssh-library-body{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.ssh-library .ssh-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ssh-library{padding:24px 18px 40px}.ssh-library .ssh-collection-header{padding:8px 0 24px;align-items:flex-start;gap:12px;margin-bottom:24px}.ssh-library .ssh-collection-header h1{font-size:32px!important}.ssh-collection-private{padding:6px 8px;font-size:11px}.ssh-library-body{grid-template-columns:1fr}.ssh-library .ssh-favorites-grid{gap:12px}.ssh-collection-recent{padding:18px}.ssh-library .ssh-history-list{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.ssh-library .ssh-collection-section-heading h2{font-size:18px!important}}
@media(prefers-reduced-motion:reduce){.ssh-library .ssh-library-card{transition:none}}

/* Compact favorites control with distinct saved and keyboard-focus states. */
body .ssh-favorite-button{box-sizing:border-box!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:8px!important;border:1px solid #ffffffb3!important;border-radius:50%!important;background:#f6faf7f2!important;color:#244954!important;box-shadow:0 2px 8px #071b2933!important;display:inline-flex!important;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
body .ssh-favorite-button svg{width:18px!important;height:18px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body .ssh-favorite-button[aria-pressed="true"]{background:linear-gradient(120deg,#7cddd0,#d5edb8)!important;border-color:#a5e5cd!important;color:#174951!important}
body .ssh-favorite-button[aria-pressed="true"] svg{fill:currentColor}
@media(hover:hover){body .ssh-favorite-button:hover{transform:translateY(-1px);box-shadow:0 3px 10px #071b294d!important}}
body .ssh-favorite-button:focus-visible{outline:3px solid #7cddd0!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){body .ssh-favorite-button{transition:none}}
