.knowledge-favorites { width:min(1180px,calc(100% - 48px)); margin:8px auto 28px; padding:20px 24px; background:var(--paper,#fff); border:1px solid var(--line,#e3e8ee); border-radius:var(--radius,8px); box-shadow:0 10px 24px #1d2a380a; scroll-margin-top:120px; }
.knowledge-favorites[hidden],.knowledge-favorites [hidden],.knowledge-favorite-choice[hidden] { display:none!important; }
.knowledge-favorites.is-empty { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin-top:20px; padding:12px 18px; box-shadow:none; }
.knowledge-favorites.is-empty h2 { font-size:1.05rem; }
.knowledge-favorites.is-empty .knowledge-favorites__heading { gap:10px; }
.knowledge-favorites.is-empty .knowledge-favorites__empty { margin:0; font-size:.9rem; }
.knowledge-favorites.is-empty :is(.knowledge-favorites__intro,.knowledge-favorites__storage) { display:none; }
.knowledge-favorites.is-empty .knowledge-favorites__status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.knowledge-favorites__heading { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.knowledge-favorites__edit { margin-left:auto; min-height:44px; padding:8px 14px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); font:inherit; font-size:.9rem; font-weight:700; cursor:pointer; }
.knowledge-favorites h2 { margin:0; font-size:1.5rem; line-height:1.3; }
.knowledge-favorites__count { border:1px solid var(--line); border-radius:999px; padding:4px 10px; font-weight:800; font-size:.85rem; white-space:nowrap; }
.knowledge-favorites__intro,.knowledge-favorites__empty { margin:10px 0; color:var(--muted,#5f6975); line-height:1.6; }
.knowledge-favorites__list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; list-style:none; margin:16px 0 0; padding:0; }
.knowledge-favorite-item { position:relative; min-width:0; display:grid; min-height:120px; background:var(--soft,#f5f8fb); border:1px solid var(--line); border-radius:16px; box-shadow:0 4px 12px #1d2a380a; }
.knowledge-favorite-link { display:grid; align-content:center; justify-items:center; gap:8px; min-height:120px; padding:16px 12px; color:var(--ink,#20242a); font-size:.95rem; font-weight:800; line-height:1.4; text-align:center; text-decoration:none; overflow-wrap:anywhere; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.knowledge-favorite-link::before { content:'★'; display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:#fff1c9; color:#805200; font-size:1.5rem; }
.knowledge-favorite-link:hover { text-decoration:underline; }
.knowledge-favorite-controls { display:none; position:absolute; right:-6px; top:-6px; z-index:3; }
.is-editing .knowledge-favorite-controls { display:block; }
.is-editing .knowledge-favorite-link { touch-action:none; cursor:grab; }
.is-editing .knowledge-favorite-item { animation:favorite-wiggle .3s ease-in-out infinite alternate; }
.is-editing .knowledge-favorite-item:nth-child(even) { animation-direction:alternate-reverse; }
.knowledge-favorite-item.is-dragging { opacity:.25; animation:none; }
.knowledge-favorite-ghost { position:fixed; z-index:2147483600; margin:0; list-style:none; pointer-events:none; transform:scale(1.05); box-shadow:0 16px 35px #14253640; opacity:.96; background:var(--paper); color:var(--ink); }
.knowledge-favorite-ghost .knowledge-favorite-controls { display:none; }
@keyframes favorite-wiggle { from { transform:rotate(-.6deg); } to { transform:rotate(.6deg); } }
.knowledge-favorite-controls button,.knowledge-favorite-star { display:grid; place-items:center; width:44px; min-width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:8px; background:var(--paper,#fff); color:var(--ink,#20242a); font:700 1.3rem/1 system-ui,sans-serif; cursor:pointer; }
.knowledge-favorite-controls .knowledge-favorite-star { margin-right:auto; }
.knowledge-favorite-star { font-size:1.7rem; }
.knowledge-favorite-star[aria-pressed=true] { color:#805200; background:#fff1c9; border-color:#d5ad52; }
.knowledge-favorite-controls button:disabled { opacity:.35; cursor:default; }
.knowledge-favorite-star:hover,.knowledge-favorite-controls button:not(:disabled):hover { border-color:#a97719; }
.knowledge-favorite-choice { position:relative; min-width:0; display:grid; }
.knowledge-favorite-choice > a { width:100%; height:100%; min-width:0; }
.knowledge-favorite-choice > .knowledge-favorite-star { position:absolute; right:10px; top:10px; z-index:2; }
.knowledge-favorite-choice > :is(.knowledge-card,.knowledge-feature-card) { padding-top:58px; }
.knowledge-favorite-choice > .knowledge-card { min-height:166px; }
.knowledge-favorites__status { margin:12px 0 0; font-size:.9rem; line-height:1.5; font-weight:700; }
.knowledge-favorites__status:empty { display:none; }
.knowledge-favorites__storage { display:block; margin-top:12px; font-size:.8rem; color:var(--muted); }
.knowledge-favorites :is(a,button):focus-visible,.knowledge-favorite-choice > button:focus-visible { outline:3px solid var(--sky,#4080b8); outline-offset:3px; }
html[data-theme=dark] .knowledge-favorites { background:#203441; border-color:#47606e; }
html[data-theme=dark] .knowledge-favorite-item { background:#192a36; border-color:#547080; }
html[data-theme=dark] .knowledge-favorite-link::before { color:#ffda95; background:#50462e; }
html[data-theme=dark] :is(.knowledge-favorite-star,.knowledge-favorite-controls button) { background:#294351; border-color:#547080; color:#edf5fa; }
html[data-theme=dark] .knowledge-favorite-star[aria-pressed=true] { color:#ffda95; background:#50462e; border-color:#bda365; }
@media(max-width:1020px) { .knowledge-favorites__list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .knowledge-favorites { width:calc(100% - 32px); padding:16px; } .knowledge-favorite-item { padding:8px; } .knowledge-favorite-controls { gap:2px; } .knowledge-favorites__list { gap:8px; } }
@media(max-width:359px) { .knowledge-favorites__list { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .is-editing .knowledge-favorite-item { animation:none; outline:2px dashed var(--line); } }
