/* Favorites A. Route-scoped: does not replace the existing application shell. */
.favlib{--favlib-surface:var(--panel,#fff);--favlib-inset:var(--inset,#f5f5f5);--favlib-border:var(--line,#ddd);--favlib-star:#8b6200;max-width:1128px;color:var(--text,#202020);padding-bottom:24px}
[data-theme=dark] .favlib{--favlib-surface:#232323;--favlib-inset:#292929;--favlib-border:#444;--favlib-star:#eacb63;--text:#f5f5f5;--muted:#bcbcbc;--accent:#5edd9b;--panel:#232323;--line:#444}
.favlib *{box-sizing:border-box}.favlib svg{width:20px;height:20px;flex:none}.favlib button,.favlib a{min-height:44px}.favlib button{font:inherit;font-size:13px;background:var(--favlib-surface);color:var(--text);border:1px solid var(--favlib-border);border-radius:8px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.favlib button:disabled{opacity:.5;cursor:not-allowed}.favlib button:disabled:active{transform:none}.favlib :is(button,a,input):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.favlib-back{display:inline-flex;align-items:center;font-size:13px;color:var(--muted);margin-bottom:12px}.favlib-eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:650}.favlib-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.favlib h1{font-size:38px;letter-spacing:-1.2px;font-weight:650;line-height:1.15;margin:8px 0 12px}.favlib-heading p{font-size:14px;color:var(--muted);margin:0}.favlib .favlib-primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:650;flex:none}[data-theme=dark] .favlib .favlib-primary{color:#102419}.favlib-persistence{font-size:12px;color:var(--muted);margin:22px 0}.favlib-demo{font-size:11px;border:1px solid var(--favlib-border);border-radius:5px;padding:7px 10px;color:var(--muted);width:fit-content}.favlib-tools{display:flex;align-items:stretch;gap:12px;margin:22px 0}.favlib-tools>button{flex:none}.favlib-tools>button[aria-pressed=true]{border-color:var(--accent)}.favlib-search{min-width:0;flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--favlib-border);border-radius:8px;padding:0 13px;color:var(--muted)}.favlib-search input{border:0;background:transparent;color:var(--text);width:100%;min-width:0;min-height:46px;font:inherit;font-size:14px;outline-offset:0}.favlib-search input::placeholder{color:var(--muted);opacity:1}.favlib-section{margin:24px 0}.favlib-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.favlib h2{font-size:19px;font-weight:600;letter-spacing:-.3px;line-height:1.3;margin:0}.favlib-section-heading>span{font-size:12px;color:var(--muted);flex:none}.favlib-list{list-style:none;padding:0;margin:0;border:1px solid var(--favlib-border);border-radius:9px;overflow:hidden;background:var(--favlib-surface)}.favlib-row{display:flex;gap:14px;align-items:center;min-height:80px;border-bottom:1px solid var(--favlib-border);padding:14px 16px}.favlib-row:last-child{border-bottom:0}.favlib-entity{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--favlib-inset);color:var(--muted)}.favlib-entity img{max-width:30px;max-height:30px;object-fit:contain}.favlib-identity{min-width:0;flex:1;overflow-wrap:anywhere}.favlib-identity strong{font-size:15px;font-weight:600;display:block;line-height:1.4}.favlib-identity>span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.favlib-data-state{font-size:11px;line-height:1.5;color:var(--muted);display:block;margin-top:4px}.favlib-row-actions{display:flex;align-items:center;gap:8px;flex:none}.favlib .favlib-pin{padding:9px;border-color:transparent;background:transparent;color:var(--muted);font-size:12px}.favlib-pin svg{width:16px;height:16px}.favlib .favlib-pin[aria-pressed=true]{color:var(--text);font-weight:600}.favlib-open{display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:12px;padding:10px 13px;border:1px solid var(--favlib-border);border-radius:8px;background:var(--favlib-inset);color:var(--text);white-space:nowrap}.favlib-open svg{width:17px;height:17px}.favlib .favlib-star{border-color:transparent;background:none;color:var(--favlib-star);width:44px;padding:10px}.favlib-star svg{fill:currentColor;width:18px;height:18px}.favlib-feedback{font-size:13px;color:var(--text);display:flex;align-items:center;flex-wrap:wrap;gap:12px}.favlib-feedback:empty{display:none}.favlib-feedback:not(:empty){padding:12px 0}.favlib-empty{background:var(--favlib-surface);border:1px solid var(--favlib-border);border-radius:12px;text-align:center;padding:45px 24px;margin:28px 0}.favlib-empty>svg{width:42px;height:42px;color:var(--favlib-star);margin-bottom:18px}.favlib-empty h2{font-size:25px}.favlib-empty p,.favlib-category-empty p{color:var(--muted);font-size:14px;line-height:1.6;margin:12px 0 20px}.favlib-discovery{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.favlib-add{padding:22px;background:var(--favlib-inset);border:1px solid var(--favlib-border);border-radius:10px;margin:18px 0}.favlib-add[hidden]{display:none}.favlib-add .favlib-discovery{justify-content:flex-start;margin-top:16px}.favlib-category-empty{padding:20px;border:1px solid var(--favlib-border);border-radius:8px}.favlib-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:25px}.favlib-skeleton{height:12px;width:70%;margin:15px auto;background:var(--favlib-border);border-radius:4px}.favlib-skeleton:last-child{width:50%}.favlib-unavailable{font-size:12px;color:var(--muted)}.favlib-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.favlib-row{flex-wrap:wrap}.favlib-row-actions{width:100%;justify-content:flex-end;border-top:1px solid var(--favlib-border);padding-top:8px}.favlib .favlib-pin{margin-right:auto}}
@media(max-width:700px){.favlib h1{font-size:31px}.favlib-heading{align-items:flex-start;flex-wrap:wrap;gap:16px}.favlib-tools{flex-wrap:wrap}.favlib-search{flex-basis:100%}.favlib-tools>button{font-size:12px}.favlib-row{padding:14px 12px;gap:12px}.favlib-entity{width:34px;height:34px}.favlib-identity strong{font-size:14px}.favlib-row-actions{gap:3px}.favlib .favlib-pin{padding:8px 3px;font-size:11px}.favlib-open{font-size:11px;padding:10px 8px}.favlib h2{font-size:18px}.favlib-section-heading>span{font-size:11px}.favlib-empty{padding:32px 18px}.favlib-empty h2{font-size:23px}.favlib-discovery{flex-direction:column}.favlib-footer{font-size:11px}.favlib-persistence{font-size:11px}}
@media(prefers-reduced-motion:reduce){.favlib button:active{transform:none}}
