:root{--bg:#fff;--surface:#fff;--surface-2:#f5f7fa;--ink:#172033;--muted:#687287;--line:#e3e7ed;--brand:#1967d2;--brand-2:#0d4faa;--shadow:0 10px 28px rgba(26,46,82,.09)}html[data-theme="dark"]{--bg:#0f1420;--surface:#171e2c;--surface-2:#222b3c;--ink:#edf2fb;--muted:#9ca8bc;--line:#2d374a;--brand:#69a4ff;--brand-2:#4388ec;--shadow:0 16px 38px rgba(0,0,0,.28)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;line-height:1.45}.shell{width:min(1200px,calc(100% - 32px));margin:0 auto}.catalog-count{margin:0 0 14px;color:var(--muted);font-size:14px}.catalog-count strong{color:var(--brand)}.catalog-filter{position:relative}.catalog-filter-trigger{min-width:210px;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left}.catalog-filter-label{font-size:12px;color:var(--muted);font-weight:700}.catalog-filter-summary{min-width:0;max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}.catalog-filter-trigger:after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px)}.catalog-filter.open .catalog-filter-trigger:after{transform:rotate(225deg) translate(-1px,-1px)}.catalog-filter-panel{position:absolute;z-index:100;left:0;top:calc(100% + 6px);display:none;width:250px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.catalog-filter.open .catalog-filter-panel{display:block}.catalog-filter-options{max-height:216px;overflow-y:auto;overflow-x:hidden;padding:8px}.catalog-filter-option{width:100%;height:40px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);display:flex;align-items:center;gap:9px;text-align:left;font-size:13px;cursor:pointer}.catalog-filter-option:hover{background:var(--surface-2)}.catalog-option-check{width:18px;height:18px;border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;color:transparent;font-size:12px;font-weight:900}.catalog-filter-option[aria-selected="true"] .catalog-option-check{border-color:var(--brand);background:var(--brand);color:#fff}.catalog-filter-footer{padding:10px;border-top:1px solid var(--line)}.catalog-filter-apply{width:100%;height:40px;border:0;border-radius:8px;background:var(--brand);color:#fff;font-weight:850;cursor:pointer}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.catalog-card{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);transition:border-color .2s,box-shadow .2s,transform .2s}.catalog-card:hover{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));box-shadow:var(--shadow);transform:translateY(-2px)}.catalog-card[hidden]{display:none}.catalog-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,#dce9fb,#9ebde8);display:grid;place-items:center}.catalog-card:nth-child(3n+2) .catalog-media{background:linear-gradient(145deg,#e8f3ed,#aed6c0)}.catalog-card:nth-child(3n) .catalog-media{background:linear-gradient(145deg,#f6ead9,#dfc49d)}.catalog-media b{width:74px;height:74px;border-radius:18px;background:rgba(255,255,255,.9);display:grid;place-items:center;color:#24518c;font-size:20px;box-shadow:0 12px 24px rgba(39,66,101,.16)}.catalog-badge{position:absolute;right:10px;top:10px;border-radius:999px;padding:6px 10px;background:#172033;color:#fff;font-size:11px;font-weight:800}.catalog-card-body{padding:16px 18px 18px}.catalog-region{font-size:12px;color:var(--brand);font-weight:800}.catalog-card-body h2{margin:5px 0 6px;font-size:18px;line-height:1.4;letter-spacing:-.025em}.catalog-meta,.catalog-description{color:var(--muted);font-size:13px}.catalog-meta{margin:0}.catalog-description{margin:9px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-component[data-board-id="school"] .catalog-description{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}.catalog-component[data-layout-mode="list"] .catalog-grid{grid-template-columns:1fr;gap:14px}.catalog-component[data-layout-mode="list"] .catalog-card{display:grid;grid-template-columns:260px minmax(0,1fr)}.catalog-component[data-layout-mode="list"] .catalog-card[hidden]{display:none}.catalog-component[data-layout-mode="list"] .catalog-media{height:100%;min-height:146px;aspect-ratio:auto}.catalog-component[data-layout-mode="list"] .catalog-card-body{display:flex;flex-direction:column;justify-content:center}.catalog-pagination{margin-top:38px;display:flex;align-items:center;justify-content:center;gap:5px}.catalog-page-button{width:36px;height:36px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);display:grid;place-items:center;font-size:13px;cursor:pointer}.catalog-page-button:hover{background:var(--surface-2);color:var(--ink)}.catalog-page-button.active{background:var(--brand);color:#fff}.catalog-page-button:disabled{opacity:.35;cursor:default}.catalog-sentinel{display:none;margin-top:30px;padding:18px;text-align:center;color:var(--muted);font-size:13px}.catalog-empty{display:none;padding:70px 20px;text-align:center;color:var(--muted)}.catalog-notice{margin-top:40px;padding:16px 18px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:12px}@media(max-width:1199px){.catalog-pagination{display:none}.catalog-sentinel{display:block}.catalog-filter-trigger{min-width:170px}}@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.shell{width:calc(100% - 28px)}.content-frame-body{padding-right:14px;padding-left:14px}.catalog-filter,.catalog-filter-trigger,.catalog-filter-panel{width:100%}.catalog-grid{grid-template-columns:1fr;gap:32px}.catalog-component[data-layout-mode="list"] .catalog-grid{gap:12px}.catalog-component[data-layout-mode="list"] .catalog-card{grid-template-columns:112px minmax(0,1fr)}.catalog-component[data-layout-mode="list"] .catalog-media{min-height:128px}.catalog-component[data-layout-mode="list"] .catalog-media b{width:52px;height:52px;font-size:15px}.catalog-component[data-layout-mode="list"] .catalog-badge{right:6px;top:6px;padding:4px 7px;font-size:9px}.catalog-component[data-layout-mode="list"] .catalog-card-body{padding:12px}.catalog-component[data-layout-mode="list"] .catalog-description{-webkit-line-clamp:1}.catalog-card-body h2{font-size:17px}}
.catalog-media .catalog-school-logo{width:128px;height:128px;max-width:70%;object-fit:contain;background:#fff;border-radius:12px;padding:8px;box-shadow:0 8px 20px rgba(39,66,101,.12)}
.catalog-result-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}



.catalog-register-button{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border-radius:10px;background:var(--brand);color:var(--bg);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.catalog-register-button:hover{background:var(--brand-2)}
button.catalog-register-button{border:0;font-family:inherit;cursor:pointer}
.catalog-affiliation-dialog{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 20px 70px rgba(0,0,0,.3)}
.catalog-affiliation-dialog::backdrop{background:rgba(0,0,0,.55)}
.catalog-affiliation-dialog h2{margin:0 0 16px;font-size:20px;line-height:1.4}
.catalog-affiliation-dialog p{margin:0;color:var(--muted);font-size:14px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.catalog-affiliation-dialog form{display:flex;justify-content:flex-end;margin-top:24px}
.catalog-affiliation-dialog button{min-width:80px;min-height:44px;padding:10px 20px;border:0;border-radius:10px;background:var(--brand);color:var(--bg);font:inherit;font-weight:700;cursor:pointer}
.catalog-affiliation-dialog button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.catalog-register-button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.catalog-component .board-result-bar{flex-wrap:wrap}
@media(max-width:767px){.catalog-component[data-layout-mode="list"] .catalog-school-logo{width:72px;height:72px;padding:4px;border-radius:8px}}
.catalog-badges{position:absolute;right:10px;top:10px;display:flex;align-items:center;gap:6px}
.catalog-badges .catalog-badge{position:static;white-space:nowrap}
.catalog-inactive-badge{border-radius:999px;padding:6px 10px;background:#b42318;color:#fff;font-size:11px;font-weight:800;white-space:nowrap}
.catalog-component[data-layout-mode="list"] .catalog-badges{flex-direction:column;align-items:flex-end}
@media(max-width:767px){.catalog-component[data-layout-mode="list"] .catalog-badges{right:6px;top:6px;gap:4px}.catalog-component[data-layout-mode="list"] .catalog-inactive-badge{padding:4px 7px;font-size:9px}}
.catalog-component[data-board-id="partners"] .catalog-description{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}

.catalog-media .catalog-preview-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.catalog-media .catalog-badge,.catalog-media .catalog-badges{z-index:1}.catalog-media .card-favorite-button,.catalog-media .catalog-recommendation-form{z-index:4}

.catalog-missing-logo{font-weight:700;color:var(--ink,#172033);background:var(--surface,#fff);padding:16px;border-radius:8px}

.catalog-region-types{display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px;min-width:0}
.catalog-region-types .catalog-region{flex:none}
.recruitment-type-badge{display:inline-flex;align-items:center;flex:none;width:fit-content;max-width:100%;padding:2px 7px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:6px;background:color-mix(in srgb,var(--brand) 9%,var(--surface));color:var(--brand);font-size:11px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
