.brand-public-logo{display:flex!important;align-items:center;gap:8px;max-width:min(480px,60vw);text-decoration:none}.brand-public-logo img{max-width:250px;width:auto;height:48px;object-fit:contain}.brand-public-logo img+img{max-width:130px}.brand-public-logo[data-style=small] img+img{max-width:60px}.brand-public-logo[data-style=equal] img{max-width:150px}.brand-public-logo[data-style=large] img:first-child{max-width:90px}.brand-public-logo[data-style=large] img+img{max-width:200px}#brandSecondary{display:block;padding:12px;text-align:center}#brandSecondary img{height:44px;max-width:80vw;object-fit:contain}#brandRestricted{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#111;padding:30px;text-align:center}#brandRestricted p{white-space:pre-wrap;max-width:700px;line-height:1.8;color:#222}#brandPublicLoading{display:flex;align-items:center;justify-content:center;padding:30px}#brandPublicLoading img{max-width:170px;max-height:170px}.brand-spinner{display:block;width:32px;height:32px;border:3px solid #d8e9ff;border-top-color:#3399ff;border-radius:50%;animation:brand-spin .8s linear infinite}.brand-progress{display:block;width:160px;height:5px;border-radius:8px;background:linear-gradient(90deg,#daeaff,#3399ff,#daeaff);background-size:200%;animation:brand-progress 1s linear infinite}.brand-loading-type{font-size:26px;color:#3399ff}.brand-pulse{animation:brand-pulse 1.4s ease-in-out infinite}@keyframes brand-spin{to{transform:rotate(360deg)}}@keyframes brand-progress{to{background-position:200%}}@keyframes brand-pulse{50%{transform:scale(.92);opacity:.6}}@media(max-width:600px){.brand-public-logo img{height:30px;max-width:140px}.brand-public-logo img+img{max-width:70px}.brand-public-logo[data-style=equal] img{max-width:90px}}@media(prefers-reduced-motion:reduce){.brand-spinner,.brand-progress,.brand-pulse{animation:none}}

#brandPublicLoading{flex-direction:column;gap:20px}.brand-skeleton{color:#3399ff;text-align:center}.brand-skeleton img{max-width:120px;max-height:120px}.brand-skeleton span{font-size:40px}

/* Header logo placement, shared by all screen sizes. */
body .shell .top[data-logo-position]{position:relative;display:flex!important;align-items:center;gap:10px}
body .shell .top[data-logo-position] .brand-public-logo{max-width:calc(100% - 78px);min-width:0;overflow:hidden;display:flex;align-items:center;flex-shrink:1}
body .shell .top[data-logo-position] .brand-public-logo img{max-width:100%;height:38px;width:auto;object-fit:contain;flex-shrink:1}
body .shell .top[data-logo-position=left] .brand-public-logo{position:static;transform:none;order:0;justify-content:flex-start}
body .shell .top[data-logo-position=left] .top-right{margin-left:auto;order:1}
body .shell .top[data-logo-position=center] .brand-public-logo{position:absolute;left:50%;transform:translateX(-50%);max-width:calc(100% - 150px);justify-content:center}
body .shell .top[data-logo-position=center] .top-right{margin-left:auto}
body .shell .top[data-logo-position=right] .brand-public-logo{position:static;transform:none;order:1;margin-left:auto;justify-content:flex-end}
body .shell .top[data-logo-position=right] .top-right{order:0;margin-left:0;margin-right:auto}
@media(max-width:360px){body .shell .top[data-logo-position] .brand-public-logo img{height:30px}}
