.main.main-favorites{--sky-soft:#e1ebf0;--violet:#6e5a93;--violet-soft:#eae5f1;max-width:1100px}.main-favorites .page-title{font-family:Fraunces,serif;font-size:24px;font-weight:500}.main-favorites .page-sub{color:var(--ink-faint);margin-top:3px;font-size:12.5px}.main-favorites .btn.ghost{color:var(--ink);background:0 0}.main-favorites .filterbar{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:10px 12px;display:flex}.main-favorites .chip-row{flex-wrap:wrap;gap:8px;display:flex}.main-favorites .fchip{font:inherit;color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;display:flex}.main-favorites .fchip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.main-favorites .fchip .n{opacity:.65}.main-favorites .search{border:1px solid var(--line);color:var(--ink-faint);background:#fff;border-radius:20px;align-items:center;gap:7px;min-width:200px;margin-left:auto;padding:6px 12px;font-size:12.5px;display:flex}.main-favorites .search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1}.main-favorites .search:focus-within{border-color:var(--accent)}.main-favorites .grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.main-favorites .fav{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);flex-direction:column;gap:12px;padding:16px;display:flex;position:relative}.main-favorites .fav:hover{border-color:#c4c9bc}.main-favorites .fav-top{align-items:flex-start;gap:12px;display:flex}.main-favorites .ico{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.main-favorites .ico svg{width:18px;height:18px}.main-favorites .fav-body{flex:1;min-width:0}.main-favorites .fav-kind{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px;font-weight:600}.main-favorites .fav-title{overflow-wrap:anywhere;margin-top:1px;font-size:14px;font-weight:600}.main-favorites .fav-sub{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:3px;font-size:12.5px}.main-favorites .star{cursor:pointer;color:var(--amber);background:0 0;border:0;flex-shrink:0;padding:2px;font-size:18px;line-height:1}.main-favorites .star:hover{color:var(--ink-faint)}.main-favorites .fav-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.main-favorites .added{color:var(--ink-faint);font-size:11.5px}.main-favorites a.open{color:var(--accent);font-size:12.5px;font-weight:500;text-decoration:none}.main-favorites a.open:hover{text-decoration:underline}.main-favorites .empty{text-align:center;color:var(--ink-faint);background:var(--paper-raised);border:1px dashed var(--line);border-radius:var(--radius-m);padding:56px 16px;font-size:13px}.main-favorites .empty b{color:var(--ink);margin-bottom:4px;font-family:Fraunces,serif;font-size:19px;font-weight:500;display:block}.fav-toast{z-index:70;color:#fff;background:#1c2622;border-radius:8px;align-items:center;gap:14px;padding:11px 16px;font:13px IBM Plex Sans,sans-serif;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #1c26224d}.fav-toast button{color:#9ed2bf;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}@media (max-width:767px){.main-favorites .page-title{font-size:22px}.main-favorites .search{flex:100%;order:-1;margin-left:0}.main-favorites .search input{font-size:16px}.main-favorites .filterbar{padding:10px}.main-favorites .chip-row{scrollbar-width:none;flex-wrap:nowrap;flex:100%;overflow-x:auto}.main-favorites .chip-row::-webkit-scrollbar{display:none}.main-favorites .fchip{flex-shrink:0;padding:8px 13px}.main-favorites .grid{grid-template-columns:1fr;gap:12px}.fav-toast{bottom:calc(76px + env(safe-area-inset-bottom,0px));justify-content:space-between;width:calc(100% - 24px)}}
