@font-face{font-family:Niulai Hand;src:url(../fonts/niulai-hand.woff2) format("woff2");font-style:normal;font-weight:400;font-display:block}:root{font-family:Niulai Hand,serif;color:#f4e6ac;background:#263719;font-synthesis:weight;--gold:#f5cf62;--ink:#19250f}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#14250dea,#25351ef2),url(../art/forest-arena.png) center/900px auto fixed}button,a{-webkit-tap-highlight-color:transparent}button{font:700 17px Niulai Hand,serif;cursor:pointer;color:#f9efbd}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ffe17c;outline-offset:3px}button:disabled{cursor:default;opacity:.55}button,.stage,.touch-controls{-webkit-user-select:none;user-select:none}a{color:#dfcc8c}#game-shell{width:min(1220px,calc((100dvh - 210px)*1.806));max-width:calc(100% - 28px);margin:0 auto;padding:9px 0 12px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:46px;gap:12px;padding:0 6px 5px}.brand{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.brand b{font-size:31px;color:#efbc76;-webkit-text-stroke:.5px #c3d9ba;text-shadow:2px 3px #000}.brand span{font-size:20px;color:#d7dd8c;text-shadow:2px 2px #000}.header-actions{display:flex;gap:7px}.header-actions button{min-height:34px;padding:4px 11px;font-size:14px;background:#596140;border:3px outset #818868;text-shadow:1px 1px #17220f}.header-actions button:active:not(:disabled){border-style:inset}.dashboard{display:flex;align-items:center;justify-content:space-between;gap:12px;height:40px;padding:0 10px;background:#19290fc9;border:2px ridge #7e8660;border-bottom:none}.label{color:#d8d6a1;font-size:13px}.life{display:flex;align-items:center;gap:9px;flex-shrink:0}#hearts{font-family:Niulai Hand,serif;font-size:21px;color:#ff8c75;white-space:nowrap;text-shadow:1px 2px #230b02;letter-spacing:1px}.journey{display:flex;gap:13px}.room-node{display:flex;align-items:center;gap:4px;font-size:12px;color:#89936a;white-space:nowrap}.room-node b{font-size:17px}.room-node.active{color:#ffe68c;text-shadow:1px 1px #000}.room-node.done{color:#b1c58c}.clock{display:flex;align-items:center;gap:8px}.clock strong{font:700 17px Niulai Hand,serif;color:#f1e5b2;font-variant-numeric:tabular-nums}.stage{position:relative;width:100%;aspect-ratio:1120/620;border:5px ridge #7d8468;background:#1c2a14;overflow:hidden;box-shadow:0 4px #111b09}#game{position:absolute;inset:0;width:100%;height:100%}#game canvas{display:block}.stage-tag{position:absolute;left:9px;top:8px;color:#f2eab4;text-shadow:1px 2px #142007;font-size:12px;pointer-events:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:6;background:#14230acc;overflow-y:auto;overscroll-behavior:contain}.overlay.hidden{display:none}body[data-mode=title] .overlay{background:linear-gradient(#14240718,#14240766);overflow:hidden}.loading{font-size:24px;text-shadow:2px 2px #000}.title-screen{width:100%;height:100%;position:relative;text-align:center}.title-screen h1{position:absolute;top:1%;left:25%;width:50%;margin:0;font-size:0}.movie-title{display:block;width:100%;height:auto;filter:drop-shadow(3px 4px 1px #112b18);object-fit:contain}.game-subtitle{position:absolute;top:25%;left:0;width:100%;color:#e4c26d;font-size:clamp(34px,5.6vw,70px);font-weight:900;letter-spacing:8px;-webkit-text-stroke:1px #1d3014;text-shadow:2px 2px #393b15,4px 5px #102509;transform:rotate(-3deg)}.title-note{position:absolute;top:42%;width:100%;margin:0;color:#f9e8a3;font-size:18px;text-shadow:2px 2px #17250c}.hero-calf{position:absolute;left:6%;bottom:2%;width:30%;height:59%;object-fit:contain;filter:drop-shadow(9px 9px 2px #0c190966);transform:rotate(-4deg)}.menu-wolf{position:absolute;right:7%;bottom:6%;width:24%;height:35%;object-fit:contain;filter:drop-shadow(5px 7px 2px #0c190988)}.cow-says{position:absolute;left:8%;bottom:59%;color:#fff4c5;font-size:19px;transform:rotate(-9deg);text-shadow:2px 2px #12210b}.start-actions{position:absolute;bottom:13%;left:31%;width:38%;z-index:2}.primary{position:relative;min-height:52px;min-width:160px;padding:10px 24px;font-size:26px;border:5px outset #b89b63;border-radius:7px 3px 9px 4px;background:repeating-linear-gradient(7deg,#92713e 0 2px,#9b7c45 3px 9px,#987641 10px 14px);color:#fff4b3;text-shadow:2px 2px #4d300e;box-shadow:3px 5px #18220ce6}.primary:hover{color:#fff}.primary:active{border-style:inset;transform:translate(2px,2px);box-shadow:1px 2px #17240c}.start-actions p{font-size:14px;color:#efeac7;margin:12px -30px 0;text-shadow:2px 2px #142006}.touch-copy{display:none}.below{min-height:45px;display:flex;align-items:center;gap:18px;padding:10px 8px 6px}.charge{width:190px;flex-shrink:0}.charge>div:first-child{display:flex;justify-content:space-between;gap:7px}.charge strong{color:#f5df8b;font-size:13px}.meter{margin-top:4px;height:8px;border:2px inset #82905b;background:#152009}.meter i{display:block;height:100%;width:100%;background:#d2c755}.hint{flex:1;color:#d6d6b0;font-size:13px}.kill-counter{display:flex;align-items:baseline;gap:6px;color:#cbcca1;font-size:12px}.kill-counter b{color:#eed987;font-size:23px}footer{text-align:center;font-size:13px;color:#aeb58d}footer p{margin:6px 0}footer p span{margin-left:10px}kbd{font:700 12px Niulai Hand,serif;padding:2px 4px;border:2px outset #8b9273;background:#3c4b2c;color:#f1eac6}.mobile-help,.touch-controls{display:none}#badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;min-height:20px;margin-top:6px}.badge{font-size:12px;padding:3px 8px;color:#e9dcaa;background:#1a280fb3;border:1px solid #617049}.about-game{color:#9ea987;font-size:12px;text-align:center;padding:4px 10px}.about-game summary{cursor:pointer}.about-game p{max-width:650px;margin:8px auto;line-height:1.8}.choice-panel{width:min(90%,830px);text-align:center;padding:18px 0}.choice-panel h2,.end-panel h2{font-size:33px;color:#f5dd83;text-shadow:2px 3px #111e09;margin:0 0 12px}.choice-panel>p{font-size:15px;color:#d0d5aa;margin:8px 0 20px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.choice{position:relative;color:#faedba;background:#68653d;background-image:repeating-linear-gradient(12deg,#ffffff04 0 3px,#00000008 4px 6px);border:4px outset #9e9c6d;border-radius:4px 10px 3px 7px;padding:16px;text-align:center;box-shadow:3px 5px #0a170be6}.choice:nth-child(1){transform:rotate(-1deg)}.choice:nth-child(3){transform:rotate(1deg)}.choice:hover{border-color:#ecd584;background-color:#797447}.choice:active{border-style:inset}.choice .icon{font-size:36px;display:block;margin:3px 0 10px}.choice strong{font-size:23px;display:block;color:#ffe494;text-shadow:1px 2px #293015}.choice p{font-size:15px;line-height:1.6;margin:10px 0;font-weight:400}.choice small{display:block;color:#c5cca3;font-size:13px}.end-panel{text-align:center;padding:25px 35px;background:#2f4225ed;border:5px ridge #92936c;border-radius:8px 3px 9px 4px;max-width:90%;box-shadow:5px 7px #111f08}.end-panel p{font-size:16px;line-height:1.75;color:#d3d7af}.end-actor{width:90px;height:100px;object-fit:contain}.end-panel .primary{font-size:21px;margin-top:5px}.boss-hud{position:absolute;top:8px;left:24%;width:52%;z-index:3;text-align:center;pointer-events:none;font-size:13px;color:#fff0c2;text-shadow:1px 2px #152009}.boss-hud[hidden]{display:none}.boss-hud>div{height:8px;margin-top:4px;border:1px solid #d6c68f;background:#252b19}.boss-hud i{display:block;width:100%;height:100%;background:#c45035}#game-shell:fullscreen{width:100%;max-width:none;height:100dvh;padding:8px max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));background:#233019;display:flex;flex-direction:column}#game-shell:fullscreen .stage{flex:1;aspect-ratio:auto;min-height:0}#game-shell:fullscreen .about-game,#game-shell:fullscreen footer{display:none}@media(max-width:1050px){.room-node span{display:none}.journey{gap:15px}footer p span{display:none}}.touch-ui .touch-copy{display:inline}.touch-ui .keyboard-copy,.touch-ui .desktop-help{display:none}.touch-ui .mobile-help{display:block}.touch-ui .touch-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 16px 8px}.stick-control,.dash-control{display:flex;flex-direction:column;align-items:center;gap:6px}#joystick{position:relative;width:132px;height:132px;border:4px ridge #969675;border-radius:50%;background:#334425c9;box-shadow:inset 0 0 15px #111d09,3px 4px #17250ec7;touch-action:none;cursor:grab}.stick-cross{position:absolute;inset:0;display:grid;place-items:center;font-size:94px;color:#acaf7866;line-height:1}#joystick-knob{position:absolute;width:58px;height:58px;left:calc(50% - 29px);top:calc(50% - 29px);border-radius:48% 50% 46%;border:5px outset #b6ab7c;background:#8d8358;box-shadow:3px 4px 3px #14200ba6;pointer-events:none}#dash-button{width:116px;height:116px;border-radius:46% 49% 44% 48%;border:6px outset #c3a463;background:#98763c;box-shadow:4px 6px #142007c7;text-shadow:2px 2px #4e2d12;touch-action:none}#dash-button b{display:block;font-size:28px;color:#fff0b0}#dash-button small{display:block;font-size:13px;color:#e5d49d;margin-top:4px}#dash-button.pressed{border-style:inset;transform:translate(2px,3px)}#dash-button[data-ready=false]{background:#5c633f;border-color:#8c9066}.control-caption,.touch-tip{color:#b6bf8c;font-size:12px;text-align:center}.touch-tip{line-height:1.8}body:not([data-mode=playing]) .touch-controls{visibility:hidden;pointer-events:none}@media(orientation:portrait),(max-width:650px){#game-shell{width:100%;max-width:100%;padding:max(4px,env(safe-area-inset-top)) 7px max(8px,env(safe-area-inset-bottom))}.topbar{min-height:48px;padding:0 2px 4px}.brand b{font-size:28px}.brand span{font-size:18px}.header-actions{gap:5px}.header-actions button{min-height:42px;min-width:42px;padding:4px 7px;font-size:13px}.dashboard{height:38px;padding:0 6px;gap:6px}.life{gap:4px}#hearts{font-size:18px;letter-spacing:0}.life .label,.clock .label{display:none}.journey{gap:10px}.room-node b{font-size:15px}.clock strong{font-size:16px}.stage{height:clamp(240px,calc(100svh - 335px - env(safe-area-inset-top) - env(safe-area-inset-bottom)),520px);aspect-ratio:auto;border-width:3px}.stage-tag{font-size:11px;top:6px;left:6px}.title-screen h1{width:84%;left:8%;top:9%}.game-subtitle{top:33%;font-size:45px;letter-spacing:5px}.title-note{top:50%;font-size:15px}.hero-calf{width:37%;height:40%;left:-1%;bottom:3%}.menu-wolf{width:32%;height:28%;right:0;bottom:5%}.cow-says{left:3%;bottom:45%;font-size:15px}.start-actions{bottom:9%;left:22%;width:56%}.primary{font-size:23px;min-height:52px;min-width:145px;padding:8px 17px}.start-actions p{font-size:12px;margin:10px -35px 0}.below{min-height:46px;gap:8px;padding:7px 4px 4px}.charge{width:165px}.hint{display:none}.kill-counter{margin-left:auto}.touch-ui .touch-controls{padding:7px 12px 3px;min-height:152px}#joystick{width:124px;height:124px}#dash-button{width:109px;height:109px}.touch-tip{font-size:11px}footer{font-size:11px}#badges{margin-top:3px}.about-game{font-size:11px}.choice-panel{width:94%;padding:13px 0}.choice-panel h2{font-size:25px;margin-bottom:6px}.choice-panel>p{font-size:12px;margin:5px 0 11px}.choices{grid-template-columns:1fr;gap:8px}.choice{min-height:70px;padding:8px 10px 8px 59px;text-align:left;border-width:3px}.choice .icon{position:absolute;left:12px;top:15px;font-size:28px;margin:0}.choice strong{font-size:19px}.choice p{font-size:12px;line-height:1.4;margin:4px 0 0}.choice small{display:none}.end-panel{width:91%;padding:18px 14px}.end-panel h2{font-size:27px}.end-panel p{font-size:14px}.end-actor{height:75px}.boss-hud{left:12%;width:76%;top:24px;font-size:11px}}@media(max-width:360px){.brand span{font-size:15px}.header-actions button{font-size:12px;padding:3px 5px}#hearts{font-size:16px}.journey{gap:7px}.touch-ui .touch-controls{padding-left:5px;padding-right:5px}.touch-tip{display:none}}@media(orientation:landscape){.touch-ui #game-shell{width:100%;max-width:none;height:100svh;padding:3px max(7px,env(safe-area-inset-right)) 3px max(7px,env(safe-area-inset-left));display:flex;flex-direction:column;overflow:hidden;position:relative}.touch-ui .topbar{min-height:35px;height:35px;padding:0 4px 3px;flex-shrink:0}.touch-ui .brand b{font-size:24px}.touch-ui .brand span{font-size:17px}.touch-ui .header-actions button{min-height:30px;padding:2px 10px;font-size:12px}.touch-ui .dashboard{height:30px;flex-shrink:0}.touch-ui .stage{flex:1;min-height:0;aspect-ratio:auto}.touch-ui .below{min-height:28px;height:28px;padding:3px 145px;flex-shrink:0}.touch-ui .below .hint,.touch-ui footer,.touch-ui .about-game,.touch-ui #badges{display:none}.touch-ui .charge{width:150px}.touch-ui .charge .label,.touch-ui .charge strong{font-size:11px}.touch-ui .meter{height:6px;margin-top:2px}.touch-ui .kill-counter{margin-left:auto}.touch-ui .kill-counter b{font-size:18px}.touch-ui .touch-controls{position:absolute;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:5px;padding:0;z-index:5;pointer-events:none}.touch-ui #joystick,.touch-ui #dash-button{pointer-events:auto}.touch-ui #joystick{width:108px;height:108px;background:#344729e6}.touch-ui #joystick-knob{width:49px;height:49px;left:calc(50% - 24.5px);top:calc(50% - 24.5px)}.touch-ui #dash-button{width:97px;height:97px}.touch-ui .control-caption{font-size:10px}.touch-ui .touch-tip{display:none}.touch-ui .title-screen h1{top:0;width:37%;left:31.5%}.touch-ui .game-subtitle{top:27%;font-size:39px}.touch-ui .title-note{display:none}.touch-ui .hero-calf{height:77%;width:25%;left:10%;bottom:2%}.touch-ui .menu-wolf{width:20%;right:13%;bottom:4%;height:40%}.touch-ui .cow-says{display:none}.touch-ui .start-actions{bottom:8%;left:32%;width:36%}.touch-ui .start-actions .primary{min-height:44px;font-size:22px;padding:5px 20px}.touch-ui .start-actions p{font-size:11px;margin-top:7px}.touch-ui .choice-panel{width:76%;padding:8px 0}.touch-ui .choice-panel h2{font-size:23px;margin-bottom:3px}.touch-ui .choice-panel>p{font-size:12px;margin:5px 0 9px}.touch-ui .choices{gap:10px;grid-template-columns:repeat(3,1fr)}.touch-ui .choice{padding:7px;min-height:0;text-align:center}.touch-ui .choice .icon{position:static;font-size:23px;margin:0 0 5px}.touch-ui .choice strong{font-size:17px}.touch-ui .choice p{font-size:12px;margin:6px 0}.touch-ui .choice small{font-size:10px;display:block}.touch-ui .end-panel{width:auto;padding:12px 25px}.touch-ui .end-panel h2{font-size:26px;margin-bottom:5px}.touch-ui .end-panel p{font-size:13px;line-height:1.5;margin:6px 0}.touch-ui .end-actor{height:55px}.touch-ui .end-panel .primary{min-height:42px;font-size:19px;padding:5px 20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.brand img{display:block;width:88px;height:39px;object-fit:contain}.brand span{font-family:Niulai Hand,serif}.title-screen h1{top:0%;width:54%;left:23%}.game-subtitle{top:35%;font-size:clamp(32px,4.7vw,61px)}@media(max-width:650px){.brand img{width:76px;height:35px}.brand span{font-size:16px}.title-screen h1{width:92%;left:4%;top:8%}.game-subtitle{top:40%;font-size:40px}.touch-ui .touch-controls{justify-content:space-between}}@media(orientation:landscape){.touch-ui .brand img{width:65px;height:30px}.touch-ui .title-screen h1{width:37%;left:31.5%;top:-3%}.touch-ui .game-subtitle{top:39%;font-size:32px}}#dash-button b{white-space:nowrap}.touch-ui #dash-button b{font-size:24px}#game-shell{position:relative}.music-panel{position:absolute;right:8px;top:56px;z-index:30;width:min(348px,calc(100% - 16px));padding:10px 12px;background:#36452af7;border:3px ridge #92936c;box-shadow:3px 5px #111e09}.music-panel[hidden]{display:none}.music-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.music-heading strong{font-size:18px;color:#ffe399}.music-panel p{font-size:12px;margin:5px 0 8px}.music-panel button{font-size:12px;background:#596140;border:2px outset #818868;padding:5px 7px;min-height:32px}.music-panel iframe{display:block;width:100%;height:86px;border:0;border-radius:2px;background:#f5f5f5}.music-links{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.music-links button{margin-left:auto}.music-panel small{font-size:11px;color:#d5d5a9}.music-panel a{color:#f1e0a3}@media(max-width:400px){.header-actions #fullscreen{display:none}.header-actions{gap:3px}.header-actions button{padding:3px 4px}.brand{gap:3px}.brand img{width:66px}.brand span{font-size:14px}.topbar{gap:5px}}.music-panel[data-source=video] iframe{height:180px}.music-sources{display:flex;gap:7px;margin:6px 0}.music-sources button[aria-pressed=true]{border-style:inset;color:#ffe399;background:#344226}.music-panel #music-source-note{font-size:11px;color:#c5c99c}@media(orientation:landscape)and (max-height:500px){.music-panel{top:38px;max-height:calc(100svh - 44px);overflow-y:auto}.music-panel[data-source=video] iframe{height:145px}}
