.catalog-head.svelte-ec29qo{padding:20px 0 14px}.catalog-toolbar.svelte-ec29qo{z-index:30;background:color-mix(in srgb, var(--color-paper) 88%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5);padding:6px 0 12px;position:sticky;top:0}.catalog-head-row.svelte-ec29qo{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.catalog-title.svelte-ec29qo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);margin:5px 0 0;font-size:34px;font-weight:500}.catalog-sub.svelte-ec29qo{color:var(--color-ink-2);margin:4px 0 14px;font-size:12.5px}.tool-links.svelte-ec29qo{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-hint.svelte-ec29qo{text-align:right;width:100%;font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-ink-3);font-size:10.5px}.tool-link.svelte-ec29qo{border:1px solid var(--color-line-regular);background:var(--glass-tint);color:var(--color-ink-2);transition:color .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.tool-link.svelte-ec29qo:hover{color:var(--color-accent-text);border-color:var(--color-accent);box-shadow:0 4px 14px #d977061f}.search-wrap.svelte-ec29qo{border:1px solid var(--color-line-regular);background:var(--glass-tint);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.search-wrap.svelte-ec29qo:focus-within{border-color:var(--color-accent)}.search-wrap.svelte-ec29qo svg:where(.svelte-ec29qo){width:17px;height:17px;color:var(--color-ink-3);flex-shrink:0}.search-wrap.svelte-ec29qo input:where(.svelte-ec29qo){color:var(--color-ink);background:0 0;border:none;outline:none;flex:1;font-size:14px}.search-count.svelte-ec29qo{font-family:var(--font-mono);color:var(--color-ink-3);flex-shrink:0;font-size:11px}.ctrl-row.svelte-ec29qo{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;display:flex}.seg-row.svelte-ec29qo{flex-wrap:wrap;gap:8px;display:flex}.anchor-row.svelte-ec29qo{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.seg-chip.svelte-ec29qo{border:1px solid var(--color-line-hair);background:var(--glass-tint);color:var(--color-ink-2);cursor:pointer;transition:color .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:inline-flex}.seg-chip.svelte-ec29qo:hover{color:var(--color-ink)}.seg-chip.active.svelte-ec29qo{color:var(--color-accent-text);border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-line-hair));box-shadow:inset 0 1px 0 var(--glass-hi), 0 2px 8px color-mix(in srgb, var(--color-accent) 18%, transparent);font-weight:600}.seg-count.svelte-ec29qo{font-family:var(--font-mono);color:var(--color-ink-3);font-size:10.5px}.seg-chip.active.svelte-ec29qo .seg-count:where(.svelte-ec29qo){color:var(--color-accent)}.anchor-row.svelte-ec29qo{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.anchor-chip.svelte-ec29qo{color:var(--color-ink-3);cursor:pointer;transition:color .12s var(--ease-out), border-color .12s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:999px;padding:4px 11px;font-size:11.5px}.anchor-chip.svelte-ec29qo:hover{color:var(--color-accent-text);border-color:var(--color-accent)}.seg-mark.svelte-ec29qo{align-items:baseline;gap:12px;margin:26px 0 6px;display:flex}.seg-mark-label.svelte-ec29qo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);font-size:26px;font-weight:600}.seg-mark-note.svelte-ec29qo{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3);font-size:11px}.group.svelte-ec29qo{border:1px solid var(--color-line-hair);border-radius:var(--radius-lg,16px);background:linear-gradient(180deg, #ffffff1a, transparent 42%), var(--reef-tint,transparent);box-shadow:inset 0 1px 0 var(--glass-hi);margin-top:22px;padding:16px 18px 18px;scroll-margin-top:150px}.group.tint-accent.svelte-ec29qo{--reef-tint:color-mix(in srgb, var(--color-accent) 5%, transparent)}.group.tint-academic.svelte-ec29qo{--reef-tint:color-mix(in srgb, var(--color-academic) 6%, transparent)}.group-head.svelte-ec29qo{align-items:baseline;gap:10px;margin:0 0 12px;display:flex}.group-num.svelte-ec29qo{font-family:var(--font-mono);color:var(--color-accent);font-size:12px;font-weight:600}.group-label.svelte-ec29qo{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-ink);margin:0;font-size:17px;font-weight:600}.group-count.svelte-ec29qo{font-family:var(--font-mono);color:var(--color-ink-3);font-size:10.5px}.group-mastery.svelte-ec29qo{background:var(--color-line-hair);border-radius:2px;flex:1;align-self:center;max-width:120px;height:4px;margin-left:auto;overflow:hidden}.group-mastery.svelte-ec29qo i:where(.svelte-ec29qo){background:linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 70%, transparent), var(--color-accent));border-radius:2px;height:100%;display:block}.group-mastery-num.svelte-ec29qo{font-family:var(--font-mono);color:var(--color-ink-3);text-align:right;min-width:32px;font-size:10.5px}.topic-list.svelte-ec29qo{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.topic-row.svelte-ec29qo{border-radius:var(--radius-md,12px);justify-content:space-between;align-items:center;gap:12px;height:100%;padding:13px 16px;text-decoration:none;display:flex}.topic-main.svelte-ec29qo{flex-direction:column;gap:2px;min-width:0;display:flex}.topic-title.svelte-ec29qo{color:var(--color-ink);font-size:14.5px;font-weight:500}.topic-num.svelte-ec29qo{font-family:var(--font-mono);color:var(--color-ink-3);margin-right:8px;font-size:11px;font-weight:400}.topic-desc.svelte-ec29qo{color:var(--color-ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.topic-side.svelte-ec29qo{flex-shrink:0;align-items:center;gap:10px;display:flex}.topic-badge.svelte-ec29qo{font-family:var(--font-mono);color:var(--color-ink-3);font-size:10px}.mastery.svelte-ec29qo{background:var(--color-line-hair);border-radius:2px;width:56px;height:4px;display:inline-block;overflow:hidden}.mastery.svelte-ec29qo i:where(.svelte-ec29qo){background:var(--color-accent);height:100%;display:block}.mastery.done.svelte-ec29qo i:where(.svelte-ec29qo){background:var(--color-success)}.empty.svelte-ec29qo{text-align:center;color:var(--color-ink-2);margin-top:40px;font-size:13.5px}
