:root{--ink:#1b1f2e;--paper:#f4f1e8;--cream:#f2dca0;--sand:#e0bf74;--leaf:#5aa84a;--sea:#2a63a8;--wood:#7a4a2a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--px:2px;--small:calc(8 * var(--px));--big:calc(16 * var(--px));-webkit-font-smoothing:none;font-smooth:never;font-family:Spleen,monospace}@font-face{font-family:Spleen;src:url(/assets/spleen-8x16-DSVJoFQh.woff2)format("woff2")}@font-face{font-family:Spleen24;src:url(/assets/spleen-12x24-Bzckh6lc.woff2)format("woff2")}:root.px3{font-family:Spleen24,monospace}:root.px3 h1{font-family:Spleen,monospace}:root.px1{--small:16px;--big:16px}*{box-sizing:border-box;font-synthesis:none}h1,h2,h3,b,strong,th{font-weight:400}body{color:var(--paper);background:var(--sea);min-height:100vh;font-size:var(--small);line-height:calc(10 * var(--px));margin:0;overflow:hidden}:root.px1 body{line-height:1.25;overflow:auto}body:not(.scene-map){background:linear-gradient(#1b1f2eb8, #1b1f2eb8), var(--tile,none) 0 0 / calc(32 * var(--px)) calc(32 * var(--px)), var(--ink);image-rendering:pixelated}#app{margin:0 auto}h1{font-size:var(--big);line-height:var(--big);white-space:nowrap;min-width:0;text-shadow:0 var(--px) 0 var(--ink);flex:1;margin:0;overflow:hidden}h2,h3{font-size:var(--small);margin:0 0 calc(2 * var(--px))}p{margin:calc(2 * var(--px)) 0}small{font-size:var(--small)}.loading{text-align:center;visibility:hidden;margin:auto;animation:0s .3s forwards loading}@keyframes loading{to{visibility:visible}}.muted{opacity:.75}.top{align-items:center;gap:calc(4 * var(--px));height:calc(20 * var(--px));margin-bottom:calc(4 * var(--px));display:flex}.top button{flex:none}.shortcut{margin-left:calc(2 * var(--px));opacity:.75}.buttons{gap:calc(4 * var(--px));margin-top:calc(4 * var(--px));flex-wrap:wrap;display:flex}.spr{image-rendering:pixelated;background-repeat:no-repeat;flex:none}.icon{width:calc(8 * var(--px));height:calc(8 * var(--px));image-rendering:pixelated;vertical-align:calc(-1 * var(--px));background:currentColor;flex:none;display:inline-block}@media (prefers-reduced-motion:reduce){.spr,.tile{animation:none!important}}.wood,.parchment{border:calc(8 * var(--px)) solid var(--wood);image-rendering:pixelated}.wood{border-image:var(--ui-panel-wood) 8 fill / calc(8 * var(--px)) stretch;color:var(--paper)}.parchment{border-image:var(--ui-parchment) 8 fill / calc(8 * var(--px)) stretch;color:var(--ink);border-color:var(--cream)}button{font:inherit;line-height:calc(8 * var(--px));color:var(--ink);cursor:pointer;padding:0 calc(1 * var(--px));white-space:nowrap;border:calc(6 * var(--px)) solid var(--sand);border-image:var(--ui-button) 6 fill / calc(6 * var(--px)) stretch;image-rendering:pixelated;background:0 0}button .icon{margin:0 calc(2 * var(--px)) 0 0;vertical-align:top}button .icon:last-child{margin:0 0 0 calc(2 * var(--px))}button.icon-btn .icon{margin:0}button:active:not(:disabled),.segment button.on{border-image-source:var(--ui-button-pressed)}button.primary{border-image-source:var(--ui-button-primary)}button.primary:active:not(:disabled){border-image-source:var(--ui-button-primary-pressed)}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:calc(2 * var(--px)) solid var(--ink);outline-offset:0;box-shadow:0 0 0 calc(3 * var(--px)) var(--paper)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}kbd{min-width:calc(14 * var(--px));margin-right:calc(2 * var(--px));text-align:center;white-space:nowrap;font:inherit;color:var(--ink);line-height:calc(8 * var(--px));border:calc(5 * var(--px)) solid #b3b5bd;border-image:var(--ui-key) 5 fill / calc(5 * var(--px)) stretch;image-rendering:pixelated;padding:0;display:inline-block}kbd.hit{border-image-source:var(--ui-key-pressed)}#app.wide{width:calc(640 * var(--px));max-width:100vw;height:100vh;padding:calc(4 * var(--px)) calc(8 * var(--px));flex-direction:column;display:flex;overflow:hidden}.lesson-layout{grid-template-columns:calc(192 * var(--px)) minmax(0, 1fr);gap:calc(8 * var(--px));flex:1;min-height:0;display:grid}.lesson{min-height:0;overflow:hidden}.key-rows{margin:calc(4 * var(--px)) 0 0;padding:0;list-style:none}.key-row{align-items:center;gap:0 calc(4 * var(--px));padding:calc(1 * var(--px)) 0;border-bottom:var(--px) dashed #7a4a2a4d;grid-template-columns:auto 1fr auto;display:grid}.key-row .caps{white-space:nowrap}.key-row kbd{margin-right:0}.note{margin-top:calc(4 * var(--px));padding:calc(2 * var(--px)) calc(4 * var(--px));border-left:calc(2 * var(--px)) solid var(--wood);background:#e0bf7459}.note h3,.sign h3{color:var(--wood)}.practice{gap:calc(4 * var(--px));flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.sign{grid-template-columns:minmax(0, 1fr) minmax(calc(120 * var(--px)), max-content);gap:0 calc(8 * var(--px));height:calc(68 * var(--px));align-items:start;display:grid;overflow-y:auto}.sign h3,.sign p{margin:0}.say{align-items:center;gap:calc(2 * var(--px)) 0;flex-wrap:wrap;display:flex}.say kbd{margin:0 calc(1 * var(--px))}.target{padding:calc(1 * var(--px)) calc(4 * var(--px));border-left:calc(2 * var(--px)) solid var(--wood);font:inherit;white-space:pre;background:#7a4a2a26;margin:0;overflow:hidden}.target:before{content:attr(data-label);opacity:.75;display:block}.target[hidden]{display:none}.wrong{color:#9e1b1b}.wrong:empty{display:none}.sign .buttons{margin-top:calc(2 * var(--px))}.status{gap:calc(4 * var(--px));align-items:center;display:flex}.status b{padding:0 calc(4 * var(--px));color:var(--ink);background:#4b9bd6}.status.insert b{background:var(--leaf)}.status.visual b{background:#e8892b}.status.pending span{color:var(--sand)}.status.coach span{color:#f2c94c}.field{min-height:0;padding:0 calc(8 * var(--px)) 0 calc(40 * var(--px));outline:var(--px) solid var(--ink);background:var(--ground) 0 0 / calc(32 * var(--px)) calc(32 * var(--px)) repeat, var(--field-base,var(--sand));image-rendering:pixelated;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.field .tile{height:calc(32 * var(--px));margin:0 calc(-8 * var(--px)) 0 calc(-40 * var(--px));image-rendering:pixelated;background-repeat:repeat-x;flex:none}.field.tall .tile{display:none}.editor{flex:1;min-height:0}.editor .cm-editor{font-size:var(--fs,var(--big));background:0 0;height:100%}.editor .cm-editor.cm-focused,.editor .cm-content:focus-visible,.editor .cm-vim-panel input:focus-visible{box-shadow:none;outline:none}.field:focus-within{outline:calc(2 * var(--px)) solid var(--ink);box-shadow:0 0 0 calc(3 * var(--px)) var(--paper)}.editor .cm-scroller{font-family:inherit;line-height:var(--fs,var(--big));overscroll-behavior:contain;overflow:hidden!important}.editor .cm-content{padding:0}.editor .cm-line{padding:0 calc(4 * var(--px))}.field-zone .cm-line{color:var(--field-text);text-shadow:var(--field-shadow,none)}.field-zone .cm-fat-cursor{background:var(--field-cursor)!important;color:var(--field-cursor-text)!important}.field-zone .cm-cursor{border-left-color:var(--field-cursor)!important}.editor .cm-gutters{font-size:var(--small);background:0 0;border:none}.editor .cm-lineNumbers .cm-gutterElement{padding:0 calc(4 * var(--px)) 0 0;min-width:calc(16 * var(--px));line-height:var(--fs,var(--big));text-align:right}.field-zone .cm-gutters{color:var(--field-gutter)}.field-zone .cm-current-number{background:var(--field-gutter);color:var(--field-current-text)}.cm-fat-cursor{background:var(--cream)!important;color:var(--ink)!important}.cm-cursor{border-left:var(--px) solid var(--sand)!important}.editor .cm-vim-panel{background:var(--ink);color:var(--paper);font-size:var(--small);padding:calc(2 * var(--px)) calc(4 * var(--px))}.editor .cm-vim-panel input{color:var(--paper);font:inherit}.cm-selectionBackground{background:#e0bf7459!important}.field-zone .cm-selectionBackground{background:var(--field-selection)!important}.scene{pointer-events:none;position:absolute;inset:0;overflow:visible}.farmer{left:calc(4 * var(--px));position:absolute;top:0}.pop{position:absolute}.goal-box{outline:var(--px) solid #f6d049;animation:.9s step-end infinite goal;position:absolute}.goal-box[hidden]{display:none}.field-zone .goal-box{outline-color:var(--field-goal)}@keyframes goal{50%{outline-offset:var(--px)}}@media (prefers-reduced-motion:reduce){.goal-box{animation:none}}.end{z-index:5;background:#1b1f2eb3;place-items:center;display:grid;position:absolute;inset:0}.end-box{max-width:calc(260 * var(--px));text-align:center;padding-left:calc(10 * var(--px));padding-right:calc(10 * var(--px))}.end-box .buttons{justify-content:center}.end-art{justify-content:center;align-items:end;gap:calc(8 * var(--px));margin-bottom:calc(4 * var(--px));display:flex}.tip{border-top:var(--px) dashed #7a4a2a66;padding-top:calc(4 * var(--px));margin-top:calc(4 * var(--px))}.fx{pointer-events:none;z-index:10;image-rendering:pixelated;position:fixed;inset:0}.bar{gap:calc(4 * var(--px));background:var(--ink);padding:0 calc(4 * var(--px));height:calc(12 * var(--px));line-height:calc(8 * var(--px));flex:none;grid-template-columns:auto 1fr auto;align-items:center;display:grid}.showcmd{gap:calc(4 * var(--px));white-space:nowrap;justify-content:flex-end;display:flex;overflow:hidden}.showcmd kbd{min-width:0;color:var(--cream);border:0;border-image:;margin:0}.stats{color:var(--cream)}.stats.over{color:#e8892b}.kb{gap:calc(2 * var(--px));height:calc(75 * var(--px));flex:none;align-content:start;display:grid}.kb-row{gap:calc(2 * var(--px));display:flex}.kb-key{min-width:0;height:calc(11 * var(--px));line-height:calc(6 * var(--px));text-align:center;white-space:nowrap;color:#7c7f8c;image-rendering:pixelated;border-style:solid;border-color:var(--ink);border-width:calc(2 * var(--px)) calc(2 * var(--px)) calc(3 * var(--px));border-image:var(--ui-kbkey) 2 2 3 2 fill / calc(2 * var(--px)) calc(2 * var(--px)) calc(3 * var(--px)) stretch;flex:1 1 0}.kb-key.known{border-image-source:var(--ui-kbkey-known);color:var(--ink)}.kb-key.new{border-image-source:var(--ui-kbkey-new);color:var(--ink)}.kb-key.down{border-image-source:var(--ui-kbkey-down);color:var(--ink);line-height:calc(9 * var(--px))}.kb-legend{color:var(--cream);line-height:calc(8 * var(--px));height:calc(8 * var(--px));white-space:nowrap;margin:0;overflow:hidden}body.scene-map #app{max-width:none;padding:0}.map-screen{height:100vh;position:relative;overflow:hidden}.map-wrap{width:calc(640 * var(--px));height:calc(360 * var(--px));left:round(down, calc(50vw - 320 * var(--px)), var(--px));top:round(down, calc(50vh - 180 * var(--px)), var(--px));position:absolute}.map-wrap>*{position:absolute}.map-sea{image-rendering:pixelated;background-position:round(down, calc(50vw - 320 * var(--px)), var(--px)) round(down, calc(50vh - 180 * var(--px)), var(--px));position:absolute;inset:0}.island{top:0;left:0}.map-title{top:calc(4 * var(--px));left:calc(8 * var(--px));z-index:4;color:var(--paper);position:absolute}.map-tools{top:calc(4 * var(--px));right:calc(4 * var(--px));z-index:4;grid-auto-flow:column;grid-auto-columns:calc(60 * var(--px));gap:calc(2 * var(--px));display:grid;position:absolute}.map-help{margin:calc(4 * var(--px)) 0 0;opacity:.75}.map-help kbd{margin:0 calc(1 * var(--px))}.map-sign{white-space:nowrap;color:var(--ink);line-height:calc(8 * var(--px));pointer-events:none;image-rendering:pixelated;border:calc(5 * var(--px)) solid #c49a52;border-image:var(--ui-sign) 5 fill / calc(5 * var(--px)) stretch;padding:0;transform:translate(-50%,-50%)}.map-sign:before,.map-sign:after{content:"";top:calc(3 * var(--px));width:var(--px);height:var(--px);background:var(--wood);position:absolute}.map-sign:before{left:calc(-2 * var(--px))}.map-sign:after{right:calc(-2 * var(--px))}.stop{width:calc(16 * var(--px));height:calc(16 * var(--px));margin:calc(-8 * var(--px)) 0 0 calc(-8 * var(--px));color:var(--ink);background:0 0;border:none;border-image:;padding:0}.stop>*{position:absolute;top:0;left:0}.stop>span:not(.icon){width:100%;top:calc(3 * var(--px));text-align:center;line-height:calc(8 * var(--px))}.stop>.icon{left:calc(4 * var(--px));top:calc(3 * var(--px));margin:0}.map-cursor{margin:calc(-10 * var(--px)) 0 0 calc(-10 * var(--px));pointer-events:none;z-index:2}.map-farmer{margin:calc(-20 * var(--px)) 0 0 calc(-8 * var(--px));pointer-events:none;z-index:3}.map-dot{margin:calc(-2 * var(--px)) 0 0 calc(-2 * var(--px));pointer-events:none}.stop-card{z-index:4;width:calc(152 * var(--px));min-height:calc(120 * var(--px));right:calc(4 * var(--px));bottom:calc(4 * var(--px));position:absolute}.stop-card h2{margin:0}.stop-card p{margin:calc(2 * var(--px)) 0 0}.stop-card .card-keys{gap:calc(2 * var(--px));flex-wrap:wrap;display:flex}.stop-card .card-keys kbd{margin:0}.segment{gap:calc(2 * var(--px));margin-bottom:calc(4 * var(--px));flex-wrap:wrap;display:flex}.segment button.on{color:var(--paper)}.lesson>.segment{margin-bottom:calc(2 * var(--px))}.drill-options h3{margin-top:calc(4 * var(--px));color:var(--wood)}.stats-grid{grid-template-columns:repeat(auto-fit, minmax(calc(160 * var(--px)), 1fr));gap:calc(8 * var(--px));flex:1;align-content:start;min-height:0;display:grid}.stats-zone{min-height:0}.stats-table{border-collapse:collapse;width:100%}.stats-table td{padding:0 calc(2 * var(--px));border-bottom:var(--px) dashed #7a4a2a4d}.stats-cells{gap:var(--px);flex-wrap:wrap;display:flex}.stats-cell{width:calc(12 * var(--px));height:calc(14 * var(--px));padding-bottom:calc(3 * var(--px));color:var(--ink);line-height:calc(8 * var(--px));background:#b3b5bd;place-items:center;display:grid;position:relative}.stats-cell:after{content:"";left:calc(2 * var(--px));bottom:var(--px);width:calc(2 * var(--px));height:calc(2 * var(--px));position:absolute}.stats-cell.pending{outline:var(--px) dashed #1b1f2e99;outline-offset:calc(-1 * var(--px));background:0 0}.stats-cell.done{background:var(--leaf)}.stats-cell.done:after{width:calc(8 * var(--px));background:var(--ink)}.stats-cell.gold{background:#f6d049}.stats-cell.silver{background:var(--paper)}.stats-cell.bronze{background:#b57a55}.stats-cell.bronze:after,.stats-cell.silver:after,.stats-cell.gold:after{background:var(--ink)}.stats-cell.silver:after{box-shadow:calc(3 * var(--px)) 0 var(--ink)}.stats-cell.gold:after{box-shadow:calc(3 * var(--px)) 0 var(--ink), calc(6 * var(--px)) 0 var(--ink)}.neovim-grid{grid-template-columns:3fr 2fr}.init-lua{margin:0 0 calc(6 * var(--px));font:inherit;font-size:var(--small);white-space:pre;background:var(--ink);color:#f4e4c1;padding:calc(4 * var(--px));line-height:1.25}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.landing{--col:232;height:100vh;overflow-y:auto}:root.px1 .landing{--col:300}.landing .end{position:fixed}.landing-hero{height:auto;min-height:100vh;padding:calc(28 * var(--px)) 0 calc(20 * var(--px));align-items:center;display:grid}.landing-island{margin-left:round(down, max(calc((16 + var(--col) / 2) * var(--px)), calc((280 + var(--col)) * var(--px) - 50vw)), var(--px))}.landing-main{z-index:4;margin-left:max(calc(16 * var(--px)), calc(50vw - (252 + var(--col) / 2) * var(--px)));width:calc(var(--col) * var(--px));max-width:calc(100vw - 32 * var(--px));color:var(--paper);text-shadow:var(--px) var(--px) 0 var(--ink);position:relative}.landing-facts{margin:0 0 calc(8 * var(--px));color:var(--cream)}button.link.landing-more{z-index:4;left:50%;bottom:calc(4 * var(--px));padding:calc(2 * var(--px)) calc(6 * var(--px));color:var(--cream);background:#1b1f2ecc;position:absolute;transform:translate(-50%)}.landing-about{padding:calc(16 * var(--px));background:var(--ink);justify-items:center;gap:calc(8 * var(--px));display:grid}.landing-about h2{font-size:var(--big);line-height:var(--big);margin:calc(8 * var(--px)) 0 0;color:var(--cream)}.landing-steps{grid-template-columns:repeat(auto-fit, minmax(calc(150 * var(--px)), 1fr));gap:calc(8 * var(--px));width:100%;max-width:calc(600 * var(--px));display:grid}.landing-steps h3{color:var(--wood);margin-bottom:calc(4 * var(--px))}.landing-steps p{margin:0}.landing-route{width:100%;max-width:calc(600 * var(--px));grid-template-columns:repeat(auto-fit, minmax(calc(240 * var(--px)), 1fr));gap:calc(6 * var(--px)) calc(16 * var(--px));margin:0;padding:0;list-style:none;display:grid}.landing-route li{grid-template-columns:calc(10 * var(--px)) auto 1fr;align-content:start;gap:0 calc(4 * var(--px));display:grid}.landing-route span,.landing-route b{color:var(--cream)}.landing-route small{opacity:.75}.landing-route p{grid-column:2/-1;margin:0}.landing-footer{margin-top:calc(8 * var(--px));text-align:center;color:var(--cream)}.landing-account{margin-top:calc(8 * var(--px))}.landing .map-tools{grid-auto-columns:auto}:root.px1 .map-tools{flex-wrap:wrap;justify-content:flex-end;display:flex;left:120px}.landing-main h1{font-size:calc(2.5 * var(--big));line-height:calc(2.5 * var(--big));color:var(--cream);text-shadow:calc(2 * var(--px)) calc(2 * var(--px)) 0 var(--ink);overflow:visible}.landing-pitch{margin:calc(4 * var(--px)) 0 calc(2 * var(--px))}.landing-layout{margin:calc(4 * var(--px)) 0 calc(10 * var(--px))}.landing-layout button.link{color:var(--cream);text-shadow:inherit}.landing-daily{text-shadow:none}.landing-daily h2{font-size:var(--big);line-height:var(--big);margin:0 0 calc(4 * var(--px));color:var(--wood)}.landing-daily .buttons{align-items:center}.landing-play{font-size:var(--big);line-height:var(--big);padding:calc(4 * var(--px)) calc(24 * var(--px))}button.link{color:var(--wood);text-underline-offset:calc(2 * var(--px));background:0 0;border:none;border-image:;padding:0;text-decoration:underline}.landing-boat{margin:calc(-12 * var(--px)) 0 0 calc(-12 * var(--px))}.landing-settings{text-align:left;width:calc(300 * var(--px));max-width:none}.landing-settings h3{margin-top:calc(6 * var(--px));color:var(--wood)}.landing-settings .segment{margin-bottom:0}.landing-kb{margin-top:calc(6 * var(--px));padding:calc(4 * var(--px));background:var(--ink)}.landing-kb .kb{height:auto}.landing-kb .kb-legend{display:none}.landing-kb .kb-key{color:var(--cream)}.landing-settings .segment+.segment{margin-top:calc(2 * var(--px))}.landing-footer a,.landing-footer button.link{color:var(--cream)}body.scene-doc{overflow:auto}.doc{max-width:calc(320 * var(--px));padding:calc(8 * var(--px));margin:0 auto}.doc article h1{white-space:normal;text-shadow:none;margin-bottom:calc(2 * var(--px))}.doc article h2{margin-top:calc(8 * var(--px));color:var(--wood)}.doc article p{margin:calc(3 * var(--px)) 0 0}.map-harvest{left:calc(100% + 4 * var(--px));align-items:center;gap:var(--px);color:var(--paper);text-shadow:var(--px) var(--px) 0 var(--ink);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.barn-row{align-items:center;gap:calc(2 * var(--px));margin:0;display:flex}.harvest{color:#3a7d2c}.board h2{margin:0 0 calc(2 * var(--px))}.board p{margin:0 0 calc(4 * var(--px))}.board ol{margin:0 0 calc(4 * var(--px));gap:calc(1 * var(--px));padding:0;list-style:none;display:grid}.board li{align-items:center;gap:calc(3 * var(--px));display:flex}.board li>span{width:calc(8 * var(--px));color:var(--wood)}.board li b{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:400;overflow:hidden}.board li small{flex:none}.board li img{width:calc(8 * var(--px));height:calc(8 * var(--px));image-rendering:auto}.board li.me b{color:var(--leaf)}.account{align-items:center;gap:calc(3 * var(--px));color:var(--cream);display:inline-flex}.account img{width:calc(10 * var(--px));height:calc(10 * var(--px))}.board h3{margin:calc(4 * var(--px)) 0 calc(2 * var(--px));color:var(--wood)}.board-today b{color:var(--leaf);font-weight:400}.say-note{color:var(--wood);flex-basis:100%}code{font:inherit;padding:0 var(--px);color:var(--wood);white-space:pre;background:#7a4a2a29}.field-zone .tok-string{color:var(--syn-string)}.field-zone .tok-number{color:var(--syn-number)}.field-zone .tok-definition{color:var(--syn-fn)}.field-zone .tok-comment{color:var(--syn-comment)}
