:root{--bg: #ffffff;--bg-soft: #f7f7f5;--bg-hover: #efefed;--fg: #1a1a19;--fg-2: #5e5d59;--fg-3: #94938f;--line: #e9e9e7;--line-strong: #d6d6d3;--accent: #2563eb;--accent-soft: #eaf0fe;--accent-fg: #ffffff;--amber: #c2700f;--amber-soft: #fdf1e1;--green: #18805b;--green-soft: #e3f4ec;--red: #d93b3b;--red-soft: #fdeaea;--violet: #7c4ddb;--violet-soft: #f0eafd;--drone: #f2a03d;--drone-led: #3ccf7a;--viz-bg: #fcfcfc;--viz-grid: #ededeb;--viz-ink: #0b0b0b;--viz-obstacle: #1c1c1c;--viz-visited: #e8edf6;--viz-visited-ink: #9aa9c4;--viz-terrain: #f3e6cf;--viz-cobs: #1c1c1c;--font-ui: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--r-sm: 6px;--r-md: 10px;--shadow: 0 1px 2px rgba(15, 15, 15, .04), 0 4px 16px rgba(15, 15, 15, .05);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #191919;--bg-soft: #202020;--bg-hover: #2a2a2a;--fg: #ededec;--fg-2: #a8a7a3;--fg-3: #75746f;--line: #2c2c2b;--line-strong: #3a3a38;--accent: #5b8cff;--accent-soft: #1d2a45;--amber: #f0a64a;--amber-soft: #3a2a14;--green: #4cc38a;--green-soft: #15302a;--red: #ff6b6b;--red-soft: #3a1c1c;--violet: #a585ff;--violet-soft: #2a2140;--viz-bg: #121212;--viz-grid: #262626;--viz-ink: #f4f4f4;--viz-obstacle: #e6e6e6;--viz-visited: #1e2738;--viz-visited-ink: #5d6f92;--viz-terrain: #3a3020;--viz-cobs: #e6e6e6;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .25);color-scheme:dark}}:root[data-theme=dark]{--bg: #191919;--bg-soft: #202020;--bg-hover: #2a2a2a;--fg: #ededec;--fg-2: #a8a7a3;--fg-3: #75746f;--line: #2c2c2b;--line-strong: #3a3a38;--accent: #5b8cff;--accent-soft: #1d2a45;--amber: #f0a64a;--amber-soft: #3a2a14;--green: #4cc38a;--green-soft: #15302a;--red: #ff6b6b;--red-soft: #3a1c1c;--violet: #a585ff;--violet-soft: #2a2140;--viz-bg: #121212;--viz-grid: #262626;--viz-ink: #f4f4f4;--viz-obstacle: #e6e6e6;--viz-visited: #1e2738;--viz-visited-ink: #5d6f92;--viz-terrain: #3a3020;--viz-cobs: #e6e6e6;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .25);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:15px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}h1,h2,h3{text-wrap:balance;margin:0}p{margin:0}.math{font-family:var(--font-serif);font-style:italic;font-size:1.12em;letter-spacing:.01em;white-space:nowrap}.math sub{font-family:var(--font-ui);font-style:normal;font-size:.68em;margin-left:.04em;letter-spacing:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--fg-2)}.faint{color:var(--fg-3)}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--bg-soft);border-right:1px solid var(--line);padding:14px 10px 20px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px;text-decoration:none}.brand-mark{width:26px;height:26px;border-radius:7px;background:var(--fg);display:grid;place-items:center;flex:none}.brand-mark svg{display:block}.brand b{font-weight:600;font-size:14px;display:block;line-height:1.2}.brand span{font-size:12px;color:var(--fg-3)}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-label{display:block;font-size:11px;font-weight:500;color:var(--fg-3);padding:4px 10px;letter-spacing:.02em;text-decoration:none}a.nav-label:hover{color:var(--fg)}.nav-item{display:flex;align-items:center;gap:9px;padding:5px 10px;border-radius:var(--r-sm);text-decoration:none;color:var(--fg-2);font-size:14px;line-height:1.4}.nav-item:hover{background:var(--bg-hover);color:var(--fg)}.nav-item.active{background:var(--bg-hover);color:var(--fg);font-weight:500}.nav-item .ic{width:22px;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--fg-3);flex:none}.nav-item .count{margin-left:auto;font-size:11px;color:var(--fg-3);font-family:var(--font-mono)}.theme-switch{display:flex;gap:2px;background:var(--bg-hover);border-radius:var(--r-sm);padding:2px}.home-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}.home-foot a{color:var(--fg-2);text-decoration:none}.home-foot a:hover{color:var(--fg)}.home-foot .theme-switch{margin-left:auto;width:210px}.theme-switch button{flex:1;border:0;background:transparent;padding:3px 0;border-radius:4px;font-size:12px;color:var(--fg-2);cursor:pointer}.theme-switch button.on{background:var(--bg);color:var(--fg);box-shadow:var(--shadow)}.main{min-width:0}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;height:46px;display:flex;align-items:center;gap:8px;padding:0 20px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid transparent;font-size:14px;color:var(--fg-2)}.topbar a{text-decoration:none;padding:2px 6px;border-radius:4px}.topbar a:hover{background:var(--bg-hover)}.topbar .sep{color:var(--fg-3)}.menu-btn{display:none;border:0;background:transparent;font-size:18px;cursor:pointer;padding:4px 8px}.page{padding:28px 40px 80px;max-width:1180px;margin:0 auto}.page.narrow{max-width:860px}.page.wide{max-width:1400px}@media (max-width: 900px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;z-index:40;left:0;top:0;width:260px;transform:translate(-100%);transition:transform .2s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.menu-btn{display:inline-block}.page{padding:20px 16px 60px}.topbar{padding:0 8px}}.eyebrow{font-size:12px;font-weight:500;color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase}.h1{font-size:clamp(30px,4.2vw,44px);line-height:1.08;font-weight:700;letter-spacing:-.025em}.h1 em{font-family:var(--font-serif);font-weight:400;font-style:italic;letter-spacing:-.01em}.h2{font-size:22px;font-weight:650;letter-spacing:-.015em}.h3{font-size:16px;font-weight:600}.lede{font-size:17px;color:var(--fg-2);max-width:64ch;line-height:1.55}.prose{max-width:70ch;line-height:1.65;color:var(--fg)}.prose p+p{margin-top:.8em}.section{display:flex;flex-direction:column;gap:14px;margin-top:40px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line-strong);background:var(--bg);color:var(--fg);border-radius:var(--r-sm);font-size:13.5px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover{opacity:.88}.btn.accent{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.ghost{border-color:transparent;background:transparent;color:var(--fg-2)}.btn.ghost:hover{background:var(--bg-hover);color:var(--fg)}.btn.sm{height:26px;padding:0 8px;font-size:12.5px}.btn:disabled{opacity:.45;cursor:default}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;background:var(--bg-hover);color:var(--fg-2);white-space:nowrap}.chip.blue{background:var(--accent-soft);color:var(--accent)}.chip.green{background:var(--green-soft);color:var(--green)}.chip.amber{background:var(--amber-soft);color:var(--amber)}.chip.red{background:var(--red-soft);color:var(--red)}.chip.violet{background:var(--violet-soft);color:var(--violet)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.seg{display:inline-flex;background:var(--bg-hover);border-radius:var(--r-sm);padding:2px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:transparent;padding:4px 10px;border-radius:4px;font-size:13px;color:var(--fg-2);cursor:pointer;white-space:nowrap}.seg button.on{background:var(--bg);color:var(--fg);box-shadow:var(--shadow);font-weight:500}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto}.tabs button{border:0;background:transparent;padding:9px 12px;font-size:14px;color:var(--fg-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button.on{color:var(--fg);border-bottom-color:var(--fg);font-weight:500}.tabs button:hover{color:var(--fg)}.card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}.card.pad{padding:18px}a.card{text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}a.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.callout{display:flex;gap:12px;padding:14px 16px;border-radius:var(--r-md);background:var(--bg-soft);border:1px solid var(--line)}.callout .ic{font-family:var(--font-mono);color:var(--fg-3);font-size:13px;padding-top:1px}.kbd{font-family:var(--font-mono);font-size:11px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;padding:0 4px;color:var(--fg-2)}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:36px;align-items:center;padding:12px 0 8px}.hero-copy{display:flex;flex-direction:column;gap:16px}@media (max-width: 900px){.hero{grid-template-columns:minmax(0,1fr)}}.hero-art{border:1px solid var(--line);border-radius:14px;background:var(--viz-bg);overflow:hidden;aspect-ratio:4 / 3;max-width:100%}.hero-art canvas{width:100%;height:100%;display:block}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-md)}.stat{padding:14px 16px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.stat:first-child{border-left:0}.stat b{font-size:22px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat span{font-size:12.5px;color:var(--fg-2)}@media (max-width: 640px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}.next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width: 900px){.next-grid{grid-template-columns:minmax(0,1fr)}}.card.next-card{padding:16px;display:flex;flex-direction:column;gap:8px}.next-card .title{font-weight:600;font-size:15px}.syllabus{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.syl-module{display:grid;grid-template-columns:220px minmax(0,1fr);border-top:1px solid var(--line)}.syl-module:first-child{border-top:0}.syl-module>.label{padding:12px 16px;background:var(--bg-soft);font-size:13px;font-weight:500;color:var(--fg-2);border-right:1px solid var(--line)}.syl-items{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px}.syl-item{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:6px;font-size:13px;text-decoration:none;border:1px solid var(--line);color:var(--fg-3);background:var(--bg)}.syl-item .n{font-family:var(--font-mono);font-size:11px}.syl-item.released{color:var(--fg);border-color:var(--line-strong)}.syl-item.released:hover{background:var(--bg-hover)}.syl-item.club{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}@media (max-width: 700px){.syl-module{grid-template-columns:minmax(0,1fr)}.syl-module>.label{border-right:0;border-bottom:1px solid var(--line)}}.lec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.card.lec-card{overflow:hidden;display:flex;flex-direction:column}.lec-thumb{aspect-ratio:16 / 9;background:var(--bg-soft);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.lec-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lec-thumb .dur{position:absolute;right:8px;bottom:8px;background:#000000bf;color:#fff;font:500 11.5px var(--font-mono);padding:2px 6px;border-radius:4px}.lec-thumb .num{position:absolute;left:8px;top:8px;background:#ffffffeb;color:#111;font:600 11.5px var(--font-mono);padding:2px 7px;border-radius:4px}.lec-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}.lec-body .t{font-weight:600;font-size:15px;line-height:1.3}.lec-body .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.lec-list{border:1px solid var(--line);border-radius:var(--r-md)}.lec-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);font-size:14px;color:var(--fg-3)}.lec-row:first-child{border-top:0}.watch{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}@media (max-width: 1100px){.watch{grid-template-columns:minmax(0,1fr)}}.player-slot{position:relative;aspect-ratio:16 / 9;max-width:100%}.player-wrap{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;border-radius:var(--r-md)}.player-host{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden}.player-host>div,.player-host iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.player-wrap.docked{position:fixed;inset:auto;z-index:60;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:min(340px,calc(100vw - 32px));aspect-ratio:16 / 9;box-shadow:0 12px 40px #00000059;border-radius:10px}.dock-bar{position:absolute;left:0;right:0;bottom:100%;margin-bottom:6px;display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--fg-2)}.dock-bar span{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-bar button{width:26px;height:24px;border:1px solid var(--line-strong);background:var(--bg);border-radius:6px;cursor:pointer;color:var(--fg)}.inline-lab{margin-top:22px;display:flex;flex-direction:column;gap:12px}.viz-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.viz-card{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;cursor:pointer;background:var(--bg);color:inherit;font:inherit}.viz-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.viz-card.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.viz-card .thumb,.lab-card .thumb{aspect-ratio:16 / 8;background:var(--bg-soft);overflow:hidden;border-bottom:1px solid var(--line);position:relative}.viz-card .thumb img,.lab-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}.viz-card .thumb .badge{position:absolute;left:8px;top:8px}.viz-card .body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px}.viz-card .body b{font-size:14px;font-weight:600}.viz-card .body span{font-size:12.5px;color:var(--fg-2);line-height:1.45}.viz-card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.lab-drawer{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--bg-soft);display:flex;flex-direction:column;gap:14px;scroll-margin-top:60px}.lab-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.side-panel{border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;height:min(72vh,640px);min-height:380px;overflow:hidden}@media (max-width: 1100px){.side-panel{height:460px}}.side-panel .tabs{padding:0 8px;flex:none}.side-scroll{overflow-y:auto;flex:1;padding:6px}.side-search{padding:8px;border-bottom:1px solid var(--line);flex:none;display:flex;gap:6px;align-items:center}.input{width:100%;height:30px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);padding:0 10px;font-size:13.5px}.chap{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;padding:7px 8px;border-radius:var(--r-sm);cursor:pointer;border:0;background:transparent;text-align:left;width:100%;font-size:13.5px;color:var(--fg-2)}.chap:hover{background:var(--bg-hover);color:var(--fg)}.chap.on{background:var(--accent-soft);color:var(--fg)}.chap .ts{font-family:var(--font-mono);font-size:12px;color:var(--accent);padding-top:1px}.chap.qa .q{display:block;color:var(--fg)}.chap.qa .a{display:block;margin-top:3px;font-size:12.5px;color:var(--fg-3)}.seg-line{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:13.5px;line-height:1.5;color:var(--fg-2)}.seg-line:hover{background:var(--bg-hover)}.seg-line.on{background:var(--accent-soft);color:var(--fg)}.seg-line .ts{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-3);padding-top:2px}.seg-line mark{background:var(--amber-soft);color:var(--fg);border-radius:2px}.seg-line.aud{box-shadow:inset 2px 0 0 var(--amber)}.seg-line .who{font-size:11px;font-weight:600;color:var(--amber);margin-right:6px;letter-spacing:.02em}.seg-line .who.speaker{display:block;color:var(--fg-2);margin-bottom:2px}.follow{font-size:12px;color:var(--fg-2);display:flex;align-items:center;gap:4px;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;margin-top:8px}@media (max-width: 1000px){.detail-grid{grid-template-columns:minmax(0,1fr)}}.key-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.key-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;line-height:1.55}.key-list li:before{content:"→";color:var(--fg-3);font-family:var(--font-mono);font-size:13px;padding-top:1px}.terms{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md)}.terms div{padding:10px 14px;border-top:1px solid var(--line);font-size:13.5px}.terms div:first-child{border-top:0}.terms b{display:block;font-weight:600;font-size:13px}.aside-box{display:flex;flex-direction:column;gap:10px}.sess-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}.link-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-top:1px solid var(--line);text-decoration:none;font-size:13.5px}.link-row:first-child{border-top:0}button.link-row{width:100%;background:none;border:0;border-top:1px solid var(--line);font:inherit;font-size:13.5px;color:inherit;text-align:left;cursor:pointer}.link-row:hover{background:var(--bg-soft)}.link-row .faint{font-size:12px}.slides{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.slide-stage{position:relative;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;aspect-ratio:4 / 3;display:grid;place-items:center;max-width:100%}.slide-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block}.slide-nav{position:absolute;top:50%;transform:translateY(-50%);border:1px solid var(--line-strong);background:var(--bg);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:15px;box-shadow:var(--shadow)}.slide-nav.prev{left:10px}.slide-nav.next{right:10px}.slide-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.slide-strip button{flex:none;width:96px;aspect-ratio:4 / 3;padding:0;border:2px solid transparent;border-radius:5px;overflow:hidden;cursor:pointer;background:var(--bg-soft)}.slide-strip button.on{border-color:var(--accent)}.slide-strip img{width:100%;height:100%;object-fit:cover;display:block}.slide-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px}.slide-mini button{border:1px solid var(--line);padding:0;border-radius:5px;overflow:hidden;cursor:pointer;background:var(--bg-soft);position:relative;aspect-ratio:4/3}.slide-mini button span{position:absolute;left:4px;bottom:4px;font:500 10px var(--font-mono);background:var(--bg);padding:0 4px;border-radius:3px}.slide-mini img{width:100%;height:100%;object-fit:cover;display:block}.pdf-frame{width:100%;height:78vh;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-soft)}.asg{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0;overflow:hidden}.asg-side{background:var(--bg-soft);border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:10px}.asg-main{padding:18px 20px;display:flex;flex-direction:column;gap:14px;min-width:0}@media (max-width: 760px){.asg{grid-template-columns:minmax(0,1fr)}.asg-side{border-right:0;border-bottom:1px solid var(--line)}}.parts{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-sm)}.part{display:grid;grid-template-columns:22px 86px minmax(0,1fr) 54px;gap:10px;align-items:start;padding:9px 12px;border-top:1px solid var(--line);font-size:13.5px}.part:first-child{border-top:0}.part input{margin-top:3px}.part .pts{text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--fg-3);padding-top:2px}.part.done .ptitle{text-decoration:line-through;color:var(--fg-3)}@media (max-width: 600px){.part{grid-template-columns:22px minmax(0,1fr) 44px}.part .kind{grid-column:2}}.progress{height:6px;background:var(--bg-hover);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--green);border-radius:999px;transition:width .2s}.sess-list{display:flex;flex-direction:column;gap:12px}.card.sess{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:18px}.sess-date{display:flex;flex-direction:column;gap:2px}.sess-date b{font-size:26px;font-weight:650;letter-spacing:-.02em;line-height:1}@media (max-width: 600px){.sess{grid-template-columns:minmax(0,1fr)}}.quote-list{display:flex;flex-direction:column;gap:10px}.quote{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);font-size:14.5px;line-height:1.55}.quote .who{font-weight:600;font-size:13px;color:var(--fg-2)}.at{font:12px var(--font-mono);color:var(--fg-3);background:none;border:0;padding:0 2px;cursor:pointer}.at:hover{color:var(--fg);text-decoration:underline}.key-list .answers li{display:block}.key-list .answers li:before{content:none}.answers{list-style:none;margin:6px 0 0;padding:0 0 0 12px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--fg-2)}@media (max-width: 600px){.quote{grid-template-columns:minmax(0,1fr);gap:4px}}.lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.lab-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,280px);gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px}.lab-row>.lab-card{scroll-snap-align:start}.lab-row .lab-card .muted{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card.lab-card{overflow:hidden;display:flex;flex-direction:column}.lab-card .art{aspect-ratio:16 / 9;background:var(--viz-bg);border-bottom:1px solid var(--line);background-image:linear-gradient(var(--viz-grid) 1px,transparent 1px),linear-gradient(90deg,var(--viz-grid) 1px,transparent 1px);background-size:20px 20px;position:relative;overflow:hidden}.lab-card .art canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.lab-card .body{padding:14px;display:flex;flex-direction:column;gap:6px}.bench{border:1px solid var(--line-strong);border-radius:12px;background:var(--viz-bg);overflow:hidden;font-family:var(--font-ui)}.bench-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--bg)}.bench-title{font-family:var(--font-mono);font-size:12px;color:var(--fg-2);letter-spacing:.02em;display:flex;gap:8px;align-items:center}.bench-title .led{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.bench-body{display:grid;grid-template-columns:minmax(0,1fr) 300px}.bench-body.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 300px}@media (max-width: 1100px){.bench-body,.bench-body.split{grid-template-columns:minmax(0,1fr)}}.canvas-cell{position:relative;min-width:0;border-right:1px solid var(--line)}.canvas-cell canvas{display:block;width:100%;touch-action:none}.canvas-cell.centered{display:flex;flex-direction:column;justify-content:center}.canvas-cell .scene{position:relative}.canvas-cell .cell-label{position:absolute;left:8px;top:6px;background:var(--bg);padding:1px 6px;border-radius:4px;border:1px solid var(--line);font:500 11px var(--font-mono);color:var(--fg-3);letter-spacing:.01em;pointer-events:none}.canvas-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border-top:1px solid var(--line);background:var(--bg);font-size:12px}.canvas-tools>.faint{font:500 11px var(--font-mono);margin-right:4px}.canvas-tools button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--bg);color:var(--fg-2);border-radius:6px;padding:3px 9px 3px 5px;font:inherit;cursor:pointer}.canvas-tools button:hover{background:var(--bg-hover)}.canvas-tools button.on{border-color:var(--fg);color:var(--fg);box-shadow:0 0 0 1px var(--fg)}.canvas-tools .sw{width:14px;height:14px;border-radius:3px;display:inline-grid;place-items:center;font:600 9px var(--font-ui);font-style:normal;border:1px solid var(--line-strong)}.canvas-tools .sw.wall{background:var(--viz-obstacle)}.canvas-tools .sw.mud{background:var(--viz-terrain)}.canvas-tools .sw.erase{background:var(--viz-bg)}.canvas-tools .sw.start{background:var(--viz-ink);color:var(--viz-bg);border-radius:50%}.canvas-tools .sw.goal{background:var(--accent);color:#fff}.env-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.env-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;padding:7px 9px;font-size:13px;cursor:pointer}.env-grid button .mono{font-size:11px;color:var(--fg-3)}.env-grid button:hover{background:var(--bg-hover)}.env-grid button.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.canvas-cell .cell-readout{position:absolute;right:10px;top:8px;font:500 11px var(--font-mono);color:var(--fg-2);pointer-events:none;text-align:right}@media (max-width: 1100px){.canvas-cell{border-right:0;border-bottom:1px solid var(--line)}}.controls{padding:14px;display:flex;flex-direction:column;gap:16px;background:var(--bg);min-width:0}.ctl{display:flex;flex-direction:column;gap:6px}.ctl>label:not(.check),.ctl-label{font:500 11.5px var(--font-mono);color:var(--fg-3);letter-spacing:.01em;display:flex;justify-content:space-between;gap:8px}.ctl-label .val{color:var(--fg);text-transform:none}input[type=range]{width:100%;accent-color:var(--accent)}select.input{padding:0 6px}.check{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}.check input{accent-color:var(--accent)}.readout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-sm)}.readout div{padding:8px 10px;border-top:1px solid var(--line);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:1px}.readout div:nth-child(-n+2){border-top:0}.readout div:nth-child(odd){border-left:0}.readout span{font:500 11px var(--font-mono);color:var(--fg-3);letter-spacing:.01em}.readout b{font:500 16px var(--font-mono);font-variant-numeric:tabular-nums}.queue{font-family:var(--font-mono);font-size:12px;border:1px solid var(--line);border-radius:var(--r-sm);max-height:180px;overflow-y:auto}.queue div{display:flex;justify-content:space-between;padding:3px 8px;border-top:1px solid var(--line)}.queue div:first-child{border-top:0}.queue div.top{background:var(--accent-soft)}.step-log{font-family:var(--font-mono);font-size:12px;line-height:1.6;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;color:var(--fg-2);white-space:pre-wrap;min-height:74px}.legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:12px;color:var(--fg-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid var(--line-strong)}.bench-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--line);background:var(--bg)}.transport{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.note{padding:16px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.6}.note h4{margin:0;font-size:14px;font-weight:600}.ts-link{font-family:var(--font-mono);font-size:12px;color:var(--accent);text-decoration:none;display:inline-flex;gap:4px;align-items:center}.ts-link:hover{text-decoration:underline}.formula{font-family:var(--font-mono);font-size:13px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 10px}.verdict-grid{overflow-x:auto}.verdict{border-collapse:collapse;width:100%;font-size:13.5px;min-width:640px}.verdict th,.verdict td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.verdict th{font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3)}.verdict td.c{text-align:center}.yes{color:var(--green);font-weight:600}.no{color:var(--fg-3)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.swipe-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px}@media (max-width: 1000px){.swipe-grid{grid-template-columns:minmax(0,1fr)}}.swipe-body{display:flex;flex-direction:column;align-items:center;gap:18px;padding:28px 16px 22px;border-right:1px solid var(--line);overflow:hidden;background-image:radial-gradient(var(--viz-grid) 1px,transparent 1px);background-size:18px 18px}@media (max-width: 1000px){.swipe-body{border-right:0;border-bottom:1px solid var(--line)}}.swipe-stage{position:relative;width:min(360px,100%);height:520px}.swipe-card{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);border:1px solid var(--line-strong);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #00000014;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;touch-action:none}.swipe-card.top{cursor:grab}.swipe-card.top:active{cursor:grabbing}.swipe-photo{position:relative;height:250px;background:#f4f4f2;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line);flex:none}.swipe-photo img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}.stamp{position:absolute;top:18px;font:700 20px var(--font-mono);letter-spacing:.08em;padding:4px 10px;border:3px solid currentColor;border-radius:8px;background:var(--bg)}.stamp.yes{left:16px;color:var(--green);transform:rotate(-12deg)}.stamp.no{right:16px;color:var(--red);transform:rotate(12deg)}.swipe-info{padding:14px 18px 18px;display:flex;flex-direction:column;gap:6px;min-height:0}.swipe-name{font-size:22px;font-weight:700;letter-spacing:-.02em}.swipe-info p{font-size:14px;line-height:1.5}.traits{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:12px;color:var(--fg-3)}.traits span.on{color:var(--fg)}.swipe-done{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:24px;border:1px dashed var(--line-strong);border-radius:18px;background:var(--bg)}.swipe-buttons{display:flex;gap:18px;align-items:center}.round{width:56px;height:56px;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg);font-size:22px;cursor:pointer;box-shadow:var(--shadow)}.round.undo{width:42px;height:42px;font-size:17px;color:var(--fg-2)}.round.no{color:var(--red)}.round.yes{color:var(--green)}.round:hover:not(:disabled){transform:scale(1.06)}.round:disabled{opacity:.35;cursor:default}.swipe-side{padding:18px;display:flex;flex-direction:column;gap:22px;background:var(--bg);min-width:0}.def-votes{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-sm)}.def-votes div{display:grid;grid-template-columns:1fr auto 74px;gap:8px;padding:7px 10px;border-top:1px solid var(--line);font-size:13px;align-items:center}.def-votes div:first-child{border-top:0}.def-votes i{font-style:normal;font:500 11px var(--font-mono);text-transform:uppercase;text-align:right}.def-votes .agree i{color:var(--green)}.def-votes .disagree i{color:var(--red)}.score-row{display:flex;align-items:center;gap:10px;font-size:13px}.score-row>span:first-child{width:110px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}@media (max-width: 1000px){.contact-grid{grid-template-columns:minmax(0,1fr)}}.contact-grid>.canvas-cell .cell-label{background:#0009;color:#ddd;border-color:#333}.contact-side{display:flex;flex-direction:column;min-width:0}.step-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;border-top:1px solid var(--line);background:var(--bg-soft);padding:8px 10px}.step-strip button{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid var(--line);background:var(--bg);padding:7px 9px;border-radius:8px;font-size:12.5px;line-height:1.3;color:var(--fg-2);cursor:pointer}.step-strip button:hover{background:var(--bg-hover)}.step-strip button .mono{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--bg-hover);font-size:11px;flex:none}.step-strip button.on{color:var(--fg);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);font-weight:500}.step-strip button.on .mono{background:var(--accent);color:var(--accent-fg)}.dof-body{grid-template-columns:minmax(0,1fr) 340px}.carousel .car-arrow{position:absolute;top:calc(50% - 40px);width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg);color:var(--fg);font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);padding-bottom:3px}.carousel .car-arrow:hover{background:var(--bg-hover)}.carousel .car-arrow.prev{left:10px}.carousel .car-arrow.next{right:10px}.car-dots{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:var(--bg)}.car-dots button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--bg);color:var(--fg-2);border-radius:999px;padding:3px 11px 3px 8px;font-size:12.5px;cursor:pointer}.car-dots button:hover{background:var(--bg-hover)}.car-dots button.on{border-color:var(--fg);color:var(--fg)}.car-dots i{width:8px;height:8px;border-radius:50%;background:var(--line-strong);position:relative;overflow:hidden}.car-dots button.on i{background:var(--accent)}.car-dots i.run:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--fg-3);transform-origin:left;animation:car-run 7s linear forwards}@keyframes car-run{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 1100px){.dof-body{grid-template-columns:minmax(0,1fr)}}.dof-hero{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;border-radius:12px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.dof-hero.hidden{background:var(--bg-soft);border-color:var(--line)}.dof-num{font:700 112px/.9 var(--font-ui);letter-spacing:-.05em;color:var(--accent);font-variant-numeric:tabular-nums}.dof-q{font:700 112px/.9 var(--font-ui);color:var(--fg-3)}.dof-label{font-size:15px;font-weight:600;color:var(--fg)}.dof-coords{display:flex;flex-wrap:wrap;gap:6px}.dof-coords div{display:flex;flex-direction:column;gap:1px;min-width:64px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;transition:background .15s,border-color .15s}.dof-coords div.on{background:var(--accent-soft);border-color:var(--accent)}.dof-coords .sym{font-family:var(--font-serif);font-style:italic;font-size:18px;line-height:1.1}.dof-coords .mono{font-size:12px;color:var(--fg-2)}.dof-cell{font-size:18px;color:var(--accent)}.md{max-width:76ch;line-height:1.65;font-size:15px}.md>*+*{margin-top:.9em}.md h1{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:0}.md h2{font-size:20px;font-weight:650;margin-top:1.8em;padding-top:.6em;border-top:1px solid var(--line)}.md h3{font-size:16px;font-weight:600;margin-top:1.4em}.md p{margin:0}.md ul,.md ol{padding-left:1.4em;margin:0}.md li+li{margin-top:.3em}.md blockquote{margin:0;padding:10px 14px;border-left:3px solid var(--line-strong);background:var(--bg-soft);border-radius:0 8px 8px 0;color:var(--fg-2)}.md blockquote p+p{margin-top:.6em}.md code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-soft);border:1px solid var(--line);border-radius:4px;padding:0 4px}.md pre{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:12px 14px;overflow-x:auto;margin:0}.md pre code{border:0;background:none;padding:0;font-size:12.5px;line-height:1.55}.md table{border-collapse:collapse;font-size:13.5px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--line);padding:6px 10px;text-align:left}.md figure{margin:1em 0;display:flex;flex-direction:column;align-items:center;gap:6px}.md figure img{max-width:min(100%,380px);background:#fff;border-radius:6px;padding:8px}.md figcaption{font-size:13px;color:var(--fg-2)}.md a{color:var(--accent);word-break:break-word}.md .math-block{overflow-x:auto;overflow-y:hidden;padding:4px 0}.md details.code-cell{border:1px solid var(--line);border-radius:8px;background:var(--bg)}.md details.code-cell summary{cursor:pointer;padding:6px 12px;font:500 12px var(--font-mono);color:var(--fg-2)}.md details.code-cell[open] summary{border-bottom:1px solid var(--line)}.md details.code-cell pre{border:0;border-radius:0 0 8px 8px}.mat-videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.card.mat-video{overflow:hidden;display:flex;flex-direction:column}.mat-thumb{position:relative;aspect-ratio:16 / 9;border:0;padding:0;cursor:pointer;background:#000;overflow:hidden}.mat-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.mat-thumb:hover img{transform:scale(1.03)}.mat-thumb .play{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:46px;height:46px;border-radius:50%;background:#000000a6;color:#fff;display:grid;place-items:center;font-size:16px}.mat-video .body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px}.mat-video .body b{font-size:14px;line-height:1.35}.mat-row{padding:12px 14px;border-top:1px solid var(--line)}.mat-row:first-child{border-top:0}.mat-title{font-weight:600;font-size:14.5px;text-decoration:none;color:var(--fg)}a.mat-title:hover{color:var(--accent)}.mat-refs{display:flex;flex-direction:column;gap:3px;margin-top:4px;font-size:12.5px;color:var(--fg-2)}.mat-refs>span{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.ts-link.plain{border:0;background:transparent;padding:0;cursor:pointer}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000c7;display:grid;place-items:center;padding:16px}.modal-video{width:min(960px,100%);display:flex;flex-direction:column;gap:10px}.modal-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:10px}.dim-row{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr) 120px;gap:12px;align-items:center;font-size:13.5px}@media (max-width: 640px){.dim-row{grid-template-columns:minmax(0,1fr);gap:4px}}.dim-bar{position:relative;height:12px;background:var(--bg-hover);border-radius:999px}.dim-bar>div{height:100%;border-radius:999px;transition:width .2s}.dim-bar>i{position:absolute;top:-4px;bottom:-4px;width:0;border-left:2px dashed var(--fg-2)}.eom{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));border-top:1px solid var(--line);background:var(--bg)}.eom>div{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-right:1px solid var(--line)}.eom-lhs{font-family:var(--font-serif);font-style:italic;font-size:17px}.eom .mono{font-size:13px;color:var(--fg-2)}.matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:8px 10px;border-left:2px solid var(--fg-2);border-right:2px solid var(--fg-2);border-radius:4px;font-size:13px;text-align:right}.flat-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}@media (max-width: 800px){.flat-charts{grid-template-columns:minmax(0,1fr)}}.flat-charts .canvas-cell canvas{margin-top:24px}.lqr-weights{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.lqr-weights label{display:flex;flex-direction:column;gap:2px;font:500 11px var(--font-mono);color:var(--fg-3);min-width:0}.lqr-weights b{color:var(--fg);font-weight:600}.kmat-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 14px;border-top:1px solid var(--line);background:var(--bg)}.kmat{border-collapse:collapse;font:500 12px var(--font-mono)}.kmat th{color:var(--fg-3);font-weight:500;padding:2px 8px}.kmat td{padding:3px 8px;text-align:right;min-width:52px;border:1px solid var(--line);color:var(--fg)}@media (max-width: 520px){.kmat td,.kmat th{padding:2px 4px;min-width:0;font-size:11px}}.club-strip{margin-top:14px;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}.club-strip-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.club-bar{position:relative;height:22px;border-radius:6px;background:var(--bg-soft);border:1px solid var(--line)}.club-progress{position:absolute;left:0;top:0;bottom:0;background:var(--bg-hover);border-radius:6px 0 0 6px}.club-dot{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid var(--bg);cursor:pointer;padding:0;transition:transform .15s}.club-dot.call{background:var(--accent)}.club-dot.chat{background:var(--green)}.club-dot:hover,.club-dot.on{transform:scale(1.5);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent);z-index:2}.club-live{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;align-items:start}.club-card{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--bg);font-size:13.5px;line-height:1.5}.club-card.chat{border-left-color:var(--green)}.club-card header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.club-card header b{font-size:13px}.club-card p{margin:0}.club-card footer{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.club-src{font:500 10.5px var(--font-mono);padding:1px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent)}.club-src.chat{background:var(--green-soft);color:var(--green)}.club-orig{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:var(--fg-3);font-size:12.5px}.club-orig q{color:var(--fg-2);font-style:italic}.feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;align-items:start}.feed-event{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:8px;text-decoration:none;color:inherit}a.feed-event:hover{background:var(--bg-soft)}.feed-ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg-hover);color:var(--fg-2);flex:none;font-size:12px}.feed-day{font:500 12px var(--font-mono);color:var(--fg-3);margin-top:12px}.sim-setup{display:flex;flex-wrap:wrap;gap:18px 28px;margin:24px 0 4px}.sim-plan{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.sim-stage{display:flex;flex-direction:column;gap:8px}.sim-stage a.chip{text-decoration:none}.sim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;align-items:start}@media (max-width: 420px){.sim-grid{grid-template-columns:minmax(0,1fr)}}.card.sim-card{overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:60px;transition:opacity .15s}.card.sim-card.dim{opacity:.55}.card.sim-card.dim:hover{opacity:1}.sim-media{position:relative;aspect-ratio:16 / 9;background:var(--bg-soft);border-bottom:1px solid var(--line);overflow:hidden}.sim-media img{width:100%;height:100%;object-fit:cover;display:block}.sim-toggle{position:absolute;right:8px;bottom:8px;border:1px solid var(--line-strong);background:var(--bg);color:var(--fg);border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;box-shadow:var(--shadow)}.sim-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}.sim-name{font-size:17px;font-weight:650;letter-spacing:-.01em}.sim-tag{font-size:13.5px}.sim-os{display:flex;flex-wrap:wrap;gap:5px}.sim-os .chip{cursor:help}.sim-os .chip.cur{box-shadow:0 0 0 1.5px currentColor}.sim-note{font-size:13px;color:var(--fg-2);background:var(--bg-soft);border-radius:var(--r-sm);padding:6px 9px}.sim-facts{display:grid;grid-template-columns:70px minmax(0,1fr);gap:4px 10px;margin:0;font-size:13px}.sim-facts dt{color:var(--fg-3);font-family:var(--font-mono);font-size:11.5px;padding-top:2px}.sim-facts dd{margin:0;color:var(--fg-2)}.sim-pc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;font-size:13px}@media (max-width: 480px){.sim-pc{grid-template-columns:minmax(0,1fr)}}.sim-pc ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.sim-pc li{position:relative;padding-left:16px;color:var(--fg-2)}.sim-pc .pros li:before{content:"+";position:absolute;left:0;color:var(--green);font-weight:600}.sim-pc .cons li:before{content:"−";position:absolute;left:0;color:var(--red);font-weight:600}.sim-tested{font-size:13px;color:var(--fg-2);border-left:3px solid var(--green);padding:2px 0 2px 10px}.sim-install summary{cursor:pointer;font-size:13px;color:var(--fg-2)}.sim-install pre{margin:6px 0 0;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-sm);font:12px/1.5 var(--font-mono);overflow-x:auto;white-space:pre}.sim-links{gap:8px}.sim-credit{font-size:11.5px;margin-left:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-cloud{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.card.sim-provider{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}.card.sim-provider:hover{background:var(--bg-soft)}.sim-list{margin:8px 0 10px;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--fg-2)}.drone{position:absolute;z-index:15;pointer-events:none;color:var(--drone);line-height:0}.drone svg{display:block;fill:currentColor}.drone .drone-led{fill:var(--drone-led);animation:drone-led 1.6s steps(1) infinite}@keyframes drone-led{0%,70%{opacity:1}71%{opacity:.15}}.drone-perch{animation:drone-land .5s ease-out both}.drone-flyby{position:fixed;left:0;animation:drone-ltr 10s linear both}.drone-flyby.rtl{animation-name:drone-rtl}.drone-flyby.rtl svg{transform:scaleX(-1)}.drone-bob{animation:drone-bob 1.4s ease-in-out infinite}.drone-rotor-a,.drone-rotor-b{animation:drone-rotor .16s steps(1) infinite}.drone-rotor-b{animation-delay:-.08s}@keyframes drone-rotor{0%{opacity:1}50%{opacity:0}}@keyframes drone-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes drone-land{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes drone-ltr{0%{transform:translate(-40px)}to{transform:translate(calc(100vw + 40px))}}@keyframes drone-rtl{0%{transform:translate(calc(100vw + 40px))}to{transform:translate(-40px)}}@media (prefers-reduced-motion: reduce){.drone-perch{animation:none}}@media print{.drone{display:none}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(./KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(./KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(./KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(./KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(./KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(./KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(./KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.11"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;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 .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 .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;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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.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}
