:root{--paper:#f4f5f7;--surface:#fff;--sunk:#f8f9fa;--ink:#16181d;--muted:#6b707c;--faint:#a2a7b1;--line:#e2e4e9;--hl:#ffd84d;--hl-soft:#ffd84d59;--hl-ink:#6a4f00;--on-hl:#111;--good:#1f8a4c;--bad:#c2373b;--warn:#b98a06;--sans:"Instrument Sans", "Helvetica Neue", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#101216;--surface:#171a1f;--sunk:#13161a;--ink:#eceef1;--muted:#8f95a1;--faint:#5c626d;--line:#262a31;--hl:#f2cb45;--hl-soft:#f2cb4533;--hl-ink:#f6d76b;--on-hl:#111;--good:#4fc27e;--bad:#f07074;--warn:#e9bd3f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}code{font-family:var(--mono);background:var(--sunk);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:.88em}:root{--top-h:84px}body{flex-direction:column;min-height:100vh;display:flex}main{flex-direction:column;flex:1;display:flex}main>*{width:100%}.top{height:var(--top-h);background:var(--paper);z-index:20;flex:none;align-items:center;gap:22px;padding:0 clamp(16px,5vw,72px);display:flex;position:relative}.top.work{--top-h:56px;border-bottom:1px solid var(--line);background:var(--surface);height:56px;padding:0 18px}.brand{align-items:center;gap:10px;display:flex}.brand .logo{color:var(--hl);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.brand:hover .logo{transform:rotate(-12deg)scale(1.08)}.brand .word{letter-spacing:-.035em;color:var(--ink);flex-direction:column;font-size:30px;font-weight:600;line-height:.95;display:flex}.brand .word small{letter-spacing:.01em;color:var(--muted);margin-left:2px;font-size:10.5px;font-weight:500;line-height:1.2}.top.work .brand .word{font-size:22px}.top.work .brand .word small{display:none}.top nav{align-items:center;gap:4px;display:flex}.top nav a.ic{width:38px;height:38px;color:var(--muted);border-radius:10px;place-items:center;transition:color .15s,background .15s,transform .12s;display:grid;position:relative}.top nav a.ic:hover{color:var(--ink)}.top nav a.ic:active{transform:scale(.9)}.top nav a.ic.on{color:var(--hl-ink)}.top nav a.ic:after{content:attr(data-tip);background:var(--ink);color:var(--paper);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%,-3px)}.top nav a.ic:hover:after{opacity:1;transition-delay:.35s;transform:translate(-50%)}.top .sp{flex:1}.acct-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:14px;transition:color .15s;overflow:hidden}.acct-btn:hover .acct-name{color:var(--ink)}.foot{color:var(--muted);flex:none;align-items:center;gap:18px;padding:22px clamp(16px,5vw,72px) 26px;font-size:13px;display:flex}.foot nav{flex-wrap:wrap;gap:18px;display:flex}.foot .sp{flex:1}.foot-link{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;transition:color .15s;display:inline-flex}.foot-link:hover{color:var(--ink)}.foot-ver{color:var(--faint);font-family:var(--mono);font-size:12px}.theme-corner{position:relative}.theme-quick{background:var(--surface);border:1px solid var(--line);z-index:60;transform-origin:100% 100%;border-radius:12px;flex-direction:column;gap:6px;width:280px;padding:8px;animation:.16s ease-out pop;display:flex;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 -20px 44px -24px #00000080}.theme-quick input{font:inherit;color:var(--ink);background:var(--sunk);border:1px solid var(--line);border-radius:8px;outline:none;padding:7px 10px;font-size:14px}.theme-quick input:focus{border-color:var(--hl)}.tq-list{flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.tq-list button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:13.5px;transition:background .1s;display:flex}.tq-list button:hover{background:var(--sunk)}.tq-list button.on span:first-child{color:var(--hl-ink);font-weight:600}.tq-dots{border-radius:6px;gap:3px;padding:4px 5px;display:inline-flex;box-shadow:inset 0 0 0 1px #7f7f7f40}.tq-dots i{border-radius:50%;width:7px;height:7px;display:block}.tq-custom{color:var(--muted);border-top:1px solid var(--line);padding:6px 8px 2px;font-size:13px}.tq-custom:hover{color:var(--hl-ink)}.help{gap:34px}.help section{flex-direction:column;gap:10px;scroll-margin-top:20px;display:flex}.help p{color:var(--muted);max-width:680px;margin:0}.help p b{color:var(--ink);font-weight:600}.shortcuts{flex-direction:column;max-width:560px;display:flex}.sc-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 170px 54px;align-items:center;gap:12px;padding:8px 0;display:grid}.sc-row:last-child{border-bottom:0}.sc-label{flex-direction:column;font-size:14px;display:flex}.sc-label small{color:var(--muted);font-size:12px}.sc-key{font-family:var(--mono);border:1px solid var(--line);color:var(--ink);background:var(--surface);text-align:center;cursor:pointer;border-bottom-width:2px;border-radius:8px;padding:5px 10px;font-size:13px;transition:border-color .15s,background .15s,transform .12s}button.sc-key:hover{border-color:var(--hl)}button.sc-key:active{transform:translateY(1px)}.sc-key.rec{border-color:var(--hl);background:var(--hl-soft);color:var(--hl-ink);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--hl-soft)}50%{box-shadow:0 0 0 5px var(--hl-soft)}}.shortcuts.fixed .sc-key{cursor:default;color:var(--muted)}.sc-reset{font-size:12.5px}.contact{flex-direction:column;gap:10px;max-width:620px;display:flex}.contact textarea{resize:vertical}.acct{position:relative}.acct-btn{cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:3px 4px 3px 3px;transition:background .15s;display:flex}.acct-btn:hover,.acct-btn.open{background:var(--sunk)}.lvl-ring{flex:none;place-items:center;display:grid;position:relative}.lvl-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.lvl-ring svg circle:last-child{transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.lvl-ring b{font-variant-numeric:tabular-nums;font-weight:700;position:relative}.menu{background:var(--surface);border:1px solid var(--line);z-index:60;transform-origin:100% 0;border-radius:12px;flex-direction:column;min-width:240px;padding:6px;animation:.16s ease-out pop;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 44px -22px #00000080}.menu a,.menu>button{cursor:pointer;text-align:left;color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;transition:background .12s,padding-left .15s;display:flex}.menu a:hover,.menu>button:hover{background:var(--sunk);padding-left:13px}.menu>button.logout{color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, transparent);border:1px solid color-mix(in srgb, var(--bad) 30%, transparent);margin-top:6px;font-weight:500}.menu>button.logout:hover{background:color-mix(in srgb, var(--bad) 20%, transparent);padding-left:10px}.menu>button.logout:active{transform:scale(.98)}.menu hr{border:0;border-top:1px solid var(--line);margin:5px 4px}.menu-head{align-items:center;gap:10px;padding:8px 10px 6px;display:flex}.menu-head b{font-size:14px;font-weight:600;display:block}.menu-head span{color:var(--muted);font-size:12.5px}.menu-xp{color:var(--muted);border-bottom:1px solid var(--line);flex-direction:column;gap:5px;margin-bottom:5px;padding:4px 10px 10px;font-size:12px;display:flex}.menu-xp .bar{background:var(--line);border-radius:3px;height:5px;overflow:hidden}.menu-xp .bar i{background:var(--hl);border-radius:3px;height:100%;display:block}.status{--c:var(--bad);cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;margin:-4px;padding:4px;font-size:12.5px;display:inline-flex}.status i{background:var(--c);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 18%, transparent);border-radius:50%;transition:transform .18s cubic-bezier(.3,1.6,.5,1),box-shadow .18s;display:block}.status:hover i{box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 28%, transparent);transform:scale(1.25)}.status.s-todo{--c:var(--bad)}.status.s-progress{--c:var(--warn)}.status.s-done{--c:var(--good)}.status.with-label{background:color-mix(in srgb, var(--c) 12%, transparent);border:1px solid color-mix(in srgb, var(--c) 35%, transparent);margin:0;padding:2px 10px 2px 8px;transition:background .15s}.status.with-label:hover{background:color-mix(in srgb, var(--c) 20%, transparent)}.status.with-label i{width:8px;height:8px;box-shadow:none}.status-menu{transform-origin:0 0;min-width:180px;position:fixed;top:0;right:auto}.status-menu>button.on{font-weight:600}.status-menu .status{pointer-events:none;margin:0;padding:0}.status-menu .status i{box-shadow:none}.auto-ic{text-align:center;width:10px;color:var(--muted);font-size:13px}.avatar{background:var(--ink);color:var(--paper);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.page{flex-direction:column;gap:24px;max-width:900px;margin:0 auto;padding:24px 20px 64px;display:flex}h1{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:600}h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--faint)}.btn.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--sunk)}input.field,textarea.field,select.field{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 14px}select.field{border-radius:8px;width:auto;padding:6px 10px;font-size:13.5px}input.field:focus,textarea.field:focus{border-color:var(--faint);outline:none}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:13px}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sep{background:var(--line);width:1px;height:18px;margin:0 4px}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;color:var(--muted);border:0;padding:4px 11px;font-size:12.5px}.seg button.on{background:var(--ink);color:var(--paper)}.list{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.item{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:13px 18px;display:flex}.item:last-child{border-bottom:0}.item:hover{background:var(--sunk)}.item .t{flex:1;min-width:0}.item .t b{font-weight:500}.item .sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.item .why{color:var(--hl-ink);background:var(--hl-soft);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:13px}.item .diff{color:var(--muted);white-space:nowrap;font-size:12.5px}.check{text-align:center;width:18px;color:var(--good);flex:none}.empty{color:var(--muted);text-align:center;padding:28px 18px}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.auth{flex:1;place-items:center;padding:20px;display:grid}.auth form{flex-direction:column;gap:12px;width:min(360px,100%);display:flex}.auth-logo{color:var(--hl);animation:.5s cubic-bezier(.3,1.6,.5,1) popIn;display:block}.auth .err{color:var(--bad);font-size:13.5px}.ws{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(300px,34%) minmax(0,1fr) 340px;height:calc(100vh - 56px);display:grid}.ws.nochat{grid-template-columns:minmax(300px,38%) minmax(0,1fr) 0}.ws .left{border-right:1px solid var(--line);background:var(--surface);position:relative;overflow-y:auto}.right{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.bar{border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:8px;height:48px;padding:0 12px;display:flex}.bar .sp{flex:1}.timer{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;margin-right:4px;font-size:12.5px}.editor{background:var(--surface);flex:1 1 0;min-height:0;position:relative;overflow:hidden}.tests{border-top:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;gap:10px;max-height:42%;padding:12px 16px;font-size:13.5px;display:flex;overflow-y:auto}.tests .row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;display:flex}.tests .row b{color:var(--ink);font-weight:500}.tests .row .ok{color:var(--good)}.tests .row .no{color:var(--bad)}.io{gap:10px;display:flex}.io div{border:1px solid var(--line);min-width:0;font-family:var(--mono);white-space:pre;background:var(--sunk);border-radius:8px;flex:1;max-height:160px;padding:8px 10px;font-size:12.5px;overflow:auto}.io small{font-family:var(--sans);color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.cerr{font-family:var(--mono);white-space:pre-wrap;color:var(--muted);max-height:160px;font-size:12px;overflow:auto}.stmt{flex-direction:column;gap:18px;padding:22px 24px 60px;font-size:14.5px;display:flex}.stmt-head{flex-direction:column;gap:8px;display:flex}.stmt-head h2{font-size:21px}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.tag{border:1px solid var(--line);white-space:nowrap;border-radius:6px;padding:1px 8px}.meta a{text-underline-offset:2px;text-decoration:underline}.task{border-left:3px solid var(--hl);background:var(--hl-soft);border-radius:0 8px 8px 0;padding:10px 14px;font-size:15px}.task .section-label{color:var(--hl-ink);margin-bottom:2px;display:block}.block{flex-direction:column;gap:8px;display:flex}.block p{margin:0}.card-sm{border:1px solid var(--line);background:var(--sunk);border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.cons{border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.cons div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 14px;display:flex}.cons div:last-child{border-bottom:0}.cons>div>span:first-child{white-space:nowrap}.cons>div>span:last-child{color:var(--muted);text-align:right;font-size:13px}.sample{border:1px solid var(--line);border-radius:10px;overflow:hidden}.sample-io{grid-template-columns:1fr 1fr;display:grid}.sample-io>div{min-width:0;padding:10px 12px}.sample-io>div+div{border-left:1px solid var(--line)}.sample-io pre{font-family:var(--mono);margin:0;font-size:12.5px;overflow-x:auto}.sample-io small{color:var(--muted);justify-content:space-between;margin-bottom:4px;font-size:11px;display:flex}.copy{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:2px;display:inline-grid}.copy.done{color:var(--good);animation:.25s cubic-bezier(.3,1.6,.5,1) popIn}.sample-io small{align-items:center}.copy:hover{color:var(--ink)}.sample-note{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:6px;padding:10px 12px;font-size:13.5px;display:flex}.sample-note p{margin:0}.orig pre{font-family:var(--mono);background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:12.5px;overflow-x:auto}.orig h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 6px;font-size:12px;font-weight:600}.orig p{margin:0 0 12px}mark.coach{background:var(--hl);color:var(--on-hl);border-radius:3px;padding:0 2px}.katex{font-size:1.04em}.coach-line{background:linear-gradient(90deg, var(--hl-soft), transparent 85%)}.coach-note{pointer-events:auto;font-family:var(--sans);align-items:flex-start;padding:4px 16px 6px 0;display:flex}.coach-note .bubble{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--hl);border-radius:8px;align-items:flex-start;gap:8px;max-width:620px;padding:6px 10px;display:flex;box-shadow:0 6px 18px -12px #00000059}.coach-note .txt{color:var(--ink);font-size:13px;line-height:1.45}.coach-note .x{color:var(--faint);cursor:pointer;background:0 0;border:0;padding:1px 0 0 4px;font-size:14px;line-height:1}.coach-note .x:hover{color:var(--ink)}.chat{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.chat-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;height:48px;padding:0 12px 0 16px;display:flex}.chat-head b{font-size:14px;font-weight:600}.msgs{flex-direction:column;flex:1;gap:10px;padding:14px 14px 8px;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;word-wrap:break-word;max-width:92%;font-size:13.5px;line-height:1.5}.msg p{margin:0}.msg.coach{align-self:flex-start}.msg.user{background:var(--ink);color:var(--paper);border-radius:12px 12px 4px;align-self:flex-end;padding:7px 11px}.msg.user code{color:inherit;background:0 0;border-color:#7f7f7f66}.msg.coach .body{background:var(--sunk);border:1px solid var(--line);border-radius:12px 12px 12px 4px;padding:7px 11px}.msg.coach .line-ref{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 0 0 4px;font-size:11.5px}.msg.coach .line-ref:hover{color:var(--ink);text-decoration:underline}.event{color:var(--muted);text-align:center;align-self:center;padding:2px 8px;font-size:11.5px}.typing{color:var(--muted);align-self:flex-start;align-items:center;gap:6px;font-size:12.5px;display:flex}.typing i{background:var(--faint);border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-in{border-top:1px solid var(--line);flex:none;align-items:flex-end;gap:8px;padding:10px;display:flex}.chat-in textarea{resize:none;font:inherit;border:1px solid var(--line);background:var(--sunk);color:var(--ink);border-radius:10px;flex:1;max-height:120px;padding:8px 10px;font-size:13.5px}.chat-in textarea:focus{border-color:var(--faint);outline:none}.overlay{z-index:50;background:#0a0c1066;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:16px;width:min(420px,100%);padding:26px;display:flex}.card h3{margin:0;font-size:22px;font-weight:600}.xpgain{letter-spacing:-.02em;font-size:34px;font-weight:700}.recap div{border-bottom:1px solid var(--line);justify-content:space-between;padding:7px 0;display:flex}.recap div:last-child{border-bottom:0}.recap span:last-child{color:var(--muted)}.levelup{background:var(--hl);color:var(--on-hl);text-align:center;border-radius:8px;padding:8px 12px;font-weight:600}.mapwrap{height:calc(100vh - var(--top-h));background:var(--paper);position:relative;overflow:hidden}.mapwrap svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.mapwrap svg.dragging{cursor:grabbing}.map-tools{z-index:5;flex-direction:column;gap:10px;width:260px;display:flex;position:absolute;top:16px;left:16px}.map-tools .panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:0 10px 30px -20px #0006}.map-zoom{z-index:5;gap:6px;display:flex;position:absolute;bottom:16px;left:16px}.legend-row{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.pips{gap:2px;display:inline-flex}.pips i{background:var(--line);border-radius:2px;width:10px;height:4px;display:block}.pips i.on{background:var(--hl)}.drawer{background:var(--surface);border-left:1px solid var(--line);z-index:6;flex-direction:column;width:min(400px,100%);display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-20px 0 40px -30px #0006}.drawer-head{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:20px 20px 14px;display:flex}.drawer-body{flex-direction:column;flex:1;gap:18px;padding:16px 20px 24px;display:flex;overflow-y:auto}.mastery-big{align-items:center;gap:14px;display:flex}.ring{flex:none;width:56px;height:56px;position:relative}.ring svg{width:56px;height:56px;transform:rotate(-90deg)}.ring b{place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.links{flex-wrap:wrap;gap:6px;display:flex}.links button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:12.5px}.links button:hover{border-color:var(--faint)}.node{cursor:pointer}.node:hover rect.box{stroke:var(--ink)}.edge{fill:none;stroke:var(--line);stroke-width:1.5px;transition:stroke .15s,opacity .15s}.edge.hot{stroke:var(--hl);stroke-width:2.5px}.dim{opacity:.22}.avatar-edit{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;position:relative}.avatar-edit span.hover{color:#fff;opacity:0;background:#00000073;border-radius:50%;place-items:center;font-size:12px;transition:opacity .15s;display:grid;position:absolute;inset:0}.avatar-edit:hover span.hover{opacity:1}.profile{gap:44px}.prof-hero{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.prof-hero .avatar{box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--hl)}.prof-name{flex-direction:column;flex:1;gap:2px;min-width:200px;display:flex}.prof-name input{font:inherit;letter-spacing:-.025em;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;width:100%;margin-left:-7px;padding:0 6px;font-size:30px;font-weight:700;transition:border-color .15s,background .15s}.prof-name input:hover{background:var(--sunk)}.prof-name input:focus{border-color:var(--hl);background:var(--surface);outline:none}.div-name{font-weight:600}.prof-level{flex-direction:column;align-items:center;gap:6px;display:flex}.prof-level .lvl-ring b{letter-spacing:-.03em;font-size:34px}.prof-stats{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.prof-stats div{border-left:1px solid var(--line);flex-direction:column;gap:2px;padding:0 22px;display:flex}.prof-stats div:first-child{border-left:0;padding-left:0}.prof-stats b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1.1}.prof-stats b.good{color:var(--good)}.prof-stats b.accent{color:var(--hl-ink)}.prof-stats span{color:var(--muted);font-size:13px}.prof-sec{flex-direction:column;gap:14px;display:flex}.prof-sec h2{color:var(--muted);font-size:15px;font-weight:600}.stack-bar{background:var(--line);border-radius:7px;gap:2px;height:14px;display:flex;overflow:hidden}.stack-bar i{height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1);display:block}.stack-bar i:empty[style*="width: 0%"]{display:none}.stack-bar .s-done{background:var(--good)}.stack-bar .s-progress{background:var(--warn)}.stack-bar .s-todo{background:color-mix(in srgb, var(--bad) 55%, var(--line))}.legend{flex-wrap:wrap;gap:22px;font-size:14px;display:flex}.legend a{align-items:center;gap:8px;transition:color .15s;display:inline-flex}.legend a:hover{color:var(--hl-ink)}.legend .status{pointer-events:none;margin:0;padding:0}.divs{flex-direction:column;gap:4px;display:flex}.div-row{border-radius:8px;grid-template-columns:110px 1fr 80px;align-items:center;gap:16px;margin:0 -8px;padding:6px 8px;transition:background .15s;display:grid}.div-row:hover{background:var(--sunk)}.dname{align-items:center;gap:8px;font-weight:500;display:flex}.dname i{border-radius:3px;width:10px;height:10px}.dbar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.dbar i{border-radius:4px;height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1);display:block}.dnum{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.dnum small{color:var(--muted);font-weight:400}.heat{grid-template-rows:repeat(7,12px);grid-auto-columns:12px;grid-auto-flow:column;justify-content:start;gap:3px;padding-bottom:4px;display:grid;overflow-x:auto}.heat i{background:var(--line);border-radius:3px;width:12px;height:12px;transition:transform .12s;display:block}.heat i:hover{transform:scale(1.3)}.heat i.l1{background:color-mix(in srgb, var(--hl) 40%, var(--line))}.heat i.l2{background:color-mix(in srgb, var(--hl) 70%, var(--line))}.heat i.l3{background:var(--hl)}.err-text{color:var(--bad);font-size:13px}.ok-text{color:var(--good);font-size:13px}@media (max-width:1100px){.ws{grid-template-columns:minmax(280px,36%) minmax(0,1fr) 300px}}@media (max-width:860px){.ws,.ws.nochat{grid-template-rows:40% 60%;grid-template-columns:1fr}.ws .chat{display:none}.prof-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.prof-stats div:nth-child(3){border-left:0;padding-left:0}}.page.wide{gap:26px;max-width:1120px}.home-head{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.home-head h1{font-size:32px}.big-progress{flex:1;align-items:center;gap:14px;min-width:260px;max-width:560px;margin-left:auto;display:flex}.big-progress .track{background:var(--line);border-radius:6px;flex:1;height:12px;display:flex;overflow:hidden}.big-progress .track i{height:100%;transition:width .9s cubic-bezier(.2,.8,.2,1);display:block}.big-progress .track i.done{background:var(--hl);border-radius:6px}.big-progress .track i.prog{background:var(--hl-soft)}.big-progress .count{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px}.big-progress .count b{color:var(--ink);font-size:18px;font-weight:700}.section-label.accent{color:var(--hl-ink)}.recs{flex-direction:column;gap:12px;display:flex}.recs h2{font-size:17px;font-weight:600}.pick-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.pick{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:15px 16px 14px;transition:border-color .18s,transform .18s,box-shadow .18s;animation:.35s both fadeUp;display:flex}.pick:hover{border-color:var(--hl);box-shadow:0 12px 26px -18px var(--hl);transform:translateY(-2px)}.pick:active{transform:translateY(0)scale(.99)}.pick-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.pick b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.pick-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;gap:10px;font-size:13px;display:flex;overflow:hidden}.finder{flex-direction:column;gap:14px;display:flex}.searchbar{background:var(--surface);border:1.5px solid var(--line);height:54px;color:var(--muted);border-radius:14px;align-items:center;gap:12px;padding:0 16px;transition:border-color .2s,box-shadow .25s,transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.searchbar:hover{border-color:color-mix(in srgb, var(--hl) 45%, var(--line))}.searchbar.focus{border-color:var(--hl);box-shadow:0 0 0 5px var(--hl-soft), 0 16px 34px -24px var(--hl);color:var(--hl-ink);transform:translateY(-1px)}.searchbar .s-icon{flex:none;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.searchbar.focus .s-icon{transform:rotate(-14deg)scale(1.15)}.searchbar.has-text .s-icon{color:var(--hl-ink)}.searchbar input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px}.searchbar input::placeholder{color:var(--faint);transition:color .2s}.searchbar kbd{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:1px 7px;font-size:12px;transition:opacity .2s,transform .2s}.searchbar.focus kbd{opacity:0;transform:scale(.8)}.searchbar .clear{background:var(--sunk);width:26px;height:26px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:17px;line-height:1;transition:background .15s,color .15s,transform .15s;animation:.2s cubic-bezier(.3,1.6,.5,1) popIn;display:grid}.searchbar .clear:hover{color:var(--on-hl);background:var(--hl);transform:rotate(90deg)}.searchbar:after{content:"";background:linear-gradient(90deg, transparent, var(--hl), transparent);opacity:0;width:30%;height:2px;position:absolute;bottom:0;left:0;transform:translate(-100%)}.searchbar.loading:after{opacity:1;animation:.9s ease-in-out infinite sweep}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(340%)}}.count-pop{animation:.3s fadeIn}.div-tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.div-tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2.5px solid #0000;margin-bottom:-1px;padding:8px 12px 10px;font-size:14px;font-weight:500}.div-tabs button:hover{color:var(--ink)}.div-tabs button.on{color:var(--ink);border-bottom-color:var(--hl)}.topic-chips{flex-wrap:wrap;gap:6px 8px;display:flex}.tchip{background:var(--surface);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:13px;transition:border-color .15s,background .15s}.tchip span{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:4px}.tchip:hover{border-color:var(--hl)}.tchip.on{background:var(--hl);color:var(--on-hl);border-color:var(--hl);font-weight:500}.tchip.on span{color:var(--on-hl);opacity:.7}.tchip.more{color:var(--hl-ink);background:0 0;border-style:dashed}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters .sp{flex:1}select.pill{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:13px}select.pill:hover{border-color:var(--faint)}select.pill.active{background:var(--hl-soft);border-color:var(--hl);color:var(--hl-ink);font-weight:500}.link-btn{color:var(--hl-ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:500}.link-btn:hover{text-decoration:underline}.table{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.thead,.trow{grid-template-columns:26px minmax(0,2.2fr) minmax(0,1.6fr) 90px 150px;align-items:center;gap:12px;padding:0 16px;display:grid}.thead{height:38px;color:var(--muted);border-bottom:1px solid var(--line);font-size:12px;font-weight:500}.trow{border-left:3px solid #0000;min-height:52px;font-size:14px;transition:background .15s,border-color .15s;animation:.3s both fadeUp}.trow .name{transition:color .15s}.trow:nth-child(odd){background:var(--sunk)}.trow:hover{background:var(--hl-soft);border-left-color:var(--hl)}.trow:hover .name{color:var(--hl-ink)}.trow .ttl{flex-direction:column;min-width:0;display:flex;overflow:hidden}.trow .name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.trow .ttl small{color:var(--muted);font-size:12px}.trow .tps{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.diff-pips{align-items:center;gap:8px;min-width:0;display:inline-flex}.diff-pips .bars{gap:2px;display:inline-flex}.diff-pips .bars i{background:var(--line);border-radius:2px;width:5px;height:12px}.diff-pips .bars i.on{background:var(--hl)}.diff-pips .label{color:var(--muted);white-space:nowrap;font-size:12.5px}.back{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:13px}.back:hover{color:var(--ink);background:var(--sunk)}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.theme-card{cursor:pointer;text-align:left;border:2px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:13.5px;font-weight:500;transition:transform .15s,border-color .15s;display:flex;box-shadow:inset 0 0 0 1px #7f7f7f38}.theme-card:hover{transform:translateY(-2px)}.theme-card:active{transform:scale(.97)}.theme-card.on{border-color:var(--card-accent)}.theme-card .dots{gap:3px;display:inline-flex}.theme-card .dots i{border-radius:50%;width:9px;height:9px;display:block}.custom-theme{flex-direction:column;gap:10px;max-width:420px;display:flex}.color-row{cursor:pointer;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;font-size:14px;display:grid}.color-row input[type=color]{border:1px solid var(--line);background:var(--sunk);cursor:pointer;border-radius:8px;width:40px;height:32px;padding:2px}.color-row code{font-size:12px}@media (max-width:860px){.pick-row{grid-template-columns:repeat(2,minmax(0,1fr))}.thead,.trow{grid-template-columns:28px minmax(0,1fr) 70px 70px}.hide-sm,.diff-pips .label{display:none}}.settings{max-width:980px}.set-head{align-items:center;gap:14px;display:flex}.saved{color:var(--good);opacity:0;font-size:13px}.saved.show{animation:1.8s forwards flash}@keyframes flash{0%{opacity:0;transform:translateY(3px)}12%,70%{opacity:1;transform:none}to{opacity:0}}.set-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:40px;display:grid}.set-tabs{flex-direction:column;gap:2px;display:flex;position:sticky;top:20px}.set-tabs button{text-align:left;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:14.5px;transition:background .15s,color .15s;position:relative}.set-tabs button:before{content:"";background:var(--hl);border-radius:2px;width:3px;transition:transform .2s;position:absolute;top:8px;bottom:8px;left:0;transform:scaleY(0)}.set-tabs button:hover{color:var(--ink);background:var(--sunk)}.set-tabs button.on{color:var(--ink);background:var(--sunk);font-weight:600}.set-tabs button.on:before{transform:scaleY(1)}.set-body{flex-direction:column;animation:.25s both fadeUp;display:flex}.set-group{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding:22px 0;display:flex}.set-group:first-child{padding-top:4px}.set-group:last-child{border-bottom:0}.set-group.row{flex-direction:row;justify-content:space-between;align-items:center;gap:20px}.set-label{flex-direction:column;gap:2px;display:flex}.set-label b{font-size:15px;font-weight:600}.set-label span{color:var(--muted);font-size:13.5px}.choices{flex-wrap:wrap;gap:8px;display:flex}.choice{text-align:left;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;gap:2px;min-width:120px;padding:9px 14px;transition:border-color .15s,background .15s,transform .12s;display:flex}.choice b{font-size:14px;font-weight:600}.choice span{color:var(--muted);font-size:12.5px}.choice:hover{border-color:color-mix(in srgb, var(--hl) 50%, var(--line))}.choice:active{transform:scale(.97)}.choice.on{border-color:var(--hl);background:var(--hl-soft)}.choice.on b{color:var(--hl-ink)}.example{flex-direction:column;gap:4px;display:flex}.example p{background:var(--sunk);border:1px solid var(--line);border-radius:12px 12px 12px 4px;align-self:flex-start;max-width:520px;margin:0;padding:8px 12px;font-size:14px;animation:.25s fadeUp}.range{width:min(360px,100%);accent-color:var(--hl)}.font-preview{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);border-radius:10px;max-width:520px;margin:0;padding:12px 14px;transition:font-size .1s;overflow-x:auto}.pw-row{flex-wrap:wrap;gap:8px;max-width:620px;display:flex}.pw-row .field{flex:1;min-width:180px}.switch{background:var(--line);cursor:pointer;border:0;border-radius:999px;flex:none;width:40px;height:23px;padding:0;transition:background .2s;position:relative}.switch i{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .22s cubic-bezier(.3,1.4,.5,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch.on{background:var(--good)}.switch.on i{transform:translate(17px)}.switch:active i{width:20px}.switch.on:active i{transform:translate(14px)}.fmt-toggle{flex:none;align-items:center;gap:7px;padding-top:3px;display:flex}.fmt-toggle svg{color:var(--faint);transition:color .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}.fmt-toggle svg.on{color:var(--good);transform:rotate(15deg)}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.page{animation:.3s both fadeUp}.btn,.chip,.tchip,select.pill,.seg button,.links button,.back,.link-btn,.copy,.div-tabs button,.item{transition:background .15s,border-color .15s,color .15s,transform .12s,box-shadow .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled),.chip:active,.tchip:active,.seg button:active,.links button:active,.back:active,select.pill:active{transform:scale(.96)}.btn.dark:hover:not(:disabled){box-shadow:0 6px 16px -10px var(--ink)}.tchip:hover{transform:translateY(-1px)}.msg,.event{animation:.22s both fadeUp}.overlay{animation:.2s fadeIn}.overlay .card{animation:.28s cubic-bezier(.3,1.4,.5,1) pop}.drawer{animation:.24s slideIn}.coach-note .bubble{animation:.25s fadeUp}.levelup{animation:.4s cubic-bezier(.3,1.6,.5,1) .2s both popIn}.xpgain{animation:.45s cubic-bezier(.3,1.6,.5,1) both popIn}.node rect.box{transition:stroke .15s,transform .15s}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:760px){.set-layout{grid-template-columns:1fr;gap:16px}.set-tabs{flex-direction:row;position:static;overflow-x:auto}.set-tabs button:before{display:none}.big-progress{margin-left:0}}@media (max-width:640px){.acct-name,.brand .word small,.foot-ver{display:none}.brand .word{font-size:24px}.top{gap:10px}.foot{flex-wrap:wrap}}.logo{background:var(--hl);flex:none;display:inline-block;-webkit-mask:url(/logo-mask.png) 50%/contain no-repeat;mask:url(/logo-mask.png) 50%/contain no-repeat}.land{--paper:#101216;--surface:#171a1f;--sunk:#13161a;--ink:#eceef1;--muted:#8f95a1;--faint:#5c626d;--line:#262a31;--hl:#f2cb45;--hl-soft:#f2cb452e;--hl-ink:#f6d76b;--on-hl:#111;--good:#4fc27e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--paper);color:var(--ink);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.spots{pointer-events:none;--mx:0;--my:0;position:absolute;inset:0}.spot{translate:calc(var(--mx) * var(--depth) * -14px) calc(var(--my) * var(--depth) * -14px);background:#1b1e24;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;transition:translate .6s cubic-bezier(.2,.8,.2,1);animation:18s ease-in-out infinite alternate morph,26s ease-in-out infinite alternate drift;position:absolute}.spot:nth-child(2n){background:#1d2027;animation-duration:22s,31s}.spot:nth-child(3n){background:#181b21;animation-duration:15s,23s}@keyframes morph{0%{border-radius:42% 58% 63% 37%/41% 44% 56% 59%}33%{border-radius:63% 37% 38% 62%/56% 63% 37% 44%}66%{border-radius:36% 64% 52% 48%/62% 35% 65% 38%}to{border-radius:55% 45% 34% 66%/38% 57% 43% 62%}}@keyframes drift{0%{transform:rotate(0)translate(0)}to{transform:rotate(14deg)translate(24px,-18px)}}.land-top{justify-content:space-between;align-items:center;padding:26px clamp(18px,6vw,88px);animation:.6s both fadeIn;display:flex;position:relative}.land-brand{letter-spacing:-.035em;align-items:center;gap:10px;font-size:26px;font-weight:600;display:flex}.land-brand .logo{transition:transform .4s cubic-bezier(.3,1.6,.5,1)}.land-brand:hover .logo{transform:rotate(-10deg)scale(1.1)}.land-top nav{align-items:center;gap:20px;display:flex}.land-link{color:var(--muted);font-size:15px;transition:color .15s}.land-link:hover{color:var(--ink)}.land-btn{background:var(--hl);color:var(--on-hl);box-shadow:0 10px 30px -14px var(--hl);border-radius:12px;align-items:center;gap:10px;padding:13px 24px;font-size:16px;font-weight:600;transition:transform .18s cubic-bezier(.3,1.4,.5,1),box-shadow .2s;display:inline-flex;position:relative;overflow:hidden}.land-btn.small{border-radius:10px;padding:8px 16px;font-size:14px}.land-btn:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff73 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.land-btn:hover{box-shadow:0 16px 36px -14px var(--hl);transform:translateY(-2px)}.land-btn:hover:after{transition:transform .7s;transform:translate(120%)}.land-btn:active{transform:scale(.97)}.land-btn .arrow{transition:transform .2s}.land-btn:hover .arrow{transform:translate(4px)}.hero{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(28px,5vw,72px);width:100%;max-width:1360px;margin:0 auto;padding:clamp(20px,5vh,70px) clamp(18px,6vw,88px) 60px;display:grid;position:relative}.hero h1{letter-spacing:-.045em;margin:0;font-size:clamp(38px,5.2vw,66px);font-weight:650;line-height:1.04}.hero .word{opacity:0;animation:.7s cubic-bezier(.2,.8,.2,1) forwards rise;display:inline-block;transform:translateY(26px)}.hero .word.accent{color:var(--hl);position:relative}.hero .word.accent svg{width:calc(100% - .4em);height:.22em;position:absolute;bottom:-.12em;left:0;right:.4em;overflow:visible}.hero .word.accent path{fill:none;stroke:var(--hl);stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240px;animation:.9s 1.2s forwards draw}@keyframes rise{to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}.hero .sub{color:var(--muted);opacity:0;max-width:470px;margin:26px 0 34px;font-size:clamp(16px,1.4vw,19px);line-height:1.55;animation:.7s .75s forwards rise;transform:translateY(14px)}.cta{opacity:0;align-items:center;gap:22px;margin-top:40px;animation:.7s .9s forwards rise;display:flex;transform:translateY(14px)}.counts{opacity:0;gap:38px;margin-top:48px;animation:.7s 1.05s forwards rise;display:flex;transform:translateY(14px)}.land-count{flex-direction:column;display:flex}.land-count b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:650}.land-count span{color:var(--muted);font-size:13px}.hero-demo{opacity:0;animation:.9s cubic-bezier(.2,.8,.2,1) .45s forwards rise;transform:translateY(30px)}.demo{background:var(--surface);border:1px solid var(--line);border-radius:16px;transition:opacity .5s;animation:7s ease-in-out infinite float;overflow:hidden;box-shadow:0 40px 80px -40px #000c,0 0 0 1px #ffffff05}.demo.fade{opacity:.25}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.demo-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.demo-title{color:var(--muted)}.demo-btn{background:var(--ink);color:var(--paper);border-radius:7px;padding:3px 10px;font-size:12px;font-weight:600}.demo-code{font-family:var(--mono);min-height:360px;padding:14px 0;font-size:13px;line-height:1.75}.demo-line{padding:0 16px;transition:background .3s;display:flex}.demo-line.flag{background:linear-gradient(90deg, var(--hl-soft), transparent 85%)}.demo-line .ln{width:26px;color:var(--faint);-webkit-user-select:none;user-select:none;flex:none}.demo-line .src{white-space:pre;color:var(--ink)}.demo-line .kw{color:var(--hl-ink)}.caret{background:var(--hl);vertical-align:-.2em;width:2px;height:1.1em;margin-left:1px;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.demo-note{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--hl);font-family:var(--sans);border-radius:9px;align-items:flex-start;gap:9px;max-width:400px;margin:4px 16px 6px 42px;padding:8px 12px;font-size:13px;line-height:1.45;animation:.45s cubic-bezier(.3,1.4,.5,1) noteIn;display:flex}.demo-note .logo{margin-top:1px}@keyframes noteIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:none}}.demo-judge{border-top:1px solid var(--line);opacity:0;align-items:center;gap:12px;padding:12px 16px;font-size:13px;transition:opacity .3s,transform .3s;display:flex;transform:translateY(8px)}.demo-judge.show{opacity:1;transform:none}.pass-bar{background:var(--line);border-radius:3px;flex:1;height:6px;overflow:hidden}.pass-bar i{background:var(--good);border-radius:3px;height:100%;transition:width .1s linear;display:block}.pass-text{color:var(--muted);font-variant-numeric:tabular-nums}.xp{color:var(--hl);font-weight:700;animation:.5s cubic-bezier(.3,1.8,.5,1) popIn}.features{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;max-width:1360px;margin:0 auto;padding:40px clamp(18px,6vw,88px) 30px;display:grid;position:relative}.feat{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#171a1fb3;border-radius:16px;flex-direction:column;gap:6px;padding:22px;transition:border-color .2s,transform .25s cubic-bezier(.2,.8,.2,1);display:flex}.feat:hover{border-color:#f2cb4573;transform:translateY(-3px)}.feat b{font-size:16px;font-weight:600}.feat>span{color:var(--muted);font-size:14px}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(24px)}.reveal.in{opacity:1;transform:none}.feat-art{height:74px;margin-bottom:10px;position:relative}.chat-art i{background:var(--line);border-radius:8px;height:16px;position:absolute}.chat-art i:first-child{width:62%;animation:4.5s ease-in-out infinite bubble;top:4px;left:0}.chat-art i:nth-child(2){background:var(--ink);opacity:.85;width:44%;animation:4.5s ease-in-out .6s infinite bubble;top:28px;right:0}.chat-art i:nth-child(3){background:var(--hl);width:54%;animation:4.5s ease-in-out 1.2s infinite bubble;top:52px;left:0}@keyframes bubble{0%,8%{opacity:0;transform:translateY(6px)scale(.92)}18%,80%{opacity:1;transform:none}92%,to{opacity:0}}.lines-art i{background:var(--line);border-radius:4px;height:8px;animation:5s cubic-bezier(.5,0,.2,1) infinite alternate tidy;position:absolute;left:0}.lines-art i:first-child{background:var(--hl);--x:22px;--w:40%;width:70%;top:6px}.lines-art i:nth-child(2){--x:8px;--w:60%;width:90%;top:24px}.lines-art i:nth-child(3){--x:30px;--w:80%;width:55%;top:42px}.lines-art i:nth-child(4){--x:14px;--w:35%;width:80%;top:60px}@keyframes tidy{0%,25%{transform:translateX(var(--x)) rotate(-2deg);width:var(--w)}75%,to{transform:none}}.graph-art svg{width:140px;height:74px;overflow:visible}.graph-art path{fill:none;stroke:var(--line);stroke-width:2px;stroke-dasharray:60;animation:6s ease-in-out infinite edge}.graph-art circle{fill:var(--surface);stroke:var(--faint);stroke-width:2px;animation:6s ease-in-out infinite node}.graph-art circle:nth-of-type(2){animation-delay:.8s}.graph-art circle:nth-of-type(3){animation-delay:1.4s}.graph-art circle:nth-of-type(4){animation-delay:2.2s}@keyframes edge{0%{stroke-dashoffset:60px}40%,to{stroke-dashoffset:0;stroke:#3a3f48}}@keyframes node{0%,15%{fill:var(--surface);stroke:var(--faint)}30%,85%{fill:var(--hl);stroke:var(--hl)}to{fill:var(--surface);stroke:var(--faint)}}.final{text-align:center;flex-direction:column;align-items:center;gap:22px;padding:70px 20px 60px;display:flex;position:relative}.final h2{letter-spacing:-.035em;font-size:clamp(26px,3vw,38px);font-weight:650}.land-foot{color:var(--faint);padding:20px clamp(18px,6vw,88px) 28px;font-size:13px;position:relative}@media (max-width:900px){.hero,.features{grid-template-columns:1fr}.demo-code{min-height:0;font-size:12px}}.sub.split{gap:10px;display:flex}.demo-title em{color:var(--faint);margin-left:8px;font-style:normal}.solved-tag{color:var(--good);font-family:var(--sans);margin-right:8px;font-weight:600}.tests .ms{color:var(--faint);margin-left:4px}.dd{position:relative}.dd-btn{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 13px;font-size:13px;transition:border-color .15s,background .15s,transform .12s;display:inline-flex}.dd-btn svg{color:var(--muted);transition:transform .2s}.dd-btn:hover{border-color:var(--faint)}.dd-btn:active{transform:scale(.96)}.dd-btn.open svg{transform:rotate(180deg)}.dd-btn.active{background:var(--hl-soft);border-color:var(--hl);color:var(--hl-ink);font-weight:500}.dd-btn.active svg{color:var(--hl-ink)}.dd-list{background:var(--surface);border:1px solid var(--line);z-index:50;transform-origin:0 0;border-radius:12px;flex-direction:column;min-width:170px;padding:5px;animation:.15s ease-out pop;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 40px -20px #0000008c}.dd-list.right{transform-origin:100% 0;left:auto;right:0}.dd-list button{text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-size:13.5px;animation:.18s both fadeUp;display:flex}.dd-list button.hi{background:var(--sunk)}.dd-list button.on{color:var(--hl-ink);font-weight:600}.dd-list button svg{color:var(--hl-ink)}.bar .dd-btn{border-radius:8px;padding:6px 10px;font-size:13.5px}.icon-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;place-items:center;transition:color .15s,background .15s,border-color .15s,transform .12s;display:inline-grid}.icon-btn:hover:not(:disabled){color:var(--ink);background:var(--sunk)}.icon-btn:active:not(:disabled){transform:scale(.9)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn.solid{background:var(--surface);border-color:var(--line);color:var(--ink)}.icon-btn.solid:hover:not(:disabled){border-color:var(--faint)}.icon-btn.go{background:var(--good);color:#fff;border-color:#0000}.icon-btn.go:hover:not(:disabled){background:var(--good);filter:brightness(1.1);color:#fff}.icon-btn.primary{background:var(--ink);color:var(--paper)}.icon-btn.primary:hover:not(:disabled){background:var(--ink);color:var(--paper);box-shadow:0 6px 16px -10px var(--ink)}.icon-btn.on{color:var(--hl-ink)}.icon-btn.spin svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.more-btn{border:1px solid var(--line);background:var(--surface);align-self:center;width:44px;height:36px}.more-btn:hover svg{transform:translateY(2px)}.more-btn svg{transition:transform .2s}.rec-head{color:var(--hl-ink);display:flex}.searchbar .clear svg{width:13px;height:13px}.hint-btn{position:relative}.hint-btn .badge{background:var(--hl);min-width:14px;height:14px;color:var(--on-hl);border-radius:7px;place-items:center;padding:0 3px;font-size:9.5px;font-weight:700;animation:.3s cubic-bezier(.3,1.6,.5,1) popIn;display:grid;position:absolute;top:1px;right:1px}.bar{gap:6px}.chat-who{align-items:center;gap:9px;display:flex}.cow{background:var(--hl-soft);transform-origin:50% 85%;border-radius:50%;flex:none;place-items:center;display:inline-grid}.cow.talking{animation:.42s ease-in-out infinite alternate chatter}.cow.talking .logo{animation:.21s ease-in-out infinite alternate jaw}@keyframes chatter{0%{transform:rotate(-7deg)translateY(0)}to{transform:rotate(7deg)translateY(-1.5px)}}@keyframes jaw{0%{transform:scaleY(1)}to{transform:scaleY(.88)translateY(1px)}}.msg.coach{grid-template-columns:26px minmax(0,1fr);align-items:end;column-gap:8px;max-width:96%;display:grid}.msg.coach .cow{align-self:end}.msg.coach .line-ref{grid-column:2;justify-self:start}.typing-row .typing{background:var(--sunk);border:1px solid var(--line);border-radius:12px 12px 12px 4px;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 11px;display:flex}.typing .dots{gap:4px;display:flex}.typing .what{color:var(--muted);font-size:11.5px}.stream-caret{background:var(--hl);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:4px;animation:1s infinite blink;display:inline-block}.send-btn{border-radius:10px;width:36px;height:36px}.pic-match{align-items:center;gap:12px;display:flex}.google-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-weight:500;text-decoration:none;display:inline-flex}.google-btn:hover{background:var(--sunk)}.or{color:var(--faint);align-items:center;gap:10px;font-size:12px;display:flex}.or i{background:var(--line);flex:1;height:1px}.google-on{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.legal a{color:var(--hl-ink);text-decoration:underline}
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.3dqqgop8d9q74.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.3s3485bbs_y9t.woff)format("woff"),url(../media/KaTeX_AMS-Regular.06540o8ttgt08.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.0x398dszol8ix.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.0i0ys3pk95qm_.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.071y7fj7dknco.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.3ittfn7d21b9w.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.3-a7ahrnv-1p0.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.2a29kziuqmcwj.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.3rq09ohrtely_.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.1m6-2-v71aefh.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.2c272neyw5p5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.1jvgec053-2og.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.1pa447q_ni5m2.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.0_16ta522mcvb.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.22wkahef0u3fd.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.1fyzqvxw_mkks.woff)format("woff"),url(../media/KaTeX_Main-Bold.3q46h05c4j0cw.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.40drhxm0mwrzz.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.0g_mm5w89az4z.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.2r19jqj9qb5v7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.1ck6crdmp78cu.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.3h-lyz6-tj-5j.woff)format("woff"),url(../media/KaTeX_Main-Italic.07vrczmwpvimc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.29zz7337tzymc.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.0r86ux5c2_9jc.woff)format("woff"),url(../media/KaTeX_Main-Regular.0cm4nk2aib81i.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.0u_6s571--hh0.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.1-f92ydojzao_.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.0m2qm2_orz99k.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.18dmviy-uianu.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.2d-roszuwfrpn.woff)format("woff"),url(../media/KaTeX_Math-Italic.1vw7gcigzv33_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.19n5ohjzvq40z.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.1ad0dh55v7-4h.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.3ojskmd7zv_b8.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.38w085lqrghwm.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.0_21g6aey40vy.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.0abd80e_ako5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.3w8wtfek3qsk6.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.0v2olaztuqa1v.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.0xkeldfcfvj58.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.10h737unm2jp7.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.2m7-0wua2lvnq.woff)format("woff"),url(../media/KaTeX_Script-Regular.1hw1d7omwtnoy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.3xype_vsmmjgw.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.3aliq3yd-ja9b.woff)format("woff"),url(../media/KaTeX_Size1-Regular.44z_qgcc9t0a_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.2-wakugslvf3a.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.3u0df62zf5guy.woff)format("woff"),url(../media/KaTeX_Size2-Regular.3eprswoc9v3fh.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.1nfuh3l6nzhjv.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.3n7wm08wz2r2g.woff)format("woff"),url(../media/KaTeX_Size3-Regular.2kp2izz6g7r-7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.13pyt7zi482pb.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.37jvrh2wknf5u.woff)format("woff"),url(../media/KaTeX_Size4-Regular.2ltjhs9xhaefy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.2vfnlegjq9l42.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.0xi5kyeeydv4z.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.34aedpl-_o3h3.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,math,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.19.1"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .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;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .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{width:.12em;display:inline-block}.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 .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.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;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.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{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.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{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
