@font-face{font-family:Bangers;src:url(../fonts/bangers/Bangers-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{font-family:Trebuchet MS,ui-sans-serif,system-ui,sans-serif;color:#e9eee2;background:#142e2a;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:280px;min-height:100svh;background:radial-gradient(ellipse at 60% 0%,#284b3c 0,#142e2a 65%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}.app{width:min(1240px,100%);padding:26px max(24px,env(safe-area-inset-right)) 20px max(24px,env(safe-area-inset-left));margin:auto}.app[data-screen=title]{width:min(1480px,100%);min-height:100svh;display:flex;align-items:center;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.title-screen{position:relative;isolation:isolate;width:100%;aspect-ratio:1672 / 941;border:1px solid #76976b;border-radius:20px;overflow:hidden;background:#1e5a43 url(../art/concept-v1/forest-background.png) center / cover;box-shadow:0 26px 80px #051d2580}.title-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102f2beb 0%,#102f2bc7 25%,#102f2b4a 46%,transparent 65%),linear-gradient(0deg,#0d362a66,transparent 25%)}.title-content{position:relative;width:48%;padding:clamp(24px,5.5vw,80px);min-height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.title-eyebrow{font-size:clamp(8px,.85vw,12px);letter-spacing:.2em;color:#e9efc4;font-weight:700;white-space:nowrap}.title-eyebrow>span{color:#f2c668;margin-right:8px}.title-name{font-family:Trebuchet MS,ui-sans-serif,system-ui,sans-serif;font-size:clamp(38px,6.1vw,88px);line-height:.94;letter-spacing:-.065em;font-weight:900;margin:27px 0 0;color:#fff9e4;text-shadow:0 3px 0 #36503b,0 7px 24px #092e27}.title-name>span{display:block;font-size:.5em;letter-spacing:.115em;color:#f7cd72;margin-top:12px}.title-description{font-size:clamp(12px,1.2vw,17px);line-height:1.7;color:#e5ebda;margin:27px 0}.start-button{min-height:50px;padding:15px 23px;border:1px solid #ffe1a1;border-radius:8px;background:#f4c86d;color:#273f2f;box-shadow:0 4px #aa7938,0 8px 25px #062d2850;font-size:clamp(12px,1.1vw,16px);font-weight:700;white-space:nowrap}.start-button>span{margin-left:24px}.start-button:hover{background:#ffdd93}.start-button:active{transform:translateY(2px);box-shadow:0 2px #aa7938}.start-button:focus-visible{outline:3px solid #fff5cb;outline-offset:5px}.title-help{font-size:10px;color:#c7d8b6;margin:19px 0 0;letter-spacing:.03em}.title-chapter{position:absolute;right:27px;bottom:23px;display:flex;align-items:center;gap:10px;color:#fff6db;font-weight:700;font-size:23px;text-shadow:0 2px 6px #163c2a}.title-chapter>span{font-size:9px;letter-spacing:.15em;font-weight:400}.masthead{display:flex;align-items:center;justify-content:space-between;margin:0 0 25px}.wordmark{display:flex;align-items:center;gap:10px;color:#f5f0dc;text-decoration:none;font-weight:900;font-size:17px;letter-spacing:2px;line-height:1.1}.brand-flower{font-size:43px;color:#ecb958;font-weight:400}.wordmark-sub{display:block;margin-top:4px;font-size:10px;letter-spacing:4px;font-weight:500}.chapter{display:flex;gap:9px;align-items:center;color:#b8c7b3;font-size:10px;letter-spacing:2px}.status-dot,.live-dot{display:inline-block;height:6px;width:6px;background:#b2cc7d;border-radius:50%}.chapter-number{border:1px solid #5c7261;padding:5px 7px;margin-left:8px;border-radius:5px;color:#e7e7cc}.game-card{border:1px solid #53634b;border-radius:15px;overflow:hidden;background:#f8f5e9;box-shadow:0 28px 70px #061d2550}.game-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 25px;color:#2c473c}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#758267}h1{font-size:clamp(17px,2.5vw,23px);letter-spacing:-.6px;font-weight:600;margin:4px 0 0}.toolbar-actions{display:flex;gap:8px}.toolbar-actions button{padding:9px 11px;background:transparent;border:1px solid #d3d9c7;border-radius:6px;font-size:16px;color:#425745}.toolbar-actions button span{font-size:10px;margin-left:5px}.toolbar-actions svg{vertical-align:-2px}button:hover{background:#e6ead9}button:focus-visible,a:focus-visible{outline:3px solid #c28c38;outline-offset:3px}.stage{position:relative;width:100%;aspect-ratio:16 / 9;background:#243f34;overflow:hidden}canvas{display:block;width:100%;height:100%;outline:none;touch-action:none;user-select:none;-webkit-user-select:none}canvas:focus-visible{outline:3px solid #edc56e;outline-offset:-3px}.game-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;background:#eef0e3;color:#69765f;font-size:9px;letter-spacing:1.5px}.live-dot{background:#739268;margin-right:7px}.caption-divider{color:#a6ae96;margin:0 9px}#game-status{letter-spacing:.3px;text-align:right;font-size:10px}.footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;color:#9bb1a0;font-size:10px}.keyboard-help{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:0}.keyboard-help span{margin:0 13px 0 3px}kbd{display:inline-block;font:9px ui-monospace,monospace;padding:4px 6px;border:1px solid #52695b;border-bottom-width:2px;border-radius:4px;color:#d2ddc8}.footer-note{margin:0;color:#8ca391;white-space:nowrap}.footer-note span{color:#d8ae62;margin-left:9px}.touch-help,.portrait-note{display:none}.pause-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f8f5e9;background:#153d35df;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pause-panel[hidden]{display:none}.pause-panel h2{margin:12px 0 0;font-size:clamp(24px,4vw,38px);font-weight:500}.pause-panel .eyebrow{color:#c0d39f}.pause-panel p{color:#bdceb9;font-size:13px}.pause-panel button{border:0;border-radius:6px;padding:12px 20px;color:#284c38;background:#e2e9b6;font-size:13px}.pause-panel button span{margin-left:12px}.toolbar-actions button[aria-pressed=true]{background:#dce7bb;border-color:#91a56a}.complete-panel{background:radial-gradient(ellipse at 50% 35%,#31543ded,#153d35f2);padding:18px 12px;overflow-y:auto;justify-content:flex-start}.complete-panel>*{flex-shrink:0}.complete-panel>:first-child{margin-top:auto}.complete-panel>:last-child{margin-bottom:auto}.complete-panel .eyebrow{color:#f3cc76}.complete-panel .complete-note{font-size:11px;margin:0 15px 22px;text-align:center}.fullscreen-bar{display:none}@media(pointer:coarse){.keyboard-help{display:none}.touch-help{display:block;margin:0}}@media(max-width:600px){.app{padding:15px max(12px,env(safe-area-inset-right)) 15px max(12px,env(safe-area-inset-left))}.masthead{margin-bottom:16px}.chapter{font-size:8px;letter-spacing:1px}.chapter-number{display:none}.wordmark{font-size:13px}.wordmark-sub{font-size:8px}.brand-flower{font-size:34px}.game-toolbar{padding:14px}.toolbar-actions button{padding:7px 9px}.toolbar-actions button span{display:none}.game-caption{padding:11px 12px;font-size:8px;letter-spacing:.5px}#game-status{font-size:8px}.footer-note{display:none}.footer{line-height:1.7}}@media(orientation:portrait)and (pointer:coarse){.portrait-note{display:block;text-align:center;font-size:11px;color:#bdcaaa;line-height:1.7;margin-top:20px}}@media(max-height:540px)and (orientation:landscape){.app{padding-top:max(7px,env(safe-area-inset-top));padding-bottom:max(7px,env(safe-area-inset-bottom))}.masthead{display:none}.game-toolbar{padding:8px 16px}.game-toolbar h1{font-size:16px}.game-toolbar .eyebrow{font-size:7px}.toolbar-actions button{padding:5px 9px}.stage{height:calc(100svh - 118px);aspect-ratio:auto}.game-caption{padding-top:7px;padding-bottom:7px}.footer{margin-top:8px;font-size:9px}}@media(max-width:700px)and (orientation:portrait){.app[data-screen=title]{padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}.title-screen{aspect-ratio:auto}.title-art{position:relative;display:block;aspect-ratio:16 / 10;height:auto;object-fit:cover}.title-shade{display:none}.title-content{width:100%;padding:28px 30px 34px;background:linear-gradient(140deg,#23513a,#153c31)}.title-name{font-size:clamp(44px,12vw,76px);margin-top:18px}.title-description{font-size:13px;margin:21px 0}.title-eyebrow{font-size:9px}.title-chapter{display:none}}@media(max-height:540px)and (orientation:landscape){.app[data-screen=title]{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.title-screen{aspect-ratio:auto;min-height:calc(100svh - 16px);border-radius:13px}.title-art{object-position:center}.title-content{padding:24px 5%;width:48%}.title-name{font-size:clamp(38px,7vw,64px);margin-top:17px}.title-description{margin:19px 0;font-size:12px}.start-button{min-height:44px;padding:12px 17px}.title-help{margin-top:15px;font-size:9px}.title-chapter{right:18px;bottom:18px}}.stage:fullscreen{width:100%;height:100%}.stage:-webkit-full-screen{width:100%;height:100%}html.game-expanded,html.game-expanded body{overflow:hidden;overscroll-behavior:none}.stage[data-presentation=expanded]{position:fixed;z-index:10;left:var(--expanded-left, 0px);top:var(--expanded-top, 0px);width:var(--expanded-width, 100vw);height:var(--expanded-height, 100dvh)}.stage[data-presentation=expanded],.stage[data-presentation=native]{aspect-ratio:auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.stage[data-presentation=expanded] canvas,.stage[data-presentation=native] canvas{flex:1 1 0%;min-height:0}.stage[data-presentation=expanded] .fullscreen-bar,.stage[data-presentation=native] .fullscreen-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto;position:relative;z-index:2;padding:4px 8px;background:#142e2a}.fullscreen-bar p{margin:0;max-width:680px;font-size:11px;line-height:1.35}.fullscreen-bar button{flex-shrink:0;min-height:44px;padding:6px 12px;border:1px solid #76976b;border-radius:6px;background:#243f34;color:#f8f5e9;font-size:12px}@media(max-width:450px){.fullscreen-bar button{max-width:110px}}
