/* Update state is personal to this browser. It does not alter table state or saved data. */
#app-update-notice[hidden]{display:none!important}
#app-update-notice{position:fixed;z-index:85;top:0;left:0;right:0;min-height:52px;display:flex;align-items:center;justify-content:center;gap:14px;padding:5px max(12px,env(safe-area-inset-right)) 5px max(12px,env(safe-area-inset-left));background:linear-gradient(100deg,#f7df9e,#efc86b);color:#20243b;box-shadow:0 3px 18px #050b2345;font-family:var(--font-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei",sans-serif);font-size:14px;line-height:1.4;border-bottom:1px solid #fff3c3}
#app-update-notice strong{font-size:14px;font-weight:800;white-space:nowrap}
#app-update-notice button{background:#25324e;color:#fff6d9;border-color:#25324e;border-radius:8px;padding:7px 13px;min-height:40px;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 2px 0 #947540}
#app-update-notice button:focus-visible{outline:3px solid #315c9b;outline-offset:2px}
.app-update-glow{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#28545c;box-shadow:0 0 0 4px #29515a25;animation:app-update-pulse 2s ease-in-out infinite}
body.has-app-update:not(:has(main.game)){padding-top:52px}
body.has-app-update:has(main.game) #app-update-notice{top:3px;left:max(10px,env(safe-area-inset-left));right:auto;width:min(268px,calc(100vw - 103px));min-height:40px;height:40px;border-radius:9px;padding:3px 8px;gap:8px;border:1px solid #ffe9ab;justify-content:space-between;font-size:12px;box-shadow:0 2px 12px #0003}
body.has-app-update:has(main.game) #app-update-notice strong{font-size:12px;flex:1;text-align:left}
body.has-app-update:has(main.game) #app-update-notice button{min-height:32px;height:32px;padding:4px 8px;font-size:12px;box-shadow:none}
body.has-app-update:has(main.game) #app-update-notice .app-update-glow{width:6px;height:6px;flex-basis:6px;box-shadow:0 0 0 3px #29515a25}
body.has-app-update:has(main.game) #app>.topbar>.brand{visibility:hidden}
body.has-app-update:has(main.game) #app>.topbar .status{visibility:hidden}
.app-update-status{border:1px solid #8fa3c63d;border-radius:14px;background:#0c162768;padding:16px 18px;font-size:13px;line-height:1.6;text-align:left}
.app-update-status-heading{display:flex;align-items:center;gap:10px;color:#e2eaf6}.app-update-status-heading>strong{font-size:15px;font-weight:700}
.app-update-status[data-update-state=ready]{border-color:#e7cb7da3;background:linear-gradient(115deg,#dbc17b18,#13323e40);box-shadow:inset 3px 0 0 #e6c780}
.app-update-status[data-update-state=ready] .app-update-status-heading{color:#f7dda1}
.app-update-status[data-update-state=current] .app-update-status-heading{color:#a8ded2}
.app-update-new{font-size:10px;font-weight:800;letter-spacing:.7px;line-height:1.3;background:#efd18e;color:#282b40;border-radius:4px;padding:3px 6px}
.app-update-status dl{margin:12px 0 0}.app-update-status dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #a5bbd015}.app-update-status dt{color:#a1b2ca;font-size:12px;flex:0 0 auto}.app-update-status dd{margin:0;color:#d6e1ef;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.app-update-status p{font-size:12px;line-height:1.7;color:#aebed2;margin:12px 0}.app-update-status-actions{display:flex;gap:10px}.app-update-status-actions button{font-size:13px;font-weight:600;min-height:44px;padding:9px 15px}
@keyframes app-update-pulse{50%{box-shadow:0 0 0 7px #29515a0c}}
@media(max-height:540px) and (orientation:landscape){body.has-app-update:has(main.game) #app-update-notice{top:1px;height:34px;min-height:34px;width:268px}body.has-app-update:has(main.game) #app-update-notice button{height:28px;min-height:28px;padding-block:2px}}
@media(max-width:360px){.app-update-status{padding:13px 12px}.app-update-status dl>div{display:block}.app-update-status dd{text-align:left}.app-update-status-actions button{padding-inline:12px}body.has-app-update:has(main.game) #app-update-notice{gap:6px}body.has-app-update:has(main.game) #app-update-notice .app-update-glow{display:none}}
@media(prefers-reduced-motion:reduce){.app-update-glow{animation:none}}
