.article-page .progress-sr-only,.library-page .progress-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.article-page .progress-link,.library-page .progress-link{display:inline-flex;align-items:center;gap:var(--cf-space-150);flex-shrink:0;border:1px solid var(--cf-color-border);background:var(--cf-color-surface);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-semibold);white-space:nowrap;cursor:pointer;transition:color var(--cf-duration-fast),border-color var(--cf-duration-fast),background-color var(--cf-duration-fast)}.article-page .progress-link svg,.library-page .progress-link svg{width:14px;height:14px;flex-shrink:0}.article-page .progress-link:hover,.library-page .progress-link:hover{color:var(--cf-color-text);border-color:var(--cf-color-primary-border);background:var(--cf-color-surface-hover)}.article-page .progress-link:focus-visible,.library-page .progress-link:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.article-page .progress-link[aria-busy=true],.library-page .progress-link[aria-busy=true]{cursor:progress}.article-page .progress-link-count,.library-page .progress-link-count{min-width:18px;padding:0 var(--cf-space-100);border-radius:var(--cf-radius-full);background:var(--cf-color-success-subtle);color:var(--cf-color-success);font-size:var(--cf-font-size-250);text-align:center}.article-page .progress-link.is-header,.library-page .progress-link.is-header{min-height:32px;padding:0 var(--cf-space-300);border-radius:var(--cf-radius-full)}@media(max-width:768px){.article-page .progress-link.is-header,.library-page .progress-link.is-header{padding:0 var(--cf-space-200)}.article-page .progress-link.is-header .progress-link-count,.article-page .progress-link.is-header .progress-link-label,.library-page .progress-link.is-header .progress-link-count,.library-page .progress-link.is-header .progress-link-label{display:none}}@media(max-width:1200px){.article-page .shell-header .progress-link.is-header,.library-page .shell-header .progress-link.is-header{padding:0 var(--cf-space-200)}.article-page .shell-header .progress-link.is-header .progress-link-label,.library-page .shell-header .progress-link.is-header .progress-link-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}}@media(max-width:768px){.article-page .shell-header .progress-link.is-header,.library-page .shell-header .progress-link.is-header{display:none}}.article-page .progress-link.is-sidebar,.library-page .progress-link.is-sidebar{width:100%;gap:var(--cf-space-250);padding:var(--cf-space-200) var(--cf-space-250);border:0;border-radius:var(--cf-radius-150);background:none;font:inherit;font-size:var(--cf-font-size-300);text-align:left}.article-page .progress-link.is-sidebar .progress-link-count,.library-page .progress-link.is-sidebar .progress-link-count{margin-left:auto}.article-page .progress-link.is-sidebar:hover,.library-page .progress-link.is-sidebar:hover{background:var(--cf-color-surface-raised)}.article-page .progress-sign-in-wrap,.library-page .progress-sign-in-wrap{display:inline-flex;flex-direction:column;gap:var(--cf-space-100)}.article-page .progress-button,.article-page .progress-sign-in,.library-page .progress-button,.library-page .progress-sign-in{display:inline-flex;align-items:center;gap:var(--cf-space-200);min-height:34px;padding:0 var(--cf-space-400);border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-full);background:var(--cf-color-primary-subtle);color:var(--cf-color-primary);font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-strong);white-space:nowrap;cursor:pointer;transition:background-color var(--cf-duration-fast),border-color var(--cf-duration-fast)}.article-page .progress-button svg,.article-page .progress-sign-in svg,.library-page .progress-button svg,.library-page .progress-sign-in svg{width:14px;height:14px;flex-shrink:0}.article-page .progress-button:hover,.article-page .progress-sign-in:hover,.library-page .progress-button:hover,.library-page .progress-sign-in:hover{background:var(--cf-color-primary-subtle-hover);border-color:var(--cf-color-primary-border-hover)}.article-page .progress-button:focus-visible,.article-page .progress-sign-in:focus-visible,.library-page .progress-button:focus-visible,.library-page .progress-sign-in:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.article-page .progress-sign-in-error,.library-page .progress-sign-in-error{font-size:var(--cf-font-size-250);color:var(--cf-color-danger)}.article-page .progress-text-button,.library-page .progress-text-button{padding:var(--cf-space-100) var(--cf-space-150);border:0;border-radius:var(--cf-radius-100);background:none;color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.article-page .progress-text-button:hover,.library-page .progress-text-button:hover{color:var(--cf-color-text)}.article-page .progress-text-button:focus-visible,.library-page .progress-text-button:focus-visible{outline:2px solid var(--cf-color-focus-ring)}.article-page .progress-meter,.library-page .progress-meter{width:100%;height:4px;display:block;border:0;border-radius:var(--cf-radius-100);background:var(--cf-color-border);accent-color:var(--cf-color-success);-webkit-appearance:none;-moz-appearance:none;appearance:none}.article-page .progress-meter::-webkit-progress-bar,.library-page .progress-meter::-webkit-progress-bar{background:var(--cf-color-border);border-radius:var(--cf-radius-100)}.article-page .progress-meter::-webkit-progress-value,.library-page .progress-meter::-webkit-progress-value{background:var(--cf-color-success);border-radius:var(--cf-radius-100)}.article-page .progress-meter::-moz-progress-bar,.library-page .progress-meter::-moz-progress-bar{background:var(--cf-color-success);border-radius:var(--cf-radius-100)}.article-page .lesson-progress-status{display:flex;align-items:center;gap:var(--cf-space-200);margin:var(--cf-space-250) var(--cf-space-150) 0;font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}.article-page .lesson-progress-status.is-finished{color:var(--cf-color-success)}.article-page .lesson-progress-status.is-waiting{color:var(--cf-color-warning)}.article-page .lesson-progress-dot{width:6px;height:6px;flex-shrink:0;border-radius:var(--cf-radius-round);border:1px solid}.is-finished>.article-page .lesson-progress-dot,.is-waiting>.article-page .lesson-progress-dot{background:currentColor}.article-page .lesson-finish{margin-top:var(--cf-space-900);padding:var(--cf-space-450) var(--cf-space-500);border:1px solid var(--cf-color-border);border-left:3px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-250);background:var(--cf-color-surface)}.article-page .lesson-finish p{margin:var(--cf-space-150) 0 0;max-width:640px;font-size:var(--cf-font-size-325);line-height:var(--cf-line-height-170);color:var(--cf-color-text-secondary)}.article-page .lesson-finish strong{color:var(--cf-color-text-strong);font-weight:var(--cf-font-weight-semibold)}.article-page .lesson-finish.is-finished{border-left-color:var(--cf-color-success)}.article-page .lesson-finish.is-finished .lesson-finish-kicker{color:var(--cf-color-success)}.article-page .lesson-finish.is-waiting{border-color:var(--cf-color-warning-border);border-left-color:var(--cf-color-warning);background:var(--cf-color-warning-subtle)}.article-page .lesson-finish.is-waiting .lesson-finish-kicker{color:var(--cf-color-warning)}.article-page .lesson-finish.is-loading{min-height:120px;border-style:dashed;background:none}@media(max-width:768px){.article-page .lesson-finish{margin-top:var(--cf-space-700);padding:var(--cf-space-400)}}.article-page .lesson-finish-kicker{font:var(--cf-font-size-225)/var(--cf-line-height-160) var(--cf-font-mono);letter-spacing:var(--cf-letter-spacing-wider);color:var(--cf-color-text-tertiary)}.article-page .lesson-finish-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-300);margin-top:var(--cf-space-400)}.article-page .nav-lesson.is-finished .nav-lesson-index{color:var(--cf-color-success)}.article-page .nav-lesson-done{display:flex;align-self:center;flex-shrink:0;margin-left:auto;color:var(--cf-color-success)}.article-page .nav-lesson-done svg{width:12px;height:12px}.library-page .progress-loading{min-height:160px;margin:0;font-size:var(--cf-font-size-300);color:var(--cf-color-text-tertiary)}.library-page .progress-overview{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:var(--cf-space-350);gap:var(--cf-space-350)}@media(max-width:768px){.library-page .progress-overview{grid-template-columns:minmax(0,1fr)}}.library-page .progress-kicker,.library-page .progress-stage-kicker{font:var(--cf-font-size-225)/var(--cf-line-height-160) var(--cf-font-mono);letter-spacing:var(--cf-letter-spacing-wider);color:var(--cf-color-text-tertiary)}.library-page .progress-resume,.library-page .progress-summary{display:flex;flex-direction:column;gap:var(--cf-space-150);padding:var(--cf-space-450);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface)}.library-page .progress-resume{border-color:var(--cf-color-primary-border);transition:background-color var(--cf-duration-fast),border-color var(--cf-duration-fast)}.library-page .progress-resume>strong{font-size:var(--cf-font-size-450);font-weight:var(--cf-font-weight-semibold);line-height:var(--cf-line-height-140)}.library-page .progress-resume:hover:not(.is-empty){background:var(--cf-color-surface-raised);border-color:var(--cf-color-primary-border-hover)}.library-page .progress-resume.is-empty{border-style:dashed;border-color:var(--cf-color-border-control)}.library-page .progress-resume.is-empty .progress-kicker{color:var(--cf-color-text-tertiary)}.library-page .progress-resume-summary{font-size:var(--cf-font-size-325);line-height:var(--cf-line-height-170);color:var(--cf-color-text-secondary)}.library-page .progress-resume-cta{display:flex;align-items:center;gap:var(--cf-space-200);margin-top:auto;padding-top:var(--cf-space-200);font-size:var(--cf-font-size-275);color:var(--cf-color-primary)}.library-page .progress-resume-cta svg{width:13px;height:13px}.library-page .progress-count{font-size:var(--cf-font-size-700);font-weight:var(--cf-font-weight-semibold);line-height:var(--cf-line-height-130);color:var(--cf-color-text-strong)}.library-page .progress-count span{font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-regular);color:var(--cf-color-text-tertiary)}.library-page .progress-summary>.progress-meter{margin:var(--cf-space-100) 0 var(--cf-space-150)}.library-page .progress-guest{display:flex;flex-direction:column;align-items:flex-start;gap:var(--cf-space-300);padding-top:var(--cf-space-300);border-top:1px dashed var(--cf-color-border-control)}.library-page .progress-guest p{margin:0;font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-160);color:var(--cf-color-text-secondary)}.library-page .progress-guest strong{color:var(--cf-color-text);font-weight:var(--cf-font-weight-strong)}.library-page .progress-insights{position:relative;margin-top:var(--cf-space-350)}.library-page .progress-insights.is-locked{max-height:360px;overflow:hidden}.library-page .progress-insights-preview{filter:blur(5px);opacity:.55;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.library-page .progress-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--cf-space-250);padding:var(--cf-space-500);text-align:center}.library-page .progress-lock>strong{font-size:var(--cf-font-size-450);font-weight:var(--cf-font-weight-semibold);color:var(--cf-color-text-strong)}.library-page .progress-lock p{max-width:460px;margin:0;font-size:var(--cf-font-size-325);line-height:var(--cf-line-height-170);color:var(--cf-color-text-secondary)}.library-page .progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--cf-space-250);gap:var(--cf-space-250);margin:0 0 var(--cf-space-350)}.library-page .progress-stats>div{padding:var(--cf-space-350) var(--cf-space-400);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-200);background:var(--cf-color-surface)}.library-page .progress-stats dt{font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}.library-page .progress-stats dd{margin:var(--cf-space-100) 0 0;font-size:var(--cf-font-size-400);font-weight:var(--cf-font-weight-semibold);color:var(--cf-color-text-strong)}.library-page .progress-stats dd span{font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-regular);color:var(--cf-color-text-tertiary)}@media(max-width:560px){.library-page .progress-stats{grid-template-columns:minmax(0,1fr)}}.library-page .progress-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));grid-gap:var(--cf-space-250);gap:var(--cf-space-250)}.library-page .progress-stages a{height:100%;display:flex;flex-direction:column;gap:var(--cf-space-100);padding:var(--cf-space-300) var(--cf-space-350);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-200);background:var(--cf-color-surface);transition:border-color var(--cf-duration-fast)}.library-page .progress-stages a:hover{border-color:var(--cf-color-primary-border-hover)}.library-page .progress-stages strong{font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-strong);line-height:var(--cf-line-height-140)}.library-page .progress-stages .progress-meter{margin-top:auto}.library-page .progress-stage-count{padding-top:var(--cf-space-100);font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}.library-page .module-finished{color:var(--cf-color-success);border:1px solid var(--cf-color-success-border);background:var(--cf-color-success-subtle);padding:0 var(--cf-space-150);border-radius:var(--cf-radius-100)}.library-page .lesson-done{display:inline-flex;align-items:center;gap:var(--cf-space-100);color:var(--cf-color-success)}.library-page .lesson-done svg{width:13px;height:13px}.library-page .lesson-row.is-finished .lesson-index{color:var(--cf-color-success)}.library-page .progress-intro p{max-width:640px}.library-page .progress-intro strong{color:var(--cf-color-text-strong);font-weight:var(--cf-font-weight-semibold)}.library-page .progress-intro .progress-sign-in-wrap{margin-top:var(--cf-space-400)}.library-page .progress-settings-link{color:var(--cf-color-primary)}.library-page .progress-settings-link:hover{color:var(--cf-color-primary-hover)}.library-page .progress-empty{margin:0;padding:var(--cf-space-450);border:1px dashed var(--cf-color-border-control);border-radius:var(--cf-radius-250);font-size:var(--cf-font-size-325);color:var(--cf-color-text-secondary)}.library-page .progress-history{list-style:none;margin:0;padding:0;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface);overflow:hidden}.library-page .progress-history li+li{border-top:1px solid var(--cf-color-border)}.library-page .progress-history a{display:flex;align-items:center;gap:var(--cf-space-350);padding:var(--cf-space-300) var(--cf-space-450);transition:background-color var(--cf-duration-fast)}.library-page .progress-history a:hover{background:var(--cf-color-primary-faint)}.library-page .progress-history-index{width:34px;flex-shrink:0;font:var(--cf-font-size-225)/var(--cf-line-height-160) var(--cf-font-mono);color:var(--cf-color-success)}.library-page .progress-history-title{flex:1 1;min-width:0}.library-page .progress-history-title strong{display:block;font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-medium)}.library-page .progress-history-title span{font-size:var(--cf-font-size-275);color:var(--cf-color-text-tertiary)}.library-page .progress-history-meta{display:flex;align-items:center;gap:var(--cf-space-300);flex-shrink:0;font-size:var(--cf-font-size-250);color:var(--cf-color-text-tertiary)}@media(max-width:560px){.library-page .progress-history-meta{flex-direction:column;align-items:flex-end;gap:var(--cf-space-050)}}.library-page .progress-history-quiz{padding:0 var(--cf-space-150);border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-100);background:var(--cf-color-primary-subtle);color:var(--cf-color-primary)}.library-page .progress-settings{border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface)}.library-page .progress-setting{display:flex;align-items:center;justify-content:space-between;gap:var(--cf-space-500);padding:var(--cf-space-450)}.library-page .progress-setting+.progress-setting{border-top:1px solid var(--cf-color-border)}.library-page .progress-setting strong{font-size:var(--cf-font-size-350);font-weight:var(--cf-font-weight-strong)}.library-page .progress-setting p{max-width:560px;margin:var(--cf-space-100) 0 0;font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-160);color:var(--cf-color-text-secondary)}@media(max-width:560px){.library-page .progress-setting{flex-direction:column;align-items:flex-start;gap:var(--cf-space-300)}}.library-page .progress-setting .progress-setting-note{color:var(--cf-color-success)}.library-page .progress-setting .progress-setting-error{color:var(--cf-color-danger)}.library-page .progress-button.is-quiet{border-color:var(--cf-color-border-control);background:var(--cf-color-surface-raised);color:var(--cf-color-text-secondary)}.library-page .progress-button.is-quiet:hover{border-color:var(--cf-color-border-hover);background:var(--cf-color-surface-hover);color:var(--cf-color-text)}.library-page .progress-button.is-danger{border-color:var(--cf-color-danger-border);background:var(--cf-color-danger-subtle);color:var(--cf-color-danger)}.library-page .progress-button.is-danger:hover{background:var(--cf-color-danger-subtle-hover)}.library-page .progress-button.is-danger-solid{border-color:var(--cf-color-danger);background:var(--cf-color-danger);color:var(--cf-color-on-danger)}.library-page .progress-button.is-danger-solid:hover{background:var(--cf-color-danger-hover);border-color:var(--cf-color-danger-hover)}.library-page .progress-button:disabled{opacity:.5;cursor:not-allowed}.library-page .progress-confirm{margin:0 var(--cf-space-450) var(--cf-space-450);padding:var(--cf-space-400);border:1px solid var(--cf-color-danger-border);border-left:3px solid var(--cf-color-danger);border-radius:var(--cf-radius-200);background:var(--cf-color-danger-subtle)}.library-page .progress-confirm strong{font-size:var(--cf-font-size-350);color:var(--cf-color-text-strong)}.library-page .progress-confirm p{margin:var(--cf-space-150) 0 0;font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-160);color:var(--cf-color-text-secondary)}.library-page .progress-confirm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-300);margin-top:var(--cf-space-400)}.shell-search{display:inline-flex;align-items:center;gap:var(--cf-space-200);width:280px;height:34px;padding:0 var(--cf-space-200) 0 var(--cf-space-300);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-200);background:var(--cf-color-surface-input);color:var(--cf-color-text-tertiary);font:inherit;font-size:var(--cf-font-size-300);text-align:left;cursor:pointer;transition:border-color var(--cf-duration-fast),color var(--cf-duration-fast)}.shell-search svg{width:15px;height:15px;flex-shrink:0}.shell-search kbd{margin-left:auto}.shell-search:hover{border-color:var(--cf-color-border-hover);color:var(--cf-color-text-secondary)}.shell-search:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}@media(max-width:1200px){.shell-search{width:220px}}@media(max-width:1020px){.shell-search{width:34px;padding:0;justify-content:center}.shell-search .shell-search-label,.shell-search kbd{display:none}}.article-page .shell-search.is-lesson{width:auto}.article-page .shell-search.is-lesson .shell-search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:1020px){.article-page .shell-search.is-lesson{width:34px}}@media(max-width:768px){.article-page .shell-search.is-lesson{display:none}}.shell-search-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.search-dialog kbd,.shell-search kbd{padding:0 var(--cf-space-100);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-100);background:var(--cf-color-surface-raised);color:var(--cf-color-text-tertiary);font:var(--cf-font-size-250)/var(--cf-line-height-160) var(--cf-font-mono)}.search-dialog{width:min(620px,100vw - 32px);max-width:none;margin:12vh auto 0;padding:0;border:0;background:rgba(0,0,0,0);color:var(--cf-color-text);font-family:var(--cf-font-sans)}.search-dialog::-webkit-backdrop{background:var(--cf-color-scrim-strong)}.search-dialog::backdrop{background:var(--cf-color-scrim-strong)}.search-box{border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-300);background:var(--cf-color-surface-overlay);box-shadow:var(--cf-shadow-xl);overflow:hidden}.search-input{display:flex;align-items:center;gap:var(--cf-space-300);padding:var(--cf-space-350) var(--cf-space-400);border-bottom:1px solid var(--cf-color-border);color:var(--cf-color-text-tertiary)}.search-input svg{width:17px;height:17px;flex-shrink:0}.search-input input{flex:1 1;min-width:0;border:0;background:rgba(0,0,0,0);color:var(--cf-color-text-strong);font:inherit;font-size:var(--cf-font-size-400);outline:none}.search-input input::placeholder{color:var(--cf-color-text-muted)}.search-results{max-height:min(420px,50vh);margin:0;padding:var(--cf-space-150);overflow-y:auto;list-style:none}.search-result{display:flex;align-items:center;gap:var(--cf-space-300);padding:var(--cf-space-250) var(--cf-space-300);border-radius:var(--cf-radius-200);color:var(--cf-color-text-tertiary);cursor:pointer}.search-result>svg{width:15px;height:15px;flex-shrink:0}.search-result[aria-selected=true]{background:var(--cf-color-surface-active);color:var(--cf-color-text-secondary)}.search-result-text{flex:1 1;min-width:0}.search-result-text strong{display:block;overflow:hidden;color:var(--cf-color-text-strong);font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-medium);white-space:nowrap;text-overflow:ellipsis}.search-result-text span{font-size:var(--cf-font-size-275)}.search-result.is-soon strong{color:var(--cf-color-text-secondary)}.search-result-soon{flex-shrink:0;padding:0 var(--cf-space-150);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-100);font-size:var(--cf-font-size-250)}.search-empty{margin:0;padding:var(--cf-space-600) var(--cf-space-400);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-325);text-align:center}.search-hint{display:flex;gap:var(--cf-space-400);margin:0;padding:var(--cf-space-250) var(--cf-space-400);border-top:1px solid var(--cf-color-border);color:var(--cf-color-text-muted);font-size:var(--cf-font-size-250)}@media(max-width:768px){.search-hint{display:none}}.tour-ring{position:fixed;z-index:var(--cf-z-spotlight);border:2px solid var(--cf-color-primary-solid);border-radius:var(--cf-radius-250);box-shadow:var(--cf-shadow-glow);pointer-events:none;transition:top var(--cf-duration-normal) var(--cf-ease-out),left var(--cf-duration-normal) var(--cf-ease-out),width var(--cf-duration-normal) var(--cf-ease-out),height var(--cf-duration-normal) var(--cf-ease-out)}.tour-tip{position:fixed;z-index:var(--cf-z-overlay);width:min(320px,100vw - 16px);padding:var(--cf-space-400);border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-300);background:var(--cf-color-surface-overlay);box-shadow:var(--cf-shadow-xl);color:var(--cf-color-text-secondary);font-family:var(--cf-font-sans);font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-160);outline:none;animation:tour-in var(--cf-duration-normal) var(--cf-ease-out)}.tour-tip:before{content:"";position:absolute;left:calc(var(--tour-arrow) - 6px);width:12px;height:12px;border:inherit;background:inherit;transform:rotate(45deg)}.tour-tip.is-below:before{top:-7px;border-right:0;border-bottom:0}.tour-tip.is-above:before{bottom:-7px;border-top:0;border-left:0}.tour-tip:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.tour-tip p{margin:var(--cf-space-150) 0 0}@media(prefers-reduced-motion:reduce){.tour-tip{animation:none}}.tour-count{display:block;margin-bottom:var(--cf-space-150);color:var(--cf-color-text-muted);font-size:var(--cf-font-size-250)}.tour-title{display:block;color:var(--cf-color-text-strong);font-size:var(--cf-font-size-350);font-weight:var(--cf-font-weight-semibold)}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--cf-space-300);margin-top:var(--cf-space-400)}.tour-nav{display:flex;gap:var(--cf-space-200)}.tour-button,.tour-skip{font:inherit;cursor:pointer}.tour-button:focus-visible,.tour-skip:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.tour-skip{padding:var(--cf-space-100) 0;white-space:nowrap;border:0;background:none;color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}.tour-button,.tour-skip:hover{color:var(--cf-color-text)}.tour-button{display:inline-flex;align-items:center;gap:var(--cf-space-150);min-height:32px;padding:0 var(--cf-space-350);border:1px solid var(--cf-color-border-strong);border-radius:var(--cf-radius-200);background:var(--cf-color-surface-raised);font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-semibold);white-space:nowrap}.tour-button svg{width:14px;height:14px}.tour-button:hover{background:var(--cf-color-surface-hover)}.tour-button.is-primary{border-color:var(--cf-color-primary-solid);background:var(--cf-color-primary-solid);color:var(--cf-color-on-primary-solid)}.tour-button.is-primary:hover{border-color:var(--cf-color-primary-solid-hover);background:var(--cf-color-primary-solid-hover)}@keyframes tour-in{0%{opacity:0;transform:translateY(4px)}}.shell-header{position:-webkit-sticky;position:sticky;top:0;z-index:var(--cf-z-header);display:flex;align-items:center;gap:var(--cf-space-300);height:56px;padding-inline:var(--cf-space-500);border-bottom:1px solid var(--cf-color-border);background:var(--cf-color-bg-subtle)}@media(max-width:768px){.shell-header{padding-inline:var(--cf-space-300);gap:var(--cf-space-200)}}.shell-header .shell-menu-toggle{display:none;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-150);background:var(--cf-color-surface);color:var(--cf-color-text-secondary)}.shell-header .shell-menu-toggle svg{width:17px;height:17px}@media(max-width:1020px){.shell-header .shell-menu-toggle.is-below-lg{display:grid}}@media(max-width:768px){.shell-header .shell-menu-toggle.is-below-md{display:grid}}.shell-header .shell-brand{display:flex;align-items:center;gap:var(--cf-space-250);flex-shrink:0;font-size:var(--cf-font-size-350);font-weight:var(--cf-font-weight-bold);letter-spacing:var(--cf-letter-spacing-snug)}@media(max-width:430px){.shell-header .shell-brand .shell-brand-name{display:none}}.shell-header .shell-tabs{display:flex;align-self:stretch;gap:var(--cf-space-100);margin-left:var(--cf-space-700)}.shell-header .shell-tabs a{display:flex;align-items:center;padding:0 var(--cf-space-300);border-bottom:2px solid rgba(0,0,0,0);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-medium);transition:color var(--cf-duration-fast),border-color var(--cf-duration-fast)}.shell-header .shell-tabs a:hover{color:var(--cf-color-text-strong)}.shell-header .shell-tabs a[aria-current=page]{border-bottom-color:var(--cf-color-primary-solid);color:var(--cf-color-text-strong)}.shell-header .shell-tabs a:focus-visible{outline-offset:-4px}@media(max-width:1020px){.shell-header .shell-tabs{display:none}}.shell-header .shell-actions{display:flex;align-items:center;gap:var(--cf-space-250);margin-left:auto}@media(max-width:768px){.shell-header .shell-actions{gap:var(--cf-space-150)}}.shell-header a{color:inherit;text-decoration:none}.shell-header button{font:inherit;cursor:pointer}.shell-header .brand-mark{display:grid;grid-template-columns:auto auto;align-content:center;justify-content:center;width:33px;height:33px;border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-200);background:var(--cf-color-primary-subtle);font-size:var(--cf-font-size-550);font-weight:var(--cf-font-weight-heavy);line-height:var(--cf-line-height-100);letter-spacing:var(--cf-letter-spacing-tighter)}.shell-header .brand-mark span{color:var(--cf-color-accent)}.shell-header .brand-light{color:var(--cf-color-brand-soft);font-weight:var(--cf-font-weight-regular)}