#course-finder [hidden]{display:none!important}.finder-intro{color:var(--mute);margin:-8px 0 24px;font-size:.92rem}.finder-search{display:flex;align-items:center;gap:14px;border:1px solid var(--line2);border-radius:16px;background:var(--w);padding:18px 20px;box-shadow:0 5px 24px #00000004;margin-bottom:24px;color:var(--red)}.finder-search:focus-within{border-color:var(--red);box-shadow:0 0 0 3px #bc002d12}.finder-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;outline:none}.finder-search kbd{border:1px solid var(--line);border-radius:5px;padding:0 7px;color:var(--mute)}.finder-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:26px}.finder-controls:not(.ready) .finder-layout{display:block}.finder-filters{align-self:start;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--w)}.finder-filters summary{display:flex;justify-content:space-between;font-size:.82rem;font-weight:800;cursor:pointer;list-style:none}.finder-filters summary::-webkit-details-marker{display:none}.finder-filters fieldset{border:0;padding:0;margin:22px 0}.finder-filters legend{font-weight:800;font-size:.78rem;margin-bottom:10px;color:var(--ink)}.finder-filters legend small{display:block;font-size:.65rem;font-weight:400;color:var(--mute);margin-top:3px}.finder-filters fieldset>label{display:flex;gap:9px;align-items:flex-start;font-size:.75rem;line-height:1.5;margin:10px 0;color:var(--ink2);cursor:pointer}.finder-filters input{accent-color:var(--red);width:15px;height:15px;margin:2px 0;flex-shrink:0}.level-options{display:flex;flex-wrap:wrap;gap:5px}.level-options label{position:relative;cursor:pointer}.level-options input{position:absolute;opacity:0}.level-options span{display:block;border:1px solid var(--line);padding:5px 8px;border-radius:6px;font-size:.75rem;font-weight:700}.level-options input:checked+span{background:var(--red);color:#fff;border-color:var(--red)}.level-options input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}.finder-select{display:block;font-size:.75rem;font-weight:800;margin:20px 0}.finder-select select,.finder-toolbar select{display:block;max-width:100%;border:1px solid var(--line);border-radius:7px;background:var(--w);color:var(--ink);font:inherit;font-size:.73rem;padding:9px;margin-top:8px}.finder-select select{width:100%}.finder-reset{border:0;background:transparent;color:var(--red);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.75rem;cursor:pointer;padding:8px 0}.finder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.finder-toolbar p{font-size:.8rem;font-weight:700;color:var(--ink)}.finder-toolbar label{display:flex;gap:8px;align-items:center;font-size:.7rem;color:var(--mute)}.finder-toolbar select{margin:0}.finder-results .cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.finder-card{display:flex;flex-direction:column;padding:20px;height:100%}.finder-card h3{font-size:1rem;line-height:1.4}.finder-card p{font-size:.79rem}.finder-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:16px}.finder-card-top>span{font-size:.61rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--red);max-width:75%}.finder-card-top b{font-size:1.3rem;color:var(--line2);white-space:nowrap}.finder-card .cmeta{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:.62rem;gap:10px}.finder-arrow{margin-left:auto;color:var(--red)}#course-chips{display:flex;gap:7px;flex-wrap:wrap}#course-chips:not(:empty){margin-bottom:18px}#course-chips button{font:inherit;font-size:.7rem;border:1px solid var(--line);border-radius:99px;padding:6px 11px;background:var(--red-w);color:var(--red);cursor:pointer}#course-empty{text-align:center;padding:60px 20px;border:1px dashed var(--line2);border-radius:14px}#course-empty>.jp{font-size:3rem;color:var(--red)}#course-empty h3{margin:12px 0}#course-empty p{color:var(--mute);font-size:.85rem}.beginner-path{margin-bottom:32px;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--w)}.beginner-path summary{display:flex;align-items:center;gap:15px;cursor:pointer;list-style:none;font-weight:800;font-size:.88rem}.beginner-path summary>.jp{font-size:1.5rem;color:var(--red)}.beginner-path summary>span:last-child{margin-left:auto;color:var(--red)}.beginner-path small{display:block;color:var(--mute);font-weight:400;font-size:.76rem;margin-top:4px}.beginner-path[open] summary{margin-bottom:26px}.beginner-path .path{margin-bottom:0}.beginner-path p{margin-top:0!important}#course-finder{scroll-margin-top:20px}#course-finder button:focus-visible,#course-finder select:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media(min-width:1100px){body>.wrap{max-width:1120px}.finder-layout{grid-template-columns:225px minmax(0,1fr)}}@media(max-width:700px){.finder-layout{grid-template-columns:minmax(0,1fr);gap:18px}.finder-filters{padding:16px}.finder-filters:not([open]){padding-bottom:16px}.finder-filters fieldset{margin:16px 0}.finder-results .cgrid{gap:12px}.finder-toolbar{flex-wrap:wrap}.finder-search{padding:16px}.finder-search input{font-size:16px}.finder-search kbd{display:none}.beginner-path{padding:16px}.beginner-path summary{font-size:.8rem}}@media(max-width:460px){.finder-results .cgrid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.finder-card{transition:none}.finder-card:hover{transform:none}}
.finder-search .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.finder-search>svg{flex-shrink:0}
/* Search and paginated browsing. */
#course-finder .finder-search{padding:10px 16px;gap:12px;margin-bottom:12px;border-radius:14px;min-height:64px;background:var(--w);box-shadow:0 3px 18px #12100e04}
#course-finder #course-search{flex:1;width:0;min-width:0;height:42px;box-shadow:none;border:0;border-radius:0;margin:0;padding:8px 0;background:transparent;font-family:inherit;font-size:16px;color:var(--ink);outline:0}
#course-search::placeholder{color:var(--mute);opacity:.85}#course-search::-webkit-search-cancel-button{display:none}
#course-search-clear{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--w3);color:var(--ink2);font-size:22px;cursor:pointer}
.finder-suggestions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:28px}.finder-suggestions>span{font-size:.7rem;color:var(--mute);margin-right:3px}.finder-suggestions button{border:1px solid var(--line);background:var(--w);color:var(--ink2);border-radius:99px;padding:6px 12px;font:inherit;font-size:.72rem;cursor:pointer;transition:border-color .15s,color .15s}.finder-suggestions button:hover{border-color:var(--red);color:var(--red)}
#course-filter-count{margin-left:auto;font-size:.65rem;font-weight:600;color:var(--red)}.finder-filters summary{gap:8px}.finder-toolbar{scroll-margin-top:24px}#course-count:focus{outline:none}
#course-pagination{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.pagination-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--mute);margin-bottom:18px}.pagination-top label,.pagination-jump{display:flex;align-items:center;gap:10px;font-size:.73rem;color:var(--mute)}#course-pagination select{background:var(--w);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;padding:8px 28px 8px 10px;min-height:38px}#course-page-links{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}#course-page-links>a,#course-page-links>span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;font-size:.78rem;text-decoration:none;color:var(--ink2);background:var(--w);font-weight:600}#course-page-links>a:hover{border-color:var(--red);color:var(--red)}#course-page-links>a[aria-current=page]{background:var(--red);border-color:var(--red);color:#fff}#course-page-links>span{border-color:transparent;background:transparent;color:var(--mute);min-width:20px;padding:7px 2px}#course-page-links>[aria-disabled=true]{opacity:.5;padding:7px 10px}.pagination-jump{justify-content:center;margin-top:16px}#course-finder .pagination-jump[hidden]{display:none!important}
@media(max-width:700px){#course-finder .finder-search{min-height:60px;padding:8px 14px}.finder-suggestions{gap:6px;margin-bottom:20px}.finder-suggestions button{padding:6px 10px;font-size:.7rem}#course-page-links{gap:4px}#course-page-links>a,#course-page-links>span{min-width:34px;padding:7px 8px;font-size:.74rem}#course-page-links>a:first-child,#course-page-links>span:first-child{margin-right:auto}#course-page-links>a:last-child,#course-page-links>span:last-child{margin-left:auto}#course-page-links>a:first-child,#course-page-links>a:last-child,#course-page-links>span[aria-disabled=true]{flex-basis:42%;order:2;margin-top:8px}.pagination-top{font-size:.72rem}}
@media(max-width:700px){#course-page-links{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;justify-content:initial}#course-page-links>a,#course-page-links>span{min-width:0;margin:0;min-height:40px;padding:7px 4px}#course-page-links>:first-child{grid-row:2;grid-column:1/4;margin:8px 0 0!important}#course-page-links>:last-child{grid-row:2;grid-column:5/8;margin:8px 0 0!important}}
