.public-courses [hidden], [data-public-course-link][hidden] { display:none!important; }
.public-courses { background:#f0f5fc; }
.public-course-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px; }
.public-course-category { width:100%;padding:22px;text-align:left;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:18px;background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s; }
.public-course-category:hover,.public-course-category[aria-pressed="true"] { border-color:var(--blue);box-shadow:0 8px 24px rgba(47,111,237,.1); }
.public-course-category strong { display:block;font-size:18px;margin-bottom:8px; }
.public-course-category small,.public-course-update { color:var(--ink-2);font-size:13px; }
.public-course-update { margin:0 0 18px; }
.public-course-empty { padding:32px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center;color:var(--ink-2); }
.public-course-flow { min-width:0;border-radius:20px; }
.public-course-stage { position:relative;height:500px;overflow:hidden;perspective:1200px;touch-action:pan-y;user-select:none;isolation:isolate; }
.public-course-tile { --offset:0;--depth:0;position:absolute;top:50%;left:50%;width:min(46%,500px);overflow:hidden;border:1px solid #d4dfed;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 18px 32px #17376912;transform:translate(-50%,-50%) translateX(calc(var(--offset)*78%)) translateZ(calc(var(--depth)*-80px)) rotateY(calc(var(--offset)*-28deg));opacity:.65;filter:brightness(.9);transition:transform .48s cubic-bezier(.2,.7,.2,1),opacity .36s,filter .36s;backface-visibility:hidden; }
.public-course-tile.is-active { opacity:1;filter:none;box-shadow:0 22px 42px #17376925; }
.public-course-open { display:block;width:100%;padding:0;border:0;border-radius:inherit;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer; }
.public-course-cover { display:flex;aspect-ratio:16/9;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(106,162,255,.4),transparent 65%),linear-gradient(130deg,#132a49,#254e7f); }
.public-course-cover small { font-size:12px;color:#c9dcfa;letter-spacing:1px; }
.public-course-cover strong { font-size:25px;line-height:1.4;text-align:center;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.public-course-play-icon { display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:#fff;color:#245fce;font-size:18px;padding-left:2px;transition:transform .2s; }
.is-active .public-course-open:hover .public-course-play-icon { transform:scale(1.1); }
.public-course-tile-caption { display:block;padding:16px 22px 10px; }
.public-course-tile-caption strong { display:block;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.public-course-tile-caption small { display:block;min-height:18px;font-size:12px;color:var(--ink-2);margin-top:6px; }
.public-course-tags { display:flex;gap:6px;flex-wrap:wrap;max-height:28px;overflow:hidden;margin-top:10px; }
.public-course-tags>span { padding:3px 8px;background:#edf3fc;border-radius:6px;font-size:12px;color:#3a567c; }
.public-course-share { min-height:44px;padding:10px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:#245fce;border:1px solid #d9e5fa;background:#f1f6ff;border-radius:10px; }
.public-course-tile>.public-course-share { margin:0 22px 18px; }
.public-course-tile:not(.is-active)>.public-course-share { visibility:hidden; }
.public-course-flow-controls { display:flex;justify-content:center;align-items:center;gap:22px;margin:8px 0 0; }
.public-course-arrow { width:48px;height:48px;border:1px solid #cbd8eb;border-radius:50%;background:#fff;color:#245fce;font:inherit;font-size:22px;cursor:pointer; }
.public-course-arrow:hover:not(:disabled) { background:#245fce;color:#fff;border-color:#245fce; }
.public-course-arrow:disabled { opacity:.35;cursor:default; }
.public-course-position { min-width:64px;text-align:center;color:#3b567b;font-size:15px;font-variant-numeric:tabular-nums; }
.public-course-hint { margin:12px 0 0;text-align:center;color:#66788f;font-size:13px; }
.public-course-status { font-size:14px;color:#245fce;line-height:1.7; }
.public-course-status:empty { display:none; }
.public-course-dialog { width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:18px;border:0;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 90px #0005; }
.public-course-dialog::backdrop { background:rgba(10,24,45,.74); }
.public-course-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px; }
.public-course-dialog-head h3 { margin:0;font-size:20px;overflow-wrap:anywhere; }
.public-course-dialog-head button { flex-shrink:0;width:44px;height:44px;font:inherit;font-size:26px;cursor:pointer;border:0;border-radius:50%;background:#edf2f9;color:var(--ink); }
.public-course-player { aspect-ratio:16/9;max-height:70dvh;background:#132a49;border-radius:12px;overflow:hidden; }
.public-course-player>.public-course-open { height:100%; }
.public-course-player .public-course-cover { height:100%;aspect-ratio:auto;gap:10px;padding:12px; }
.public-course-player iframe { display:block;width:100%;height:100%;border:0; }
.public-course-player-footer { display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:12px;color:#63758e;font-size:13px; }
.public-course-share-dialog { width:min(520px,calc(100% - 28px));padding:24px; }
.public-course-share-dialog p { font-size:14px;line-height:1.7;overflow-wrap:anywhere; }
.public-course-share-dialog label { display:block;margin:18px 0 8px;font-size:14px; }
.public-course-share-dialog input { width:100%;min-width:0;border:1px solid #cbd7e8;border-radius:10px;padding:12px;margin-bottom:12px;background:#f8faff;color:#173250;font:inherit;font-size:16px; }
.public-course-share-actions { display:grid;grid-template-columns:1fr;gap:10px; }
.public-course-share-copy { color:#fff;background:#245fce;border-color:#245fce; }
.public-course-share-actions button:disabled { opacity:.5;cursor:wait; }
.public-course-share-help { color:#526178; }
.public-course-share-dialog [data-course-share-status] { min-height:48px;color:#245fce; }
.public-course-category:focus-visible,.public-course-flow:focus-visible,.public-course-open:focus-visible,.public-course-arrow:focus-visible,.public-course-share:focus-visible { outline:3px solid #2f6fed;outline-offset:3px; }
.public-course-open:focus-visible { outline-offset:-4px; }
.public-course-filters { display:flex;gap:14px;align-items:center;margin:18px 0;color:#526178;font-size:14px; }
.public-course-filters input { flex:1;min-width:0;max-width:420px;padding:12px 14px;font:inherit;border:1px solid #cbd7e8;border-radius:12px;background:#fff;color:#17263e; }
.public-course-result:empty { display:none; }
.public-course-result { font-size:14px;color:#526178; }
@media(max-width:1000px) { .public-course-category { padding:18px 14px; }.public-course-category strong { font-size:16px; }.public-course-tile { width:52%; }.public-course-cover strong { font-size:22px; } }
@media(max-width:620px) {
 #public-courses-title { font-size:28px;text-wrap:balance; }
 .hero-actions [data-public-course-link] { grid-column:1/-1; }
 .public-course-cards { grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px; }
 .public-course-category { padding:12px 6px; }
 .public-course-category strong { font-size:13px;line-height:1.6;min-height:42px;margin-bottom:4px; }
 .public-course-category strong span { display:block; }
 .public-course-category small { display:block;font-size:11px;line-height:1.7;min-height:36px; }
 .public-course-update { margin-bottom:8px; }
 .public-course-stage { height:420px;perspective:800px; }
 .public-course-tile { width:calc(100% - 64px);max-width:360px;border-radius:16px; }
 .public-course-cover { gap:10px;padding:18px; }
 .public-course-cover strong { font-size:20px; }
 .public-course-cover small { font-size:10px;letter-spacing:0; }
 .public-course-play-icon { width:40px;height:40px;font-size:16px; }
 .public-course-tile-caption { padding:14px 16px 10px; }
 .public-course-tile-caption strong { font-size:16px; }
 .public-course-tile>.public-course-share { margin:0 16px 14px; }
 .public-course-flow-controls { margin-top:0; }
 .public-course-dialog { padding:12px;width:calc(100% - 20px);border-radius:14px; }
 .public-course-dialog-head h3 { font-size:17px; }
 .public-course-player-footer { font-size:11px;gap:6px; }
 .public-course-share-dialog { padding:20px; }
 .public-course-filters { display:block; }
 .public-course-filters label { display:block;margin-bottom:6px; }
 .public-course-filters input { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .public-course-category,.public-course-tile,.public-course-play-icon { transition:none; }.public-course-tile { transform:translate(-50%,-50%) translateX(calc(var(--offset)*110%)); } }
