/* Horizontal browsing keeps long catalogues and lesson lists compact. */
.browse-row{min-width:0;margin:10px 0 22px}
.browse-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:8px;color:var(--muted);font-size:.75rem}
.browse-tools>span:first-child{margin-right:auto}.browse-tools button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:700 1.2rem system-ui;cursor:pointer;margin:0;padding:0}.browse-tools button:disabled{opacity:.35;cursor:default}
.browse-row>.browse-lane{display:flex!important;flex-wrap:nowrap!important;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:9px 4px 16px!important;margin:0;scrollbar-width:none;min-width:0}
.browse-lane>*{flex:0 0 280px!important;max-width:none;min-width:0;scroll-snap-align:start;scroll-margin-left:4px;margin-top:0!important;box-sizing:border-box}
.browse-lane>.lesson{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;width:280px;padding:18px}.browse-lane>.lesson .go{margin-top:auto;align-self:flex-end}
.browse-lane>.catalogue-tile{flex-basis:180px!important}.browse-lane>.badge-t{flex-basis:220px!important}
.browse-lane:focus-visible,.browse-tools button:focus-visible{outline:3px solid #0969a6;outline-offset:2px}
@media(max-width:520px){.browse-lane>*{flex-basis:82%!important}.browse-lane>.catalogue-tile{flex-basis:155px!important}.browse-lane>.badge-t{flex-basis:220px!important}.browse-lane>.kcard{min-height:190px}}

.browse-count{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;color:#174b6c;background:#ffffffb3;border-radius:999px;padding:6px 10px;font-size:.72rem}
.browse-progress{height:4px;margin:4px 4px 0;border-radius:99px;overflow:hidden;background:#145f8520}.browse-progress i{display:block;height:100%;background:linear-gradient(90deg,#147dbb,#35b6c8);border-radius:99px;transition:width .22s ease}
.browse-lane>.kcard,.browse-lane>.lesson,.browse-lane>.catalogue-tile{transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 5px 14px #174b6c16}
.browse-lane>.browse-current{box-shadow:0 8px 20px #174b6c25;transform:translateY(-3px)}
.browse-lane>.kcard:active,.browse-lane>.lesson:active,.browse-lane>.catalogue-tile:active{transform:translateY(-1px) scale(.98)}
@media(max-width:520px){.browse-tools{gap:6px}.browse-lane>.catalogue-tile{flex-basis:76%!important}}
@media(prefers-reduced-motion:reduce){.browse-lane>*,.browse-scrubber{transition:none!important;transform:none!important}}

/* A persistent, touch-sized scrollbar, shared by every course and age group. */
.browse-row{--scroll-accent:#086b9a;--scroll-end:#20a8bf;--scroll-track:#d8edf7}
.browse-row[data-scroll-tone=sunrise]{--scroll-accent:#b34c17;--scroll-end:#ed9c24;--scroll-track:#fff0cf}
.browse-row[data-scroll-tone=lagoon]{--scroll-accent:#08756c;--scroll-end:#31b3ac;--scroll-track:#d5f1ec}
.browse-row[data-scroll-tone=violet]{--scroll-accent:#6d42ae;--scroll-end:#a378d8;--scroll-track:#e9def8}
.browse-row>.browse-lane::-webkit-scrollbar{display:none}
.browse-scroll-control{padding:0 5px;margin-top:2px}
.browse-scrubber{appearance:none;-webkit-appearance:none;display:block;width:100%;height:44px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y;--scroll-fill:0%}
.browse-scrubber::-webkit-slider-runnable-track{height:14px;border-radius:99px;border:1px solid var(--scroll-accent);background:linear-gradient(90deg,var(--scroll-accent) 0%,var(--scroll-end) var(--scroll-fill),var(--scroll-track) var(--scroll-fill));box-shadow:inset 0 2px 4px #07375418}
.browse-scrubber::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:48px;height:30px;margin-top:-9px;border:3px solid white;border-radius:99px;background:var(--scroll-accent);box-shadow:0 3px 8px #07375440;cursor:grab;background-image:linear-gradient(90deg,transparent 40%,#ffffffb0 40%,#ffffffb0 44%,transparent 44%,transparent 49%,#ffffffb0 49%,#ffffffb0 53%,transparent 53%,transparent 58%,#ffffffb0 58%,#ffffffb0 62%,transparent 62%)}
.browse-scrubber::-moz-range-track{height:14px;border-radius:99px;border:1px solid var(--scroll-accent);background:var(--scroll-track)}
.browse-scrubber::-moz-range-progress{height:14px;border-radius:99px;background:var(--scroll-accent)}
.browse-scrubber::-moz-range-thumb{width:42px;height:24px;border:3px solid white;border-radius:99px;background:var(--scroll-accent);box-shadow:0 3px 8px #07375440;cursor:grab}
.browse-scrubber:active::-webkit-slider-thumb{cursor:grabbing;box-shadow:0 2px 4px #07375450}
.browse-scrubber:focus-visible{outline:3px solid var(--scroll-accent);outline-offset:3px;border-radius:12px}
.browse-scrubber:disabled{opacity:.45;cursor:default}
.browse-scroll-caption{display:block;text-align:center;color:#174b6c;font-size:.72rem;font-weight:600;margin-top:-2px}
@media(forced-colors:active){.browse-scrubber{appearance:auto;-webkit-appearance:auto}}
