:root{font-family:'Segoe UI','Yu Gothic UI',Meiryo,sans-serif;color:#f2f3e6;background:#15383f;font-synthesis:none;--gold:#f4cb74;--muted:#aac7bf}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#315b56,transparent 70%),#15383f}button,a{touch-action:manipulation}button{font:inherit;font-weight:650;color:inherit;border:1px solid #77948655;border-radius:12px;min-height:44px;padding:10px 14px;background:#254c4f;cursor:pointer}button:hover{background:#3c6560}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:inherit;text-decoration:none}header{max-width:1380px;margin:auto;padding:18px 24px;display:flex;align-items:center;gap:24px}.back{font-size:13px}.identity{flex:1}.identity>span{font-size:10px;letter-spacing:.24em;color:var(--gold)}h1{font-size:26px;letter-spacing:.08em;margin:0}.header-actions{display:flex;gap:7px}.header-actions button{font-size:12px}main{max-width:1380px;padding:0 24px 16px;margin:auto}.game{position:relative;isolation:isolate;height:min(73vh,760px);min-height:510px;border-radius:20px;overflow:hidden;background:#5babbb;box-shadow:0 24px 60px #00182044;border:1px solid #88c2bb66}canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px!important}.top-hud{position:absolute;top:17px;left:17px;right:17px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.inventory{display:flex;gap:7px}.inventory>div{display:flex;align-items:center;gap:7px;background:#163a43e8;padding:10px 14px;border-radius:12px;border:1px solid #ffffff26;box-shadow:0 3px 10px #16322e22}.inventory span{font-size:11px;color:#cce2d3}.inventory b{font-size:20px;min-width:20px;text-align:right;font-variant-numeric:tabular-nums}.inventory .coins{background:#544831ee}.resource{width:14px;height:14px;display:inline-block;flex:none}.resource.wood{background:#be895a;border:2px solid #efd5a0;border-radius:4px;transform:rotate(-20deg)}.resource.stone{background:#a7bbbd;clip-path:polygon(22% 0,75% 0,100% 65%,65% 100%,0 80%)}.resource.gem{background:#bcb1f0;clip-path:polygon(50% 0,100% 45%,50% 100%,0 45%)}.resource.gold{background:#f2c86e;border:2px solid #ffeea8;border-radius:50%}#pause{pointer-events:auto;background:#183d43ee;width:44px;padding:8px}.objective{position:absolute;left:18px;top:85px;background:#173e43ed;padding:15px 17px;border:1px solid #bdd4b632;border-radius:14px;width:274px;box-shadow:0 10px 20px #16322e20;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:.14em;color:#c8dfaa;display:flex;align-items:center;justify-content:space-between}.objective h2{font-size:18px;margin:9px 0}.objective button{pointer-events:auto;font-size:11px;min-height:28px;padding:3px 9px;border-radius:7px;background:#ffffff0d}.objective #requirements{display:flex;gap:14px;font-size:12px;color:#d5e5cc}.objective .ready{color:#ffdf88}.goal-progress,.bag-track{height:5px;background:#0a292d66;border-radius:6px;overflow:hidden;margin-top:11px}.goal-progress i,.bag-track i{height:100%;display:block;background:var(--gold);transition:width .12s}.bottom-hud{position:absolute;left:18px;right:18px;bottom:17px;display:flex;justify-content:space-between;align-items:flex-end;gap:15px;pointer-events:none}.bag{background:#143b40ed;padding:12px 16px;border:1px solid #fff3;border-radius:13px;min-width:290px}.bag>div:first-child{display:flex;justify-content:space-between;gap:25px}.bag b{font-size:12px}.bag span{font-size:11px;color:#c7dec9}.sell{pointer-events:auto;background:#f3ce7b;color:#344d40;border:0;font-size:13px}.sell:disabled{opacity:.7;background:#254b50;color:#c3d4c6}.sell span{font-size:10px;margin-left:12px;border:1px solid currentColor;padding:2px 5px;border-radius:3px}.toast{position:absolute;left:50%;bottom:91px;transform:translateX(-50%);max-width:min(550px,90%);text-align:center;background:#14393fef;border:1px solid #e9d39855;color:#fff2cf;font-size:13px;line-height:1.7;padding:11px 19px;border-radius:12px;pointer-events:none;transition:opacity .4s}.toast.faded{opacity:0}.upgrade-bar{display:flex;align-items:center;gap:10px;padding:16px 0}.upgrade-heading{flex:1;min-width:150px}.upgrade-heading>span{font-size:15px;font-weight:700;display:block}.upgrade-heading small{display:block;margin-top:6px;font-size:11px;color:var(--muted)}.upgrade-bar button{flex:1;display:flex;align-items:center;gap:13px;max-width:290px;text-align:left;min-width:0;padding:12px 15px;background:#25494b}.upgrade-icon{font-size:25px;color:var(--gold)}.upgrade-bar button b{display:block;font-size:13px}.upgrade-bar button small{display:block;font-size:10px;margin-top:4px;color:#b9d0be}.upgrade-bar button strong{margin-left:auto;font-size:13px;color:var(--gold);white-space:nowrap}.upgrade-bar button[data-ready=true]{border-color:#e3c87988}footer{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);flex-wrap:wrap}footer button{font-size:10px;min-height:30px;padding:5px 9px}dialog{background:#244b4b;color:#f1f2e2;border:1px solid #99b4a4;border-radius:20px;padding:27px;max-width:530px;width:calc(100% - 28px);max-height:90dvh;box-shadow:0 30px 80px #001d29aa}dialog::backdrop{background:#102b35b8;backdrop-filter:blur(4px)}dialog h2{font-size:25px}dialog li,dialog p{font-size:13px;line-height:1.9}dialog li{margin-bottom:8px}dialog ol{padding-left:20px}.primary,#resume{background:var(--gold);border:0;color:#28473f}.dialog-actions{display:flex;gap:8px;justify-content:flex-end}#pause-overlay{position:absolute;inset:0;background:#153a43a8;backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5}#pause-overlay h2{font-size:34px;margin:0}#pause-overlay p{font-size:13px;color:#d9e3d0;margin-bottom:25px}[hidden]{display:none!important}
@media(max-width:900px){.upgrade-heading{display:none}.inventory>div{padding:9px 11px}.objective{width:238px}.game{height:70vh;min-height:460px}header{padding:13px 16px}main{padding:0 14px 14px}.identity h1{font-size:23px}.upgrade-bar button{max-width:none}}@media(max-width:600px){header{padding:11px 12px;gap:12px}.back{font-size:10px}.identity>span{font-size:8px}.identity h1{font-size:19px}.header-actions button{padding:7px 9px;font-size:10px;min-height:36px}.header-actions #sound{display:none}main{padding:0 8px 12px}.game{height:calc(100dvh - 180px);min-height:470px;max-height:850px;border-radius:15px}.top-hud{top:10px;left:9px;right:9px;gap:5px}.inventory{gap:4px;flex:1}.inventory>div{padding:7px;gap:5px;flex:1;justify-content:center;border-radius:9px}.inventory b{font-size:16px;min-width:16px}.inventory span{display:none}.resource{width:12px;height:12px}#pause{min-height:37px;width:37px}.objective{top:61px;left:10px;width:209px;padding:10px 12px;border-radius:10px}.objective h2{font-size:15px;margin:6px 0}.objective .eyebrow{font-size:8px}.objective #requirements{font-size:10px;gap:9px}.goal-progress{margin-top:8px}.bottom-hud{left:9px;right:9px;bottom:10px;gap:7px}.bag{min-width:0;flex:1;padding:10px 11px}.bag>div:first-child{gap:9px}.bag b{font-size:10px}.bag span{font-size:9px}.sell{font-size:11px;min-height:49px;padding:8px 10px}.sell span{display:none}.toast{bottom:79px;font-size:11px;padding:9px 12px;width:90%}.upgrade-bar{gap:6px;padding:10px 0}.upgrade-bar button{padding:10px 7px;gap:6px;border-radius:10px;flex-wrap:wrap}.upgrade-icon{font-size:18px}.upgrade-bar button b{font-size:11px}.upgrade-bar button small{font-size:9px}.upgrade-bar button strong{font-size:10px}.upgrade-bar button>span:nth-child(2){flex:1}.upgrade-bar button strong{margin-left:25px}footer{gap:7px;font-size:9px}footer>span:nth-child(2){display:none}}@media(max-height:500px) and (min-width:600px){header{padding:6px 15px}.game{height:calc(100dvh - 132px);min-height:240px}.objective{top:65px;padding:8px 12px;width:210px}.objective h2{font-size:13px;margin:4px 0}.objective .goal-progress{margin-top:6px}.upgrade-bar{padding:7px 0}.upgrade-bar button{padding:7px 12px}.toast{bottom:68px;font-size:11px}.top-hud{top:9px}.inventory>div{padding:6px 11px}.bottom-hud{bottom:8px}.bag{padding:8px 12px}.identity h1{font-size:19px}.identity>span{font-size:8px}.header-actions button{min-height:32px;padding:6px 10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:600px){.upgrade-bar button{display:grid;grid-template-columns:18px minmax(0,1fr);gap:5px;padding:9px 7px}.upgrade-bar button>span:nth-child(2){min-width:0}.upgrade-bar button b,.upgrade-bar button small{white-space:nowrap}.upgrade-bar button b{font-size:11px}.upgrade-bar button small{font-size:8px}.upgrade-bar button strong{grid-column:1 / -1;margin:0;text-align:right}.upgrade-icon{font-size:17px}}
@media(max-height:500px) and (min-width:600px){.toast{left:auto;right:14px;top:64px;bottom:auto;transform:none;max-width:40%;font-size:10px}}
