.site-menu{margin-left:var(--cf-space-600)}@media(max-width:1200px){.site-menu{margin-left:var(--cf-space-300)}}@media(max-width:1020px){.site-menu{display:none}}.site-menu-list{display:flex;align-items:center;gap:var(--cf-space-100);margin:0;padding:0;list-style:none}.site-menu-item{position:relative}.site-menu-trigger{display:inline-flex;align-items:center;gap:var(--cf-space-100);height:34px;padding:0 var(--cf-space-250) 0 var(--cf-space-300);border:1px solid rgba(0,0,0,0);border-radius:var(--cf-radius-full);background:none;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-medium);white-space:nowrap;transition:color var(--cf-duration-fast),background-color var(--cf-duration-fast),border-color var(--cf-duration-fast)}.site-menu-trigger svg{width:14px;height:14px;color:var(--cf-color-text-tertiary);transition:transform var(--cf-duration-fast) var(--cf-ease-out)}.site-menu-trigger:hover{background:var(--cf-color-surface-hover);color:var(--cf-color-text-strong)}.site-menu-trigger.is-current{border-color:var(--cf-color-border);background:var(--cf-color-surface);color:var(--cf-color-text-strong)}.site-menu-trigger[aria-expanded=true]{border-color:var(--cf-color-border-hover);background:var(--cf-color-surface-active);color:var(--cf-color-text-strong)}.site-menu-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.site-menu-trigger:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.site-menu-panel{position:absolute;top:calc(100% + 10px);left:0;z-index:var(--cf-z-popover);display:grid;grid-gap:var(--cf-space-400);gap:var(--cf-space-400);padding:var(--cf-space-300);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-400);background:var(--cf-color-surface-raised);box-shadow:var(--cf-shadow-xl);animation:site-menu-open var(--cf-duration-fast) var(--cf-ease-out)}.site-menu-panel[hidden]{display:none}.site-menu-panel.is-courses{width:640px}.site-menu-panel.is-courses .site-menu-group>ul,.site-menu-panel.is-practice{grid-template-columns:repeat(2,minmax(0,1fr))}.site-menu-panel.is-practice{width:620px}.site-menu-panel.is-tools{width:340px}@media(prefers-reduced-motion:reduce){.site-menu-panel{animation:none}}@keyframes site-menu-open{0%{opacity:0;transform:translateY(-4px)}}.site-menu-group{display:grid;align-content:start;grid-gap:var(--cf-space-100);gap:var(--cf-space-100)}.site-menu-group ul{display:grid;grid-gap:var(--cf-space-050);gap:var(--cf-space-050);margin:0;padding:0;list-style:none}.site-menu-heading{margin:0;padding:var(--cf-space-150) var(--cf-space-250) var(--cf-space-100);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-250);font-weight:var(--cf-font-weight-semibold);letter-spacing:var(--cf-letter-spacing-wide);text-transform:uppercase}.site-menu-link{display:flex;align-items:flex-start;gap:var(--cf-space-300);padding:var(--cf-space-250);border-radius:var(--cf-radius-300);transition:background-color var(--cf-duration-fast)}.site-menu-link:hover{background:var(--cf-color-surface-hover)}.site-menu-link[aria-current]{background:var(--cf-color-primary-subtle)}.site-menu-link[aria-current] .site-menu-text strong{color:var(--cf-color-primary)}.site-menu-link:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:-2px}.site-menu-icon{display:grid;flex-shrink:0;place-items:center;width:36px;height:36px;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-250);background:var(--cf-color-surface);color:var(--cf-color-text-secondary)}.site-menu-icon .topic-logo{display:grid;place-items:center}.site-menu-icon svg{width:20px;height:20px}.site-menu-text{display:grid;grid-gap:var(--cf-space-050);gap:var(--cf-space-050);min-width:0}.site-menu-text strong{color:var(--cf-color-text-strong);font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-semibold)}.site-menu-text span{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-300);line-height:var(--cf-line-height-140)}.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-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-light{color:var(--cf-color-brand-soft);font-weight:var(--cf-font-weight-regular)}