/* Shared launcher cards on account pages and inside app menus. */
.cb-app-cards{--app-card-min:230px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--app-card-min)),1fr));gap:10px;width:100%;margin:16px 0}
.cb-app-card{--card-tint:var(--panel,#fff);--card-hover:var(--brand-soft,#edf4ff);--card-edge:#3678ce;display:flex;flex-direction:column;align-items:flex-start;gap:7px;box-sizing:border-box;min-width:0;padding:16px;border:1px solid var(--line,#cbd5e1);border-radius:12px;background:var(--card-tint);color:var(--ink,#15263c);text-align:left;text-decoration:none;white-space:normal;font:inherit;line-height:1.45;transition:background .15s,border-color .15s}
.cb-app-card:hover{border-color:var(--card-edge);background:var(--card-hover)}
/* 앱마다 색조를 달리한다 — 카드가 여럿 늘어설 때 이름을 읽기 전에 어느 앱인지 눈에
   걸린다. 색조만 다르고 명도는 같은 자리에 두어 한 장이 튀지 않게 하고, 글자색은
   그대로 var(--ink) 를 쓰므로 대비가 바뀌지 않는다. 목록에 없는 앱은 기본값(흰 카드)
   이라 새 앱이 붙어도 화면이 깨지지 않는다. */
.cb-app-card[data-app-card="aurora"]{--card-tint:#eceffd;--card-hover:#dde3fb;--card-edge:#6d81dd}
.cb-app-card[data-app-card="pepdesigner"]{--card-tint:#e9f6f0;--card-hover:#d6efe3;--card-edge:#4aa585}
.cb-app-card[data-app-card="biowrit"]{--card-tint:#fdf2e5;--card-hover:#fbe6cd;--card-edge:#d09443}
.cb-app-card[data-app-card="labis"]{--card-tint:#fbeef5;--card-hover:#f7dee9;--card-edge:#c96fa5}
.cb-app-card[data-app-card="cgv"]{--card-tint:#eef4ea;--card-hover:#e0ecd9;--card-edge:#6f9e57}
:root[data-theme="dark"] .cb-app-card[data-app-card="aurora"]{--card-tint:#1a2040;--card-hover:#232b52;--card-edge:#7484d8}
:root[data-theme="dark"] .cb-app-card[data-app-card="pepdesigner"]{--card-tint:#122a23;--card-hover:#17372d;--card-edge:#4fa98a}
:root[data-theme="dark"] .cb-app-card[data-app-card="biowrit"]{--card-tint:#2b2113;--card-hover:#3a2c19;--card-edge:#c99a4c}
:root[data-theme="dark"] .cb-app-card[data-app-card="labis"]{--card-tint:#2c1a25;--card-hover:#3a2231;--card-edge:#c3749f}
:root[data-theme="dark"] .cb-app-card[data-app-card="cgv"]{--card-tint:#1b2618;--card-hover:#243221;--card-edge:#7faa66}
.cb-app-card:focus-visible{outline:3px solid #6095ec;outline-offset:3px}
.cb-app-card.is-current{background:#123f77;border-color:#123f77;color:#fff}
.cb-app-card strong{font-size:16px;font-weight:650;color:inherit}
.cb-app-card .cb-app-fullname{font-size:11px;line-height:1.45;opacity:.78;overflow-wrap:anywhere}
.cb-app-card .cb-app-summary{font-size:12px;color:inherit;opacity:.9}
.cb-app-card .cb-app-current{font-size:10px;font-weight:600;border-radius:20px;padding:2px 8px;background:#fff;color:#123f77}
.cb-app-card-tools[hidden],.cb-app-card[hidden],.cb-app-cards[hidden]{display:none!important}
.cb-app-card-tools{display:flex;justify-content:flex-end;gap:8px;align-items:center;font-size:11px;color:var(--muted,#64748b);margin-top:10px}
.cb-app-card-tools select{font:inherit;color:inherit;background:var(--panel,#fff);border:1px solid var(--line,#cbd5e1);border-radius:6px;padding:4px}
.cb-app-cards[data-size=compact]{--app-card-min:175px}
.cb-app-cards[data-size=compact] .cb-app-card{padding:11px;gap:5px}
.cb-app-cards[data-size=large]{--app-card-min:280px}
.cb-app-cards[data-size=large] .cb-app-card{padding:22px;gap:9px}
.cb-top-menu:has(.cb-app-cards){position:fixed;top:70px;right:16px;left:auto;width:min(600px,calc(100vw - 32px));max-height:75vh;overflow:auto;box-sizing:border-box;padding:12px}
.cb-top-menu .cb-app-cards{margin:8px 0;--app-card-min:220px}
.cb-top-menu .cb-app-card{width:auto}
@media(max-width:600px){.cb-app-cards,.cb-top-menu .cb-app-cards{grid-template-columns:1fr}.cb-app-card{padding:13px}.cb-top-menu:has(.cb-app-cards){position:fixed;top:70px;left:16px;right:16px;width:auto}}
.cb-top-id [data-app-management-slot]{display:inline-flex;gap:10px;flex-wrap:wrap}
@media(max-width:600px){.cb-top{gap:9px;flex-wrap:wrap;max-width:calc(100vw - 32px)}.cb-top-id{flex-wrap:wrap;gap:6px}.cb-top-id [data-app-management-slot]{gap:6px}.cb-top .app-management-links{margin-inline:0}}
