[hidden] { display: none !important; }
.site-logo { width: 36px; height: 36px; object-fit: contain; flex: 0 0 36px; }
.logo, .account-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.logo span, .account-brand span { overflow-wrap: anywhere; }
.website-background { position: relative; isolation: isolate; background-image: none !important; overflow: hidden; }
.website-background::before, .website-background::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.website-background::before, .ui-portal .hero.website-background::before { background-image: var(--website-image); background-size: cover; background-position: var(--website-position); opacity: var(--website-image-opacity); }
.website-background::after { background: var(--website-overlay); opacity: var(--website-overlay-opacity); }
.website-announcement { padding: 22px 24px; border-top: 1px solid #dde8e5; background: #eef4f1; color: #263d33; text-align: center; }
.website-announcement p { margin: 0; white-space: pre-line; }
.website-registration-status { margin: 24px 0; padding: 18px 0; border-block: 1px solid #dbe3df; line-height: 1.8; white-space: pre-line; }
.website-account-help { margin-top: 18px; color: #54645c; font-size: 14px; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; }
.website-agreement { max-height: 240px; overflow: auto; padding: 12px; border: 1px solid #dbe3df; margin-bottom: 16px; font-size: 14px; }
.website-agreement img, .library-cover { max-width: 100%; object-fit: cover; }
.library-cover { width: 100%; height: 112px; margin-bottom: 12px; }
.ui-home .hero h1, .ui-account h2, .ui-account h3 { overflow-wrap: anywhere; }
.ui-account .btn-login, .ui-account .btn-register { height: auto; min-height: 45px; padding: 10px 16px; white-space: normal; overflow-wrap: anywhere; }
.ui-account .account-brand { flex: 1; }
.ui-account .account-nav > a:last-child { max-width: 35%; white-space: normal; overflow-wrap: anywhere; }
.ui-home .hero h1 { font-size: 40px; line-height: 1.3; letter-spacing: 0; }
@media (max-width: 767px) {
    .ui-home .hero h1 { font-size: 28px; }
    .ui-home .logo { font-size: 16px; }
    .ui-account .account-brand { max-width: calc(100% - 80px); font-size: 15px; }
    .ui-account .register-left { display: block; padding: 24px; }
}
