.uf-collection{max-width:1280px;margin-inline:auto;padding:44px clamp(20px,4vw,56px) 64px}.uf-collection__heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:36px}.uf-collection__heading>div{min-width:0}.uf-collection__heading h1{min-width:0;font-size:clamp(30px,3vw,40px);line-height:1.2;letter-spacing:-.045em}.uf-collection__heading p{margin-top:12px;color:var(--color-muted);max-width:48ch}.uf-collection__heading>.uf-button{flex-shrink:0}.uf-collection-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:32px}.uf-collection-filters__query{flex:1 1 320px;display:flex;align-items:end;gap:8px}.uf-collection-filters__query>.uf-field{flex:1 1;min-width:0}.uf-collection-filters>.uf-field{flex:0 1 200px}.uf-collection-filters__reset{flex-shrink:0}.uf-catalog-results{min-height:300px;display:grid;gap:24px}.uf-collection-empty{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:16px;min-height:350px;padding:36px 16px 36px 40px;border-radius:var(--radius-scene);background:var(--color-surface)}.uf-collection-empty__copy{max-width:46ch}.uf-collection-empty h2{font-size:clamp(24px,2.4vw,32px);line-height:1.25;max-width:17ch}.uf-collection-empty p{color:var(--color-muted);margin:16px 0 24px}.uf-empty-shelf{width:100%;height:auto;max-width:560px}.uf-collection-empty--search{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:300px}.uf-collection-empty--search h2{max-width:none}.uf-collection-empty--search p{max-width:56ch}.uf-collection-loading{display:flex;align-items:center;justify-content:center;gap:16px;min-height:300px;color:var(--color-muted)}.uf-collection-loading__book{width:34px;height:40px;border:2px solid var(--color-border);border-radius:4px 9px 9px 4px;box-shadow:inset 5px 0 0 var(--color-surface-inset)}.uf-catalog-practice{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 8px 0;margin-top:16px}.uf-catalog-practice h2{font-size:20px}.uf-catalog-practice p{max-width:55ch;color:var(--color-muted);margin-top:8px}.uf-catalog-practice>.uf-button{flex-shrink:0}.uf-course-list{display:grid;gap:24px}.uf-course-card{min-width:0}.uf-course-card__link{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.65fr);align-items:center;gap:24px;padding:12px 24px 12px 0;border-radius:24px;min-height:44px;transition:background-color var(--motion-hover) var(--ease-out),box-shadow var(--motion-press) var(--ease-out)}.uf-course-art{overflow:hidden;border-radius:24px}.uf-course-art svg{width:100%;height:auto}.uf-course-art__cover{transform-origin:120px 125px}.uf-course-art__cover,.uf-course-art__pages{transition:transform var(--motion-state) var(--ease-out)}.uf-course-art__shadow{transform-origin:216px 238px;transition:transform var(--motion-state) var(--ease-out),opacity var(--motion-state) var(--ease-out)}.uf-course-card__body{min-width:0;padding:12px 0}.uf-course-card :is(h2,h3){font-size:26px;line-height:1.27;overflow-wrap:anywhere}.uf-course-card__publisher{display:block;margin-top:8px;color:var(--color-muted);font-size:14px;font-weight:600}.uf-course-card__body>p{margin-top:12px;color:var(--color-muted);max-width:64ch;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.uf-course-card__facts{display:flex;flex-wrap:wrap;gap:20px;margin:24px 0 16px}.uf-course-card__facts>div{display:flex;gap:6px}.uf-course-card__facts dt{color:var(--color-muted);font-size:14px}.uf-course-card__facts dd{margin:0;font-size:14px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.uf-course-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.uf-course-card__footer>:last-child{padding:8px 14px;min-height:44px;display:inline-flex;align-items:center;border-radius:10px;font-weight:750;color:var(--color-action-hover);background:var(--color-surface-inset);transition:color var(--motion-hover),background-color var(--motion-hover)}.uf-course-card__link:active{background:var(--color-selected);box-shadow:inset 0 2px 4px rgb(37 39 43/7%)}.uf-course-card__link:active .uf-course-art__cover{transform:translate(-3px,-1px) skewY(-1deg);transition-duration:var(--motion-press)}.uf-course-card__link:focus-visible{outline-offset:6px}.uf-course-card__link:focus-visible .uf-course-card__footer>:last-child{background:var(--color-selected)}.uf-collection-more{display:flex;justify-content:center;padding-top:8px}.uf-course-detail>.uf-button:first-child{margin-left:-16px;margin-bottom:24px}.uf-course-detail__hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:32px;margin-bottom:48px}.uf-course-detail__intro{min-width:0}.uf-course-detail__intro h1{font-size:clamp(32px,3.4vw,46px);line-height:1.17;overflow-wrap:anywhere}.uf-course-detail__intro>p{margin-top:20px;color:var(--color-muted);font-size:18px;line-height:1.65}.uf-course-detail__byline{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;color:var(--color-muted);font-size:14px}.uf-course-detail__byline>:first-child:not(:last-child){color:var(--color-ink);font-weight:650}.uf-course-detail__intro>.uf-course-detail__release-note{max-width:64ch;margin-top:20px;padding:16px 18px;border-radius:16px;background:var(--color-surface-inset);color:var(--color-ink);font-size:15px;line-height:1.6}.uf-course-detail__facts{display:flex;flex-wrap:wrap;gap:16px 28px;margin:24px 0 0}.uf-course-detail__facts dt{font-size:14px;color:var(--color-muted)}.uf-course-detail__facts dd{margin:3px 0 0;font-weight:650}.uf-course-detail__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.54fr);align-items:start;gap:48px}.uf-course-detail__outcomes>ul{list-style:none;padding:0;margin:24px 0 40px;display:grid;gap:24px}.uf-course-detail__outcomes h3{font-size:18px;letter-spacing:-.02em}.uf-course-detail__outcomes p{margin-top:6px;color:var(--color-muted)}.uf-course-detail__specialization{display:inline-block;margin-top:8px;font-size:14px;color:var(--color-muted)}.uf-course-detail__program>ol{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}.uf-course-detail__program details{border-radius:16px;background:var(--color-surface)}.uf-course-detail__program summary{display:flex;align-items:center;gap:16px;min-height:68px;padding:16px;cursor:pointer;border-radius:16px;font-weight:650;transition:background-color var(--motion-hover) var(--ease-out)}.uf-course-detail__program summary::-webkit-details-marker{display:none}.uf-course-detail__program summary:after{content:"+";font-size:24px;font-weight:450;margin-left:auto}.uf-course-detail__program details[open]>summary:after{content:"−"}.uf-course-detail__program details[open]{background:var(--color-surface-inset)}.uf-course-detail__program summary:active{background:var(--color-selected)}.uf-course-detail__module-number{color:var(--color-muted);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.uf-course-detail__module-time{font-size:14px;font-weight:500;margin-left:auto;white-space:nowrap;color:var(--color-muted)}.uf-course-detail__program details>div{padding:0 20px 24px}.uf-course-detail__program details>div>ul{margin:16px 0 0;padding-left:20px;display:grid;gap:8px}.uf-course-detail__lessons{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:28px}.uf-course-detail__lessons h3{font-size:18px;line-height:1.45}.uf-course-detail__activities{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.uf-course-detail__program .uf-course-detail__activity{border-radius:12px;background:var(--color-surface)}.uf-course-detail__program .uf-course-detail__activity summary{min-height:48px;padding:12px 14px;border-radius:12px;gap:12px;font-size:14px}.uf-course-detail__activity summary>span{color:var(--color-muted);font-weight:450;text-transform:capitalize}.uf-course-detail__activity>p{padding:0 14px 16px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65}.uf-course-detail__planned{margin-top:36px}.uf-course-detail__planned>details>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;min-height:52px;padding:14px 0;cursor:pointer;font-size:21px;font-weight:750;border-radius:8px}.uf-course-detail__planned>details>summary::-webkit-details-marker{display:none}.uf-course-detail__planned>details>summary:after{content:"+";margin-left:auto;font-size:24px;font-weight:450}.uf-course-detail__planned>details[open]>summary:after{content:"−"}.uf-course-detail__planned-count{font-size:14px;font-weight:500;color:var(--color-muted)}.uf-course-detail__planned ol{display:grid;gap:28px;list-style:none;padding:20px 0 0;margin:0}.uf-course-detail__planned li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:baseline;gap:14px}.uf-course-detail__planned h3{font-size:17px;line-height:1.45;overflow-wrap:anywhere}.uf-course-detail__planned p{margin-top:6px;color:var(--color-muted);font-size:15px;line-height:1.6}.uf-course-detail__planned summary:focus-visible,.uf-course-detail__program summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.uf-course-detail__prerequisites{padding:28px;border-radius:24px;background:var(--color-surface-inset)}.uf-course-detail__prerequisites h2{font-size:21px}.uf-course-detail__prerequisites>ul{padding-left:20px;margin:20px 0 0;display:grid;gap:12px}.uf-course-detail__prerequisites>p{margin-top:16px}.uf-course-detail__access{margin-top:32px}.uf-course-detail__access h3{font-size:17px}.uf-course-detail__access p{margin-top:8px;color:var(--color-muted);font-size:15px}.uf-course-detail__access>.uf-button{margin-top:20px}.uf-owned-unready__eyebrow{margin-bottom:10px;color:var(--color-action-hover);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.uf-course-detail__primary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.uf-owned-unready{min-height:460px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(28px,6vw,84px);padding:clamp(28px,6vw,72px);border-radius:var(--radius-scene);background:var(--color-surface)}.uf-owned-unready h1{font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.045em}.uf-owned-unready h1+p{margin-top:18px;color:var(--color-muted);font-size:18px}.uf-owned-unready__note{margin:22px 0;max-width:48ch}.uf-owned-unready__paper{position:relative;min-height:260px;transform:rotate(-3deg)}.uf-owned-unready__paper span,.uf-owned-unready__paper:before{content:"";position:absolute;inset:12% 12% 8%;border:1px solid var(--color-border);border-radius:8px 22px 22px 8px;background:#fffefa;box-shadow:0 20px 35px rgb(37 39 43/10%)}.uf-owned-unready__paper span:first-child{transform:translate(9px,7px);background:#ded8ca}.uf-owned-unready__paper span:last-child{transform:translate(18px,14px);z-index:-1;background:#c9c1b2}.uf-start-course{max-width:660px;min-height:520px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.uf-start-course h1{margin-top:28px;font-size:clamp(30px,4vw,44px);letter-spacing:-.045em}.uf-start-course h1+p{margin:14px 0 24px;max-width:52ch;color:var(--color-muted)}.uf-start-course>div:last-child{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.uf-start-course__book{position:relative;width:150px;height:112px;border-radius:7px 20px 20px 7px;transform:rotate(-5deg);background:var(--color-action);box-shadow:8px 10px 0 #823829,0 24px 32px rgb(37 39 43/13%)}.uf-start-course__book:before{content:"";position:absolute;inset:12px 16px 12px 22px;border-radius:3px 14px 14px 3px;background:#fffefa}.uf-start-course__book span{position:absolute;left:28px;right:28px;height:2px;z-index:1;background:#d8d1c3}.uf-start-course__book span:first-child{top:44px}.uf-start-course__book span:last-child{top:64px}.uf-dialog:has(.uf-share-dialog){width:min(680px,calc(100vw - 32px))}.uf-share-dialog{display:grid;gap:24px;min-width:0}.uf-visibility{display:grid;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.uf-visibility__heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.uf-share-links h3,.uf-visibility__heading h3{font-size:19px}.uf-visibility__heading p{margin-top:5px;color:var(--color-muted);font-size:14px}.uf-visibility__unsaved{flex-shrink:0;padding:5px 9px;border-radius:999px;background:var(--color-selected);color:var(--color-action-hover);font-size:12px;font-weight:750}.uf-visibility__choices,.uf-visibility__version{display:grid;gap:8px;margin:0;padding:0;border:0}.uf-visibility__choices legend,.uf-visibility__version legend{margin-bottom:8px;font-size:14px;font-weight:750}.uf-visibility__choices label,.uf-visibility__version label{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:11px;padding:14px;border:1px solid var(--color-border);border-radius:14px;cursor:pointer;transition:border-color var(--motion-hover) var(--ease-out),background-color var(--motion-hover) var(--ease-out),transform var(--motion-press) var(--ease-out)}.uf-visibility__choices label:has(input:checked),.uf-visibility__version label:has(input:checked){border-color:var(--color-action);background:var(--color-selected)}.uf-visibility__choices label:focus-within,.uf-visibility__version label:focus-within{outline:3px solid color-mix(in srgb,var(--color-action) 28%,transparent);outline-offset:2px}.uf-visibility__choices label:not([aria-disabled=true]):active,.uf-visibility__version label:active{transform:translateY(1px)}.uf-visibility__choices label[aria-disabled=true]{cursor:not-allowed;opacity:.62}.uf-visibility__choices:disabled label,.uf-visibility__version:disabled label{cursor:wait;opacity:.68}.uf-visibility__choices input,.uf-visibility__version input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--color-action)}.uf-visibility__icon{display:grid;place-items:center;color:var(--color-action-hover)}.uf-visibility__choices label>span:last-child,.uf-visibility__version label>span{display:grid;gap:3px}.uf-visibility__choices strong,.uf-visibility__version strong{font-size:15px}.uf-visibility__choices small,.uf-visibility__version small{color:var(--color-muted);font-size:13px;line-height:1.45}.uf-visibility__version label{grid-template-columns:auto minmax(0,1fr)}.uf-visibility__gate,.uf-visibility__version>p{color:var(--color-muted);font-size:13px}.uf-visibility__gate{padding:12px 14px;border-radius:12px;background:var(--color-surface-inset)}.uf-visibility__gate--ready{color:var(--color-action-hover)}.uf-visibility__save{display:flex;align-items:center;gap:14px}.uf-visibility__save p{color:var(--color-muted);font-size:13px}.uf-share-links{display:grid;gap:16px}.uf-share-dialog__created{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:18px;border-radius:16px;background:var(--color-selected)}.uf-share-dialog__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.uf-share-dialog__heading h3{font-size:19px}.uf-share-dialog__heading p{margin-top:5px;max-width:46ch;color:var(--color-muted);font-size:14px}.uf-share-list{display:grid;gap:10px;padding:0;list-style:none}.uf-share-list li{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--color-border);border-radius:14px}.uf-share-list li div{display:grid;gap:3px}.uf-share-dialog__empty,.uf-share-dialog__revoked,.uf-share-list li span{color:var(--color-muted);font-size:14px}@media (hover:hover) and (pointer:fine){.uf-course-card__link:hover{background:var(--color-surface)}.uf-course-card__link:hover .uf-course-art__cover{transform:translate(-9px,-4px) skewY(-4deg)}.uf-course-card__link:hover .uf-course-art__pages{transform:translate(3px,-1px)}.uf-course-card__link:hover .uf-course-art__shadow{transform:scaleX(1.04);opacity:.12}.uf-course-card__link:hover .uf-course-card__footer>:last-child{background:var(--color-selected);color:var(--color-action-hover)}.uf-course-detail__program summary:hover{background:var(--color-selected)}.uf-visibility__choices label:not([aria-disabled=true]):hover,.uf-visibility__version label:hover{border-color:var(--color-action);background:var(--color-surface)}}@media (max-width:1100px){.uf-collection-empty{padding:28px;gap:8px}.uf-course-detail__body{gap:28px}}@media (max-width:700px){.uf-collection{padding-top:28px}.uf-collection__heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}.uf-collection-filters{gap:12px}.uf-collection-filters__query{flex-basis:100%}.uf-collection-filters>.uf-field{flex:1 1 180px}.uf-collection-empty{grid-template-columns:1fr;padding:28px}.uf-collection-empty>.uf-empty-shelf{grid-row:1;max-width:280px;margin-inline:auto}.uf-collection-empty h2{max-width:none}.uf-catalog-practice{align-items:flex-start;flex-direction:column;gap:20px}.uf-course-card__link{grid-template-columns:1fr;padding:0 16px 20px;gap:0}.uf-course-card__link>.uf-course-art{width:min(80%,260px);margin-inline:auto}.uf-course-card :is(h2,h3){font-size:24px}.uf-course-detail__body,.uf-course-detail__hero{grid-template-columns:1fr}.uf-course-detail__hero{gap:24px;margin-bottom:32px}.uf-course-detail__hero .uf-course-art{max-width:420px;width:100%}.uf-course-detail__program summary{flex-wrap:wrap;gap:8px 12px}.uf-course-detail__program summary>:nth-child(2){flex:1 1;min-width:120px;overflow-wrap:anywhere}.uf-course-detail__module-time{margin-left:0}.uf-owned-unready{grid-template-columns:1fr;min-height:0}.uf-owned-unready__paper{min-height:220px}.uf-share-dialog{min-width:0}.uf-share-dialog__created{grid-template-columns:1fr}.uf-share-dialog__heading,.uf-visibility__heading,.uf-visibility__save{align-items:stretch;flex-direction:column}}@media (max-width:360px){.uf-collection-filters__query{flex-wrap:wrap}.uf-collection-filters__query>.uf-field{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.uf-course-art__cover,.uf-course-art__pages,.uf-course-art__shadow,.uf-course-card__footer>:last-child,.uf-course-card__link,.uf-course-detail__program summary,.uf-visibility__choices label,.uf-visibility__version label{transition:none}.uf-course-card__link:active .uf-course-art__cover,.uf-course-card__link:hover .uf-course-art__cover,.uf-course-card__link:hover .uf-course-art__pages,.uf-course-card__link:hover .uf-course-art__shadow,.uf-visibility__choices label:active,.uf-visibility__version label:active{transform:none}}