:root{font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;color:#344d44;background:#dce7ce;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{height:100dvh;-webkit-user-select:none;user-select:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;border-radius:24px;background:#477f69;color:#fff9e9;font-weight:800;min-height:52px;padding:12px 26px;touch-action:none;box-shadow:0 5px 0 #2f5e4d}button:active{transform:translateY(3px);box-shadow:0 2px 0 #2f5e4d}button:focus-visible,a:focus-visible{outline:4px solid #eb9b36;outline-offset:4px}button:disabled{opacity:.55;cursor:wait}a{color:#5b7167;text-underline-offset:4px;padding:12px;display:block;font-size:14px}#game-shell{position:fixed;inset:0;overflow:hidden}#game{position:absolute;inset:0}canvas{display:block;touch-action:none}#hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px;pointer-events:none}.portraits{display:flex;gap:10px;margin-right:auto}.badge{display:flex;align-items:center;gap:5px;padding:4px 14px 4px 5px;border:3px solid transparent;border-radius:30px;background:#fff9e2b8;color:#657c6a;font-weight:800;backdrop-filter:blur(12px);font-size:16px}.badge img{width:38px;height:47px;object-fit:contain}.badge.active{background:#fff5dc;border-color:#efc268;color:#354d41;box-shadow:0 4px 14px #375e3920}.badge.powered::after{content:'✦';color:#c78827}.stars{background:#fff9dfc9;border-radius:24px;padding:12px 19px;color:#ae7820;font-size:23px}#pause{pointer-events:auto;border-radius:50%;width:54px;height:54px;padding:0;font-size:23px;background:#355d60a6;box-shadow:none;border:2px solid #fff9}#controls{position:absolute;bottom:max(17px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));display:flex;justify-content:space-between;pointer-events:none}.move,.actions{display:flex;gap:15px;align-items:flex-end}#controls button{pointer-events:auto;border-radius:50%;width:78px;height:78px;padding:0;border:3px solid #fff9e9d9;background:#36534b91;backdrop-filter:blur(8px);box-shadow:0 4px 0 #243e3829;font-size:34px;color:#fffaf0;display:flex;align-items:center;justify-content:center;flex-direction:column}#controls button small{font-size:11px;margin-top:-3px}#controls #power{background:#bf70a8c9}#controls #switch{background:#588ca9c9}#controls button.pressed{background:#efbb67;color:#334d42}#controls button.prompt{animation:pulse 1s infinite}#controls button.cooldown{opacity:.5}#hint{position:absolute;top:max(92px,calc(env(safe-area-inset-top) + 75px));left:50%;transform:translateX(-50%);border-radius:24px;background:#fff8e6ed;box-shadow:0 6px 25px #33533a13;padding:9px 20px;font-weight:700;font-size:17px;text-align:center;pointer-events:none;display:flex;align-items:center;gap:9px;max-width:85vw;white-space:nowrap}#hint img{width:28px;height:36px;object-fit:contain}.veil{position:absolute;inset:0;background:#263f4c40;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:5}.card{max-width:440px;width:100%;padding:25px 36px 16px;border-radius:32px;background:#fff9eaf2;box-shadow:0 18px 90px #274d4c38;text-align:center;max-height:95dvh;overflow:auto;border:2px solid #fff9}.card h1{font-size:35px;line-height:1.13;margin:9px 0;color:#375e50}.card h1 em{font-style:normal;color:#b48345;font-size:26px}.card h2{margin:4px 0 18px;font-size:26px}.eyebrow{font-size:10px;letter-spacing:3px;color:#8b9c73;font-weight:800}.hero-pair{display:flex;justify-content:center;height:142px;margin:4px 0 12px}.hero-pair img{width:110px;object-fit:contain}.card button{width:100%;margin:6px 0}.card button.secondary{background:#e2eadb;color:#3b5e4e;box-shadow:0 4px 0 #cad8c2}.card p{font-size:15px;margin:7px 0;color:#6a796b}.reward{height:130px;max-width:100%}#reward-name{font-weight:800;font-size:21px;color:#b17e41;margin-bottom:18px}#rotate{z-index:10;background:#dfebddeb}.rotate-icon{font-size:66px;color:#779a78}#load-message:empty{display:none}[hidden]{display:none!important}@keyframes pulse{50%{box-shadow:0 0 0 9px #ffedac80;transform:scale(1.05)}}@media(max-height:500px){.card{padding:15px 30px 10px;max-width:380px}.card h1{font-size:26px}.card h1 em{font-size:21px}.hero-pair{height:100px;margin:0}.card button{min-height:45px;padding:9px 20px}.card a{padding:8px}.badge{font-size:13px}.badge img{width:28px;height:34px}.stars{font-size:19px;padding:9px 14px}#pause{width:44px;height:44px;min-height:44px}#hint{top:65px;font-size:14px;padding:5px 14px}#hint img{height:28px}#controls button{width:66px;height:66px;font-size:29px}.move,.actions{gap:12px}.reward{height:98px}}

/* Painted atlas portraits; the existing controls/layout remain unchanged. */
.portrait-asset{display:inline-block;flex-shrink:0;width:45px;height:45px;background-size:400% 200%;background-position:0 100%;background-repeat:no-repeat}.hero-pair .portrait-asset{width:142px;height:142px}#hint .portrait-asset{width:36px;height:36px}@media(max-height:500px){.badge .portrait-asset{width:32px;height:32px}.hero-pair .portrait-asset{width:100px;height:100px}}

#game-shell:fullscreen{width:100%!important;height:100%!important}.card{max-height:calc(100% - 24px)}
