.account-slot { position:relative; flex-shrink:0; }
.account-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; border:2px solid #fb7185; background:#3b2031; color:#fff; font-weight:800; overflow:hidden; padding:0; cursor:pointer; }
.account-avatar img { width:100%; height:100%; object-fit:cover; }
.account-menu { position:absolute; right:0; top:calc(100% + 12px); min-width:225px; padding:8px; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 14px 40px #0004; z-index:100; }
.account-menu[hidden] { display:none; }
.account-menu a,.account-menu button { display:block; width:100%; padding:11px 12px; text-align:left; border-radius:9px; font-size:13px; color:inherit; text-decoration:none; background:transparent; border:0; }
.account-menu a:hover,.account-menu button:hover { background:#fb71851a; }
.account-menu .menu-name { padding:8px 12px 12px; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
header .site-header-layout { grid-template-columns:auto minmax(200px,1fr) auto auto; gap:18px; }
.account-mobile { display:none; }
@media(min-width:768px) and (max-width:1099px) {
 header .site-header-layout { grid-template-columns:auto 1fr auto; }
 .site-header-layout > nav { grid-row:2; grid-column:1 / -1; }
 .account-desktop { grid-column:3; grid-row:1; }
}
@media(max-width:767px) {
 .account-mobile { display:block; }
 .account-desktop { display:none; }
 .account-avatar { width:34px; height:34px; }
 .watch-header .account-avatar { width:34px; height:34px; }
}
.account-page { background:#0d0b11; color:#f8fafc; font-family:var(--font-ui); min-height:100vh; margin:0; }
html.light .account-page { background:#f7f4f7; color:#18181b; }
.account-header { display:flex; align-items:center; justify-content:space-between; max-width:1160px; margin:auto; padding:18px 24px; gap:16px; }
.account-brand { color:#f43f5e; font-weight:900; letter-spacing:.08em; text-decoration:none; font-size:24px; }
.account-header-actions { display:flex; gap:14px; align-items:center; }
.account-main { width:min(1100px,100%); margin:24px auto 80px; padding:0 24px; }
.account-main.narrow { max-width:520px; margin-top:60px; }
.account-panel { background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:28px; margin-bottom:22px; }
.account-panel h1 { font-size:26px; font-weight:800; margin:0 0 12px; line-height:1.2; }
.account-panel h2 { font-size:18px; margin:0 0 18px; font-weight:750; }
.account-panel p { font-size:14px; line-height:1.7; color:var(--muted); margin:10px 0 20px; }
.account-panel a { color:var(--accent); }
.account-form { display:grid; gap:16px; }
.account-form label { display:grid; gap:8px; font-size:13px; font-weight:600; }
.account-form input,.account-form textarea,.account-form select,.account-table select { background:transparent; color:inherit; width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 12px; font:inherit; }
.account-form textarea { min-height:100px; resize:vertical; }
.account-form input[readonly] { color:var(--muted); }
.account-action { background:#e11d48; color:white; border:0; padding:12px 18px; font-size:13px; font-weight:750; border-radius:11px; cursor:pointer; text-decoration:none; display:inline-block; }
.account-action.secondary { background:transparent; border:1px solid var(--line); color:inherit; }
.account-action:disabled { opacity:.5; cursor:wait; }
.account-message { color:var(--accent); font-size:13px; line-height:1.6; white-space:pre-line; }
.account-muted { color:var(--muted); font-size:12px; }
.account-badge { background:#fb71851a; border-radius:20px; padding:5px 10px; display:inline-block; font-size:11px; color:var(--accent); }
.account-table-wrap { overflow:auto; }
.account-table { border-collapse:collapse; width:100%; font-size:13px; text-align:left; }
.account-table th,.account-table td { padding:14px 10px; border-bottom:1px solid var(--line); vertical-align:middle; }
.account-table th { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.account-table select { min-width:150px; }
.account-table option { background:var(--surface); }
.account-stat { font-size:42px; font-weight:850; color:var(--accent); }
.admin-toolbar { display:flex; align-items:end; gap:14px; flex-wrap:wrap; }
.admin-toolbar label { flex:1; min-width:140px; }
.invite-result { margin:18px 0; padding:16px; background:#fb718510; border-radius:14px; overflow-wrap:anywhere; }
.invite-result code { display:block; margin:10px 0; font-size:16px; user-select:all; }
.account-pagination { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:20px; }
.profile-heading { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.profile-heading .account-avatar { width:64px; height:64px; }
@media(max-width:600px) { .account-header { padding:16px; } .account-main { padding:0 16px; } .account-panel { padding:22px 18px; } .account-main.narrow { margin-top:28px; } .account-brand { font-size:20px; } }

.account-page { background:#09070c; background-image:radial-gradient(ellipse at 0 0,#e11d481c,transparent 55%); }
html.light .account-page { background:#f7f5f8; background-image:radial-gradient(ellipse at 0 0,#f43f5e0b,transparent 55%); }
.account-brand { font-family:'M PLUS Rounded 1c','Plus Jakarta Sans',sans-serif; background:linear-gradient(100deg,#fb7185,#ec4899,#e11d48); background-clip:text; -webkit-background-clip:text; color:transparent; }
.profile-main { max-width:1100px; }
.profile-page-heading { margin:28px 0; }
.profile-eyebrow { text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.16em; color:var(--accent); }
.profile-page-heading h1,.collection-heading h1 { font-size:32px; font-weight:850; letter-spacing:-.03em; margin:8px 0; }
.profile-page-heading p,.collection-heading p { color:var(--muted); font-size:13px; margin:0; }
.profile-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:24px; align-items:start; }
.profile-summary { padding:0 24px 26px; text-align:center; overflow:hidden; }
.profile-cover { height:105px; margin:0 -24px; background:radial-gradient(at 15% 10%,#fb718559,transparent 70%),linear-gradient(135deg,#3c1227,#211625); }
html.light .profile-cover { background:linear-gradient(135deg,#fecdd3,#fce7f3); }
.profile-summary #profile-avatar { width:96px; height:96px; border:5px solid var(--surface); margin:-48px auto 18px; position:relative; font-size:32px; cursor:default; }
.profile-summary h2 { margin-bottom:12px; overflow-wrap:anywhere; }
.profile-summary .profile-telegram { font-size:12px; }
.profile-collection-link { display:flex; justify-content:space-between; align-items:center; padding:16px; margin:22px 0; border:1px solid var(--line); border-radius:14px; text-decoration:none; font-size:12px; }
.profile-collection-link strong { font-size:20px; }
.profile-identity { display:grid; grid-template-columns:1fr auto; gap:7px; padding:15px; border:1px solid var(--line); border-radius:12px; color:var(--muted); font-size:12px; }
.profile-identity small { grid-column:1/-1; font-size:11px; }
.avatar-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.avatar-upload-label { cursor:pointer; }
.account-panel .account-form button { justify-self:start; }
.favorite-toggle { position:absolute; top:10px; left:10px; z-index:3; width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; padding:8px; border:1px solid #ffffff36; border-radius:50%; background:#121017d9; color:#fff; cursor:pointer; }
.favorite-toggle svg { width:20px; height:20px; flex-shrink:0; fill:transparent; stroke:currentColor; stroke-width:1.8; }
.favorite-toggle.is-saved { color:#fb7185; }
.favorite-toggle.is-saved svg { fill:currentColor; }
.favorite-toggle:disabled { opacity:.5; cursor:wait; }
.favorite-detail { position:static; width:auto; border-radius:12px; padding:10px 16px; gap:9px; font-size:12px; background:#fb718512; color:var(--accent); border-color:var(--line); height:auto; margin-bottom:18px; }
.anime-card { position:relative; }
.anime-card > .card-content { display:flex; flex-direction:column; justify-content:space-between; flex:1; min-width:0; color:inherit; text-decoration:none; }
.favorites-notice { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 32px); padding:13px 18px; border:1px solid var(--line); border-radius:13px; background:var(--surface); color:var(--accent); box-shadow:0 8px 24px #0003; z-index:120; font-size:13px; }
.collection-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; margin:30px 0; }
.collection-count { font-size:16px; vertical-align:middle; color:var(--accent); background:#fb718518; padding:6px 11px; border-radius:20px; }
.favorite-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.favorite-card { position:relative; min-width:0; border-radius:20px; background:var(--surface); border:1px solid var(--line); overflow:hidden; }
.favorite-card > a { text-decoration:none; color:inherit; }
.favorite-poster { aspect-ratio:2/3; background:#71717a22; }
.favorite-poster img { width:100%; height:100%; object-fit:cover; }
.favorite-card-copy { padding:14px; }
.favorite-card-copy > span { font-size:10px; color:var(--accent); }
.favorite-card-copy h2 { font-size:13px; margin:6px 0 0; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.empty-collection { text-align:center; padding:50px 24px; }
.empty-collection > span { font-size:48px; color:var(--accent); }
@media(max-width:900px) { .favorite-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .profile-layout { grid-template-columns:260px minmax(0,1fr); gap:18px; } }
@media(max-width:700px) { .profile-layout { grid-template-columns:minmax(0,1fr); } .favorite-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; } .profile-page-heading h1,.collection-heading h1 { font-size:28px; } }
@media(max-width:480px) { .favorite-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .favorite-toggle { width:34px; height:34px; } .favorite-detail { width:auto; } }
@media(max-width:600px) {
 .account-header-actions { gap:8px; }
 .account-header-actions > a { font-size:0; width:36px; height:36px; padding:0; display:grid; place-items:center; }
 .account-header-actions > a::before { content:'←'; font-size:18px; }
 .account-header-actions #account-theme { padding:9px 12px; }
 .profile-summary .profile-cover { height:80px; }
 .profile-summary #profile-avatar { width:80px; height:80px; margin-top:-40px; margin-bottom:12px; }
 .profile-summary { padding-bottom:20px; }
 .profile-collection-link { margin:16px 0; }
}

/* Shared site shell: catalogue, watch, login, profile, favorites and admin. */
body.site-shell { display:flex; flex-direction:column; min-height:100vh; background:#000; color:#f8fafc; background-image:radial-gradient(circle at 10% 20%,#e11d4826 0%,transparent 40%),radial-gradient(circle at 90% 80%,#9f12391a 0%,transparent 40%); font-family:var(--font-ui); }
html.light body.site-shell { background:#f4f4f6; color:#0f172a; background-image:radial-gradient(circle at 10% 20%,#ef44440f 0%,transparent 40%),radial-gradient(circle at 90% 80%,#f43f5e0a 0%,transparent 40%); }
.site-shell > main { flex-grow:1; }
.site-shell > header { background:rgba(20,20,24,.9); border-bottom:1px solid var(--line); }
html.light .site-shell > header { background:rgba(255,255,255,.94); }
body .site-brand { font-family:'M PLUS Rounded 1c',sans-serif; font-size:30px; line-height:1.2; font-weight:900; letter-spacing:.05em; background:linear-gradient(90deg,#f43f5e,#f472b6,#dc2626); background-clip:text; -webkit-background-clip:text; color:transparent; text-decoration:none; filter:drop-shadow(0 0 12px #f43f5e33); white-space:nowrap; }
.site-shell .account-header { position:sticky; top:0; z-index:50; width:100%; max-width:none; padding:0; border-bottom:1px solid var(--line); background:rgba(20,20,24,.9); }
html.light .site-shell .account-header { background:rgba(255,255,255,.94); }
.account-header-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; max-width:1280px; margin:0 auto; padding:14px 24px; }
.site-shell .account-header-actions { gap:10px; }
body button.theme-toggle { width:40px; height:40px; flex-shrink:0; padding:0; border-radius:14px; border:1px solid var(--line); background:rgba(20,20,24,.9); color:#f43f5e; align-items:center; justify-content:center; font-size:16px; line-height:1; cursor:pointer; box-shadow:0 4px 12px #0001; }
.account-header .theme-toggle { display:inline-flex; }
html.light body button.theme-toggle { background:rgba(255,255,255,.94); color:#e11d48; }
body button.theme-toggle i { font-size:16px; }
.site-footer { width:100%; margin-top:auto; padding:24px 16px; border-top:1px solid var(--line); text-align:center; color:var(--muted); font-size:12px; background:rgba(20,20,24,.9); }
html.light .site-footer { background:rgba(255,255,255,.94); }
.site-footer p { margin:0; }
.site-shell .account-panel { background:#18171d; border-radius:24px; border-color:var(--line); box-shadow:0 8px 24px #0002; }
html.light .site-shell .account-panel { background:#fff; box-shadow:0 4px 18px #18181b08; }
.site-shell .account-action:not(.secondary) { background:linear-gradient(90deg,#e11d48,#dc2626); color:#fff; }
.site-shell .account-action { transition:background-color .15s,border-color .15s; }
.site-shell .account-action.secondary:hover { border-color:#f43f5e88; color:var(--accent); }
.site-shell .account-form input,.site-shell .account-form textarea,.site-shell .account-form select { background:#0003; border-color:var(--line); }
html.light .site-shell .account-form input,html.light .site-shell .account-form textarea,html.light .site-shell .account-form select { background:#00000008; color:#0f172a; border-color:#00000014; }
.site-shell .account-header-actions > .account-action.secondary { font-size:12px; padding:10px 14px; border-radius:12px; }
@media(max-width:767px) {
 body .site-brand { font-size:24px; }
 .account-header-inner { padding:14px 16px; gap:10px; }
 body button.theme-toggle { width:36px; height:36px; border-radius:12px; box-shadow:none; }
 .site-shell .account-panel { box-shadow:none; }
}
@media(max-width:600px) {
 .site-shell .account-header-actions > a.account-action.secondary { font-size:0; width:36px; height:36px; padding:0; }
}
@media(max-width:360px) { body .site-brand { font-size:21px; } }
.profile-slug-field { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.profile-slug-field > span { font-size:12px; color:var(--muted); }
.profile-slug-field > input { flex:1; min-width:140px; }
.profile-slug-help { font-size:11px; font-weight:400; color:var(--muted); line-height:1.6; }
.public-profile-hero { overflow:hidden; }
.public-profile-hero .profile-cover { margin:-28px -28px 0; height:110px; }
.public-profile-heading { display:flex; gap:20px; align-items:center; margin-top:-38px; position:relative; }
.public-profile-heading .account-avatar { width:96px; height:96px; border:5px solid var(--surface); font-size:30px; cursor:default; flex-shrink:0; }
.public-profile-heading > div:last-child { padding-top:42px; min-width:0; }
.public-profile-heading h1 { overflow-wrap:anywhere; }
.member-bio { white-space:pre-wrap; overflow-wrap:anywhere; }
.members-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.member-card { text-align:center; color:inherit; text-decoration:none; min-width:0; }
.member-card .account-avatar { width:72px; height:72px; margin:0 auto 16px; font-size:24px; }
.member-card h2 { font-size:17px; overflow-wrap:anywhere; }
.member-card p { margin-bottom:0; font-size:12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.member-search { max-width:460px; margin-bottom:24px; }
.admin-user-blocked { color:#fb7185; font-size:11px; }
.admin-block-button { min-width:120px; }
@media(max-width:800px) { .members-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }
@media(max-width:600px) { .public-profile-hero .profile-cover { margin:-22px -18px 0; } .public-profile-heading { gap:12px; } .public-profile-heading .account-avatar { width:80px; height:80px; } }
@media(max-width:380px) { .members-grid { grid-template-columns:minmax(0,1fr); } }

.privilege-badges { display:inline-flex; gap:5px; vertical-align:middle; margin-left:8px; line-height:1; white-space:nowrap; }
.privilege-badges:empty { display:none; }
.privilege-badge { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; flex-shrink:0; border-radius:50%; color:var(--accent); background:color-mix(in srgb,var(--accent) 14%,var(--surface)); border:1px solid color-mix(in srgb,var(--accent) 26%,transparent); font-size:11px; vertical-align:middle; }
.public-profile-heading h1 .privilege-badge { width:26px; height:26px; font-size:13px; }
.badge-editor { min-width:210px; border:1px solid var(--line); border-radius:14px; padding:12px; margin:12px 0 0; }
.badge-editor legend { font-size:11px; color:var(--muted); }
.badge-editor label { display:flex; align-items:center; gap:8px; font-size:12px; margin:8px 0; cursor:pointer; }
.badge-editor input { accent-color:var(--accent); }
.badge-editor button { margin-top:8px; }

.privilege-badge svg { width:15px; height:15px; display:block; }

.badge-edit-trigger { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; padding:0; margin-left:8px; border:1px solid var(--line); border-radius:9px; color:var(--muted); background:transparent; cursor:pointer; vertical-align:middle; font-size:11px; }
.badge-edit-trigger:hover { color:var(--accent); border-color:var(--accent); }
.badge-edit-trigger:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.badge-dialog { width:360px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow:auto; padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--surface); color:var(--text); box-shadow:0 24px 80px #0005; }
.badge-dialog::backdrop { background:#0009; }
.badge-dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.badge-dialog-heading h2 { font-size:18px; margin:0; }
.badge-dialog-heading p { color:var(--muted); font-size:13px; margin:6px 0 0; overflow-wrap:anywhere; }
.badge-dialog-heading .badge-edit-trigger { line-height:1; flex-shrink:0; margin:0; }
.badge-dialog-heading .badge-edit-trigger svg { display:block; width:16px; height:16px; flex-shrink:0; }
.badge-dialog .badge-editor { min-width:0; border:0; padding:0; margin:0; }
.badge-dialog .badge-editor label { padding:9px 0; font-size:14px; margin:0; }
.badge-dialog .badge-editor input { width:16px; height:16px; }
.badge-dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }

.badge-dialog { color:#f8fafc; }
html.light .badge-dialog { color:#18181b; }
.members-grid { gap:12px; }
.account-panel.member-card { display:grid; grid-template-columns:44px minmax(0,1fr); gap:4px 12px; align-content:center; align-items:center; text-align:left; padding:14px; margin:0; min-height:82px; border-radius:16px; }
.member-card .account-avatar { grid-column:1; grid-row:1 / 4; width:44px; height:44px; margin:0; font-size:18px; }
.member-card h2 { grid-column:2; margin:0; font-size:14px; line-height:1.4; color:inherit; }
.member-card > .account-badge { grid-column:2; justify-self:start; font-size:10px; padding:3px 7px; }
.member-card p { grid-column:2; font-size:11px; line-height:1.4; margin:0; -webkit-line-clamp:1; }
.member-card .privilege-badges { gap:3px; margin-left:5px; }
.member-card .privilege-badge { width:18px; height:18px; font-size:9px; }
.member-card .privilege-badge svg { width:12px; height:12px; }
@media(max-width:600px) { .members-grid { grid-template-columns:minmax(0,1fr); gap:10px; } }

.account-menu a,.account-menu > button { display:flex; align-items:center; gap:10px; }
.account-menu a > i,.account-menu > button > i { width:16px; flex:0 0 16px; text-align:center; font-size:13px; color:var(--muted); }
.menu-identity { display:flex; align-items:center; gap:6px; flex-wrap:wrap; line-height:20px; }
.menu-role { line-height:1.5; margin-top:3px; }
.menu-identity .privilege-badges { margin:0; }
.privilege-badges { vertical-align:middle; gap:4px; align-items:center; }
.privilege-badge { width:18px; height:18px; font-size:9px; line-height:1; }
.privilege-badge svg { width:12px; height:12px; }
.account-menu .privilege-badge { width:15px; height:15px; font-size:8px; }
.account-menu .privilege-badge svg { width:10px; height:10px; }
.public-profile-heading h1 .privilege-badge { width:19px; height:19px; font-size:10px; }
.public-profile-heading h1 .privilege-badges { position:relative; top:-2px; margin-left:6px; }
.profile-cover { position:relative; overflow:hidden; }
.profile-cover img { display:block; width:100%; height:100%; object-fit:cover; }
#cover-preview .profile-cover { margin:0 0 18px; height:auto; aspect-ratio:3/1; border-radius:14px; }

.admin-section-tabs { display:flex; gap:6px; padding:5px; margin-bottom:22px; border:1px solid var(--line); background:var(--surface); border-radius:14px; width:fit-content; max-width:100%; }
.admin-section-tabs button { background:transparent; color:var(--muted); border:0; padding:10px 14px; border-radius:10px; font:inherit; font-size:13px; }
.admin-section-tabs button[aria-selected=true] { background:var(--accent); color:#fff; }
#admin-overview[hidden],#admin-reserved[hidden] { display:none; }
.reserved-slug-form { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin:24px 0 8px; }
.reserved-slug-form label { flex:1; min-width:180px; }
.reserved-list { margin-top:20px; }
.reserved-row { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); padding:12px 0; }
.reserved-row code { overflow-wrap:anywhere; }
.reserved-row .account-muted { font-size:11px; white-space:nowrap; }

.public-profile-hero.has-cover { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; gap:18px; min-height:310px; color:#fff; --accent:#fda4af; --surface:#17171d; }
.public-profile-hero.has-cover > .profile-cover { position:absolute; inset:0; width:100%; height:100%; margin:0; z-index:-1; }
.public-profile-hero.has-cover > .profile-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,8,14,.45),rgba(8,8,14,.12)),linear-gradient(180deg,rgba(8,8,14,.18) 0%,rgba(8,8,14,.6) 48%,rgba(8,8,14,.9) 100%); }
.public-profile-hero.has-cover .public-profile-heading { margin:0; }
.public-profile-hero.has-cover .public-profile-heading > div:last-child { padding-top:0; }
.public-profile-hero.has-cover h1 { color:#fff; margin-bottom:10px; text-shadow:0 1px 6px #0009; }
.public-profile-hero.has-cover .member-bio { margin:0; color:#f4f4f5; text-shadow:0 1px 4px #000; }
.public-profile-hero.has-cover > .account-muted { color:#e4e4e7; font-size:12px; text-shadow:0 1px 4px #000; }
.public-profile-hero.has-cover .account-badge { background:#18181bb8; color:#fda4af; }
.public-profile-hero.has-cover .account-avatar { border-color:#ffffff50; }
@media(max-width:600px) { .public-profile-hero.has-cover { min-height:280px; gap:16px; } }

.technical-login { border-top:1px solid var(--line); margin-top:24px; padding-top:18px; }
.technical-login summary { cursor:pointer; font-size:13px; color:var(--muted); }
.technical-login form { margin-top:18px; }

.public-profile-hero:not(.has-cover) .public-profile-heading + .account-muted { margin-top:20px; }

.bookmark-toggle { position:absolute; top:10px; left:52px; z-index:3; width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; padding:8px; border:1px solid #ffffff36; border-radius:50%; background:#121017d9; color:#fff; cursor:pointer; }
.bookmark-toggle svg { width:19px; height:19px; fill:transparent; stroke:currentColor; stroke-width:1.8; flex-shrink:0; }
.bookmark-toggle.is-saved { color:#fb7185; }
.bookmark-toggle.is-saved svg { fill:currentColor; }
.bookmark-toggle:disabled { opacity:.5; cursor:wait; }
#title-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
#title-actions .favorite-detail { margin-bottom:0; }
.bookmark-toggle.bookmark-detail { position:static; width:auto; height:auto; min-height:42px; border-radius:12px; padding:10px 16px; gap:9px; font-size:12px; background:#fb718512; color:var(--accent); border-color:var(--line); }
.profile-collections { padding:20px; }
.bookmark-tabs { display:flex; gap:6px; overflow-x:auto; scrollbar-width:thin; padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:18px; }
.bookmark-tabs button { display:flex; align-items:center; justify-content:center; gap:7px; flex-shrink:0; border:1px solid transparent; background:transparent; color:var(--muted); border-radius:11px; padding:9px 12px; font:inherit; font-size:12px; cursor:pointer; }
.bookmark-tabs button small { border-radius:7px; font-size:10px; background:#71717a18; padding:3px 5px; }
.bookmark-tabs button[aria-selected=true] { background:#fb71851c; color:var(--accent); border-color:#fb718533; }
.bookmark-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.bookmark-row { display:flex; align-items:center; gap:8px; padding:9px; border:1px solid var(--line); border-radius:13px; min-width:0; }
.bookmark-row-link { display:flex; align-items:center; gap:10px; flex:1; min-width:0; color:inherit!important; text-decoration:none; }
.bookmark-row-link > div:last-child { min-width:0; }
.bookmark-row-poster { width:42px; height:63px; background:#71717a18; border-radius:7px; overflow:hidden; flex-shrink:0; }
.bookmark-row-poster img { width:100%; height:100%; object-fit:cover; }
.bookmark-row h3 { margin:0 0 6px; font-size:12px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.bookmark-row-link span { font-size:10px; color:var(--muted); }
.bookmark-row-edit { flex-shrink:0; width:28px; height:32px; border:0; border-radius:8px; color:var(--muted); background:transparent; cursor:pointer; }
.bookmark-row-edit:hover { background:#fb71851c; color:var(--accent); }
.collection-more { display:block; margin:20px auto 0; }
.collection-empty.compact { text-align:center; padding:28px 16px; }
.collection-empty.compact > i { font-size:22px; color:var(--accent); }
.collection-empty.compact h3 { font-size:15px; margin:12px 0 0; }
.collection-empty.compact p { font-size:12px; margin-bottom:0; }
.bookmark-choice-form fieldset { border:0; padding:0; margin:0; }
.bookmark-choice-form legend { color:var(--muted); font-size:11px; margin-bottom:8px; }
.bookmark-choice-form label { display:flex; gap:10px; align-items:center; padding:9px 0; font-size:14px; cursor:pointer; }
.bookmark-choice-form input { width:16px; height:16px; accent-color:var(--accent); }
.bookmark-favorite-choice { border-top:1px solid var(--line); margin-top:10px; padding-top:18px!important; }
.bookmark-favorite-choice i { color:var(--accent); }
.profile-settings-group { border:0; border-top:1px solid var(--line); padding:20px 0 0; margin:8px 0 0; min-width:0; }
.profile-settings-group legend { font-size:15px; font-weight:700; padding:0 10px 0 0; }
.profile-social-fields { display:grid; gap:14px; }
.account-form .privacy-check { display:flex; align-items:center; gap:10px; padding:8px 0; line-height:1.6; }
.account-form .privacy-check input { width:17px; height:17px; flex-shrink:0; accent-color:var(--accent); margin:0; }
.profile-socials { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.profile-socials a { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid var(--line); border-radius:10px; color:var(--accent); text-decoration:none; font-size:11px; }
.public-profile-hero.has-cover .profile-socials { margin:0; }
.public-profile-hero.has-cover .profile-socials a { color:#fff; background:#18181b99; border-color:#ffffff30; }
.public-profile-hero .profile-socials + .account-muted { margin-top:16px; }
.public-profile-hero.has-cover .profile-socials + .account-muted { margin-top:0; }
@media(max-width:900px) { .bookmark-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .bookmark-grid { grid-template-columns:minmax(0,1fr); } .profile-collections { padding:14px; } .bookmark-tabs button { padding:9px 10px; } .bookmark-toggle { width:34px; height:34px; left:50px; } }

.account-form .privacy-check input { padding:0; border-radius:4px; }
/* Shared account controls and notification dropdown, on desktop and mobile. */
.account-slot { align-items:center; gap:10px; }
.account-slot.account-desktop,.account-header-actions > .account-slot,.watch-header .account-slot { display:inline-flex; }
.account-slot.has-notifications > .account-menu { right:50px; }
.notification-slot { position:relative; flex-shrink:0; }
.notification-toggle { position:relative; display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--accent); font-size:17px; cursor:pointer; }
.notification-toggle:hover,.notification-toggle[aria-expanded=true] { border-color:#fb718580; background:#fb718512; }
.notification-count { position:absolute; right:-5px; bottom:-5px; display:grid; place-items:center; min-width:19px; height:19px; padding:0 4px; border:2px solid var(--surface); border-radius:50%; background:#e11d48; color:#fff; font-size:9px; line-height:1; font-weight:800; }
.notification-count[hidden],.notification-panel[hidden],.notification-more[hidden] { display:none; }
.notification-panel { position:absolute; top:calc(100% + 12px); right:0; width:min(360px,calc(100vw - 32px)); padding:14px; border:1px solid var(--line); border-radius:18px; background:var(--surface); color:inherit; box-shadow:0 16px 42px #0004; z-index:110; max-height:min(570px,calc(100dvh - 96px)); overflow-y:auto; overscroll-behavior:contain; }
.notification-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:2px 2px 10px; }
.notification-heading h2 { font-size:16px; font-weight:800; margin:0; }
.notification-clear { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:9px 12px; margin:0 0 10px; border:1px solid var(--line); border-radius:10px; background:transparent; color:var(--accent); font-size:12px; cursor:pointer; }
.notification-clear[hidden] { display:none; }
.notification-clear:disabled { opacity:.5; cursor:default; }
.notification-row { position:relative; }
.notification-row .notification-card { padding-right:40px; }
.notification-dismiss { position:absolute; top:9px; right:9px; width:26px; height:26px; display:grid; place-items:center; color:var(--accent); border:1px solid var(--line); border-radius:8px; background:var(--panel); cursor:pointer; }
.notification-dismiss:hover { background:var(--accent-soft); }
.notification-dismiss:disabled { opacity:.5; cursor:default; }
.notification-delete-all { margin-top:8px; font-size:12px; padding:8px 12px; gap:7px; }
.notification-refresh { display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid var(--line); border-radius:9px; color:var(--accent); background:transparent; font-size:12px; }
.notification-status { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.notification-status:not(:empty) { padding:8px 2px 14px; }
.notification-list { display:grid; gap:8px; }
.notification-card { display:block; padding:12px; border:1px solid var(--line); border-radius:12px; color:inherit; background:#ffffff03; text-decoration:none; overflow-wrap:anywhere; }
.notification-card.is-unread { border-color:#fb718545; background:#fb718509; }
.notification-card[href]:hover { border-color:#fb718580; background:#fb718512; }
.notification-card-title { display:flex; justify-content:space-between; align-items:start; gap:10px; font-size:13px; line-height:1.45; font-weight:750; }
.notification-card-title i { flex-shrink:0; font-size:10px; color:var(--accent); margin-top:4px; }
body .notification-card p { margin:7px 0 9px; font-size:12px; line-height:1.6; color:var(--muted); white-space:pre-wrap; }
.notification-card time { color:var(--muted); font-size:10px; }
.notification-more { display:block; width:100%; margin-top:12px; padding:10px; border:1px solid var(--line); border-radius:10px; background:transparent; color:var(--accent); font-size:12px; font-weight:650; }
.notification-compose { max-width:680px; }
.notification-compose button { justify-self:start; }
.notification-history-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:32px 0 16px; }
.notification-history-heading h2 { margin:0; }
.notification-history { display:grid; gap:10px; }
.admin-section-tabs { overflow-x:auto; flex-wrap:nowrap; }
.admin-section-tabs button { flex-shrink:0; }
@media(max-width:767px) {
 .account-slot.account-mobile { display:inline-flex; gap:8px; }
 .account-slot.account-desktop { display:none; }
 .notification-toggle { width:34px; height:34px; border-radius:11px; font-size:16px; }
 .account-slot.has-notifications > .account-menu { right:42px; }
 .notification-panel { position:fixed; top:var(--notification-top,60px); left:16px; right:16px; width:auto; max-height:calc(100dvh - var(--notification-top,60px) - 16px); }
}
