@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#090a0e;--paper:#f3ecdf;--paper-dim:#b7b1a6;--brass:#e0c089;--brass-deep:#8a6840;--good:#b7d3a8;--ground:var(--ink);--surface:#111217;--raised:#1a1b21;--active:#24252c;--border:#23242b;--rule:#1b1c22;--control:#3a3a40;--text:var(--paper);--muted:var(--paper-dim);--primary:var(--brass);--on-primary:#1c160f;--accent:var(--brass);--positive:var(--good);--negative:#f0c2b4;--pill-positive-bg:#1f2a1c;--pill-positive-ink:var(--good);--well:#07080c;--well-edge:#0d0e13;--well-text:var(--paper);--well-muted:var(--paper-dim);--guess:var(--brass);--radius-sheet:16px;--radius-card:8px;--radius-control:6px;--inset:8px;--gap:12px;--pad:24px;--control-height:32px;--fs-title:22px;--fs-section:16px;--fs-body:14px;--fs-small:12px;--font:"IBM Plex Sans", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--ground);height:100%;color:var(--text);font:400 var(--fs-body) / 20px var(--font);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}p{margin:0}[hidden]{display:none!important}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--brass);color:var(--on-primary)}.shell{gap:var(--gap);height:100dvh;padding:var(--inset);display:grid}.sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sheet)}.well{background:var(--well-edge);border-radius:var(--radius-sheet);min-height:0;color:var(--well-text);touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.well .gl{width:100%;height:100%;display:block;position:absolute;inset:0}.well[data-loading]:after{content:"Loading the sky";font-size:var(--fs-small);color:var(--well-muted);position:absolute;bottom:20px;left:20px}.lens{pointer-events:none;width:100%;height:100%;fill:var(--well-edge);position:absolute;inset:0}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.well-note{font-size:var(--fs-small);color:var(--well-muted);pointer-events:none;line-height:16px;position:absolute;bottom:18px;left:20px;right:20px}.tag{white-space:nowrap;font-size:var(--fs-small);color:var(--well-text);will-change:transform;line-height:14px;position:absolute;top:0;left:0}.tag-body,.tag-star,.tag-ring-label{translate:-50% -100%}.tag-body{font-weight:500}.tag-star{color:var(--brass)}.tag-ring-label{color:#e0c0898c;font-size:11px;translate:0 -100%}.tag-note{color:var(--well-muted);translate:-50% -50%}.tag-mark{font-size:0}.tag-mark:before{content:"";background:var(--guess);width:12px;height:12px;position:absolute;top:-6px;left:-6px;rotate:45deg}.tag-ring{border:2px solid var(--brass);border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;font-size:0}.tag-dot{background:var(--paper);border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;font-size:0}.tag-dot:not(:empty){background:currentColor;width:9px;height:9px;margin:-4.5px 0 0 -4.5px}#home{grid-template-columns:minmax(320px,400px) 1fr}.home-sheet{padding:32px var(--pad) var(--pad);flex-direction:column;display:flex;overflow-y:auto}h1{letter-spacing:-.02em;margin:0;font-size:32px;font-weight:600;line-height:36px}.lede{margin-top:12px;font-size:16px;line-height:24px}.list-title{font-size:var(--fs-section);margin:32px 0 8px;font-weight:600;line-height:24px}.levels{margin:0 -12px;padding:0;list-style:none}.levels button{text-align:left;border-radius:var(--radius-card);background:0 0;border:0;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;width:100%;min-height:60px;padding:10px 12px;transition:background-color .12s;display:grid}.levels button:hover{background:var(--raised)}.levels button:active{background:var(--active)}.numeral{color:var(--muted);font-weight:500}.row-main{display:grid}.row-title{font-size:15px;font-weight:500}.row-sub{color:var(--muted);font-size:var(--fs-small);line-height:16px}.row-open{color:var(--muted);font-size:var(--fs-small)}.pill{background:var(--pill-positive-bg);height:20px;color:var(--pill-positive-ink);font-size:var(--fs-small);border-radius:999px;align-items:center;padding:0 8px;font-weight:500;display:inline-flex}.fine{color:var(--muted);font-size:var(--fs-small);margin-top:auto;padding-top:24px;line-height:18px}#play{grid-template-rows:44px 1fr;gap:0;padding-top:0}.topbar{align-items:center;gap:16px;min-width:0;display:flex}.back{height:var(--control-height);border-radius:var(--radius-control);color:var(--muted);background:0 0;border:0;padding:0 10px 0 6px}.back:before{content:"← "}.back:hover{background:var(--active);color:var(--text)}.crumb{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex}#crumb-title{font-size:var(--fs-section);text-overflow:ellipsis;font-weight:600;overflow:hidden}.tabs{align-self:stretch;gap:20px;margin-left:auto;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 2px;font-weight:500}.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--primary)}.top-meta{color:var(--muted);align-items:center;gap:12px;display:flex}#day-label{text-align:right;min-width:72px}#sound{background:var(--surface);border:1px solid var(--control);border-radius:var(--radius-control);height:28px;padding:0 10px}#sound:hover{background:var(--raised)}.workspace{gap:var(--gap);grid-template-columns:340px 1fr;min-height:0;display:grid}.panel{padding:var(--pad);flex-direction:column;gap:16px;display:flex;overflow-y:auto}.panel h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600;line-height:26px}.panel h2:focus{outline:none}.help{color:var(--muted)}.control{gap:8px;display:grid}.control-row{font-size:var(--fs-small);color:var(--muted);justify-content:space-between;gap:8px;display:flex}.control-row .num{color:var(--text);font-weight:500}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--active);border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:var(--active);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary);border:3px solid var(--surface);border-radius:50%;width:18px;height:18px;margin-top:-7px;transition:transform .12s}input[type=range]::-moz-range-thumb{background:var(--primary);border:3px solid var(--surface);border-radius:50%;width:12px;height:12px}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.row-buttons,.segmented,.actions{gap:8px;display:flex}.row-buttons button{flex:1}.secondary,.primary,.segmented button{height:var(--control-height);border-radius:var(--radius-control);padding:0 12px;font-weight:500;transition:background-color .12s,transform 80ms}.secondary,.segmented button{background:var(--surface);border:1px solid var(--control)}.secondary:hover,.segmented button:hover{background:var(--raised)}.secondary:disabled{color:var(--muted);background:var(--raised)}.primary{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary)}.primary:hover{background:#fff8ee;border-color:#fff8ee}.secondary:active,.primary:active,.segmented button:active{transform:translateY(1px)}.segmented{background:var(--raised);border-radius:8px;padding:3px}.segmented button{color:var(--muted);background:0 0;border-color:#0000;flex:1}.segmented button[aria-pressed=true]{background:var(--surface);border-color:var(--border);color:var(--text)}.meter-block{gap:8px;display:grid}.meter{background:var(--active);border-radius:3px;height:6px;overflow:hidden}.meter span{background:var(--accent);transform-origin:0;height:100%;transition:transform .16s;display:block;transform:scaleX(0)}.status{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums;line-height:18px}.message{color:var(--negative);font-weight:500}.message:empty{display:none}#hints{gap:8px;display:grid}#hints:empty{display:none}.hint{background:var(--raised);border-radius:var(--radius-card);padding:12px 14px;animation:.22s both rise}.lesson{background:var(--pill-positive-bg);border-radius:var(--radius-card);padding:16px;animation:.26s both rise}.lesson h3{color:var(--positive);margin:0 0 6px;font-size:14px;font-weight:600}.actions{margin-top:auto;padding-top:8px}.actions .primary{flex:1}#strip{background:var(--well);pointer-events:none;width:100%;height:100%;transition:opacity .2s;position:absolute;inset:0}#strip text{fill:var(--well-muted);font:400 12px var(--font)}#strip .strip-title{fill:var(--well-text);font-size:14px;font-weight:500}#strip .strip-axis{text-anchor:end}#strip .strip-star{text-anchor:middle;fill:var(--brass)}#strip .strip-dot{text-anchor:middle;fill:var(--well-text);font-weight:500}.well[data-hover=pan],.well[data-hover=band],.well[data-hover=venus],.well[data-hover=kite],.well[data-hover=marker]{cursor:grab}.well[data-drag=pan],.well[data-drag=band],.well[data-drag=venus],.well[data-drag=kite],.well[data-drag=marker]{cursor:grabbing}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=900px){#home{grid-template-rows:44vh auto;grid-template-columns:1fr;height:auto;min-height:100dvh}#home-well{order:-1}.home-sheet{overflow:visible}#play{grid-template-rows:auto 1fr;height:auto;min-height:100dvh}.topbar{flex-wrap:wrap;row-gap:0;padding:6px 0}.crumb{order:3;width:100%;padding:4px 6px 6px}#crumb-concept{display:none}.tabs{height:40px}.workspace{grid-template-rows:58vh auto;grid-template-columns:1fr}.workspace .well{order:-1}.panel{overflow:visible}.secondary,.primary,.segmented button{height:44px}}@media (width<=480px){.top-meta #day-label{display:none}.tabs{gap:14px}.home-sheet{padding:24px 20px}.panel{padding:20px}}.sandbox-row{text-align:left;border-radius:var(--radius-card);background:0 0;border:0;grid-template-columns:1fr auto;align-items:center;gap:8px;width:calc(100% + 24px);min-height:60px;margin:0 -12px;padding:10px 12px;transition:background-color .12s;display:grid}.sandbox-row:hover{background:var(--raised)}.sandbox-row:active{background:var(--active)}.crumb-title{font-size:var(--fs-section);font-weight:600}#sandbox{grid-template-rows:44px 1fr;gap:0;padding-top:0}#sandbox .top-meta{margin-left:auto}.kinds{flex-wrap:wrap;gap:6px;display:flex}.kinds button{height:var(--control-height);border:1px solid var(--control);background:var(--surface);border-radius:999px;padding:0 12px;font-weight:500;transition:background-color .12s,transform 80ms}.kinds button:hover{background:var(--raised)}.kinds button:active{transform:translateY(1px)}.kinds button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.selected{background:var(--raised);border-radius:var(--radius-card);gap:12px;padding:16px;display:grid}.selected-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.selected h3{font-size:var(--fs-section);margin:0;font-weight:600}.selected dl{gap:6px;margin:0;display:grid}.selected dl div{justify-content:space-between;gap:12px;display:flex}.selected dt{color:var(--muted)}.selected dd{text-align:right;margin:0;font-weight:500}.selected .secondary[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary)}.actions .secondary{flex:1}#sb-well{cursor:grab}#sb-well[data-drag=orbit]{cursor:grabbing}#sb-well[data-armed=true]{cursor:crosshair}@media (width<=900px){#sandbox{grid-template-rows:auto 1fr;height:auto;min-height:100dvh}.kinds button{height:44px}}.segmented button{white-space:nowrap;padding:0 6px}.fine a{color:inherit;text-underline-offset:2px;text-decoration:underline}.fine a:hover{color:var(--text)}
