.cf-signin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:signin-overlay-in .22s ease}@keyframes signin-overlay-in{0%{opacity:0}to{opacity:1}}.cf-signin-overlay .dialog.dialog--signin{display:block!important;width:100%;max-width:420px;margin:0;animation:signin-dialog-in .28s cubic-bezier(.22,1,.36,1)}@keyframes signin-dialog-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cf-signin-overlay .dialog__content{min-height:400px;display:flex;flex-direction:column}.cf-signin-overlay .dialog--signin__main{position:relative;border-radius:14px;border:1px solid var(--border, #3d2e1c);box-shadow:0 24px 48px var(--shadow, rgba(0, 0, 0, .35)),0 0 0 1px color-mix(in srgb,var(--accent, #ef9f27) 8%,transparent);padding:24px 24px 28px;background-color:var(--bg-card, #1a1410);flex-grow:1;overflow-y:auto;color:var(--text-primary, #f5e6d0);font-family:var(--font-body, "Noto Sans SC", sans-serif)}.cf-signin-overlay .dialog--signin__header{display:flex;flex-direction:column;gap:18px;margin-bottom:4px}.cf-signin-overlay .dialog--signin__close-container{display:flex;justify-content:flex-end;margin:-4px -4px 0 0}.cf-signin-overlay .close-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:20px;line-height:1;color:var(--text-muted, #6b5a42);cursor:pointer;background:transparent;border:1px solid transparent;border-radius:8px;padding:0;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease}.cf-signin-overlay .close-button:hover{color:var(--text-primary, #f5e6d0);background:var(--accent-dim, rgba(239, 159, 39, .12));border-color:var(--accent-border, rgba(239, 159, 39, .2))}.cf-signin-overlay .close-button:focus-visible{outline:2px solid var(--accent, #ef9f27);outline-offset:2px}.cf-signin-overlay .tab-container{display:flex;gap:4px;padding:4px;border-radius:10px;background:var(--bg-panel, #211a12);border:1px solid var(--border-light, #2d2318);box-shadow:none;overflow:visible;margin-bottom:0}.cf-signin-overlay .tab-button{flex:1;padding:10px 16px;cursor:pointer;border:none;background:transparent;font-family:var(--font-display, "Chakra Petch", "Noto Sans SC", sans-serif);font-weight:600;font-size:14px;color:var(--text-secondary, #9e8a70);border-radius:7px;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.cf-signin-overlay .tab-button:first-child,.cf-signin-overlay .tab-button:last-child{border-radius:7px}.cf-signin-overlay .tab-button:hover:not(.active){color:var(--text-primary, #f5e6d0);background:color-mix(in srgb,var(--text-primary, #f5e6d0) 4%,transparent)}.cf-signin-overlay .tab-button.active{color:var(--on-accent, #0f0c08);background:linear-gradient(135deg,var(--accent, #ef9f27),var(--accent-hover, #d48a0c));box-shadow:0 2px 12px var(--cta-shadow, rgba(239, 159, 39, .3))}.cf-signin-overlay .text-center{text-align:center}.cf-signin-overlay .wechat-auth--pane-login>.text-center,.cf-signin-overlay .wechat-auth--register-step2>.text-center{font-size:14px;color:var(--text-secondary, #9e8a70);margin:12px 0 4px;line-height:1.6;cursor:default;-webkit-user-select:none;user-select:none}.cf-signin-overlay .wechat-auth--qr-mount{margin-top:8px}.cf-signin-overlay .wechat-auth--qr-mount .columns{text-align:center}.cf-signin-overlay #cf-signin-qrcode{width:200px;height:200px;margin:16px auto 8px;display:block;object-fit:contain;background:#fff;padding:10px;border-radius:12px;border:1px solid var(--border, #3d2e1c);box-shadow:0 8px 24px var(--shadow, rgba(0, 0, 0, .35)),0 0 0 1px color-mix(in srgb,var(--accent, #ef9f27) 12%,transparent)}.cf-signin-overlay #cf-signin-qrcode--placeholder{width:200px;height:200px;margin:16px auto 8px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted, #6b5a42);font-size:13px;border-radius:12px;border:1px dashed var(--border, #3d2e1c);background:var(--bg-panel, #211a12)}.cf-signin-overlay #cf-signin-qrcode--placeholder.is-loading:before{content:"";width:36px;height:36px;border-radius:50%;border:2px solid var(--border, #3d2e1c);border-top-color:var(--accent, #ef9f27);animation:signin-qr-spin .9s linear infinite}.cf-signin-overlay #cf-signin-qrcode--placeholder.is-error{border-style:dashed;color:var(--text-muted, #6b5a42)}@keyframes signin-qr-spin{to{transform:rotate(360deg)}}.cf-signin-overlay #wechat-qr-load-hint{margin-top:8px;color:var(--danger, #f85149);font-size:13px}.cf-signin-overlay #wechat-qr-retry{margin-top:10px;padding:8px 20px;border:1px solid var(--border, #3d2e1c);border-radius:8px;background:var(--bg-panel, #211a12);color:var(--text-secondary, #9e8a70);cursor:pointer;font-size:13px;font-family:var(--font-body, "Noto Sans SC", sans-serif);transition:color .2s ease,border-color .2s ease,background .2s ease}.cf-signin-overlay #wechat-qr-retry:hover{color:var(--accent, #ef9f27);border-color:color-mix(in srgb,var(--accent, #ef9f27) 45%,var(--border, #3d2e1c));background:var(--accent-dim, rgba(239, 159, 39, .12))}.cf-signin-overlay .wechat-auth--register-step1 .material.textbox{display:block;margin-bottom:0;font-size:13px;font-weight:500;color:var(--text-secondary, #9e8a70)}.cf-signin-overlay .wechat-auth--register-step1 input{width:100%;margin-top:8px;padding:11px 14px;border:1px solid var(--border, #3d2e1c);border-radius:8px;font-size:14px;box-sizing:border-box;background:var(--bg-panel, #211a12);color:var(--text-primary, #f5e6d0);transition:border-color .2s ease,box-shadow .2s ease}.cf-signin-overlay .wechat-auth--register-step1 input::placeholder{color:var(--text-muted, #6b5a42)}.cf-signin-overlay .wechat-auth--register-step1 input:focus{outline:none;border-color:var(--accent, #ef9f27);box-shadow:0 0 0 3px var(--accent-dim, rgba(239, 159, 39, .12))}.cf-signin-overlay .wechat-auth--password-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light, #2d2318)}.cf-signin-overlay .wechat-auth--password-panel .material.textbox{display:block;margin-bottom:12px;font-size:13px;font-weight:500;color:var(--text-secondary, #9e8a70)}.cf-signin-overlay .wechat-auth--password-panel .material.textbox input{width:100%;margin-top:8px;padding:11px 14px;border:1px solid var(--border, #3d2e1c);border-radius:8px;font-size:14px;box-sizing:border-box;background:var(--bg-panel, #211a12);color:var(--text-primary, #f5e6d0);transition:border-color .2s ease,box-shadow .2s ease}.cf-signin-overlay .wechat-auth--password-panel .material.textbox input:focus{outline:none;border-color:var(--accent, #ef9f27);box-shadow:0 0 0 3px var(--accent-dim, rgba(239, 159, 39, .12))}.cf-signin-overlay .wechat-auth--password-panel label.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, #9e8a70);margin-bottom:12px;cursor:pointer}.cf-signin-overlay .expanded.rounded.primary.button{width:100%;padding:11px 16px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent, #ef9f27),var(--accent-hover, #d48a0c));color:var(--on-accent, #0f0c08);font-family:var(--font-display, "Chakra Petch", "Noto Sans SC", sans-serif);font-weight:600;font-size:14px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 16px var(--cta-shadow, rgba(239, 159, 39, .3))}.cf-signin-overlay .expanded.rounded.primary.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px var(--cta-shadow-hover, rgba(239, 159, 39, .45))}.cf-signin-overlay .expanded.rounded.primary.button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.cf-signin-overlay .supplementary{font-size:12px;color:var(--text-muted, #6b5a42)}.cf-signin-overlay .supplementary a{color:var(--accent, #ef9f27);text-decoration:none;transition:color .2s ease}.cf-signin-overlay .supplementary a:hover{color:var(--accent-hover, #d48a0c);text-decoration:underline}.cf-signin-overlay .wechat-auth__login-hint{margin:12px 0 4px;padding:10px 12px;font-size:13px;line-height:1.55;color:var(--text-secondary, #9e8a70);text-align:center;border-radius:8px;background:var(--accent-dim, rgba(239, 159, 39, .12));border:1px solid var(--accent-border, rgba(239, 159, 39, .2))}.cf-signin-overlay .wechat-auth__inline-error{margin:8px 0 4px;padding:8px 12px;font-size:13px;color:var(--danger, #f85149);text-align:center;border-radius:8px;background:color-mix(in srgb,var(--danger, #f85149) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger, #f85149) 25%,transparent)}.user-menu{position:relative;flex-shrink:0}.user-menu--fixed{position:fixed;top:14px;right:20px;z-index:1300}.user-menu__trigger{width:36px;height:36px;padding:0;border:1px solid var(--border, rgba(128, 128, 128, .35));border-radius:50%;background:var(--bg-panel, rgba(128, 128, 128, .12));cursor:pointer;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.user-menu__trigger:hover{border-color:var(--accent, #ef9f27);box-shadow:0 0 0 2px var(--accent-dim, rgba(239, 159, 39, .12))}.user-menu__trigger:focus-visible{outline:2px solid var(--accent, #ef9f27);outline-offset:2px}.user-menu__trigger--guest{background:var(--user-menu-guest-bg, rgba(128, 128, 128, .18));border-color:var(--user-menu-guest-border, rgba(128, 128, 128, .32));color:var(--user-menu-guest-icon, var(--text-muted, #888))}html[data-theme-mode=light] .user-menu__trigger--guest{--user-menu-guest-bg: rgba(0, 0, 0, .06);--user-menu-guest-border: rgba(0, 0, 0, .12);--user-menu-guest-icon: var(--text-muted, #888)}html[data-theme-mode=dark] .user-menu__trigger--guest{--user-menu-guest-bg: rgba(255, 255, 255, .08);--user-menu-guest-border: rgba(255, 255, 255, .14);--user-menu-guest-icon: var(--text-muted, #6b5a42)}.user-menu__avatar{width:100%;height:100%;object-fit:cover;display:block}.user-menu__guest-icon{width:18px;height:18px}.user-menu__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:168px;padding:6px;border-radius:12px;border:1px solid var(--border, rgba(128, 128, 128, .35));background:var(--bg-card, #1a1410);box-shadow:0 12px 32px var(--shadow, rgba(0, 0, 0, .35));animation:userMenuFadeIn .15s ease}.user-menu--fixed .user-menu__dropdown{right:0}@keyframes userMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu__header{padding:8px 10px 6px;border-bottom:1px solid var(--border-light, var(--border));margin-bottom:4px}.user-menu__uname{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.user-menu__item{display:block;width:100%;padding:9px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease}.user-menu__item:hover{background:var(--accent-dim, rgba(239, 159, 39, .12));color:var(--text-primary)}.user-menu__item--danger:hover{background:#f851491f;color:var(--danger, #f85149)}:root{--content-max: 1200px;--content-max-narrow: 900px;--hero-scale: 1.2;--page-gutter: 48px}@media(max-width:1439px){:root{--content-max: 1040px;--content-max-narrow: 780px;--hero-scale: 1.08;--page-gutter: 40px}}@media(max-width:1279px){:root{--content-max: 960px;--content-max-narrow: 720px;--hero-scale: 1;--page-gutter: 32px}}@media(max-width:1023px){:root{--content-max: 920px;--content-max-narrow: 680px;--hero-scale: 1;--page-gutter: 32px}}@media(max-width:639px){:root{--hero-scale: 1.05;--page-gutter: 24px}}@media(min-width:1920px){:root{--content-max: 1440px;--content-max-narrow: 1080px}}@media(min-width:2560px){:root{--content-max: 1800px;--content-max-narrow: 1320px;--hero-scale: 1.28}}@media(min-width:3000px){:root{--content-max: 2000px;--content-max-narrow: 1480px}}@media(min-width:3840px){:root{--content-max: 2200px;--content-max-narrow: 1650px}}.nav{position:relative;z-index:100;height:64px;padding:0 var(--page-gutter);display:flex;align-items:center;gap:24px;background:transparent;border-bottom:1px solid transparent;transition:all .3s ease}.nav--fixed{position:fixed;top:0;left:0;right:0}.nav--scrolled{background:var(--nav-scrolled-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--border)}.nav__brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;color:inherit}.nav__brand:hover{opacity:.92}.nav__logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--on-accent)}.nav__title{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--text-primary);letter-spacing:.5px}.nav__title-accent{color:var(--accent)}.nav__links{display:flex;align-items:center;gap:24px;margin-left:24px;flex:1;min-width:0}.nav__link{font-size:13px;color:var(--text-secondary);transition:color .2s;text-decoration:none}.nav__link:hover{color:var(--text-primary)}.nav__link--active{color:var(--accent)}.nav__actions{margin-left:auto;display:flex;flex-direction:row;align-items:center;gap:12px;flex-shrink:0}.nav__theme,.nav__user,.nav__cta{display:flex;align-items:center;flex-shrink:0}.theme-switcher{position:relative}.cta-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--on-accent);font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 16px var(--cta-shadow, rgba(239, 159, 39, .25))}.cta-primary--sm{padding:8px 14px;font-size:12px}.cta-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--cta-shadow-hover, rgba(239, 159, 39, .35))}@media(max-width:768px){.nav__links{display:none}}:root{--bg: #0f0c08;--bg-card: #1a1410;--bg-panel: #211a12;--border: #3d2e1c;--border-light: #2d2318;--accent: #ef9f27;--accent-hover: #d48a0c;--accent-dim: rgba(239, 159, 39, .12);--accent-glow: rgba(239, 159, 39, .25);--accent-border: rgba(239, 159, 39, .2);--on-accent: #0f0c08;--text-primary: #f5e6d0;--text-secondary: #c9d1d9;--text-muted: #8b949e;--success: #3fb950;--danger: #f85149;--warning: #d29922;--info: #58a6ff;--teal: #2dd4bf;--purple: #c084fc;--badge-amber-bg: rgba(239, 159, 39, .12);--badge-amber-fg: #ef9f27;--badge-amber-border: rgba(239, 159, 39, .28);--badge-teal-bg: rgba(45, 212, 191, .1);--badge-teal-fg: #2dd4bf;--badge-teal-border: rgba(45, 212, 191, .28);--badge-info-bg: rgba(88, 166, 255, .1);--badge-info-fg: #58a6ff;--badge-info-border: rgba(88, 166, 255, .28);--nav-scrolled-bg: rgba(15, 12, 8, .92);--hero-glow-color: rgba(239, 159, 39, .08);--cta-shadow: rgba(239, 159, 39, .3);--cta-shadow-hover: rgba(239, 159, 39, .45);--accent-gradient-end: #ffd700;--font-display: "Chakra Petch", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", monospace;--fade-duration: .32s;--fade-distance: 14px}@keyframes gridPulse{0%,to{opacity:.03}50%{opacity:.07}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-primary);overflow-x:hidden;font-family:var(--font-body)}::selection{background:var(--accent-glow);color:var(--text-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-card)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}a{color:inherit;text-decoration:none}.cf-landing{background:var(--bg);min-height:100vh}.container{max-width:var(--content-max);margin:0 auto}.container--narrow{max-width:var(--content-max-narrow);margin:0 auto}.section{padding:56px var(--page-gutter);scroll-margin-top:72px}.section--cta{padding:48px var(--page-gutter)}.section-header{text-align:center;margin-bottom:40px}.section-label{display:block;font-family:var(--font-mono);font-size:var(--text-size-sm);color:var(--accent);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}.section-title{font-family:var(--font-display);font-size:var(--text-size-8xl);font-weight:700;color:var(--text-primary);margin:0 0 8px}.section-desc{font-size:var(--text-size-prose);color:var(--text-secondary);line-height:1.7;max-width:520px;margin:0 auto}.separator{max-width:var(--content-max);margin:0 auto;padding:0 var(--page-gutter)}.separator__line{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.fade-in{opacity:0;transform:translateY(var(--fade-distance));transition:opacity var(--fade-duration) ease var(--fade-delay, 0ms),transform var(--fade-duration) ease var(--fade-delay, 0ms)}.difficulty-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:var(--text-size-sm);font-weight:500;line-height:1.4;border:1px solid transparent}.difficulty-badge--easy{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.difficulty-badge--medium{color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent);border-color:color-mix(in srgb,var(--warning) 28%,transparent)}.difficulty-badge--hard{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 28%,transparent)}.fade-in--visible{opacity:1;transform:translateY(0)}.cta-primary{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--on-accent);border:none;padding:14px 32px;border-radius:10px;font-family:var(--font-display);font-size:var(--text-size-prose);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 24px var(--cta-shadow)}.cta-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px var(--cta-shadow-hover)}.cta-primary--sm{padding:8px 20px;font-size:var(--text-size-ui)}.cta-primary--lg{font-size:var(--text-size-base);padding:16px 40px}.cta-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--accent);border:1px solid var(--accent);padding:14px 32px;border-radius:10px;font-family:var(--font-display);font-size:var(--text-size-prose);font-weight:500;transition:all .3s ease}.cta-secondary:hover{background:var(--accent-dim);transform:translateY(-2px)}.hero{min-height:auto;display:flex;align-items:flex-start;justify-content:center;padding:88px var(--page-gutter) calc(48px + 10rem * (var(--hero-scale) - 1));position:relative;overflow:visible;text-align:center}.hero__grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.04;background-image:linear-gradient(var(--accent) 1px,transparent 1px),linear-gradient(90deg,var(--accent) 1px,transparent 1px);background-size:60px 60px;animation:gridPulse 4s ease infinite}.hero__glow{position:absolute;top:20%;left:50%;transform:translate(-50%);width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,var(--hero-glow-color) 0%,transparent 70%);filter:blur(40px);pointer-events:none}.hero__inner{max-width:var(--content-max);margin:0 auto;width:100%;position:relative;z-index:1;padding-top:48px;padding-bottom:32px}.hero__scale{max-width:840px;margin-inline:auto;transform:scale(var(--hero-scale));transform-origin:top center;width:calc(100% / var(--hero-scale))}.hero__badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:999px;padding:6px 16px;margin-bottom:24px}.hero__badge-dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse 2s ease infinite}.hero__badge-text{color:var(--accent);font-size:var(--text-size-ui);font-family:var(--font-mono)}.hero__headline{font-family:var(--font-display);font-size:var(--text-size-hero);font-weight:700;line-height:1.15;margin:0 0 8px;color:var(--text-primary)}.hero__headline-accent{background:linear-gradient(135deg,var(--accent),var(--accent-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__headline-sub{display:block;margin-top:8px;font-size:var(--text-size-7xl);font-weight:500;color:var(--text-secondary);-webkit-text-fill-color:var(--text-secondary)}.hero__desc{font-size:var(--text-size-base);color:var(--text-secondary);line-height:1.8;margin:0 auto 36px;max-width:560px}.hero__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}.hero__stats{display:flex;gap:40px;justify-content:center;flex-wrap:wrap}.hero__stat-value{font-family:var(--font-display);font-size:var(--text-size-5xl);font-weight:700;display:flex;align-items:center;gap:6px;justify-content:center}.hero__stat-label{font-size:var(--text-size-ui);color:var(--text-muted);margin-top:2px}.icon-box{background:color-mix(in srgb,var(--icon-box-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--icon-box-color) 28%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tag{font-size:var(--text-size-caption);padding:3px 10px;border-radius:6px;font-family:var(--font-mono);font-weight:500;border:1px solid}.tag--muted,html[data-theme-mode=light] .tag{background:var(--bg-panel);color:var(--text-secondary);border-color:var(--border)}.badge{font-size:var(--text-size-caption);padding:3px 12px;border-radius:999px;font-family:var(--font-mono);font-weight:500;border:1px solid;flex-shrink:0}.badge--muted,html[data-theme-mode=light] .badge{background:var(--bg-panel);color:var(--text-secondary);border-color:var(--border)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-grid--double{grid-template-columns:repeat(2,1fr)}.product-grid--single{grid-template-columns:minmax(0,560px);justify-content:center}.product-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px 26px;position:relative;overflow:hidden;transition:all .35s ease;height:100%}.product-card--hover,.product-card:hover{background:var(--bg-panel);border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 40px var(--accent-dim)}.product-card__shine{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .35s ease}.product-card:hover .product-card__shine{opacity:1}.product-card__head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.product-card__title{font-family:var(--font-display);font-size:var(--text-size-body-lg);font-weight:600;color:var(--text-primary);margin:0;flex:1}.product-card__tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.product-card__desc{font-size:var(--text-size-md);color:var(--text-secondary);line-height:1.7;margin:0}.product-card__link{margin-top:16px;font-size:var(--text-size-ui);color:var(--accent);font-family:var(--font-display);font-weight:500;display:flex;align-items:center;gap:4px;opacity:.55;transition:opacity .2s}.product-card:hover .product-card__link{opacity:1}.company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.company-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px 12px;transition:all .25s ease}.company-card:hover{border-color:var(--company-accent);transform:translateY(-2px);box-shadow:0 4px 20px color-mix(in srgb,var(--company-accent) 12%,transparent)}.company-card__logo{width:48px;height:48px;border-radius:12px;margin-bottom:10px;background:color-mix(in srgb,var(--company-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--company-accent) 28%,transparent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-size-ui);font-weight:700;color:var(--company-accent)}.company-card__name{font-size:var(--text-size-ui);font-weight:500;color:var(--text-primary);margin-bottom:2px}.company-card__count{font-family:var(--font-mono);font-size:var(--text-size-caption);color:var(--text-muted)}.company-stats{margin-top:20px;padding:18px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;justify-content:center;gap:48px;flex-wrap:wrap}.company-stats__value{font-family:var(--font-display);font-size:var(--text-size-3xl);font-weight:700;display:flex;align-items:center;gap:6px;justify-content:center}.company-stats__label{font-size:var(--text-size-sm);color:var(--text-muted);margin-top:2px;text-align:center}.roadmap-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:32px 36px;position:relative;overflow:hidden}.roadmap-panel__bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--danger),var(--accent),var(--success))}.roadmap-panel__head{display:flex;align-items:center;gap:14px;margin-bottom:28px;flex-wrap:wrap}.roadmap-panel__head-text{flex:1;min-width:200px}.roadmap-panel__title{font-family:var(--font-display);font-size:var(--text-size-2xl);font-weight:700;color:var(--text-primary);margin:0 0 4px}.roadmap-panel__subtitle{font-size:var(--text-size-ui);color:var(--text-secondary);margin:0}.roadmap-panel__cta{margin-left:auto}.roadmap-steps{position:relative}.roadmap-steps__track{position:absolute;top:28px;left:28px;right:28px;height:3px;background:var(--bg-panel);border-radius:2px;z-index:0}.roadmap-steps__list{display:flex;justify-content:space-between;position:relative;z-index:1;gap:8px}.roadmap-step{background:none;border:none;text-align:center;cursor:pointer;width:140px;padding:0;color:inherit;font:inherit}.roadmap-step__icon{width:56px;height:56px;border-radius:50%;margin:0 auto 12px;background:var(--bg-panel);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.roadmap-step--active .roadmap-step__icon{background:color-mix(in srgb,var(--step-color) 15%,transparent);border-color:var(--step-color);box-shadow:0 0 20px color-mix(in srgb,var(--step-color) 20%,transparent);transform:scale(1.08)}.roadmap-step__name{font-family:var(--font-display);font-size:var(--text-size-prose);font-weight:600;color:var(--text-primary);margin-bottom:6px;transition:color .2s}.roadmap-step--active .roadmap-step__name{color:var(--step-color)}.roadmap-step__desc{font-size:var(--text-size-sm);color:var(--text-secondary);line-height:1.6;max-height:0;overflow:hidden;opacity:0;transition:all .35s ease}.roadmap-step__desc--open{max-height:80px;opacity:1}.roadmap-panel__hint{margin-top:28px;text-align:center;font-size:var(--text-size-ui);color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:6px}.roadmap-upcoming{margin-top:18px;display:flex;gap:14px;flex-wrap:wrap}.roadmap-upcoming__item{flex:1;min-width:200px;background:var(--bg-card);border:1px dashed var(--border);border-radius:12px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;opacity:.65;font-family:var(--font-display);font-size:var(--text-size-md);color:var(--text-secondary)}.roadmap-upcoming__status{font-size:var(--text-size-caption);padding:2px 10px;border-radius:999px;background:var(--bg-panel);color:var(--text-muted);font-family:var(--font-mono)}.platform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.platform-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:28px 22px;text-align:center;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;gap:0}.platform-card:hover{border-color:var(--card-accent);transform:translateY(-3px)}.platform-card__title{font-family:var(--font-display);font-size:var(--text-size-prose);font-weight:600;color:var(--text-primary);margin:16px 0 8px}.platform-card__desc{font-size:var(--text-size-ui);color:var(--text-secondary);line-height:1.6;margin:0}.cta-banner{background:linear-gradient(135deg,var(--bg-panel),var(--bg-card));border:1px solid var(--border);border-radius:16px;padding:48px 40px;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:0}.cta-banner__shine{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.cta-banner__title{font-family:var(--font-display);font-size:var(--text-size-5xl);font-weight:700;color:var(--text-primary);margin:20px 0 10px}.cta-banner__desc{font-size:var(--text-size-prose);color:var(--text-secondary);margin-bottom:24px}.footer{max-width:var(--content-max);margin:0 auto;padding:32px var(--page-gutter);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer__brand{display:flex;align-items:center;gap:10px}.footer__logo{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--text-size-xs);color:var(--on-accent)}.footer__title{font-family:var(--font-display);font-size:var(--text-size-md);color:var(--text-muted)}.footer__title-accent{color:var(--text-secondary)}.footer__meta{font-size:var(--text-size-ui);color:var(--text-muted)}@media(max-width:1024px){.product-grid,.platform-grid{grid-template-columns:repeat(2,1fr)}.nav__links{display:none}.roadmap-steps__list{flex-wrap:wrap;justify-content:center}.roadmap-step{width:120px}}@media(max-width:640px){.section{padding:40px var(--page-gutter)}.section--cta{padding:36px var(--page-gutter)}.hero{padding:80px var(--page-gutter) calc(32px + 6rem * (var(--hero-scale) - 1))}.hero__inner{padding-top:32px;padding-bottom:20px}.hero__headline{font-size:var(--text-size-8xl)}.hero__headline-sub{font-size:var(--text-size-2xl)}.product-grid,.product-grid--double,.platform-grid{grid-template-columns:1fr}.roadmap-panel{padding:24px 20px}.roadmap-panel__cta{margin-left:0;width:100%;justify-content:center}}.intro-hero{text-align:center;padding:200px 48px 56px;position:relative;overflow:hidden}.intro-hero__grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.03;background-image:linear-gradient(var(--accent) 1px,transparent 1px),linear-gradient(90deg,var(--accent) 1px,transparent 1px);background-size:60px 60px;animation:gridPulse 4s ease infinite;pointer-events:none}.intro-hero__inner{position:relative;z-index:1;max-width:720px;margin:0 auto}.intro-hero__title{font-family:var(--font-display);font-size:var(--text-size-9xl);font-weight:700;line-height:1.2;margin:0 0 12px;color:var(--text-primary)}.intro-hero__subtitle{font-size:var(--text-size-body-lg);color:var(--text-secondary);margin:0 0 24px;line-height:1.75}.intro-hero__badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}.intro-hero__badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-size-sm);padding:5px 14px;border-radius:999px;font-family:var(--font-mono);font-weight:500;border:1px solid}.intro-hero__badge--amber{background:var(--badge-amber-bg);color:var(--badge-amber-fg);border-color:var(--badge-amber-border)}.intro-hero__badge--teal{background:var(--badge-teal-bg);color:var(--badge-teal-fg);border-color:var(--badge-teal-border)}.intro-hero__badge--info{background:var(--badge-info-bg);color:var(--badge-info-fg);border-color:var(--badge-info-border)}.intro-content{max-width:var(--content-max-narrow);margin:0 auto}.intro-section{padding:48px;scroll-margin-top:72px}.intro-page--compact .intro-section{padding:32px 48px}.intro-page--compact .intro-section__title{margin-bottom:20px}.intro-section__label{display:block;font-family:var(--font-mono);font-size:var(--text-size-ui);color:var(--accent);letter-spacing:1px;margin-bottom:12px}.intro-section__title{font-family:var(--font-display);font-size:var(--text-intro-h2);font-weight:700;color:var(--text-primary);margin:0 0 24px;line-height:1.3}.intro-paragraph,.problem-prose .intro-paragraph{font-size:var(--text-intro-body);color:var(--text-secondary);line-height:1.85;margin:0 0 16px}.intro-paragraph strong{color:var(--text-primary);font-weight:600}.intro-code-compare{display:grid;grid-template-columns:repeat(2,1fr);align-items:stretch;gap:14px;margin:8px 0 4px}.intro-code-window{display:flex;flex-direction:column;height:100%;border:1px solid var(--code-panel-border, var(--border));border-radius:12px;overflow:hidden;background:var(--code-panel-bg, var(--bg-code))}.intro-code-window__header{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--code-tab-bar-bg, var(--bg-panel));border-bottom:1px solid var(--code-panel-border, var(--border))}.intro-code-window__dot{width:8px;height:8px;border-radius:50%;background:var(--border);flex-shrink:0}.intro-code-window__dot:nth-child(1){background:#ff5f57}.intro-code-window__dot:nth-child(2){background:#febc2e}.intro-code-window__dot:nth-child(3){background:#28c840}.intro-code-window__title{margin-left:6px;font-family:var(--font-mono);font-size:var(--text-size-sm);font-weight:600;color:var(--text-secondary)}.intro-code-window__body{flex:1;display:flex;flex-direction:column;padding:0;min-height:0}.intro-code-window__pre{flex:1;margin:0;padding:16px 18px;overflow-x:auto}.intro-code-window__code{font-family:var(--code-font-family, var(--font-mono));font-size:var(--text-size-ui);line-height:1.65;color:var(--code-fg, var(--text-primary));-moz-tab-size:4;tab-size:4}.intro-code-window__code.hljs{background:transparent}.intro-code-window__code .hljs-keyword{color:var(--code-hl-keyword)}.intro-code-window__code .hljs-string{color:var(--code-hl-string)}.intro-code-window__code .hljs-comment{color:var(--code-hl-comment)}.intro-code-window__code .hljs-number{color:var(--code-hl-number)}.intro-code-window__code .hljs-function,.intro-code-window__code .hljs-title.function_{color:var(--code-hl-function)}.intro-code-window__code .hljs-built_in,.intro-code-window__code .hljs-type{color:var(--code-hl-type)}.intro-code-window__code .hljs-params,.intro-code-window__code .hljs-variable{color:var(--code-hl-variable)}.intro-code-window__mark-line{display:block;margin:2px -18px;padding:2px 18px 2px 15px;background:color-mix(in srgb,var(--accent) 20%,transparent);border-left:3px solid var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.intro-code-window__mark-line:first-child{margin-top:0}.intro-code-window__mark-line:last-child{margin-bottom:0}.intro-code-window__hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:auto 14px 14px;padding:10px 14px;border:1px dashed color-mix(in srgb,var(--warning) 55%,var(--border));border-radius:8px;font-size:var(--text-size-ui);line-height:1.5;font-weight:500;color:color-mix(in srgb,var(--warning) 72%,var(--text-primary));text-align:center;background:color-mix(in srgb,var(--warning) 16%,var(--bg-card))}.intro-code-window__hint .icon-box,.intro-code-window__hint svg{flex-shrink:0}.intro-highlight{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;padding:20px 24px;margin:20px 0;font-size:var(--text-intro-body);color:var(--text-secondary);line-height:1.85}.intro-highlight strong{color:var(--text-primary);font-weight:600}.intro-card-grid{display:grid;gap:16px}.intro-card-grid--2{grid-template-columns:repeat(2,1fr)}.intro-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;transition:all .3s ease;position:relative;overflow:hidden}.intro-card:hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:0 4px 24px var(--accent-dim)}.intro-card__shine{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .3s ease}.intro-card:hover .intro-card__shine{opacity:1}.intro-card__head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.intro-card__title{font-family:var(--font-display);font-size:var(--text-size-body-lg);font-weight:600;color:var(--text-primary);margin:0}.intro-card__desc{font-size:var(--text-prose-md);color:var(--text-secondary);line-height:1.8;margin:0}.intro-card__desc strong{color:var(--text-primary);font-weight:600}.intro-card__desc a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.intro-card__desc a:hover{color:var(--accent-hover)}.intro-numbered-list{display:flex;flex-direction:column;gap:14px;list-style:none;padding:0;margin:0}.intro-numbered-item{display:flex;align-items:flex-start;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:22px 24px;transition:all .3s ease}.intro-numbered-item:hover{border-color:var(--accent-border);transform:translate(4px)}.intro-numbered-item__num{font-family:var(--font-mono);font-size:var(--text-size-ui);font-weight:700;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);padding:3px 10px;border-radius:8px;flex-shrink:0;margin-top:2px}.intro-numbered-item__body{flex:1}.intro-numbered-item__label{font-family:var(--font-display);font-size:var(--text-size-body-lg);font-weight:600;color:var(--text-primary);margin:0 0 6px}.intro-numbered-item__content{font-size:var(--text-size-base);color:var(--text-secondary);line-height:1.8;margin:0}.intro-quick-start{padding:48px;scroll-margin-top:72px}.intro-page--compact .intro-quick-start{padding:32px 48px}.intro-quick-start__box{background:linear-gradient(135deg,var(--bg-panel),var(--bg-card));border:1px solid var(--border);border-radius:16px;padding:28px 32px;text-align:center;position:relative;overflow:hidden;max-width:var(--content-max-narrow);margin:0 auto}.intro-quick-start__box .icon-box{position:absolute;top:10px;left:12px;margin:0}.intro-quick-start__shine{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.intro-quick-start__title{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-size:var(--text-size-xl);font-weight:700;color:var(--text-primary);margin:0 0 6px}.intro-quick-start__desc{font-size:var(--text-size-base);color:var(--text-secondary);margin:0 0 20px;line-height:1.75}@media(max-width:768px){.intro-hero{padding:88px 24px 40px}.intro-hero__title{font-size:var(--text-size-6xl)}.intro-section{padding:36px 24px}.intro-page--compact .intro-section{padding:28px 24px}.intro-section__title{font-size:var(--text-size-2xl)}.intro-card-grid--2,.intro-code-compare{grid-template-columns:1fr}.intro-numbered-item{padding:18px 20px}.intro-quick-start{padding:36px 24px}.intro-page--compact .intro-quick-start{padding:28px 24px}.intro-quick-start__box{padding:24px 20px}.intro-quick-start__box .icon-box{top:20px;left:20px}}.stat-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:4px 0 24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:28px 24px;text-align:center;position:relative;overflow:hidden;transition:all .3s ease}.stat-card:hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:0 4px 20px var(--accent-dim)}.stat-card__shine{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .3s ease}.stat-card:hover .stat-card__shine{opacity:1}.stat-card__value{font-family:var(--font-display);font-size:var(--text-size-stat);font-weight:700;color:var(--accent);line-height:1;margin-bottom:10px}.stat-card__label{font-family:var(--font-display);font-size:var(--text-size-md);font-weight:600;color:var(--text-primary);margin-bottom:4px}.stat-card__desc{font-size:var(--text-size-ui);color:var(--text-secondary)}@media(max-width:768px){.stat-card-grid{grid-template-columns:1fr}.stat-card__value{font-size:var(--text-size-9xl)}}.problem-page-layout{--problem-page-nav-offset: 80px;display:grid;grid-template-columns:1fr min(var(--problem-article-width, 760px),100%) 1fr;column-gap:48px;padding:var(--problem-page-nav-offset) var(--problem-page-side-padding, 158px) 64px}.problem-page-main{grid-column:2;width:100%;max-width:var(--problem-article-width, 760px);min-width:0;justify-self:center;align-self:start}.problem-page-loading{max-width:var(--problem-article-width, 760px);margin:120px auto 64px;padding:0 48px;font-size:var(--text-size-md);color:var(--text-muted);font-family:var(--font-mono)}.problem-page-toc{grid-column:1;justify-self:end;width:200px;flex-shrink:0;position:sticky;top:var(--problem-page-nav-offset);align-self:start;max-height:calc(100vh - var(--problem-page-nav-offset) - 40px);overflow-y:auto;padding-right:0;border-right:1px solid var(--border-light);margin-right:0}.problem-page-toc__title{display:flex;align-items:center;min-height:22px;margin:0 0 24px;font-family:var(--font-mono);font-size:var(--text-size-ui);line-height:1.4;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase}.problem-page-toc__nav{display:flex;flex-direction:column}.problem-page-toc__item{display:flex;align-items:center;gap:4px;width:100%;padding:6px 0 6px 16px;border:none;border-left:2px solid transparent;background:transparent;font-family:var(--font-body);font-size:var(--text-size-ui);color:var(--text-secondary);text-align:left;cursor:pointer;transition:all .2s ease}.problem-page-toc__item--level-3{padding-left:28px;font-size:var(--text-size-sm);color:var(--text-muted)}.problem-page-toc__item:hover{color:var(--text-primary)}.problem-page-toc__item--active{color:var(--accent);border-left-color:var(--accent)}.problem-meta{margin-bottom:20px;padding-bottom:24px;border-bottom:1px solid var(--border-light)}.problem-meta__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 24px}.problem-meta__back{display:inline-flex;align-items:center;gap:6px;min-height:22px;font-size:var(--text-size-ui);line-height:1.4;color:var(--text-muted);transition:color .2s ease}.problem-meta__back:hover{color:var(--accent)}.problem-meta__title{font-family:var(--font-display);font-size:var(--text-meta-title);font-weight:700;color:var(--text-primary);margin-bottom:16px;line-height:1.3}.problem-meta__num{font-family:var(--font-mono);color:var(--text-muted);font-weight:400;margin-right:8px}.problem-meta__tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.problem-meta__link{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-size-ui);font-family:var(--font-mono);color:var(--accent);transition:opacity .2s ease}.problem-meta__link:hover{text-decoration:underline}.problem-prose{color:var(--text-secondary)}.problem-heading{font-family:var(--font-display);color:var(--text-primary);scroll-margin-top:100px}.problem-heading--h2{font-size:var(--text-h2);font-weight:700;margin:28px 0 20px}.problem-heading--h3{font-size:var(--text-h3);font-weight:600;margin:36px 0 14px}.problem-prose p,.problem-prose .problem-text{font-size:var(--text-prose);line-height:1.85}.problem-prose .problem-text>p{margin:0 0 16px}.problem-prose .problem-text>p:last-child{margin-bottom:0}.problem-prose strong{color:var(--text-primary);font-weight:600}.problem-prose p code,.problem-prose li code{font-family:var(--font-mono);font-size:var(--text-prose-sm);background:var(--bg-panel);padding:2px 8px;border-radius:6px;color:var(--accent)}.problem-example{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:10px 14px;font-family:var(--font-mono);font-size:var(--text-size-ui);line-height:1.8;margin:20px 0}.problem-example__title{font-weight:600;color:var(--text-primary);font-family:var(--font-display);margin-bottom:8px}.problem-example__line{color:var(--text-secondary)}.problem-example__line--io{display:flex;align-items:flex-start;gap:4px}.problem-example__value{font-family:var(--font-mono);font-size:var(--text-size-sm);line-height:1.65;color:var(--text-primary)}.problem-example__label{color:var(--text-muted)}.code-block{position:relative;background:var(--code-panel-bg);border:1px solid var(--code-panel-border, var(--border));border-radius:14px;overflow:hidden;margin:20px 0}.code-block--compact{margin:0;border-radius:8px}.code-block--bare{margin:0;border:none;border-radius:0;background:transparent}.code-block__pre{padding:20px 24px;margin:0;font-family:var(--code-font-family);font-size:var(--text-size-ui);line-height:1.7;overflow-x:auto;background:var(--code-panel-bg)}.code-block--compact .code-block__pre{font-size:var(--text-size-ui);line-height:1.7}.code-block--bare .code-block__pre{padding:20px 24px}.code-block__code{display:block;padding:0;margin:0;background:transparent;border:none;border-radius:0;color:var(--code-fg);font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre}.code-block__pre--numbered{padding:0}.code-block__table{width:100%;border-collapse:collapse;table-layout:fixed;font-family:var(--code-font-family);font-size:var(--text-size-ui);line-height:1.7}.code-block__row{vertical-align:top}.code-block__row--highlight .code-block__line{background:color-mix(in srgb,var(--accent) 14%,transparent)}.code-block__row--highlight .code-block__ln{color:var(--accent);opacity:.85}.code-block__ln{width:48px;min-width:48px;padding:0 12px 0 16px;text-align:right;vertical-align:top;-webkit-user-select:none;user-select:none;color:var(--code-ln-fg, var(--text-muted));opacity:.55;background:var( --code-ln-bg, color-mix(in srgb, var(--code-panel-bg) 90%, var(--text-muted) 10%) );border-right:1px solid var(--code-panel-border, var(--border));font-variant-numeric:tabular-nums}.code-block__line{width:100%;padding:0 16px 0 12px;vertical-align:top}.code-block__line .code-block__code{display:block;white-space:pre}.code-block--line-numbers .code-block__table tr:last-child .code-block__ln,.code-block--line-numbers .code-block__table tr:last-child .code-block__line{padding-bottom:5px}.code-block:has(.code-block__copy) .code-block__pre,.code-block:has(.code-block__copy) .code-block__pre--numbered{padding-right:48px}.code-block__copy{position:absolute;top:12px;right:12px;z-index:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--code-panel-border, var(--border));border-radius:8px;background:var(--code-tab-bar-bg);cursor:pointer;transition:all .2s ease}.code-block__copy:hover{border-color:var(--accent-border);background:var(--accent-dim)}.code-block__code.hljs{background:transparent;color:var(--code-fg)}.code-block__code .hljs,.code-block__code span{background:transparent!important}.code-block__code .hljs-keyword,.code-block__code .hljs-selector-tag,.code-block__code .hljs-meta .hljs-keyword{color:var(--code-hl-keyword)}.code-block__code .hljs-string,.code-block__code .hljs-char,.code-block__code .hljs-regexp,.code-block__code .hljs-template-variable,.code-block__code .hljs-addition{color:var(--code-hl-string)}.code-block__code .hljs-comment,.code-block__code .hljs-quote{color:var(--code-hl-comment);font-style:italic}.code-block__code .hljs-number,.code-block__code .hljs-literal{color:var(--code-hl-number)}.code-block__code .hljs-function,.code-block__code .hljs-title.function_,.code-block__code .hljs-section{color:var(--code-hl-function)}.code-block__code .hljs-built_in,.code-block__code .hljs-type,.code-block__code .hljs-title.class_,.code-block__code .hljs-class .hljs-title{color:var(--code-hl-type)}.code-block__code .hljs-variable,.code-block__code .hljs-params,.code-block__code .hljs-attr,.code-block__code .hljs-property,.code-block__code .hljs-name{color:var(--code-hl-variable)}.code-block__code .hljs-operator,.code-block__code .hljs-punctuation{color:var(--code-hl-operator)}.code-block__code .hljs-meta,.code-block__code .hljs-title{color:var(--code-hl-meta)}.code-tabs{background:var(--code-panel-bg);border:1px solid var(--code-panel-border, var(--border));border-radius:14px;overflow:hidden;margin:28px 0}.code-tabs__bar{display:flex;border-bottom:1px solid var(--code-panel-border, var(--border));background:var(--code-tab-bar-bg);overflow-x:auto}.code-tabs__tab{font-family:var(--code-font-family);font-size:var(--text-size-ui);padding:10px 20px;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease;white-space:nowrap}.code-tabs__tab:hover{color:var(--text-primary)}.code-tabs__tab--active{color:var(--accent);border-bottom-color:var(--accent);background:var(--code-tab-active-bg)}.code-tabs__sub-bar{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-panel) 60%,transparent)}.code-tabs__sub-tab{font-family:var(--font-mono);font-size:var(--text-size-caption);font-weight:600;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.code-tabs__sub-tab:hover{color:var(--text-secondary);border-color:var(--border-light)}.code-tabs__sub-tab--active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.code-tabs__panel{background:var(--code-panel-bg)}.code-tabs__panel.code-block--bare .code-block__pre{padding:12px 0 16px}.code-tabs__panel.code-block--bare .code-block__pre--numbered{padding:0}.code-tabs__panel.code-block--bare.code-block--line-numbers .code-block__table tr:first-child .code-block__ln,.code-tabs__panel.code-block--bare.code-block--line-numbers .code-block__table tr:first-child .code-block__line{padding-top:12px}html[data-theme-mode=light] .code-tabs__tab--active{color:var(--code-hl-number);border-bottom-color:var(--code-hl-number)}html[data-theme-mode=light] .code-block__copy:hover{border-color:color-mix(in srgb,var(--code-hl-number) 40%,transparent);background:color-mix(in srgb,var(--code-hl-number) 10%,transparent)}.complexity-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.complexity-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.complexity-card__label{display:flex;align-items:center;gap:6px;font-size:var(--text-size-sm);color:var(--text-muted);font-family:var(--font-mono);margin-bottom:6px}.complexity-card__value{font-family:var(--font-mono);font-size:var(--text-size-xl);font-weight:700;color:var(--accent);margin-bottom:4px}.complexity-card__desc{font-size:var(--text-size-ui);color:var(--text-secondary)}.qa-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.qa-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.qa-card__question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background .2s ease}.qa-card__question:hover{background:var(--bg-panel)}.qa-card__question-text{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-size-prose);font-weight:600;color:var(--text-primary);padding-right:12px}.qa-card__prefix{font-family:var(--font-mono);font-weight:700;flex-shrink:0}.qa-card__prefix--q{color:var(--accent)}.qa-card__prefix--a{color:var(--teal)}.qa-card__chevron{flex-shrink:0;transition:transform .3s ease}.qa-card--open .qa-card__chevron{transform:rotate(180deg)}.qa-card__answer-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.qa-card--open .qa-card__answer-wrap{grid-template-rows:1fr}.qa-card__answer{overflow:hidden;display:flex;gap:10px;padding:0 20px;border-top:1px solid transparent}.qa-card--open .qa-card__answer{padding:16px 20px 20px;border-top-color:var(--border-light)}.qa-card__answer-body{font-size:var(--text-size-md);line-height:1.8;color:var(--text-secondary)}.interactive-demo{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px;margin:28px 0;position:relative;overflow:hidden}.interactive-demo__shine{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.interactive-demo__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-light);flex-wrap:wrap}.interactive-demo__title{font-family:var(--font-display);font-size:var(--text-size-md);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.interactive-demo__controls{display:flex;align-items:center;gap:8px}.interactive-demo__btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.interactive-demo__btn:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.interactive-demo__btn:disabled{opacity:.35;cursor:not-allowed}.interactive-demo__btn--active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.interactive-demo__steps{font-family:var(--font-mono);font-size:var(--text-size-sm);color:var(--text-muted);margin-left:4px}.interactive-demo__canvas{min-height:120px}.two-sum-demo{width:100%}.two-sum-demo__row{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.two-sum-demo__label{font-family:var(--font-mono);font-size:var(--text-size-sm);color:var(--text-muted);width:72px;flex-shrink:0}.two-sum-demo__array{display:flex;gap:10px;flex-wrap:wrap}.two-sum-demo__cell{position:relative;min-width:48px;padding:12px 16px 20px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;font-family:var(--font-mono);font-size:var(--text-size-lg);font-weight:600;color:var(--text-primary);text-align:center;transition:all .3s ease}.two-sum-demo__cell--active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);transform:translateY(-2px)}.two-sum-demo__cell--found{border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.two-sum-demo__idx{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-size:var(--text-size-xs);color:var(--text-muted);font-weight:400}.two-sum-demo__target{font-family:var(--font-mono);font-size:var(--text-size-lg);font-weight:700;color:var(--accent)}.two-sum-demo__hash{display:flex;gap:10px;flex-wrap:wrap}.two-sum-demo__pair{font-family:var(--font-mono);font-size:var(--text-size-md);padding:8px 14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--info)}.two-sum-demo__empty{font-family:var(--font-mono);font-size:var(--text-size-md);color:var(--text-muted)}.two-sum-demo__caption{margin:8px 0 0;padding:14px 16px;background:var(--bg-panel);border-radius:10px;font-size:var(--text-size-md);line-height:1.7;color:var(--text-secondary);border-left:3px solid var(--accent)}.prev-next{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:32px;border-top:1px solid var(--border-light)}.prev-next__card{flex:1;max-width:48%;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px 20px;transition:all .3s ease}.prev-next__card:hover{border-color:var(--accent-border);transform:translateY(-2px)}.prev-next__card--next{text-align:right;margin-left:auto}.prev-next__dir{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-size-sm);color:var(--text-muted);font-family:var(--font-mono);margin-bottom:6px}.prev-next__title{font-size:var(--text-size-prose);font-weight:600;color:var(--text-primary)}.prev-next__card--disabled{cursor:default;opacity:.72}.prev-next__card--disabled:hover{border-color:var(--border);transform:none}.prev-next__badge{display:inline-block;margin-top:8px;font-size:var(--text-size-caption);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.problem-page-error{max-width:var(--problem-article-width, 760px);margin:120px auto 64px;padding:32px 40px;background:var(--bg-card);border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));border-radius:14px}.problem-page-error__title{font-family:var(--font-display);font-size:var(--text-size-xl);color:var(--text-primary);margin:0 0 12px}.problem-page-error__message{font-size:var(--text-size-prose);color:var(--text-secondary);line-height:1.7;margin:0 0 16px}.problem-page-error__detail{font-family:var(--font-mono);font-size:var(--text-size-sm);color:var(--danger);background:var(--bg-panel);padding:12px 14px;border-radius:8px;overflow-x:auto;margin:0 0 20px;white-space:pre-wrap;word-break:break-word}.problem-page-error__back{display:inline-flex;align-items:center;font-size:var(--text-size-ui);color:var(--accent)}.problem-page-error__back:hover{text-decoration:underline}@media(max-width:1024px){.problem-page-toc{display:none}.problem-page-layout{grid-template-columns:1fr min(var(--problem-article-width, 760px),100%) 1fr;column-gap:0}}@media(max-width:768px){.problem-page-layout{padding:88px 20px 48px}.problem-meta__title{font-size:var(--text-size-4xl)}.complexity-grid,.problem-io-spec,.problem-io-rule__compare{grid-template-columns:1fr}.prev-next{flex-direction:column}.prev-next__card{max-width:100%}.prev-next__card--next{text-align:left}}.article-route-surface{transition:opacity .14s ease,transform .14s ease}.article-route-transition-out .article-route-surface{opacity:0;transform:translateY(6px)}.article-route-enter{animation:article-route-enter .18s ease-out both}.article-route-loading{min-height:52vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-secondary);font-size:var(--text-size-sm, 14px)}.article-route-spinner{width:34px;height:34px;border-radius:999px;border:3px solid color-mix(in srgb,var(--accent) 18%,transparent);border-top-color:var(--accent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 20%,transparent);animation:article-route-spin .76s linear infinite}@keyframes article-route-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes article-route-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.article-route-surface,.article-route-enter,.article-route-spinner{animation:none;transition:none;transform:none}}.problem-io-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0}.problem-io-spec__card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.problem-io-spec__label{font-family:var(--font-mono);font-size:var(--text-size-sm);font-weight:600;letter-spacing:.5px;color:var(--accent);margin-bottom:8px}.problem-io-spec__text{margin:0;font-size:var(--text-prose);line-height:1.75;color:var(--text-secondary)}.problem-prose .problem-io-spec__text{margin:0}.problem-io-spec__card>:last-child{margin-bottom:0}.problem-data-range{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 14px;margin:16px 0 20px;padding:12px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;font-family:var(--font-mono);font-size:var(--text-size-ui)}.problem-data-range__label{color:var(--text-muted);font-weight:600}.problem-data-range__value{color:var(--text-primary)}.problem-data-range--stack{flex-direction:column;align-items:stretch}.problem-data-range__list{margin:0;padding:0 0 0 1.1em;list-style:disc;color:var(--text-primary)}.problem-data-range__item{margin:0 0 6px;line-height:1.6}.problem-data-range__item:last-child{margin-bottom:0}.problem-data-range__item .katex{font-size:calc(1em * var(--text-relative-katex))}.problem-prose .katex{font-size:calc(1em * var(--text-relative-katex));color:var(--text-primary)}.problem-math--inline{display:inline-block;vertical-align:-.15em;margin:0;padding:0;line-height:normal}.problem-math--inline>.katex{display:inline-block;text-indent:0;white-space:nowrap}.problem-math--block{margin:16px 0;overflow-x:auto;text-align:center}.problem-math--block>.katex{display:block;text-align:center}.problem-data-range-diff__value .katex,.problem-data-range__value .katex{font-size:calc(1em * var(--text-relative-katex))}.problem-prose .problem-callout>:last-child,.problem-prose .problem-callout__content>:last-child,.problem-prose .problem-callout__content p:last-child,.problem-prose .problem-callout__content--plain>:last-child,.problem-prose .problem-io-spec>:last-child,.problem-prose .problem-io-spec__card>:last-child,.problem-prose .problem-data-range__list>:last-child,.problem-prose .problem-data-range>:last-child,.problem-prose .problem-data-range-diff>:last-child,.problem-prose .problem-data-range-diff__rows>:last-child,.problem-prose .problem-data-range-diff__row>:last-child,.problem-prose .problem-progress-path>:last-child,.problem-prose .problem-term-card>:last-child,.problem-prose .problem-term-card__body>:last-child,.problem-prose .problem-checklist>:last-child,.problem-prose .problem-checklist__item>:last-child,.problem-prose .problem-flow-steps>:last-child,.problem-prose .problem-flow-step>:last-child,.problem-prose .tail-insert-walk>:last-child,.problem-prose .complete-tree-build-walk>:last-child,.problem-prose .bfs-tree-build-walk>:last-child,.problem-prose .level-order-tree-example>:last-child,.problem-prose .tree-compare-pair>:last-child,.problem-prose .tree-compare-pair__panel>:last-child,.problem-prose .index-formula-tree>:last-child,.problem-prose .tree-array-compare>:last-child,.problem-prose .tree-array-compare__col>:last-child,.problem-prose .tree-series-preview>:last-child,.problem-prose .tree-series-preview__col>:last-child,.problem-prose .linked-list-diagram>:last-child,.problem-prose .problem-infra-code>:last-child,.problem-prose .problem-lang-compare>:last-child,.problem-prose .problem-lang-compare__col>:last-child,.problem-prose .problem-io-rule>:last-child,.problem-prose .problem-io-rule__compare>:last-child,.problem-prose .problem-highlight,.problem-prose .problem-example>:last-child,.problem-prose .problem-example__line:last-child,.problem-prose .complexity-grid>:last-child{margin-bottom:0!important}.problem-callout{display:block;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;padding:18px 22px;margin:20px 0;font-size:var(--text-prose-md);color:var(--text-secondary);line-height:1.85}.problem-callout--info{border-left-color:var(--info);background:color-mix(in srgb,var(--info) 6%,var(--bg-card))}.problem-callout--tip{border-left-color:var(--success);background:color-mix(in srgb,var(--success) 6%,var(--bg-card))}.problem-callout--warning{border-left-color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,var(--bg-card))}.problem-callout--danger{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--bg-card))}.problem-callout__head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.problem-callout__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:0}.problem-callout__icon-svg{display:block}.problem-callout__title{margin:0;font-size:var(--text-prose-md);font-weight:600;color:var(--text-primary);line-height:1.4}.problem-prose .problem-callout__title{margin:0}.problem-callout__content{display:block;width:100%}.problem-prose .problem-callout__content>p,.problem-prose .problem-callout__content>.problem-text,.problem-prose .problem-callout__content>.code-tabs{margin-top:0;margin-bottom:12px}.problem-prose .problem-callout__content>.code-tabs:last-child{margin-bottom:0}.problem-prose .problem-callout__content>p:last-child,.problem-prose .problem-callout__content>.problem-text:last-child{margin-bottom:0!important}.problem-callout__content--plain{display:block}.problem-callout__icon--inline{display:inline;margin-right:8px;vertical-align:baseline}.problem-callout strong{color:var(--text-primary);font-weight:600}.problem-io-rule-list{display:flex;flex-direction:column;gap:14px;margin:20px 0}.problem-io-rule{background:color-mix(in srgb,var(--warning) 10%,var(--bg-card));border:1px solid color-mix(in srgb,var(--warning) 35%,var(--border));border-radius:12px;padding:16px 18px}.problem-io-rule__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.problem-io-rule__title{margin:0;font-family:var(--font-display);font-size:var(--text-size-prose);font-weight:600;color:var(--text-primary)}.problem-io-rule__compare{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.problem-io-rule__sample{border-radius:8px;padding:10px 12px;min-width:0}.problem-io-rule__sample--wrong{background:color-mix(in srgb,var(--danger) 8%,var(--bg-panel));border:1px dashed color-mix(in srgb,var(--danger) 45%,var(--border))}.problem-io-rule__sample--right{background:color-mix(in srgb,var(--success) 8%,var(--bg-panel));border:1px solid color-mix(in srgb,var(--success) 35%,var(--border))}.problem-io-rule__sample-label{display:block;font-family:var(--font-mono);font-size:var(--text-size-caption);font-weight:600;margin-bottom:6px;color:var(--text-muted)}.problem-io-rule__sample--wrong .problem-io-rule__sample-label{color:var(--danger)}.problem-io-rule__sample--right .problem-io-rule__sample-label{color:var(--success)}.problem-data-range-diff{margin:16px 0 20px;padding:14px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px}.problem-data-range-diff__heading{display:block;font-family:var(--font-mono);font-size:var(--text-size-sm);font-weight:600;color:var(--text-muted);margin-bottom:12px}.problem-data-range-diff__rows{display:flex;flex-direction:column;gap:10px}.problem-data-range-diff__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;font-family:var(--font-mono);font-size:var(--text-size-ui);line-height:1.4}.problem-data-range-diff__value{display:inline-block;line-height:normal;vertical-align:middle}.problem-data-range-diff__row--prev{opacity:.55}.problem-data-range-diff__row--prev .problem-data-range-diff__value{text-decoration:line-through;text-decoration-color:var(--text-muted)}.problem-data-range-diff__row--current .problem-data-range-diff__value{color:var(--accent);font-weight:600}.problem-data-range-diff__tag{flex-shrink:0;font-size:var(--text-size-caption);font-weight:600;color:var(--text-muted);min-width:3.5em}.problem-data-range-diff__badge{font-size:var(--text-size-caption);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border)}.problem-lang-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.problem-lang-compare__col{display:flex;flex-direction:column;gap:6px;padding:16px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;position:relative}.problem-lang-compare__col--highlight{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 6%,var(--bg-card))}.problem-lang-compare__lang{font-family:var(--font-display);font-size:var(--text-size-md);font-weight:600;color:var(--text-primary)}.problem-lang-compare__type{font-family:var(--font-mono);font-size:var(--text-size-prose);font-weight:600;color:var(--accent);background:transparent;padding:0}.problem-lang-compare__note{margin:0;font-size:var(--text-prose-sm);line-height:1.6;color:var(--text-secondary)}.problem-prose .problem-lang-compare__note{margin:0}.problem-lang-compare__mark{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:var(--text-size-caption);font-weight:600;color:var(--success);font-family:var(--font-mono)}.problem-flow-steps{margin:20px 0 24px;padding:18px 20px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px}.problem-flow-steps--simple{margin:16px 0 20px;padding:0;background:transparent;border:none;border-radius:0}.problem-flow-steps--simple .problem-flow-steps__track{flex-wrap:nowrap}.problem-flow-steps--simple .problem-flow-steps__segment{flex:1 1 0;min-width:120px}.problem-flow-steps__header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.problem-flow-steps__header-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--accent-dim);border:1px solid var(--accent-border)}.problem-flow-steps__heading{margin:0;font-family:var(--font-display);font-size:var(--text-size-md);font-weight:700;color:var(--text-primary);line-height:1.2}.problem-flow-steps__track{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px 0}.problem-flow-steps__segment{display:flex;flex:1 1 180px;align-items:center;min-width:0}.problem-flow-steps__connector{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0 4px;color:var(--text-muted);align-self:center}.problem-flow-steps__connector-svg{display:block}.problem-flow-step{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;padding:16px 14px 14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;text-align:center}.problem-flow-step__title{font-family:var(--font-display);font-size:var(--text-size-ui);font-weight:600;color:var(--text-primary);line-height:1.3}.problem-flow-step__visual{display:flex;align-items:center;justify-content:center;min-height:36px;margin-bottom:12px}.problem-flow-step__visual-text{font-family:var(--font-mono);font-size:var(--text-size-sm);color:var(--text-secondary);line-height:1.4}.problem-flow-step__detail{width:100%;margin:0;font-family:var(--font-mono);font-size:var(--text-size-ui);color:var(--text-secondary);line-height:1.6;word-break:break-word}.problem-flow-step__detail code{font-size:inherit;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:2px 8px;border-radius:6px}.problem-flow-step__split{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 6px}.problem-flow-step__sep{color:var(--text-muted);font-weight:400;-webkit-user-select:none;user-select:none}.problem-flow-step__split>span:not(.problem-flow-step__sep){color:var(--text-primary);font-weight:600}.problem-flow-step__sum{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 4px}.problem-flow-step__op,.problem-flow-step__eq{color:var(--text-muted);font-weight:500}.problem-flow-step__sum>span:not(.problem-flow-step__op):not(.problem-flow-step__eq){color:var(--text-primary);font-weight:600}.problem-flow-step__result{color:var(--accent);font-weight:700}@media(max-width:900px){.problem-flow-steps:not(.problem-flow-steps--simple) .problem-flow-steps__segment{flex:1 1 100%;flex-direction:column;align-items:stretch}.problem-flow-steps:not(.problem-flow-steps--simple) .problem-flow-steps__connector{padding:8px 0;transform:rotate(90deg)}.problem-flow-steps:not(.problem-flow-steps--simple) .problem-flow-step{width:100%}.problem-flow-steps--simple .problem-flow-steps__track{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.problem-flow-steps--simple .problem-flow-steps__segment{flex:0 0 auto;flex-direction:row;min-width:140px}.problem-flow-steps--simple .problem-flow-steps__connector{transform:none;padding:0 4px}}.problem-progress-path{margin:20px 0 24px}.problem-progress-path__list{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}.problem-progress-path__item{display:flex;align-items:center;flex:1 1 140px;min-width:0}.problem-progress-path__connector{flex:1 1 24px;min-width:16px;height:2px;margin:0 8px;background:repeating-linear-gradient(90deg,var(--border) 0,var(--border) 6px,transparent 6px,transparent 10px)}.problem-progress-path__item--done+.problem-progress-path__item .problem-progress-path__connector,.problem-progress-path__item--current .problem-progress-path__connector{background:color-mix(in srgb,var(--accent) 35%,var(--border))}.problem-progress-path__node{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;width:100%}.problem-progress-path__badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--border);background:var(--bg-panel)}.problem-progress-path__index{font-family:var(--font-mono);font-size:var(--text-size-sm);font-weight:700;color:var(--text-muted)}.problem-progress-path__label{font-size:var(--text-size-ui);font-weight:600;color:var(--text-muted);line-height:1.35;max-width:11em}.problem-progress-path__item--done .problem-progress-path__badge{border-color:var(--border);background:var(--bg-card)}.problem-progress-path__item--done .problem-progress-path__label{color:var(--text-secondary);opacity:.75}.problem-progress-path__item--current .problem-progress-path__badge{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-dim)}.problem-progress-path__item--current .problem-progress-path__index,.problem-progress-path__item--current .problem-progress-path__label{color:var(--accent)}.problem-progress-path__item--upcoming .problem-progress-path__badge{opacity:.6}.problem-term-card{display:flex;gap:18px;align-items:flex-start;margin:20px 0 24px;padding:18px 20px;background:color-mix(in srgb,var(--info) 8%,var(--bg-card));border:1px solid color-mix(in srgb,var(--info) 28%,var(--border));border-left:3px solid var(--info);border-radius:12px}.problem-term-card__term{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-size-3xl);font-weight:800;letter-spacing:.06em;line-height:1;color:var(--info)}.problem-term-card__body{flex:1;min-width:0;font-size:var(--text-prose);color:var(--text-secondary);line-height:1.85}.problem-term-card__body .problem-text{margin:0}.problem-checklist{margin:20px 0 24px;padding:0;list-style:none}.problem-checklist__item{display:flex;align-items:flex-start;gap:14px;margin:0 0 14px;padding:14px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px}.problem-checklist__item:last-child{margin-bottom:0}.problem-checklist__mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent-dim);border:1px solid var(--accent-border)}.problem-checklist__num{font-family:var(--font-mono);font-size:var(--text-size-sm);font-weight:700;color:var(--accent);line-height:1}.problem-checklist__text{flex:1;min-width:0;font-size:var(--text-prose);color:var(--text-secondary);line-height:1.7;padding-top:3px}.problem-checklist__text strong{color:var(--text-primary);font-weight:600}.problem-eof-illustration{display:flex;justify-content:center;width:100%;margin:16px 0 0}.problem-term-card__body .problem-eof-illustration{margin:16px 0 0}.problem-eof-illustration__svg{display:block;width:100%;max-width:360px;height:auto;margin-inline:auto}.problem-eof-illustration__frame{fill:var(--bg-panel);stroke:var(--border);stroke-width:1}.problem-eof-illustration__titlebar,.problem-eof-illustration__titlebar-fade{fill:color-mix(in srgb,var(--bg-card) 90%,var(--border))}.problem-eof-illustration__dot--a{fill:#ff5f57}.problem-eof-illustration__dot--b{fill:#febc2e}.problem-eof-illustration__dot--c{fill:#28c840}.problem-eof-illustration__title-text{fill:var(--text-muted);font-family:var(--font-mono);font-size:11px}.problem-eof-illustration__skeleton{fill:color-mix(in srgb,var(--text-muted) 22%,transparent)}.problem-eof-illustration__skeleton--dim{fill:color-mix(in srgb,var(--text-muted) 14%,transparent)}.problem-eof-illustration__eof-bg{fill:color-mix(in srgb,var(--accent) 18%,var(--bg-panel));stroke:var(--accent-border);stroke-width:1.5}.problem-eof-illustration__eof-label{fill:var(--accent);font-family:var(--font-mono);font-size:15px;font-weight:700}.problem-eof-illustration__hint{fill:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:700}@media(max-width:768px){.problem-lang-compare{grid-template-columns:1fr}.problem-progress-path__item{flex:1 1 100%}.problem-progress-path__connector{display:none}.problem-term-card{flex-direction:column;align-items:stretch}}.list-link-edge{display:flex;align-items:center;gap:4px;flex-shrink:0;color:var(--accent)}.list-link-edge--dashed-fade{color:var(--text-muted);opacity:.85}.list-link-edge__svg{display:block;overflow:visible}.list-link-edge__line--fade{animation:list-edge-fade .5s ease forwards}@keyframes list-edge-fade{0%{opacity:1;stroke-dashoffset:0}to{opacity:.55}}.list-link-edge__null{font-size:var(--text-size-xs);font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap}.list-link-edge--commit-draw .list-link-edge__svg line{stroke-dasharray:48;stroke-dashoffset:48;animation:list-edge-draw .5s ease forwards}.list-link-edge--link-tail-fade{animation:list-edge-fade .5s ease forwards}@keyframes list-edge-draw{to{stroke-dashoffset:0}}.linked-list-diagram{position:relative;margin:12px 0 8px;padding:36px 12px 40px;min-height:120px}.linked-list-diagram--static .linked-list-diagram__chain{display:flex;align-items:center;padding:12px 8px;border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--bg-card));border:1px dashed color-mix(in srgb,var(--accent) 28%,var(--border))}.linked-list-diagram__ptr{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);font-size:var(--text-size-xs);font-weight:700;color:var(--accent);gap:2px}.linked-list-diagram__ptr--head{top:4px}.linked-list-diagram__ptr--tail{bottom:4px}.linked-list-diagram__ptr-arrow{line-height:1;font-size:var(--text-size-md)}.linked-list-diagram__chain{display:flex;flex-wrap:wrap;align-items:center;gap:0}.linked-list-diagram__empty{font-size:var(--text-size-sm);color:var(--text-muted);font-family:var(--font-mono)}.linked-list-diagram__segment{display:flex;align-items:center;gap:0}.linked-list-node{display:flex;flex-direction:column;align-items:center;min-width:3.25rem;padding:8px 10px 6px;border-radius:8px;background:var(--bg-card);border:2px solid var(--border);box-shadow:0 1px 3px color-mix(in srgb,var(--text) 8%,transparent)}.linked-list-node--canvas{width:56px;min-width:56px;box-sizing:border-box}.linked-list-node--new{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.linked-list-node--head{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.linked-list-node--tail{border-color:color-mix(in srgb,var(--teal) 55%,var(--border))}.linked-list-node__val{font-size:var(--text-size-md);font-weight:700;font-family:var(--font-mono);color:var(--text)}.linked-list-node__next-label{margin-top:4px;font-size:var(--text-size-xs);color:var(--text-muted)}.linked-list-node--pop-in{animation:linked-node-pop-in .45s ease forwards}@keyframes linked-node-pop-in{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.list-null-node{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--border);background:transparent;color:var(--text-muted)}.list-null-node__label{font-size:var(--text-size-xs);font-family:var(--font-mono)}.list-null-node--fade{animation:list-null-fade .5s ease forwards}@keyframes list-null-fade{0%{opacity:1}to{opacity:.35}}.tail-insert-walk{--tail-insert-title-h: 28px;--tail-insert-input-h: 52px;--tail-insert-stage-h: 276px;--tail-insert-body-h: calc(var(--tail-insert-input-h) + var(--tail-insert-stage-h));--tail-insert-controls-h: 53px;margin:20px 0 28px;padding:20px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);box-sizing:border-box;min-height:calc(40px + var(--tail-insert-title-h) + var(--tail-insert-body-h) + var(--tail-insert-controls-h))}.tail-insert-walk__layout{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(300px,1.25fr);grid-template-rows:var(--tail-insert-title-h) var(--tail-insert-body-h);column-gap:20px;row-gap:8px;height:calc(var(--tail-insert-title-h) + var(--tail-insert-body-h))}.tail-insert-walk__panel-title{margin:0;font-size:var(--text-size-sm);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:var(--tail-insert-title-h)}.tail-insert-walk__panel-title--code{grid-column:1;grid-row:1}.tail-insert-walk__panel-title--visual{grid-column:2;grid-row:1}.tail-insert-walk__code-pane{grid-column:1;grid-row:2;margin-top:var(--tail-insert-input-h);width:fit-content;max-width:100%;height:fit-content;max-height:var(--tail-insert-stage-h);align-self:start;justify-self:start;display:block;overflow:auto;border-radius:10px;border:1px solid var(--border);background:var(--bg-muted);box-sizing:border-box}.tail-insert-walk__code-pane .code-block{width:auto;margin:0}.tail-insert-walk__code-pane .code-block--compact{border:none;border-radius:inherit;background:var(--code-panel-bg)}.tail-insert-walk__code-pane .code-block__pre--numbered{margin:0}.tail-insert-walk__visual-pane{grid-column:2;grid-row:2;height:var(--tail-insert-body-h);overflow-x:auto;overflow-y:hidden}.tail-insert-canvas{display:flex;flex-direction:column;height:var(--tail-insert-body-h)}.tail-insert-canvas__input-row{display:flex;flex:0 0 52px;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;margin:0;padding:8px 8px 10px;border-bottom:1px dashed var(--border)}.tail-insert-canvas__pill{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;padding:6px 12px;border-radius:999px;font-size:var(--text-size-sm);font-family:var(--font-mono);font-weight:700;background:var(--bg-muted);border:1px solid var(--border);color:var(--text-muted);transition:border-color .2s,background .2s,color .2s,transform .2s}.tail-insert-canvas__pill--done{color:var(--text)}.tail-insert-canvas__pill--active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));transform:scale(1.06)}.tail-insert-canvas__stage{position:relative;flex:0 0 var(--tail-insert-stage-h);min-height:0;height:var(--tail-insert-stage-h);padding:44px 12px 52px;border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,var(--bg-muted));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));overflow:hidden;box-sizing:border-box}.tail-insert-canvas__fit-wrap{position:relative;overflow:hidden}.tail-insert-canvas__fit{position:relative;transform-origin:top left}.tail-insert-canvas__chain-area{position:relative;padding-top:32px}.tail-insert-canvas__chain-row{display:flex;align-items:center;width:max-content;min-height:88px;position:relative;z-index:2}.tail-insert-canvas__segment{display:flex;align-items:center}.tail-insert-canvas__spawn-row{display:flex;align-items:center;min-height:52px;margin-top:8px;position:relative;z-index:2}.link-bridge-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;color:var(--accent);overflow:visible}.link-bridge-svg__path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dasharray:6 5}.link-bridge-svg--animate .link-bridge-svg__path{stroke-dasharray:120;stroke-dashoffset:120;animation:bridge-draw .55s ease forwards}.tail-insert-canvas__slot,.tail-insert-canvas__tail-edge{display:flex;align-items:center}.tail-insert-canvas__empty{font-size:var(--text-size-sm);color:var(--text-muted);font-family:var(--font-mono)}.tail-insert-canvas__bridge{position:absolute;width:88px;height:72px;pointer-events:none;animation:bridge-draw .55s ease forwards}@keyframes bridge-draw{0%{opacity:0;stroke-dashoffset:120}to{opacity:1;stroke-dashoffset:0}}.tail-insert-canvas__pending{position:absolute;z-index:2}.tail-insert-canvas__pending-row{display:flex;align-items:center}.tail-insert-canvas__pending--spawn{transform:translate(-50%);animation:pending-spawn .45s ease forwards}@keyframes pending-spawn{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.tail-insert-canvas__pending--merging{animation:pending-merge .55s cubic-bezier(.4,0,.2,1) forwards}@keyframes pending-merge{0%{opacity:.85}to{opacity:1}}.tail-insert-canvas__ptr{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);z-index:3;font-size:var(--text-size-xs);font-weight:700;color:var(--teal);gap:2px}.tail-insert-canvas__ptr--head{top:0;color:var(--accent)}.tail-insert-canvas__ptr--tail{bottom:10px}.tail-insert-canvas__ptr--slide{transition:left .5s cubic-bezier(.4,0,.2,1)}.tail-insert-canvas__ptr-arrow{line-height:1;font-size:var(--text-size-md)}.tail-insert-canvas__ptr-label{font-family:var(--font-mono);letter-spacing:.02em}.tail-insert-walk__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;flex-shrink:0;height:var(--tail-insert-controls-h);margin-top:18px;padding-top:16px;border-top:1px solid var(--border);box-sizing:border-box}.tail-insert-walk__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text);font-size:var(--text-size-sm);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.tail-insert-walk__btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.tail-insert-walk__btn:disabled{opacity:.45;cursor:not-allowed}.tail-insert-walk__btn--primary{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));color:var(--accent)}.tail-insert-walk__progress{font-size:var(--text-size-sm);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.problem-infra-code{margin:12px 0 0;padding:4px;border-radius:10px;border:2px solid color-mix(in srgb,var(--info) 45%,var(--border));background:color-mix(in srgb,var(--info) 6%,var(--bg-card))}.problem-infra-code .code-tabs__bar{border-radius:8px 8px 0 0}@media(max-width:768px){.tail-insert-walk__layout{grid-template-columns:1fr;grid-template-rows:var(--tail-insert-title-h) var(--tail-insert-body-h) var( --tail-insert-title-h ) var(--tail-insert-body-h);height:auto}.tail-insert-walk__panel-title--code{grid-column:1;grid-row:1}.tail-insert-walk__code-pane{grid-column:1;grid-row:2;margin-top:0;max-height:none}.tail-insert-walk__panel-title--visual{grid-column:1;grid-row:3}.tail-insert-walk__visual-pane{grid-column:1;grid-row:4}.tail-insert-walk{min-height:calc(40px + (var(--tail-insert-title-h) + var(--tail-insert-body-h)) * 2 + var(--tail-insert-controls-h))}}.walkthrough-panel{position:relative}.walkthrough-panel__fs-btn{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 88%,transparent);color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.walkthrough-panel__fs-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 18%,transparent)}.walkthrough-panel__fs-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.walkthrough-fs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:var(--walkthrough-fs-pad, 40px);background:color-mix(in srgb,var(--bg-page) 55%,transparent);backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05);box-sizing:border-box}.walkthrough-fs-backdrop__stage{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}.walkthrough-panel--expanded{margin:0;box-shadow:0 24px 64px color-mix(in srgb,var(--text-primary) 16%,transparent),0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent)}.walkthrough-fs-backdrop .walkthrough-panel--expanded.tail-insert-walk,.walkthrough-fs-backdrop .walkthrough-panel--expanded.complete-tree-build-walk,.walkthrough-fs-backdrop .walkthrough-panel--expanded.bfs-tree-build-walk{width:max-content;max-width:96vw;min-height:unset;max-height:none;overflow:visible}.walkthrough-fs-backdrop .walkthrough-panel--expanded .tail-insert-walk__layout,.walkthrough-fs-backdrop .walkthrough-panel--expanded .complete-tree-build-walk__layout,.walkthrough-fs-backdrop .walkthrough-panel--expanded .bfs-tree-build-walk__layout{height:auto;min-height:unset;grid-template-rows:auto auto;grid-template-columns:auto minmax(300px,1fr);column-gap:24px;align-items:start}.walkthrough-fs-backdrop .walkthrough-panel--expanded .tail-insert-walk__code-pane,.walkthrough-fs-backdrop .walkthrough-panel--expanded .complete-tree-build-walk__code-pane,.walkthrough-fs-backdrop .walkthrough-panel--expanded .bfs-tree-build-walk__code-pane{width:max-content;max-width:none;min-width:0;max-height:none;height:auto;margin-top:0;justify-self:start;align-self:start;overflow:visible}.walkthrough-fs-backdrop .walkthrough-panel--expanded [class*=__code-pane] .code-block{width:max-content;min-width:100%;height:auto;overflow:hidden;box-sizing:border-box}.walkthrough-fs-backdrop .walkthrough-panel--expanded [class*=__code-pane] .code-block__pre,.walkthrough-fs-backdrop .walkthrough-panel--expanded [class*=__code-pane] .code-block__pre--numbered{overflow:visible;max-height:none}.walkthrough-fs-backdrop .walkthrough-panel--expanded [class*=__code-pane] .code-block__table{width:max-content;min-width:100%;table-layout:auto}.walkthrough-fs-backdrop .walkthrough-panel--expanded [class*=__code-pane] .code-block__line{width:auto;white-space:pre}.walkthrough-fs-backdrop .walkthrough-panel--expanded .tail-insert-walk__visual-pane,.walkthrough-fs-backdrop .walkthrough-panel--expanded .complete-tree-build-walk__visual-pane,.walkthrough-fs-backdrop .walkthrough-panel--expanded .bfs-tree-build-walk__visual-pane{height:auto;overflow:visible}.walkthrough-fs-backdrop .walkthrough-panel--expanded .tail-insert-canvas,.walkthrough-fs-backdrop .walkthrough-panel--expanded .complete-tree-build-canvas,.walkthrough-fs-backdrop .walkthrough-panel--expanded .bfs-tree-build-canvas{height:auto}.walkthrough-fs-backdrop .walkthrough-panel--expanded .bfs-tree-build-canvas__input-row{flex-wrap:nowrap;overflow-x:visible}@media(max-width:768px){.walkthrough-fs-backdrop{--walkthrough-fs-pad: 16px}.walkthrough-fs-backdrop .walkthrough-panel--expanded.tail-insert-walk,.walkthrough-fs-backdrop .walkthrough-panel--expanded.complete-tree-build-walk,.walkthrough-fs-backdrop .walkthrough-panel--expanded.bfs-tree-build-walk{width:min(96vw,720px)}.walkthrough-fs-backdrop .walkthrough-panel--expanded .tail-insert-walk__layout,.walkthrough-fs-backdrop .walkthrough-panel--expanded .complete-tree-build-walk__layout,.walkthrough-fs-backdrop .walkthrough-panel--expanded .bfs-tree-build-walk__layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}.walkthrough-fs-backdrop .walkthrough-panel--expanded .tail-insert-walk__code-pane,.walkthrough-fs-backdrop .walkthrough-panel--expanded .complete-tree-build-walk__code-pane,.walkthrough-fs-backdrop .walkthrough-panel--expanded .bfs-tree-build-walk__code-pane{margin-top:0;width:100%;max-width:100%;overflow-x:auto}}.binary-tree-svg{display:block;width:100%;max-width:100%;height:auto;color:var(--text-primary)}.binary-tree-svg__edge{stroke:color-mix(in srgb,var(--text-muted) 55%,var(--border));stroke-width:1.75}.binary-tree-svg__edge-label{font-size:9px;font-family:var(--font-mono);fill:var(--accent);font-weight:700}.binary-tree-svg__node{fill:var(--bg-card);stroke:var(--border);stroke-width:1.75}.binary-tree-svg__node-text{font-size:11px;font-family:var(--font-mono);font-weight:700;fill:var(--text-primary)}.binary-tree-svg__node-sub{font-size:8px;font-family:var(--font-mono);fill:var(--text-muted)}.binary-tree-svg__node-group--active .binary-tree-svg__node{fill:color-mix(in srgb,var(--accent) 18%,var(--bg-card));stroke:var(--accent);stroke-width:2}.binary-tree-svg__node-group--done .binary-tree-svg__node{fill:color-mix(in srgb,var(--teal) 10%,var(--bg-card));stroke:color-mix(in srgb,var(--teal) 55%,var(--border))}.binary-tree-svg__node-group--leaf .binary-tree-svg__node{fill:color-mix(in srgb,var(--success) 14%,var(--bg-card));stroke:var(--success)}.binary-tree-svg__node-group--dim .binary-tree-svg__node{fill:var(--bg-panel);stroke:color-mix(in srgb,var(--border) 80%,transparent);opacity:.45}.tree-compare-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 24px}.tree-compare-pair__panel{margin:0;padding:16px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}.tree-compare-pair__panel--ok{border-color:color-mix(in srgb,var(--success) 35%,var(--border));background:color-mix(in srgb,var(--success) 5%,var(--bg-card))}.tree-compare-pair__panel--bad{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 5%,var(--bg-card))}.tree-compare-pair__badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:4px 10px;border-radius:999px;font-size:var(--text-size-xs);font-weight:700}.tree-compare-pair__badge--ok{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.tree-compare-pair__badge--bad{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.tree-compare-pair__note{margin:10px 0 0;font-size:var(--text-size-sm);color:var(--text-muted);line-height:1.5}.index-formula-tree{margin:20px auto 24px;padding:14px 16px 16px;max-width:440px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--bg-panel))}.index-formula-tree .binary-tree-svg{display:block;margin:0 auto;max-width:100%}.index-formula-tree .binary-tree-svg__edge-label{font-size:9px}.index-formula-tree__caption{margin:12px 0 0;font-size:var(--text-size-sm);color:var(--text-muted);line-height:1.55;text-align:center}.tree-array-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 24px}.tree-array-compare__col{padding:16px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}.tree-array-compare__col--ok{border-color:color-mix(in srgb,var(--success) 30%,var(--border))}.tree-array-compare__col--bad{border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.tree-array-compare__heading{margin:0 0 12px;font-size:var(--text-size-sm);font-weight:700;color:var(--text-primary)}.tree-array-compare__tree{margin:0 auto}.tree-array-compare__array-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}.tree-array-slot{display:flex;flex-direction:column;align-items:center;min-width:2.6rem;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);font-family:var(--font-mono)}.tree-array-slot__idx{font-size:10px;color:var(--text-muted)}.tree-array-slot__val{font-size:var(--text-size-sm);font-weight:700;color:var(--text-primary)}.tree-array-slot--ok{border-color:color-mix(in srgb,var(--success) 35%,var(--border))}.tree-array-slot--bad{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.tree-array-slot--hole,.tree-array-slot--null{border-style:dashed;opacity:.75}.tree-array-slot--null .tree-array-slot__val{color:var(--text-muted);font-weight:600}.tree-array-compare__hint{margin:12px 0 0;font-size:var(--text-size-xs);color:var(--text-muted);line-height:1.5}.tree-series-preview{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:stretch;margin:20px 0 8px;padding:18px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}.tree-series-preview__col{padding:14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-panel)}.tree-series-preview__col--current{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--bg-panel))}.tree-series-preview__col--next{border-color:color-mix(in srgb,var(--teal) 35%,var(--border));background:color-mix(in srgb,var(--teal) 6%,var(--bg-panel))}.tree-series-preview__tag{display:inline-block;margin-bottom:8px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.tree-series-preview__tag--next{color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,transparent)}.tree-series-preview__title{margin:0 0 8px;font-size:var(--text-size-md);font-weight:700}.tree-series-preview__desc{margin:0;font-size:var(--text-size-sm);color:var(--text-muted);line-height:1.55}.tree-series-preview__arrow{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.complete-tree-build-walk{--ctb-title-h: 28px;--ctb-input-h: 52px;--ctb-stage-h: 276px;--ctb-body-h: calc(var(--ctb-input-h) + var(--ctb-stage-h));--ctb-controls-h: 53px;margin:20px 0 28px;padding:20px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);box-sizing:border-box;min-height:calc(40px + var(--ctb-title-h) + var(--ctb-body-h) + var(--ctb-controls-h))}.complete-tree-build-walk__layout{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(300px,1.25fr);grid-template-rows:var(--ctb-title-h) var(--ctb-body-h);column-gap:20px;row-gap:8px;height:calc(var(--ctb-title-h) + var(--ctb-body-h))}.complete-tree-build-walk__panel-title{margin:0;font-size:var(--text-size-sm);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:var(--ctb-title-h)}.complete-tree-build-walk__panel-title--code{grid-column:1;grid-row:1}.complete-tree-build-walk__panel-title--visual{grid-column:2;grid-row:1}.complete-tree-build-walk__code-pane{grid-column:1;grid-row:2;margin-top:var(--ctb-input-h);width:fit-content;max-width:100%;height:fit-content;max-height:var(--ctb-stage-h);align-self:start;justify-self:start;display:block;overflow:auto;border-radius:10px;border:1px solid var(--border);background:var(--bg-panel);box-sizing:border-box}.complete-tree-build-walk__code-pane .code-block{width:auto;margin:0}.complete-tree-build-walk__code-pane .code-block--compact{border:none;border-radius:inherit;background:var(--code-panel-bg)}.complete-tree-build-walk__code-pane .code-block__pre--numbered{margin:0}.complete-tree-build-walk__visual-pane{grid-column:2;grid-row:2;height:var(--ctb-body-h);overflow:hidden}.complete-tree-build-walk__caption{margin:12px 0 0;padding:0 4px;font-size:var(--text-size-sm);color:var(--text-secondary);line-height:1.5;text-align:center}.complete-tree-build-walk__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;flex-shrink:0;height:var(--ctb-controls-h);margin-top:18px;padding-top:16px;border-top:1px solid var(--border);box-sizing:border-box}.complete-tree-build-walk__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-primary);font-size:var(--text-size-sm);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.complete-tree-build-walk__btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.complete-tree-build-walk__btn:disabled{opacity:.45;cursor:not-allowed}.complete-tree-build-walk__btn--primary{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));color:var(--accent)}.complete-tree-build-walk__progress{font-size:var(--text-size-sm);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.complete-tree-build-canvas{display:flex;flex-direction:column;height:var(--ctb-body-h)}.complete-tree-build-canvas__input-row{display:flex;flex:0 0 var(--ctb-input-h);flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;margin:0;padding:8px 8px 10px;border-bottom:1px dashed var(--border)}.complete-tree-build-canvas__pill{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:2.75rem;height:2.75rem;min-width:2.75rem;padding:4px 6px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);font-family:var(--font-mono);color:var(--text-muted);transition:border-color .2s,background .2s,color .2s,transform .2s}.complete-tree-build-canvas__pill--active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));transform:scale(1.06)}.complete-tree-build-canvas__pill--done{border-color:color-mix(in srgb,var(--border) 80%,var(--teal))}.complete-tree-build-canvas__pill--done .complete-tree-build-canvas__pill-val{color:var(--text-primary)}.complete-tree-build-canvas__pill-idx{font-size:10px;color:var(--text-muted)}.complete-tree-build-canvas__pill-val{font-size:var(--text-size-sm);font-weight:700;color:var(--text-primary)}.complete-tree-build-canvas__stage{position:relative;flex:0 0 var(--ctb-stage-h);min-height:0;height:var(--ctb-stage-h);display:flex;flex-direction:column;padding:16px 12px 12px;border-radius:10px;background:transparent;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));overflow-x:auto;overflow-y:hidden;box-sizing:border-box}.complete-tree-build-canvas__call{flex:0 0 auto;margin-bottom:6px;font-size:var(--text-size-sm);color:var(--text-secondary);text-align:center}.complete-tree-build-canvas__call code{color:var(--text-primary);font-weight:700}.complete-tree-build-canvas__stage .binary-tree-svg{flex:1 1 auto;min-height:0}.complete-tree-build-canvas__legend{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;margin-top:8px;font-size:var(--text-size-xs);color:var(--text-secondary)}.complete-tree-build-canvas__legend-item:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;vertical-align:middle;border:2px solid var(--border);background:var(--bg-card)}.complete-tree-build-canvas__legend-item--active:before{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--bg-card))}.complete-tree-build-canvas__legend-item--done:before{border-color:var(--teal)}.complete-tree-build-canvas__legend-item--leaf:before{border-color:var(--success);background:color-mix(in srgb,var(--success) 18%,var(--bg-card))}html[data-theme-mode=light] .tree-compare-pair__panel--ok,html[data-theme-mode=light] .tree-compare-pair__panel--bad{background:var(--bg-card)}html[data-theme-mode=light] .tree-compare-pair__panel--ok{border-color:color-mix(in srgb,var(--success) 28%,var(--border))}html[data-theme-mode=light] .tree-compare-pair__panel--bad{border-color:color-mix(in srgb,var(--danger) 28%,var(--border))}@media(max-width:768px){.tree-compare-pair,.tree-array-compare,.tree-series-preview{grid-template-columns:1fr}.tree-series-preview__arrow{transform:rotate(90deg)}.complete-tree-build-walk__layout{grid-template-columns:1fr;grid-template-rows:var(--ctb-title-h) var(--ctb-body-h) var( --ctb-title-h ) var(--ctb-body-h);height:auto}.complete-tree-build-walk__panel-title--code{grid-column:1;grid-row:1}.complete-tree-build-walk__code-pane{grid-column:1;grid-row:2;margin-top:0;max-height:none}.complete-tree-build-walk__panel-title--visual{grid-column:1;grid-row:3}.complete-tree-build-walk__visual-pane{grid-column:1;grid-row:4}.complete-tree-build-walk{min-height:calc(40px + (var(--ctb-title-h) + var(--ctb-body-h)) * 2 + var(--ctb-controls-h))}.bfs-tree-build-walk__layout{grid-template-columns:1fr;grid-template-rows:var(--btb-title-h) var(--btb-body-h) var( --btb-title-h ) var(--btb-body-h);height:auto}.bfs-tree-build-walk__panel-title--code{grid-column:1;grid-row:1}.bfs-tree-build-walk__code-pane{grid-column:1;grid-row:2;margin-top:0;max-height:none}.bfs-tree-build-walk__panel-title--visual{grid-column:1;grid-row:3}.bfs-tree-build-walk__visual-pane{grid-column:1;grid-row:4}.bfs-tree-build-walk{min-height:calc(40px + (var(--btb-title-h) + var(--btb-body-h)) * 2 + var(--btb-controls-h))}}.level-order-tree-example{margin:20px 0 28px;padding:20px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);box-sizing:border-box}.level-order-tree-example__array-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.level-order-tree-example__cell{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:2.75rem;height:2.75rem;min-width:2.75rem;padding:4px 6px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);font-family:var(--font-mono)}.level-order-tree-example__cell--null{color:var(--text-muted);border-style:dashed;opacity:.75}.level-order-tree-example__cell-idx{font-size:10px;color:var(--text-muted)}.level-order-tree-example__cell-val{font-size:var(--text-size-sm);font-weight:700;color:var(--text-primary)}.level-order-tree-example__arrow{display:flex;align-items:center;justify-content:center;margin:14px 0;font-size:1.25rem;color:var(--text-muted)}.level-order-tree-example__tree{display:block;margin:0 auto}.level-order-tree-example__caption{margin:14px 0 0;font-size:var(--text-size-sm);color:var(--text-secondary);line-height:1.55;text-align:center}.bfs-tree-build-walk{--btb-title-h: 28px;--btb-input-h: 52px;--btb-meta-h: 44px;--btb-stage-h: 204px;--btb-body-h: calc(var(--btb-input-h) + var(--btb-meta-h) + var(--btb-stage-h));--btb-controls-h: 53px;margin:20px 0 28px;padding:20px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);box-sizing:border-box;min-height:calc(40px + var(--btb-title-h) + var(--btb-body-h) + var(--btb-controls-h))}.bfs-tree-build-walk__layout{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(300px,1.25fr);grid-template-rows:var(--btb-title-h) var(--btb-body-h);column-gap:20px;row-gap:8px;height:calc(var(--btb-title-h) + var(--btb-body-h))}.bfs-tree-build-walk__panel-title{margin:0;font-size:var(--text-size-sm);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:var(--btb-title-h)}.bfs-tree-build-walk__panel-title--code{grid-column:1;grid-row:1}.bfs-tree-build-walk__panel-title--visual{grid-column:2;grid-row:1}.bfs-tree-build-walk__code-pane{grid-column:1;grid-row:2;margin-top:calc(var(--btb-input-h) + var(--btb-meta-h));width:fit-content;max-width:100%;height:fit-content;max-height:var(--btb-stage-h);align-self:start;justify-self:start;display:block;overflow:auto;border-radius:10px;border:1px solid var(--border);background:var(--bg-panel);box-sizing:border-box}.bfs-tree-build-walk__code-pane .code-block{width:auto;margin:0}.bfs-tree-build-walk__code-pane .code-block--compact{border:none;border-radius:inherit;background:var(--code-panel-bg)}.bfs-tree-build-walk__code-pane .code-block__pre--numbered{margin:0}.bfs-tree-build-walk__visual-pane{grid-column:2;grid-row:2;height:var(--btb-body-h);overflow:hidden}.bfs-tree-build-walk__caption{margin:12px 0 0;padding:0 4px;font-size:var(--text-size-sm);color:var(--text-secondary);line-height:1.5;text-align:center}.bfs-tree-build-walk__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;flex-shrink:0;height:var(--btb-controls-h);margin-top:18px;padding-top:16px;border-top:1px solid var(--border);box-sizing:border-box}.bfs-tree-build-walk__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-primary);font-size:var(--text-size-sm);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.bfs-tree-build-walk__btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.bfs-tree-build-walk__btn:disabled{opacity:.45;cursor:not-allowed}.bfs-tree-build-walk__btn--primary{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));color:var(--accent)}.bfs-tree-build-walk__progress{font-size:var(--text-size-sm);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.bfs-tree-build-canvas{display:flex;flex-direction:column;height:var(--btb-body-h)}.bfs-tree-build-canvas__input-row{display:flex;flex:0 0 var(--btb-input-h);flex-wrap:nowrap;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;margin:0;padding:6px 4px 8px;border-bottom:1px dashed var(--border);overflow-x:auto}.bfs-tree-build-canvas__cell{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:2rem;height:2rem;min-width:2rem;flex-shrink:0;padding:2px 4px;border-radius:6px;border:1px solid var(--border);background:var(--bg-panel);font-family:var(--font-mono);color:var(--text-muted);transition:border-color .2s,background .2s,color .2s,transform .2s}.bfs-tree-build-canvas__cell--active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));transform:scale(1.04)}.bfs-tree-build-canvas__cell--done{border-color:color-mix(in srgb,var(--border) 80%,var(--teal))}.bfs-tree-build-canvas__cell--done .bfs-tree-build-canvas__cell-val{color:var(--text-primary)}.bfs-tree-build-canvas__cell--null{border-style:dashed;opacity:.72}.bfs-tree-build-canvas__cell--highlight{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--bg-card))}.bfs-tree-build-canvas__cell-idx{font-size:9px;color:var(--text-muted);line-height:1}.bfs-tree-build-canvas__cell-val{font-size:11px;font-weight:700;color:var(--text-primary);line-height:1.1}.bfs-tree-build-canvas__meta{display:flex;flex:0 0 var(--btb-meta-h);flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;padding:8px 10px;font-size:var(--text-size-sm);color:var(--text-secondary);border-bottom:1px dashed var(--border);box-sizing:border-box}.bfs-tree-build-canvas__queue-item{display:inline-block;margin:0 4px;padding:2px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-primary);font-weight:700}.bfs-tree-build-canvas__queue-empty{color:var(--text-muted)}.bfs-tree-build-canvas__attach{margin-left:8px;color:var(--accent);font-weight:600}.bfs-tree-build-canvas__stage{position:relative;flex:0 0 var(--btb-stage-h);min-height:0;height:var(--btb-stage-h);display:flex;flex-direction:column;padding:16px 12px 12px;border-radius:10px;background:transparent;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));overflow-x:auto;overflow-y:hidden;box-sizing:border-box}.bfs-tree-build-canvas__stage .binary-tree-svg{flex:1 1 auto;min-height:0}.series-nav-layout{display:flex;max-width:var(--content-max);margin:0 auto;padding-top:80px;min-height:calc(100vh - 80px)}.problem-sidebar{width:240px;flex-shrink:0;position:sticky;top:80px;height:calc(100vh - 80px);overflow-y:auto;padding:24px 20px;border-right:1px solid var(--border-light);background:transparent}.problem-sidebar__header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.problem-sidebar__title{font-family:var(--font-display);font-size:var(--text-size-md);font-weight:600;color:var(--text-primary)}.problem-sidebar__divider{height:1px;background:var(--border-light);margin-bottom:12px}.problem-sidebar__nav{display:flex;flex-direction:column;gap:2px}.problem-sidebar__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 16px;border:none;border-left:3px solid transparent;border-radius:8px;background:transparent;font-family:var(--font-body);font-size:var(--text-size-ui);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-align:left}.problem-sidebar__item:hover{background:var(--accent-dim);color:var(--text-primary)}.problem-sidebar__item--active{border-left-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.problem-sidebar__item-label{display:flex;align-items:center;gap:4px;flex:1;min-width:0;line-height:1.4}.problem-sidebar__dot{font-size:var(--text-size-2xs);line-height:1;color:var(--accent)}.problem-sidebar__count{font-family:var(--font-mono);font-size:var(--text-size-caption);color:var(--text-muted);flex-shrink:0;margin-left:8px}.series-nav-content{flex:1;min-width:0;padding:48px}.series-nav-content__header{margin-bottom:0}.series-nav-content__title{font-family:var(--font-display);font-size:var(--text-size-5xl);font-weight:700;color:var(--text-primary);margin-bottom:8px}.series-nav-content__subtitle{font-size:var(--text-size-md);color:var(--text-secondary);margin-bottom:20px}.series-nav-content__divider{height:1px;background:var(--border-light);margin-bottom:0}.category-pills{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px;margin-bottom:0}.category-pills__item{border:1px solid var(--border);cursor:pointer;transition:all .2s ease;background:transparent;font-family:var(--font-body)}.category-pills__item:hover{border-color:var(--accent-border);color:var(--accent)}.category-pills__item--active{background:var(--accent-dim)!important;border-color:var(--accent-border)!important;color:var(--accent)!important}.category-section{scroll-margin-top:100px;padding-top:32px}.series-nav-content .separator{max-width:none;margin:0;padding:0}.category-section__title{font-family:var(--font-display);font-size:var(--text-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:6px}.category-section__count{font-family:var(--font-mono);font-size:var(--text-size-md);color:var(--text-muted);margin-bottom:0}.problem-grid{--gap: 14px;--card-min: 260px;display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--gap);margin-top:20px;margin-bottom:40px}.problem-grid>*{display:flex;flex:1 1 var(--card-min);min-width:var(--card-min);max-width:calc((100% - var(--gap) * 3) / 4)}@media(max-width:900px){.problem-grid>*{max-width:calc((100% - var(--gap)) / 2)}}@media(max-width:600px){.problem-grid{--card-min: 100%}.problem-grid>*{min-width:100%;max-width:100%}}.problem-card{display:flex;flex-direction:column;flex:1;position:relative;width:100%;min-width:0;box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px;overflow:hidden;transition:all .3s ease}.problem-card--hover,.problem-card:hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:0 4px 20px var(--accent-dim)}.problem-card__shine{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .3s ease}.problem-card:hover .problem-card__shine{opacity:1}.problem-card__num{display:block;font-family:var(--font-mono);font-size:var(--text-size-sm);color:var(--text-muted);margin-bottom:8px}.problem-card__title{font-family:var(--font-display);font-size:var(--text-size-prose);font-weight:600;color:var(--text-primary);margin-bottom:10px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problem-card__footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}.problem-card--draft{cursor:default;opacity:.72}.problem-card--draft:hover{transform:none;box-shadow:none;border-color:var(--border)}.problem-card__badge{font-size:var(--text-size-caption);color:var(--text-muted);background:var(--bg-elevated, rgba(255, 255, 255, .04));border:1px solid var(--border);border-radius:999px;padding:2px 8px}@media(max-width:768px){.problem-sidebar{display:none}.series-nav-content{padding:32px 20px}.series-nav-content__title{font-size:var(--text-size-2xl)}}.chapter-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:var(--chapter-nav-overlay, rgba(0, 0, 0, .4));opacity:0;pointer-events:none;transition:opacity .28s ease}.chapter-nav-overlay--open{opacity:1;pointer-events:auto}.chapter-nav-panel{position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;max-width:90vw;padding:calc(20px + env(safe-area-inset-top,0px)) 18px 8px;background:var(--chapter-nav-bg, var(--bg-card));border-right:1px solid var(--chapter-nav-border, var(--border-light));box-shadow:var(--chapter-nav-shadow, 0 12px 40px rgba(0, 0, 0, .18));transform:translate(-100%);transition:transform .28s cubic-bezier(.32,.72,0,1);will-change:transform}.chapter-nav-panel--open{transform:translate(0)}.chapter-nav-panel__back{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--chapter-nav-border, var(--border-light));font-size:var(--text-size-sm);line-height:1.4;color:var(--text-muted);transition:color .2s ease}.chapter-nav-panel__back:hover{color:var(--accent)}.chapter-nav-panel__body{flex:1;min-height:0;overflow-y:auto;padding-right:6px;padding-bottom:12px}.chapter-nav-panel__body::-webkit-scrollbar{width:6px}.chapter-nav-panel__body::-webkit-scrollbar-thumb{background:var(--chapter-nav-border, var(--border-light));border-radius:999px}.chapter-nav-panel__hint{margin:8px 2px;font-size:var(--text-size-sm);color:var(--text-muted);font-family:var(--font-mono)}.chapter-nav-panel__hint--error{color:var(--danger)}.chapter-nav-group{margin-bottom:18px}.chapter-nav-group__title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;font-family:var(--font-mono);font-size:var(--text-size-2xs);font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted)}.chapter-nav-group__count{flex-shrink:0;padding:1px 7px;border-radius:999px;background:var(--accent-dim);color:var(--accent);font-size:var(--text-size-2xs);letter-spacing:0}.chapter-nav-group__list{display:flex;flex-direction:column;gap:6px}.chapter-nav-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--chapter-nav-border, var(--border-light));border-radius:8px;background:var(--chapter-nav-card-bg, transparent);text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease}.chapter-nav-card__num{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-size-2xs);color:var(--text-muted)}.chapter-nav-card__title{flex:1;min-width:0;font-size:var(--text-size-sm);line-height:1.35;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-nav-card__footer{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.chapter-nav-card__badge{font-size:var(--text-size-2xs);color:var(--text-muted);white-space:nowrap}.chapter-nav-card--link{cursor:pointer}.chapter-nav-card--link:hover{border-color:var(--accent);background:var(--accent-dim);transform:translate(2px)}.chapter-nav-card--link:hover .chapter-nav-card__title{color:var(--text-primary)}.chapter-nav-card--draft{opacity:.6;cursor:default}.chapter-nav-card--current{border-color:var(--accent);background:var(--accent-dim)}.chapter-nav-card--current .chapter-nav-card__title{color:var(--accent);font-weight:600}.chapter-nav-card__here{flex-shrink:0;padding:1px 7px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);font-size:var(--text-size-2xs);letter-spacing:0}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/acm/assets/index6.woff2) format("woff2"),url(/acm/assets/index9.woff) format("woff"),url(/acm/assets/index9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/acm/assets/index4.woff2) format("woff2"),url(/acm/assets/index3.woff) format("woff"),url(/acm/assets/index2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/acm/assets/index.woff2) format("woff2"),url(/acm/assets/index2.woff) format("woff"),url(/acm/assets/index.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/acm/assets/index2.woff2) format("woff2"),url(/acm/assets/index.woff) format("woff"),url(/acm/assets/index3.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/acm/assets/index3.woff2) format("woff2"),url(/acm/assets/index4.woff) format("woff"),url(/acm/assets/index4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/acm/assets/index7.woff2) format("woff2"),url(/acm/assets/index7.woff) format("woff"),url(/acm/assets/index7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/acm/assets/index5.woff2) format("woff2"),url(/acm/assets/index5.woff) format("woff"),url(/acm/assets/index5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/acm/assets/index8.woff2) format("woff2"),url(/acm/assets/index6.woff) format("woff"),url(/acm/assets/index6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/acm/assets/index9.woff2) format("woff2"),url(/acm/assets/index10.woff) format("woff"),url(/acm/assets/index10.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/acm/assets/index11.woff2) format("woff2"),url(/acm/assets/index8.woff) format("woff"),url(/acm/assets/index8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/acm/assets/index10.woff2) format("woff2"),url(/acm/assets/index11.woff) format("woff"),url(/acm/assets/index11.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/acm/assets/index12.woff2) format("woff2"),url(/acm/assets/index12.woff) format("woff"),url(/acm/assets/index12.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/acm/assets/index13.woff2) format("woff2"),url(/acm/assets/index14.woff) format("woff"),url(/acm/assets/index16.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/acm/assets/index14.woff2) format("woff2"),url(/acm/assets/index13.woff) format("woff"),url(/acm/assets/index13.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/acm/assets/index15.woff2) format("woff2"),url(/acm/assets/index15.woff) format("woff"),url(/acm/assets/index15.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/acm/assets/index16.woff2) format("woff2"),url(/acm/assets/index17.woff) format("woff"),url(/acm/assets/index17.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/acm/assets/index17.woff2) format("woff2"),url(/acm/assets/index19.woff) format("woff"),url(/acm/assets/index18.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/acm/assets/index18.woff) format("woff"),url(/acm/assets/index19.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/acm/assets/index18.woff2) format("woff2"),url(/acm/assets/index16.woff) format("woff"),url(/acm/assets/index14.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/acm/assets/index19.woff2) format("woff2"),url(/acm/assets/index20.woff) format("woff"),url(/acm/assets/index20.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--font-scale: 1.1;--text-size-2xs: calc(8px * var(--font-scale));--text-size-xs: calc(10px * var(--font-scale));--text-size-caption: calc(11px * var(--font-scale));--text-size-sm: calc(12px * var(--font-scale));--text-size-ui: calc(13px * var(--font-scale));--text-size-md: calc(14px * var(--font-scale));--text-size-prose: calc(15px * var(--font-scale));--text-size-base: calc(16px * var(--font-scale));--text-size-body-lg: calc(17px * var(--font-scale));--text-size-lg: calc(18px * var(--font-scale));--text-size-xl: calc(20px * var(--font-scale));--text-size-2xl: calc(22px * var(--font-scale));--text-size-3xl: calc(24px * var(--font-scale));--text-size-4xl: calc(26px * var(--font-scale));--text-size-5xl: calc(28px * var(--font-scale));--text-size-6xl: calc(30px * var(--font-scale));--text-size-7xl: calc(32px * var(--font-scale));--text-size-8xl: calc(36px * var(--font-scale));--text-size-9xl: calc(40px * var(--font-scale));--text-size-stat: calc(48px * var(--font-scale));--text-size-hero: calc(52px * var(--font-scale));--text-relative-katex: 1.05;--text-prose: var(--text-size-prose);--text-prose-sm: var(--text-size-ui);--text-prose-md: var(--text-size-base);--text-h2: var(--text-size-2xl);--text-h3: var(--text-size-lg);--text-meta-title: var(--text-size-7xl);--text-intro-body: var(--text-size-body-lg);--text-intro-h2: var(--text-size-5xl);--problem-article-width: 820px;--problem-page-side-padding: 158px}@media(max-width:1279px){:root{--problem-page-side-padding: 48px}}@media(max-width:1023px){:root{--problem-page-side-padding: 24px}}@media(min-width:1920px){:root{--font-scale: 1.12;--problem-article-width: 860px}}@media(min-width:2560px){:root{--font-scale: 1.2;--problem-article-width: 960px;--problem-page-side-padding: 140px;--hero-scale: 1.28}}@media(min-width:3000px){:root{--font-scale: 1.28;--problem-article-width: 1080px;--problem-page-side-padding: 120px}}@media(min-width:3840px){:root{--font-scale: 1.35;--problem-article-width: 1200px;--problem-page-side-padding: 100px}}
