:root{--ink:#2a1636;--ink-soft:#4b2a55;--cream:#fff3d6;--paper:#fdf6e1;--wood:#a0562a;--wood-dark:#6b3415;--wood-light:#d08a4a;--orange:#ff9a1f;--orange-dark:#e3641a;--yellow:#ffd23f;--red:#e8382b;--green:#5ec24a;--sky:#9ed9ff;--font-display:"Luckiest Guy", "Fredoka", "Arial Black", Impact, sans-serif;--font-body:"Fredoka", "Segoe UI", system-ui, sans-serif;--font-hand:"Patrick Hand", "Segoe Print", "Comic Sans MS", cursive;--ease-back:cubic-bezier(.34, 1.56, .64, 1);--ease-elastic:cubic-bezier(.2, 1.9, .4, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html,body{width:100%;height:100%;font-family:var(--font-body);background:#0d1a26;margin:0;padding:0;overflow:hidden}#app{width:100%;height:100%;position:relative}#game{width:100%;height:100%;display:block}#hud,#overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}#hud{z-index:10}#overlay{z-index:20}#overlay>*{pointer-events:auto}#fatal{z-index:30;color:#fff;background:#300;justify-content:center;align-items:center;padding:40px;font-size:20px;display:flex;position:absolute;inset:0}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}button{font:inherit}.display{font-family:var(--font-display);letter-spacing:.02em;font-weight:400}.ink-outline,.banner-title,.banner-eyebrow,.title-sub,.victory-title,.victory-eyebrow,.basted-label,.stamp,.logo-text{-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:0 .09em 0 var(--ink), 0 .2em .35em #00000059}.shadow-text{text-shadow:0 1px #0009,0 0 6px #0009,0 2px 4px #00000080}.keycap{min-width:2.1em;height:2.1em;font-family:var(--font-body);color:var(--ink);border:.14em solid var(--ink);box-shadow:0 .28em 0 var(--ink), inset 0 -.25em 0 #00000014;text-transform:uppercase;letter-spacing:.02em;background:linear-gradient(#fff,#e9e2cf);border-radius:.5em;justify-content:center;align-items:center;padding:0 .55em;font-size:.95em;font-weight:700;line-height:1;display:inline-flex}.vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#ffbe5a00 40%,#3c143280 100%),linear-gradient(#280f2d1f 30%,#1408199e);position:absolute;inset:0}.screen{color:var(--cream);background:#2a1636 50%/cover no-repeat;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.screen.leaving{pointer-events:none;animation:.85s cubic-bezier(.7,0,.3,1) forwards wipe-out}@keyframes wipe-out{0%{clip-path:circle(150%)}to{clip-path:circle(0%)}}.btn{cursor:pointer;border:.18em solid var(--ink);font-family:var(--font-display);letter-spacing:.05em;color:var(--cream);box-shadow:0 .32em 0 var(--ink), 0 .9em 1.4em #00000059, inset 0 .18em 0 #ffffff73;-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;text-shadow:0 .08em 0 var(--ink);transition:transform .12s var(--ease-back), box-shadow .12s;background:linear-gradient(#ffb340,#ff8a1f 55%,#e3641a);border-radius:1em;padding:.45em 1.6em .4em;font-size:clamp(22px,2.4vw,34px);position:relative}.btn:hover{box-shadow:0 .45em 0 var(--ink), 0 1.1em 1.6em #0006, inset 0 .18em 0 #ffffff73;transform:translateY(-.12em)scale(1.04)}.btn:active{box-shadow:0 .1em 0 var(--ink), 0 .4em .8em #00000059;transform:translateY(.18em)scale(.98)}.logo-text{font-family:var(--font-display);text-align:center;color:var(--orange);background:linear-gradient(#ffd27a,#ff8a1f 60%,#c8521a);-webkit-background-clip:text;background-clip:text;font-size:clamp(42px,7vw,110px);line-height:.95}.loading-screen{background:radial-gradient(at 50% 40%,#4a2a52 0%,#2a1636 60%,#180b22 100%);flex-direction:column}.loading-screen:after{content:"";background-image:var(--noise);opacity:.6;pointer-events:none;position:absolute;inset:0}.loading-screen.leaving{animation:.6s forwards fade-out}@keyframes fade-out{to{opacity:0}}.loading-box{z-index:1;flex-direction:column;align-items:center;gap:18px;width:min(560px,86vw);display:flex;position:relative}.loading-logo img{filter:drop-shadow(0 10px #00000059);width:min(420px,70vw);animation:3s ease-in-out infinite float}.loading-logo .logo-text{animation:3s ease-in-out infinite float}.loading-bar{border:4px solid var(--ink);width:100%;height:34px;box-shadow:0 6px 0 var(--ink), inset 0 3px 8px #0009;background:#1a0d22;border-radius:20px;position:relative;overflow:hidden}.loading-fill{transform-origin:0;background:repeating-linear-gradient(-45deg,#ffb340 0 18px,#ff8a1f 18px 36px) 0 0/200% 100%;animation:1s linear infinite stripes;position:absolute;inset:0;transform:scaleX(0);box-shadow:inset 0 4px #fff6}@keyframes stripes{to{background-position:51px 0}}.loading-pct{color:var(--cream);text-shadow:0 1px 0 var(--ink), 0 0 6px #0009;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.loading-label{letter-spacing:.04em;color:#ffd27a;font-size:18px;font-weight:600}.loading-tip{font-family:var(--font-hand);color:#fff3d6d9;text-align:center;min-height:1.4em;font-size:22px;transition:opacity .22s,transform .22s}.loading-tip.swap{opacity:0;transform:translateY(6px)}.loading-feathers{pointer-events:none;position:absolute;inset:0;overflow:hidden}.loading-feathers .lf{top:-40px;left:calc(8% + var(--i) * 13%);opacity:.5;width:14px;height:34px;animation:7s linear infinite feather-fall;animation-delay:calc(var(--i) * -1.1s);background:linear-gradient(#f7e2c0,#b9875c);border-radius:50%/70% 70% 30% 30%;position:absolute}@keyframes feather-fall{0%{transform:translateY(0)rotate(0)translate(0)}50%{transform:translateY(55vh)rotate(180deg)translate(40px)}to{transform:translateY(110vh)rotate(360deg)translate(-30px)}}@keyframes float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}.title-screen{cursor:pointer;flex-direction:column}.title-screen.no-art{background:radial-gradient(at 50% 30%,#ffb34a 0%,#d9712a 45%,#4a2a52 100%)}.title-rays{pointer-events:none;opacity:.28;mix-blend-mode:screen;background:repeating-conic-gradient(#ffe19600 0deg 9deg,#ffe1968c 11deg 15deg,#ffe19600 17deg 24deg);width:240vmax;height:240vmax;animation:60s linear infinite rays;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(circle,#000 0%,#0000 55%);mask:radial-gradient(circle,#000 0%,#0000 55%)}@keyframes rays{to{transform:translate(-50%,-50%)rotate(360deg)}}.title-content{z-index:2;flex-direction:column;align-items:center;gap:clamp(10px,1.6vh,22px);margin-top:-14vh;display:flex;position:relative}.title-logo{animation:logo-in 1s var(--ease-back) both}.title-logo img{filter:drop-shadow(0 14px #2a16368c)drop-shadow(0 30px 40px #00000073);width:clamp(340px,48vw,780px);animation:4s ease-in-out infinite float;display:block}@keyframes logo-in{0%{opacity:0;transform:scale(.2)rotate(-14deg)}60%{opacity:1}to{opacity:1;transform:scale(1)rotate(0)}}.title-sub{font-family:var(--font-display);letter-spacing:.06em;color:var(--cream);animation:slide-up .7s .45s var(--ease-back) both;font-size:clamp(22px,3.2vw,46px)}.title-act{color:var(--yellow)}.title-sep{margin:0 .25em 0 0}.title-cta{cursor:pointer;color:#fff;font-family:var(--font-display);letter-spacing:.06em;text-shadow:0 2px 0 var(--ink), 0 0 18px #ffaa3ccc;-webkit-text-stroke:.06em var(--ink);paint-order:stroke fill;animation:slide-up .7s .7s var(--ease-back) both, cta-pulse 1.4s 1.4s ease-in-out infinite;background:0 0;border:0;border-radius:2em;align-items:center;gap:.5em;padding:.35em 1.2em;font-size:clamp(22px,2.6vw,38px);display:inline-flex}.title-cta:hover{color:var(--yellow)}.title-cta.pressed{transform:scale(.92)}.cta-dot{background:var(--yellow);width:.5em;height:.5em;box-shadow:0 0 10px var(--yellow);border-radius:50%;animation:1.4s ease-in-out infinite blink}@keyframes cta-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.title-controls{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:fit-content;max-width:92vw;animation:slide-up .7s .95s var(--ease-back) both;background:#2a1636b8;border:3px solid #fff3d640;border-radius:18px;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin:0 auto;padding:12px 22px;font-size:clamp(12px,1.1vw,16px);display:flex;position:absolute;bottom:clamp(44px,7vh,80px);left:0;right:0}.ctrl{color:var(--cream);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:.55em;font-weight:600;display:flex}.ctrl .keycap{font-size:.9em}.title-foot{z-index:2;text-align:center;font-family:var(--font-hand);color:#fff3d6b3;animation:slide-up .7s 1.1s var(--ease-back) both;font-size:18px;position:absolute;bottom:14px;left:0;right:0}.title-feathers{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.title-feathers .tf{opacity:.85;width:clamp(26px,3vw,46px);animation:11s linear infinite feather-fall;animation-delay:calc(var(--i) * -1.9s);filter:drop-shadow(0 6px 6px #0000004d);position:absolute;top:-12%}#hud>*{transition:opacity .5s ease, transform .5s var(--ease-back)}#hud:not(.hud-visible)>*{opacity:0!important}#hud>.banners,#hud>.markers,#hud>.flash{transition:none}#hud.hud-hit{animation:.5s hud-hit}#hud.hud-alert .basted{animation:.6s shake}@keyframes hud-hit{0%,to{transform:translate(0)}20%{transform:translate(-8px,6px)}40%{transform:translate(7px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-2px)}}@keyframes shake{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-6px,2px)rotate(-3deg)}30%{transform:translate(6px,-2px)rotate(3deg)}45%{transform:translate(-5px,1px)rotate(-2deg)}60%{transform:translate(5px,-1px)rotate(2deg)}75%{transform:translate(-2px)rotate(-1deg)}}@keyframes wiggle{0%,to{transform:rotate(-1.5deg)}25%{transform:rotate(1.5deg)translateY(-4px)}50%{transform:rotate(-2.5deg)}75%{transform:rotate(1deg)translateY(-2px)}}.clipboard{--cb-w:clamp(230px, 21vw, 330px);--cb-h:calc(var(--cb-w) * 1.3545);--line:calc(var(--cb-w) * .0528);width:var(--cb-w);height:var(--cb-h);font-size:calc(var(--cb-w) / 330 * 16px);filter:drop-shadow(0 10px 10px #00000059);transform-origin:50% 12%;background:50%/100% 100% no-repeat;position:absolute;top:clamp(6px,1vh,16px);left:clamp(10px,1.6vw,26px);transform:rotate(-1.5deg)}#hud.hud-visible .clipboard{transform:rotate(-1.5deg)}.clipboard.wiggle{animation:wiggle .7s var(--ease-back)}.clipboard.no-art{background:linear-gradient(135deg, var(--wood-light), var(--wood) 40%, var(--wood-dark));border:.3em solid var(--wood-dark);border-radius:1.2em}.clipboard.no-art:before{content:"";border:.22em solid var(--ink);background:linear-gradient(#d9dde3,#8d939c);border-radius:.6em .6em .9em .9em;height:2.4em;position:absolute;top:-.6em;left:32%;right:32%}.clipboard.no-art .cb-paper{background:var(--paper) repeating-linear-gradient(transparent 0 calc(var(--line) * 2 - 1px), #5a8cc859 calc(var(--line) * 2 - 1px) calc(var(--line) * 2));border-radius:.2em;padding:0 .5em;inset:15% 9% 7%;box-shadow:0 2px 6px #0000004d}.cb-paper{color:#2b2340;font-family:var(--font-hand);flex-direction:column;display:flex;position:absolute;inset:24.6% 12% 10% 13%}.cb-paper.cb-enter{animation:paper-in .55s var(--ease-back)}@keyframes paper-in{0%{opacity:0;transform:translateY(-12px)scale(.96)}to{opacity:1;transform:none}}.cb-head{height:calc(var(--line) * 2);white-space:nowrap;font-family:var(--font-display);letter-spacing:.02em;color:var(--wood-dark);text-shadow:0 1px #ffffffb3;flex:none;align-items:center;font-size:1.12em;display:flex;overflow:hidden}.cb-mission{height:calc(var(--line) * 2);border-bottom:.12em solid var(--red);margin-bottom:calc(var(--line) * .15);align-items:baseline;gap:.45em;display:flex}.cb-mission-no{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--red);white-space:nowrap;flex:none;font-size:.66em;font-weight:700}.cb-mission-title{font-family:var(--font-body);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.98em;font-weight:700;overflow:hidden}.cb-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cb-item{min-height:calc(var(--line) * 2);animation:item-in .45s var(--ease-back) both;animation-delay:calc(var(--i) * 80ms + .1s);align-items:center;gap:.5em;padding:.1em 0;font-size:1.22em;line-height:1.05;display:flex;position:relative}@keyframes item-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}.cb-box{border:.13em solid var(--ink);background:#ffffff80;border-radius:.3em .25em .35em .2em;flex:none;width:1.15em;height:1.15em;position:relative;transform:rotate(-2deg)}.cb-check{fill:none;width:1.5em;height:1.5em;stroke:var(--red);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48px;opacity:0;position:absolute;top:-.35em;left:-.2em}.cb-item.done .cb-check{opacity:1;stroke-dashoffset:0}.cb-item.just-done .cb-check{animation:check-draw .45s 50ms var(--ease-out) both}.cb-item.just-done .cb-box{animation:box-pop .6s var(--ease-elastic)}@keyframes check-draw{0%{stroke-dashoffset:48px;opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes box-pop{0%{transform:rotate(-2deg)scale(1)}40%{transform:rotate(6deg)scale(1.45)}to{transform:rotate(-2deg)scale(1)}}.cb-text{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(var(--red), var(--red)) no-repeat 0 56% / 0% .14em;transition:background-size .45s .22s var(--ease-out), color .3s;padding:0 .1em;display:inline}.cb-item.done .cb-text{color:#2b23408c;background-size:100% .14em}.cb-next{font-family:var(--font-body);color:#2b234080;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:auto;font-size:.8em;font-style:italic;font-weight:600;overflow:hidden}.cb-stamp{font-family:var(--font-display);color:var(--red);border:.14em solid var(--red);opacity:0;pointer-events:none;mix-blend-mode:multiply;letter-spacing:.04em;border-radius:.25em;padding:.1em .4em;font-size:2.3em;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)rotate(-18deg)scale(3)}.cb-stamp.show{animation:stamp-in .5s var(--ease-out) both}@keyframes stamp-in{0%{opacity:0;transform:translate(-50%,-50%)rotate(-10deg)scale(3)}60%{opacity:.95;transform:translate(-50%,-50%)rotate(-18deg)scale(.92)}to{opacity:.9;transform:translate(-50%,-50%)rotate(-16deg)scale(1)}}.basted{flex-direction:column;align-items:flex-end;gap:6px;font-size:clamp(12px,1.05vw,16px);display:flex;position:absolute;top:clamp(10px,1.6vh,22px);right:clamp(12px,1.8vw,30px)}.basted.shake{animation:.6s shake}.basted-label{font-family:var(--font-display);letter-spacing:.08em;color:var(--cream);font-size:2.1em;line-height:1;transition:color .3s}.basted.alert .basted-label{color:#ffb340}.basted.hot .basted-label{color:#ff5a3c;animation:.8s ease-in-out infinite label-throb}.basted-label.pulse{animation:label-pulse .5s var(--ease-elastic)}@keyframes label-pulse{0%{transform:scale(1)}40%{transform:scale(1.3)rotate(-3deg)}to{transform:scale(1)}}@keyframes label-throb{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.basted-icons{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2a16368c;border:.18em solid #fff3d640;border-radius:1.2em;gap:.25em;padding:.35em .55em;display:flex}.baster{filter:grayscale()brightness(.55);opacity:.5;justify-content:center;align-items:center;width:2.9em;height:3.1em;transition:filter .25s,transform .25s;display:flex}.baster img{object-fit:contain;width:100%;height:100%;display:block}.baster.no-art{background-color:#0000;background-image:radial-gradient(circle at 50% 30%,#ff6b6b 0 28%,#0000 30%),linear-gradient(#0000 40%,#cfe6ff 40% 90%,#0000 90%);background-position:50%;background-repeat:no-repeat;background-size:100% 100%,30% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:50%}.baster.lit{filter:grayscale(0)brightness(1.15)drop-shadow(0 0 .35em #ff6a00)drop-shadow(0 .15em .1em #0006);opacity:1}.basted.hot .baster.lit{animation:.5s ease-in-out infinite alternate baster-throb;animation-delay:calc(var(--i) * 70ms)}.baster.pop{animation:baster-pop .6s var(--ease-elastic)}@keyframes baster-pop{0%{transform:scale(1)rotate(0)}35%{transform:scale(1.6)rotate(-18deg)}to{transform:scale(1)rotate(0)}}@keyframes baster-throb{0%{transform:scale(1)rotate(-2deg)}to{transform:scale(1.1)rotate(3deg)}}.basted.calm{animation:.5s calm}@keyframes calm{0%{transform:scale(1.04)}to{transform:scale(1)}}.stamina{border:.16em solid var(--ink);opacity:0;width:11em;height:1.05em;transition:opacity .3s, transform .3s var(--ease-back);background:#140819bf;border-radius:1em;position:relative;overflow:hidden;transform:translateY(-8px)scaleX(.9);box-shadow:0 .18em #0006}.stamina.show{opacity:1;transform:none}.stamina-fill{transform-origin:0;background:linear-gradient(#9cff6e,#4cc23a);transition:background .3s;position:absolute;inset:0;box-shadow:inset 0 .18em #ffffff59}.stamina.low .stamina-fill{background:linear-gradient(#ff8a6a,#e8382b);animation:.5s ease-in-out infinite blink}.stamina-label{letter-spacing:.14em;color:var(--cream);text-shadow:0 1px #0009;justify-content:center;align-items:center;font-size:.6em;font-weight:700;display:flex;position:absolute;inset:0}.disguise-chip{color:var(--ink);border:.16em solid var(--ink);box-shadow:0 .2em 0 var(--ink);opacity:0;transition:transform .35s var(--ease-back), opacity .25s;background:linear-gradient(#fff7e2,#ffd98a);border-radius:2em;align-items:center;gap:.4em;padding:.3em .8em;font-size:1.05em;font-weight:700;display:inline-flex;transform:scale(0)}.disguise-chip.show{opacity:1;transform:scale(1)}.prompt{color:var(--cream);letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:transform .28s var(--ease-back), opacity .22s;white-space:nowrap;background:#2a1636c7;border:.18em solid #fff3d659;border-radius:1.4em;align-items:center;gap:.7em;padding:.45em 1.1em .45em .6em;font-size:clamp(15px,1.35vw,21px);font-weight:700;display:inline-flex;position:absolute;bottom:clamp(26px,6vh,64px);left:50%;transform:translate(-50%,24px)scale(.92);box-shadow:0 .4em 1.2em #00000059}.prompt.show{opacity:1;transform:translate(-50%)scale(1)}.prompt.show.bump{animation:prompt-bump .4s var(--ease-elastic)}@keyframes prompt-bump{0%{transform:translate(-50%)scale(.85)}to{transform:translate(-50%)scale(1)}}.prompt .keycap{font-size:1.05em;animation:1.6s ease-in-out infinite key-tap}@keyframes key-tap{0%,to{box-shadow:0 .28em 0 var(--ink), inset 0 -.25em 0 #00000014;transform:translateY(0)}50%{box-shadow:0 .14em 0 var(--ink), inset 0 -.25em 0 #00000014;transform:translateY(.14em)}}.prompt-label{text-shadow:0 1px #00000080}.toasts{flex-direction:column-reverse;gap:8px;max-width:min(420px,60vw);display:flex;position:absolute;bottom:clamp(18px,3vh,40px);left:clamp(12px,1.6vw,26px)}.toast{color:var(--cream);animation:toast-in .45s var(--ease-back) both;text-shadow:0 1px #00000080;background:#2a1636d9;border:.16em solid #fff3d64d;border-left-width:.5em;border-radius:.8em;padding:.5em .95em;font-size:clamp(13px,1.15vw,17px);font-weight:600;box-shadow:0 .3em .8em #00000059}.toast-success{border-left-color:var(--green)}.toast-danger{border-left-color:var(--red);background:#5a141ee6}.toast-info{border-left-color:var(--orange)}.toast.out{animation:.4s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(-120%)rotate(-3deg)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate(-30px)scale(.9)}}.flash{pointer-events:none;mix-blend-mode:screen;background:#fff;position:absolute;inset:0}.banners{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.banner{text-align:center;animation:banner-in .6s var(--ease-back) both;flex-direction:column;align-items:center;gap:.1em;display:flex;position:absolute;top:24%}.banner.out{animation:.5s ease-in forwards banner-out}.banner-eyebrow{font-family:var(--font-display);letter-spacing:.25em;color:var(--yellow);font-size:clamp(16px,1.8vw,26px)}.banner-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--cream);padding:0 .3em;font-size:clamp(34px,5.2vw,78px);line-height:1}.banner-bar{background:linear-gradient(90deg, var(--orange), var(--yellow));border:3px solid var(--ink);width:0;height:.35em;animation:bar-grow .6s .25s var(--ease-out) forwards;border-radius:1em;margin-top:.4em}.banner-start .banner-title{transform:rotate(-2deg)}.banner-complete .banner-eyebrow{color:#9cff6e}.banner-complete .banner-title{color:var(--yellow)}.banner-act .banner-title{color:var(--orange);font-size:clamp(40px,6.5vw,96px)}@keyframes banner-in{0%{opacity:0;transform:scale(2.6)rotate(-6deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes banner-out{to{opacity:0;transform:scale(.7)translateY(-30px)}}@keyframes bar-grow{to{width:12em}}.stamp{font-family:var(--font-display);color:var(--red);letter-spacing:.06em;border:.09em solid var(--red);box-shadow:0 0 0 .04em var(--cream), inset 0 0 0 .04em var(--cream);animation:stamp-slam .5s var(--ease-out) both;-webkit-text-stroke:.05em var(--ink);background:#2a163659;border-radius:.18em;padding:.05em .3em;font-size:clamp(54px,8.5vw,128px);position:absolute;transform:rotate(-14deg)}.stamp.out{animation:.4s ease-in forwards stamp-out}@keyframes stamp-slam{0%{opacity:0;transform:rotate(-4deg)scale(3.2)}55%{opacity:1;transform:rotate(-15deg)scale(.9)}70%{transform:rotate(-13deg)scale(1.08)}to{opacity:1;transform:rotate(-14deg)scale(1)}}@keyframes stamp-out{to{opacity:0;transform:rotate(-14deg)scale(1.4)}}.markers{pointer-events:none;position:absolute;inset:0}.markers.markers-off{display:none}.marker{will-change:transform;width:0;height:0;transition:opacity .25s;position:absolute;top:0;left:0}.marker-diamond{width:32px;height:32px;animation:1s ease-in-out infinite marker-bounce;position:absolute;top:-46px;left:-16px}.marker-diamond:before{content:"";border:4px solid var(--ink);box-shadow:0 0 14px #ffaa28cc, 0 4px 0 var(--ink);background:linear-gradient(135deg,#ffd23f,#ff8a1f);border-radius:6px;position:absolute;inset:0;transform:rotate(45deg)}.marker-dot{background:var(--cream);border:2px solid var(--ink);border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;position:absolute;top:50%;left:50%}@keyframes marker-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-12px)scale(1.08)}}.marker-label{white-space:nowrap;color:var(--cream);text-shadow:0 1px 0 var(--ink), 0 0 6px #000000b3, -1px 0 0 var(--ink), 1px 0 0 var(--ink), 0 -1px 0 var(--ink);text-overflow:ellipsis;max-width:200px;font-size:14px;font-weight:700;position:absolute;top:4px;left:50%;overflow:hidden;transform:translate(-50%)}.marker-dist{color:var(--yellow);text-shadow:0 1px 0 var(--ink), 0 0 6px #000000b3;white-space:nowrap;font-size:13px;font-weight:700;position:absolute;top:22px;left:50%;transform:translate(-50%)}.marker-arrow{width:48px;height:48px;animation:.8s ease-in-out infinite arrow-pulse;display:none;position:absolute;top:-24px;left:-24px}.marker-arrow svg{width:100%;height:100%;fill:var(--orange);stroke:var(--ink);stroke-width:3px;stroke-linejoin:round;filter:drop-shadow(0 2px 0 var(--ink)) drop-shadow(0 0 8px #ffa028cc)}@keyframes arrow-pulse{0%,to{scale:1}50%{scale:1.18}}.marker.offscreen .marker-arrow{display:block}.marker.offscreen .marker-diamond,.marker.offscreen .marker-label{display:none}.marker.offscreen .marker-dist{top:28px}.victory-screen{flex-direction:column}.victory-screen.no-art{background:radial-gradient(at 50% 30%,#ffd27a 0%,#d9712a 45%,#2a1636 100%)}.victory-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:clamp(8px,1.6vh,18px);padding:0 20px;display:flex;position:relative}.victory-eyebrow{font-family:var(--font-display);letter-spacing:.3em;color:var(--yellow);animation:banner-in .7s .1s var(--ease-back) both;font-size:clamp(20px,2.4vw,34px)}.victory-title{font-family:var(--font-display);letter-spacing:.03em;color:var(--yellow);animation:banner-in .8s .35s var(--ease-back) both;margin:0;font-size:clamp(44px,7.5vw,120px);line-height:1;transform:rotate(-2deg)}.victory-stats{gap:clamp(10px,1.6vw,24px);margin-top:1vh;display:flex}.stat{border:4px solid var(--orange);min-width:clamp(120px,14vw,200px);box-shadow:0 8px 0 var(--ink), 0 16px 30px #0006;animation:stat-in .6s var(--ease-back) both;animation-delay:calc(.8s + var(--i) * .3s);background:#2a1636c7;border-radius:20px;flex-direction:column;align-items:center;gap:2px;padding:14px 18px 12px;display:flex}@keyframes stat-in{0%{opacity:0;transform:translateY(40px)scale(.6)}to{opacity:1;transform:none}}.stat-icon{font-size:clamp(22px,2.4vw,34px)}.stat-value{font-family:var(--font-display);color:var(--yellow);text-shadow:0 .08em 0 var(--ink);font-size:clamp(34px,4vw,58px);line-height:1}.stat-value.pop{animation:box-pop .5s var(--ease-elastic)}.stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--cream);font-size:clamp(12px,1.1vw,16px);font-weight:700}.victory-hint{max-width:620px;font-family:var(--font-hand);color:#fff3d6e6;text-shadow:0 1px #0009;animation:slide-up .7s 1.9s var(--ease-back) both;font-size:clamp(16px,1.6vw,24px)}.btn-replay{animation:slide-up .7s 2.2s var(--ease-back) both;margin-top:1vh}.confetti{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.cf{background:var(--c);opacity:.95;width:12px;height:20px;transform:rotate(var(--r));animation:cf-fall var(--d) linear var(--delay) infinite;border-radius:2px;position:absolute;top:-6vh;box-shadow:0 2px #0003}.cf.round{border-radius:50%;width:11px;height:11px}@keyframes cf-fall{0%{transform:translate3d(0, 0, 0) rotate(var(--r))}25%{transform:translate3d(calc(18px * var(--sw)), 28vh, 0) rotate(calc(var(--r) + 120deg))}50%{transform:translate3d(calc(-14px * var(--sw)), 56vh, 0) rotate(calc(var(--r) + 240deg))}75%{transform:translate3d(calc(16px * var(--sw)), 84vh, 0) rotate(calc(var(--r) + 360deg))}to{transform:translate3d(0, 112vh, 0) rotate(calc(var(--r) + 480deg))}}.mute-indicator{background:#2a163699;border:3px solid #fff3d640;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex;position:absolute;bottom:clamp(16px,3vh,36px);right:clamp(12px,1.6vw,26px);opacity:.55!important}.mute-indicator.muted{border-color:var(--red);background:#78141ed9;opacity:1!important}.mute-indicator.bump{animation:box-pop .5s var(--ease-elastic)}#hud:not(.hud-visible) .mute-indicator{opacity:0!important}@media (width<=900px){.title-controls{display:none}.stamina{width:9em}}@media (height<=600px){.clipboard{--cb-w:200px}.cb-item{font-size:1.08em;line-height:1}}@media (prefers-reduced-motion:reduce){.title-rays,.title-feathers,.loading-feathers,.cf{display:none}.marker-diamond,.baster.lit,.prompt .keycap,.title-cta{animation:none!important}}#touch{pointer-events:none;z-index:15;position:absolute;inset:0}#touch.hidden{display:none}.tc-stick{pointer-events:none;opacity:0;transition:opacity .15s;position:absolute;inset:0}.tc-stick.active{opacity:1}.tc-stick-base{background:#2a163659;border:3px solid #fff3d68c;border-radius:50%;width:140px;height:140px;margin:-70px 0 0 -70px;position:absolute;box-shadow:0 6px 18px #00000059,inset 0 0 24px #00000040}.tc-stick-knob{border:3px solid var(--ink);width:62px;height:62px;box-shadow:0 4px 0 var(--ink), 0 8px 14px #00000059;background:radial-gradient(circle at 35% 30%,#ffd27a,#ff8a1f 60%,#c8521a);border-radius:50%;margin:-31px 0 0 -31px;position:absolute;top:50%;left:50%}.tc-buttons{right:max(14px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));pointer-events:none;grid-template-columns:repeat(3,66px);grid-auto-rows:66px;gap:10px;display:grid;position:absolute}.tc-btn{pointer-events:auto;border:3px solid var(--ink);width:66px;height:66px;color:var(--ink);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;box-shadow:0 5px 0 var(--ink), 0 8px 14px #00000059;font-family:var(--font-body);background:linear-gradient(#fff5dc,#f0c88c);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:700;display:flex}.tc-btn.big{color:#fff;background:linear-gradient(#ffd27a,#ff8a1f 60%,#e3641a);grid-row:span 1;width:84px;height:84px}.tc-btn .tc-ico{font-size:22px;line-height:1}.tc-btn.big .tc-ico{font-size:30px}.tc-btn .tc-lbl{letter-spacing:.04em;text-transform:uppercase;opacity:.85;font-size:10px}.tc-btn.down{box-shadow:0 1px 0 var(--ink), 0 3px 8px #00000059;filter:brightness(1.08);transform:translateY(4px)scale(.96)}.tc-btn.hold.down{background:linear-gradient(#b8f0a8,#5ec24a 60%,#3f9a33)}@media (width<=820px),(height<=520px){#hud#hud>*{transform-origin:0 0;transform:scale(.6)}#hud#hud>#touch,#hud#hud>.markers,#hud#hud>.flash{transform:none}#hud#hud>.basted{transform-origin:100% 0}#hud#hud>.banners{transform-origin:top}#hud#hud>.prompt{transform-origin:bottom}#hud#hud>.prompt.show{transform:translate(-50%)scale(.75)}#hud#hud>.toasts{transform-origin:0 100%}#hud#hud>.mute-indicator{transform-origin:100% 100%}#hud#hud>.markers{font-size:.8em}#overlay{font-size:14px}}@media (orientation:portrait) and (width<=820px){#hud#hud>*{transform:scale(.52)}#hud#hud>#touch,#hud#hud>.markers,#hud#hud>.flash{transform:none}#hud#hud>.prompt.show{transform:translate(-50%)scale(.7)}#hud#hud>.toasts{transform-origin:top;align-items:center;max-width:90vw;top:31%;bottom:auto;left:50%;transform:translate(-50%)scale(.6)}#hud#hud>.mute-indicator{right:max(10px, env(safe-area-inset-right));transform-origin:100% 0;top:96px;bottom:auto;transform:scale(.8)}.tc-buttons{right:max(12px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));grid-template-columns:repeat(2,62px);grid-auto-rows:62px;gap:9px}.tc-btn{width:62px;height:62px}.tc-btn.big{width:72px;height:72px}.tc-btn .tc-ico{font-size:20px}.tc-btn.big .tc-ico{font-size:26px}.tc-stick-base{width:120px;height:120px;margin:-60px 0 0 -60px}#hud#hud>.prompt{bottom:34vh}.clipboard{--cb-w:230px;top:max(6px, env(safe-area-inset-top))}.basted{top:max(10px, env(safe-area-inset-top))}}.keycap.kc-pad{min-width:2.1em;font-family:var(--font-display);color:#fff;border-color:var(--ink);text-shadow:0 1px #00000080;background:#3a3246;border-radius:50%;padding:0 .3em;font-size:.95em}.keycap.kc-a{background:radial-gradient(circle at 35% 30%,#9bf07a,#3fa62e 70%)}.keycap.kc-b{background:radial-gradient(circle at 35% 30%,#ff9b8a,#d9372b 70%)}.keycap.kc-x{background:radial-gradient(circle at 35% 30%,#8fc5ff,#2b6fd9 70%)}.keycap.kc-y{color:var(--ink);text-shadow:none;background:radial-gradient(circle at 35% 30%,#fff0a0,#e0b200 70%)}.keycap.kc-bumper{letter-spacing:.04em;background:linear-gradient(#6b6078,#3a3246);border-radius:.6em}.keycap.kc-stick{background:radial-gradient(circle at 40% 35%,#b7adc9,#4b4258 70%)}.keycap.kc-touch{letter-spacing:.05em;background:linear-gradient(#fff5dc,#f0c88c);border-radius:50%;min-width:2.6em;height:2.6em;font-size:.72em}.keycap.kc-wide{white-space:nowrap;border-radius:1.2em}.help-btn{pointer-events:auto;cursor:pointer;width:44px;height:44px;font-family:var(--font-display);color:var(--ink);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink), 0 6px 12px #0000004d;opacity:.85;transition:transform .12s var(--ease-back), opacity .2s;background:linear-gradient(#fff5dc,#f0c88c);border-radius:50%;font-size:24px;line-height:1;position:absolute;bottom:calc(clamp(16px,3vh,36px) + 56px);right:clamp(12px,1.6vw,26px)}.help-btn:hover{opacity:1;transform:scale(1.1)}#hud:not(.hud-visible) .help-btn{display:none}.help-screen{-webkit-backdrop-filter:blur();backdrop-filter:blur();pointer-events:auto;background:#140a1c00;justify-content:center;align-items:center;transition:background .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;display:flex;position:absolute;inset:0}.help-screen.show{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140a1c9e}.help-screen.leaving{background:#140a1c00}.help-card{width:min(680px,92vw);max-height:92vh;color:var(--ink);background:var(--paper);border:.32em solid var(--wood-dark);box-shadow:0 18px 50px #00000080, inset 0 0 0 .5em var(--wood);opacity:0;transition:transform .3s var(--ease-back), opacity .25s;border-radius:22px;padding:22px 26px 20px;overflow:auto;transform:translateY(24px)scale(.96)}.help-screen.show .help-card{opacity:1;transform:none}.help-head{align-items:baseline;gap:14px;margin-bottom:10px;display:flex}.help-title{font-family:var(--font-display);color:var(--orange-dark);-webkit-text-stroke:.06em var(--ink);paint-order:stroke fill;font-size:34px}.help-sub{font-family:var(--font-hand);color:#2b2340b3;font-size:22px}.help-tabs{gap:6px;margin-bottom:12px;display:flex}.help-tab{border:2px solid var(--ink);font-family:var(--font-body);color:var(--ink);cursor:pointer;opacity:.7;background:#fff;border-radius:10px;flex:1;padding:7px 8px;font-size:14px;font-weight:700}.help-tab.active{opacity:1;box-shadow:0 3px 0 var(--ink);background:linear-gradient(#ffd27a,#ff9a1f)}.help-list{font-family:var(--font-body);grid-template-columns:minmax(130px,auto) 1fr;align-items:center;gap:7px 14px;font-size:15px;display:grid}.help-row{display:contents}.help-keys{justify-content:flex-end;align-items:center;gap:4px;display:flex}.help-plus{opacity:.6;font-weight:700}.help-action{font-weight:600}.help-row-note .help-action{opacity:.8;font-style:italic;font-weight:500}.help-objective{border:2px dashed var(--orange-dark);background:#ff9a1f2e;border-radius:12px;flex-direction:column;gap:2px;margin:14px 0 6px;padding:10px 12px;display:flex}.help-obj-label{letter-spacing:.12em;text-transform:uppercase;color:var(--orange-dark);font-size:11px;font-weight:700}.help-obj-text{font-family:var(--font-hand);font-size:20px}.help-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.btn.btn-small{border-radius:.8em;padding:.4em 1.2em .35em;font-size:18px}.btn.btn-ghost{color:var(--ink);-webkit-text-stroke:0;text-shadow:none;background:linear-gradient(#fff,#e9e2cf)}.help-tip{font-family:var(--font-hand);text-align:center;color:#2b2340a6;margin-top:12px;font-size:16px}.hints{pointer-events:none;position:absolute;top:clamp(70px,13vh,120px);left:50%;transform:translate(-50%)}.hint-card{max-width:min(560px,80vw);color:var(--cream);font-family:var(--font-body);opacity:0;transition:opacity .3s, transform .35s var(--ease-back);background:#2a1636db;border:2px solid #fff3d659;border-radius:14px;align-items:center;gap:10px;padding:9px 16px 9px 12px;font-size:15px;font-weight:600;line-height:1.35;display:flex;transform:translateY(-14px)scale(.96);box-shadow:0 8px 20px #00000059}.hint-card.show{opacity:1;transform:none}.hint-card.leaving{opacity:0;transform:translateY(-10px)scale(.97)}.hint-ico{font-size:22px}.hint-text .keycap{vertical-align:middle;margin:0 .15em;font-size:.9em}@media (width<=820px),(height<=520px){#hud#hud>.hints{transform-origin:top;transform:translate(-50%)scale(.7)}#hud#hud>.help-btn{transform-origin:100% 100%;bottom:auto;top:calc(max(10px, env(safe-area-inset-top)) + 70px);transform:scale(.8)}.title-controls{display:flex}.title-controls[data-scheme=keyboard]{display:none}}@media (orientation:portrait) and (width<=820px){#hud#hud>.hints{top:22%;transform:translate(-50%)scale(.62)}#hud#hud>.help-btn{top:calc(max(10px, env(safe-area-inset-top)) + 60px);right:max(10px, env(safe-area-inset-right));transform:scale(.75)}.help-card{padding:14px 14px 12px}.help-list{font-size:13px}}.help-close{border:2px solid var(--ink);width:36px;height:36px;font:700 22px/1 var(--font-body);color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:50%;margin-left:auto}.help-close:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}@media (width<=820px),(height<=520px){.help-card{border-width:.22em;border-radius:14px;width:min(640px,94vw);max-height:94vh;padding:10px 14px}.help-head{margin-bottom:6px}.help-title{font-size:22px}.help-sub{font-size:16px}.help-tabs{margin-bottom:6px}.help-tab{padding:4px 6px;font-size:11px}.help-list{gap:3px 10px;font-size:11.5px}.help-list .keycap{font-size:.85em}.help-objective{margin:8px 0 4px;padding:6px 10px}.help-obj-text{font-size:15px}.help-actions{gap:6px;margin-top:8px}.btn.btn-small{padding:.35em 1em .3em;font-size:14px}.help-tip{margin-top:6px;font-size:12px}}@media (height<=520px){.help-list{grid-template-columns:minmax(90px,auto) 1fr minmax(90px,auto) 1fr}.help-tip{display:none}.help-objective{display:none!important}}
