@font-face{font-family:Architects Daughter;src:url(/fonts/ArchitectsDaughter.woff2)format("woff2");font-display:block}@font-face{font-family:Cabin Sketch;font-weight:700;src:url(/fonts/CabinSketch-Bold.woff2)format("woff2");font-display:block}:root{--s:min(1vh, 1vw * .6);--chalk:#f3f1e7;--dim:#f3f1e799;--faint:#f3f1e740;--yellow:#f6e27a;--red:#f0786a;--green:#9ee0a0;--blue:#8fc9ef;--board:#203a2c;--board-deep:#14261c;--font:"Architects Daughter", "Comic Sans MS", cursive;--head:"Cabin Sketch", "Architects Daughter", cursive;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (orientation:portrait){:root{--s:min(.6vh, 1vw)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--board-deep);height:100%;color:var(--chalk);font-family:var(--font);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}#app{position:fixed;inset:0}#app canvas{width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}[hidden]{display:none!important}.chalk-box{border:calc(.35 * var(--s)) solid #f3f1e7d9;border-radius:calc(1.6 * var(--s)) calc(1.1 * var(--s)) calc(1.8 * var(--s)) calc(1.2 * var(--s));box-shadow:0 0 0 calc(.12 * var(--s)) #f3f1e740, inset 0 0 calc(3 * var(--s)) #00000040;position:relative}.chalk-box:after{content:"";inset:calc(-.9 * var(--s));border:calc(.15 * var(--s)) solid #f3f1e740;border-radius:calc(2 * var(--s)) calc(1.4 * var(--s)) calc(2.2 * var(--s)) calc(1.5 * var(--s));pointer-events:none;position:absolute;transform:rotate(-.4deg)}.btn{justify-content:center;align-items:center;gap:calc(1 * var(--s));min-height:calc(9 * var(--s));padding:0 calc(3.4 * var(--s));font-size:calc(4.4 * var(--s));text-shadow:0 0 calc(1 * var(--s)) #00000059;transition:transform 80ms,background-color .15s;display:inline-flex}.btn.chalk-box{background:#f3f1e70a}.btn:hover{background-color:#f3f1e71a}.btn:active{transform:scale(.95)rotate(-.5deg)}.btn.primary{color:var(--yellow);border-color:var(--yellow);font-family:var(--head);font-size:calc(5.4 * var(--s))}.btn.small{min-height:calc(7 * var(--s));font-size:calc(3.6 * var(--s));padding:0 calc(2.2 * var(--s))}.btn.icon{width:calc(9 * var(--s));height:calc(9 * var(--s));font-size:calc(4.6 * var(--s));padding:0}.btn[disabled]{opacity:.35;pointer-events:none}.btn:focus-visible{outline:calc(.4 * var(--s)) dashed var(--yellow);outline-offset:calc(.8 * var(--s))}h1,h2,h3{font-family:var(--head);letter-spacing:.01em;margin:0;font-weight:700}.screen{padding:calc(var(--safe-t) + 3 * var(--s)) calc(var(--safe-r) + 4 * var(--s)) calc(var(--safe-b) + 3 * var(--s)) calc(var(--safe-l) + 4 * var(--s));flex-direction:column;justify-content:center;align-items:center;animation:.25s fade;display:flex;position:absolute;inset:0}.screen.pass,#ui>.screen.pass{pointer-events:none}.screen.pass>*{pointer-events:auto}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.9)rotate(-1deg)}}@keyframes draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.title{gap:calc(4 * var(--s))}.title .logo{width:min(78vw, calc(150 * var(--s)));filter:drop-shadow(0 calc(.6 * var(--s)) calc(1.5 * var(--s)) #00000059);animation:1.1s ease-out both draw}.title .menu{gap:calc(4 * var(--s));align-items:center;display:flex}.title .tag{color:var(--dim);font-size:calc(3.6 * var(--s));margin-top:calc(-2 * var(--s))}.corner{gap:calc(2 * var(--s));display:flex;position:absolute}.corner.tr{top:calc(var(--safe-t) + 3 * var(--s));right:calc(var(--safe-r) + 3 * var(--s))}.corner.tl{top:calc(var(--safe-t) + 3 * var(--s));left:calc(var(--safe-l) + 3 * var(--s))}.corner.bl{bottom:calc(var(--safe-b) + 3 * var(--s));left:calc(var(--safe-l) + 3 * var(--s))}.corner.br{bottom:calc(var(--safe-b) + 3 * var(--s));right:calc(var(--safe-r) + 3 * var(--s))}.worlds{gap:calc(3.5 * var(--s));max-width:100%;padding:calc(3 * var(--s));scroll-snap-type:x mandatory;touch-action:pan-x;display:flex;overflow-x:auto}.world{width:min(calc(52 * var(--s)), calc((100vw - 26 * var(--s)) / 4));min-height:calc(54 * var(--s));padding:calc(3.2 * var(--s));gap:calc(1.6 * var(--s));text-align:left;scroll-snap-align:center;flex-direction:column;flex:none;display:flex}.world h2{font-size:calc(6 * var(--s))}.world .num{color:var(--yellow);font-size:calc(3.4 * var(--s))}.world p{color:var(--dim);font-size:calc(3.3 * var(--s));flex:1;margin:0;line-height:1.3}.world .stars{font-size:calc(3.8 * var(--s));color:var(--yellow)}.world.locked{opacity:.5}.world.locked .stars{color:var(--dim)}.screen-head{align-items:center;gap:calc(3 * var(--s));width:100%;margin-bottom:calc(1 * var(--s));justify-content:center;display:flex}.screen-head h1{font-size:calc(8 * var(--s))}.levels{grid-template-columns:repeat(4, calc(30 * var(--s)));gap:calc(3 * var(--s));margin-top:calc(2 * var(--s));display:grid}.level-tile{height:calc(22 * var(--s));justify-content:center;align-items:center;gap:calc(.8 * var(--s));padding:calc(1.5 * var(--s));flex-direction:column;display:flex}.level-tile .n{font-family:var(--head);font-size:calc(6 * var(--s));line-height:1}.level-tile .name{font-size:calc(3 * var(--s));color:var(--dim);white-space:nowrap}.level-tile .st{font-size:calc(3.6 * var(--s));letter-spacing:.1em;color:var(--yellow)}.level-tile .st .off{color:var(--faint)}.level-tile.locked{opacity:.35;pointer-events:none}.level-tile.next{border-color:var(--yellow)}.hud,#ui>.hud{pointer-events:none;position:absolute;inset:0}.hud>*{pointer-events:auto}.hud>.toast,.hud>.status{pointer-events:none}.hud .top{top:calc(var(--safe-t) + 2.4 * var(--s));align-items:center;gap:calc(1.2 * var(--s));pointer-events:none;flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud .lvl{font-family:var(--head);font-size:calc(5 * var(--s));text-shadow:0 0 calc(1.5 * var(--s)) #00000080;white-space:nowrap}.goals{gap:calc(2.2 * var(--s));font-size:calc(3.2 * var(--s));white-space:nowrap;display:flex}.goal{align-items:center;gap:calc(.8 * var(--s));color:var(--dim);text-shadow:0 0 calc(1 * var(--s)) #0009;display:flex}.goal .star{font-size:calc(4 * var(--s));color:var(--faint);transition:color .3s,transform .3s}.goal.got .star{color:var(--yellow)}.goal.ok{color:var(--chalk)}.goal.fail{color:var(--red);text-decoration:line-through}.tray{left:calc(var(--safe-l) + 2.5 * var(--s));bottom:calc(var(--safe-b) + 2.5 * var(--s));gap:calc(2 * var(--s));display:flex;position:absolute}.tray-item{width:calc(15 * var(--s));height:calc(15 * var(--s));touch-action:none;justify-content:center;align-items:center;display:flex;position:relative}.tray-item img{pointer-events:none;width:82%;height:82%}.tray-item .count{right:calc(.6 * var(--s));bottom:calc(-.4 * var(--s));font-family:var(--head);font-size:calc(4.4 * var(--s));text-shadow:0 0 calc(1 * var(--s)) #000;position:absolute}.tray-item.sel{border-color:var(--yellow);background:#f6e27a14}.tray-item.empty{opacity:.3}.tray-label{left:0;bottom:calc(100% + 1.6 * var(--s));white-space:nowrap;font-size:calc(3.2 * var(--s));color:var(--dim);pointer-events:none;text-shadow:0 0 calc(1 * var(--s)) #000;position:absolute}.boom{right:calc(var(--safe-r) + 1.5 * var(--s));bottom:calc(var(--safe-b) + 1 * var(--s));width:calc(28 * var(--s));height:calc(28 * var(--s));position:absolute}.boom img{pointer-events:none;width:100%;height:100%;transition:transform .1s}.boom:active img{transform:translateY(calc(1 * var(--s)))}.boom.ready img{filter:drop-shadow(0 0 calc(2 * var(--s)) #f6e27a8c);animation:1.6s ease-in-out infinite nudge}@keyframes nudge{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-3deg)}90%{transform:rotate(3deg)}95%{transform:rotate(-2deg)}}.hud .tl{top:calc(var(--safe-t) + 2.4 * var(--s));left:calc(var(--safe-l) + 2.4 * var(--s));gap:calc(1.8 * var(--s));display:flex;position:absolute}.hud .tr{top:calc(var(--safe-t) + 2.4 * var(--s));right:calc(var(--safe-r) + 2.4 * var(--s));gap:calc(1.8 * var(--s));display:flex;position:absolute}.status{left:50%;bottom:calc(var(--safe-b) + 4 * var(--s));font-size:calc(4 * var(--s));text-shadow:0 0 calc(1.2 * var(--s)) #000;white-space:nowrap;pointer-events:none;position:absolute;transform:translate(-50%)}.status .warn{color:var(--red)}.toast{text-align:center;max-width:80vw;font-size:calc(4.2 * var(--s));text-shadow:0 0 calc(1.5 * var(--s)) #000, 0 0 calc(4 * var(--s)) #0009;pointer-events:none;line-height:1.3;animation:.25s pop;position:absolute;top:24%;left:50%;transform:translate(-50%)}.pop{transform:translate(-50%, calc(-100% - 4 * var(--s)));padding:calc(1.6 * var(--s)) calc(2 * var(--s));gap:calc(1.2 * var(--s));background:#14261ceb;flex-direction:column;align-items:center;animation:.15s pop;display:flex;position:absolute}.pop .row{gap:calc(1 * var(--s));align-items:center;display:flex}.pop .lbl{font-size:calc(3 * var(--s));color:var(--dim)}.chip{min-width:calc(8 * var(--s));height:calc(7 * var(--s));padding:0 calc(1.2 * var(--s));border-radius:calc(3.5 * var(--s));border:calc(.25 * var(--s)) solid var(--faint);font-size:calc(3.4 * var(--s))}.chip.on{border-color:var(--yellow);color:var(--yellow)}.modal{background:#08120c8c;justify-content:center;align-items:center;animation:.2s fade;display:flex;position:absolute;inset:0}.card{min-width:calc(80 * var(--s));max-width:92vw;max-height:92vh;padding:calc(4 * var(--s)) calc(5 * var(--s));align-items:center;gap:calc(2.2 * var(--s));background:#182c20f7;flex-direction:column;animation:.22s cubic-bezier(.2,1.4,.5,1) pop;display:flex;overflow:auto}.card h2{font-size:calc(7.4 * var(--s))}.card p{font-size:calc(3.8 * var(--s));text-align:center;color:var(--dim);max-width:calc(110 * var(--s));margin:0;line-height:1.35}.card .btns{gap:calc(2.4 * var(--s));margin-top:calc(1 * var(--s));flex-wrap:wrap;justify-content:center;display:flex}.stars-big{gap:calc(3 * var(--s));font-size:calc(13 * var(--s));line-height:1;display:flex}.stars-big span{color:var(--faint);opacity:.4;transition:none;transform:scale(.6)}.stars-big span.on{color:var(--yellow);opacity:1;text-shadow:0 0 calc(3 * var(--s)) #f6e27a80;animation:.45s cubic-bezier(.2,1.8,.4,1) both star;transform:none}@keyframes star{0%{opacity:0;transform:scale(2.2)rotate(-25deg)}}.goal-list{gap:calc(.8 * var(--s)) calc(2 * var(--s));font-size:calc(3.8 * var(--s));grid-template-columns:auto 1fr;display:grid}.goal-list .y{color:var(--yellow)}.goal-list .n{color:var(--faint)}.score-line{font-family:var(--head);font-size:calc(6 * var(--s));color:var(--chalk)}.breakdown{font-size:calc(3.2 * var(--s));color:var(--dim);gap:0 calc(4 * var(--s));min-width:calc(60 * var(--s));grid-template-columns:1fr auto;display:grid}.breakdown b{color:var(--chalk);text-align:right;font-weight:400}.settings{gap:calc(2.2 * var(--s)) calc(4 * var(--s));font-size:calc(4 * var(--s));grid-template-columns:auto auto;align-items:center;display:grid}.settings input[type=range]{width:calc(40 * var(--s));accent-color:var(--yellow)}.toggle{gap:calc(1 * var(--s));display:flex}#rotate{z-index:10;text-align:center;background:var(--board-deep);place-items:center;font-size:20px;display:none;position:fixed;inset:0}#rotate .phone{border:3px solid var(--chalk);border-radius:10px;width:56px;height:92px;margin:0 auto 18px;animation:2.4s ease-in-out infinite tilt}@keyframes tilt{0%,35%{transform:rotate(0)}65%,to{transform:rotate(-90deg)}}@media (orientation:portrait) and (pointer:coarse) and (max-width:700px){#rotate{display:grid}}.loading{background:var(--board-deep);z-index:20;place-items:center;font-size:22px;transition:opacity .4s;display:grid;position:fixed;inset:0}
