:root{--b:#0758d8;--b2:#0b6ff2;--navy:#0e2b5c;--muted:#6b7280;--line:#dce7f7}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:#13213a;background:#f3f7ff}
body{min-height:100dvh}.hidden{display:none!important}
.shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 50% -10%,rgba(11,111,242,.12),transparent 38%),linear-gradient(180deg,#f9fbff,#eef5ff)}
.card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px 20px 22px;text-align:center;box-shadow:0 20px 55px rgba(27,72,145,.13)}
.logo{width:96px;height:96px;object-fit:contain;border-radius:22px;box-shadow:0 12px 28px rgba(7,88,216,.15)}
h1{margin:15px 0 3px;font-size:29px;color:var(--navy)}.sub{margin:0 0 20px;font-size:14px;color:var(--muted)}
.status{display:flex;gap:12px;align-items:center;text-align:left;background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:13px 14px}
.status b{display:block;font-size:14px;color:var(--navy)}.status small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.4}
.spinner{width:32px;height:32px;flex:0 0 32px;border:3px solid #dce9fb;border-top-color:var(--b);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.box{margin-top:15px}.btn{width:100%;border-radius:13px;padding:13px 15px;margin-top:9px;font-size:14px;font-weight:800;cursor:pointer}
.primary{border:0;background:linear-gradient(135deg,var(--b2),var(--b));color:white;box-shadow:0 9px 20px rgba(7,88,216,.18)}
.secondary{background:white;color:#184c99;border:1px solid #bfd2ef}.hint{font-size:11px;line-height:1.45;color:#6b7280;background:#f8fafc;border:1px solid #e5e7eb;border-radius:11px;padding:10px;text-align:left}
.icon{font-size:34px;margin-bottom:7px}.box p{font-size:12px;color:var(--muted);line-height:1.5}.foot{margin:17px 0 0;font-size:10.5px;color:#8a98ad;line-height:1.45}
#updateBar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(410px,calc(100% - 28px));display:flex;justify-content:space-between;align-items:center;background:#0f2d60;color:#fff;padding:10px 12px;border-radius:13px;font-size:12px;box-shadow:0 12px 30px rgba(0,0,0,.22)}
#updateBar button{border:0;border-radius:8px;padding:7px 10px;font-weight:800}
@media(max-width:480px){.card{padding:24px 15px 19px;border-radius:22px}.logo{width:88px;height:88px}h1{font-size:26px}}
