@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAVoAA8AAAAACegAAAUTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbDBwYBmAAbBEIColciA0LHgABNgIkAzgEIAWDZAc+DAcb9QdRlE5OmOBngm2rYa0IiBSU4SB6GXpb1ovxAEMb3kc8/X6ve+4LIEoWKsKQjE0KaAS5si8LV935qoC6jkBWl99PeNa/acrMsmIWkJM7J2fiwyD6/rZ3nySQEEJPI2+8mQgCjl/7/xfCPjhmumgbjyJtDTLAgZRI5C2Lsyg9Ej+AogCfIgpT4Glg/xqJD/gP3cxixar09EqCLkAR0S2CjsmOByOgCZ096O8EMaNtszM3NFMavYQr9Cp5x9dfFA/5c6zg2Tty8yAadUVizTiA6qa3QCC/ewmYw2NFVjA0W0NfnG8fGGCFUMwlNjUZzmSW9PlG/R/AyDGpxk28hPlctcMi84z8m/D+t4A8BCJ1LJF6PM8poA/kPvkJWDJ1K8BaUZaAFU7lYnST2ctUYrFxdcncWZ+9iCBZ7QpGtRZjgknaiROuAw9zmuW0fBVJAuYMq2n1OtKMXVFHky8Q0hrFz5fHL9r+nEPMnjt7HmivMC8x91xDA/1M/oAFOmT59tOnXR4D/SyfffGCednGaXbT8vxlrLJwBWKuYq7gZdFz7CSU+gIt6kE7uc+Qo2v37Ql5HkHKQsxRQtvGGz2XFwMdv411vIFQ6YqXmDMUlNIsQgwHBXRRFWtcw+hMzOajmR59mMsOuWmOF4yqrMx9tIxFTBfJL+Ii0RlIK4ImubT7MpIsjraaeanajTm7MtJOmW4rxrqXFRkT0If2oT0spW5rQzzafpjguAN9hiRinFZih+0AJ4zTkDbS8Uh95LjURmGlmKaOU1gqqpGTVk+skg4HuviVSNOtxkAukjRmgehpuFJzeK1lTT5P1BR1/PNEQdrPnuV+BTaWg//+kPhs+NC04dbkEaOaIOzcWmf+0GCvjO57t/beypjctoHZoyi8WpYUkmvITj8o+TTCOX91Xp24bnVevsQkk/AmUsZTIOZotreXUWEZNO7bn9qWsbLZpFW6JvXu9NXJzKKH42p+jchuqW1L6vNy1e9301q7tfmbr/QZMkUOD899Yd14NHBLo/SjF5cCSkjT2NHk135OQk4wT8IJPl3A+KVAmsC6w9Yzeb5ippX3NAv4svYkQsqFgb5lm1UzJZ7DRrsvW6fPCvnquOaJ3AZkUSKvIgyXf96PrZJ0kgSzaEuXOoX1hffmtOr/WYZ+xra+RIUo1WFKdehUQIrG3y5m3i9eznH2AwnYJE9dQSY4kM2VOdnutWqt4pcfeb+k1NlrCD2P3ZO5XLekNz+2uPpKb/XJ2t0NUfOkPccR0vHefWSNS4H/BGiupbdcml/BnXeommkZlIk13/I8D/sOQlw8z33xfpVl+C/GxBeA17vkDn3BYWv7dXrdRJsCQnVz7EH1QwnxcArxoPR47glkG2iQNwSZIChqhlyhaVP9a/045AZNdsyOfJGctxwg9NgmBAURbAFAm+MIaZIADY94zBhygFn0uMesbKlubVJlNpuQyGwxwB96jhQ4qR9Qu4XyKu1Tp1cLH/p5ZE990E5DFwpNaqksidKBtoMWVahBSjs1KNRwaI2gi380ig9P3rz5SjWgRqcMBWu/Q2sDMrNLKOq0U7MWT/ny5gPGn6tBkwHtavQaVcbp0m0kfWtTWctTnNVxceak0ulKzTpDe6uiNRqHjom7XY06zVt5qtVilAt3lKFEEM26JK19bwCDFNQf9sQgYUrmZO1Qm5ZiW0CGLZ6Hyvq4TZke5H+6xGcf+8Snzvruczt8Mu1G9R7wrwIAAA==)format("woff2"),url(data:font/woff;base64,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)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:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.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:#1c1c1c;--hub-bg:#2c2c2a;--gold:#fac775;--dojo-primary:#185fa5;--dojo-dark:#042c53;--dojo-light:#e6f1fb;--dojo-accent:#ef9f27;--camp-primary:#3b6d11;--camp-dark:#173404;--camp-light:#eaf3de;--camp-accent:#a3620f;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{color:#fff;background:var(--hub-bg);min-height:100%;margin:0}body[data-world=dojo]{background:var(--dojo-dark)}body[data-world=camp]{background:var(--camp-dark)}#app{max-width:560px;min-height:100dvh;margin:0 auto;padding:16px}.screen{flex-direction:column;gap:12px;display:flex}.display{letter-spacing:.5px;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;margin:4px 0;font-family:Lilita One,system-ui,sans-serif}h1.display{font-size:30px}h2.display{font-size:22px}.chunk{border:3px solid var(--ink);width:100%;min-height:48px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-bottom-width:7px;border-radius:14px;padding:12px 14px;font-size:17px;display:block}.chunk:active{border-bottom-width:4px;transform:translateY(3px)}.chunk.small{min-height:44px;font-size:15px}.chunk.big{text-align:center;color:#fff;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;font-family:Lilita One,system-ui,sans-serif;font-size:24px}.chunk .sub{-webkit-text-stroke:0;font-family:system-ui,sans-serif;font-size:14px;display:block}.dojo-btn{background:var(--dojo-primary)}.camp-btn{background:var(--camp-primary)}.accent-btn{background:var(--dojo-accent)}.camp-accent-btn{background:var(--camp-accent)}.chunk:disabled{opacity:.55;cursor:default}.selected{border-color:var(--gold);outline:4px solid var(--gold);outline-offset:2px}.pill{background:var(--ink);color:#fff;border-radius:20px;padding:4px 12px;font-family:Lilita One,system-ui,sans-serif;font-size:14px;display:inline-block}.dojo-pill{color:var(--dojo-light)}.camp-pill{color:var(--gold)}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.center{justify-content:center}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.card{color:var(--ink);border:3px solid var(--ink);background:#fff;border-radius:14px;padding:14px}.problem{text-align:center;color:var(--dojo-dark);margin:6px 0;font-family:Lilita One,system-ui,sans-serif;font-size:34px}.steps{margin:6px 0;padding-left:22px;font-size:18px;line-height:1.6}.muted{color:#d3d1c7;font-size:14px}.card .muted{color:#5f5e5a}.card .display{color:var(--ink);-webkit-text-stroke:0}.code-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.code-line .chunk{width:auto}.notice{color:var(--gold);text-align:center;font-size:14px}.banner{color:#173404;border:3px solid var(--ink);text-align:center;background:#eaf3de;border-radius:12px;padding:8px 12px;font-weight:700}.error{color:#f7c1c1;min-height:18px;font-size:15px}.flash{color:#9fe1cb;text-align:center;font-family:Lilita One,system-ui,sans-serif;font-size:20px}.hint{color:var(--gold);min-height:20px}label{flex-direction:column;gap:6px;font-size:15px;display:flex}label.choice{flex-direction:row;align-items:center}input:not([type=radio]):not([type=checkbox]),textarea{font:inherit;border:3px solid var(--ink);width:100%;color:var(--ink);border-radius:10px;padding:10px;font-size:18px}input[type=radio],input[type=checkbox]{flex:none;width:22px;height:22px}.obby{align-items:flex-end;gap:6px;height:80px;display:flex}.pad{background:var(--dojo-primary);border:2px solid var(--ink);flex:1}.pad.done{background:#97c459}.pad.here{outline:3px solid var(--gold)}.visual{width:100%;max-width:360px;margin:8px auto 0;display:block}.visual.array{width:auto;max-width:100%;height:auto}.visual text{fill:var(--ink);font-family:system-ui,sans-serif;font-size:13px}.qr{background:#fff;border-radius:12px;justify-content:center;width:min(92vw,640px);margin-left:50%;padding:12px;display:flex;transform:translate(-50%)}.qr img{width:100%;image-rendering:pixelated}.mono{word-break:break-all;font-family:ui-monospace,Consolas,monospace;font-size:18px}pre.export{white-space:pre-wrap;color:var(--ink);background:#fff;border-radius:10px;padding:12px;font-size:13px}.scan-video{background:#000;border-radius:12px;width:100%}button:focus-visible{outline-offset:2px;outline:3px solid #fff}input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
