.unit-card.svelte-2ve22k{perspective:1000px;position:relative;z-index:1}.unit-card.flipped.svelte-2ve22k{z-index:2}.unit-card.svelte-2ve22k:hover{z-index:100}.unit-card.clickable.svelte-2ve22k:not(.flipped){cursor:pointer}.card-inner.svelte-2ve22k{position:relative;transform-style:preserve-3d;transition:transform .3s ease}.unit-card.flipped.svelte-2ve22k .card-inner:where(.svelte-2ve22k){transform:translateY(var(--flip-offset-y, 0px)) rotateY(180deg) scale(1.15)}.card-front.svelte-2ve22k,.card-back.svelte-2ve22k{backface-visibility:hidden;border-radius:10px;border:1px solid var(--color-border-subtle);background:var(--color-bg-surface);overflow:hidden}.card-front.svelte-2ve22k{display:flex;flex-direction:column;position:relative;overflow:visible}.unit-card.clickable.svelte-2ve22k:not(.flipped):hover .card-front:where(.svelte-2ve22k){border-color:var(--color-text-muted);box-shadow:0 4px 12px #0000001a}.unit-card--continue-pop.svelte-2ve22k{animation:svelte-2ve22k-continue-card-pop .42s cubic-bezier(.22,1,.36,1)}.unit-card--continue.svelte-2ve22k .card-front:where(.svelte-2ve22k){border:2px solid #000;box-shadow:none}.unit-card--continue.clickable.svelte-2ve22k:not(.flipped):hover .card-front:where(.svelte-2ve22k){border-color:#000;box-shadow:0 4px 12px #0000001a}.continue-badge.svelte-2ve22k{position:absolute;top:0;left:50%;z-index:3;padding:4px 12px;border-radius:999px;background:#000;box-shadow:0 2px 8px #00000047;color:#fff;font-size:.75rem;font-weight:600;line-height:1.2;pointer-events:none;transform:translate(-50%,-50%);white-space:nowrap}.card-back.svelte-2ve22k{position:absolute;top:0;left:0;width:100%;min-height:100%;transform:rotateY(180deg);display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.unit-card--continue.svelte-2ve22k .card-back:where(.svelte-2ve22k){border:2px solid #000;box-shadow:0 8px 32px #0003}.unit-card--continue-pop.svelte-2ve22k .card-front:where(.svelte-2ve22k){animation:svelte-2ve22k-continue-outline-front-in .26s ease-out}.unit-card--continue-pop.svelte-2ve22k .card-back:where(.svelte-2ve22k){animation:svelte-2ve22k-continue-outline-back-in .26s ease-out}.card-image.svelte-2ve22k{width:100%;height:120px;overflow:hidden;border-radius:9px 9px 0 0;background:var(--color-bg-app)}.card-image.svelte-2ve22k img:where(.svelte-2ve22k){display:block;width:100%;height:100%;object-fit:cover}.card-image--placeholder.svelte-2ve22k{background:linear-gradient(135deg,var(--color-bg-surface) 0%,var(--color-border-subtle) 100%)}.card-image--missing.svelte-2ve22k{display:flex;align-items:center;justify-content:center;background:#1417210d}.card-image__missing-label.svelte-2ve22k{color:#14172173;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.card-body.svelte-2ve22k{padding:14px 16px;display:flex;flex-direction:column;gap:6px;position:relative}.card-title.svelte-2ve22k{margin:0;font-size:1.1rem;font-weight:600;line-height:1.3;display:flex;align-items:center;gap:8px}.badge.svelte-2ve22k{position:absolute;right:16px;top:50%;transform:translateY(-50%);padding:2px 8px;border-radius:99px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge--progress.svelte-2ve22k{background:var(--color-bg-app);color:var(--color-text-muted);border:1px solid var(--color-border-subtle)}.badge--complete.svelte-2ve22k{background:#22c55e;color:#fff;border-color:#22c55e;animation:svelte-2ve22k-badge-celebrate .6s ease-out}.draft-badge.svelte-2ve22k{display:inline-flex;align-items:center;padding:2px 10px;background:#f59e0b26;color:#f59e0b;font-size:.65em;font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.1;border-radius:999px;vertical-align:middle}@keyframes svelte-2ve22k-badge-celebrate{0%{transform:translateY(-50%) scale(1)}40%{transform:translateY(-50%) scale(1.3)}to{transform:translateY(-50%) scale(1)}}@keyframes svelte-2ve22k-continue-card-pop{0%{transform:scale(1)}45%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes svelte-2ve22k-continue-outline-front-in{0%{border-color:var(--color-border-subtle);border-width:1px}to{border-color:#000;border-width:2px}}@keyframes svelte-2ve22k-continue-outline-back-in{0%{border-color:var(--color-border-subtle);border-width:1px}to{border-color:#000;border-width:2px}}.badge--coming.svelte-2ve22k{background:var(--color-bg-surface-2, #eeeeee);color:var(--color-text-subtle, #666);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.card-description.svelte-2ve22k{color:var(--color-text-muted);font-size:.85rem;line-height:1.4}.card-description.svelte-2ve22k p{margin:0}.unit-card.coming.svelte-2ve22k .card-front:where(.svelte-2ve22k){opacity:.6}.unit-card.coming.svelte-2ve22k .card-image:where(.svelte-2ve22k){filter:grayscale(.6)}.back-header.svelte-2ve22k{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border-subtle)}.back-title.svelte-2ve22k{margin:0;font-size:1.05rem;font-weight:600;display:flex;align-items:center;gap:8px}.back-content.svelte-2ve22k{padding:12px 14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:360px}.items-list.svelte-2ve22k{display:flex;flex-direction:column;gap:4px}.item-row.svelte-2ve22k{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;text-decoration:none;color:inherit;transition:background .15s ease}button.item-row.svelte-2ve22k{width:100%;border:none;font:inherit;text-align:left;cursor:pointer}a.item-row.svelte-2ve22k:hover,button.item-row.svelte-2ve22k:hover{background:var(--color-bg-app)}.item-row--highlighted.svelte-2ve22k{background:#2a2a2a;color:#fff;border:none;border-radius:8px}a.item-row.item-row--highlighted.svelte-2ve22k:hover{background:#4a4a4a;color:#fff}.item-row--completed.svelte-2ve22k .item-label:where(.svelte-2ve22k){color:var(--color-text-muted)}.item-row--highlighted.svelte-2ve22k .item-label:where(.svelte-2ve22k){color:#fff}.item-row--draft.svelte-2ve22k{opacity:.6}.item-row--unavailable.svelte-2ve22k{opacity:.5}.item-row--locked.svelte-2ve22k{background:#94a3b814}.item-label.svelte-2ve22k{flex:1;font-size:.82rem;line-height:1.3;min-width:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.item-label--muted.svelte-2ve22k{color:var(--color-text-muted)}.item-secondary.svelte-2ve22k{color:var(--color-text-muted);font-size:.7rem;font-weight:400;opacity:.48;white-space:nowrap}.item-row--highlighted.svelte-2ve22k .item-secondary:where(.svelte-2ve22k){color:#fff;opacity:.58}.item-completion.svelte-2ve22k{flex-shrink:0;display:flex;align-items:center}.item-completion__check.svelte-2ve22k{animation:svelte-2ve22k-item-check-pop .22s ease-out}.item-completion__lock.svelte-2ve22k{color:var(--color-text-muted)}@keyframes svelte-2ve22k-item-check-pop{0%{transform:scale(.7);opacity:.55}to{transform:scale(1);opacity:1}}.todo-dot.svelte-2ve22k{width:8px;height:8px;border-radius:999px;background:#ff00c8;display:inline-block;flex-shrink:0}.todo-anchor.svelte-2ve22k{display:inline-flex;align-items:center}.item-annotation-badge.svelte-2ve22k{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:var(--color-bg-app);color:var(--color-text-muted);margin-right:6px}.item-annotation-badge--error.svelte-2ve22k{color:var(--color-status-error, #f87171)}.item-annotation-link.svelte-2ve22k{color:inherit;text-decoration:underline;font-size:.85rem}.course.svelte-13uunde{--unit-card-width: 320px;display:flex;flex-direction:column;gap:64px;padding:48px 48px 200px;margin:0 auto;width:100%;overflow-y:scroll}.course--ceremony.svelte-13uunde{overflow:hidden}.course--initial-positioning.svelte-13uunde{opacity:0}.header.svelte-13uunde{font-family:Poppins,sans-serif;display:flex;flex-direction:column;gap:8px;position:relative}.outline-notice.svelte-13uunde{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:760px;padding:16px 18px;border-radius:14px;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle)}.outline-notice.svelte-13uunde p:where(.svelte-13uunde){margin:0;color:var(--color-text-muted)}.outline-notice.svelte-13uunde a:where(.svelte-13uunde){flex-shrink:0;padding:10px 14px;border-radius:999px;background:var(--color-text-primary);color:var(--color-bg-app);text-decoration:none;font-weight:600}.chapters-container.svelte-13uunde{display:flex;flex-direction:column;gap:100px;width:100%}.chapter.svelte-13uunde{display:flex;flex-direction:column;gap:24px}.chapter-title.svelte-13uunde{margin:0;font-size:2.35rem;font-weight:600;display:flex;align-items:baseline;flex-wrap:wrap;column-gap:14px;row-gap:4px}.chapter-title__index.svelte-13uunde{color:var(--color-text-muted);font:inherit;opacity:.28;text-transform:uppercase}.chapter-title__text.svelte-13uunde{line-height:1.05}.todo-dot.svelte-13uunde{width:8px;height:8px;border-radius:999px;background:#ff00c8;display:inline-block;flex-shrink:0}.todo-anchor.svelte-13uunde{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;cursor:pointer}.todo-overlay.svelte-13uunde{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000}.todo-overlay__inner.svelte-13uunde{position:fixed;pointer-events:auto}.content-locked-modal.svelte-13uunde{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px}.content-locked-modal__backdrop.svelte-13uunde{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0206119e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default}.content-locked-modal__dialog.svelte-13uunde{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:min(360px,100%);padding:28px;border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--color-bg-surface);box-shadow:0 24px 54px #0000003d;color:var(--color-text-primary);font-family:Poppins,sans-serif}.content-locked-modal__dialog.svelte-13uunde h2:where(.svelte-13uunde){margin:0;padding-right:36px;font-size:1.5rem;font-weight:600;line-height:1.15}.content-locked-modal__dialog.svelte-13uunde p:where(.svelte-13uunde){margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.5}.content-locked-modal__close.svelte-13uunde{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer}.content-locked-modal__close.svelte-13uunde:hover{background:var(--color-bg-app);color:var(--color-text-primary)}.content-locked-modal__close.svelte-13uunde:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.content-locked-modal__close.svelte-13uunde svg:where(.svelte-13uunde){fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chapter-description.svelte-13uunde{color:var(--color-text-muted, currentColor);font-size:1.1rem;line-height:1.6;max-width:800px;margin-top:-8px}.chapter-description.svelte-13uunde p{margin:0}.units-grid.svelte-13uunde{display:grid;grid-template-columns:repeat(3,var(--unit-card-width));gap:24px;width:100%;justify-content:start}.units-grid.svelte-13uunde>div:where(.svelte-13uunde){min-width:0}.unit-card-slot--ceremony-source.svelte-13uunde{visibility:hidden}.completion-ceremony.svelte-13uunde{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;pointer-events:auto}.completion-ceremony__backdrop.svelte-13uunde{position:absolute;top:0;right:0;bottom:0;left:0;background:#0206119e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:svelte-13uunde-completion-backdrop-in var(--ceremony-backdrop-in-ms) ease-out;transition:opacity var(--ceremony-backdrop-out-ms) ease}.completion-ceremony__backdrop--return.svelte-13uunde{opacity:0}.completion-ceremony__card-wrap.svelte-13uunde{position:relative;width:min(var(--completion-card-width, 320px),calc(100vw - 24px));transform:translate(0) scale(1.16);transform-origin:center center;--completion-shadow-opacity: .45;--completion-shadow-fade-ms: var(--ceremony-card-motion-ms);transition:transform var(--ceremony-card-motion-ms) cubic-bezier(.22,1,.36,1),opacity var(--ceremony-card-opacity-ms) ease,filter var(--completion-shadow-fade-ms) ease;filter:drop-shadow(0 24px 42px rgba(0,0,0,var(--completion-shadow-opacity)));pointer-events:none}.completion-ceremony__card-wrap--flip.svelte-13uunde{transform:translateY(-8px) scale(1.2)}.completion-ceremony__card-wrap--return.svelte-13uunde{--completion-shadow-opacity: .04;--completion-shadow-fade-ms: var(--ceremony-shadow-return-fade-ms);transform:translate(var(--completion-return-x, 0px),var(--completion-return-y, 0px)) scale(1)}.completion-ceremony__card-wrap.svelte-13uunde .unit-card{cursor:default}@keyframes svelte-13uunde-completion-backdrop-in{0%{opacity:0}to{opacity:1}}@media (max-width: 1103px){.units-grid.svelte-13uunde{grid-template-columns:repeat(2,var(--unit-card-width))}.completion-ceremony__card-wrap.svelte-13uunde{transform:translate(0) scale(1.08)}.completion-ceremony__card-wrap--flip.svelte-13uunde{transform:translateY(-4px) scale(1.1)}.completion-ceremony__card-wrap--return.svelte-13uunde{transform:translate(var(--completion-return-x, 0px),var(--completion-return-y, 0px)) scale(1)}}@media (max-width: 759px){.course.svelte-13uunde{padding-inline:24px}.outline-notice.svelte-13uunde{flex-direction:column;align-items:flex-start}.units-grid.svelte-13uunde{grid-template-columns:var(--unit-card-width)}}@media (max-width: 352px){.course.svelte-13uunde{padding-inline:16px}}.error.svelte-13uunde,.empty.svelte-13uunde{opacity:.8}
