.ct-dynamic-identity{padding-top:24px}.ct-catalog-hero{padding-top:12px}.ct-dynamic-fallback{padding-block:30px}.ct-dynamic-material{position:relative;min-width:0}.ct-dynamic-material-edit{position:absolute;left:0;top:0;z-index:2}.ct-dynamic-art{display:grid;place-items:center}.ct-dynamic-art img,.ct-dynamic-custom-image{max-width:100%;max-height:450px;object-fit:contain}.ct-experience-prose>.ct-rich-content{margin-block-end:1.25em}.ct-catalog-featured-copy>.ct-rich-content{font-size:14px;line-height:1.8}.ct-experience-steps{flex-wrap:wrap}.ct-dynamic-filter{display:grid;gap:5px;min-width:0;max-width:100%}.ct-dynamic-filter select{max-width:100%;width:260px}.ct-dynamic-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:24px}.ct-dynamic-pagination a{padding:8px 16px;border:1px solid var(--ct-line,#ddd);border-radius:12px}.ct-dynamic-pagination [aria-current]{background:#70449d;color:#fff}.ct-catalog-tools{flex-wrap:wrap}.ct-catalog-tools .ct-catalog-search{flex:1;min-width:min(100%,230px)}.ct-catalog-tools input{min-width:0}.ct-dynamic-warning{color:#946100}.ct-dynamic-toolbar,.ct-dynamic-section-tools,.ct-dynamic-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ct-dynamic-toolbar{padding-block:16px}.ct-dynamic-section-tools{justify-content:flex-end;margin-block:10px}.ct-dynamic-actions{justify-content:flex-end;margin-block:10px}.ct-dynamic-toolbar button,.ct-dynamic-section-tools button,.ct-dynamic-material-edit,.ct-dynamic-search-button,.ct-tutorial-modal button,button[data-ct-search-retry],#ct-tutorial-footer button{font:inherit;border:1px solid var(--ct-line,#d7cde2);border-radius:10px;padding:9px 14px;background:var(--ct-surface,#fff);color:var(--ct-ink,#30213f);cursor:pointer}.ct-dynamic-toolbar button:hover,.ct-tutorial-modal button:hover{border-color:#9570bd}.ct-tutorial-modal{--ct-editor-bg:#fff;--ct-editor-text:#30213f;--ct-editor-muted:#65576f;--ct-editor-border:#d6cddd;--ct-editor-input:#faf8fd;color:var(--ct-editor-text)}html[data-ct-lesson-theme=dark] .ct-tutorial-modal{--ct-editor-bg:#21182d;--ct-editor-text:#f2eafc;--ct-editor-muted:#c1b4ce;--ct-editor-border:#60506d;--ct-editor-input:#2b203a}.ct-tutorial-modal .modal-dialog{width:calc(100% - 24px);max-width:800px}.ct-tutorial-modal .modal-content{background:var(--ct-editor-bg);color:var(--ct-editor-text);border:1px solid var(--ct-editor-border);border-radius:20px;overflow:hidden}.ct-tutorial-modal .modal-header,.ct-tutorial-modal .modal-footer{display:flex;align-items:center;gap:12px;padding:18px 24px;border-color:var(--ct-editor-border)}.ct-tutorial-modal .modal-header{justify-content:space-between;border-bottom:1px solid var(--ct-editor-border)}.ct-tutorial-modal .modal-footer{justify-content:flex-end;border-top:1px solid var(--ct-editor-border);flex-wrap:wrap}.ct-tutorial-modal .modal-body{padding:24px;max-height:70vh;overflow-y:auto;overflow-x:hidden}.ct-tutorial-modal h2{font-size:21px;margin:0}.ct-tutorial-modal h3{font-size:18px}.ct-tutorial-modal label{display:block;margin-block:14px 6px;font-weight:600}.ct-tutorial-modal input:not([type=checkbox]):not([type=file]),.ct-tutorial-modal select,.ct-tutorial-modal textarea,.ct-dynamic-filter select{display:block;box-sizing:border-box;width:100%;min-width:0;padding:10px 12px;font:inherit;color:var(--ct-editor-text,var(--ct-ink,#30213f));background:var(--ct-editor-input,var(--ct-surface,#fff));border:1px solid var(--ct-editor-border,var(--ct-line,#d6cddd));border-radius:9px}.ct-tutorial-modal input[readonly]{opacity:.7}.ct-tutorial-modal .ct-dynamic-check{display:flex;align-items:center;gap:10px}.ct-tutorial-modal .ct-dynamic-check input{width:18px;height:18px;accent-color:#8d5bb8}.ct-tutorial-modal small{display:block;color:var(--ct-editor-muted);line-height:1.8}.ct-tutorial-modal p{line-height:1.9}.ct-tutorial-modal [data-field-error]{color:#bd2525}.ct-tutorial-modal [aria-invalid=true]{border-color:#d34a4a!important}.ct-tutorial-modal button{background:var(--ct-editor-input);color:var(--ct-editor-text);border-color:var(--ct-editor-border)}.ct-tutorial-modal button[type=submit],.ct-tutorial-modal [data-ct-confirm-yes],.ct-tutorial-modal [data-ct-picker-apply]{background:#7445a3;color:#fff;border-color:#7445a3}.ct-tutorial-modal button:disabled{opacity:.5;cursor:wait}.ct-tutorial-modal :focus-visible,.ct-dynamic-toolbar :focus-visible,.ct-dynamic-material-edit:focus-visible{outline:3px solid #aa83d5;outline-offset:3px}.ct-dynamic-list{margin:20px 0;border:1px solid var(--ct-editor-border);border-radius:12px;padding:14px;min-width:0}.ct-dynamic-list legend{font-weight:700}.ct-dynamic-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid var(--ct-editor-border)}.ct-dynamic-row>span{flex:1;min-width:100px;overflow-wrap:anywhere}.ct-dynamic-row .ct-dynamic-actions{margin:0}.ct-dynamic-chip{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--ct-editor-border);border-radius:10px;margin-block:5px;overflow-wrap:anywhere}.ct-dynamic-chip span{flex:1}.ct-tutorial-modal a{color:#7945ac}.ct-tutorial-modal .ct-rich-editor{width:100%;min-width:0}.ct-tutorial-modal [hidden]{display:none!important}.ct-tutorial-modal .ct-rich-image-panel input{width:100%}html[data-ct-lesson-theme=dark] .ct-tutorial-modal a{color:#d1a5f5}html[data-ct-lesson-theme=dark] .ct-tutorial-modal [data-field-error]{color:#ffaaa6}html[data-ct-lesson-theme=dark] .ct-dynamic-warning{color:#eac36c}[dir=rtl] .ct-tutorial-modal .modal-footer,[dir=rtl] .ct-dynamic-actions,[dir=rtl] .ct-dynamic-toolbar,[dir=rtl] .ct-dynamic-section-tools{justify-content:flex-end}html[data-ct-lesson-theme=dark] .ct-dynamic-filter select{background:#251c30;color:#f4eafa;border-color:#685578}@media(max-width:480px){.ct-tutorial-modal .modal-body{padding:16px}.ct-tutorial-modal .modal-header,.ct-tutorial-modal .modal-footer{padding:14px}.ct-dynamic-toolbar button{font-size:12px}.ct-dynamic-filter{width:100%}.ct-dynamic-filter select{width:100%}.ct-dynamic-identity{padding-top:15px}.ct-dynamic-row{align-items:flex-start}.ct-tutorial-modal .ct-rich-toolbar{overflow-x:auto}.ct-dynamic-art img{max-height:300px}}

.ct-catalog-page .ct-tutorial-modal .modal-dialog{max-width:800px}.ct-catalog-page .ct-tutorial-modal input::placeholder{color:var(--ct-editor-muted);opacity:1}.ct-catalog-featured{color:var(--ct-ink)}
.ct-catalog-page .ct-tutorial-modal .modal-content{background:var(--ct-editor-bg);color:var(--ct-editor-text);border-color:var(--ct-editor-border)}
.ct-tutorial-modal{--ct-create-surface:var(--ct-editor-bg);--ct-create-ink:var(--ct-editor-text);--ct-create-soft:var(--ct-editor-input);--ct-create-muted:var(--ct-editor-muted);--ct-create-accent:var(--ct-accent);--ct-control-line:var(--ct-editor-border)}

.ct-tutorial-modal{--ct-create-on-accent:var(--ct-on-accent);--ct-create-error:#bc2d2d}html[data-ct-lesson-theme=dark] .ct-tutorial-modal{--ct-create-error:#ffa6a0}
#ct-seo-dialog[data-resource=tutorials]{--ct-create-surface:var(--ct-surface);--ct-create-ink:var(--ct-ink);--ct-create-soft:var(--ct-bg);--ct-create-muted:var(--ct-muted);--ct-create-accent:var(--ct-accent);--ct-create-on-accent:var(--ct-on-accent);--ct-create-error:#bc2d2d;--ct-control-line:var(--ct-line)}
html[data-ct-lesson-theme=dark] #ct-seo-dialog[data-resource=tutorials]{--ct-create-error:#ffa6a0}
#ct-seo-dialog[data-resource=tutorials] .ct-rich-text>label{display:none}#ct-seo-dialog[data-resource=tutorials] .ct-rich-editor{width:100%;min-width:0}#ct-seo-dialog[data-resource=tutorials] .ct-rich-row{flex-wrap:wrap}#ct-seo-dialog[data-resource=tutorials] [aria-invalid=true]{outline:2px solid var(--ct-create-error)}

/* Align the catalogue controls below the path label. */
.ct-catalog-tools .ct-dynamic-filter { position: relative; }
.ct-catalog-tools .ct-dynamic-filter::after {
    content: "";
    position: absolute;
    inset-inline-end: 12px;
    bottom: 16px;
    width: 16px;
    height: 16px;
    background-color: var(--ct-ink);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    pointer-events: none;
}
.ct-catalog-tools .ct-dynamic-filter select {
    appearance: none;
    padding-inline-end: 44px;
    cursor: pointer;
}
.ct-catalog-tools .ct-dynamic-filter select,
.ct-catalog-tools > .ct-catalog-search,
.ct-catalog-tools > .ct-dynamic-search-button {
    height: 48px;
    min-height: 48px;
}
@media (min-width: 951px) {
    .ct-catalog-tools { align-items: flex-end; }
}
@media (max-width: 950px) {
    [dir="rtl"] .ct-catalog-tools > .ct-dynamic-search-button { align-self: flex-end; }
}

.ct-dynamic-material .ct-catalog-material-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-width: 100%;
    min-height: 3.4em;
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.7;
    color: var(--ct-muted);
}

.ct-catalog-page .ct-catalog-bootcamp-link {
    color: inherit;
    text-decoration: none;
}
.ct-catalog-page .ct-catalog-bootcamp-link:hover { color: var(--ct-accent); text-decoration: none; }
.ct-catalog-page .ct-catalog-bootcamp-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }
.ct-catalog-page .ct-catalog-group-english { margin-top: 6px; color: var(--ct-ink); font-size: 13px; font-weight: 600; line-height: 1.7; }
.ct-catalog-page .ct-catalog-group-heading .ct-catalog-kicker { font-size: 12px; font-weight: 750; line-height: 1.7; color: var(--ct-accent); }
.ct-catalog-page .ct-catalog-group-heading .ct-catalog-kicker > span[dir="ltr"] { font-weight: 800; letter-spacing: .035em; }
.ct-catalog-page .ct-catalog-group-heading > div { min-width: 0; }
.ct-catalog-page .ct-catalog-group-heading .ct-catalog-group-count {
    display: inline-flex;
    gap: 8px;
    min-height: 48px;
    padding: 9px 14px;
    border: 1px solid var(--ct-line);
    border-radius: 13px;
    background: linear-gradient(145deg, var(--ct-surface), var(--ct-soft));
    color: var(--ct-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}
.ct-catalog-page .ct-catalog-group-count strong { color: var(--ct-accent); font-size: 22px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.ct-catalog-page .ct-catalog-group-count svg { width: 19px; height: 19px; flex-shrink: 0; margin-inline-end: 2px; }
.ct-catalog-page .ct-catalog-group { container: ct-catalog-card / inline-size; }
@container ct-catalog-card (max-width: 600px) {
    .ct-catalog-page .ct-catalog-group-heading { display: grid; grid-template-columns: 47px minmax(0, 1fr); }
    .ct-catalog-page .ct-catalog-group-heading .ct-catalog-group-count { grid-column: 2; justify-self: start; margin-inline-start: 0; }
}
@media (max-width: 600px) {
    .ct-catalog-page .ct-catalog-group-heading { display: grid; grid-template-columns: 37px minmax(0, 1fr); }
    .ct-catalog-page .ct-catalog-group-heading .ct-catalog-group-count { grid-column: 2; justify-self: start; margin-inline-start: 0; min-height: 40px; padding: 6px 11px; font-size: 12px; }
    .ct-catalog-page .ct-catalog-group-count strong { font-size: 20px; }
}
.ct-catalog-page .ct-catalog-group-foot { color: var(--ct-ink); font-size: 12px; font-weight: 600; line-height: 1.8; }
.ct-catalog-page .ct-catalog-group-other { display: block; padding-bottom: 0; }
.ct-catalog-page .ct-catalog-group-other .ct-catalog-materials { padding-block: 36px 27px; min-width: 0; }
.ct-catalog-page .ct-catalog-group-other .ct-catalog-material { width: 100%; }
.ct-catalog-page .ct-tree-panel .ct-catalog-footnote { color: var(--ct-tree-ink); font-size: 13px; font-weight: 600; line-height: 1.9; max-width: 680px; }
.ct-catalog-page .ct-experience-seal { display: inline-grid; place-items: center; padding: 0; line-height: 1; }
.ct-catalog-page .ct-experience-seal svg { display: block; width: 58%; height: 58%; }
.ct-catalog-page .ct-catalog-featured-copy > .ct-catalog-kicker { font-size: 12px; font-weight: 750; line-height: 1.7; color: var(--ct-accent); }
.ct-catalog-page .ct-catalog-featured-meta { gap: 7px; font-size: 12px; font-weight: 650; line-height: 1.7; color: var(--ct-ink); }
.ct-catalog-page .ct-catalog-featured-meta > span:first-child { justify-content: center; padding: 3px 9px; border-radius: 6px; font-size: 12px; font-weight: 750; color: var(--ct-success); background: var(--ct-success-bg); }
@media (max-width: 600px) { .ct-catalog-page .ct-catalog-group-english { font-size: 12px; } }

/* The coming-soon section sits outside the grid and needs its own row gap. */
.ct-catalog-groups:has(> .ct-catalog-group) + .ct-catalog-group-other { margin-block-start: 24px; }
.ct-catalog-material-name + .ct-catalog-material-status { margin-block-start: 10px; }

/* Course state is independent of whether a first lesson is already published. */
.ct-catalog-page { --ct-info: #175b87; --ct-info-bg: #e9f3fc; }
html[data-ct-lesson-theme="dark"] .ct-catalog-page { --ct-info: #a6d7fa; --ct-info-bg: #203449; }
.ct-catalog-material .ct-catalog-material-status--available { color: var(--ct-success); background: var(--ct-success-bg); }
.ct-catalog-material .ct-catalog-material-status--under_construction { color: var(--ct-warning); background: var(--ct-warning-bg); }
.ct-catalog-material .ct-catalog-material-status--coming_soon { color: var(--ct-info); background: var(--ct-info-bg); }

/* The interactive tutorial illustration needs the full art column, not an icon-sized slot. */
.ct-tutorial-bootcamp-cover .ct-page-cover__scene { width: 100%; max-width: 560px; aspect-ratio: 1.5; }
.ct-tutorial-bootcamp-cover .ct-page-cover__visual { inset: 0; animation: none; }
.ct-tutorial-bootcamp-cover .ct-page-cover__orbit--outer { width: min(80%,340px); }
.ct-tutorial-bootcamp-cover .ct-page-cover__orbit--inner { width: min(65%,280px); }
.ct-tutorial-bootcamp-cover .ct-catalog-orbit,
.ct-tutorial-bootcamp-cover .ct-catalog-orbit-dot,
.ct-tutorial-bootcamp-cover .ct-catalog-star { display: none; }
@media (max-width: 760px) {
    .ct-tutorial-bootcamp-cover .ct-page-cover__scene { min-height: 310px; }
}
