:root{font-family:system-ui,'Malgun Gothic',sans-serif;color:#304e42;background:#253b31;font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{display:grid;place-items:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y;background:radial-gradient(ellipse,#435a45,#202f29)}button,a,input{-webkit-tap-highlight-color:transparent}button,a.button,.icon{font:inherit;font-size:14px;color:inherit;cursor:pointer;min-width:44px;min-height:44px;border:0;border-radius:11px}button{background:#e7eddd;padding:10px 12px}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid #ba923e;outline-offset:-3px}button:active:enabled,a.button:active{filter:brightness(.95)}[hidden]{display:none!important}a{color:inherit}.game-shell{width:min(100%,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))*9/16));height:auto;aspect-ratio:9/16;background:#fff9e8;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 70px #081b1d66;position:relative}.game-top,.game-bottom{flex:0 0 8.75%;min-height:44px;display:flex;align-items:center;gap:4px;padding:0 6px;background:#fffaf0;z-index:2}.game-top h1{font-size:15px;white-space:nowrap;letter-spacing:-.8px;margin:0;flex:1}.icon{display:grid;place-items:center;background:transparent;font-size:24px;line-height:1;text-decoration:none;flex-shrink:0;padding:0;width:44px;height:44px}.coin-pill{display:flex;gap:4px;align-items:center;background:#f5e6b9;border-radius:16px;padding:5px 8px;white-space:nowrap;max-width:108px;overflow:hidden}.coin-pill i{font-style:normal;color:#bf9233;font-size:14px}.coin-pill strong{font-size:13px;overflow:hidden;text-overflow:ellipsis}.arena{flex:0 0 82.5%;position:relative;width:100%;min-height:0;background:#e7e4ce;overflow:hidden;touch-action:pan-y}canvas{width:100%;height:100%;display:block;touch-action:none}.field-status{position:absolute;top:6px;left:7px;right:7px;display:flex;justify-content:space-between;gap:4px;pointer-events:none}.field-status span{font-size:13px;font-weight:600;background:#fff9e8e8;border:1px solid #d3d9bc;border-radius:12px;padding:4px 8px;line-height:18px}.region-brief{position:absolute;top:41px;left:7px;right:7px;z-index:3;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:7px 10px;border:1px solid #d5c99e;border-radius:12px;background:#fffaf0ed;box-shadow:0 3px 12px #27372b30;pointer-events:none;min-height:47px}.region-brief[hidden]{display:none}.region-kicker{grid-column:1;font-size:10px;font-weight:800;color:#8b7444;white-space:nowrap}.region-brief strong{grid-column:2;font-size:13px;line-height:1.2;color:#355b48;min-width:0}.region-brief p{grid-column:1/-1;margin:0;font-size:12px;line-height:1.35;color:#5a6c55;white-space:normal;overflow-wrap:anywhere}.research-section-title{grid-column:1/-1;margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#e2ead5;color:#3e614a;font-size:14px;font-weight:800;text-align:left}.region-brief{position:absolute;top:41px;left:7px;right:7px;z-index:3;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:7px 10px;border:1px solid #d5c99e;border-radius:12px;background:#fffaf0ed;box-shadow:0 3px 12px #27372b30;pointer-events:none;min-height:47px}.region-brief[hidden]{display:none}.region-kicker{grid-column:1;font-size:10px;font-weight:800;color:#8b7444;white-space:nowrap}.region-brief strong{grid-column:2;font-size:13px;line-height:1.2;color:#355b48;min-width:0}.region-brief p{grid-column:1/-1;margin:0;font-size:12px;line-height:1.35;color:#5a6c55;white-space:normal;overflow-wrap:anywhere}.research-section-title{grid-column:1/-1;margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#e2ead5;color:#3e614a;font-size:14px;font-weight:800;text-align:left}.region-brief{position:absolute;top:41px;left:7px;right:7px;z-index:3;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:7px 10px;border:1px solid #d5c99e;border-radius:12px;background:#fffaf0ed;box-shadow:0 3px 12px #27372b30;pointer-events:none;min-height:47px}.region-brief[hidden]{display:none}.region-kicker{grid-column:1;font-size:10px;font-weight:800;color:#8b7444;white-space:nowrap}.region-brief strong{grid-column:2;font-size:13px;line-height:1.2;color:#355b48;min-width:0}.region-brief p{grid-column:1/-1;margin:0;font-size:12px;line-height:1.35;color:#5a6c55;white-space:normal;overflow-wrap:anywhere}.research-section-title{grid-column:1/-1;margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#e2ead5;color:#3e614a;font-size:14px;font-weight:800;text-align:left}.room-exit{position:absolute;top:43px;right:8px;background:#fff8e8ed;border:1px solid #d3c9aa;font-size:13px}.game-bottom{justify-content:space-between;border-top:1px solid #d3d9bd}.game-bottom #bagInfoBtn{flex:1;background:none;text-align:left;padding:5px 8px;max-width:190px}.game-bottom b{font-size:13px;display:block}.bag-meter{display:block;width:96px;height:4px;background:#dde6cb;border-radius:2px;margin-top:5px;overflow:hidden}.bag-meter i{display:block;height:100%;width:0;background:#91ad77}.game-bottom #saveState{font-size:13px;color:#71826a;white-space:nowrap}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:10px;background:#e8ead5c9;backdrop-filter:blur(3px);touch-action:pan-y;z-index:4}.card{background:#fffaf0;border:1px solid #fff;border-radius:18px;padding:18px;width:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;box-shadow:0 8px 30px #49633d29;text-align:center;font-size:14px;scrollbar-width:thin}.card h2{font-size:23px;letter-spacing:-.8px;line-height:1.3;margin:3px 0 12px}.card p{font-size:14px;line-height:1.65;margin:10px 0;color:#63795d}.card .small{font-size:13px;line-height:1.6}.cover{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-radius:11px;margin-bottom:14px}.welcome{padding:14px}.welcome h2{font-size:25px}.welcome p{margin:8px 0}.primary{display:block;width:100%;background:#557d5b;color:#fffcef;font-weight:700;min-height:48px;box-shadow:0 2px 0 #3b5b41;margin-top:12px}.button{display:flex;align-items:center;justify-content:center;text-decoration:none;width:100%;background:#e7edda;margin-top:8px;font-size:14px;line-height:1.5;padding:10px 12px}.button-row{display:flex;gap:8px;margin-top:10px}.button-row>button{flex:1;font-size:13px;padding:8px 5px}.check{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px solid #dce3cc;padding:6px 3px;font-size:14px}.check input{width:24px;height:24px;accent-color:#63875a}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.card-head h2{margin:0;text-align:left}.card-head button{font-size:13px;white-space:nowrap}.lab-balance{display:flex;align-items:center;justify-content:space-between;background:#f1e2b3;color:#86682c;padding:13px;border-radius:10px;font-size:14px}.lab-balance strong{font-size:18px}.research-list{display:grid;gap:8px;margin-top:12px}.research-list>button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;border:1px solid #d0dcc2;min-height:90px;background:#ecf1e1;padding:12px}.research-list>button:disabled{background:#ece9dd}.research-list b{font-size:15px;display:block}.research-list small{font-size:13px;display:block;margin-top:5px;line-height:1.5;color:#6e8063}.research-list i{font-size:13px;display:block;font-style:normal;color:#82906c;margin-top:4px}.research-list em{font-style:normal;white-space:nowrap;font-size:13px;color:#86682c}.research-list span{min-width:0}.research-card>p{font-size:13px}.sales{display:flex;flex-direction:column;gap:6px;padding:8px 0 18px}.sales strong{font-size:32px;color:#65845c}.inventory{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #d6dfc6;padding:14px 0}.inventory h3{grid-column:1/-1;font-size:15px;margin:0 0 4px}.inventory div{display:flex;justify-content:space-between;padding:8px;border-radius:8px;background:#edf1e1;font-size:14px}.card h3{font-size:15px;line-height:1.6}.hint{background:#e5ecd6;border-radius:10px;padding:12px;text-align:left;font-size:14px}.hint p{margin-bottom:0}.danger{color:#975a43;background:#f5e6d9}.toast{position:absolute;bottom:10px;left:10px;right:10px;background:#fff4ce;border:1px solid #c7aa62;border-radius:10px;padding:12px;font-size:13px;line-height:1.6;z-index:8;pointer-events:none}.toast:empty{display:none}#joystick{position:absolute;display:none;width:88px;height:88px;border-radius:50%;border:1px solid #73936b99;background:#fff6dc55;pointer-events:none}#joystick i{position:absolute;top:28px;left:28px;width:32px;height:32px;border-radius:50%;background:#729569aa}.rotate{display:none;position:fixed;inset:0;background:#253b31;color:#fff8df;z-index:20;place-content:center;text-align:center;padding:20px;font-size:16px}.rotate>span{font-size:44px}.rotate .button{color:#304e42}@media(max-height:500px) and (orientation:landscape){.rotate{display:grid}.game-shell{visibility:hidden}}@supports not(height:100dvh){.game-shell{width:min(100%,calc((100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))*9/16))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.game-top h1{min-width:0;overflow:hidden;text-overflow:ellipsis}.coin-pill{min-width:0;flex-shrink:1}

.research-card .card-head{position:sticky;top:-18px;background:#fffaf0;z-index:1;padding:8px 0}

/* 마켓 연구소: 화면을 가득 채우지 않는 간단한 팝업 (아래쪽 시트, 설명 없이 이름·단계·가격만) */
#research{align-items:flex-end;padding:0 6px 6px;background:transparent;backdrop-filter:none}
#research .research-card{padding:10px 12px 12px;max-height:50%;border-radius:16px;box-shadow:0 -4px 22px #49633d40}
#research .research-card>p{display:none}
#research .card-head{top:-10px;padding:2px 0 6px;margin-bottom:4px}
#research .card-head h2{font-size:18px}
#research .lab-balance{padding:7px 12px;font-size:13px}
#research .lab-balance strong{font-size:16px}
#research .research-list{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
#research .research-list>button{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:0;padding:7px 10px}
#research .research-list b{font-size:14px}
#research .research-list small{display:none}
#research .research-list i{font-size:11px;margin-top:1px}
#research .research-list em{font-size:13px;font-weight:700;margin-top:2px}
#research #labNotice{display:none}
#research .research-list>button[hidden]{display:none}

/* 연구소 팝업 더 촘촘하게: 이름·단계는 왼쪽 두 줄, 가격은 오른쪽 한 줄 */
#research .research-card{padding:8px 10px 10px;max-height:46%}
#research .card-head{padding:0 0 4px;margin-bottom:3px}
#research .card-head h2{font-size:16px}
#research .card-head button{padding:6px 10px;font-size:12px;min-height:0}
#research .lab-balance{padding:5px 10px;font-size:12.5px}
#research .lab-balance strong{font-size:15px}
#research .research-list{gap:5px;margin-top:6px}
#research .research-list>button{flex-direction:row;align-items:center;justify-content:space-between;gap:6px;padding:5px 9px;min-height:0;line-height:1.15}
#research .research-list b{font-size:13px}
#research .research-list i{font-size:10.5px;margin-top:0}
#research .research-list em{font-size:12.5px;margin:0;white-space:nowrap}

.order-board{margin:10px 0;padding:10px;border:1px solid #d9dfcb;border-radius:12px;background:#faf9ee}.order-board>b{font-size:11px;color:#66805f}.order-board p{margin:5px 0;font-size:11px;color:#827b60}.order-board button{width:100%;padding:9px;border-radius:8px;background:#5a8060;color:#fff9e9;font-size:11px}.order-board button:disabled{background:#d8ddcd;color:#9aa18e}.order-board small{display:block;margin-top:6px;font-size:9px;color:#8c997d}.order-quick{min-width:44px;padding:0 8px;height:34px;border-radius:9px;background:#e8eddb;color:#58725d;font-size:11px;white-space:nowrap}.order-quick:disabled{opacity:.48}.inventory{max-height:260px;overflow:auto}

.diff{display:flex;gap:8px;margin:10px 0}.diff button{flex:1;padding:10px 6px;border-radius:12px;border:2px solid #cfd6bd;background:#f4f1e2;color:#6b7a5d;font-size:13px}.diff button[aria-pressed=true]{border-color:#5a8060;background:#e2edd3;color:#34553a;font-weight:700}

.langslot{margin:8px 0;text-align:center}.lang-pick{padding:8px 12px;border-radius:12px;border:2px solid #cfd6bd;background:#f4f1e2;color:#34553a;font-size:14px}
