@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(./instrument-serif-latin-ext-400-normal-CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(./instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(./instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(./instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f7f7f5;--ink: #141413;--ink-2: #4f4e4a;--ink-3: #5f5d57;--rule: rgba(20, 20, 19, .14);--signal: #ff4d1a;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--serif: "Instrument Serif", "Times New Roman", serif;--zh: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif;--pad: max(16px, env(safe-area-inset-left))}html,body{background:var(--paper);overscroll-behavior:none}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#scene-container canvas{touch-action:none}.hud{position:fixed;inset:0;pointer-events:none;color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:0;z-index:10}.hud button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;pointer-events:auto}.hud .hit{pointer-events:auto}.hud-top{position:absolute;top:0;left:0;right:0;padding:max(14px,env(safe-area-inset-top)) var(--pad) 0;background:linear-gradient(var(--paper) 62%,rgba(247,247,245,0))}.masthead{display:flex;justify-content:space-between;align-items:baseline;gap:14px;text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;color:var(--ink-2);padding-bottom:9px;border-bottom:1px solid var(--rule)}.masthead b{font-weight:500;color:var(--ink)}.title{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 12px;padding-top:14px}.zh{font-family:var(--zh);font-size:40px;line-height:1;letter-spacing:.04em;font-weight:400}.plate{font-family:var(--serif);font-size:44px;line-height:.8;color:var(--ink);text-align:right}.binomial{grid-column:1 / -1;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.1;margin-top:6px}.common{grid-column:1 / -1;color:var(--ink-2);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.common i{font-style:normal;color:var(--ink-3)}.class{grid-column:1 / -1;color:var(--ink-3);font-size:10px;letter-spacing:.07em;text-transform:uppercase;margin-top:6px;white-space:nowrap}.subjects{display:flex;align-items:center;gap:4px;margin:6px 0 0;pointer-events:auto}.subjects span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-right:6px}.subjects button{position:relative;height:44px;padding:0 12px;font-size:12.5px;color:var(--ink-3)}.subjects button:after{content:"";position:absolute;left:12px;right:12px;bottom:10px;height:2px;background:transparent}.subjects button[aria-checked=true]{color:var(--ink);font-weight:500}.subjects button[aria-checked=true]:after{background:var(--ink)}.telemetry{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;margin:0 0 12px;padding:8px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}.telemetry dt{color:var(--ink-3);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.telemetry dd{margin:0;font-size:13px}.telemetry .feet{display:flex;align-items:center;gap:4px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ink-3);box-sizing:border-box;margin:0 7px 0 4px}.dot.on{background:var(--signal);border-color:var(--signal)}.hud-bottom{position:absolute;left:0;right:0;bottom:0;padding:0 var(--pad) max(14px,env(safe-area-inset-bottom));background:linear-gradient(rgba(247,247,245,0),var(--paper) 30%)}.function{font-family:var(--serif);font-size:17px;line-height:1.2;margin:34px 0 10px;max-width:30em}.function .fn-label{display:flex;justify-content:space-between;align-items:center}.function span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:4px}.gait{position:relative;height:34px;margin-bottom:4px;touch-action:none}.lane{position:absolute;left:14px;right:0;height:9px}.lane.l{top:6px}.lane.r{top:20px}.lane:before{content:"";position:absolute;inset:4px 0;border-top:1px solid var(--rule)}.lane i{position:absolute;top:2px;height:5px;background:var(--ink);border-radius:1px}.lane-label{position:absolute;left:0;font-size:11px;color:var(--ink-2);line-height:1}.lane-label.l{top:4px}.lane-label.r{top:18px}.playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--signal);left:14px}.playhead:after{content:"";position:absolute;top:-3px;left:-3px;width:7px;height:7px;background:var(--signal);border-radius:50%}.scale{display:flex;justify-content:space-between;padding-left:14px;font-size:11px;color:var(--ink-2);font-variant-numeric:tabular-nums;padding-bottom:12px;border-bottom:1px solid var(--rule)}.controls{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding-top:6px}.index{display:flex;gap:0}.index button{position:relative;font-size:14px;color:var(--ink-3);min-width:40px;height:44px;text-align:left;font-variant-numeric:tabular-nums}.index button:after{content:"";position:absolute;left:0;width:16px;bottom:9px;height:2px;background:transparent}.index button[aria-current=true]{color:var(--ink);font-weight:500}.index button[aria-current=true]:after{background:var(--signal)}.play{width:44px;height:44px;border-radius:50%;background:var(--ink)!important;color:var(--paper)!important;display:grid;place-items:center}.play svg{width:12px;height:12px;fill:currentColor}.speed,.notes-toggle{font-size:11px;letter-spacing:.08em;text-transform:uppercase;min-width:44px;height:44px;position:relative}.speed:before,.notes-toggle:before{content:"";position:absolute;inset:6px 0;border:1px solid var(--rule);border-radius:16px}.speed,.notes-toggle{padding:0 12px!important}.measures{display:none}.sheet{position:absolute;inset:0;overflow:auto;background:var(--paper);padding:max(14px,env(safe-area-inset-top)) var(--pad) max(28px,env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .45s cubic-bezier(.2,.8,.2,1);pointer-events:auto}.sheet[data-open=true]{transform:none}.sheet-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-bottom:8px}.sheet h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:34px;line-height:1.1;margin:0}.sheet .sub{color:var(--ink-2);margin-bottom:18px;font-size:11.5px;line-height:1.5}.sheet .sub i,.sheet .sub span{white-space:nowrap}.sheet .sub i{font-style:normal;color:var(--ink-3)}.sheet table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.sheet td{padding:9px 0 8px;border-top:1px solid var(--rule);vertical-align:baseline;font-size:12.5px;line-height:1.35;text-wrap:pretty;font-variant-numeric:tabular-nums}.sheet [lang=zh]{white-space:nowrap}.sheet td:first-child{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;width:42%;padding-top:9px}.sheet .foot{margin:20px 0 0;color:var(--ink-2);font-size:11.5px;line-height:1.65;text-wrap:pretty;max-width:38em}.sheet .caution{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.35;margin-top:12px;color:var(--ink)}.sheet .foot a{color:var(--ink-2);pointer-events:auto}.sheet-mast{margin-bottom:14px}.sheet .close{height:44px;margin:-15px -14px -15px 0;padding:0 14px!important;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.sheet .zh-sub{font-family:var(--zh);font-size:18px;color:var(--ink)}.sheet .xr{margin-top:14px;display:inline-block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:2px}.hud.loading .title,.hud.loading .function{opacity:.25}.hud .fade{transition:opacity .35s ease}@media(min-width:760px){.hud{font-size:11px}.hud-top{padding:28px 40px 0;background:none;right:auto;width:min(560px,42vw)}.masthead{width:calc(100vw - 80px)}.title{grid-template-columns:auto auto;justify-content:start;column-gap:28px;max-width:none}.zh{font-size:56px}.plate{font-size:64px;align-self:end}.binomial{font-size:30px}.telemetry{max-width:640px}.hud-bottom{padding:0 40px 28px;background:none;right:auto;width:min(520px,38vw)}.function{font-size:22px}.sheet{left:auto;width:440px;border-left:1px solid var(--ink);transform:translate(105%);padding:28px 32px}}@media(min-width:1100px)and (min-height:700px){.measures{display:block;margin:0 0 22px}.measures h3{font-weight:500;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;color:var(--ink-2)}.measures table{width:100%;border-collapse:collapse}.measures td{padding:7px 0 6px;border-top:1px solid var(--rule);font-size:13px;font-variant-numeric:tabular-nums}.measures td:first-child{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);width:52%}.measures tr:last-child td{border-bottom:1px solid var(--rule)}.function{margin-top:0}}@media(max-height:700px)and (max-width:500px){.title{padding-top:10px}.zh{font-size:32px}.plate{font-size:34px}.binomial{font-size:19px;margin-top:3px}.class{display:none}.function{margin:18px 0 8px;font-size:16px}}@media(max-width:400px){.masthead .long{display:none}.zh{font-size:36px}.plate{font-size:40px}}@media(min-width:760px){.hud-bottom{bottom:auto;top:calc(var(--header-h, 260px) + 18px)}}@media(max-width:380px){.controls{gap:6px}.title{padding-top:10px}.binomial{font-size:18px;margin-top:3px}.class{display:none}.zh{font-size:30px}.plate{font-size:32px}.subjects{margin-top:2px}}.mast-subjects{display:none}@media(max-width:759px){.masthead [data-k=count],.subjects{display:none}.mast-subjects{display:flex;pointer-events:auto}.mast-subjects button{position:relative;padding-left:13px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.mast-subjects button:before{content:"";position:absolute;inset:-14px 0 -12px 2px}.mast-subjects button:after{content:"";position:absolute;left:13px;right:.1em;bottom:-10px;height:2px;background:transparent}.mast-subjects button[aria-checked=true]{color:var(--ink)}.mast-subjects button[aria-checked=true]:after{background:var(--ink)}.function{margin:12px 0 8px}}@media(max-width:759px)and (max-height:760px){.title{padding-top:9px}.zh{font-size:32px}.plate{font-size:34px}.binomial{font-size:19px;margin-top:2px}.class{display:none}.function{margin:8px 0 6px;font-size:16px}.function span{margin-bottom:2px}.telemetry{padding:6px 0;margin-bottom:8px}.scale{padding-bottom:8px}.controls{padding-top:4px}}@media(max-width:380px){.common{font-size:10.5px}}:lang(zh) .function em,:lang(zh) .sheet td{font-family:var(--zh);font-style:normal}:lang(zh) .function em{font-size:1.04em}:lang(zh) .sheet .foot{font-style:normal}.imprint{position:relative;display:block;pointer-events:auto;line-height:0;opacity:.82;transition:opacity .2s}.imprint:hover,.imprint:focus-visible{opacity:1}.imprint:before{content:"";position:absolute;inset:-15px -10px}.imprint img{height:15px;width:auto;display:block}
