:root{--game-font:"The Girl Next Door", cursive;--gui-font-size:28px;--gui-font-size-mobile:28px;--gui-border-radius:0;--deckle-edge:url(#deckle-filter);--deckle-edge-strong:url(#deckle-strong);--deckle-edge-bubbles:var(--deckle-edge);--bg-gradient-start:#1a0f0a;--bg-gradient-mid:#2d1810;--bg-gradient-end:#3d2317;--body-bg:#2d1810;--btn-bg:#4a2c1e;--text-color:#fff8f0;--text-shadow:0 1px 3px #0009;--header-bg:#fff8f026;--canvas-border:#fff8f040;--modal-bg:#4a2c1e;--modal-text:#f5d4a1;--overlay-bg:#1a0f0ad9;--help-overlay-bg:#1a0f0a66;--warning-bg-from:#d354004d;--warning-bg-to:#d3540080;--btn-shadow:0 4px 12px #1a0f0a4d;--btn-hover-shadow:0 6px 16px #1a0f0a66;--accent-color:#f5a623;--button-bg:#b84c14;--button-hover-bg:#9a3f10;--icon-color:#e8a54a;--label-color:#f5c87a}@media (prefers-color-scheme:light){:root{--bg-gradient-start:#e8a754;--bg-gradient-mid:#f5c77e;--bg-gradient-end:#fff4e6;--body-bg:#fff4e6;--btn-bg:#fff;--text-color:#2a1810;--text-shadow:0 1px 2px #fff6;--header-bg:#3d231733;--canvas-border:#3d231740;--modal-bg:#fff;--modal-text:#5a3520;--overlay-bg:#fff4e6d9;--help-overlay-bg:#fff4e666;--warning-bg-from:#d3540066;--warning-bg-to:#d3540099;--btn-shadow:0 4px 12px #3d231733;--btn-hover-shadow:0 8px 20px #3d23174d;--accent-color:#d4740c;--button-bg:#b84c14;--button-hover-bg:#9a3f10;--icon-color:#b84c14;--label-color:#8b4513}}*{box-sizing:border-box;margin:0;padding:0}.deckle-edge{position:relative}.deckle-edge:after{content:"";background:inherit;border-radius:inherit;filter:var(--deckle-edge);z-index:-1;pointer-events:none;position:absolute;inset:-3px}.deckle-mask{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='rough'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='4' seed='1' result='noise'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='noise' scale='4' xChannelSelector='R' yChannelSelector='G'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100' height='100' filter='url(%23rough)' fill='white'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='rough'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='4' seed='1' result='noise'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='noise' scale='4' xChannelSelector='R' yChannelSelector='G'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='100' height='100' filter='url(%23rough)' fill='white'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%}.game-header span,.ctrl-label,.game-over-modal h2,.game-over-modal p,.game-over-modal button,.level-toast,.help-modal h2,.help-modal h3,.help-modal p,.help-modal ul,.help-got-it{opacity:.88;mix-blend-mode:multiply}@media (prefers-color-scheme:dark){.game-header span,.ctrl-label,.game-over-modal h2,.game-over-modal p,.game-over-modal button,.level-toast,.help-modal h2,.help-modal h3,.help-modal p,.help-modal ul,.help-got-it,.help-website-link,.copyright-legend,.website-legend{mix-blend-mode:normal;opacity:.92}}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--body-bg);justify-content:center;align-items:flex-start;min-height:100vh;padding-top:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;display:flex;position:relative}body:before{content:"";opacity:.6;pointer-events:none;mix-blend-mode:hard-light;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02' numOctaves='5' seed='3' stitchTiles='stitch' result='grain'/%3E%3CfeDiffuseLighting in='grain' lighting-color='white' surfaceScale='4' diffuseConstant='1'%3E%3CfeDistantLight azimuth='135' elevation='55'/%3E%3C/feDiffuseLighting%3E%3CfeColorMatrix type='matrix' values='0.5 0 0 0 -0.25 0 0.5 0 0 -0.25 0 0 0.5 0 -0.25 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");position:fixed;inset:0}.game-container{z-index:1;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.game-wrapper{flex-direction:column;align-items:center;gap:20px;display:flex;position:relative}.game-header{width:600px;color:var(--text-color);justify-content:space-between;align-items:center;padding:0;font-size:16px;font-weight:500;display:flex}.game-header span{background:var(--btn-bg);border:2px solid var(--canvas-border);border-radius:var(--gui-border-radius);text-align:center;min-width:100px;box-shadow:var(--btn-shadow);font-family:var(--game-font);font-size:var(--gui-font-size);letter-spacing:.5px;color:var(--label-color);text-shadow:0 -1px #ffffff26,0 1px 2px #0006;filter:var(--deckle-edge);padding:8px 16px;font-weight:600;position:relative;overflow:visible}.game-header span:before{content:"";opacity:.6;pointer-events:none;border-radius:var(--gui-border-radius);mix-blend-mode:hard-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02' numOctaves='5' seed='3' stitchTiles='stitch' result='grain'/%3E%3CfeDiffuseLighting in='grain' lighting-color='white' surfaceScale='4' diffuseConstant='1'%3E%3CfeDistantLight azimuth='135' elevation='55'/%3E%3C/feDiffuseLighting%3E%3CfeColorMatrix type='matrix' values='0.5 0 0 0 -0.25 0 0.5 0 0 -0.25 0 0 0.5 0 -0.25 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");position:absolute;inset:0}.game-header span:empty{visibility:hidden}.game-header span.warning{background:var(--warning-bg-from);color:#e67300;animation:.5s ease-in-out infinite alternate pulse}.game-header span.level-up{background:linear-gradient(180deg, var(--button-bg) 0%, var(--button-hover-bg) 100%);color:#fff;animation:.3s ease-out level-flash}@keyframes level-flash{0%{transform:scale(1.15)}to{transform:scale(1)}}.canvas-frame{display:inline-block;position:relative}.canvas-frame:before{content:"";background:var(--btn-bg);border:2px solid var(--canvas-border);border-radius:var(--gui-border-radius);box-shadow:var(--btn-shadow);filter:var(--deckle-edge);z-index:-1;position:absolute;inset:-4px}.game-canvas{border-radius:var(--gui-border-radius);filter:var(--deckle-edge-bubbles);display:block}.is-safari .game-canvas{filter:none;will-change:contents;transform:translateZ(0)}.control-bar{background:0 0;justify-content:space-between;gap:10px;width:600px;min-width:0;max-width:100%;padding:0;display:flex}.is-safari .control-bar,.is-safari .game-header,.is-safari .game-wrapper{overflow:visible}.ctrl-btn{background:var(--btn-bg);border:2px solid var(--canvas-border);border-radius:var(--gui-border-radius);min-width:0;color:var(--text-color);cursor:pointer;box-shadow:var(--btn-shadow);filter:var(--deckle-edge);flex-direction:column;flex:1 1 0;align-items:center;gap:4px;padding:10px 16px;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:visible}.ctrl-btn:before{content:"";opacity:.6;pointer-events:none;border-radius:var(--gui-border-radius);mix-blend-mode:hard-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02' numOctaves='5' seed='3' stitchTiles='stitch' result='grain'/%3E%3CfeDiffuseLighting in='grain' lighting-color='white' surfaceScale='4' diffuseConstant='1'%3E%3CfeDistantLight azimuth='135' elevation='55'/%3E%3C/feDiffuseLighting%3E%3CfeColorMatrix type='matrix' values='0.5 0 0 0 -0.25 0 0.5 0 0 -0.25 0 0 0.5 0 -0.25 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");position:absolute;inset:0}.ctrl-btn:hover:not(:disabled){box-shadow:var(--btn-hover-shadow);transform:translateY(-2px)}.ctrl-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 6px #00000026}.ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.ctrl-icon{width:24px;height:24px;color:var(--icon-color);flex-shrink:0}.ctrl-label{font-family:var(--game-font);font-size:var(--gui-font-size);letter-spacing:.5px;color:var(--label-color);text-shadow:0 -1px #ffffff26,0 1px 2px #0006;font-weight:600}@media (prefers-color-scheme:light){.game-header span,.ctrl-label,.game-over-modal h2,.game-over-modal p,.help-modal h2,.help-modal h3,.help-modal p,.help-modal ul{text-shadow:0 1px #fffc,0 -1px 1px #00000026}.game-over-modal button,.help-got-it,.level-toast{text-shadow:0 1px #ffffff4d,0 -1px 1px #0003}}.is-safari .ctrl-btn:before,.is-safari .game-header span:before,.is-safari .paused-overlay:before{opacity:.25}.is-safari .game-header span{filter:var(--deckle-edge);overflow:visible}.is-safari .ctrl-btn{box-sizing:border-box;min-height:76px;filter:var(--deckle-edge);padding:16px 16px 20px;flex-direction:column!important;justify-content:center!important;align-items:center!important;display:flex!important;overflow:visible!important}.is-safari .paused-overlay{filter:var(--deckle-edge);overflow:visible}.is-safari .ctrl-icon{flex-shrink:0;width:22px;height:22px;margin-bottom:2px}.is-safari .ctrl-label{flex-shrink:0;margin-top:5px;line-height:1.4;display:block}@media (height<=900px){.is-safari .ctrl-btn{min-height:68px;padding:14px 16px 16px}.is-safari .ctrl-label{margin-top:4px}}.game-over-overlay{border-radius:var(--gui-border-radius);width:600px;height:800px;filter:var(--deckle-edge);background:0 0;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:absolute;top:50px;left:0}.game-over-modal{background:var(--modal-bg);border:2px solid var(--canvas-border);border-radius:var(--gui-border-radius);text-align:center;color:var(--modal-text);text-shadow:var(--text-shadow);filter:var(--deckle-edge-strong);padding:48px 64px;animation:.3s ease-out slideUp;position:relative;overflow:visible;box-shadow:0 8px 32px #00000080}.game-over-modal:before{content:"";opacity:.6;pointer-events:none;border-radius:var(--gui-border-radius);mix-blend-mode:hard-light;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02' numOctaves='5' seed='3' stitchTiles='stitch' result='grain'/%3E%3CfeDiffuseLighting in='grain' lighting-color='white' surfaceScale='4' diffuseConstant='1'%3E%3CfeDistantLight azimuth='135' elevation='55'/%3E%3C/feDiffuseLighting%3E%3CfeColorMatrix type='matrix' values='0.5 0 0 0 -0.25 0 0.5 0 0 -0.25 0 0 0.5 0 -0.25 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");position:absolute;inset:0}.game-over-modal>*{z-index:1;position:relative}.game-over-modal h2{font-family:var(--game-font);text-shadow:0 -1px #ffffff26,0 2px 3px #0006;margin-bottom:16px;font-size:48px;font-weight:600}.game-over-modal p{font-family:var(--game-font);color:var(--modal-text);text-shadow:0 -1px #ffffff26,0 1px 2px #0006;margin-bottom:28px;font-size:34px;font-weight:600}.game-over-modal button{font-family:var(--game-font);background:var(--button-bg);color:#fff;border-radius:var(--gui-border-radius);cursor:pointer;z-index:1;text-shadow:0 -1px #fff3,0 1px 2px #00000080;border:none;padding:14px 40px;font-size:26px;font-weight:600;transition:transform .1s,background .2s;position:relative}.game-over-modal button:hover{background:var(--button-hover-bg);transform:scale(1.05)}.game-over-modal button:active{transform:scale(.98)}.level-toast{background:linear-gradient(180deg, var(--button-bg) 0%, var(--button-hover-bg) 100%);color:#fff;border-radius:var(--gui-border-radius);font-family:var(--game-font);text-shadow:0 -1px #fff3,0 2px 4px #0006;z-index:100;pointer-events:none;filter:var(--deckle-edge);padding:16px 32px;font-size:32px;font-weight:600;animation:1.5s ease-out forwards toast-pop;position:absolute;top:120px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #b84c1480}.paused-overlay{background:var(--body-bg);border:2px solid var(--canvas-border);color:var(--label-color);border-radius:var(--gui-border-radius);font-family:var(--game-font);font-size:var(--gui-font-size);letter-spacing:.5px;text-shadow:0 -1px #ffffff26,0 1px 2px #0006;box-shadow:var(--btn-shadow);z-index:100;cursor:pointer;filter:var(--deckle-edge);padding:12px 32px;font-weight:600;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.paused-overlay:before{content:"";opacity:.6;pointer-events:none;border-radius:var(--gui-border-radius);mix-blend-mode:hard-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02' numOctaves='5' seed='3' stitchTiles='stitch' result='grain'/%3E%3CfeDiffuseLighting in='grain' lighting-color='white' surfaceScale='4' diffuseConstant='1'%3E%3CfeDistantLight azimuth='135' elevation='55'/%3E%3C/feDiffuseLighting%3E%3CfeColorMatrix type='matrix' values='0.5 0 0 0 -0.25 0 0.5 0 0 -0.25 0 0 0.5 0 -0.25 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");position:absolute;inset:0}@media (prefers-color-scheme:light){.paused-overlay,.game-header span,.ctrl-btn,.help-modal{border-color:#ffffff80}}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%)scale(.8)}15%{opacity:1;transform:translate(-50%)scale(1.1)}30%{transform:translate(-50%)scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-20px)}}.help-overlay{background:var(--help-overlay-bg);z-index:1000;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.help-modal{background:var(--btn-bg);border:2px solid var(--canvas-border);border-radius:var(--gui-border-radius);width:600px;max-width:95vw;max-height:970px;color:var(--label-color);box-shadow:var(--btn-shadow);filter:var(--deckle-edge);padding:24px 32px;animation:.3s ease-out slideUp;position:relative;overflow:hidden}.help-modal:before{content:"";opacity:.6;pointer-events:none;border-radius:var(--gui-border-radius);mix-blend-mode:hard-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 600 600' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02' numOctaves='5' seed='3' stitchTiles='stitch' result='grain'/%3E%3CfeDiffuseLighting in='grain' lighting-color='white' surfaceScale='4' diffuseConstant='1'%3E%3CfeDistantLight azimuth='135' elevation='55'/%3E%3C/feDiffuseLighting%3E%3CfeColorMatrix type='matrix' values='0.5 0 0 0 -0.25 0 0.5 0 0 -0.25 0 0 0.5 0 -0.25 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");position:absolute;inset:0}.help-modal>*{z-index:1;position:relative}.help-modal h2{font-family:var(--game-font);letter-spacing:.5px;text-align:center;color:var(--label-color);text-shadow:0 -1px #ffffff26,0 1px 2px #0006;margin-bottom:16px;font-size:32px;font-weight:600}.help-modal h3{font-family:var(--game-font);letter-spacing:.5px;color:var(--accent-color);text-shadow:0 -1px #ffffff26,0 1px 2px #0006;margin:12px 0 6px;font-size:24px;font-weight:600}.help-modal p{font-family:var(--game-font);letter-spacing:.5px;color:var(--label-color);text-shadow:0 -1px #ffffff26,0 1px 2px #0006;margin-bottom:6px;font-size:20px;font-weight:600;line-height:1.3}.help-modal ul{font-family:var(--game-font);letter-spacing:.5px;color:var(--label-color);text-shadow:0 -1px #ffffff26,0 1px 2px #0006;margin-left:20px;font-size:20px;font-weight:600;line-height:1.3}.help-close{color:var(--label-color);opacity:.6;cursor:pointer;z-index:2;background:0 0;border:none;font-size:28px;transition:opacity .2s;position:absolute;top:12px;right:16px}.help-close:hover{opacity:1}.help-got-it{width:100%;font-family:var(--game-font);background:var(--button-bg);color:#fff;border-radius:var(--gui-border-radius);cursor:pointer;z-index:1;text-shadow:0 -1px #fff3,0 1px 2px #00000080;border:none;margin-top:16px;padding:10px 24px;font-size:20px;font-weight:600;transition:transform .1s,background .2s;display:block;position:relative}.help-got-it:hover{background:var(--button-hover-bg);transform:scale(1.02)}.help-website-link{text-align:center;color:var(--label-color);font-family:var(--game-font);letter-spacing:.5px;opacity:.88;mix-blend-mode:multiply;text-shadow:0 -1px #ffffff26,0 1px 2px #0006;margin-top:16px;font-size:20px;font-weight:600;display:block}.help-website-link a{color:inherit;text-decoration:none;transition:opacity .2s}.help-website-link a:hover{text-decoration:underline}@media (prefers-color-scheme:dark){.help-website-link{mix-blend-mode:normal;opacity:.92}}.copyright-legend,.website-legend{font-family:var(--game-font);color:var(--label-color);opacity:.88;mix-blend-mode:multiply;z-index:10;font-size:24px;font-weight:600;position:absolute;bottom:8px}.copyright-legend{right:12px}.website-legend{text-decoration:none;transition:opacity .2s;left:12px}.website-legend:hover{opacity:1;text-decoration:underline}@media (prefers-color-scheme:dark){.copyright-legend,.website-legend{mix-blend-mode:normal;opacity:.92}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{background:var(--warning-bg-from)}to{background:var(--warning-bg-to)}}@media (width<=640px){body{padding-top:10px}.ctrl-btn{padding:8px 10px}.ctrl-label{font-size:var(--gui-font-size-mobile)}.ctrl-icon{width:22px;height:22px}.game-header span{font-size:var(--gui-font-size-mobile);min-width:80px;padding:6px 12px}.paused-overlay{font-size:var(--gui-font-size-mobile);padding:10px 24px}.help-modal{max-width:90vw;max-height:85vh;margin:16px;padding:20px 24px}.help-modal h2{margin-bottom:12px;font-size:22px}.help-modal h3{margin:10px 0 4px;font-size:18px}.help-modal p,.help-modal ul{font-size:16px;line-height:1.25}.help-modal ul{margin-left:16px}.help-got-it{margin-top:12px;padding:10px 20px;font-size:16px}.help-website-link{font-size:16px}.copyright-legend,.website-legend{font-size:24px}}@media (width<=480px){.control-bar{gap:6px}.ctrl-btn{gap:2px;padding:6px 8px}.ctrl-icon{width:18px;height:18px}.ctrl-label{font-size:18px}}@media (width<=360px){.control-bar{gap:4px}.ctrl-btn{gap:1px;padding:4px 6px}.ctrl-icon{width:16px;height:16px}.ctrl-label{letter-spacing:.2px;font-size:16px}}@media (height<=600px){.ctrl-btn{gap:2px;padding:6px 10px}.ctrl-icon{width:18px;height:18px}.ctrl-label{font-size:20px}.is-safari .ctrl-btn{min-height:52px;padding:8px 10px 10px}}@media (height<=480px){.ctrl-btn{gap:1px;padding:4px 8px}.ctrl-icon{width:16px;height:16px}.ctrl-label{font-size:16px}.is-safari .ctrl-btn{min-height:44px;padding:6px 8px 8px}}
