:root{--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-top:env(safe-area-inset-top,0px)}
html,body{overflow-x:clip}
.app-install-button,.app-update-button{position:fixed;right:18px;bottom:18px;z-index:70;min-height:44px;padding:0 17px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:linear-gradient(135deg,#ed334d,#c91f3a);box-shadow:0 14px 40px rgba(0,0,0,.38);color:#fff;font:800 13px/1 "Segoe UI","Microsoft YaHei UI",sans-serif;cursor:pointer}
.app-install-button span,.app-update-button span{margin-right:7px;font-size:17px}.app-install-button[hidden]{display:none!important}.app-update-button{bottom:72px;background:linear-gradient(135deg,#2f7cf6,#174da8)}.app-update-button:disabled{opacity:.6;cursor:wait}
.app-tabbar{display:none}.app-legal-links{display:inline-flex;gap:12px;margin-left:14px}.app-legal-links a{color:inherit;text-decoration:none}.app-legal-links a:hover{color:#fff}.app-toast{position:fixed;left:50%;bottom:88px;z-index:90;width:min(420px,calc(100% - 32px));padding:13px 16px;border:1px solid rgba(120,173,255,.32);border-radius:13px;background:rgba(3,13,32,.96);box-shadow:0 18px 50px rgba(0,0,0,.45);color:#f7f9ff;font:700 13px/1.55 "Segoe UI","Microsoft YaHei UI",sans-serif;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .2s,transform .2s}.app-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:720px){
  html{scroll-padding-bottom:90px}
  body{padding-bottom:calc(72px + var(--app-safe-bottom))!important;-webkit-tap-highlight-color:transparent}
  button,a,input,select,textarea{touch-action:manipulation}
  .site-header,body>header{padding-top:var(--app-safe-top)}
  .app-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:65;display:grid;grid-template-columns:repeat(5,1fr);height:calc(64px + var(--app-safe-bottom));padding:6px 6px var(--app-safe-bottom);border-top:1px solid rgba(184,211,255,.16);background:rgba(3,13,32,.94);box-shadow:0 -12px 35px rgba(0,0,0,.28);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
  .app-tabbar:before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:linear-gradient(90deg,#ed334d 0 33%,#fff 33% 66%,#2f7cf6 66%)}
  .app-tabbar a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:11px;color:#7f94b7;text-decoration:none}
  .app-tabbar a span{font:500 21px/1 system-ui}.app-tabbar a small{font:700 10px/1.2 "Segoe UI","Microsoft YaHei UI",sans-serif}
  .app-tabbar a.active{background:rgba(237,51,77,.1);color:#fff}.app-tabbar a.active span{color:#ff6676}
  .app-install-button{right:12px;bottom:calc(76px + var(--app-safe-bottom));min-height:42px}.app-update-button{right:12px;bottom:calc(126px + var(--app-safe-bottom));min-height:42px}
  .app-toast{bottom:calc(82px + var(--app-safe-bottom))}
  dialog,.overlay{max-height:calc(100dvh - 64px - var(--app-safe-bottom))}
}
@media(max-width:420px){
  .site-header{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
  .site-header .brand{min-width:0;gap:6px}
  .site-header .brand-logo{width:46px;height:46px}
  .site-header .brand-copy{min-width:0}
  .site-header .brand strong{font-size:13px!important;letter-spacing:.05em!important;white-space:nowrap}
  .site-header .brand strong em{display:none}
  .site-header .header-actions{margin-left:auto;gap:4px}
  .site-header .language-switcher{padding:2px 4px}
  .site-header .language-switcher select{width:58px!important}
  .site-header .header-cta{padding:7px 6px;font-size:10px!important;white-space:nowrap}
}
@media(max-width:640px){.app-legal-links{margin:8px 0 0}}
@media(display-mode:window-controls-overlay){
  .site-header,body>header{-webkit-app-region:drag;app-region:drag}
  .site-header a,.site-header button,.site-header input,.site-header select,.site-header dialog,body>header a,body>header button,body>header input,body>header select{-webkit-app-region:no-drag;app-region:no-drag}
}
@media(display-mode:standalone){.app-install-button{display:none!important}}
@media(prefers-reduced-motion:reduce){.app-toast{transition:none}}
