:root{--rpx:calc(min(100vw,600px)/750);font-family:'Microsoft YaHei',sans-serif;color:#203f35;background:#d8ddd3}*{box-sizing:border-box}body{margin:0}#game{max-width:600px;margin:auto;background:#f1efe3;min-height:100vh;padding-bottom:68px}.mini-root{display:contents}img{max-width:100%}button,input,select,textarea{font:inherit}button,[role=button]{cursor:pointer}button{border:1px solid #849b87;background:#244d3e;color:#fff;padding:10px 16px;border-radius:5px}button:disabled{opacity:.5}input,textarea,select{background:#fffdf5;color:#203f35;border:1px solid #9dad99;border-radius:4px;padding:10px;max-width:100%}.web-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#173d31;color:#e8ddbb;padding:8px 12px;position:sticky;top:0;z-index:100}.web-header button{padding:5px 10px;background:transparent}.web-tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,600px);display:flex;background:#173d31;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.web-tabs button{flex:1;border:0;border-radius:0;background:transparent;color:#bac8ae;height:58px}.web-tabs .active{color:#ecd79d;background:#28533f}.web-toast,.web-loading{position:fixed;z-index:10000;left:50%;top:44%;transform:translate(-50%,-50%);padding:18px 24px;background:#173c30ed;color:#fff;border-radius:8px;max-width:90vw}.web-dialog{border:1px solid #9fa780;border-radius:12px;background:#f8f4e8;color:#233d31;max-width:min(92vw,440px);padding:25px}.web-dialog::backdrop{background:#071e16aa}.web-dialog p{white-space:pre-wrap;line-height:1.7}.web-dialog button{margin:8px}.web-dialog input{width:100%}#auth{min-height:100vh;background:radial-gradient(ellipse at 20% 30%,#dfe7d1,transparent 70%),linear-gradient(135deg,#f7f3e6,#c4d4c6);padding:8vh 24px}.auth-card{max-width:380px;margin:auto}.auth-card h1{font-family:serif;font-size:36px;letter-spacing:5px;font-weight:500}.seal{border:1px solid #8c5b48;color:#8c5b48;width:52px;padding:12px;text-align:center;writing-mode:vertical-rl;letter-spacing:5px}.auth-card form{margin-top:36px}.auth-card label{display:block;font-size:14px;margin:20px 0}.auth-card input{display:block;width:100%;margin-top:8px;padding:14px}.auth-card button{width:100%;padding:14px}.auth-card .secondary{background:transparent;color:#274c3c;margin-top:12px}.auth-note{margin-top:36px;font-size:12px;opacity:.7}#auth-error{color:#9b382b}.update-banner{width:100%;background:#805e2d;position:sticky;top:50px;z-index:101}canvas{display:block;width:100%;height:100%}[hidden]{display:none!important}

.web-header{height:50px}.battle-nav{top:50px!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:min(100%,600px)}

.sync-block{position:fixed;inset:0;z-index:20000;background:#173d31f5;color:#e8ddbb;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;text-align:center}
.update-banner{height:42px}body:has(.update-banner) .battle-nav{top:92px!important}

.web-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;font-size:13px}.web-tab-icon{width:25px;height:25px;opacity:.65}.web-tabs .active .web-tab-icon{opacity:1;filter:drop-shadow(0 0 5px #d7b46666)}
:root:has(.rc-cinema),body:has(.rc-cinema){overflow:hidden;overscroll-behavior:none}
:root:has(.gr-overlay),body:has(.gr-overlay){overflow:hidden;overscroll-behavior:none}

/* Gift workshop owns one inner scroll area below the web chrome. */
html:has(.giftbox-page),body:has(.giftbox-page){height:100%;overflow:hidden;overscroll-behavior:none}
#game:has(.giftbox-page){--gift-shell-banner:0px;--gift-shell-tabs:0px;height:100vh;height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}
#game:has(.giftbox-page):has(.update-banner){--gift-shell-banner:42px}
#game:has(.giftbox-page):has(.web-tabs){--gift-shell-tabs:calc(58px + env(safe-area-inset-bottom,0px))}
#game .giftbox-page{height:calc(100vh - 50px - var(--gift-shell-banner,0px) - var(--gift-shell-tabs,0px))!important;height:calc(100dvh - 50px - var(--gift-shell-banner,0px) - var(--gift-shell-tabs,0px))!important;min-height:0;overflow:hidden}
#game:has(.web-tabs) .giftbox-page{padding-bottom:0!important}
#game .giftbox-page .battle-nav-wrapper{flex-shrink:0}
#game:has(.giftbox-page) .update-banner{display:block}

:root:has(.forge-reveal-modal),body:has(.forge-reveal-modal){overflow:hidden;overscroll-behavior:none}
:root:has(.equip-v23 .modal-mask),body:has(.equip-v23 .modal-mask),:root:has(.forge-mask),body:has(.forge-mask){overflow:hidden;overscroll-behavior:none}
