[hidden] { display: none !important; }
.member-gate { min-height:100dvh; display:grid; place-items:center; padding:40px 24px; background:radial-gradient(ellipse at 50% 0,rgba(189,126,102,.11),transparent 62%),#101113; }
.member-gate-card { width:min(100%,540px); padding:46px; border:1px solid #34363e; border-radius:24px; background:#191a1f; box-shadow:0 24px 80px #0004; }
.member-brand { display:inline-block; max-width:100%; margin-bottom:36px; color:#e5e7eb; font-size:clamp(20px,4.5vw,27px); font-weight:650; line-height:1.35; letter-spacing:-.6px; text-decoration:none; overflow-wrap:anywhere; }
.member-gate h1 { font-size:clamp(26px,4vw,36px); margin:14px 0 18px; line-height:1.35; }
.member-gate-description { color:#b1bdcc; line-height:1.85; margin-bottom:30px; }
.member-login-options { display:grid; gap:14px; }
.member-login-options a,.member-login-options button { justify-content:center; width:100%; text-decoration:none; min-height:54px; }
.member-discord { gap:12px; }
.member-telegram span { font-size:12px; margin-left:8px; opacity:.7; }
.member-login-options button:disabled { opacity:.5; cursor:not-allowed; }
.member-gate-note,.member-gate-footnote { color:#8491a3; font-size:13px; line-height:1.8; }
.member-gate-footnote { margin:38px 0 0; padding-top:24px; border-top:1px solid #30323a; }
.member-gate-identity,.member-account-identity,.member-row-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.member-gate-identity { margin-bottom:24px; }
.member-avatar { height:40px; width:40px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.member-avatar-fallback { display:grid; place-items:center; color:#b9d5f2; background:#263447; font-weight:700; }
.member-gate-actions { display:flex; flex-wrap:wrap; gap:12px; }
.member-account { flex:1; min-width:0; }
.member-account-identity { gap:10px; }
.member-account .member-avatar { width:34px; height:34px; }
.member-account-labels { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; }
.member-account-identity strong { display:block; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#dce3ec; font-size:12px; font-weight:500; }
.member-role-badge { display:inline-block; padding:1px 5px; border:1px solid #384351; border-radius:4px; color:#a6bad1; background:#252d38; font-size:8px; font-weight:600; line-height:1.5; letter-spacing:.7px; }
.profile-account-enabled > .avatar,.profile-account-enabled > .profile-identity { display:none; }
.profile-account-enabled #profile-menu-button { margin-left:auto; }
.profile-menu [data-member-menu-divider] { height:1px; margin:6px 4px; border:0; background:#343842; }
.mode-catalog .profile-menu [data-member-menu-divider] { display:none; }
.member-mode .mode-switch,.member-mode .local-only,.member-mode #add-button,.member-mode #storage-notice,.member-mode .library-actions { display:none!important; }
.member-mode.mode-catalog .favorite-button { display:flex; }
.account-enabled.mode-catalog .favorite-button { display:flex; }
.detail-rating .detail-rating-edit { margin-left:6px; padding:4px 7px; font-size:12px; line-height:1.5; }
.personal-rating-dialog { width:min(520px,calc(100vw - 32px)); padding:28px; border:1px solid #3a3b43; border-radius:14px; background:#191a1f; }
.personal-rating-dialog .dialog-heading { align-items:center; }
.personal-rating-dialog .dialog-heading h2 { margin:0; font-size:22px; }
.personal-rating-dialog .me-rating-field { margin-top:24px; }
.personal-rating-dialog .me-rating-row { gap:12px; }
.personal-rating-dialog .dialog-actions { margin-top:24px; }
.personal-rating-dialog .icon-button svg { width:20px; height:20px; }
.personal-rating-error { margin:16px 0 0; color:#eda58c; font-size:13px; line-height:1.7; }
.personal-rating-error:focus-visible { outline:1px solid #bc8c78; outline-offset:5px; }
.personal-rating-dialog button:disabled,.personal-rating-dialog input:disabled { opacity:.55; cursor:wait; }
.member-admin-dialog { width:min(920px,calc(100vw - 40px)); max-height:90dvh; background:#191b20; color:#e5e7eb; border:1px solid #353842; border-radius:20px; padding:32px; }
.member-admin-dialog::backdrop { background:#000b; }
.member-admin-toolbar { display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; margin-top:24px; }
.member-admin-toolbar label,.member-row-actions > label { display:grid; gap:8px; font-size:13px; color:#aebdce; }
.member-admin-toolbar label:nth-child(2) { flex:1; }
.member-admin-dialog select,.member-admin-dialog input[type=search] { background:#101318; color:#d2dfef; border:1px solid #363d49; padding:10px 12px; border-radius:8px; min-height:42px; }
.member-admin-message { min-height:24px; color:#e2a68d; line-height:1.7; font-size:14px; }
.member-admin-list { display:grid; gap:18px; }
.member-admin-row { padding:22px; border:1px solid #343c47; border-radius:12px; background:#15191e; }
.member-row-heading h3 { font-size:16px; margin:0 0 8px; overflow-wrap:anywhere; }
.member-row-heading small { margin-left:12px; color:#97a9bd; font-size:12px; }
.member-status { display:inline-block; padding:3px 9px; border-radius:6px; font-size:12px; color:#b5cbe6; background:#263548; }
.member-status-pending { color:#ebbd8b; background:#423123; }.member-status-approved { color:#91ccac; background:#223a2e; }.member-status-rejected,.member-status-suspended { color:#dc9f9b; background:#442d31; }
.member-admin-row fieldset { border:0; padding:0; margin:22px 0; }.member-admin-row legend { font-size:13px; color:#b2c1d2; margin-bottom:12px; }
.member-grants { display:flex; flex-wrap:wrap; gap:10px; }.member-grants label { display:flex; align-items:center; gap:8px; padding:8px 12px; background:#1f2630; border:1px solid #344355; border-radius:8px; font-size:13px; }.member-grants input { accent-color:#d69d85; height:17px; width:17px; }
.member-row-actions { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; }.member-row-actions button { min-height:42px; padding:10px 15px; font-size:13px; }.member-admin-empty { text-align:center; padding:44px 12px; color:#8d9caf; }
.member-admin-dialog :focus-visible,.member-gate :focus-visible,.member-account :focus-visible { outline:2px solid #b2d1f2; outline-offset:4px; }
@media(max-width:600px) { .member-gate-card{padding:28px 22px}.member-brand{margin-bottom:28px}.member-admin-dialog{padding:22px 16px}.member-admin-row{padding:18px 14px}.member-admin-toolbar{align-items:stretch}.member-admin-toolbar label{flex:1;min-width:130px}.personal-rating-dialog{padding:22px 18px}.personal-rating-dialog .me-rating-stars{max-width:100%;gap:1px}.personal-rating-dialog .me-star{width:clamp(20px,6vw,25px);font-size:clamp(20px,6vw,25px)} }
