:root{color-scheme:light;--cream:#fff8e7;--ink:#4c3d35;--wood:#bc6945;--mint:#9bbdac;--coral:#de7758;--gold:#e9b95d;font-family:'Nunito',system-ui,'Noto Sans',sans-serif;color:var(--ink);background:#e7dcc0}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit;color:inherit;min-height:44px;border:1px solid #b9aa8e;border-radius:11px;background:var(--cream);padding:9px 12px;font-weight:800}button{cursor:pointer;touch-action:none;box-shadow:0 3px 0 #754b3926}button:active{transform:translateY(2px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.primary{background:var(--wood);color:var(--cream);border-color:#8c5138}[hidden]{display:none!important}#app{position:relative;width:100vw;height:100dvh;overflow:hidden}header{position:absolute;inset:max(8px,env(safe-area-inset-top)) 12px auto;display:flex;gap:10px;align-items:center;background:#fff8e7ed;padding:7px 10px;border:1px solid #d0bf9d;border-radius:13px;box-shadow:0 3px 0 #754b3922}header a{color:var(--wood);text-decoration:none;font-size:25px}header div{flex:1;min-width:0}header strong{font-size:18px;font-weight:900}header small{display:block;font-size:12px}header button{padding:6px 10px;font-size:13px}#pause{min-width:44px;font-size:22px}.hud{position:absolute;top:79px;left:16px;right:16px;display:flex;gap:18px;font-size:13px;font-weight:900;pointer-events:none}#stage{position:absolute;top:104px;bottom:120px;left:0;right:0;overflow:hidden;background:#e9dfc5}#world{width:100%;height:100%;display:block;touch-action:none;outline:none}#minimap{position:absolute;top:8px;left:12px;width:144px;height:69px;border:1px solid #b6a07a;border-radius:7px;opacity:.9;pointer-events:none}#callout{position:absolute;top:18%;left:50%;transform:translateX(-50%);font-size:18px;font-weight:900;background:#fff8e7ef;padding:8px 14px;border-radius:12px;opacity:0;white-space:nowrap;pointer-events:none}#callout.visible{opacity:1}#tip{position:absolute;left:16px;right:16px;bottom:83px;font-size:12px;line-height:1.3;margin:0;max-height:34px;overflow:auto;padding:4px 7px;background:#fff8e7b8;border-radius:7px}#controls{position:absolute;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:14px;align-items:end;justify-content:space-between}.pad{position:relative;display:flex;gap:6px;touch-action:none}.pad button{min-width:54px;min-height:52px;font-size:18px}.pad button[data-dir=jump]{min-width:83px;background:#f0dba8}.padname{position:absolute;left:0;top:-21px;font-weight:900;font-size:12px;display:none}.portraits{display:flex;gap:5px;flex-wrap:wrap;max-width:42%}.portraits button{font-size:13px;padding:8px;min-width:58px}.portraits button[data-shaker="0"]{background:#b9cebc}.portraits button[data-shaker="1"]{background:#e9a48b}.portraits button[aria-pressed=true]{border:2px solid #754b39;transform:translateY(-2px)}button.held{background:#e9bb60!important;transform:translateY(2px)}.second{display:none}.duo .second{display:flex}.duo .portraits{display:none}.duo .padname{display:block}dialog{border:0;border-radius:19px;padding:22px;color:var(--ink);background:var(--cream);width:min(94vw,480px);max-height:94dvh;overflow:auto;box-shadow:0 15px 60px #5b452a66}dialog::backdrop{background:#43362eb3;backdrop-filter:blur(4px)}dialog h1,dialog h2{margin:0 0 12px;line-height:1.12;font-weight:900}dialog h1{font-size:30px}dialog p,dialog li{line-height:1.45}dialog li{margin:9px 0}dialog>button,.menucontent>button{width:100%;margin:7px 0;display:block}#menu{padding:0}.cover{height:168px;background:#a9bdac url('cover.webp');background-position:center;background-size:cover}.menucontent{padding:20px}#records,#smallDuo{font-size:12px}#smallDuo{border-left:3px solid var(--coral);padding-left:8px}.settings{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.settings button{font-size:12px;padding:8px 10px}.settings button[aria-pressed=false]{opacity:.55}.settings select{max-width:160px}#roomgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:14px 0}#roomgrid button{padding:8px 3px;min-height:62px;font-size:16px}#roomgrid small{display:block;font-size:10px;color:#a57536}#resultscore{font-size:23px;font-weight:900}#resultnote{font-size:14px}.overview #minimap{display:none}
@media(max-width:420px){header{left:8px;right:8px;gap:6px}header strong{font-size:15px}header small{font-size:10px}header button{font-size:11px;padding:6px}header #overview{max-width:84px;line-height:1.05}.hud{left:10px;font-size:12px;gap:12px}#stage{top:101px;bottom:143px}#tip{bottom:89px;max-height:45px;font-size:11px;left:10px;right:10px}#controls{gap:6px;left:10px;right:10px}.pad{gap:4px}.pad button{min-width:46px;padding:7px;min-height:54px}.pad button[data-dir=jump]{min-width:66px;font-size:15px}.portraits{max-width:40%;gap:4px}.portraits button{min-width:52px;font-size:11px;padding:6px;max-width:100%}#minimap{width:120px;height:58px;top:7px;left:9px}.cover{height:140px}.menucontent{padding:17px}dialog h1{font-size:27px}#roomgrid{grid-template-columns:repeat(4,1fr)}#callout{font-size:14px;max-width:92%;white-space:normal;text-align:center}}
@media(max-height:460px) and (min-width:421px){header{top:6px;left:8px;right:8px;padding:4px 9px;gap:7px}header strong{font-size:15px}header small{font-size:10px}header button{font-size:11px;min-height:44px}.hud{top:68px;font-size:11px;gap:12px;left:10px}#stage{top:87px;bottom:82px}#tip{bottom:63px;font-size:10px;left:10px;right:10px;max-height:26px;background:#fff8e7cc}#controls{bottom:8px;left:10px;right:10px}.pad button{min-height:45px;min-width:49px;padding:5px;font-size:16px}.pad button[data-dir=jump]{min-width:74px}.portraits button{min-height:45px}.cover{height:100px}#minimap{width:105px;height:50px;top:5px;left:8px}.padname{top:-15px;font-size:10px}#callout{top:9%;font-size:14px}}
@media(max-width:759px){.duo .second{display:none}.duo .padname{display:none}}
@media(prefers-reduced-motion:reduce){button:active{transform:none}dialog::backdrop{backdrop-filter:none}}
@media(max-width:360px){.hud{top:91px}#stage{top:113px}}
