:root{font-family:system-ui,sans-serif;color:#234b44;background:#b8e1ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{touch-action:manipulation}button,.button,header a{font:800 16px system-ui;min-height:52px;border:2px solid #b6d3b4;border-radius:17px;background:#fff9e9;color:#234b44;padding:12px 18px;cursor:pointer;text-decoration:none;text-align:center}button:hover,.button:hover{background:#fff0c5}button:focus-visible,a:focus-visible{outline:4px solid #e69733;outline-offset:3px}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true]{background:#f8ce75;border-color:#956b2d}.primary{background:#ffd681;border-color:#dab162;min-height:64px}[hidden]{display:none!important}#world{display:block;width:100vw;height:100dvh;touch-action:none}#loading{position:fixed;inset:0;display:grid;place-items:center;background:#d8eedc;font:800 24px system-ui;z-index:30}header{position:fixed;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}header>*{pointer-events:auto}header b{letter-spacing:.13em;text-shadow:0 2px 4px #fff;color:#234b44}#status{position:fixed;top:82px;left:16px;width:265px;border:1px solid #a7c8a3;border-radius:23px;background:#ffffeae8;padding:16px;pointer-events:none}h1,h2,p{margin:0 0 12px}#status h1{font-size:21px;margin:9px 0}#status p{font-size:14px;margin:8px 0}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:900}#progress{color:#597c56;font-weight:800}.map-button{position:fixed;right:16px;top:153px;min-height:64px}#message{position:fixed;bottom:185px;left:50%;transform:translateX(-50%);width:min(520px,70vw);text-align:center;padding:12px 18px;border-radius:18px;background:#ffffeae5;pointer-events:none}#characters{position:fixed;bottom:42px;left:50%;transform:translateX(-50%);display:flex;gap:5px}#characters button{padding:10px;min-width:70px}#joystick{position:fixed;left:28px;bottom:45px;width:132px;height:132px;border:2px solid #fff9e9aa;border-radius:50%;background:#3e786733;touch-action:none;display:grid;place-items:center}#joystick b{position:absolute;bottom:10px;font-size:11px;letter-spacing:.14em;color:#fff9e9}#stick{width:54px;height:54px;border:2px solid #fff9e9;border-radius:50%;background:#fff2c4aa;pointer-events:none}.interact{position:fixed;right:28px;bottom:45px;width:200px;min-height:80px}dialog{color:#234b44;max-height:90dvh;width:min(660px,94vw);padding:0;border:1px solid #bbd4b3;border-radius:28px;background:#fff9e9;box-shadow:0 20px 80px #183e4970}dialog::backdrop{background:#16352e88}.panel{padding:28px;display:flex;flex-direction:column;gap:10px}.panel>button,.panel>.button{width:100%}.panel h1{font-size:32px}.panel p{line-height:1.5}.animal-strip{font-size:36px;letter-spacing:.12em}.small,footer{font-size:12px;color:#5a7769}footer{margin-top:8px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.tiles button{min-height:82px;text-align:left;line-height:1.4}.tiles small{display:block;font-size:12px;font-weight:500}.moves{display:flex;gap:8px;justify-content:center}.moves button{min-height:72px;flex:1;font-size:18px}.cue{font-size:24px;font-weight:900;text-align:center;min-height:38px}.challenge-panel{gap:5px}#dojo-art{width:100%;max-height:26dvh;object-fit:contain;background:#d9e8c8;border-radius:18px}#challenge-progress{text-align:center;font-weight:900}#feedback{min-height:24px;text-align:center}#win{text-align:center;background:#e6edc9;padding:16px;border-radius:18px}#win button{margin:5px;min-height:64px}#memory-moves{font-size:26px;text-align:center}#voice-controls button{width:100%;margin:5px 0;min-height:64px}#save-status{color:#925a24}.arcade-shop-link{font-size:13px!important;min-height:44px!important}@media(max-width:700px){header b{font-size:11px}header a,header button{font-size:13px;padding:8px;min-height:44px}#status{top:72px;width:210px;padding:12px}#status h1{font-size:17px}#status p{font-size:12px}.map-button{top:142px;font-size:14px;min-height:52px;padding:8px}#joystick{left:12px;width:108px;height:108px;bottom:95px}#stick{width:45px;height:45px}.interact{width:152px;right:12px;bottom:95px;min-height:72px;font-size:14px}#characters{bottom:22px}#message{bottom:222px;width:85vw;font-size:13px}.panel{padding:20px}.panel h1{font-size:26px}.tiles button{font-size:14px;padding:12px}.animal-strip{font-size:28px}.moves button{font-size:15px;padding:8px}}@media(max-height:550px){#status{width:220px;top:66px;padding:10px}#status p{margin:4px 0;font-size:11px}#status h1{font-size:17px}#joystick{width:94px;height:94px;bottom:32px}.interact{bottom:32px;min-height:64px}#characters{bottom:32px}#message{bottom:130px;padding:8px;font-size:12px}.panel{padding:16px}.panel h1{font-size:24px}dialog{max-height:96dvh}#dojo-art{max-height:24dvh}}
