@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap";:root{--primary:#7c3aed;--primary-light:#a78bfa;--primary-dark:#5b21b6;--accent:#ec4899;--accent-light:#f472b6;--gradient:linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);--gradient-soft:linear-gradient(135deg, #7c3aed26 0%, #ec489926 100%);--radius:16px;--radius-sm:10px;--radius-lg:24px;--shadow:0 4px 24px #7c3aed1f;--shadow-lg:0 12px 48px #7c3aed33;--font:"Plus Jakarta Sans", system-ui, sans-serif;--transition:.25s cubic-bezier(.4, 0, .2, 1);--bg:#fafafe;--bg-secondary:#f3f0ff;--bg-card:#fff;--bg-hover:#ede9fe;--text:#1a1225;--text-secondary:#4b4563;--text-muted:#8b8499;--border:#7c3aed26;--glass:#ffffffd9}[data-theme=dark]{--bg:#0f0a1a;--bg-secondary:#1a1225;--bg-card:#1e1530;--bg-hover:#2a1f40;--text:#f8f7fc;--text-secondary:#a8a3b8;--text-muted:#6b6580;--border:#7c3aed33;--glass:#1e1530cc}[data-theme=light]{--bg:#fafafe;--bg-secondary:#f3f0ff;--bg-card:#fff;--bg-hover:#ede9fe;--text:#1a1225;--text-secondary:#4b4563;--text-muted:#8b8499;--border:#7c3aed26;--glass:#ffffffd9}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;transition:background var(--transition), color var(--transition);line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font);outline:none}img{max-width:100%;display:block}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}.gradient-text{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 4px 16px #7c3aed59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed73}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--primary)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--primary);background:var(--gradient-soft)}.btn-sm{padding:8px 16px;font-size:.85rem}.btn-icon{border-radius:50%;width:44px;height:44px;padding:0}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);overflow:hidden}.card:hover{border-color:var(--primary-light);box-shadow:var(--shadow);transform:translateY(-4px)}.input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:border-color var(--transition);padding:14px 18px;font-size:.95rem}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed26}.badge{background:var(--gradient-soft);color:var(--primary);border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-vip{color:#fff;background:linear-gradient(135deg,#f59e0b,#ec4899)}.badge-author{background:var(--gradient);color:#fff}.badge-admin{color:#fff;background:#ef4444}.badge-passive{color:#fff;background:#64748b}.section-title{align-items:center;gap:12px;margin-bottom:20px;font-size:1.5rem;font-weight:700;display:flex}.section-title:before{content:"";background:var(--gradient);border-radius:2px;width:4px;height:24px}.grid-books{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;display:grid}.grid-authors{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.skeleton{background:linear-gradient(90deg, var(--bg-secondary) 25%, var(--bg-hover) 50%, var(--bg-secondary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out fadeIn}.page{flex:1;padding:32px 0 64px}.empty-state{text-align:center;color:var(--text-muted);padding:64px 24px}.empty-state svg{opacity:.5;margin:0 auto 16px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}@media (width<=768px){.container{padding:0 16px}.grid-books{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.hide-mobile{display:none!important}}@media (width>=769px){.hide-desktop{display:none!important}}.confirm-overlay{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080612b8;justify-content:center;align-items:center;padding:24px;animation:.2s confirmFadeIn;display:flex;position:fixed;inset:0}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{text-align:center;border:1px solid #ec489940;width:100%;max-width:420px;padding:32px 28px 24px;animation:.25s confirmSlideUp;box-shadow:0 24px 64px #00000073,0 0 0 1px #7c3aed26}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-icon-wrap{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex}.confirm-icon-wrap.danger{color:#ec4899;background:linear-gradient(135deg,#ec489933,#7c3aed33);border:1px solid #ec489959}.confirm-icon-wrap.neutral{color:#a78bfa;background:#7c3aed26;border:1px solid #7c3aed4d}.confirm-title{color:var(--text-primary);margin-bottom:10px;font-size:1.25rem;font-weight:700}.confirm-message{color:var(--text-muted);margin-bottom:28px;font-size:.95rem;line-height:1.6}.confirm-actions{justify-content:center;gap:12px;display:flex}.confirm-actions .btn{justify-content:center;min-width:120px}.btn-danger{color:#fff;background:linear-gradient(135deg,#ec4899,#7c3aed);border:none}.btn-danger:hover{filter:brightness(1.08);transform:translateY(-1px)}.toast-stack{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;top:88px;right:20px}.toast{pointer-events:auto;background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;animation:.35s cubic-bezier(.4,0,.2,1) toast-in;display:flex;box-shadow:0 12px 40px #00000040,0 0 0 1px #7c3aed1a}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.toast-success{border-left:4px solid #22c55e}.toast-error{border-left:4px solid #ef4444}.toast-info{border-left:4px solid #7c3aed}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.toast-success .toast-icon{color:#22c55e;background:#22c55e26}.toast-error .toast-icon{color:#ef4444;background:#ef444426}.toast-info .toast-icon{color:#7c3aed;background:#7c3aed26}.toast-message{color:var(--text);flex:1;margin:0;padding-top:4px;font-size:.92rem;line-height:1.45}.toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 4px;font-size:1.25rem;line-height:1;transition:all .15s}.toast-close:hover{color:var(--text);background:var(--bg-hover)}@media (width<=768px){.toast-stack{max-width:none;top:76px;left:12px;right:12px}}.msg-status{flex-shrink:0;align-items:center;line-height:1;display:inline-flex}.msg-status-sent{opacity:.85}.msg-status-sent.msg-status-sent{color:#ffffffe0}.msg-status-delivered{color:#ffffffe0;opacity:.9}.msg-status-read{color:#53bdeb}.msg-status-pending,.msg-status-failed{opacity:.75;color:#ffffffbf}.chat-day-separator{box-sizing:border-box;align-self:stretch;align-items:center;gap:14px;max-width:100%;margin:18px 4px 12px;display:flex}.chat-day-line{background:linear-gradient(90deg,#0000,#7c3aed26 20%,#ec489933 50%,#7c3aed26 80%,#0000);flex:1;height:1px}.chat-day-badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:7px;padding:7px 16px;font-size:.74rem;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #00000014}.chat-day-today{color:#a78bfa;background:linear-gradient(135deg,#7c3aed2e,#a78bfa1f);border:1px solid #7c3aed4d}.chat-day-yesterday{color:#f472b6;background:linear-gradient(135deg,#ec489926,#f472b61a);border:1px solid #ec489947}.chat-day-older{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);text-transform:none;letter-spacing:.01em;font-weight:600}.chat-bubble-time{border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-top:6px;padding-top:6px;display:flex}.chat-bubble-time-received{border-top-color:#7c3aed1a}.chat-time-date{letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:600;line-height:1.2;display:inline-flex}.chat-bubble-time-sent .chat-time-date{color:#ffffffeb;background:#ffffff26}.chat-bubble-time-received .chat-time-date{color:var(--primary-light);background:#7c3aed1a}.chat-time-yesterday.chat-bubble-time-sent .chat-time-date{background:#fff3}.chat-time-clock{opacity:.85;font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:.68rem;font-weight:500;display:inline-flex}.chat-bubble-time-sent .chat-time-clock{color:#ffffffe0}.chat-bubble-time-received .chat-time-clock{color:var(--text-muted)}.chat-time-today .chat-time-clock{opacity:.75}.conv-time{font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;font-weight:600;line-height:1;display:inline-flex}.conv-time-today{color:var(--primary-light);background:#7c3aed1f;border:1px solid #7c3aed33}.conv-time-yesterday{color:#f472b6;background:#ec48991a;border:1px solid #ec489938}.conv-time-older{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);font-weight:500}@media (width<=768px){.chat-day-badge{padding:6px 12px;font-size:.7rem}.chat-day-older{text-overflow:ellipsis;max-width:160px;overflow:hidden}}.notif-wrap{position:relative}.notif-bell{width:42px;height:42px;color:var(--text-secondary);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .2s;display:flex;position:relative}.notif-bell:hover,.notif-bell.open{background:var(--gradient-soft);color:var(--primary-light)}.notif-bell.has-unread{color:var(--accent)}.notif-bell.has-unread:hover{animation:.5s notifBellRing}@keyframes notifBellRing{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(6deg)}80%{transform:rotate(-4deg)}}.notif-badge{color:#fff;border:2px solid var(--bg-card);background:linear-gradient(135deg,#ec4899,#7c3aed);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:800;display:flex;position:absolute;top:4px;right:4px;box-shadow:0 2px 8px #ec489973}.notif-panel{z-index:200;border:1px solid #7c3aed33;width:min(380px,100vw - 24px);padding:0;animation:.22s cubic-bezier(.34,1.2,.64,1) notifPanelIn;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 20px 60px #00000040,0 0 0 1px #ec48990f}@keyframes notifPanelIn{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-panel-head{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#7c3aed14,#ec48990d);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.notif-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.notif-action-btn{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:6px 11px;font-size:.7rem;font-weight:700;transition:background .15s,border-color .15s,transform .15s,opacity .15s;display:inline-flex}.notif-action-btn:disabled{opacity:.65;cursor:not-allowed}.notif-action-btn.read{color:var(--primary-light);background:#7c3aed1a;border-color:#7c3aed2e}.notif-action-btn.read:hover:not(:disabled){background:#7c3aed2e}.notif-action-btn.delete{color:#fca5a5;background:#ef444414;border-color:#ef444433}.notif-action-btn.delete:hover:not(:disabled){color:#fecaca;background:#ef444429}.notif-panel-head h3{margin-bottom:2px;font-size:1rem}.notif-unread-label{color:var(--accent);font-size:.75rem;font-weight:600}.notif-filters{border-bottom:1px solid var(--border);gap:6px;padding:10px 12px;display:flex}.notif-filter{color:var(--text-muted);background:0 0;border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600;transition:background .15s,color .15s}.notif-filter.active{background:var(--gradient-soft);color:var(--primary-light)}.notif-list{max-height:min(420px,60vh);overflow-y:auto}.notif-item{border-bottom:1px solid var(--border);background:0 0;align-items:stretch;gap:0;width:100%;transition:background .15s,opacity .2s,transform .2s;display:flex;position:relative}.notif-item.removing{opacity:.45;transform:scale(.98)}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-secondary)}.notif-item.unread{background:#7c3aed0a}.notif-item.unread:hover{background:#7c3aed14}.notif-item-main{text-align:left;background:0 0;flex:1;align-items:flex-start;gap:12px;min-width:0;padding:12px 8px 12px 16px;display:flex;position:relative}.notif-delete-btn{width:34px;height:34px;color:var(--text-muted);opacity:0;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;margin-right:10px;transition:opacity .15s,transform .15s,background .15s,color .15s;display:flex;transform:translate(6px)}.notif-item:hover .notif-delete-btn,.notif-delete-btn:focus-visible{opacity:1;transform:translate(0)}.notif-delete-btn:hover:not(:disabled){color:#f87171;background:#ef44441f}.notif-delete-btn:disabled{opacity:1;transform:translate(0)}.notif-item-icon{background:color-mix(in srgb, var(--notif-color) 14%, transparent);width:40px;height:40px;color:var(--notif-color);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.notif-avatar{object-fit:cover;width:100%;height:100%}.notif-item-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-item-title{color:var(--text);font-size:.86rem;font-weight:700;line-height:1.35}.notif-item.read .notif-item-title{color:var(--text-secondary);font-weight:600}.notif-item-text{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-item-meta{color:var(--text-muted);align-items:center;gap:8px;margin-top:2px;font-size:.72rem;display:flex}.notif-type-tag{background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 7px;font-size:.65rem;font-weight:700}.notif-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;right:4px;transform:translateY(-50%);box-shadow:0 0 0 3px #ec489933}.notif-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.notif-empty svg{opacity:.35;margin-bottom:4px}.notif-empty strong{color:var(--text-secondary);font-size:.92rem}.notif-empty span{max-width:240px;font-size:.8rem;line-height:1.45}.notif-spin{animation:.8s linear infinite notifSpin}@keyframes notifSpin{to{transform:rotate(360deg)}}.notif-footer{text-align:center;color:var(--primary-light);border-top:1px solid var(--border);background:var(--bg-secondary);padding:12px 16px;font-size:.82rem;font-weight:700;transition:background .15s;display:block}.notif-footer:hover{background:var(--gradient-soft)}@media (width<=768px){.notif-panel{right:-8px}.notif-delete-btn{opacity:1;transform:translate(0)}}.layout{flex-direction:column;min-height:100vh;display:flex}.header{z-index:100;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.logo{flex-shrink:0;align-items:center;gap:10px;font-size:1.4rem;font-weight:800;display:flex}.logo-icon{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.6rem}.nav{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition);align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:500;display:flex;position:relative}.nav-link:hover{color:var(--primary);background:var(--gradient-soft)}.nav-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:2px;right:4px}.nav-link.vip-link{color:var(--accent)}.header-actions,.user-menu{align-items:center;gap:8px;display:flex}.profile-dropdown-wrap{position:relative}.profile-trigger{cursor:pointer;transition:background var(--transition);background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:4px;display:flex}.profile-trigger:hover,.profile-trigger.open{background:var(--gradient-soft)}.profile-chevron{color:var(--text-muted);transition:transform .2s}.profile-trigger.open .profile-chevron{transform:rotate(180deg)}.profile-dropdown{z-index:200;min-width:260px;box-shadow:var(--shadow-lg);padding:8px;animation:.2s dropdown-in;position:absolute;top:calc(100% + 10px);right:0}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{border-radius:var(--radius-sm);transition:background var(--transition);align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.profile-dropdown-header:hover{background:var(--gradient-soft)}.profile-dropdown-header img{border:2px solid var(--primary);object-fit:cover;border-radius:50%;width:44px;height:44px}.profile-dropdown-header strong{color:var(--text);font-size:.95rem;display:block}.profile-dropdown-header span{color:var(--text-muted);font-size:.8rem}.profile-dropdown-divider{background:var(--border);height:1px;margin:6px 8px}.profile-dropdown-item{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.profile-dropdown-item:hover{background:var(--gradient-soft);color:var(--primary)}.profile-dropdown-item.vip{color:var(--accent)}.profile-dropdown-item.danger:hover{color:#ef4444;background:#ef44441a}.user-avatar-link{display:block}.user-avatar{border:2px solid var(--primary);object-fit:cover;border-radius:50%;width:40px;height:40px}.auth-buttons{gap:8px;display:flex}.main{flex:1}.footer{background:var(--bg-secondary);border-top:none;margin-top:auto;padding:0;position:relative;overflow:hidden}.footer-wave{background:var(--gradient);height:4px}.footer-inner{padding:56px 24px 32px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.footer-logo{margin-bottom:8px;font-size:1.6rem;font-weight:800;display:block}.footer-tagline{color:var(--primary-light);margin-bottom:12px;font-weight:600}.footer-desc{color:var(--text-muted);max-width:320px;font-size:.9rem;line-height:1.6}.footer-col h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:16px;font-size:.85rem}.footer-col a{color:var(--text-muted);margin-bottom:10px;font-size:.9rem;transition:color .2s;display:block}.footer-col a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:24px;display:flex}.footer-bottom p,.footer-social{color:var(--text-muted);font-size:.85rem}.footer-social{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.footer-social a{color:var(--text-muted);text-decoration:none;transition:color .2s}.footer-social a:hover{color:var(--primary)}.footer-logout-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;transition:color .2s}.footer-logout-link:hover{color:#f87171}@media (width<=768px){.nav{background:var(--bg);transition:transform var(--transition);flex-direction:column;justify-content:flex-start;gap:8px;padding:24px;position:fixed;inset:72px 0 0;transform:translate(100%)}.nav.open{transform:translate(0)}.nav-link{width:100%;padding:16px;font-size:1rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}.footer-bottom{text-align:center;flex-direction:column}}.book-card{display:block}.book-cover-wrap{aspect-ratio:2/3;position:relative;overflow:hidden}.book-cover{object-fit:cover;width:100%;height:100%;transition:transform .4s}.book-card:hover .book-cover{transform:scale(1.08)}.book-editor-pick{background:var(--gradient);color:#fff;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:700;position:absolute;top:10px;left:10px}.book-adult-badge{z-index:2;background:#000000b8;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1rem;line-height:1;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #00000059}.book-overlay{color:#fff;opacity:0;transition:opacity var(--transition);background:#7c3aed99;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.book-card:hover .book-overlay{opacity:1}.book-info{padding:14px}.book-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:.95rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.book-author{color:var(--text-muted);margin-bottom:8px;font-size:.8rem}.book-stats{color:var(--text-secondary);gap:12px;font-size:.75rem;display:flex}.book-stats span{align-items:center;gap:4px;display:flex}.book-stats span:first-child{color:var(--accent)}.book-card-progress{background:#0006;height:4px;position:absolute;bottom:0;left:0;right:0}.book-card-progress div{background:var(--gradient);height:100%}.book-read-badge{color:#fff;background:#22c55ee6;border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:700;position:absolute;top:10px;right:10px}.book-read-badge.below-adult{top:46px}.book-reading-badge{color:#fff;z-index:2;background:#7c3aedeb;border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:700;position:absolute;top:10px;right:10px}.book-reading-badge.below-adult{top:46px}.progress-text{font-weight:600;color:var(--primary)!important}.genre-picker{width:100%}.genre-picker-head{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:14px;font-size:.9rem;font-weight:600;display:flex}.genre-picker-head svg{color:var(--accent)}.genre-clear{color:var(--accent);cursor:pointer;transition:background var(--transition);background:0 0;border:none;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:.8rem;font-weight:600}.genre-clear:hover{background:#ec48991f}.genre-picker-track{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:4px 2px 12px;display:flex;overflow-x:auto}.genre-picker-track.dragging{cursor:grabbing}.genre-picker-track::-webkit-scrollbar{display:none}.genre-pill{border:1px solid var(--border);background:var(--bg-card);color:var(--text);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:10px;min-height:46px;padding:8px 16px 8px 8px;transition:all .22s;display:inline-flex}.genre-pill:hover{border-color:#7c3aed73;transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed26}.genre-pill.active{background:var(--genre-accent,var(--gradient));color:#fff;border-color:#0000;box-shadow:0 10px 28px #7c3aed47}.genre-pill-icon{background:var(--gradient-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.genre-pill-icon.all{background:var(--gradient);color:#fff;font-size:.85rem}.genre-pill.active .genre-pill-icon{background:#ffffff38!important}.genre-pill-name{white-space:nowrap;font-size:.9rem;font-weight:600}.genre-picker-discover{margin-top:0}.genre-picker-hero{margin-top:0;margin-bottom:0}.genre-picker-hero .genre-picker-head{justify-content:center}.genre-picker-hero .genre-picker-track{justify-content:flex-start;max-width:100%}@media (width>=768px){.genre-picker-grid .genre-picker-track{flex-wrap:wrap}.genre-picker-hero .genre-picker-track{flex-wrap:wrap;justify-content:center}}@media (width<=767px){.genre-pill{padding-right:14px}.genre-pill-name{font-size:.82rem}}.advanced-book-filters{width:100%}.abf-genre-outside{margin-bottom:16px}.abf-hero .abf-genre-outside{margin-bottom:12px}.abf-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition), color var(--transition);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:.88rem;font-weight:600;display:flex}.abf-toggle:hover{color:var(--primary);border-color:#7c3aed59}.abf-toggle.open{color:var(--primary);border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}.abf-toggle-left{align-items:center;gap:10px;display:flex}.abf-toggle-left svg{color:var(--primary)}.abf-count{background:var(--gradient);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:.72rem;font-weight:700;display:inline-flex}.abf-chevron{color:var(--text-muted);transition:transform .25s}.abf-toggle.open .abf-chevron{transform:rotate(180deg)}.abf-panel{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.abf-panel.open{grid-template-rows:1fr}.abf-panel-inner{border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--bg-card);border-top:none;overflow:hidden}.abf-panel.open .abf-panel-inner{padding:16px 14px 14px}.abf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.abf-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-weight:700;display:block}.abf-chips{flex-wrap:wrap;gap:8px;display:flex}.abf-chip{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:7px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.abf-chip:hover{color:var(--primary);border-color:#7c3aed59}.abf-chip.active{background:var(--gradient);color:#fff;border-color:#0000;box-shadow:0 4px 14px #7c3aed47}.abf-chip-icon{font-size:.95rem;line-height:1}.abf-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.abf-editor-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px dashed #7c3aed59;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.abf-editor-toggle:hover,.abf-editor-toggle.active{color:var(--primary);background:#7c3aed14;border-style:solid;border-color:#7c3aed80}.abf-reset{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.abf-reset:hover{text-decoration:underline}.discover-active-filters .filter-tag button{color:inherit;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:18px;height:18px;margin-left:6px;font-size:.75rem;line-height:1}@media (width<=768px){.abf-grid{grid-template-columns:1fr}.abf-footer{flex-direction:column;align-items:stretch}.abf-editor-toggle,.abf-reset{justify-content:center}}.content-datetime{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.content-dt-prefix{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.content-dt-date,.content-dt-time{align-items:center;gap:4px;line-height:1;display:inline-flex}.content-dt-time{font-weight:500}.content-datetime-wall{border-top:1px dashed #7c3aed26;width:100%;margin-top:10px;padding-top:10px}.content-datetime-wall .content-dt-date{color:#f472b6;background:#ec48991a;border:1px solid #ec489938;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600}.content-datetime-wall .content-dt-time{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:4px 10px;font-size:.72rem}.content-datetime-wall.content-dt-today .content-dt-time{color:var(--primary-light);background:#7c3aed1a;border-color:#7c3aed33}.content-datetime-comment{margin:4px 0 6px}.content-datetime-comment .content-dt-date{color:var(--primary-light);background:#7c3aed14;border:1px solid #7c3aed2e;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:600}.content-datetime-comment .content-dt-time{color:var(--text-muted);font-size:.68rem}.content-datetime-comment.content-dt-yesterday .content-dt-date{color:#f472b6;background:#ec489914;border-color:#ec489933}.content-datetime-meta{gap:8px}.content-datetime-meta .content-dt-date,.content-datetime-meta .content-dt-time{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600}.content-datetime-meta .content-dt-date{color:#ffffffeb;background:#ffffff1f;border:1px solid #fff3}.content-datetime-meta .content-dt-time{color:#fffc;background:#00000040;border:1px solid #ffffff1f}.content-datetime-meta.content-dt-today .content-dt-date{background:#7c3aed59;border-color:#a78bfa66}.content-datetime-list{gap:5px}.content-datetime-list .content-dt-date{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;padding:3px 8px;font-size:.68rem;font-weight:600}.content-datetime-list .content-dt-time{color:var(--text-muted);font-size:.68rem}.content-datetime-list.content-dt-yesterday .content-dt-date{color:#f472b6;background:#ec489914;border-color:#ec489933}.content-datetime-manage{margin-top:4px}.content-datetime-manage .content-dt-date,.content-datetime-manage .content-dt-time{color:var(--text-muted);font-size:.68rem}.content-datetime-manage .content-dt-date{background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-weight:600}.reader-chapter-meta{border-radius:var(--radius);background:#7c3aed0f;border:1px dashed #7c3aed40;flex-wrap:wrap;justify-content:center;gap:10px;max-width:100%;margin:-16px auto 28px;padding:12px 16px;display:flex}.content-datetime-reader{flex-wrap:nowrap}.content-datetime-reader .content-dt-prefix{text-transform:uppercase;letter-spacing:.04em;opacity:.75;font-size:.68rem;font-weight:700}.content-datetime-reader .content-dt-date{color:var(--primary-light);background:#7c3aed1f;border:1px solid #7c3aed38;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600}.content-datetime-reader .content-dt-time{color:inherit;opacity:.85;background:#8080801f;border:1px solid #80808033;border-radius:999px;padding:4px 10px;font-size:.72rem}.content-datetime-reader.content-dt-yesterday .content-dt-date{color:#f472b6;background:#ec48991f;border-color:#ec489940}.reader-dark .content-datetime-reader .content-dt-date{color:#c4b5fd}.reader-sepia .content-datetime-reader .content-dt-date{color:#7c3aed;background:#7c3aed1a}.content-datetime-header{justify-content:center;margin-top:6px}.content-datetime-header .content-dt-date{color:var(--primary-light);background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:600}.content-datetime-header .content-dt-time{color:var(--text-muted);font-size:.72rem}.content-datetime-compact{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;gap:5px;padding:4px 10px;font-size:.68rem;font-weight:600}.content-datetime-compact.content-dt-today{color:var(--primary-light);background:#7c3aed1a;border-color:#7c3aed38}.content-datetime-compact.content-dt-yesterday{color:#f472b6;background:#ec489914;border-color:#ec489933}.content-datetime-compact .content-dt-date,.content-datetime-compact .content-dt-time{font-size:inherit;color:inherit;background:0 0;border:none;padding:0}.content-datetime-compact .content-dt-date:after{content:"·";opacity:.5;margin:0 2px 0 4px}.content-datetime-compact .content-dt-date:only-child:after,.content-datetime-compact .content-dt-time:first-child:before{content:none}.content-datetime-compact .content-dt-time svg{display:none}@media (width<=640px){.content-datetime-meta{width:100%}.content-datetime-wall .content-dt-date{max-width:100%}}.announce-hero-box{background:var(--announce-gradient);border-radius:22px;width:100%;max-width:680px;margin:0 auto 28px;padding:2px;animation:.5s cubic-bezier(.34,1.2,.64,1) announceHeroIn;position:relative;box-shadow:0 20px 60px #7c3aed40,0 0 0 1px #ffffff0f}@keyframes announceHeroIn{0%{opacity:0;transform:translateY(-16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.announce-hero-box-glow{background:var(--announce-gradient);filter:blur(40px);opacity:.25;z-index:-1;pointer-events:none;position:absolute;inset:-20px}.announce-hero-box-inner{background:linear-gradient(145deg,#161028f7,#0a0614fa);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px 24px;display:grid;position:relative;overflow:hidden}.announce-hero-box-inner:before{content:"";background:var(--announce-gradient);height:3px;position:absolute;top:0;left:0;right:0}.announce-hero-icon-col{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.announce-hero-icon{background:var(--announce-gradient);color:#fff;border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 8px 28px #7c3aed59}.announce-hero-badge{text-transform:uppercase;letter-spacing:.05em;color:#ffffffbf;white-space:nowrap;background:#ffffff12;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.announce-hero-content{text-align:left;min-width:0;padding-right:24px}.announce-hero-title{color:#fff;margin:0 0 8px;font-size:1.15rem;font-weight:800;line-height:1.3}.announce-hero-text p{color:#ffffffad;margin:0 0 6px;font-size:.9rem;line-height:1.55}.announce-hero-text p:last-child{margin-bottom:0}.announce-hero-date{opacity:.5;margin-top:8px}.announce-hero-actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:8px;min-width:130px;display:flex}.announce-hero-link,.announce-hero-dismiss{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.announce-hero-counter{text-align:center;color:#fff6;margin-top:2px;font-size:.72rem}@media (width<=720px){.announce-hero-box-inner{text-align:center;grid-template-columns:1fr;padding:20px 18px 18px}.announce-hero-icon-col{flex-direction:row;justify-content:center}.announce-hero-content{text-align:center;padding-right:0}.announce-hero-actions{flex-flow:wrap;justify-content:center;min-width:0}.announce-hero-link,.announce-hero-dismiss{flex:1;min-width:120px}}.hero{padding:80px 0 100px;position:relative;overflow:hidden}.hero-bg{background:var(--gradient-soft);opacity:.6;position:absolute;inset:0}.hero-bg:before{content:"";background:radial-gradient(circle,#7c3aed4d 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-50%;right:-20%}.hero-bg:after{content:"";background:radial-gradient(circle,#ec489940 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;bottom:-30%;left:-10%}.hero-content{text-align:center;max-width:720px;margin:0 auto;position:relative}.hero-badge{background:var(--bg-card);border:1px solid var(--border);color:var(--primary);border-radius:999px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 20px;font-size:.85rem;display:inline-flex}.hero-title{margin-bottom:20px;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1}.hero-subtitle{color:var(--text-secondary);margin-bottom:36px;font-size:1.15rem}.hero-search{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;max-width:640px;margin-bottom:16px;margin-left:auto;margin-right:auto;padding:8px 8px 8px 20px;display:flex}.hero-filters-wrap{text-align:left;max-width:640px;margin:0 auto 20px}.hero-search-btn{white-space:nowrap;flex-shrink:0}.search-icon{color:var(--text-muted);flex-shrink:0}.hero-search-input{color:var(--text);background:0 0;border:none;flex:1;font-size:1rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.home-section{margin-bottom:56px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.see-all{color:var(--primary);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.author-card{align-items:center;gap:16px;padding:20px;display:flex}.author-avatar{border:2px solid var(--primary);border-radius:50%;flex-shrink:0;width:64px;height:64px}.author-card h3{margin-bottom:4px;font-size:1rem}.author-card p{color:var(--text-muted);margin-bottom:8px;font-size:.85rem}@media (width<=768px){.hero{padding:48px 0 64px}.hero-search{flex-direction:column;padding:16px}.hero-search .btn{width:100%}.hero-content{padding:0 8px}}.continue-reading-row{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.continue-card{color:inherit;gap:12px;padding:12px;text-decoration:none;display:flex}.continue-card img{object-fit:cover;border-radius:8px;width:56px;height:72px}.continue-card strong{font-size:.95rem;display:block}.continue-card span{color:var(--text-muted);font-size:.8rem}.continue-progress{background:var(--surface-2);border-radius:999px;height:4px;margin-top:8px;overflow:hidden}.continue-progress div{background:var(--gradient);height:100%}.discover-page .page-title{margin-bottom:24px;font-size:2rem;font-weight:800}.discover-search-card{margin-bottom:24px;padding:24px}.discover-search-card .advanced-book-filters{margin-top:0}.discover-search-row{align-items:stretch;gap:12px;margin-bottom:20px;display:flex}.discover-input-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-height:52px;transition:border-color var(--transition), box-shadow var(--transition);flex:1;align-items:center;gap:12px;padding:0 16px;display:flex}.discover-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed26}.discover-search-icon{color:var(--text-muted);flex-shrink:0}.discover-search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:1rem}.discover-search-btn{align-self:stretch;min-width:120px}.discover-active-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.filter-tag{background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:6px 10px 6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.filter-tag button{color:inherit;cursor:pointer;background:#7c3aed26;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.filter-tag button:hover{background:#7c3aed47}.filter-tag.genre{background:var(--gradient-soft);color:var(--primary)}.filter-clear{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:.85rem;font-weight:600}.filter-clear:hover{text-decoration:underline}.discover-tabs{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.tab-btn{background:var(--bg-secondary);color:var(--text-secondary);transition:all var(--transition);border:1px solid #0000;border-radius:999px;padding:10px 20px;font-size:.9rem;font-weight:600}.tab-btn.active{background:var(--gradient);color:#fff}.tab-btn:hover:not(.active){border-color:var(--primary);color:var(--primary)}@media (width<=768px){.discover-search-row{flex-direction:column}.discover-search-btn{width:100%;min-height:48px}}.discover-results-section{margin-bottom:36px}.discover-results-title{align-items:center;gap:10px;margin:0 0 18px;font-size:1.15rem;font-weight:700;display:flex}.discover-user-results{margin-bottom:8px}.discover-user-card p{color:var(--text-muted);margin:0;font-size:.82rem}.discover-user-bio{margin-top:6px!important;font-size:.78rem!important}.discover-community-results{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.discover-community-card{transition:var(--transition);flex-direction:column;gap:8px;padding:18px;display:flex}.discover-community-card:hover{border-color:#7c3aed59;transform:translateY(-2px)}.discover-community-card p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.45}.discover-community-meta{color:var(--primary);font-size:.78rem;font-weight:600}.chapter-ai-wrap{align-items:center;display:flex;position:relative}.rte-toolbar .chapter-ai-trigger{cursor:pointer;justify-content:center;align-items:center;gap:6px;min-width:88px;font-size:.8rem;font-weight:700;transition:all .2s;position:relative;box-shadow:0 2px 12px #7c3aed26;color:#ddd6fe!important;background:linear-gradient(135deg,#7c3aed38,#ec489924)!important;border:1px solid #7c3aed73!important;border-radius:10px!important;width:auto!important;height:34px!important;padding:0 12px!important;display:inline-flex!important}.rte-toolbar .chapter-ai-trigger:hover,.rte-toolbar .chapter-ai-trigger.open{transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed47;color:#f5f3ff!important;background:linear-gradient(135deg,#7c3aed52,#ec489933)!important;border-color:#a78bfaa6!important}.chapter-ai-trigger-icon{color:#e879f9;flex-shrink:0}.chapter-ai-trigger-label{white-space:nowrap;letter-spacing:.02em}.chapter-ai-chevron{opacity:.75;flex-shrink:0;transition:transform .2s}.chapter-ai-trigger.open .chapter-ai-chevron{transform:rotate(180deg)}.chapter-ai-dropdown{z-index:9999;isolation:isolate;background:#1a1225;border:1px solid #7c3aed4d;border-radius:16px;animation:.18s chapter-ai-drop-in;position:fixed;overflow:hidden;box-shadow:0 24px 60px #0000008c,inset 0 0 0 1px #ffffff0d}@keyframes chapter-ai-drop-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.chapter-ai-dropdown-head{text-transform:uppercase;letter-spacing:.1em;color:#a78bfa;background:#7c3aed1f;border-bottom:1px solid #ffffff12;align-items:center;gap:8px;padding:11px 14px;font-size:.7rem;font-weight:700;display:flex}.chapter-ai-dropdown-head svg{color:#c4b5fd;flex-shrink:0}.chapter-ai-dropdown-body{flex-direction:column;gap:6px;padding:8px;display:flex}.chapter-ai-option{cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;grid-template-columns:44px 1fr 16px;align-items:center;gap:12px;width:100%;padding:12px 12px 12px 10px;transition:background .15s,border-color .15s,transform .15s;display:grid}.chapter-ai-option:hover{transform:translateY(-1px)}.chapter-ai-option--purple:hover{background:linear-gradient(135deg,#7c3aed38,#7c3aed14);border-color:#7c3aed66}.chapter-ai-option--pink:hover{background:linear-gradient(135deg,#ec489933,#ec489914);border-color:#ec489966}.chapter-ai-option-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.chapter-ai-option--purple .chapter-ai-option-icon{color:#ddd6fe;background:linear-gradient(135deg,#7c3aed66,#5b21b640);border:1px solid #7c3aed59}.chapter-ai-option--pink .chapter-ai-option-icon{color:#fbcfe8;background:linear-gradient(135deg,#ec489959,#be185d33);border:1px solid #ec489959}.chapter-ai-option-text{flex-direction:column;gap:4px;min-width:0;display:flex;overflow:hidden}.chapter-ai-option-text strong{color:#f8f7fc;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.chapter-ai-option-text span{color:#f8f7fc8c;font-size:.74rem;line-height:1.4;display:block}.chapter-ai-option-arrow{color:#f8f7fc59;flex-shrink:0;transform:rotate(-90deg)}.chapter-ai-option:hover .chapter-ai-option-arrow{color:#f8f7fcb3}.chapter-ai-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;background:#08060ec7;justify-content:center;align-items:center;padding:20px;animation:.2s chapter-ai-fade-in;display:flex;position:fixed;inset:0}@keyframes chapter-ai-fade-in{0%{opacity:0}to{opacity:1}}.chapter-ai-modal{background:var(--bg-card);border:1px solid #7c3aed40;border-radius:20px;width:min(520px,100%);max-height:90vh;animation:.25s chapter-ai-modal-in;overflow-y:auto;box-shadow:0 32px 64px #00000080}.chapter-ai-modal-sm{width:min(440px,100%)}@keyframes chapter-ai-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chapter-ai-modal-hero{text-align:center;border-bottom:1px solid #ffffff0f;padding:28px 24px 22px;position:relative}.chapter-ai-modal-hero--purple{background:radial-gradient(80% 80% at 50% -20%,#7c3aed59,#0000),linear-gradient(#7c3aed1f,#0000)}.chapter-ai-modal-hero--pink{background:radial-gradient(80% 80% at 50% -20%,#ec48994d,#0000),linear-gradient(#ec48991a,#0000)}.chapter-ai-modal-hero-icon{color:#c4b5fd;background:#ffffff14;border:1px solid #ffffff1f;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 14px;display:flex}.chapter-ai-modal-hero--pink .chapter-ai-modal-hero-icon{color:#f9a8d4}.chapter-ai-modal-hero h3{color:var(--text);margin:0 0 8px;font-size:1.15rem}.chapter-ai-modal-hero p{color:var(--text-secondary);max-width:360px;margin:0 auto;font-size:.88rem;line-height:1.5}.chapter-ai-close{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.chapter-ai-close:hover{color:var(--text);background:#ffffff1f}.chapter-ai-form{flex-direction:column;gap:14px;padding:20px 24px 24px;display:flex}.chapter-ai-form label{flex-direction:column;gap:6px;display:flex}.chapter-ai-form label span{color:var(--text-secondary);font-size:.82rem;font-weight:600}.chapter-ai-form textarea{resize:vertical;min-height:72px}.chapter-ai-error{color:#f87171;background:#ef44441f;border:1px solid #ef444433;border-radius:10px;margin:0;padding:10px 12px;font-size:.85rem}.chapter-ai-error--inline{margin:0 24px}.chapter-ai-modal-actions{justify-content:flex-end;gap:10px;padding:0 24px 24px;display:flex}.chapter-ai-modal-sm .chapter-ai-modal-actions{padding-top:8px}@keyframes chapter-ai-spin{to{transform:rotate(360deg)}}.chapter-score-overlay{z-index:10060;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0614c7;justify-content:center;align-items:center;padding:20px;animation:.2s chapter-score-fade-in;display:flex;position:fixed;inset:0}@keyframes chapter-score-fade-in{0%{opacity:0}to{opacity:1}}.chapter-score-modal{background:#14101f;border:1px solid #7c3aed59;border-radius:24px;flex-direction:column;width:min(560px,100%);max-height:min(92vh,820px);display:flex;overflow:hidden;box-shadow:0 32px 80px #0000008c,inset 0 0 0 1px #ffffff0a}.chapter-score-hero{background:linear-gradient(145deg,#7c3aed47 0%,#ec489924 55%,#14101fe6 100%);border-bottom:1px solid #ffffff0f;padding:28px 28px 22px;position:relative;overflow:hidden}.chapter-score-hero-glow{pointer-events:none;background:radial-gradient(circle,#ec489959,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-20px}.chapter-score-close{color:#e9e4f5;cursor:pointer;background:#ffffff14;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:16px;right:16px}.chapter-score-close:hover:not(:disabled){background:#ffffff24}.chapter-score-hero-badge{color:#ddd6fe;text-transform:uppercase;letter-spacing:.08em;background:#7c3aed40;border:1px solid #a78bfa66;border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.chapter-score-hero h2{color:#faf8ff;margin:0;font-size:1.45rem;font-weight:800;line-height:1.25}.chapter-score-hero-sub{color:#e9e4f5a6;margin:8px 0 0;font-size:.88rem}.chapter-score-body{flex:1;padding:24px 28px;overflow-y:auto}.chapter-score-loading{text-align:center;color:#c4b5fd;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.chapter-score-loading strong{color:#f5f3ff;font-size:1.05rem}.chapter-score-loading span{color:#e9e4f58c;max-width:280px;font-size:.85rem}.chapter-score-error{text-align:center;color:#fca5a5;padding:32px 16px}.chapter-score-overview{background:#ffffff08;border:1px solid #ffffff0f;border-radius:18px;align-items:center;gap:24px;margin-bottom:28px;padding:20px;display:flex}.chapter-score-ring{flex-shrink:0;width:120px;height:120px;position:relative}.chapter-score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.chapter-score-ring-bg{fill:none;stroke:#ffffff14;stroke-width:10px}.chapter-score-ring-fill{fill:none;stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset 1s}.chapter-score-ring--excellent .chapter-score-ring-fill{stroke:#34d399}.chapter-score-ring--good .chapter-score-ring-fill{stroke:#a78bfa}.chapter-score-ring--fair .chapter-score-ring-fill{stroke:#fbbf24}.chapter-score-ring--low .chapter-score-ring-fill{stroke:#f87171}.chapter-score-ring-label{color:#faf8ff;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chapter-score-ring-label strong{font-size:2rem;font-weight:800;line-height:1}.chapter-score-ring-label span{color:#e9e4f580;font-size:.75rem}.chapter-score-overview-text{flex:1;min-width:0}.chapter-score-overall-label{text-transform:uppercase;letter-spacing:.08em;color:#a78bfa;margin-bottom:8px;font-size:.72rem;font-weight:700;display:block}.chapter-score-ai-badge{color:#6ee7b7;background:#34d39926;border-radius:999px;align-items:center;gap:4px;margin-bottom:10px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.chapter-score-ai-badge--mock{color:#fcd34d;background:#fbbf2426}.chapter-score-quota-warning{color:#fecaca;background:#ef44441f;border:1px solid #f8717140;border-radius:10px;margin:10px 0 0;padding:10px 12px;font-size:.82rem;line-height:1.45}.chapter-score-overview-text p{color:#e9e4f5d1;margin:0;font-size:.92rem;line-height:1.55}.chapter-score-bars{flex-direction:column;gap:18px;display:flex}.chapter-score-bar{animation:.45s backwards chapter-score-bar-in}@keyframes chapter-score-bar-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chapter-score-bar-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.chapter-score-bar-icon{font-size:1rem}.chapter-score-bar-title{color:#e9e4f5;flex:1;font-size:.88rem;font-weight:600}.chapter-score-bar-value{font-size:.92rem;font-weight:800}.chapter-score-bar-value--excellent{color:#34d399}.chapter-score-bar-value--good{color:#c4b5fd}.chapter-score-bar-value--fair{color:#fbbf24}.chapter-score-bar-value--low{color:#f87171}.chapter-score-bar-track{background:#ffffff12;border-radius:999px;height:8px;overflow:hidden}.chapter-score-bar-fill{border-radius:999px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.chapter-score-bar-fill--excellent{background:linear-gradient(90deg,#059669,#34d399)}.chapter-score-bar-fill--good{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.chapter-score-bar-fill--fair{background:linear-gradient(90deg,#d97706,#fbbf24)}.chapter-score-bar-fill--low{background:linear-gradient(90deg,#dc2626,#f87171)}.chapter-score-bar-note{color:#e9e4f58c;margin:8px 0 0;font-size:.8rem;line-height:1.45}.chapter-score-insights{grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;display:grid}.chapter-score-insight{background:#ffffff05;border:1px solid #ffffff0f;border-radius:14px;padding:16px}.chapter-score-insight--strength{background:#34d3990f;border-color:#34d39933}.chapter-score-insight--improve{background:#fbbf240f;border-color:#fbbf2433}.chapter-score-insight-head{color:#f5f3ff;align-items:center;gap:8px;margin-bottom:10px;font-size:.85rem;display:flex}.chapter-score-insight ul{color:#e9e4f5b8;margin:0;padding-left:18px;font-size:.82rem;line-height:1.5}.chapter-score-footer{color:#e9e4f58c;background:#7c3aed1a;border-radius:12px;align-items:flex-start;gap:8px;margin-top:22px;padding:12px 14px;font-size:.78rem;line-height:1.45;display:flex}.chapter-score-footer svg{color:#a78bfa;flex-shrink:0;margin-top:2px}.chapter-score-actions{border-top:1px solid #ffffff0f;justify-content:flex-end;padding:16px 28px 24px;display:flex}.rte-toolbar .chapter-score-trigger{cursor:pointer;justify-content:center;align-items:center;gap:6px;min-width:72px;font-size:.8rem;font-weight:700;transition:all .2s;box-shadow:0 2px 12px #fbbf241f;color:#fde68a!important;background:linear-gradient(135deg,#fbbf242e,#f59e0b1a)!important;border:1px solid #fbbf2473!important;border-radius:10px!important;width:auto!important;height:34px!important;padding:0 12px!important;display:inline-flex!important}.rte-toolbar .chapter-score-trigger:hover{transform:translateY(-1px);box-shadow:0 4px 18px #fbbf2438;color:#fef9c3!important;background:linear-gradient(135deg,#fbbf2447,#f59e0b29)!important;border-color:#fde04799!important}@media (width<=560px){.chapter-score-overview{text-align:center;flex-direction:column}.chapter-score-insights{grid-template-columns:1fr}.chapter-score-body{padding:20px 18px}}.poll-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f0a1aa6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.poll-modal{border:1px solid var(--border);width:min(520px,100%);max-height:90vh;box-shadow:var(--shadow-lg);padding:0;overflow-y:auto}.poll-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.poll-modal-title{align-items:center;gap:10px;display:flex}.poll-modal-title h3{font-size:1.15rem;font-weight:700}.poll-modal-body{flex-direction:column;gap:20px;padding:24px;display:flex}.poll-field{flex-direction:column;gap:8px;display:flex}.poll-field>span,.poll-field-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.poll-options-editor{flex-direction:column;gap:10px;display:flex}.poll-option-row{align-items:center;gap:10px;display:flex}.poll-option-num{background:var(--gradient-soft);width:28px;height:28px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.poll-add-option{align-self:flex-start;margin-top:4px}.poll-toggle-row{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.poll-toggle-row input{width:18px;height:18px;accent-color:var(--primary);margin-top:4px}.poll-toggle-row p{color:var(--text-muted);margin-top:2px;font-size:.82rem}.poll-modal-error{color:#ef4444;font-size:.9rem}.poll-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.character-moment-modal-overlay{z-index:10050;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f0a1aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.character-moment-modal{flex-direction:column;gap:16px;width:min(480px,100%);padding:24px;display:flex}.character-moment-modal-header{justify-content:space-between;align-items:center;display:flex}.character-moment-modal-title{color:var(--primary);align-items:center;gap:10px;display:flex}.character-moment-modal-desc{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.5}.character-moment-modal-error{color:#ef4444;background:#ef44441f;border-radius:10px;margin:0;padding:10px 12px;font-size:.85rem}.character-moment-field{flex-direction:column;gap:8px;display:flex}.character-moment-field>span{color:var(--text-secondary);font-size:.82rem;font-weight:600}.character-moment-spoiler-toggle{border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;display:flex}.character-moment-spoiler-toggle input{accent-color:var(--primary);margin-top:4px}.character-moment-spoiler-toggle strong{align-items:center;gap:6px;margin-bottom:4px;font-size:.9rem;display:flex}.character-moment-spoiler-toggle span{color:var(--text-muted);font-size:.78rem;line-height:1.45;display:block}.character-moment-modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.chapter-poll{background:linear-gradient(145deg,#7c3aed1f 0%,#ec489914 50%,#7c3aed0f 100%);border:1px solid #7c3aed40;border-radius:20px;margin:28px 0;padding:24px;position:relative;overflow:hidden;box-shadow:0 8px 32px #7c3aed1f,inset 0 1px #ffffff14}[data-theme=light] .chapter-poll{background:linear-gradient(145deg,#fff 0%,#f8f5ff 45%,#fff5fa 100%);border-color:#7c3aed33;box-shadow:0 12px 40px #7c3aed1a}.chapter-poll-glow{pointer-events:none;background:radial-gradient(circle,#ec489940 0%,#0000 70%);width:220px;height:220px;position:absolute;top:-40%;right:-20%}.chapter-poll-header{z-index:1;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex;position:relative}.chapter-poll-badge{background:var(--gradient);color:#fff;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #7c3aed59}.chapter-poll-edit-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:var(--transition);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.chapter-poll-edit-btn:hover{color:var(--primary);border-color:#7c3aed66}.chapter-poll-question{z-index:1;color:var(--text);margin-bottom:18px;font-size:1.2rem;font-weight:800;line-height:1.4;position:relative}.chapter-poll-options{z-index:1;flex-direction:column;gap:10px;display:flex;position:relative}.chapter-poll-option{background:var(--bg-card);cursor:pointer;text-align:left;width:100%;transition:var(--transition);border:2px solid #7c3aed26;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.chapter-poll-option:hover:not(:disabled){border-color:#7c3aed73;transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed1f}.chapter-poll-option.selected{border-color:var(--primary);background:#7c3aed14}.chapter-poll-option:disabled{cursor:default}.chapter-poll-option-bar{z-index:0;background:linear-gradient(90deg,#7c3aed2e 0%,#ec48991f 100%);border-radius:12px 0 0 12px;transition:width .6s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;left:0}.chapter-poll-option-check{z-index:1;width:22px;height:22px;transition:var(--transition);background:var(--bg-card);border:2px solid #7c3aed59;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chapter-poll-option.selected .chapter-poll-option-check{background:var(--gradient);color:#fff;border-color:#0000}.chapter-poll-option.round .chapter-poll-option-check{border-radius:50%}.chapter-poll-option-body{z-index:1;flex:1;min-width:0}.chapter-poll-option-text{color:var(--text);font-size:.95rem;font-weight:600;display:block}.chapter-poll-option-stats{color:var(--text-muted);align-items:center;gap:8px;margin-top:4px;font-size:.78rem;display:flex}.chapter-poll-option-percent{color:var(--primary);z-index:1;flex-shrink:0;font-size:.9rem;font-weight:800}.chapter-poll-footer{z-index:1;border-top:1px solid #7c3aed26;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex;position:relative}.chapter-poll-meta{color:var(--text-muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.chapter-poll-vote-btn{background:var(--gradient);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:12px;padding:10px 22px;font-size:.9rem;font-weight:700;box-shadow:0 6px 20px #7c3aed59}.chapter-poll-vote-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 28px #7c3aed73}.chapter-poll-vote-btn:disabled{opacity:.55;cursor:not-allowed}.chapter-poll-closed{color:var(--text-muted);font-size:.85rem;font-weight:600}.chapter-poll-loading{justify-content:center;padding:24px;display:flex}.chapter-poll-error{color:var(--text-muted);font-size:.9rem}.chapter-poll-options-preview{flex-direction:column;gap:8px;display:flex}.chapter-poll-option-preview{background:var(--bg-secondary);border-radius:10px;justify-content:space-between;padding:10px 14px;font-size:.9rem;display:flex}.chapter-poll-percent{color:var(--primary);font-weight:700}.chapter-poll-login-hint{color:var(--text-muted);font-size:.85rem}.chapter-poll-login-hint a{color:var(--primary);font-weight:600}.poll-node-view{margin:16px 0}@keyframes poll-spin{to{transform:rotate(360deg)}}.reader-html .genzra-poll-embed{margin:28px 0}.chapter-poll--editor{pointer-events:auto}.lb-event-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);margin-bottom:16px;padding:20px}.lb-event-card h3{margin-bottom:6px;font-size:1.05rem;font-weight:700}.lb-event-prize{color:var(--text-secondary);margin-bottom:14px;font-size:.85rem}.lb-event-winners{flex-direction:column;gap:8px;display:flex}.lb-event-winner{border-radius:var(--radius-sm);background:var(--bg-secondary);align-items:center;gap:12px;padding:10px 12px;display:flex}.lb-event-winner img{object-fit:cover;border-radius:50%;width:36px;height:36px}.lb-event-winner-rank{background:var(--gradient-soft);width:28px;height:28px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.lb-event-score{color:var(--primary);margin-left:auto;font-size:.85rem;font-weight:700}.character-studio{grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.character-studio{grid-template-columns:1fr}}.character-studio-list{flex-direction:column;gap:12px;display:flex}.character-studio-list-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.character-studio-list-header h3{font-size:1rem;font-weight:700}.character-mini-card{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;transition:var(--transition);text-align:left;border-radius:14px;gap:12px;width:100%;padding:14px;display:flex}.character-mini-card:hover,.character-mini-card.active{border-color:#7c3aed73;box-shadow:0 8px 24px #7c3aed1f}.character-mini-card.active{background:linear-gradient(135deg,#7c3aed14 0%,#ec48990d 100%)}.character-mini-avatar{object-fit:cover;border:2px solid #7c3aed40;border-radius:50%;flex-shrink:0;width:52px;height:52px}.character-mini-avatar.placeholder{background:var(--gradient-soft);color:var(--primary);justify-content:center;align-items:center;font-size:1.2rem;font-weight:800;display:flex}.character-mini-info strong{font-size:.95rem;display:block}.character-mini-info span{color:var(--text-muted);font-size:.78rem}.character-editor-panel{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.character-editor-hero{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#7c3aed26 0%,#ec48991a 100%);padding:24px 28px}.character-editor-hero h3{margin-bottom:4px;font-size:1.25rem;font-weight:800}.character-editor-hero p{color:var(--text-secondary);font-size:.88rem}.character-editor-body{flex-direction:column;gap:24px;max-height:70vh;padding:24px 28px;display:flex;overflow-y:auto}.character-editor-section{flex-direction:column;gap:14px;display:flex}.character-editor-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:8px;font-size:.85rem;font-weight:700;display:flex}.character-editor-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=640px){.character-editor-grid{grid-template-columns:1fr}}.character-editor-field{flex-direction:column;gap:6px;display:flex}.character-editor-field span{color:var(--text-secondary);font-size:.82rem;font-weight:600}.character-editor-field.full{grid-column:1/-1}.character-trait-input-row{flex-wrap:wrap;gap:8px;display:flex}.character-trait-chip{background:var(--gradient-soft);color:var(--primary);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.character-trait-chip button{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;padding:0;line-height:1}.character-editor-toggle{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.character-editor-footer{border-top:1px solid var(--border);background:var(--bg-secondary);justify-content:flex-end;gap:10px;padding:16px 28px;display:flex}.character-editor-empty{text-align:center;color:var(--text-muted);padding:48px 28px}.characters-showcase{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.character-showcase-card{background:var(--bg-card);transition:var(--transition);border:1px solid #7c3aed33;border-radius:24px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #7c3aed14}.character-showcase-card:hover{border-color:#7c3aed59;transform:translateY(-4px);box-shadow:0 20px 48px #7c3aed29}.character-showcase-banner{background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);height:88px;position:relative}.character-showcase-banner-glow{background:radial-gradient(circle at 80% 20%,#ffffff40 0%,#0000 60%);position:absolute;inset:0}.character-showcase-avatar-wrap{z-index:1;margin-top:-44px;padding:0 20px;position:relative}.character-showcase-avatar{object-fit:cover;border:4px solid var(--bg-card);border-radius:50%;width:88px;height:88px;box-shadow:0 8px 24px #00000026}.character-showcase-avatar.placeholder{background:var(--gradient);color:#fff;justify-content:center;align-items:center;font-size:2rem;font-weight:800;display:flex}.character-showcase-body{flex-direction:column;flex:1;gap:10px;padding:12px 20px 20px;display:flex}.character-showcase-name{color:var(--text);font-size:1.15rem;font-weight:800}.character-showcase-role{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);background:var(--gradient-soft);border-radius:999px;width:fit-content;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.character-showcase-desc{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.55;display:-webkit-box;overflow:hidden}.character-showcase-traits{flex-wrap:wrap;gap:6px;display:flex}.character-showcase-trait{color:var(--primary);background:#7c3aed1a;border:1px solid #7c3aed26;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600}.character-showcase-actions{margin-top:auto;padding-top:8px}.character-chat-btn{background:var(--gradient);color:#fff;cursor:pointer;width:100%;transition:var(--transition);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.92rem;font-weight:700;display:flex;box-shadow:0 8px 24px #7c3aed59}.character-chat-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #7c3aed73}.character-chat-btn:disabled{opacity:.55;cursor:not-allowed}.characters-section-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.characters-section-header h2{margin:0}.characters-section-sub{color:var(--text-muted);margin-top:-16px;margin-bottom:24px;font-size:.9rem}.character-chat-overlay{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0a1ab3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.character-chat-modal{border:1px solid var(--border);width:min(480px,100%);height:min(720px,92vh);box-shadow:var(--shadow-lg);background:var(--bg-card);border-radius:24px;flex-direction:column;display:flex;overflow:hidden}.character-chat-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#7c3aed1f 0%,#ec489914 100%);align-items:center;gap:14px;padding:16px 20px;display:flex}.character-chat-header img{object-fit:cover;border:2px solid #7c3aed4d;border-radius:50%;width:48px;height:48px}.character-chat-header-info strong{font-size:1rem;display:block}.character-chat-header-info span{color:var(--text-muted);font-size:.78rem}.character-chat-messages{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.character-chat-bubble{white-space:pre-wrap;border-radius:18px;max-width:85%;padding:12px 16px;font-size:.92rem;line-height:1.5}.character-chat-bubble.user{background:var(--gradient);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.character-chat-bubble.assistant{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.character-chat-typing{background:var(--bg-secondary);color:var(--text-muted);border-radius:18px;align-self:flex-start;padding:12px 16px;font-size:.85rem;font-style:italic}.character-chat-input-row{border-top:1px solid var(--border);background:var(--bg-secondary);gap:10px;padding:16px 20px;display:flex}.character-chat-input-row input{flex:1}.character-chat-welcome{text-align:center;color:var(--text-muted);padding:32px 20px}.character-chat-welcome strong{color:var(--text);margin-bottom:8px;font-size:1.05rem;display:block}.character-chat-tools{gap:4px;margin-left:auto;display:flex}.character-chat-scene-hint{border-bottom:1px solid var(--border);background:#7c3aed0f;padding:12px 20px}.character-chat-scene-label{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);margin-bottom:6px;font-size:.72rem;font-weight:700;display:block}.character-chat-scene-hint p{color:var(--text-secondary);margin:0;font-size:.85rem;font-style:italic;line-height:1.45}.character-chat-spoiler-note{color:var(--accent);align-items:center;gap:4px;margin-top:8px;font-size:.75rem;font-weight:600;display:inline-flex}.character-moment-node-view{display:inline}.genzra-character-moment-chip{color:var(--primary);vertical-align:baseline;cursor:pointer;transition:var(--transition);background:linear-gradient(135deg,#7c3aed24 0%,#ec48991a 100%);border:1px solid #7c3aed59;border-radius:999px;align-items:center;gap:6px;margin:0 3px;padding:4px 12px;font-size:.82em;font-weight:700;line-height:1.4;display:inline-flex}.genzra-character-moment-chip:hover{border-color:#7c3aed8c;transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed40}.genzra-character-moment-chip.reader-moment{padding:5px 14px;font-size:.88em}.genzra-character-moment-chip.has-spoiler{border-color:#ec489966}.genzra-character-moment-spoiler-badge{width:18px;height:18px;color:var(--accent);background:#ec489926;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.genzra-character-moment-edit-icon{opacity:.55}.genzra-character-moment-host{display:inline}.rte-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.rte-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding:10px 12px;display:flex}.rte-toolbar-ai{background:linear-gradient(90deg,#7c3aed14,#ec48990f);border-top:1px solid #7c3aed1f;justify-content:flex-end;gap:10px;padding:8px 12px}.rte-group{gap:2px;display:flex}.rte-toolbar button{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.rte-toolbar button:hover,.rte-toolbar button.active{background:var(--gradient-soft);color:var(--primary)}.rte-divider{background:var(--border);width:1px;height:24px;margin:0 4px}.rte-select{border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:8px;padding:6px 10px;font-size:.8rem}.rte-colors{gap:4px;display:flex}.rte-color-dot{border:2px solid var(--border)!important;border-radius:50%!important;width:22px!important;height:22px!important}.rte-content .tiptap{min-height:320px;color:var(--text);outline:none;padding:24px;line-height:1.8}.rte-content .tiptap p.is-editor-empty:first-child:before{color:var(--text-muted);content:attr(data-placeholder);float:left;pointer-events:none;height:0}.rte-content .tiptap img{border-radius:12px;max-width:100%;margin:12px 0}.rte-content .tiptap blockquote{border-left:4px solid var(--primary);color:var(--text-secondary);padding-left:16px;font-style:italic}.rte-content .tiptap h1{margin:1em 0 .5em;font-size:1.8rem}.rte-content .tiptap h2{margin:1em 0 .5em;font-size:1.4rem}.user-search-wrap{width:100%;position:relative}.user-search-field{position:relative}.user-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:14px;left:14px}.user-search-input{border:1px solid var(--border);background:var(--bg-card);width:100%;min-height:52px;color:var(--text);resize:vertical;border-radius:14px;padding:14px 16px 14px 44px;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}.user-search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #7c3aed26}.user-search-loading{color:var(--text-muted);font-size:.78rem;position:absolute;top:14px;right:14px}.user-search-dropdown{z-index:50;max-height:280px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.user-search-item{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.user-search-item:hover{background:#7c3aed1a}.user-search-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.user-search-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.user-search-meta strong{font-size:.92rem}.user-search-meta span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.user-search-empty{color:var(--text-muted);text-align:center;margin-top:12px;font-size:.9rem}.user-search-results-table{margin-top:16px}.admin-user-search-section{margin-bottom:24px}.admin-user-search-section h3{align-items:center;gap:8px;margin-bottom:8px;display:flex}.admin-user-search-hint{color:var(--text-muted);margin-bottom:12px;font-size:.88rem}.genre-multi-select{width:100%;position:relative}.genre-multi-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;display:flex}.genre-multi-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1f}.genre-multi-selected{flex-wrap:wrap;flex:1;gap:8px;min-width:0;display:flex}.genre-multi-placeholder{color:var(--text-muted);padding:4px 0;font-size:.92rem}.genre-multi-pill{background:var(--genre-accent,var(--gradient));color:#fff;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:.82rem;font-weight:600;transition:transform .15s,opacity .15s;display:inline-flex}.genre-multi-pill:hover{opacity:.88;transform:scale(.98)}.genre-multi-pill-icon{background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;display:inline-flex}.genre-multi-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.genre-multi-chevron.rotated{transform:rotate(180deg)}.genre-multi-dropdown{z-index:200;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-height:min(280px,50vh);box-shadow:var(--shadow-lg);flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto}.genre-multi-dropdown.card{overflow:hidden auto}.genre-multi-option{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.genre-multi-option:hover{background:#7c3aed14}.genre-multi-option.active{background:color-mix(in srgb, var(--genre-accent,var(--primary)) 18%, transparent);border-color:color-mix(in srgb, var(--genre-accent,var(--primary)) 35%, transparent)}.genre-multi-option-icon{background:var(--bg-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.genre-multi-option.active .genre-multi-option-icon{background:#fff3}.genre-multi-option-tag{color:var(--text-muted);margin-left:auto;font-size:.72rem}.genre-multi-empty{text-align:center;color:var(--text-muted);padding:16px;font-size:.88rem}.book-stats-panel{flex-direction:column;gap:20px;display:flex}.stats-section-head h3{align-items:center;gap:8px;margin-bottom:4px;display:flex}.stats-section-head p{color:var(--text-muted);font-size:.88rem}.stats-cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stats-cards-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-card{border-radius:var(--radius);background:var(--bg-secondary);border:1px solid var(--border);align-items:center;gap:12px;padding:14px 16px;display:flex}.stats-card.accent-blue .stats-card-icon{color:#3b82f6}.stats-card.accent-gold .stats-card-icon{color:#eab308}.stats-card.accent-purple .stats-card-icon{color:var(--primary,#7c3aed)}.stats-card-icon{background:#7c3aed14;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.stats-card-body{flex-direction:column;min-width:0;display:flex}.stats-card-body strong{font-size:1.15rem;line-height:1.2}.stats-card-body span{color:var(--text-muted);font-size:.78rem}.stats-subgrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stats-block.card-inner{border-radius:var(--radius);background:var(--bg-secondary);border:1px solid var(--border);padding:16px 18px}.stats-block h4{margin-bottom:12px;font-size:.95rem}.stats-summary-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stats-summary-list li{justify-content:space-between;gap:12px;font-size:.88rem;display:flex}.stats-summary-list span{color:var(--text-muted)}.stats-bar-row{grid-template-columns:minmax(0,1.2fr) 1fr auto;align-items:center;gap:10px;margin-bottom:10px;display:grid}.stats-bar-label{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.stats-bar-track{background:#7c3aed1f;border-radius:999px;height:8px;overflow:hidden}.stats-bar-fill{background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:999px;height:100%}.stats-bar-value{text-align:right;min-width:28px;font-size:.82rem;font-weight:600}.stats-table-wrap{overflow-x:auto}.stats-table{border-collapse:collapse;width:100%;font-size:.84rem}.stats-table th,.stats-table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 8px}.stats-table th{color:var(--text-muted);font-weight:600}.stats-modal-overlay{z-index:1200;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.stats-modal{width:min(720px,100%);max-height:min(85vh,900px);padding:20px 22px;overflow:auto}.stats-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.stats-modal-header h3{margin-bottom:4px}.stats-modal-header p{color:var(--text-muted);font-size:.88rem}.sentence-stats-list{flex-direction:column;gap:12px;display:flex}.sentence-stat-item{background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.sentence-stat-text{margin-bottom:8px;font-size:.86rem;line-height:1.45}.sentence-stat-meta{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.sentence-stat-count{color:var(--primary,#7c3aed);font-size:.82rem;font-weight:700}@media (width<=900px){.stats-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-subgrid{grid-template-columns:1fr}}.manage-panel{border:1px solid #7c3aed4d;margin-bottom:48px;padding:0;overflow:visible}.manage-panel.card{overflow:visible}.manage-header{background:var(--gradient-soft);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.manage-header h2{align-items:center;gap:10px;font-size:1.25rem;display:flex}.manage-header p{color:var(--text-muted);margin-top:4px;font-size:.85rem}.manage-tabs{border-bottom:1px solid var(--border);gap:8px;padding:16px 28px;display:flex}.manage-section{padding:24px 28px;overflow:visible}.manage-hint{color:var(--text-muted);margin:-4px 0 12px;font-size:.82rem}.manage-book-dates{border-radius:var(--radius);background:var(--bg-secondary);border:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:12px 16px;display:flex}.cover-upload-row{grid-template-columns:200px 1fr;gap:28px;display:grid}.cover-preview{aspect-ratio:2/3;border-radius:var(--radius);border:2px solid var(--border);background-position:50%;background-size:cover}.cover-upload-fields{flex-direction:column;gap:12px;display:flex}.cover-upload-fields label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.manage-chapters-layout{grid-template-columns:260px 1fr;gap:24px;padding-top:0;display:grid}.series-sidebar{border-right:1px solid var(--border);padding-right:20px}.sidebar-title{color:var(--primary-light);align-items:center;gap:8px;margin-bottom:12px;font-weight:700;display:flex}.series-item{align-items:center;gap:4px;margin-bottom:6px;display:flex}.series-item button:first-child{text-align:left;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text);cursor:pointer;border:1px solid #0000;flex-direction:row;flex:1;align-items:center;gap:10px;padding:10px 14px;font-weight:500;display:flex}.series-item-cover{object-fit:cover;border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:36px;height:54px}.series-item-meta,.series-item button:first-child>span,.series-item button:first-child>.content-datetime-manage{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.series-cover-preview{width:72px;height:108px;margin-top:8px}.series-item-title{font-weight:600}.series-item.active .content-datetime-manage .content-dt-date,.series-item.active .content-datetime-manage .content-dt-time{color:#ffffffe6}.series-item.active .content-datetime-manage .content-dt-date{background:#ffffff26;border-color:#ffffff40}.series-item.active button:first-child{background:var(--gradient);color:#fff}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:6px}.icon-btn.danger:hover{color:#ef4444}.mini-form{flex-direction:column;gap:8px;margin-top:12px;display:flex}.mini-form-actions{gap:8px;display:flex}.chapters-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.manage-chapter-list{flex-direction:column;gap:8px;display:flex}.manage-chapter-item{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:14px;padding:14px 16px;display:flex}.ch-num{background:var(--gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.ch-info{flex-direction:column;flex:1;gap:4px;display:flex}.ch-info-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-tag{text-transform:uppercase;border-radius:999px;width:fit-content;padding:2px 8px;font-size:.7rem;font-weight:700}.status-draft{color:#94a3b8;background:#94a3b833}.status-published{color:#22c55e;background:#22c55e33}.ch-actions{flex-wrap:wrap;gap:6px;display:flex}.danger-text{color:#ef4444!important}.chapter-editor-panel{flex-direction:column;gap:16px;display:flex}.editor-panel-header{justify-content:space-between;align-items:center;display:flex}.char-form{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.form-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.character-card-manage{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);padding:16px}.character-card-manage.editing{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.character-card-manage img{object-fit:cover;border-radius:50%;width:64px;height:64px;margin-bottom:10px}.char-form-actions{flex-wrap:wrap;gap:8px;display:flex}.char-card-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.empty-hint{color:var(--text-muted);text-align:center;padding:40px}.schedule-field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.version-history-panel{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.version-history-panel h4{align-items:center;gap:8px;margin-bottom:10px;display:flex}.version-item{border-bottom:1px solid #7c3aed14;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:.9rem;display:flex}.coauthor-form{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:16px;display:flex}.coauthor-form .user-search-wrap{flex:1;min-width:220px}.coauthor-form .input{flex:1;min-width:180px}.coauthor-info{align-items:center;gap:12px;min-width:0;display:flex}.coauthor-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.coauthor-meta{color:var(--text-muted);font-size:.82rem;display:block}.coauthor-list{flex-direction:column;gap:8px;display:flex}.coauthor-item{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}@media (width<=900px){.manage-chapters-layout{grid-template-columns:1fr}.series-sidebar{border-right:none;border-bottom:1px solid var(--border);padding-bottom:16px}.cover-upload-row,.form-grid{grid-template-columns:1fr}}.user-badge{align-items:center;gap:10px;display:flex}.user-badge-avatar{object-fit:cover;border:2px solid var(--border);border-radius:50%;width:40px;height:40px}.user-badge-sm .user-badge-avatar{width:32px;height:32px}.user-badge-text{flex-direction:column;gap:2px;display:flex}.user-badge-name{align-items:center;gap:4px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.verified-badge-inline{color:#3b82f6;flex-shrink:0}.user-badge-name:hover{text-decoration:underline}.role-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;width:fit-content;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.role-admin{color:#ef4444;background:#ef444433}.role-vip{color:#f59e0b;background:linear-gradient(135deg,#f59e0b33,#ec489933)}.role-author{color:#a78bfa;background:#7c3aed33}.role-moderator{color:#06b6d4;background:#06b6d433}.chat-emoji-wrap{flex-shrink:0;position:relative}.chat-emoji-btn{width:40px;height:40px;color:var(--text-muted);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .2s;display:flex}.chat-emoji-btn:hover,.chat-emoji-btn.open{color:var(--accent);background:#ec48991f}.chat-emoji-btn:disabled{opacity:.45;cursor:not-allowed}.chat-emoji-picker{border-radius:var(--radius);background:var(--bg-card);border:1px solid #ec489940;width:320px;max-width:min(320px,100vw - 32px);padding:0;animation:.22s cubic-bezier(.34,1.2,.64,1) emojiPickerIn;overflow:hidden;box-shadow:0 16px 48px #00000047,0 0 0 1px #7c3aed14}.chat-emoji-picker--portal{z-index:10050;position:fixed}@keyframes emojiPickerIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-emoji-picker-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);background:linear-gradient(90deg,#ec48990f,#7c3aed0f);padding:10px 14px 8px;font-size:.72rem;font-weight:700}.chat-emoji-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;padding:8px 8px 4px;display:flex;overflow-x:auto}.chat-emoji-tabs::-webkit-scrollbar{display:none}.chat-emoji-tab{background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:background .15s,transform .15s;display:flex}.chat-emoji-tab:hover{background:var(--bg-secondary)}.chat-emoji-tab.active{background:var(--gradient-soft);transform:scale(1.05);box-shadow:inset 0 0 0 1px #7c3aed40}.chat-emoji-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;max-height:220px;padding:8px;display:grid;overflow:hidden auto}.chat-emoji-item{aspect-ratio:1;background:0 0;border-radius:8px;justify-content:center;align-items:center;min-width:0;font-size:1.25rem;line-height:1;transition:background .12s,transform .12s;display:flex;overflow:hidden}.chat-emoji-item:hover{background:var(--bg-secondary);transform:scale(1.15)}@media (width<=768px){.chat-emoji-picker{width:min(300px,100vw - 32px);left:0;right:auto;transform:none}@keyframes emojiPickerIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr));max-height:180px}}.emoji-textarea-wrap{width:100%;position:relative}.emoji-textarea-wrap textarea{resize:vertical;width:100%;min-height:0}.emoji-textarea-toolbar{align-items:center;margin-top:6px;display:flex}.emoji-textarea-wrap .chat-emoji-picker{bottom:calc(100% + 8px);left:0}.comment-thread{margin-top:12px}.comment-thread-form{flex-direction:column;gap:8px;margin-bottom:16px;display:flex;overflow:visible}.comment-thread-item{background:var(--surface-2);border-radius:12px;margin-bottom:10px;padding:12px}.comment-thread-item.reply{border-left:3px solid var(--primary);margin-left:24px}.comment-thread-body{margin:8px 0;line-height:1.5}.comment-thread-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ct-action{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-size:.85rem;display:inline-flex}.ct-action:hover{background:var(--surface-3);color:var(--text)}.ct-action.liked{color:#ec4899}.ct-like-count{text-align:left;font-variant-numeric:tabular-nums;min-width:1.25rem;display:inline-block}.ct-action.danger:hover{color:#ef4444}.comment-edited-tag{color:var(--text-muted);font-size:.75rem;font-style:italic}.comment-edit-form{flex-direction:column;gap:8px;margin:8px 0;display:flex}.comment-edit-actions{gap:8px;display:flex}.comment-reply-form{flex-direction:column;gap:8px;margin-top:8px;display:flex;overflow:visible}.comment-empty{color:var(--text-muted);font-size:.9rem}.comment-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.comment-modal{flex-direction:column;gap:10px;min-width:280px;max-width:400px;padding:20px;display:flex}.report-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080612b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.report-modal{border:1px solid #ec489940;width:100%;max-width:440px;padding:24px}.report-modal-header{color:#ec4899;align-items:center;gap:10px;margin-bottom:8px;display:flex}.report-modal-header h4{margin:0;font-size:1.1rem}.report-modal-hint{color:var(--text-muted);margin-bottom:16px;font-size:.9rem}.report-label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.report-modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.donate-form-wrap{flex-direction:column;gap:12px;display:flex}.donate-form-wrap.is-compact .donate-form{grid-template-columns:1fr auto}.donate-form-title{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.donate-form-subtitle{color:var(--text-muted);margin:0;font-size:.85rem}.donate-balance-hint{color:var(--text-muted);align-items:center;gap:6px;margin:0;font-size:.85rem;display:flex}.donate-balance-hint strong{color:var(--text)}.donate-balance-hint a{color:var(--primary-light);text-decoration:none}.donate-balance-hint a:hover{text-decoration:underline}.donate-presets{flex-wrap:wrap;gap:8px;display:flex}.donate-preset-btn{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:border-color .15s,background .15s}.donate-preset-btn:hover,.donate-preset-btn.active{background:var(--gradient-soft);border-color:#7c3aed73}.donate-preset-btn:disabled{opacity:.6;cursor:not-allowed}.donate-form{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=640px){.donate-form-wrap:not(.is-compact) .donate-form{grid-template-columns:1fr 1fr auto;align-items:center}.donate-form-wrap:not(.is-compact) .donate-form .input:first-child{grid-column:1}.donate-form-wrap:not(.is-compact) .donate-form .input:nth-child(2){grid-column:2}.donate-form-wrap:not(.is-compact) .donate-form .btn{white-space:nowrap;grid-column:3}}.reading-status-control{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:14px;margin:16px 0 4px;padding:14px 16px}.reading-status-control-label{text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c;margin-bottom:10px;font-size:.72rem;font-weight:700;display:block}.reading-status-options{flex-wrap:wrap;gap:8px;display:flex}.reading-status-option{color:#ffffffd1;cursor:pointer;background:#00000026;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.reading-status-option:hover:not(:disabled){background:#7c3aed26;border-color:#a78bfa73}.reading-status-option.active.reading{color:#ede9fe;background:#7c3aed47;border-color:#a78bfa99}.reading-status-option.active.completed{color:#bbf7d0;background:#22c55e2e;border-color:#22c55e8c}.reading-status-option.muted{opacity:.75}.reading-status-option:disabled{opacity:.45;cursor:not-allowed}.book-actions .btn.star-active{box-shadow:0 0 0 1px #fbbf2459}.book-actions .btn.star-busy{opacity:.7;pointer-events:none}.reader{flex-direction:column;min-height:100vh;display:flex}.reader-progress-bar{z-index:110;background:#7c3aed26;height:3px;position:fixed;top:0;left:0;right:0}.reader-progress-fill{background:var(--gradient);height:100%;transition:width .3s}.reader-light{--reader-bg:#fafafe;--reader-text:#1a1225}.reader-dark{--reader-bg:#0f0a1a;--reader-text:#f8f7fc}.reader-sepia{--reader-bg:#f4ecd8;--reader-text:#5b4636}.reader{background:var(--reader-bg);color:var(--reader-text)}.reader-header{background:var(--reader-bg);z-index:10;border-bottom:1px solid #80808033;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.reader-header-info{text-align:center;flex:1}.reader-header-info a{opacity:.7;font-size:.85rem;display:block}.reader-header-info span{font-size:.95rem;font-weight:700}.reader-content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:48px 24px}.reader-chapter-title{text-align:center;margin-bottom:20px;font-size:1.8rem;font-weight:800}.reader-lock-banner{border-radius:var(--radius-sm);background:#f973161f;border:1px solid #f9731659;max-width:720px;margin:0 auto 20px;padding:16px 18px}.reader-lock-banner p{color:var(--text-secondary);margin:6px 0 0;font-size:.92rem}.reader-empty-content{text-align:center;color:var(--text-muted,#808080cc);padding:32px 16px;font-style:italic}.reader-html{text-align:left}.reader-prose{padding:8px 0 16px}.reader-prose p,.reader-prose h1,.reader-prose h2,.reader-prose h3,.reader-prose blockquote,.reader-prose ul,.reader-prose ol{color:inherit;margin-bottom:1em}.reader-prose p:last-child,.reader-prose ul:last-child,.reader-prose ol:last-child{margin-bottom:0}.reader-prose h1{font-size:1.8em;font-weight:800;line-height:1.25}.reader-prose h2{font-size:1.4em;font-weight:700;line-height:1.3}.reader-prose h3{font-size:1.15em;font-weight:700}.reader-prose strong{font-weight:800}.reader-prose em{font-style:italic}.reader-prose u{text-decoration:underline}.reader-prose s{text-decoration:line-through}.reader-prose mark{background:#facc1559;border-radius:3px;padding:0 .15em}.reader-html p,.reader-html h1,.reader-html h2,.reader-html blockquote,.reader-html ul,.reader-html ol{color:inherit;margin-bottom:1em}.reader-html h1{font-size:1.6em;font-weight:800}.reader-html h2{font-size:1.3em;font-weight:700}.reader-html img{border-radius:12px;max-width:100%;margin:12px 0}.reader-html blockquote{opacity:.9;border-left:4px solid #7c3aed80;padding-left:16px;font-style:italic}.reader-html a{color:#a78bfa;text-decoration:underline}.reader-text{text-align:justify}.reader-text p,.reader-text span{margin-bottom:1em}.reader-footer{border-top:1px solid #80808033;justify-content:space-between;gap:16px;padding:24px;display:flex}.reader-loading{flex:1;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.reader-settings-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.reader-settings{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;padding:24px}.settings-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.settings-group{margin-bottom:20px}.settings-group label{margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.settings-group input[type=range]{accent-color:#7c3aed;width:100%}.theme-buttons{gap:8px;display:flex}.theme-btn{border-radius:var(--radius-sm);background:var(--bg-secondary);border:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:.85rem;font-weight:600;display:flex}.theme-btn.active{background:#7c3aed26;border-color:#7c3aed}@media (width<=768px){.reader-footer{flex-direction:column}.reader-footer .btn{justify-content:center;width:100%}}.reader-sentences{display:block}.reader-prose .reader-sentence,.reader-sentences .reader-sentence{cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:2px 4px;transition:background .15s}:is(.reader-prose p:has(.reader-sentence),.reader-prose h1:has(.reader-sentence),.reader-prose h2:has(.reader-sentence),.reader-prose blockquote:has(.reader-sentence)){cursor:pointer}.reader-prose .reader-sentence:hover,.reader-sentences .reader-sentence:hover{background:#7c3aed1f}.reader-prose .reader-sentence.has-comments,.reader-sentences .reader-sentence.has-comments{background:#7c3aed0f;border-bottom:1px dashed #7c3aed33}.reader-sentence{cursor:pointer;border-radius:4px;padding:2px 4px;transition:background .15s}.reader-sentence:hover{background:#7c3aed1f}.reader-sentence.has-comments{background:#7c3aed0f;border-bottom:1px dashed #7c3aed33}.sentence-comment-badge{color:#a78bfa;vertical-align:middle;white-space:nowrap;background:#7c3aed26;border:1px solid #7c3aed40;border-radius:999px;align-items:center;gap:3px;margin-left:6px;padding:2px 8px;font-size:.72em;font-weight:700;display:inline-flex}.reader-comments-panel{z-index:50;width:min(400px,100vw - 32px);max-height:50vh;padding:16px;position:fixed;bottom:80px;right:16px;overflow-y:auto}.reader-comments-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.reader-sentence-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.reader-sentence-modal{width:100%;max-width:520px;max-height:80vh;padding:20px;overflow-y:auto}.reader-sentence-modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.reader-sentence-modal-head .sentence-panel-label{margin-bottom:0}.sentence-quote{color:var(--text-muted);border-left:3px solid #7c3aed;margin-bottom:16px;padding-left:12px;font-style:italic}.sentence-panel-label{text-transform:uppercase;letter-spacing:.05em;color:var(--primary-light);background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-bottom:12px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.reader-goal-badge{color:#22c55e;align-items:center;gap:4px;margin-left:8px;font-size:.75rem;display:inline-flex}.reader-highlights{border-top:1px solid #7c3aed26;margin-top:32px;padding-top:16px}.reader-highlight-item{color:var(--text-muted);border-left:3px solid #fbbf24;margin:8px 0;padding:8px 12px;font-style:italic}.reader-selection-popup{z-index:120;align-items:center;gap:12px;max-width:90vw;padding:12px 16px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.chat-document-link{color:#60a5fa;background:#60a5fa26;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:.9rem;text-decoration:none;display:inline-flex}.auth-page{background:var(--gradient-soft);justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:40px 24px;display:flex}.auth-card{width:100%;max-width:440px;padding:40px}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{margin-bottom:8px;font-size:2rem;font-weight:800}.auth-header p{color:var(--text-secondary)}.auth-form{flex-direction:column;gap:20px;display:flex}.form-group label{margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.auth-submit{width:100%;margin-top:8px}.auth-error{color:#ef4444;border-radius:var(--radius-sm);background:#ef444426;padding:12px 16px;font-size:.9rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:24px}.auth-footer a{color:var(--primary);font-weight:600}.auth-demo{text-align:center;color:var(--text-muted);margin-top:16px;font-size:.8rem}.auth-forgot-link{text-align:right;margin-top:-8px}.auth-forgot-link a{color:var(--primary-light);font-size:.85rem;font-weight:600}.auth-consent-group{flex-direction:column;gap:12px;margin-top:4px;display:flex}.auth-consent{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.45;display:flex}.auth-consent input{accent-color:var(--primary);flex-shrink:0;margin-top:3px}.auth-consent a{color:var(--primary);font-weight:600}.auth-field-hint{color:var(--text-muted);margin-top:6px;font-size:.78rem;display:block}.auth-success{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:16px;display:flex}.auth-success svg{color:var(--primary-light)}.auth-dev-link{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);word-break:break-all;width:100%;padding:12px;font-size:.78rem}.auth-dev-link a{color:var(--primary-light)}.follow-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#060410d1;justify-content:center;align-items:center;padding:20px;animation:.22s followOverlayIn;display:flex;position:fixed;inset:0}@keyframes followOverlayIn{0%{opacity:0}to{opacity:1}}.follow-modal{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:linear-gradient(#1c1630fa 0%,#0f0a1afa 100%);border:1px solid #7c3aed47;border-radius:24px;flex-direction:column;width:100%;max-width:520px;max-height:min(88vh,720px);animation:.32s cubic-bezier(.34,1.25,.64,1) followModalIn;display:flex;overflow:hidden;box-shadow:0 40px 100px #0000008c,0 0 0 1px #ec489914,inset 0 1px #ffffff0d}@keyframes followModalIn{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.follow-modal-header{padding:24px 24px 16px;position:relative;overflow:hidden}.follow-modal-header-glow{pointer-events:none;background:radial-gradient(circle at 15% 0,#7c3aed73,#0000 45%),radial-gradient(circle at 85% 20%,#ec489959,#0000 40%),linear-gradient(#7c3aed1f,#0000);position:absolute;inset:0}.follow-modal-close{z-index:2;color:#fff;background:#00000047;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .2s,background .2s;display:flex;position:absolute;top:16px;right:16px}.follow-modal-close:hover{background:#00000073;transform:scale(1.06)}.follow-modal-profile{z-index:1;align-items:center;gap:14px;margin-bottom:18px;padding-right:44px;display:flex;position:relative}.follow-modal-avatar-ring{background:var(--gradient);border-radius:50%;flex-shrink:0;padding:3px;box-shadow:0 6px 24px #7c3aed59}.follow-modal-avatar{object-fit:cover;border:3px solid #0f0a1ae6;border-radius:50%;width:52px;height:52px;display:block}.follow-modal-profile h2{color:#fff;margin:0 0 2px;font-size:1.15rem;font-weight:800}.follow-modal-sub{color:#ffffff8c;margin:0;font-size:.88rem}.follow-modal-tabs{z-index:1;background:#00000038;border:1px solid #ffffff0f;border-radius:16px;grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid;position:relative}.follow-modal-tabs.three{grid-template-columns:repeat(3,1fr)}.follow-modal-tabs.three .follow-modal-tab{flex-direction:column;gap:4px;padding:10px 6px;font-size:.78rem}.follow-modal-tabs.three .follow-modal-tab span{line-height:1.2}.follow-modal-tab{appearance:none;color:#ffffffc7;background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 10px;font-size:.88rem;font-weight:600;transition:background .2s,color .2s,box-shadow .2s,border-color .2s;display:flex}.follow-modal-tab:hover:not(.active){color:#fff;background:#ffffff1a;border-color:#ffffff24}.follow-modal-tab svg{opacity:.9;flex-shrink:0}.follow-modal-tab em{color:#ffffffeb;background:#ffffff1f;border-radius:999px;padding:2px 8px;font-size:.75rem;font-style:normal}.follow-modal-tab.active{color:#fff;background:linear-gradient(135deg,#7c3aed8c,#ec489973);border-color:#7c3aed59;box-shadow:0 8px 24px #7c3aed40}.follow-modal-tab.active em{color:#fff;background:#ffffff2e}.follow-modal-toolbar{padding:0 20px 12px}.follow-modal-search{color:#ffffff8c;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:10px;height:44px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.follow-modal-search:focus-within{border-color:#7c3aed73;box-shadow:0 0 0 3px #7c3aed1f}.follow-modal-search input{color:#fff;background:0 0;border:none;outline:none;flex:1;font-size:.92rem}.follow-modal-search input::placeholder{color:#ffffff73}.follow-modal-body{flex:1;min-height:280px;padding:4px 12px 16px;overflow-y:auto}.follow-modal-body::-webkit-scrollbar{width:6px}.follow-modal-body::-webkit-scrollbar-thumb{background:#7c3aed59;border-radius:999px}.follow-user-list{margin:0;padding:0;list-style:none}.follow-user-row{animation:.38s backwards followRowIn;animation-delay:var(--row-delay,0s);border:1px solid #0000;border-radius:16px;align-items:center;gap:10px;margin-bottom:6px;padding:10px;transition:background .18s,border-color .18s,transform .18s;display:flex}@keyframes followRowIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.follow-user-row:hover{background:#7c3aed14;border-color:#7c3aed2e}.follow-user-main{min-width:0;color:inherit;flex:1;align-items:center;gap:12px;text-decoration:none;display:flex}.follow-user-avatar-wrap{background:linear-gradient(135deg, var(--role-color,#7c3aed), #ec4899b3);border-radius:50%;flex-shrink:0;width:50px;height:50px;padding:2px}.follow-user-avatar-wrap img{object-fit:cover;border:2px solid var(--bg-card,#0f0a1a);border-radius:50%;width:100%;height:100%;display:block}.follow-user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.follow-user-name{color:#fff;align-items:center;gap:4px;font-size:.95rem;font-weight:700;display:inline-flex}.follow-verified{color:#3b82f6;flex-shrink:0}.follow-user-handle{color:#ffffff8c;font-size:.82rem}.follow-user-bio{color:#ffffffa6;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:2px;font-size:.8rem;overflow:hidden}.follow-user-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.follow-role-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--role-color);background:color-mix(in srgb, var(--role-color) 16%, transparent);border:1px solid color-mix(in srgb, var(--role-color) 30%, transparent);border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.follow-xp-pill{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2433;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.68rem;display:inline-flex}.follow-subscriber-pill{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.68rem;display:inline-flex}.follow-user-actions{flex-shrink:0;gap:6px;display:flex}.follow-action-btn{width:36px;height:36px;color:var(--primary-light,#a78bfa);background:#7c3aed26;border:1px solid #7c3aed40;border-radius:12px;justify-content:center;align-items:center;transition:transform .15s,background .15s,color .15s;display:flex}.follow-action-btn:hover:not(:disabled){background:#7c3aed47;transform:scale(1.06)}.follow-action-btn.following{color:#f472b6;background:#ec48991f;border-color:#ec489940}.follow-action-btn.message{color:#60a5fa;background:#60a5fa1f;border-color:#60a5fa38}.follow-action-btn:disabled{opacity:.5;cursor:wait}.follow-modal-empty{text-align:center;color:#ffffffa6;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.follow-modal-empty-icon{width:72px;height:72px;color:var(--primary-light);background:linear-gradient(135deg,#7c3aed33,#ec489926);border:1px solid #7c3aed40;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.follow-modal-empty strong{color:#fff;margin-bottom:6px;font-size:1rem;display:block}.follow-modal-empty p{color:#ffffff8c;max-width:260px;margin:0;font-size:.88rem;line-height:1.5}.follow-modal-skeletons{padding:8px}.follow-modal-skeletons .skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 50%,#ffffff0d 75%) 0 0/200% 100%;animation:1.5s infinite followSkeletonShimmer}@keyframes followSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.follow-skeleton-row{align-items:center;gap:12px;padding:12px 8px;display:flex}.follow-skeleton-avatar{border-radius:50%;flex-shrink:0;width:50px;height:50px}.follow-skeleton-text{flex:1}@media (width<=560px){.follow-modal-overlay{align-items:flex-end;padding:0}.follow-modal{border-radius:24px 24px 0 0;max-width:100%;max-height:92vh;animation:.32s cubic-bezier(.34,1.25,.64,1) followModalMobileIn}@keyframes followModalMobileIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.follow-user-bio{display:none}}.sub-plan-overlay{z-index:1200;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sub-plan-modal{width:100%;max-width:440px;padding:20px}.sub-plan-modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sub-plan-modal-head h3{align-items:center;gap:8px;font-size:1rem;display:flex}.sub-plan-list{flex-direction:column;gap:10px;display:flex}.sub-plan-item{border:1px solid var(--border);background:var(--bg-secondary);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:border-color .2s,transform .15s;display:flex}.sub-plan-item:hover:not(:disabled){border-color:#7c3aed66;transform:translateY(-1px)}.sub-plan-item span{color:var(--text-muted);margin-top:2px;font-size:.82rem;display:block}.sub-plan-active{text-align:center;padding:12px 0}.sub-plan-active p{color:var(--text-muted);margin-bottom:12px}.profile-page{padding-bottom:64px}.profile-passive-note{color:var(--text-muted);margin:0;font-size:.95rem}.profile-banner{margin-bottom:24px;position:relative}.profile-banner-cover{background-position:50%;background-size:cover;height:280px;position:relative}.profile-banner-gradient{background:linear-gradient(to bottom, #0f0a1a33 0%, #0f0a1a99 60%, var(--bg) 100%);position:absolute;inset:0}.profile-banner-body{text-align:center;z-index:2;flex-direction:column;align-items:center;max-width:1280px;margin:-70px auto 0;padding:0 24px;display:flex;position:relative}.profile-avatar-ring{background:var(--gradient);border-radius:50%;margin-bottom:16px;padding:4px;box-shadow:0 8px 32px #7c3aed66}.profile-avatar-center{border:4px solid var(--bg);object-fit:cover;border-radius:50%;width:120px;height:120px;display:block}.profile-identity h1{align-items:center;gap:6px;margin-bottom:4px;font-size:2rem;font-weight:800;display:inline-flex}.profile-verified{color:#3b82f6}.profile-username{color:var(--text-muted);margin-bottom:12px}.profile-bio{color:var(--text-secondary);max-width:520px;margin:0 auto 16px;line-height:1.6}.profile-badges{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;display:flex}.profile-reading-goal-badge{color:#34d399;background:#10b9811f;border-color:#10b98159;align-items:center;gap:6px;display:inline-flex}.profile-stats{justify-content:center;gap:16px;margin-bottom:20px;display:flex}.profile-stat-btn{min-width:88px;color:var(--text-secondary);cursor:pointer;background:#7c3aed14;border:1px solid #7c3aed2e;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 18px;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:flex}.profile-stat-btn:hover{background:#7c3aed24;border-color:#ec489959;transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed2e}.profile-stat-btn:active{transform:translateY(0)}.profile-stat-btn strong{color:var(--text);font-size:1.35rem;font-weight:800;line-height:1.1}.profile-stat-btn span{font-size:.82rem;font-weight:600}.profile-stat-subscribers{background:#f59e0b1a;border-color:#f59e0b47}.profile-stat-subscribers:hover{background:#f59e0b29;border-color:#f59e0b73;box-shadow:0 8px 24px #f59e0b2e}.profile-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.profile-content{padding-bottom:32px}.profile-tabs{gap:8px;margin-bottom:24px;display:flex}.wall-disabled-hint{background:var(--bg-secondary);border:1px dashed var(--border);color:var(--text-muted);text-align:center;border-radius:12px;margin-bottom:16px;padding:14px 18px;font-size:.9rem}.wall-post-target{color:var(--text-muted);margin-left:auto;margin-right:8px;font-size:.78rem}.wall-post-form{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px;padding:20px;display:flex;overflow:visible}.wall-post{margin-bottom:12px;padding:20px}.wall-post-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;margin-bottom:12px;display:flex}.wall-post-head .user-badge{margin-bottom:0}.wall-post-content{margin-bottom:12px;line-height:1.6}.wall-post-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.wall-post-action{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px}.wall-post-action:hover{color:var(--text);background:var(--surface-3)}.wall-post-action.danger:hover{color:#ef4444}.wall-post-edit{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.wall-post-edit-actions{gap:8px;display:flex}.wall-edited-tag{color:var(--text-muted);font-size:.75rem;font-style:italic}.tagged-book{color:var(--primary);align-items:center;gap:6px;margin-bottom:8px;font-size:.9rem;display:inline-flex}.post-date{display:none}@media (width<=768px){.profile-banner-cover{height:200px}.profile-avatar-center{width:96px;height:96px}}.messages-mode-tabs{flex-wrap:wrap;gap:8px;margin:16px 0 0;display:flex}.messages-mode-tab{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.messages-mode-tab:hover{color:var(--text);border-color:#7c3aed59}.messages-mode-tab.active{background:var(--gradient-soft);color:var(--primary-light);border-color:#7c3aed66;box-shadow:0 4px 16px #7c3aed26}.messages-community-active{color:var(--primary-light);background:var(--gradient-soft);white-space:nowrap;text-overflow:ellipsis;border:1px solid #7c3aed66;border-radius:999px;align-items:center;gap:8px;max-width:min(100%,280px);padding:10px 18px;font-size:.88rem;font-weight:600;display:inline-flex;overflow:hidden}.comm-item{border-radius:var(--radius);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:background .2s,border-color .2s;display:flex}.comm-item:hover{background:var(--bg-secondary)}.comm-item.active{background:var(--gradient-soft);border-color:#7c3aed40}.comm-avatar{object-fit:cover;background:var(--gradient-soft);width:48px;height:48px;color:var(--primary-light);border:2px solid #7c3aed40;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex}.comm-avatar img{object-fit:cover;border-radius:12px;width:100%;height:100%}.comm-body{flex:1;min-width:0}.comm-body strong{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;display:block;overflow:hidden}.comm-body span{color:var(--text-muted);font-size:.78rem}.comm-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.comm-tag{border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:600}.comm-tag.public{color:#34d399;background:#34d3991f;border:1px solid #34d39940}.comm-tag.private{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2440}.comm-tag.admin{color:var(--primary-light);background:#7c3aed1f}.comm-action-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;display:grid}.comm-action-row .btn{white-space:nowrap;justify-content:center}.comm-action-row .btn.active{color:var(--primary-light);background:#7c3aed1f;border-color:#7c3aed73}.comm-join-panel{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;gap:10px;padding:12px;display:flex}.comm-join-panel label{color:var(--text-secondary);font-size:.78rem;font-weight:600}.comm-join-panel .input{width:100%}.comm-join-submit{justify-content:center;width:100%}.comm-create-btn{justify-content:center;width:calc(100% - 16px);margin:8px}.comm-discover-toolbar{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:12px;display:flex}.comm-discover-search{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);align-items:center;gap:8px;height:40px;padding:0 12px;display:flex}.comm-discover-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.88rem}.comm-discover-filters{flex-wrap:wrap;gap:6px;display:flex}.comm-filter-chip{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:.75rem;font-weight:600;transition:all .15s}.comm-filter-chip.active{color:var(--primary-light);background:#7c3aed1f;border-color:#7c3aed59}.comm-discover-list{flex:1;padding:8px;overflow:hidden auto}.comm-discover-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);margin-bottom:8px;padding:14px;transition:border-color .2s,transform .15s}.comm-discover-card:hover{border-color:#7c3aed4d;transform:translateY(-1px)}.comm-discover-card h4{margin-bottom:4px;font-size:.95rem}.comm-discover-card p{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.comm-discover-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.comm-report-btn{margin-left:auto}.comm-member-count{color:var(--text-muted);margin-left:auto;font-size:.75rem}.comm-discover-card.has-cover{padding-top:0;overflow:hidden}.comm-discover-cover{background-position:50%;background-size:cover;height:88px;margin:0 0 12px}.comm-cover-picker{margin-bottom:4px}.comm-cover-preview{aspect-ratio:16/6;border-radius:var(--radius);background:var(--gradient-soft);cursor:pointer;background-position:50%;background-size:cover;border:2px dashed #7c3aed59;justify-content:center;align-items:center;transition:border-color .2s,transform .15s;display:flex;overflow:hidden}.comm-cover-preview:hover{border-color:#7c3aed8c}.comm-cover-placeholder{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;font-size:.82rem;display:flex}.comm-cover-actions{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.comm-avatar-picker{margin-bottom:4px}.comm-avatar-picker-row{align-items:center;gap:16px;display:flex}.comm-avatar-preview{background:var(--gradient-soft);cursor:pointer;border:2px dashed #7c3aed59;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;padding:0;transition:border-color .2s,transform .15s;display:flex;overflow:hidden}.comm-avatar-preview:hover{border-color:#7c3aed8c;transform:scale(1.02)}.comm-avatar-preview img{object-fit:cover;width:100%;height:100%}.comm-avatar-preview-placeholder{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.comm-avatar-picker-meta{flex:1;min-width:0}.comm-avatar-picker-hint{color:var(--text-muted);margin:0 0 8px;font-size:.82rem;line-height:1.45}.comm-avatar-picker .comm-cover-actions{margin:0}.comm-chat-cover{border-bottom:1px solid var(--border);background-position:50%;background-size:cover;flex-shrink:0;height:112px}.comm-chat-header{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#7c3aed14,#ec48990a);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px 20px;display:flex}.comm-chat-header-info{align-items:center;gap:12px;min-width:0;display:flex}.comm-chat-header-info strong{font-size:.95rem;display:block}.comm-chat-header-info span{color:var(--text-muted);font-size:.78rem}.comm-chat-header-actions{flex-shrink:0;gap:6px;display:flex}.comm-msg-closed{border-radius:var(--radius-sm);color:#fbbf24;text-align:center;background:#f59e0b1a;border:1px solid #f59e0b40;margin:12px 20px;padding:12px 16px;font-size:.85rem}.comm-chat-messages{padding-top:28px}.comm-msg-closed.staff{color:#93c5fd;background:#60a5fa1a;border-color:#60a5fa40}.comm-bubble-sender{color:var(--primary-light);margin-bottom:4px;padding-left:4px;font-size:.72rem;font-weight:700}.community-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060410d1;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.community-modal{background:var(--bg-card);border:1px solid #7c3aed40;border-radius:20px;flex-direction:column;width:100%;max-width:520px;max-height:min(90vh,680px);display:flex;overflow:hidden;box-shadow:0 40px 100px #00000080}.community-settings-modal{max-width:560px}.community-modal-header{flex-shrink:0;padding:24px;position:relative}.community-modal-header-glow{background:linear-gradient(135deg,#7c3aed4d,#ec489933);position:absolute;inset:0}.community-modal-close{z-index:2;color:#fff;background:#00000040;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:16px;right:16px}.community-modal-title{z-index:1;align-items:center;gap:14px;padding-right:40px;display:flex;position:relative}.community-modal-icon{background:var(--gradient);color:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.community-modal-icon.settings{background:linear-gradient(135deg,#6366f1,#7c3aed)}.community-modal-title h2{color:#fff;margin-bottom:2px;font-size:1.2rem}.community-modal-title p{color:#ffffffa6;margin:0;font-size:.85rem}.community-modal-body{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.community-modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;gap:12px;padding:16px 24px;display:flex}.community-error{border-radius:var(--radius-sm);color:#f87171;background:#ef44441a;border:1px solid #ef444440;margin-bottom:16px;padding:10px 14px;font-size:.85rem}.community-visibility-picker{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 20px;display:grid}.community-visibility-picker.compact{margin:12px 0}.community-vis-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;transition:all .2s;display:flex}.community-vis-btn strong{color:var(--text);font-size:.88rem}.community-vis-btn small{color:var(--text-muted);font-size:.72rem;line-height:1.3}.community-vis-btn.active{color:var(--primary-light);background:#7c3aed1a;border-color:#7c3aed73}.community-submit{justify-content:center;width:100%}.community-settings-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:6px;padding:12px 16px;display:flex}.community-settings-tab{border-radius:var(--radius-sm);min-width:0;color:var(--text-muted);white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:.82rem;font-weight:600;transition:background .15s,color .15s;display:flex}.community-settings-tab.active{background:var(--gradient-soft);color:var(--primary-light)}.community-visibility-hint{border-radius:var(--radius-sm);background:#7c3aed14;border:1px solid #7c3aed26;margin-top:10px;padding:10px 12px}.community-settings-body{padding:20px 24px}.community-members-list{flex-direction:column;gap:8px;display:flex}.community-member-row{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);align-items:center;gap:10px;padding:10px 12px;display:flex}.community-member-row .user-badge{flex:1;min-width:0}.community-request-actions{flex-shrink:0;gap:8px;margin-left:auto;display:flex}.community-role-tag{background:var(--bg-card);color:var(--text-muted);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.community-role-tag.admin{color:var(--primary-light);background:#7c3aed1f}.community-toggle-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.community-toggle-row strong{margin-bottom:2px;font-size:.9rem;display:block}.community-toggle-row p{color:var(--text-muted);margin:0;font-size:.78rem}.field-hint{color:var(--text-muted);margin-top:6px;font-size:.75rem;display:block}.community-readonly-hint{text-align:center;color:var(--text-muted);padding:24px}.community-invite-panel{flex-direction:column;gap:14px;display:flex}.community-invite-card{border-radius:var(--radius);background:var(--bg-secondary);border:1px solid var(--border);padding:16px}.community-invite-card-head{color:var(--primary-light);align-items:center;gap:8px;margin-bottom:10px;display:flex}.community-invite-code{letter-spacing:.15em;text-align:center;border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);border:1px dashed #7c3aed59;margin-bottom:10px;padding:14px;font-family:ui-monospace,monospace;font-size:1.5rem;font-weight:800}.community-invite-link{word-break:break-all;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);margin-bottom:10px;padding:10px 12px;font-size:.78rem}.community-role-select{width:auto;min-width:110px;padding:6px 10px;font-size:.82rem}.community-role-tag.moderator{color:#60a5fa;background:#60a5fa1f}.comm-invite-join-bar{border-bottom:1px solid var(--border);gap:8px;padding:12px;display:flex}.comm-invite-join-bar input{flex:1;min-width:0}.comm-tag.moderator{color:#60a5fa;background:#60a5fa1f;border:1px solid #60a5fa40}@media (width<=768px){.community-visibility-picker{grid-template-columns:1fr}.community-modal-overlay{align-items:flex-end;padding:0}.community-modal{border-radius:20px 20px 0 0;max-height:92vh}}.library-page{max-width:1100px}.library-continue{margin-bottom:28px;padding:24px}.library-continue h2{align-items:center;gap:10px;margin-bottom:16px;font-size:1.1rem;display:flex}.continue-list{flex-direction:column;gap:12px;display:flex}.continue-item{background:var(--bg-secondary);border-radius:12px;gap:14px;padding:12px;text-decoration:none;transition:background .2s;display:flex}.continue-item:hover{background:var(--gradient-soft)}.continue-item img{object-fit:cover;border-radius:8px;flex-shrink:0;width:56px;height:76px}.continue-item strong{color:var(--text);font-size:.95rem;display:block}.continue-item span{color:var(--text-muted);margin-top:2px;font-size:.82rem;display:block}.continue-item small{color:var(--primary);font-size:.75rem;font-weight:600}.mini-progress{background:var(--border);border-radius:999px;height:4px;margin:8px 0 4px;overflow:hidden}.mini-progress div{background:var(--gradient);border-radius:999px;height:100%}.library-shelves{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.library-shelf-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.library-shelf-btn.active{background:var(--gradient);color:#fff;border-color:#0000}.library-shelf-btn:hover:not(.active){border-color:var(--primary);color:var(--primary)}.leaderboard-header{align-items:center;gap:16px;margin-bottom:32px;display:flex}.leaderboard-header h1{font-size:2rem;font-weight:800}.lb-section{margin-bottom:48px}.lb-rank-wrap{position:relative}.lb-rank{z-index:2;background:var(--gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:800;display:flex;position:absolute;top:-8px;left:-8px}.lb-users{flex-direction:column;gap:12px;display:flex}.lb-user{align-items:center;gap:16px;padding:16px 20px;display:flex}.lb-rank-num{background:var(--gradient-soft);width:36px;height:36px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.lb-user img{border-radius:50%;flex-shrink:0;width:48px;height:48px}.lb-user div{flex-direction:column;flex:1;gap:4px;display:flex}.lb-xp{color:var(--accent);align-items:center;gap:4px;font-weight:700;display:flex}.lb-category-tabs{flex-wrap:wrap;margin-bottom:28px}.lb-empty{color:var(--text-muted);text-align:center;padding:40px 20px}.lb-character-img{object-fit:cover;border:2px solid #7c3aed40;border-radius:50%;flex-shrink:0;width:48px;height:48px}.lb-character-img.placeholder{background:var(--gradient-soft);color:var(--primary);justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex}.lb-character-book{color:var(--text-muted);font-size:.82rem}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.panel-header h1{font-size:2rem;font-weight:800}.create-form{flex-direction:column;gap:16px;margin-bottom:32px;padding:24px;display:flex}.create-form h3{margin-bottom:8px}.form-actions{justify-content:flex-end;gap:12px;display:flex}.author-stats-grid .stats-row{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;margin-top:12px;display:grid}.author-stats-grid .stats-row div{text-align:center}.author-stats-grid .stats-row strong{font-size:1.5rem;display:block}.author-stats-grid .stats-row span{color:var(--text-muted);font-size:.8rem}.author-books{flex-direction:column;gap:16px;display:flex}.author-book-item{gap:20px;padding:20px;display:flex}.author-book-cover{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:80px;height:120px}.author-book-info h3{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.badge-editor{color:var(--primary,#6366f1);background:#6366f126;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600}.author-book-info p{color:var(--text-muted);margin-bottom:8px;font-size:.9rem}.author-book-stats{color:var(--text-muted);flex-wrap:wrap;gap:10px 14px;margin-bottom:14px;font-size:.82rem;display:flex}.author-book-stats span{align-items:center;gap:4px;display:inline-flex}.author-book-actions{gap:8px;display:flex}.editor-layout{grid-template-columns:280px 1fr;gap:24px;display:grid}.editor-sidebar{flex-direction:column;gap:12px;display:flex}@media (width<=768px){.author-book-item{flex-direction:column}.editor-layout{grid-template-columns:1fr}}.report-moderation-header{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:24px;display:flex}.report-moderation-header h2{align-items:center;gap:10px;margin-bottom:6px;display:flex}.report-moderation-header p{color:var(--text-muted);font-size:.9rem}.report-status-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-empty{text-align:center;color:var(--text-muted);padding:48px 24px}.report-empty svg{opacity:.4;margin-bottom:12px}.report-list{flex-direction:column;gap:16px;display:flex}.report-card{border:1px solid var(--border);padding:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.report-card.pending{border-color:#ec489959}.report-card.expanded{box-shadow:0 8px 32px #7c3aed26}.report-card-top{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.report-type-badge{background:color-mix(in srgb, var(--type-color) 15%, transparent);color:var(--type-color);border:1px solid color-mix(in srgb, var(--type-color) 35%, transparent);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.report-status-pill{border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600}.report-status-pill.status-pending{color:#f59e0b;background:#f59e0b26}.report-status-pill.status-resolved{color:#22c55e;background:#22c55e26}.report-status-pill.status-dismissed{color:#94a3b8;background:#94a3b826}.report-status-pill.status-reviewed{color:#60a5fa;background:#60a5fa26}.report-date{color:var(--text-muted);margin-left:auto;font-size:.8rem}.report-card-body{flex-direction:column;gap:16px;padding:16px 20px;display:flex}.report-reason-tag{background:linear-gradient(135deg,#7c3aed33,#ec489933);border-radius:8px;margin-bottom:8px;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-block}.report-description{color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.report-target-preview{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.target-preview-header{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:.8rem;font-weight:600;display:flex}.target-preview-main{align-items:flex-start;gap:12px;display:flex}.target-preview-img{object-fit:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px}.target-subtitle{color:var(--text-muted);margin-top:2px;font-size:.85rem;display:block}.target-excerpt{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.target-deleted{color:#ef4444;font-size:.9rem}.target-inspect-btn{margin-top:12px}.report-reporter{color:var(--text-muted);align-items:center;gap:10px;font-size:.85rem;display:flex}.report-reviewed{background:#22c55e14;border-radius:8px;padding:10px 12px;font-size:.85rem}.report-reviewed p{color:var(--text-muted);margin-top:4px}.report-card-footer{padding:0 20px 16px}.report-moderation-panel{border-top:1px solid var(--border);background:#7c3aed0a;flex-direction:column;gap:12px;padding:16px 20px 20px;display:flex}.report-moderation-panel label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.moderation-actions-grid{flex-wrap:wrap;gap:8px;display:flex}.moderation-action-btn{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;transition:all .15s;display:inline-flex}.moderation-action-btn:hover{border-color:var(--accent);color:var(--text-primary)}.moderation-action-btn.active{color:#fff;background:linear-gradient(135deg,#7c3aed33,#ec489933);border-color:#ec4899}.report-resolve-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}@media (width<=768px){.report-date{width:100%;margin-left:0}.report-moderation-header{flex-direction:column}}.role-management{flex-direction:column;gap:24px;display:flex}.role-mgmt-loading{padding:24px 0}.role-mgmt-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.role-mgmt-header h2{align-items:center;gap:10px;margin-bottom:6px;font-size:1.35rem;display:flex}.role-mgmt-header p{color:var(--text-muted);max-width:560px;font-size:.9rem}.role-hierarchy-ladder{flex-direction:column;gap:0;display:flex;position:relative}.role-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);grid-template-columns:auto 56px 1fr;gap:12px;margin-bottom:12px;padding:20px 20px 20px 12px;transition:border-color .2s,box-shadow .2s,transform .2s,opacity .2s;display:grid;position:relative;overflow:hidden}.role-card.draggable{cursor:default}.role-card.draggable:active{cursor:grabbing}.role-card.dragging{opacity:.55;border-color:#7c3aed80;transform:scale(.98);box-shadow:0 12px 40px #7c3aed33}.role-card.drag-over{border-color:var(--accent);transform:translateY(2px);box-shadow:0 0 0 2px #ec489959}.role-card.drag-over:before{content:"";background:var(--gradient);z-index:3;border-radius:999px;height:3px;position:absolute;top:-2px;left:12px;right:12px}.role-drag-handle{width:32px;height:48px;color:var(--text-muted);background:var(--bg-secondary);border:1px dashed var(--border);cursor:grab;touch-action:none;border-radius:10px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.role-drag-handle:hover{color:var(--primary-light);background:#7c3aed1f;border-color:#7c3aed59}.role-drag-handle:active{cursor:grabbing;background:#7c3aed33}.role-hierarchy-ladder.reordering{pointer-events:none;opacity:.7}.role-card.admin-locked,.role-card.reader-protected{grid-template-columns:56px 1fr;padding-left:20px}.role-card:before{content:"";background:linear-gradient(135deg, color-mix(in srgb, var(--role-color) 8%, transparent), transparent 60%);pointer-events:none;position:absolute;inset:0}.role-card.editable:hover{border-color:color-mix(in srgb, var(--role-color) 45%, transparent);box-shadow:0 8px 32px color-mix(in srgb, var(--role-color) 12%, transparent)}.role-card.admin-locked{background:linear-gradient(135deg, #ef44440f, var(--bg-card));border-color:#ef444459}.role-card.reader-protected{opacity:.92;border-style:dashed}.role-card-rank-bar{border-right:2px solid color-mix(in srgb, var(--role-color) 35%, transparent);flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-height:80px;padding-bottom:4px;display:flex}.role-rank-num{color:var(--role-color);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:800}.role-card-body{z-index:1;flex-direction:column;gap:14px;display:flex;position:relative}.role-card-top{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.role-card-icon{width:44px;height:44px;color:var(--role-color);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.role-card-title strong{font-size:1.05rem;display:block}.role-code{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:.78rem}.role-card-badges{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.role-badge.locked{color:#f87171;background:#ef44441f;border:1px solid #ef44444d}.role-badge.protected{color:var(--text-muted);border:1px solid var(--border);background:#94a3b826}.role-badge.system{color:var(--primary-light);background:#7c3aed1f;border:1px solid #7c3aed40}.role-badge.custom{color:#f472b6;background:#ec48991a;border:1px solid #ec489940}.role-perm-grid{flex-wrap:wrap;gap:8px;display:flex}.role-perm-chip{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.role-no-perms{color:var(--text-muted);font-size:.82rem;font-style:italic}.role-card-actions{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding-top:4px;display:flex}.role-locked-hint{color:var(--text-muted);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.role-hierarchy-connector{background:linear-gradient(to bottom, var(--role-color), transparent);z-index:2;width:2px;height:12px;position:absolute;bottom:-12px;left:47px}.role-form-overlay{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080612c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.role-form-modal{width:100%;max-width:560px;max-height:calc(100vh - 48px);padding:0;overflow-y:auto}.role-form-head{border-bottom:1px solid var(--border);background:var(--gradient-soft);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.role-form-head h3{font-size:1.1rem}.role-form-close{background:var(--bg-secondary);width:36px;height:36px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.role-form-field{padding:16px 24px 0}.role-form-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px;font-size:.78rem;font-weight:700;display:block}.role-form-field small{color:var(--text-muted);margin-top:6px;font-size:.75rem;display:block}.role-form-hint{color:var(--text-muted);margin:-4px 0 12px;font-size:.8rem}.role-perm-toggle-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;padding-bottom:8px;display:grid}.role-perm-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);text-align:left;color:var(--text-secondary);align-items:center;gap:10px;padding:12px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:flex;position:relative}.role-perm-toggle:hover{border-color:#7c3aed59}.role-perm-toggle.selected{color:var(--primary-light);background:#7c3aed1f;border-color:#7c3aed80}.role-perm-check{color:#22c55e;margin-left:auto}.role-form-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:16px;padding:20px 24px 24px;display:flex}@media (width<=640px){.role-card{grid-template-columns:1fr}.role-card.draggable{grid-template-columns:auto 1fr}.role-drag-handle{height:40px}.role-card.admin-locked,.role-card.reader-protected{grid-template-columns:1fr}.role-card-rank-bar{border-right:none;border-bottom:2px solid color-mix(in srgb, var(--role-color) 35%, transparent);flex-direction:row;min-height:auto;padding-bottom:12px}.role-perm-toggle-grid{grid-template-columns:1fr}}.announce-mgmt-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.announce-mgmt-header h2{align-items:center;gap:10px;margin-bottom:6px;font-size:1.35rem;display:flex}.announce-mgmt-header p{color:var(--text-muted);max-width:560px;margin:0;font-size:.9rem}.announce-form-card{background:linear-gradient(#7c3aed0f,#0000);border:1px solid #7c3aed38;margin-bottom:24px;padding:24px}.announce-form-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.announce-form-head h3{margin:0;font-size:1.1rem}.announce-type-picker{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.announce-type-btn{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .18s;display:inline-flex}.announce-type-btn.active{color:var(--type-color);background:color-mix(in srgb, var(--type-color) 14%, transparent);border-color:color-mix(in srgb, var(--type-color) 35%, transparent);box-shadow:0 4px 16px color-mix(in srgb, var(--type-color) 20%, transparent)}.announce-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.announce-active-check{margin:16px 0 20px}.announce-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;padding:48px 24px;display:flex}.announce-empty svg{color:var(--primary-light);opacity:.7;margin-bottom:12px}.announce-empty strong{color:var(--text);margin-bottom:6px}.announce-list{flex-direction:column;gap:12px;display:flex}.announce-item{border-left:3px solid var(--announce-color,var(--primary));grid-template-columns:auto 1fr auto;align-items:flex-start;gap:16px;padding:18px 20px;transition:border-color .2s,box-shadow .2s;display:grid}.announce-item.live{box-shadow:0 4px 20px #7c3aed14}.announce-item.inactive{opacity:.72;border-left-color:var(--border)}.announce-item-icon{background:color-mix(in srgb, var(--announce-color) 16%, transparent);width:44px;height:44px;color:var(--announce-color);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.announce-item-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.announce-item-top strong{font-size:1rem}.announce-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:.72rem;font-weight:700}.announce-status.on{color:#34d399;background:#34d3991f;border:1px solid #34d39940}.announce-status.off{color:var(--text-muted);border:1px solid var(--border);background:#ffffff0a}.announce-item-preview{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.announce-item-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:flex}.announce-type-tag{background:color-mix(in srgb, var(--announce-color) 12%, transparent);color:var(--announce-color);border-radius:999px;padding:2px 8px;font-weight:600}.announce-item-actions{flex-shrink:0;gap:4px;display:flex}.announce-item-actions .toggle-on{color:#34d399}@media (width<=640px){.announce-form-grid{grid-template-columns:1fr}.announce-item{grid-template-columns:auto 1fr}.announce-item-actions{grid-column:1/-1;justify-content:flex-end}}.rank-mgmt{flex-direction:column;gap:24px;padding-bottom:24px;display:flex}.rank-mgmt-hero{background:var(--bg-card);border:1px solid #7c3aed40;border-radius:20px;position:relative;overflow:hidden}.rank-mgmt-hero-bg{pointer-events:none;background:radial-gradient(80% 60% at 10% 20%,#7c3aed38,#0000 55%),radial-gradient(60% 50% at 90% 80%,#ec489926,#0000 50%),linear-gradient(135deg,#1a1225f2,#1e162dfa);position:absolute;inset:0}.rank-mgmt-hero-content{align-items:flex-start;gap:20px;padding:28px 28px 20px;display:flex;position:relative}.rank-mgmt-hero-icon{color:#fbbf24;background:linear-gradient(135deg,#7c3aed59,#ec489940);border:1px solid #ffffff1f;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative;box-shadow:0 8px 32px #7c3aed40}.rank-mgmt-hero-sparkle{color:var(--accent);position:absolute;top:-4px;right:-4px}.rank-mgmt-hero h2{background:linear-gradient(135deg,#f8f7fc,#c4b5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:1.5rem}.rank-mgmt-hero p{color:#f8f7fca6;max-width:640px;margin:0;font-size:.92rem;line-height:1.6}.rank-mgmt-stats{background:#ffffff0f;border-top:1px solid #ffffff0f;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;position:relative}.rank-mgmt-stat{text-align:center;background:#00000026;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;display:flex}.rank-mgmt-stat svg{color:var(--primary-light);opacity:.85}.rank-mgmt-stat strong{color:#f8f7fc;font-size:1.35rem;font-weight:800;line-height:1.2}.rank-mgmt-stat span{text-transform:uppercase;letter-spacing:.06em;color:#f8f7fc73;font-size:.72rem;font-weight:600}.rank-mgmt-nav{background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;gap:8px;padding:4px;display:flex}.rank-mgmt-nav-btn{min-width:140px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.rank-mgmt-nav-btn:hover{color:var(--text);background:#7c3aed14}.rank-mgmt-nav-btn.active{color:var(--primary-light);background:linear-gradient(135deg,#7c3aed38,#ec48991f);border:1px solid #7c3aed40;box-shadow:0 4px 16px #7c3aed26}.rank-ladder{flex-direction:column;gap:14px;display:flex}.rank-ladder.reordering{pointer-events:none;opacity:.75}.rank-ladder-hint{color:var(--text-muted);background:#7c3aed0f;border:1px dashed #7c3aed33;border-radius:10px;align-items:center;gap:8px;width:fit-content;margin:0;padding:10px 14px;font-size:.82rem;display:inline-flex}.rank-ladder-hint svg{color:var(--primary-light);flex-shrink:0}.rank-tier-card{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;grid-template-columns:auto auto 1fr auto;align-items:stretch;gap:18px;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s,opacity .2s;display:grid;position:relative;overflow:hidden}.rank-tier-card.draggable{cursor:default}.rank-tier-card.dragging{opacity:.55;border-color:#7c3aed80;transform:scale(.98);box-shadow:0 12px 40px #7c3aed33}.rank-tier-card.drag-over{border-color:var(--accent);transform:translateY(2px);box-shadow:0 0 0 2px #ec489959}.rank-tier-card.drag-over:before{content:"";background:var(--gradient);z-index:3;border-radius:999px;height:3px;position:absolute;top:-2px;left:12px;right:12px}.rank-drag-handle{z-index:2;width:32px;height:48px;color:var(--text-muted);background:var(--bg-secondary);border:1px dashed var(--border);cursor:grab;touch-action:none;border-radius:10px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex;position:relative}.rank-drag-handle:hover:not(:disabled){color:var(--primary-light);background:#7c3aed1f;border-color:#7c3aed59}.rank-drag-handle:active:not(:disabled){cursor:grabbing;background:#7c3aed33}.rank-drag-handle:disabled{opacity:.4;cursor:not-allowed}.rank-tier-card:hover{border-color:#7c3aed59;transform:translateY(-2px);box-shadow:0 12px 40px #0003}.rank-tier-glow{background:var(--tier-bg);pointer-events:none;opacity:.85;position:absolute;inset:0}.rank-tier-left{flex-direction:column;align-items:center;gap:10px;min-width:72px;display:flex;position:relative}.rank-tier-num{width:28px;height:28px;color:var(--primary-light);background:#7c3aed33;border:1px solid #7c3aed4d;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex}.rank-ladder--author .rank-tier-num{color:#fbbf24;background:#fbbf2426;border-color:#fbbf2459}.rank-tier-emoji-wrap{background:#00000040;border:1px solid #ffffff14;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:inset 0 1px #ffffff0f}.rank-tier-emoji{text-align:center;cursor:text;background:0 0;border:none;outline:none;width:100%;height:100%;font-size:1.75rem}.rank-tier-body{flex-direction:column;gap:14px;min-width:0;display:flex;position:relative}.rank-tier-fields{grid-template-columns:1fr 1fr 110px;gap:12px;display:grid}.rank-tier-fields label{flex-direction:column;gap:6px;display:flex}.rank-tier-fields label span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.72rem;font-weight:700}.rank-tier-progress-labels{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:6px;font-size:.78rem;font-weight:600;display:flex}.rank-tier-progress-bar{background:#ffffff0f;border-radius:999px;height:6px;overflow:hidden}.rank-tier-progress-fill{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:999px;height:100%}.rank-ladder--author .rank-tier-progress-fill{background:linear-gradient(90deg,#fbbf24,#f97316)}.rank-tier-progress-hint{color:var(--text-muted);margin-top:6px;font-size:.75rem;display:block}.rank-tier-max{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2433;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.rank-tier-delete{color:#f87171;cursor:pointer;background:#ef444414;border:none;border-radius:10px;justify-content:center;align-self:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:relative}.rank-tier-delete:hover:not(:disabled){background:#ef44442e;transform:scale(1.05)}.rank-tier-delete:disabled{opacity:.3;cursor:not-allowed}.rank-tier-add{color:var(--primary-light);cursor:pointer;background:#7c3aed0a;border:2px dashed #7c3aed59;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.rank-tier-add:hover{background:#7c3aed1a;border-color:#7c3aed8c}.rank-xp-section{flex-direction:column;gap:16px;display:flex}.rank-xp-intro{background:linear-gradient(135deg,#fbbf2414,#7c3aed0f);border:1px solid #fbbf2426;align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.rank-xp-intro svg{color:#fbbf24;flex-shrink:0}.rank-xp-intro strong{margin-bottom:4px;display:block}.rank-xp-intro p{color:var(--text-muted);margin:0;font-size:.88rem}.rank-xp-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.rank-xp-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;align-items:center;gap:14px;padding:18px;transition:transform .2s,box-shadow .2s;display:flex}.rank-xp-card:hover{border-color:color-mix(in srgb, var(--xp-accent) 40%, var(--border));transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.rank-xp-card-icon{background:color-mix(in srgb, var(--xp-accent) 15%, transparent);width:48px;height:48px;color:var(--xp-accent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.rank-xp-card-body{flex:1;min-width:0}.rank-xp-card-label{color:var(--text);margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.rank-xp-card-input-wrap{align-items:center;gap:8px;display:flex}.rank-xp-card-input-wrap .input{flex:1;min-width:0}.rank-xp-unit{color:var(--text-muted);font-size:.78rem;font-weight:700}.rank-mgmt-footer{background:var(--bg-secondary);border:1px solid var(--border);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex;position:sticky;bottom:16px}.rank-mgmt-footer p{color:var(--text-muted);max-width:480px;margin:0;font-size:.82rem}.rank-mgmt-save{min-width:180px}.rank-mgmt-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 20px;display:flex}.rank-mgmt-spin{animation:.8s linear infinite rank-mgmt-spin}@keyframes rank-mgmt-spin{to{transform:rotate(360deg)}}@media (width<=960px){.rank-mgmt-stats{grid-template-columns:repeat(2,1fr)}.rank-tier-fields{grid-template-columns:1fr}.rank-tier-card{grid-template-rows:auto auto;grid-template-columns:auto 1fr}.rank-drag-handle{grid-row:1/3}.rank-tier-left{grid-column:2}.rank-tier-body{grid-column:1/-1}.rank-tier-delete{position:absolute;top:14px;right:14px}}@media (width<=600px){.rank-mgmt-hero-content{flex-direction:column;padding:22px 20px 16px}.rank-mgmt-nav-btn{min-width:100%}.rank-mgmt-footer{flex-direction:column;align-items:stretch}.rank-mgmt-save{width:100%}}.verification-panel{flex-direction:column;gap:24px;display:flex}.verification-hero{background:linear-gradient(135deg,#3b82f624 0%,#7c3aed1f 45%,#ec489914 100%);border:1px solid #3b82f638;border-radius:20px;padding:28px 28px 26px;position:relative;overflow:hidden}.verification-hero-bg{pointer-events:none;background:radial-gradient(circle at 0 0,#3b82f659,#0000 42%),radial-gradient(circle at 100% 100%,#7c3aed47,#0000 40%);position:absolute;inset:0}.verification-hero-inner{z-index:1;flex-wrap:wrap;align-items:center;gap:20px;display:flex;position:relative}.verification-hero-icon-wrap{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1 50%,#8b5cf6);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative;box-shadow:0 12px 32px #3b82f659}.verification-hero-pulse{border:2px solid #3b82f673;border-radius:22px;animation:2.4s ease-out infinite verificationPulse;position:absolute;inset:-4px}@keyframes verificationPulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}.verification-hero-text{flex:1;min-width:200px}.verification-hero-text h2{background:linear-gradient(135deg,#93c5fd,#c4b5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:1.35rem;font-weight:800}.verification-hero-text p{color:var(--text-muted);max-width:480px;margin:0;font-size:.92rem;line-height:1.5}.verification-hero-stat{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000038;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-width:88px;padding:14px 20px;display:flex}.verification-hero-stat strong{color:#fff;font-size:1.75rem;font-weight:800;line-height:1}.verification-hero-stat span{text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c;margin-top:4px;font-size:.72rem;font-weight:700}.verification-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.verification-card{animation:.45s backwards verificationCardIn;animation-delay:var(--card-delay,0s);border:1px solid #7c3aed2e;border-radius:20px;padding:0;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden}@keyframes verificationCardIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.verification-card:hover{border-color:#3b82f659;transform:translateY(-3px);box-shadow:0 20px 48px #3b82f61f}.verification-card-glow{pointer-events:none;background:linear-gradient(#3b82f614,#0000);height:120px;position:absolute;top:0;left:0;right:0}.verification-card-top{justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 0;display:flex}.verification-user-link{color:inherit;flex:1;align-items:center;gap:14px;min-width:0;text-decoration:none;display:flex}.verification-user-link:hover .verification-user-name{color:#93c5fd}.verification-avatar-ring{background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899);border-radius:50%;flex-shrink:0;padding:3px;position:relative;box-shadow:0 6px 20px #3b82f640}.verification-avatar{object-fit:cover;border:3px solid var(--bg-card,#0f0a1a);border-radius:50%;width:56px;height:56px;display:block}.verification-avatar-badge{color:#fff;border:2px solid var(--bg-card,#0f0a1a);background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 4px 12px #3b82f666}.verification-user-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.verification-user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:800;transition:color .2s;overflow:hidden}.verification-user-handle{color:var(--text-muted);align-items:center;gap:2px;font-size:.82rem;display:inline-flex}.verification-role-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--role-color);background:color-mix(in srgb, var(--role-color) 14%, transparent);border:1px solid color-mix(in srgb, var(--role-color) 28%, transparent);border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:.68rem;font-weight:700}.verification-card-details{flex-direction:column;gap:8px;padding:16px 22px 0;display:flex}.verification-detail-row{color:var(--text-muted);align-items:flex-start;gap:8px;font-size:.84rem;line-height:1.45;display:flex}.verification-detail-row svg{color:#7c3aeda6;flex-shrink:0;margin-top:2px}.verification-detail-row em{color:var(--text-muted);opacity:.85;margin-top:2px;font-size:.78rem;font-style:normal;display:block}.verification-note{background:#3b82f60f;border:1px solid #3b82f624;border-left:3px solid #3b82f6;border-radius:14px;margin:18px 22px 0;padding:16px 16px 16px 42px;position:relative}.verification-note-icon{color:#60a5fa;opacity:.7;position:absolute;top:16px;left:14px}.verification-note p{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.9rem;line-height:1.6}.verification-note-toggle{color:#60a5fa;cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0;font-size:.82rem;font-weight:600}.verification-note-toggle:hover{text-decoration:underline}.verification-note-empty{color:var(--text-muted);background:#ffffff08;border:1px dashed #ffffff14;border-radius:12px;margin:18px 22px 0;padding:12px 14px;font-size:.85rem;font-style:italic}.verification-card-actions{flex-wrap:wrap;gap:10px;padding:20px 22px 14px;display:flex}.verification-approve-btn{background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;flex:1;justify-content:center;align-items:center;gap:8px;min-width:180px;font-weight:700;display:inline-flex;box-shadow:0 8px 24px #3b82f64d}.verification-approve-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.verification-approve-btn:disabled{opacity:.7;cursor:wait}.verification-profile-btn{align-items:center;gap:6px;display:inline-flex}.verification-card-shine{color:var(--text-muted);opacity:.75;justify-content:center;align-items:center;gap:6px;padding:10px 22px 16px;font-size:.72rem;display:flex}.verification-card-shine svg{color:#fbbf24}.verification-empty{text-align:center;background:linear-gradient(#3b82f60a,#0000);border:1px dashed #3b82f633;flex-direction:column;align-items:center;padding:56px 32px;display:flex}.verification-empty-icon{color:#60a5fa;background:linear-gradient(135deg,#3b82f626,#7c3aed1a);border:1px solid #3b82f633;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:20px;display:flex;position:relative}.verification-empty-badge{color:#22c55e;filter:drop-shadow(0 2px 6px #22c55e66);position:absolute;bottom:4px;right:4px}.verification-empty h3{margin:0 0 8px;font-size:1.15rem;font-weight:800}.verification-empty p{max-width:360px;color:var(--text-muted);margin:0;line-height:1.55}.verification-skeleton-hero{border-radius:20px;min-height:118px}.verification-skeleton-card{border-radius:20px;min-height:320px}@media (width<=640px){.verification-hero-inner{flex-direction:column;align-items:flex-start}.verification-hero-stat{flex-direction:row;justify-content:center;gap:10px;width:100%}.verification-hero-stat strong{font-size:1.35rem}.verification-grid{grid-template-columns:1fr}.verification-card-actions{flex-direction:column}.verification-approve-btn{width:100%}}.admin-books-panel{flex-direction:column;gap:22px;display:flex}.admin-books-hero{background:linear-gradient(135deg,#7c3aed24 0%,#ec48991a 50%,#f59e0b0f 100%);border:1px solid #7c3aed38;border-radius:20px;padding:26px 28px;position:relative;overflow:hidden}.admin-books-hero-bg{pointer-events:none;background:radial-gradient(circle at 0 20%,#7c3aed52,#0000 45%),radial-gradient(circle at 100% 80%,#ec489938,#0000 42%);position:absolute;inset:0}.admin-books-hero-inner{z-index:1;flex-wrap:wrap;align-items:center;gap:20px;display:flex;position:relative}.admin-books-hero-icon{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7 45%,#ec4899);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:62px;height:62px;display:flex;box-shadow:0 12px 32px #7c3aed59}.admin-books-hero-text{flex:1;min-width:220px}.admin-books-hero-text h2{background:linear-gradient(135deg,#c4b5fd,#f9a8d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:1.35rem;font-weight:800}.admin-books-hero-text p{color:var(--text-muted);max-width:520px;margin:0;font-size:.92rem;line-height:1.5}.admin-books-hero-stats{flex-wrap:wrap;gap:10px;display:flex}.admin-books-stat{background:#0003;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;align-items:center;min-width:72px;padding:12px 16px;display:flex}.admin-books-stat strong{color:#fff;font-size:1.4rem;font-weight:800;line-height:1}.admin-books-stat span{text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin-top:4px;font-size:.68rem;font-weight:700}.admin-books-stat.live strong{color:#86efac}.admin-books-stat.draft strong{color:#fcd34d}.admin-books-stat.passive strong{color:#94a3b8}.admin-books-toolbar{border:1px solid #7c3aed26;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.admin-books-search-wrap{position:relative}.admin-books-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.admin-books-search-input{border:1px solid var(--border);background:var(--bg-secondary);width:100%;height:48px;color:var(--text);border-radius:14px;padding:0 110px 0 44px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.admin-books-search-input:focus{border-color:#7c3aed80;outline:none;box-shadow:0 0 0 3px #7c3aed1f}.admin-books-search-loading{color:var(--primary-light);font-size:.78rem;font-weight:600;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.admin-books-filters{flex-wrap:wrap;gap:8px;display:flex}.admin-books-filter{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.admin-books-filter:hover{color:var(--text);border-color:#7c3aed59}.admin-books-filter.active{background:var(--gradient-soft);color:var(--primary-light);border-color:#7c3aed66;box-shadow:0 4px 14px #7c3aed26}.admin-books-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.admin-book-card{animation:.42s backwards adminBookCardIn;animation-delay:var(--card-delay,0s);border:1px solid #7c3aed24;border-radius:18px;padding:0;transition:transform .22s,box-shadow .22s,border-color .22s;overflow:hidden}@keyframes adminBookCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.admin-book-card:hover{border-color:#7c3aed4d;transform:translateY(-4px);box-shadow:0 18px 40px #7c3aed1f}.admin-book-card.published{border-color:#22c55e26}.admin-book-card.draft{border-color:#f59e0b26}.admin-book-card.passive{opacity:.92;border-color:#94a3b840}.admin-book-cover-wrap{aspect-ratio:16/9;background:var(--bg-secondary);position:relative;overflow:hidden}.admin-book-cover{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.admin-book-card:hover .admin-book-cover{transform:scale(1.04)}.admin-book-cover-overlay{pointer-events:none;background:linear-gradient(#0000 40%,#000000b8);position:absolute;inset:0}.admin-book-editor-pick{color:#fef3c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f59e0b40;border:1px solid #fbbf2459;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:.68rem;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px}.admin-book-status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;bottom:10px;right:10px}.admin-book-status.live{color:#bbf7d0;background:#22c55e40;border:1px solid #22c55e59}.admin-book-status.draft{color:#fde68a;background:#f59e0b38;border:1px solid #f59e0b52}.admin-book-status.passive{color:#cbd5e1;background:#64748b59;border:1px solid #94a3b873}.admin-book-body{flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex}.admin-book-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-book-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.02rem;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}.admin-book-privacy{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.admin-book-privacy.public{color:#86efac;background:#22c55e1f;border:1px solid #22c55e38}.admin-book-privacy.private{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b838}.admin-book-privacy.premium{color:#fcd34d;background:#f59e0b1f;border:1px solid #f59e0b40}.admin-book-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.admin-book-meta{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.8rem;display:flex}.admin-book-meta span{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.admin-book-meta strong{color:var(--text);font-weight:700}.admin-book-meta em{opacity:.8;font-style:normal}.admin-book-actions{border-top:1px solid #7c3aed1a;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:12px;display:flex}.admin-book-view-btn{flex:1;justify-content:center;align-items:center;gap:6px;min-width:120px;display:inline-flex}.admin-book-actions .btn.success{color:#86efac}.admin-book-actions .btn.warn{color:#fcd34d}.admin-books-empty{text-align:center;border:1px dashed #7c3aed33;flex-direction:column;align-items:center;padding:52px 28px;display:flex}.admin-books-empty-icon{color:#a78bfa;background:linear-gradient(135deg,#7c3aed24,#ec489914);border:1px solid #7c3aed33;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;margin-bottom:18px;display:flex;position:relative}.admin-books-empty-badge{color:#ec4899;position:absolute;bottom:2px;right:2px}.admin-books-empty h3{margin:0 0 8px;font-size:1.1rem;font-weight:800}.admin-books-empty p{max-width:380px;color:var(--text-muted);margin:0;line-height:1.55}.admin-books-skeleton-hero{border-radius:20px;min-height:110px}.admin-books-skeleton-toolbar{border-radius:16px;min-height:110px}.admin-books-skeleton-card{border-radius:18px;min-height:340px}@media (width<=720px){.admin-books-hero-inner{flex-direction:column;align-items:flex-start}.admin-books-hero-stats{width:100%}.admin-books-stat{flex:1}.admin-books-grid{grid-template-columns:1fr}}.user-edit-overlay{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080612c7;justify-content:center;align-items:center;padding:24px;animation:.22s userEditFadeIn;display:flex;position:fixed;inset:0}@keyframes userEditFadeIn{0%{opacity:0}to{opacity:1}}.user-edit-modal{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid #7c3aed40;flex-direction:column;width:100%;max-width:580px;max-height:calc(100vh - 48px);animation:.28s cubic-bezier(.34,1.2,.64,1) userEditSlideUp;display:flex;overflow:hidden;box-shadow:0 32px 80px #00000080,0 0 0 1px #ec48991a,inset 0 1px #ffffff0a}@keyframes userEditSlideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.user-edit-header{z-index:2;flex-shrink:0;min-height:132px;padding:28px 56px 28px 24px;position:relative;overflow:visible}.user-edit-header-bg{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(135deg,#7c3aed59 0%,#ec489940 60%,#7c3aed1a 100%);position:absolute;inset:0;overflow:hidden}.user-edit-header-bg:after{content:"";background:radial-gradient(circle at 80% 20%,#ec48994d,#0000 50%);position:absolute;inset:0}.user-edit-close{z-index:2;color:#fff;background:#00000040;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,transform .2s;display:flex;position:absolute;top:16px;right:16px}.user-edit-close:hover{background:#0006;transform:scale(1.05)}.user-edit-profile{z-index:1;align-items:flex-start;gap:18px;display:flex;position:relative}.user-edit-avatar-wrap{flex-shrink:0;position:relative}.user-edit-avatar{object-fit:cover;border:3px solid #ffffffe6;border-radius:50%;width:72px;height:72px;box-shadow:0 8px 24px #0000004d}.user-edit-verified-dot{color:#fff;border:2px solid var(--bg-card);background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;bottom:2px;right:2px}.user-edit-identity h2{color:#fff;text-shadow:0 1px 8px #0000004d;margin-bottom:2px;font-size:1.35rem;font-weight:700}.user-edit-username{color:#ffffffbf;margin-bottom:10px;font-size:.9rem}.user-edit-meta{flex-wrap:wrap;gap:8px;display:flex}.user-edit-role-pill{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:5px;padding:4px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.user-edit-status{border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:600}.user-edit-status.active{color:#6ee7b7;background:#34d39940;border:1px solid #34d39966}.user-edit-status.inactive{color:#fca5a5;background:#ef444440;border:1px solid #ef444466}.user-edit-body{z-index:1;background:var(--bg-card);flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px 24px 8px;display:flex;position:relative;overflow-y:auto}.user-edit-quick-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-edit-info-chip{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;display:inline-flex}.user-edit-info-chip.mono{font-family:ui-monospace,monospace;font-size:.78rem}.user-edit-profile-link{border-radius:var(--radius-sm);color:var(--primary-light);background:#7c3aed1f;border:1px solid #7c3aed40;align-items:center;gap:6px;margin-left:auto;padding:6px 14px;font-size:.82rem;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.user-edit-profile-link:hover{color:var(--accent-light);background:#7c3aed38}.user-edit-section{border-radius:var(--radius);background:var(--bg-secondary);border:1px solid var(--border);padding:16px}.user-edit-section-head{color:var(--primary-light);align-items:center;gap:8px;margin-bottom:14px;display:flex}.user-edit-section-head h3{color:var(--text);font-size:.95rem;font-weight:700}.user-edit-hint{color:var(--text-muted);margin:-6px 0 12px;font-size:.8rem}.user-edit-field{margin-bottom:12px}.user-edit-field:last-child{margin-bottom:0}.user-edit-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}.user-edit-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);padding:10px 14px;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.user-edit-input:focus{border-color:#7c3aed80;outline:none;box-shadow:0 0 0 3px #7c3aed26}.user-edit-textarea{resize:vertical;min-height:72px;line-height:1.5}.user-edit-role-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.user-edit-role-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.user-edit-role-card:hover{border-color:color-mix(in srgb, var(--role-color) 50%, transparent);background:color-mix(in srgb, var(--role-color) 8%, var(--bg-card))}.user-edit-role-card.selected{border-color:var(--role-color);background:color-mix(in srgb, var(--role-color) 15%, var(--bg-card));color:var(--role-color);box-shadow:0 0 0 1px color-mix(in srgb, var(--role-color) 30%, transparent)}.user-edit-role-card.disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.3)}.user-edit-role-card.disabled:hover{border-color:var(--border);background:var(--bg-card);color:var(--text-secondary)}.user-edit-role-dot{background:var(--role-color);width:10px;height:10px;box-shadow:0 0 8px color-mix(in srgb, var(--role-color) 60%, transparent);border-radius:50%}.user-edit-role-name{text-align:center;line-height:1.2}.user-edit-stats-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.user-edit-stat-card{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);align-items:center;gap:12px;padding:14px;display:flex}.user-edit-stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.user-edit-stat-icon.wallet{color:#34d399;background:#34d39926}.user-edit-stat-icon.xp{color:#fbbf24;background:#fbbf2426}.user-edit-stat-content{flex:1;min-width:0}.user-edit-stat-content label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.user-edit-stat-input{border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text);border-radius:8px;padding:6px 8px;font-size:1.1rem;font-weight:700}.user-edit-stat-input:focus{border-color:#7c3aed80;outline:none}.user-edit-section-toggles{flex-direction:column;gap:4px;display:flex}.user-edit-toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.user-edit-toggle-row:last-of-type{border-bottom:none}.user-edit-toggle-info{align-items:flex-start;gap:12px;display:flex}.toggle-icon.active-icon{color:#34d399;flex-shrink:0;margin-top:2px}.toggle-icon.verified-icon{color:#60a5fa;flex-shrink:0;margin-top:2px}.user-edit-toggle-info strong{margin-bottom:2px;font-size:.9rem;display:block}.user-edit-toggle-info p{color:var(--text-muted);font-size:.78rem}.user-edit-switch{cursor:pointer;flex-shrink:0;width:48px;height:26px;position:relative}.user-edit-switch input{opacity:0;width:0;height:0}.user-edit-switch-slider{background:var(--bg-hover);border:1px solid var(--border);border-radius:999px;transition:background .25s;position:absolute;inset:0}.user-edit-switch-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s cubic-bezier(.34,1.4,.64,1);position:absolute;top:50%;left:2px;transform:translateY(-50%);box-shadow:0 2px 6px #00000040}.user-edit-switch input:checked+.user-edit-switch-slider{background:linear-gradient(135deg,#34d399,#10b981);border-color:#0000}.user-edit-switch input:checked+.user-edit-switch-slider.verified{background:linear-gradient(135deg,#60a5fa,#6366f1)}.user-edit-switch input:checked+.user-edit-switch-slider:before{transform:translate(22px,-50%)}.user-edit-warning{border-radius:var(--radius-sm);color:#f87171;background:#ef44441a;border:1px solid #ef444440;align-items:center;gap:8px;margin-top:8px;padding:10px 14px;font-size:.82rem;display:flex}.user-edit-footer{border-top:1px solid var(--border);background:linear-gradient(to top, var(--bg-secondary), var(--bg-card));z-index:2;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px 20px;display:flex;position:relative}.user-edit-footer-actions{gap:12px;margin-left:auto;display:flex}.user-edit-delete{color:#ef4444!important}.user-edit-save{justify-content:center;align-items:center;gap:8px;min-width:180px;display:inline-flex}@media (width<=560px){.user-edit-overlay{align-items:flex-end;padding:12px}.user-edit-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh}.user-edit-header{min-height:120px;padding:24px 52px 24px 20px}.user-edit-stats-row{grid-template-columns:1fr}.user-edit-profile-link{justify-content:center;width:100%;margin-left:0}.user-edit-footer{flex-direction:column-reverse}.user-edit-footer .btn{justify-content:center;width:100%}}.admin-dashboard{flex-direction:column;gap:24px;display:flex}.admin-dash-hero{background:linear-gradient(135deg,#0f0a1ef2 0%,#1e1437eb 100%);border:1px solid #7c3aed38;border-radius:24px;padding:32px 32px 28px;position:relative;overflow:hidden}.admin-dash-hero-bg{pointer-events:none;background:radial-gradient(circle at 10% 20%,#7c3aed59,#0000 42%),radial-gradient(circle at 90% 80%,#ec489940,#0000 40%),radial-gradient(circle at 70% 10%,#3b82f62e,#0000 35%);position:absolute;inset:0}.admin-dash-hero-grid{pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#00000080,#0000);mask-image:linear-gradient(#00000080,#0000)}.admin-dash-hero-content{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex;position:relative}.admin-dash-hero-left{flex:1;min-width:280px;max-width:640px}.admin-dash-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:#c4b5fd;background:#7c3aed26;border:1px solid #7c3aed40;border-radius:999px;align-items:center;gap:6px;margin-bottom:14px;padding:6px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.admin-dash-hero-left h2{color:#fff;margin:0 0 10px;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.2}.admin-dash-hero-left p{color:#ffffff9e;margin:0 0 16px;font-size:.95rem;line-height:1.6}.admin-dash-hero-left p strong{color:#e9d5ff}.admin-dash-hero-tags{flex-wrap:wrap;gap:8px;display:flex}.admin-dash-hero-tags span{color:#ffffffbf;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.admin-dash-hero-orbit{flex-shrink:0;width:120px;height:120px;position:relative}.admin-dash-orbit-ring{border:1px solid #a78bfa40;border-radius:50%;position:absolute;inset:0}.admin-dash-orbit-ring.ring-2{border-color:#ec489938;animation:12s linear infinite reverse adminDashSpin;inset:14px}.admin-dash-orbit-ring.ring-1{animation:18s linear infinite adminDashSpin}@keyframes adminDashSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-dash-orbit-core{color:#fff;background:linear-gradient(135deg,#7c3aed,#ec4899);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:28px;box-shadow:0 0 40px #7c3aed73}.admin-dash-stats{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.admin-dash-stat-card{background:var(--bg-card);text-align:left;cursor:pointer;animation:.45s backwards adminDashStatIn;animation-delay:var(--stat-delay,0s);border:1px solid #ffffff14;border-radius:18px;align-items:flex-start;gap:14px;padding:20px;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden}@keyframes adminDashStatIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.admin-dash-stat-card:before{content:"";opacity:.08;pointer-events:none;position:absolute;inset:0}.admin-dash-stat-card.tone-violet:before{background:linear-gradient(135deg,#7c3aed,#0000)}.admin-dash-stat-card.tone-pink:before{background:linear-gradient(135deg,#ec4899,#0000)}.admin-dash-stat-card.tone-emerald:before{background:linear-gradient(135deg,#10b981,#0000)}.admin-dash-stat-card.tone-amber:before{background:linear-gradient(135deg,#f59e0b,#0000)}.admin-dash-stat-card.tone-rose:before{background:linear-gradient(135deg,#f43f5e,#0000)}.admin-dash-stat-card.tone-slate:before{background:linear-gradient(135deg,#64748b,#0000)}.admin-dash-stat-card:hover{border-color:#7c3aed40;transform:translateY(-3px);box-shadow:0 16px 40px #0000002e}.admin-dash-stat-icon{z-index:1;color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;position:relative}.tone-violet .admin-dash-stat-icon{background:linear-gradient(135deg,#7c3aed,#8b5cf6)}.tone-pink .admin-dash-stat-icon{background:linear-gradient(135deg,#db2777,#ec4899)}.tone-emerald .admin-dash-stat-icon{background:linear-gradient(135deg,#059669,#10b981)}.tone-amber .admin-dash-stat-icon{background:linear-gradient(135deg,#d97706,#f59e0b)}.tone-rose .admin-dash-stat-icon{background:linear-gradient(135deg,#e11d48,#f43f5e)}.tone-slate .admin-dash-stat-icon{background:linear-gradient(135deg,#475569,#64748b)}.admin-dash-stat-body{z-index:1;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;position:relative}.admin-dash-stat-value{color:var(--text);font-size:1.45rem;font-weight:800;line-height:1.15}.admin-dash-stat-label{color:var(--text-muted);font-size:.84rem;font-weight:600}.admin-dash-stat-hint{color:var(--primary-light);opacity:.9;margin-top:4px;font-size:.74rem}.admin-dash-stat-arrow{z-index:1;color:var(--text-muted);opacity:.5;flex-shrink:0;margin-top:4px;transition:transform .2s,opacity .2s;position:relative}.admin-dash-stat-card:hover .admin-dash-stat-arrow{opacity:1;color:var(--primary-light);transform:translate(2px,-2px)}.admin-dash-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.admin-dash-panel{border:1px solid #7c3aed1f;padding:22px}.admin-dash-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.admin-dash-panel-head h3{align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:800;display:inline-flex}.admin-dash-panel-badge{color:var(--primary-light);background:#7c3aed1f;border:1px solid #7c3aed33;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.admin-dash-panel-sub{color:var(--text-muted);font-size:.82rem}.admin-dash-panel-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;padding:28px 16px;display:flex}.admin-dash-panel-empty svg{color:#22c55e;margin-bottom:12px}.admin-dash-panel-empty strong{color:var(--text);margin-bottom:6px;display:block}.admin-dash-panel-empty p{margin:0;font-size:.88rem}.admin-dash-alerts{flex-direction:column;gap:10px;display:flex}.admin-dash-alert{background:var(--bg-secondary);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:14px;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:transform .18s,border-color .18s;display:flex}.admin-dash-alert:hover{transform:translate(4px)}.admin-dash-alert.tone-danger{background:#f43f5e0f;border-color:#f43f5e38}.admin-dash-alert.tone-info{background:#3b82f60f;border-color:#3b82f638}.admin-dash-alert-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tone-danger .admin-dash-alert-icon{color:#fb7185;background:#f43f5e1f}.tone-info .admin-dash-alert-icon{color:#60a5fa;background:#3b82f61f}.admin-dash-alert-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-dash-alert-text strong{color:var(--text);font-size:.92rem}.admin-dash-alert-text span{color:var(--text-muted);font-size:.8rem}.admin-dash-summary-list{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.admin-dash-summary-row{color:var(--text-muted);background:#ffffff08;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:.88rem;display:flex}.admin-dash-summary-row strong{color:var(--text);font-weight:800}.admin-dash-summary-row.highlight{background:#7c3aed14;border:1px solid #7c3aed26}.admin-dash-summary-row.highlight strong{color:var(--primary-light)}.admin-dash-progress-block{padding-top:4px}.admin-dash-progress-head{color:var(--text-muted);justify-content:space-between;margin-bottom:8px;font-size:.84rem;display:flex}.admin-dash-progress-head strong{color:var(--text)}.admin-dash-progress-track{background:#ffffff0f;border-radius:999px;height:8px;overflow:hidden}.admin-dash-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#ec4899);height:100%;transition:width .6s}.admin-dash-quick{border:1px solid #7c3aed1f;padding:22px}.admin-dash-quick-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.admin-dash-quick-link{border:1px solid var(--border);background:var(--bg-secondary);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:all .18s;display:flex}.admin-dash-quick-link:hover{background:#7c3aed0f;border-color:#7c3aed4d;transform:translateY(-2px)}.admin-dash-quick-icon{width:38px;height:38px;color:var(--primary-light);background:#7c3aed1f;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-dash-quick-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-dash-quick-text strong{color:var(--text);font-size:.9rem}.admin-dash-quick-text span{color:var(--text-muted);font-size:.76rem}.admin-dash-quick-link>svg:last-child{color:var(--text-muted);flex-shrink:0}.admin-dash-skeleton-hero{border-radius:24px;min-height:180px}.admin-dash-skeleton-stat{border-radius:18px;min-height:110px}.admin-dash-skeleton-panel{border-radius:16px;min-height:220px}@media (width<=900px){.admin-dash-grid{grid-template-columns:1fr}}@media (width<=640px){.admin-dash-hero{padding:24px 20px}.admin-dash-hero-orbit{display:none}.admin-dash-stats,.admin-dash-quick-grid{grid-template-columns:1fr}}.backup-panel{padding:20px 22px}.backup-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.backup-panel-head h3{align-items:center;gap:8px;margin-bottom:4px;display:flex}.backup-panel-head p{color:var(--text-muted);font-size:.88rem}.backup-panel-actions{flex-wrap:wrap;gap:8px;display:flex}.backup-info-box{border-radius:var(--radius);color:var(--text-muted);background:#7c3aed14;border:1px solid #7c3aed2e;margin-bottom:16px;padding:12px 14px;font-size:.86rem;line-height:1.45}.backup-filename{word-break:break-all;max-width:260px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.backup-row-actions{flex-wrap:wrap;gap:6px;display:flex}@media (width<=900px){.backup-panel-head{flex-direction:column}}.audit-logs-panel{flex-direction:column;gap:24px;display:flex}.audit-hero{background:linear-gradient(135deg,#0f0a1ef2 0%,#1e1437eb 100%);border:1px solid #7c3aed38;border-radius:24px;padding:28px 32px;position:relative;overflow:hidden}.audit-hero-bg{pointer-events:none;background:radial-gradient(circle at 15% 30%,#7c3aed4d,#0000 45%),radial-gradient(circle at 85% 70%,#ec489933,#0000 40%);position:absolute;inset:0}.audit-hero-content{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.audit-hero-content h2{color:#fff;margin:0 0 8px;font-size:1.75rem;font-weight:800}.audit-hero-content p{color:#ffffff9e;max-width:560px;margin:0;line-height:1.55}.audit-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:#c4b5fd;background:#7c3aed26;border:1px solid #7c3aed40;border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.audit-hero-stat-ring{background:#7c3aed1f;border:2px solid #a78bfa59;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:96px;height:96px;display:flex}.audit-hero-stat-ring strong{color:#fff;font-size:1.6rem;line-height:1}.audit-hero-stat-ring span{color:#ffffff8c;margin-top:4px;font-size:.72rem}.audit-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.audit-stat-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:14px;padding:18px;display:flex}.audit-stat-icon{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.tone-violet .audit-stat-icon{color:#a78bfa;background:#7c3aed2e}.tone-pink .audit-stat-icon{color:#f472b6;background:#ec48992e}.tone-blue .audit-stat-icon{color:#60a5fa;background:#3b82f62e}.tone-emerald .audit-stat-icon{color:#34d399;background:#10b9812e}.audit-stat-label{color:var(--text-muted);margin-bottom:4px;font-size:.78rem;display:block}.audit-stat-card strong{font-size:1.35rem;font-weight:800}.audit-dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=900px){.audit-dash-grid{grid-template-columns:1fr}}.audit-panel{background:#ffffff05;border:1px solid #ffffff14;border-radius:18px;padding:20px}.audit-panel h3{align-items:center;gap:8px;margin:0 0 16px;font-size:.95rem;font-weight:700;display:flex}.audit-category-row{margin-bottom:12px}.audit-category-meta{align-items:center;gap:8px;margin-bottom:6px;font-size:.82rem;display:flex}.audit-category-meta strong{margin-left:auto}.audit-bar-track{background:#ffffff0f;border-radius:999px;height:8px;overflow:hidden}.audit-bar-fill{border-radius:999px;height:100%;transition:width .4s}.audit-hourly-chart{align-items:flex-end;gap:6px;height:140px;padding-top:8px;display:flex}.audit-hour-col{flex-direction:column;flex:1;align-items:center;gap:6px;height:100%;display:flex}.audit-hour-bar{background:linear-gradient(#a78bfa,#7c3aed);border-radius:6px 6px 2px 2px;width:100%;max-width:28px;min-height:8px;margin-top:auto}.audit-hour-col span{color:var(--text-muted);font-size:.62rem}.audit-actors-list{flex-direction:column;gap:10px;display:flex}.audit-actor-row{align-items:center;gap:10px;display:flex}.audit-actor-row img{object-fit:cover;border-radius:50%;width:36px;height:36px}.audit-actor-row strong{font-size:.88rem;display:block}.audit-actor-row span{color:var(--text-muted);font-size:.75rem}.audit-actor-count{color:#c4b5fd;background:#7c3aed26;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:.78rem;font-weight:700}.audit-source-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.audit-source-card{text-align:center;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex}.audit-source-card strong{font-size:1.2rem}.audit-source-card span{color:var(--text-muted);font-size:.75rem}.source-web{color:#60a5fa}.source-mobile{color:#34d399}.source-socket{color:#fbbf24}.audit-top-actions{border-top:1px solid #ffffff14;margin-top:16px;padding-top:16px}.audit-top-actions h4{color:var(--text-muted);margin:0 0 10px;font-size:.82rem}.audit-top-action-row{justify-content:space-between;gap:12px;padding:6px 0;font-size:.82rem;display:flex}.audit-filters{flex-direction:column;gap:12px;padding:16px;display:flex}.audit-search-form{align-items:center;gap:10px;display:flex}.audit-search-form .input{flex:1}.audit-filter-row{flex-wrap:wrap;gap:10px;display:flex}.audit-filter-row .input{flex:1;min-width:160px}.audit-log-list{overflow:hidden}.audit-log-list-head{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.audit-log-list-head h3{margin:0;font-size:1rem}.audit-log-list-head span{color:var(--text-muted);font-size:.82rem}.audit-log-items{flex-direction:column;display:flex}.audit-log-item{border-bottom:1px solid #ffffff0d;gap:14px;padding:16px 20px 16px 24px;transition:background .15s;display:flex;position:relative}.audit-log-item:hover{background:#ffffff05}.audit-log-accent{border-radius:0 4px 4px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.audit-log-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:42px;height:42px}.audit-log-body{flex:1;min-width:0}.audit-log-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.audit-log-actor{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.audit-log-actor strong{font-size:.92rem}.audit-log-actor>span:first-of-type{color:var(--text-muted);font-size:.78rem}.audit-role-badge{text-transform:uppercase;color:#c4b5fd;background:#7c3aed26;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.audit-log-meta{color:var(--text-muted);align-items:center;gap:10px;font-size:.75rem;display:flex}.audit-source-pill{opacity:.85;border:1px solid;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:700}.audit-log-desc{margin:0 0 10px;font-size:.9rem;line-height:1.5}.audit-log-tags{flex-wrap:wrap;gap:8px;display:flex}.audit-cat-tag,.audit-target-tag,.audit-type-tag{border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.audit-cat-tag{background:#ffffff08;border:1px solid}.audit-target-tag{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0f;max-width:280px;overflow:hidden}.audit-type-tag{color:#a78bfa;text-transform:uppercase;letter-spacing:.04em;background:#7c3aed1a}.audit-pagination{border-top:1px solid #ffffff14;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex}.audit-skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;border-radius:12px;animation:1.2s infinite audit-shimmer}.audit-empty{text-align:center;color:var(--text-muted);margin:0;font-size:.88rem}@keyframes audit-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-comm-panel{flex-direction:column;gap:22px;display:flex}.admin-comm-hero{background:linear-gradient(135deg,#0e749024 0%,#7c3aed1a 50%,#ec48990f 100%);border:1px solid #38bdf838;border-radius:20px;padding:26px 28px;position:relative;overflow:hidden}.admin-comm-hero-bg{pointer-events:none;background:radial-gradient(circle at 0 20%,#38bdf847,#0000 45%),radial-gradient(circle at 100% 80%,#7c3aed38,#0000 42%);position:absolute;inset:0}.admin-comm-hero-inner{z-index:1;flex-wrap:wrap;align-items:center;gap:20px;display:flex;position:relative}.admin-comm-hero-icon{color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1 45%,#a855f7);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:62px;height:62px;display:flex;box-shadow:0 12px 32px #38bdf84d}.admin-comm-hero-text{flex:1;min-width:220px}.admin-comm-hero-text h2{background:linear-gradient(135deg,#7dd3fc,#c4b5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:1.35rem;font-weight:800}.admin-comm-hero-text p{color:var(--text-muted);max-width:560px;margin:0;font-size:.92rem;line-height:1.5}.admin-comm-hero-stats{flex-wrap:wrap;gap:10px;display:flex}.admin-comm-stat{background:#0003;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;align-items:center;min-width:68px;padding:10px 14px;display:flex}.admin-comm-stat strong{color:#fff;font-size:1.25rem;font-weight:800;line-height:1}.admin-comm-stat span{text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin-top:4px;font-size:.62rem;font-weight:700}.admin-comm-stat.live strong{color:#86efac}.admin-comm-stat.members strong{color:#7dd3fc}.admin-comm-stat.msgs strong{color:#c4b5fd}.admin-comm-dash-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=960px){.admin-comm-dash-grid{grid-template-columns:1fr}}.admin-comm-dash-card{border:1px solid #38bdf81f;padding:18px 20px}.admin-comm-dash-card h3{align-items:center;gap:8px;margin:0 0 14px;font-size:.92rem;font-weight:700;display:flex}.admin-comm-dash-metrics{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.admin-comm-dash-metrics div{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;padding:10px 12px}.admin-comm-dash-metrics span{color:var(--text-muted);margin-bottom:4px;font-size:.72rem;display:block}.admin-comm-dash-metrics strong{font-size:1.1rem;font-weight:800}.admin-comm-rank-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-comm-rank-list li{align-items:center;gap:10px;font-size:.84rem;display:flex}.admin-comm-rank-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-comm-rank-list strong{color:var(--text-muted);white-space:nowrap;font-size:.78rem}.admin-comm-toolbar{border:1px solid #38bdf826;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.admin-comm-search-wrap{position:relative}.admin-comm-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.admin-comm-search-input{border:1px solid var(--border);background:var(--bg-secondary);width:100%;height:48px;color:var(--text);border-radius:14px;padding:0 110px 0 44px;font-family:inherit;font-size:.95rem}.admin-comm-search-input:focus{border-color:#38bdf880;outline:none;box-shadow:0 0 0 3px #38bdf81f}.admin-comm-search-loading{color:#38bdf8;font-size:.78rem;font-weight:600;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.admin-comm-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-comm-filter-divider{background:var(--border);width:1px;height:24px;margin:0 4px}.admin-comm-filter{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:600}.admin-comm-filter.active{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf866}.admin-comm-list-meta{color:var(--text-muted);gap:16px;font-size:.8rem;display:flex}.admin-comm-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.admin-comm-card{animation:.42s backwards adminCommCardIn;animation-delay:var(--card-delay,0s);border:1px solid #38bdf824;border-radius:18px;padding:0;transition:transform .22s,box-shadow .22s;overflow:hidden}@keyframes adminCommCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.admin-comm-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #38bdf81a}.admin-comm-card.active{border-color:#22c55e2e}.admin-comm-card.inactive{opacity:.88;border-color:#94a3b833}.admin-comm-cover-wrap{aspect-ratio:16/7;background:var(--bg-secondary);position:relative;overflow:hidden}.admin-comm-cover{object-fit:cover;width:100%;height:100%;display:block}.admin-comm-cover-overlay{background:linear-gradient(#0000 30%,#000000bf);position:absolute;inset:0}.admin-comm-avatar-float{z-index:2;border:3px solid var(--card-bg,#1a1a2e);border-radius:14px;position:absolute;bottom:-20px;left:16px}.admin-comm-pending-badge{color:#fde68a;background:#f59e0b40;border:1px solid #fbbf2459;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:.68rem;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px}.admin-comm-status{border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;bottom:10px;right:10px}.admin-comm-status.live{color:#bbf7d0;background:#22c55e40;border:1px solid #22c55e59}.admin-comm-status.off{color:#cbd5e1;background:#64748b4d;border:1px solid #94a3b859}.admin-comm-body{flex-direction:column;gap:10px;padding:28px 18px 18px;display:flex}.admin-comm-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-comm-title{margin:0 0 4px;font-size:1.05rem;font-weight:800;line-height:1.3}.admin-comm-slug{color:var(--text-muted);align-items:center;gap:3px;font-size:.72rem;display:inline-flex}.admin-comm-vis{text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.admin-comm-vis.public{color:#86efac;background:#22c55e1f;border:1px solid #22c55e38}.admin-comm-vis.private{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b838}.admin-comm-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.admin-comm-stats-row{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.admin-comm-stats-row span{align-items:center;gap:5px;display:inline-flex}.admin-comm-meta{color:var(--text-muted);flex-direction:column;gap:5px;font-size:.78rem;display:flex}.admin-comm-meta span{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.admin-comm-meta strong{color:var(--text);font-weight:700}.admin-comm-meta em{opacity:.8;font-style:normal}.admin-comm-settings-tags{flex-wrap:wrap;gap:6px;display:flex}.admin-comm-settings-tags span{color:var(--text-muted);background:#ffffff0d;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:600}.admin-comm-settings-tags span.on{color:#86efac;background:#22c55e1a}.admin-comm-settings-tags span.off{color:#fca5a5;background:#ef44441a}.admin-comm-actions{border-top:1px solid #38bdf81a;flex-wrap:wrap;gap:6px;margin-top:4px;padding-top:12px;display:flex}.admin-comm-actions .btn.success{color:#86efac}.admin-comm-actions .btn.warn{color:#fcd34d}.admin-comm-empty{text-align:center;color:#7dd3fc;border:1px dashed #38bdf833;flex-direction:column;align-items:center;gap:12px;padding:52px 28px;display:flex}.admin-comm-empty h3{margin:0;font-size:1.1rem}.admin-comm-empty p{color:var(--text-muted);margin:0}.admin-comm-skeleton-card{border-radius:18px;min-height:380px}.admin-comm-detail{width:min(560px,94vw);max-height:90vh;padding:24px;position:relative;overflow-y:auto}.admin-comm-detail-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;position:absolute;top:12px;right:12px}.admin-comm-detail-head{align-items:center;gap:16px;margin-bottom:20px;display:flex}.admin-comm-detail-head h2{margin:0 0 4px;font-size:1.25rem}.admin-comm-detail-head p{color:var(--text-muted);margin:0;font-size:.85rem}.admin-comm-detail-metrics{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.admin-comm-detail-metrics div{text-align:center;background:#ffffff0a;border-radius:12px;padding:12px}.admin-comm-detail-metrics strong{font-size:1.2rem;display:block}.admin-comm-detail-metrics span{color:var(--text-muted);font-size:.72rem}.admin-comm-detail-desc{color:var(--text-muted);margin:0 0 16px;font-size:.9rem;line-height:1.55}.admin-comm-detail-members{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.admin-comm-member-chip{background:#7c3aed1f;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;display:flex}.admin-comm-member-chip em{text-transform:uppercase;color:#c4b5fd;font-size:.65rem;font-style:normal}.admin-comm-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-comm-edit-modal label{margin-bottom:12px;font-size:.85rem;font-weight:600;display:block}.admin-comm-edit-modal .input{width:100%;margin-top:6px}.admin-comm-edit-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.admin-comm-detail-loading{text-align:center;color:var(--text-muted);padding:40px}@media (width<=720px){.admin-comm-hero-inner{flex-direction:column;align-items:flex-start}.admin-comm-hero-stats{width:100%}.admin-comm-stat{flex:1}.admin-comm-grid{grid-template-columns:1fr}}.admin-pages{flex-direction:column;gap:16px;display:flex}.admin-pages-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.admin-pages-head h3{align-items:center;gap:8px;margin:0 0 8px;display:flex}.admin-pages-head p{color:var(--text-muted);margin:0;font-size:.92rem}.admin-pages-subtabs{flex-wrap:wrap;gap:8px;display:flex}.admin-pages-grid{grid-template-columns:minmax(260px,320px) 1fr;gap:16px;display:grid}@media (width<=960px){.admin-pages-grid{grid-template-columns:1fr}}.admin-pages-list{padding:0;overflow:hidden}.admin-pages-list-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.admin-pages-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;color:inherit;background:0 0;align-items:center;gap:12px;padding:14px 16px;display:flex}.admin-pages-item:hover,.admin-pages-item.active{background:#7c3aed14}.admin-pages-item-icon{font-size:1.4rem}.admin-pages-item small{color:var(--text-muted);margin-top:2px;display:block}.admin-pages-editor{padding:20px}.admin-pages-editor-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-pages-editor-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-pages-textarea{resize:vertical;min-height:320px;font-family:inherit;line-height:1.6}.admin-pages-empty,.admin-pages-empty-editor{text-align:center;color:var(--text-muted);padding:32px}.admin-pages-skeleton{background:var(--bg-secondary);border-radius:12px;height:180px;margin:16px;animation:1.4s infinite pulse}.form-row{grid-template-columns:1fr 120px 90px;gap:12px;display:grid}@media (width<=720px){.form-row{grid-template-columns:1fr}}.admin-transactions{flex-direction:column;gap:16px;display:flex}.admin-tx-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.admin-tx-hero h3{align-items:center;gap:8px;margin:0 0 6px;display:flex}.admin-tx-hero p{color:var(--text-muted);margin:0}.admin-tx-hero-total{text-align:right}.admin-tx-hero-total span{color:var(--text-muted);font-size:.85rem;display:block}.admin-tx-hero-total strong{background:linear-gradient(135deg,#7c3aed,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem}.admin-tx-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.admin-tx-stat{align-items:flex-start;gap:12px;padding:16px;display:flex}.admin-tx-stat-icon{color:#a78bfa;background:#7c3aed1f;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.admin-tx-stat.tone-iyzico .admin-tx-stat-icon{color:#22c55e;background:#22c55e1f}.admin-tx-stat.tone-play .admin-tx-stat-icon{color:#3b82f6;background:#3b82f61f}.admin-tx-stat.tone-warn .admin-tx-stat-icon{color:#f59e0b;background:#f59e0b1f}.admin-tx-stat-label{color:var(--text-muted);font-size:.82rem;display:block}.admin-tx-stat-value{margin-top:2px;font-size:1.15rem;display:block}.admin-tx-stat small{color:var(--text-muted)}.admin-tx-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.admin-tx-filters{flex-wrap:wrap;gap:8px;display:flex}.admin-tx-table{overflow:auto}.admin-tx-table table{border-collapse:collapse;width:100%;min-width:760px}.admin-tx-table th,.admin-tx-table td{border-bottom:1px solid var(--border);text-align:left;padding:12px 14px;font-size:.92rem}.admin-tx-type,.admin-tx-provider{align-items:center;gap:6px;display:inline-flex}.admin-tx-provider.google_play{color:#3b82f6}.admin-tx-provider.iyzico,.admin-tx-status.status-completed{color:#22c55e}.admin-tx-status.status-pending{color:#f59e0b}.admin-tx-status.status-failed,.admin-tx-status.status-cancelled{color:#ef4444}.admin-tx-actions{gap:6px;display:flex}.admin-tx-empty{text-align:center;color:var(--text-muted);padding:24px!important}.winner-list{gap:14px;margin-top:12px;display:grid}.winner-list-compact{flex-wrap:wrap;gap:8px;display:flex}.winner-card{border:1px solid var(--border);background:var(--surface-1);color:inherit;border-radius:16px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden}.winner-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #7c3aed26}.winner-card-cover{background-position:50%;background-size:cover;height:88px;position:relative}.winner-card-rank{color:#fff;background:#f59e0beb;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex;position:absolute;top:10px;right:10px}.winner-card-body{align-items:center;gap:12px;margin-top:-28px;padding:0 16px 16px;display:flex;position:relative}.winner-card-avatar{object-fit:cover;border:3px solid var(--surface-1);border-radius:50%;flex-shrink:0;width:56px;height:56px}.winner-card-info{flex-direction:column;gap:2px;min-width:0;padding-top:32px;display:flex}.winner-card-name{align-items:center;gap:4px;font-size:1rem;display:inline-flex}.winner-card-username{color:var(--text-muted);font-size:.82rem}.winner-card-subtitle{color:var(--primary);font-size:.82rem;font-weight:600}.winner-card-role{font-size:.75rem;font-weight:600}.winner-chip-link{color:inherit;background:#f59e0b26;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.winner-chip-link:hover{background:#f59e0b40}.winner-chip-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.event-winners{flex-direction:column;align-items:stretch;gap:12px;width:100%;display:flex}.event-winners>strong{margin-bottom:4px;font-size:1.1rem}.arq-panel{flex-direction:column;gap:16px;display:flex}.arq-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.arq-head h3{align-items:center;gap:8px;margin:0 0 6px;display:flex}.arq-head p{color:var(--text-muted);margin:0;font-size:.9rem}.arq-form{flex-direction:column;gap:12px;padding:20px;display:flex}.arq-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.arq-grid label,.arq-form>label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.arq-list{gap:12px;display:grid}.arq-card{padding:16px}.arq-card.active{outline:2px solid var(--primary)}.arq-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.arq-badge{background:var(--surface-2);border-radius:999px;padding:4px 10px;font-size:.75rem}.arq-badge.status-active{color:#22c55e;background:#22c55e26}.arq-badge.status-upcoming{color:#3b82f6;background:#3b82f626}.arq-badge.status-ended,.arq-badge.status-drawn{color:#94a3b8;background:#94a3b833}.arq-muted{color:var(--text-muted);margin:4px 0;font-size:.88rem}.arq-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin:8px 0;font-size:.82rem;display:flex}.arq-meta span{align-items:center;gap:4px;display:inline-flex}.arq-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.arq-winners{flex-wrap:wrap;gap:8px;margin-top:8px;font-size:.9rem;display:flex}.arq-empty{text-align:center;color:var(--text-muted);padding:32px}.arq-question{background:var(--surface-2);padding:14px}.arq-option-row{align-items:center;gap:8px;margin-top:8px;display:flex}.arq-split{grid-template-columns:1fr 1.1fr;gap:16px;display:grid}@media (width<=960px){.arq-split{grid-template-columns:1fr}}.arq-results{max-height:70vh;padding:16px;overflow:auto}.arq-stats{flex-wrap:wrap;gap:16px;margin:12px 0 16px;font-size:.9rem;display:flex}.arq-result-item{border-top:1px solid var(--border);padding:10px 0}.arq-result-item summary{cursor:pointer;justify-content:space-between;gap:8px;display:flex}.arq-score{color:var(--primary);font-weight:700}.arq-answers{padding:8px 0 0 12px;font-size:.85rem}.arq-answers .correct{color:#22c55e}.arq-answers .wrong{color:#ef4444}.arq-form-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.raffle-page{max-width:920px;margin:0 auto}.raffle-hero{background:linear-gradient(135deg,#7c3aed1f,#ec489914);margin:16px 0;padding:24px}.raffle-hero-top{align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.raffle-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px;display:grid}.raffle-card{padding:18px}.raffle-card h3{align-items:center;gap:8px;margin:0 0 10px;font-size:.95rem;display:flex}.raffle-prize-title{margin:0 0 6px;font-size:1.15rem;font-weight:800}.raffle-join-box{text-align:center;margin-top:8px;padding:24px}.raffle-joined-msg strong{color:#22c55e;font-size:1.1rem}.raffle-list-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:16px;display:grid}.raffle-list-card{text-align:left;cursor:pointer;width:100%;padding:18px;transition:transform .15s,box-shadow .15s}.raffle-list-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed1f}.raffle-prize-mini{margin:8px 0;font-weight:600}.raffle-joined-badge{color:#22c55e;font-size:.82rem;font-weight:700}.raffle-countdown{text-align:center;border-radius:14px;margin:10px 0;padding:16px 18px}.raffle-countdown-label{text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-bottom:6px;font-size:.78rem;display:block}.raffle-countdown-time{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:800}.raffle-countdown.active{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e40}.raffle-countdown.upcoming{color:#3b82f6;background:#3b82f61f;border:1px solid #3b82f640}.raffle-countdown.ended{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b840}.req-form{background:var(--surface-2);border:1px dashed var(--border);padding:16px}.req-toggle{cursor:pointer;align-items:center;gap:10px;font-size:.95rem;display:flex}.req-toggle input{width:18px;height:18px}.req-fields{flex-direction:column;gap:12px;margin-top:14px;display:flex}.req-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.req-grid label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.82rem;display:flex}.req-hint{opacity:.8;font-size:.75rem}.req-bools{flex-wrap:wrap;gap:12px;display:flex}.req-check{cursor:pointer;align-items:center;gap:8px;font-size:.88rem;display:flex}.req-panel{background:linear-gradient(135deg,#3b82f60f,#7c3aed0f);margin:14px 0;padding:20px}.req-panel h3{margin:0 0 12px;font-size:1rem}.req-checklist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.req-checklist li{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.req-checklist li.met{background:#22c55e0f;border-color:#22c55e59}.req-checklist li.unmet{background:#ef44440a;border-color:#ef444440}.req-check-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:flex}.req-checklist li.met .req-check-icon{color:#22c55e;background:#22c55e26}.req-checklist li.unmet .req-check-icon{color:#ef4444;background:#ef44441f}.req-check-values{color:var(--text-muted);margin-top:2px;font-size:.82rem;display:block}.req-warning{color:#d97706;background:#f59e0b1f;border-radius:10px;margin:12px 0 0;padding:10px 14px;font-size:.9rem}.req-success{color:#22c55e;margin:12px 0 0;font-size:.9rem;font-weight:600}.req-badge{color:var(--primary);background:#7c3aed1f;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:600}.event-page{max-width:920px;margin:0 auto}.event-page-head{margin-bottom:20px}.event-back{margin-bottom:12px}.event-hero{background:linear-gradient(135deg,#7c3aed1f,#ec489914);align-items:flex-start;gap:20px;margin:16px 0;padding:24px;display:flex}.quiz-hero{background:linear-gradient(135deg,#f59e0b1f,#ec489914)}.event-hero-icon{flex-shrink:0;font-size:3rem;line-height:1}.event-hero-body{flex:1;min-width:0}.event-hero-top{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.event-hero-top h1{margin:0;font-size:1.6rem}.event-desc{color:var(--text-muted);margin:0 0 12px;line-height:1.5}.event-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px;display:grid}.event-card{padding:18px}.event-card h3{align-items:center;gap:8px;margin:0 0 10px;font-size:.95rem;display:flex}.event-prize-title{margin:0 0 6px;font-size:1.15rem;font-weight:800}.event-stat{color:var(--primary);font-size:1.4rem}.event-action-box{text-align:center;margin-top:8px;padding:28px}.event-cta{min-width:220px}.event-joined-msg strong{color:#22c55e;font-size:1.1rem}.event-blocked{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;display:flex}.event-blocked p{margin:0}.event-list-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:16px;display:grid}.event-list-card{text-align:left;cursor:pointer;align-items:flex-start;gap:14px;width:100%;padding:18px;transition:transform .15s,box-shadow .15s;display:flex}.event-list-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed1f}.event-list-icon{flex-shrink:0;font-size:2rem}.event-list-body{flex:1;min-width:0}.event-prize-mini{color:var(--text-muted);margin:6px 0;font-size:.88rem;font-weight:500}.event-winners{flex-direction:column;align-items:center;gap:10px}.winner-chip{background:#f59e0b26;border-radius:999px;padding:8px 16px;font-weight:600;display:inline-block}.event-result{text-align:center;margin-top:16px;padding:32px}.event-result-score{background:linear-gradient(135deg, var(--primary), #ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:900}.quiz-play-area{flex-direction:column;gap:14px;margin-top:16px;display:flex}.quiz-question{padding:20px}.quiz-q-num{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:8px;font-size:.75rem;font-weight:700}.quiz-q-text{margin-bottom:14px;font-size:1.05rem;line-height:1.4;display:block}.quiz-options{flex-direction:column;gap:8px;display:flex}.quiz-option{border:2px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.quiz-option:hover{border-color:#7c3aed59}.quiz-option.selected{border-color:var(--primary);background:#7c3aed14}.quiz-option input{flex-shrink:0}.quiz-admin-card{border-left:3px solid #f59e0b80}.raffle-admin-card{border-left:3px solid #7c3aed80}.arq-prize-form{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.arq-prize-form-label{color:var(--text-muted);margin:0;font-size:.85rem;font-weight:600}.arq-prize-type-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.arq-prize-type{border:2px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:12px;font-size:.88rem;transition:border-color .15s,background .15s;display:flex}.arq-prize-type input{flex-shrink:0}.arq-prize-type.active{border-color:var(--primary);background:#7c3aed14}@media (width<=640px){.arq-prize-type-row{grid-template-columns:1fr}}.admin-ai-settings{padding:24px}.admin-ai-settings-header{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.admin-ai-settings-header h2{margin:0 0 4px;font-size:1.25rem}.admin-ai-settings-header p{color:var(--text-muted);margin:0;font-size:.9rem}.admin-ai-env-notice{color:var(--text-secondary);background:#fbbf241f;border:1px solid #fbbf244d;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 14px;font-size:.85rem;line-height:1.5;display:flex}.admin-ai-env-notice code{font-size:.8rem}.admin-form-grid{gap:16px;display:grid}@media (width>=720px){.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-form-grid label{flex-direction:column;gap:6px;display:flex}.admin-form-grid label>span{color:var(--text-secondary);font-size:.85rem;font-weight:600}.admin-toggle-row{border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;border-radius:12px;align-items:center;padding:12px 14px;flex-direction:row!important;gap:10px!important}.admin-toggle-row span{align-items:center;gap:8px;font-weight:500;display:inline-flex}.admin-ai-help{color:var(--text-muted);margin:20px 0 0;font-size:.85rem;line-height:1.55}.admin-ai-help a{color:var(--primary-light)}.admin-push-panel{flex-direction:column;gap:20px;display:flex}.admin-push-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-push-header h2{align-items:center;gap:10px;margin:0 0 8px;display:flex}.admin-push-header p{color:var(--text-muted);max-width:640px;margin:0}.admin-push-status-card{background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;display:flex}.admin-push-status-card strong{font-size:1.4rem;display:block}.admin-push-status-card span{color:var(--text-muted);font-size:.82rem}.admin-push-warning{color:#fde68a;background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:12px;gap:12px;padding:14px 16px;display:flex}.admin-push-warning p{color:#ffffffb8;margin:4px 0 0;font-size:.88rem}.admin-push-form .form-group{margin-bottom:14px}.admin-push-form textarea{resize:vertical;min-height:96px}.comm-raffle-card{background:linear-gradient(145deg,#7c3aed1f,#ec489914);border:1px solid #7c3aed40;border-radius:16px;width:min(100%,320px);margin:4px 0;padding:14px 16px}.comm-raffle-result{background:linear-gradient(145deg,#f59e0b1f,#7c3aed14);border-color:#f59e0b4d}.comm-raffle-head{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.comm-raffle-icon{font-size:1.5rem;line-height:1}.comm-raffle-head strong{margin-bottom:2px;font-size:.95rem;display:block}.comm-raffle-status{background:var(--surface-2);border-radius:999px;padding:2px 8px;font-size:.72rem}.comm-raffle-status.status-active{color:#22c55e;background:#22c55e26}.comm-raffle-status.status-upcoming{color:#3b82f6;background:#3b82f626}.comm-raffle-status.drawn,.comm-raffle-status.status-ended{color:#94a3b8;background:#94a3b833}.comm-raffle-desc{color:var(--text-muted);margin:0 0 8px;font-size:.85rem;line-height:1.4}.comm-raffle-prize-row{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font-size:.82rem;display:flex}.comm-raffle-sep{opacity:.4}.comm-raffle-countdown{color:var(--primary);align-items:center;gap:6px;margin:0 0 10px;font-size:.82rem;font-weight:600;display:flex}.comm-raffle-join{justify-content:center;width:100%;margin-top:4px}.comm-raffle-joined{text-align:center;color:#22c55e;background:#22c55e1f;border-radius:10px;padding:8px;font-size:.85rem;font-weight:700}.comm-raffle-muted{color:var(--text-muted);text-align:center;padding:6px 0;font-size:.82rem}.comm-raffle-prize{margin:0 0 10px;font-size:.88rem;font-weight:600}.chat-sender-label{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.chat-sender-avatar{object-fit:cover;border-radius:50%;width:22px;height:22px}.chat-sender-name{align-items:center;gap:3px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.chat-role-pill{padding:1px 6px!important;font-size:.65rem!important}.chat-bubble-wrap.received .chat-sender-label{padding-left:2px}.comm-raffle-bubble-wrap{max-width:100%}.comm-raffle-bubble-wrap .chat-bubble{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.comm-raffles-settings{flex-direction:column;gap:16px;display:flex}.comm-raffles-settings-block h4{margin:0 0 8px}.comm-raffle-warn{color:#f59e0b;margin:8px 0;font-size:.88rem}.comm-raffles-actions{justify-content:flex-end;display:flex}.comm-raffle-create-form{flex-direction:column;gap:10px;padding:16px;display:flex}.comm-raffle-create-form h4{align-items:center;gap:8px;margin:0;display:flex}.comm-raffle-create-form label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.comm-raffle-form-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.comm-raffle-cost{margin:4px 0;font-size:.9rem}.comm-raffles-list{flex-direction:column;gap:12px;display:flex}.comm-raffle-settings-item{padding:12px}.comm-raffle-admin-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.comm-raffle-msg-text{color:var(--text-muted);margin:6px 0 0;padding-left:2px;font-size:.82rem}.msg-rx-zone{max-width:100%;margin-top:5px;display:flex}.msg-rx-zone--sent{justify-content:flex-end}.msg-rx-zone--received{justify-content:flex-start}.msg-rx-row{flex-wrap:wrap;align-items:center;gap:5px;max-width:100%;display:inline-flex}.msg-rx-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:15px;align-items:center;gap:4px;height:30px;padding:0 10px;transition:transform .15s,border-color .15s,background .15s;display:inline-flex;box-shadow:0 1px 4px #0000000f}.msg-rx-chip:hover{border-color:#7c3aed59;transform:translateY(-1px)}.msg-rx-chip.mine{background:#7c3aed1a;border-color:#7c3aed73;box-shadow:0 0 0 1px #7c3aed14}[data-theme=light] .msg-rx-chip.mine{background:#7c3aed14}.msg-rx-chip-emoji{font-size:1rem;line-height:1}.msg-rx-chip-num{color:var(--text-secondary);min-width:.6em;font-size:.72rem;font-weight:700}.msg-rx-chip.mine .msg-rx-chip-num{color:var(--primary-light)}.msg-rx-add{min-width:30px;height:30px;color:var(--text-muted);opacity:0;background:0 0;border:1px dashed #7c3aed47;border-radius:15px;justify-content:center;align-items:center;gap:1px;padding:0 8px;transition:opacity .18s,background .15s,border-color .15s,transform .15s;display:inline-flex}.chat-bubble-wrap:hover .msg-rx-add,.chat-bubble-wrap:focus-within .msg-rx-add,.msg-rx-add.open{opacity:1}.msg-rx-zone:has(.msg-rx-chip) .msg-rx-add{opacity:1}.msg-rx-add:hover{background:var(--bg-secondary);border-color:#7c3aed73;transform:scale(1.05)}.msg-rx-add.open{background:#7c3aed1f;border-style:solid;border-color:#7c3aed80}.msg-rx-add-face{font-size:.95rem;line-height:1}.msg-rx-add-plus{opacity:.7;font-size:.75rem;font-weight:800;line-height:1}.msg-rx-picker{z-index:10050;animation:.2s ease-out msgRxPickerIn;position:fixed;transform:translateY(-100%)}.msg-rx-picker-inner{background:var(--bg-card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;padding:6px 8px;display:flex;box-shadow:0 8px 32px #0003,0 0 0 1px #7c3aed0f}[data-theme=dark] .msg-rx-picker-inner{box-shadow:0 12px 40px #00000073,0 0 0 1px #7c3aed1f}.msg-rx-picker-emoji{background:0 0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.35rem;line-height:1;transition:transform .15s,background .15s;display:flex}.msg-rx-picker-emoji:hover{background:var(--bg-secondary);transform:scale(1.2)}.msg-rx-picker-emoji.active{background:#7c3aed26;box-shadow:inset 0 0 0 1.5px #7c3aed66}@keyframes msgRxPickerIn{0%{opacity:0;transform:translateY(calc(6px - 100%))scale(.95)}to{opacity:1;transform:translateY(-100%)scale(1)}}@media (width<=768px){.msg-rx-add{opacity:1}.msg-rx-picker-emoji{width:34px;height:34px;font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.msg-rx-picker,.msg-rx-chip:hover,.msg-rx-picker-emoji:hover{animation:none;transform:none}}.image-lightbox-overlay{z-index:10050;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#06040ee0;flex-direction:column;justify-content:center;align-items:center;padding:24px;animation:.25s lightboxFadeIn;display:flex;position:fixed;inset:0}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.image-lightbox-toolbar{z-index:2;gap:10px;display:flex;position:absolute;top:20px;right:20px}.image-lightbox-tool{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s,transform .2s,border-color .2s;display:flex}.image-lightbox-tool:hover{background:#ffffff29;transform:scale(1.06)}.image-lightbox-close:hover{background:#ef444459;border-color:#ef444480}.image-lightbox-stage{flex-direction:column;align-items:center;gap:16px;max-width:min(92vw,960px);max-height:calc(100vh - 80px);animation:.3s cubic-bezier(.34,1.2,.64,1) lightboxZoomIn;display:flex}@keyframes lightboxZoomIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.image-lightbox-frame{border-radius:var(--radius-lg);background:linear-gradient(135deg,#7c3aed66,#ec489959);max-height:calc(100vh - 140px);padding:6px;position:relative;box-shadow:0 32px 80px #0000008c,0 0 0 1px #ffffff14,0 0 60px #7c3aed33}.image-lightbox-frame:before{content:"";border-radius:calc(var(--radius-lg) - 4px);background:var(--bg-card);z-index:0;position:absolute;inset:6px}.image-lightbox-img{z-index:1;object-fit:contain;border-radius:calc(var(--radius-lg) - 6px);width:auto;max-width:min(88vw,900px);height:auto;max-height:calc(100vh - 160px);display:block;position:relative}.image-lightbox-hint{color:#ffffff8c;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.78rem;display:flex}@media (width<=640px){.image-lightbox-overlay{padding:12px}.image-lightbox-toolbar{top:12px;right:12px}.image-lightbox-tool{width:40px;height:40px}.image-lightbox-hint span{display:none}}.community-discover-panel{flex-direction:column;gap:20px;display:flex}.cdp-hero{background:linear-gradient(135deg,#08142df2 0%,#140f28eb 100%);border:1px solid #3b82f638;border-radius:22px;padding:28px 28px 24px;position:relative;overflow:hidden}.cdp-hero-bg{pointer-events:none;background:radial-gradient(circle at 8% 30%,#3b82f659,#0000 42%),radial-gradient(circle at 92% 70%,#7c3aed47,#0000 40%),radial-gradient(circle at 50% 100%,#ec489926,#0000 45%);position:absolute;inset:0}.cdp-hero-grid{pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#00000073,#0000);mask-image:linear-gradient(#00000073,#0000)}.cdp-hero-inner{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex;position:relative}.cdp-hero-left{flex:1;min-width:260px;max-width:560px}.cdp-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:#93c5fd;background:#3b82f61f;border:1px solid #3b82f640;border-radius:999px;align-items:center;gap:6px;margin-bottom:14px;padding:6px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.cdp-hero-left h2{color:#fff;margin:0 0 10px;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:800;line-height:1.25}.cdp-hero-left p{color:#ffffff9e;margin:0 0 16px;font-size:.92rem;line-height:1.55}.cdp-hero-tags{flex-wrap:wrap;gap:8px;display:flex}.cdp-hero-tags span{color:#ffffffc7;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.76rem;font-weight:600;display:inline-flex}.cdp-hero-stats{flex-wrap:wrap;gap:10px;display:flex}.cdp-stat-card{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;min-width:88px;padding:14px 16px}.cdp-stat-card strong{color:#fff;font-size:1.35rem;font-weight:800;line-height:1.1;display:block}.cdp-stat-card span{color:#ffffff8c;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:.72rem;font-weight:600;display:block}.cdp-stat-card.accent{background:#3b82f61f;border-color:#3b82f659}.cdp-stat-card.accent strong{color:#93c5fd}.cdp-stat-card.warm{background:#ec48991a;border-color:#ec48994d}.cdp-stat-card.warm strong{color:#f9a8d4}.cdp-toolbar{border:1px solid #7c3aed1f;flex-direction:column;gap:16px;padding:18px 20px;display:flex}.cdp-search-wrap{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;align-items:center;gap:12px;height:52px;padding:0 16px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.cdp-search-wrap:focus-within{border-color:#3b82f673;box-shadow:0 0 0 3px #3b82f61f}.cdp-search-icon{color:var(--text-muted);flex-shrink:0}.cdp-search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.95rem}.cdp-search-input::placeholder{color:var(--text-muted)}.cdp-search-clear{color:var(--primary-light);background:#7c3aed1a;border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:.75rem;font-weight:600}.cdp-filter-rows{flex-direction:column;gap:12px;display:flex}.cdp-filter-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cdp-filter-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);min-width:140px;font-size:.72rem;font-weight:700}.cdp-chips{flex-wrap:wrap;gap:8px;display:flex}.cdp-chip{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;transition:all .18s;display:inline-flex}.cdp-chip:hover{color:var(--text);border-color:#3b82f64d}.cdp-chip.active{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);border-color:#0000;box-shadow:0 4px 16px #3b82f64d}.cdp-chip.sort.active{background:linear-gradient(135deg,#7c3aed,#ec4899);box-shadow:0 4px 16px #7c3aed47}.cdp-chip.member.active{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 16px #10b98147}.cdp-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.cdp-card{background:var(--bg-card);animation:.45s backwards cdpCardIn;animation-delay:var(--card-delay,0s);border:1px solid #ffffff14;border-radius:20px;flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden}@keyframes cdpCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.cdp-card:hover{border-color:#7c3aed47;transform:translateY(-4px);box-shadow:0 20px 48px #00000038}.cdp-card.is-member{cursor:pointer}.cdp-card-cover{height:110px;position:relative;overflow:hidden}.cdp-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.cdp-card:hover .cdp-card-cover img{transform:scale(1.05)}.cdp-card-cover-fallback{background:linear-gradient(135deg,#1e3a5f 0%,#4c1d95 50%,#831843 100%);width:100%;height:100%}.cdp-card-cover-shade{background:linear-gradient(#0000 20%,#0000008c 100%);position:absolute;inset:0}.cdp-vis-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:.68rem;font-weight:700;display:inline-flex;position:absolute;top:12px;right:12px}.cdp-vis-badge.public{color:#86efac;background:#22c55e33;border:1px solid #22c55e59}.cdp-vis-badge.private{color:#fcd34d;background:#f59e0b33;border:1px solid #f59e0b59}.cdp-card-body{z-index:1;flex-direction:column;flex:1;margin-top:-26px;padding:0 18px 18px;display:flex;position:relative}.cdp-card-head{align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.cdp-avatar{border:3px solid var(--bg-card);background:var(--bg-secondary);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 8px 24px #00000040}.cdp-avatar img{object-fit:cover;width:100%;height:100%}.cdp-avatar-fallback{color:#fff;background:linear-gradient(135deg,#7c3aed,#ec4899);font-weight:800}.cdp-card-title{flex:1;min-width:0;padding-bottom:4px}.cdp-card-title h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;font-size:1.05rem;font-weight:800;line-height:1.25;overflow:hidden}.cdp-member-pill{color:var(--text-muted);align-items:center;gap:4px;font-size:.74rem;font-weight:600;display:inline-flex}.cdp-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0 0 12px;font-size:.86rem;line-height:1.55;display:-webkit-box;overflow:hidden}.cdp-card-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.cdp-tag{color:var(--primary-light);background:#7c3aed1a;border:1px solid #7c3aed2e;border-radius:999px;align-items:center;gap:3px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.cdp-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.cdp-action-btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:.84rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.cdp-action-btn:hover:not(:disabled){transform:translateY(-1px)}.cdp-action-btn.join{color:#fff;background:linear-gradient(135deg,#7c3aed,#ec4899);box-shadow:0 6px 20px #7c3aed4d}.cdp-action-btn.join:disabled{opacity:.7;cursor:wait}.cdp-action-btn.primary{color:var(--text);background:var(--bg-secondary);border:1px solid #7c3aed40;flex:1;justify-content:center}.cdp-action-btn.primary:hover{background:#7c3aed1a;border-color:#7c3aed66}.cdp-pending-pill{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:12px;align-items:center;gap:6px;padding:10px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.cdp-report-btn{margin-left:auto}.cdp-empty{text-align:center;border:1px dashed #7c3aed40;flex-direction:column;align-items:center;padding:56px 24px;display:flex}.cdp-empty-orbit{color:#93c5fd;background:#3b82f61f;border:1px solid #3b82f640;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:20px;display:flex;box-shadow:0 0 40px #3b82f626}.cdp-empty h3{margin:0 0 8px;font-size:1.15rem}.cdp-empty p{color:var(--text-muted);max-width:320px;margin:0 0 20px}.cdp-skeleton-card{border-radius:20px;min-height:280px}@media (width<=768px){.cdp-hero{padding:22px 18px}.cdp-hero-stats{width:100%}.cdp-stat-card{flex:1;min-width:0}.cdp-filter-group{flex-direction:column;align-items:flex-start}.cdp-grid{grid-template-columns:1fr}}.messages-page-header{margin-bottom:8px}.messages-subtitle{color:var(--text-muted);margin-top:4px;font-size:.95rem}.messages-discover-wrap{min-height:calc(100vh - 260px);margin-top:20px}.messages-layout{grid-template-columns:340px 1fr;gap:20px;height:calc(100vh - 200px);min-height:520px;margin-top:20px;display:grid}.conversations-panel{flex-direction:column;padding:0;display:flex;overflow:hidden}.conversations-panel-head{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:8px;padding:16px 18px;font-size:.95rem;font-weight:700;display:flex}.conv-count{background:var(--gradient-soft);color:var(--primary-light);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.75rem;font-weight:600}.conversations-panel-head.select-mode{flex-wrap:wrap;gap:10px}.conv-select-count{color:var(--primary-light);font-size:.88rem;font-weight:700}.conv-select-actions{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}.conv-select-check{color:var(--primary-light);flex-shrink:0;justify-content:center;align-items:center;display:flex}.conv-item.selected{background:var(--gradient-soft);border-color:#7c3aed59}.conversations-list{flex:1;padding:8px;overflow-y:auto}.conv-empty{text-align:center;color:var(--text-muted);padding:48px 20px}.dm-user-search{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:0 12px 12px;display:flex}.dm-user-search .user-search-wrap{flex:1;min-width:0}.dm-user-search .user-search-input{min-height:42px;padding-top:10px;padding-bottom:10px;font-size:.88rem}.dm-user-search-go{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex}.conv-empty svg{opacity:.35;margin-bottom:12px}.conv-item{border-radius:var(--radius);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:background .2s,transform .15s;display:flex;position:relative}.conv-item:hover{background:var(--bg-secondary)}.conv-item.active{background:var(--gradient-soft);border-color:#7c3aed40}.conv-avatar-wrap{flex-shrink:0;position:relative}.conv-avatar-wrap img{object-fit:cover;border:2px solid #7c3aed33;border-radius:50%;width:48px;height:48px}.conv-online-dot.unread{background:var(--accent);border:2px solid var(--bg-card);border-radius:50%;width:12px;height:12px;position:absolute;bottom:1px;right:1px}.conv-body{flex:1;min-width:0}.conv-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.conv-top strong{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;overflow:hidden}.conv-item p{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.unread-badge{background:var(--gradient);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:700;display:flex}.chat-area{flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#7c3aed0f,#0000);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.chat-header-user{align-items:center;gap:12px;transition:opacity .2s;display:flex}.chat-header-user:hover{opacity:.85}.chat-header-user img,.chat-header-placeholder{object-fit:cover;border:2px solid #7c3aed4d;border-radius:50%;width:42px;height:42px}.chat-header-placeholder{background:var(--bg-secondary)}.chat-header-user strong{font-size:.95rem;display:block}.chat-header-user span{color:var(--text-muted);font-size:.78rem}.chat-messages{background:radial-gradient(circle at 20% 80%,#7c3aed0a,#0000 40%),radial-gradient(circle at 80% 20%,#ec48990a,#0000 40%);flex-direction:column;flex:1;gap:6px;min-height:0;padding:24px 20px;display:flex;overflow:hidden auto}.chat-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.chat-empty-icon{opacity:.5;margin-bottom:12px;font-size:2.5rem}.chat-bubble-wrap{flex-direction:column;min-width:0;max-width:72%;margin-bottom:8px;display:flex}.chat-bubble-cluster{min-width:0;max-width:100%;position:relative}.chat-bubble-wrap.sent{align-self:flex-end;align-items:flex-end}.chat-bubble-wrap.received{align-self:flex-start;align-items:flex-start}.chat-bubble{word-break:break-word;overflow-wrap:anywhere;border-radius:18px;max-width:100%;padding:10px 14px;font-size:.92rem;line-height:1.55;position:relative;box-shadow:0 2px 12px #00000014}.chat-bubble.sent{background:var(--gradient);color:#fff;border-bottom-right-radius:6px}.chat-bubble.received{background:var(--bg-secondary);border:1px solid var(--border);border-bottom-left-radius:6px}.chat-bubble.recalled{box-shadow:none;padding:0;background:0 0!important;border:none!important}.chat-recalled{border:1px dashed;border-radius:14px;align-items:center;gap:10px;max-width:100%;padding:10px 14px;display:flex}.chat-recalled.sent{background:#7c3aed1f;border-color:#7c3aed59}.chat-recalled.received{background:#6b65801a;border-color:#6b658059}.chat-recalled-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.chat-recalled.sent .chat-recalled-icon{color:var(--primary-light);background:#7c3aed2e}.chat-recalled.received .chat-recalled-icon{color:var(--text-muted);background:#6b658026}.chat-recalled-text{flex-direction:column;gap:1px;min-width:0;display:flex}.chat-recalled-text strong{letter-spacing:.01em;font-size:.82rem;font-style:normal;font-weight:600}.chat-recalled.sent .chat-recalled-text strong{color:var(--primary-light)}.chat-recalled.received .chat-recalled-text strong{color:var(--text-secondary)}.chat-recalled-text small{color:var(--text-muted);font-size:.72rem;font-style:normal}.conv-preview-recalled{opacity:.85;align-items:center;gap:5px;font-style:italic;color:var(--text-muted)!important;display:inline-flex!important}.chat-text{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%;font-family:var(--font), "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;font-size:.95rem;line-height:1.5;display:block}.chat-image{object-fit:cover;border-radius:12px;max-width:260px;max-height:280px;margin-bottom:6px;display:block}.chat-image-btn{cursor:zoom-in;background:0 0;border:none;border-radius:12px;max-width:260px;margin-bottom:6px;padding:0;line-height:0;display:block;position:relative;overflow:hidden}.chat-image-btn:after{content:"";pointer-events:none;background:0 0;border-radius:12px;transition:background .2s;position:absolute;inset:0}.chat-image-btn:hover:after{background:#00000038}.chat-image-zoom{color:#fff;opacity:0;pointer-events:none;z-index:1;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:8px;right:8px;transform:scale(.85)}.chat-image-btn:hover .chat-image-zoom{opacity:1;transform:scale(1)}.chat-image-btn .chat-image{margin-bottom:0;transition:transform .25s}.chat-image-btn:hover .chat-image{transform:scale(1.02)}.chat-attachment-preview.clickable{cursor:zoom-in}.chat-attachment-preview.clickable:hover{border-color:#7c3aed66}.chat-msg-actions{opacity:0;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;padding:0 4px;transition:opacity .2s,transform .2s;display:flex;transform:translateY(2px)}.chat-bubble-wrap:hover .chat-msg-actions,.chat-bubble-wrap:focus-within .chat-msg-actions{opacity:1;transform:translateY(0)}@media (width<=768px){.chat-msg-actions{opacity:1;transform:none}}.chat-edit-form{flex-direction:column;gap:6px;width:100%;display:flex}.chat-edit-input{padding:8px 10px;font-size:.95rem}.chat-edit-actions{gap:6px;display:flex}.chat-edited-tag{color:var(--text-muted);font-size:.75rem;font-style:italic}.chat-action{color:var(--text-muted);background:0 0;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;transition:color .2s,background .2s;display:inline-flex}.chat-action:hover{background:var(--bg-secondary);color:var(--text)}.chat-action.liked{color:var(--accent)}.chat-composer{z-index:5;border-top:1px solid var(--border);background:var(--bg-card);padding:16px;position:relative;overflow:visible}.chat-attachment-preview{border-radius:var(--radius);background:var(--bg-secondary);border:1px solid var(--border);align-items:flex-end;gap:10px;margin-bottom:10px;padding:8px;display:inline-flex;position:relative}.chat-attachment-preview img{object-fit:cover;border-radius:10px;width:72px;height:72px}.chat-attachment-info{color:var(--text-muted);align-items:center;gap:6px;padding-bottom:4px;font-size:.78rem;display:flex}.chat-attachment-remove{color:#fff;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:background .2s;display:flex;position:absolute;top:4px;right:4px}.chat-attachment-remove:hover{background:#ef4444d9}.chat-input-box{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-secondary);align-items:flex-end;gap:8px;padding:6px 6px 6px 8px;transition:border-color .2s,box-shadow .2s;display:flex}.chat-input-box:focus-within{border-color:#7c3aed73;box-shadow:0 0 0 3px #7c3aed1f}.chat-input-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.chat-attach-wrap{flex-shrink:0;position:relative}.chat-attach-btn{width:40px;height:40px;color:var(--text-muted);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .25s;display:flex}.chat-attach-btn:hover,.chat-attach-btn.open{color:var(--primary-light);background:#7c3aed26}.chat-attach-btn.open .chat-attach-plus{transform:rotate(45deg)}.chat-attach-plus{transition:transform .25s cubic-bezier(.34,1.4,.64,1)}.chat-attach-menu{border-radius:var(--radius);background:var(--bg-card);z-index:20;border:1px solid #7c3aed40;min-width:220px;padding:8px;animation:.2s cubic-bezier(.34,1.2,.64,1) attachMenuIn;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 12px 40px #00000040,0 0 0 1px #ec489914}.chat-attach-menu:after{content:"";background:var(--bg-card);border-bottom:1px solid #7c3aed40;border-right:1px solid #7c3aed40;width:12px;height:12px;position:absolute;bottom:-6px;left:16px;transform:rotate(45deg)}@keyframes attachMenuIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-attach-menu-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:6px 12px 8px;font-size:.72rem;font-weight:700}.chat-attach-option{border-radius:var(--radius-sm);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .15s;display:flex}.chat-attach-option:hover{background:var(--bg-secondary)}.chat-attach-option-icon{background:color-mix(in srgb, var(--opt-color) 15%, transparent);width:40px;height:40px;color:var(--opt-color);border:1px solid color-mix(in srgb, var(--opt-color) 25%, transparent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-attach-option-text{flex-direction:column;gap:1px;display:flex}.chat-attach-option-text strong{color:var(--text);font-size:.88rem}.chat-attach-option-text small{color:var(--text-muted);font-size:.72rem}.chat-input-wrap{flex:1;min-width:0;display:flex;position:relative}.chat-mention-suggestions{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);z-index:30;max-height:220px;padding:4px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.chat-mention-suggestion{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;transition:background .15s;display:flex}.chat-mention-suggestion:hover,.chat-mention-suggestion.active{background:#7c3aed1f}.chat-mention-suggestion-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.chat-mention-suggestion-text{flex-direction:column;gap:1px;min-width:0;display:flex}.chat-mention-suggestion-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.chat-mention-suggestion-text small{color:var(--text-muted);font-size:.76rem}.chat-text-input{min-height:40px;max-height:120px;color:var(--text);font-size:.92rem;font-family:var(--font), "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;resize:none;background:0 0;border:none;flex:1;padding:10px 4px;line-height:1.45}.chat-text-input:focus{outline:none}.chat-text-input::placeholder{color:var(--text-muted)}.chat-send-btn{background:var(--gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .2s,opacity .2s,filter .2s;display:flex}.chat-send-btn:hover:not(:disabled){filter:brightness(1.08);transform:scale(1.05)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-placeholder{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 32px;display:flex}.chat-placeholder-icon{background:var(--gradient-soft);width:88px;height:88px;color:var(--primary-light);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.chat-placeholder h3{color:var(--text);margin-bottom:8px;font-size:1.15rem}.chat-placeholder p{max-width:280px;font-size:.9rem}@media (width<=768px){.messages-layout{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 180px)}.conversations-panel{max-height:220px}.chat-bubble-wrap{max-width:85%}.chat-attach-menu{min-width:200px;left:-4px}}.admin-stats{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.admin-stat{text-align:center;padding:24px}.admin-stat-value{font-size:2rem;font-weight:800;display:block}.admin-stat-label{color:var(--text-muted);font-size:.9rem}.admin-table{padding:0;overflow-x:auto}.admin-table table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:14px 16px}.admin-table th{background:var(--bg-secondary);font-size:.85rem;font-weight:600}.admin-actions-cell{flex-wrap:wrap;gap:6px;display:flex}.admin-settings-hint{color:var(--text-muted);margin-bottom:16px;font-size:.9rem;line-height:1.5}.admin-settings-hint a{color:var(--accent)}.iyzico-status{border-radius:10px;margin:16px 0;padding:12px 14px;font-size:.9rem}.iyzico-status.ok{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e59}.iyzico-status.warn{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b59}.email-settings-card{grid-column:1/-1}.email-status-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:16px;display:grid}.email-status-grid>div{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.email-status-grid span{color:var(--text-muted);margin-bottom:4px;font-size:.75rem;display:block}.email-status-grid strong{word-break:break-all;font-size:.88rem}.email-feature-list{color:var(--text-muted);margin:0 0 16px;padding-left:20px;font-size:.88rem;line-height:1.7}.site-info-card{grid-column:1/-1}.site-name-preview{background:var(--gradient-soft);flex-direction:column;gap:6px;margin-bottom:16px;padding:16px;display:flex}.site-preview-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.75rem}.site-name-preview strong{font-size:1.5rem}.site-name-preview span:last-child{color:var(--text-muted);font-size:.9rem}.genre-admin-card{grid-column:1/-1}.genre-admin-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.genre-admin-row{grid-template-columns:56px 1fr 1fr 140px auto auto;align-items:center;gap:8px;display:grid}.genre-admin-icon{text-align:center;padding-left:8px;padding-right:8px;font-size:1.2rem}.genre-admin-id{font-family:monospace;font-size:.85rem}.genre-admin-active{white-space:nowrap;font-size:.85rem}.genre-admin-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=900px){.genre-admin-row{grid-template-columns:1fr 1fr}.genre-admin-icon{grid-column:1;width:56px}}.role-row{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0;display:flex}.role-actions{gap:8px;display:flex}.perm-chips{flex-wrap:wrap;gap:6px;display:flex}.chat-document-link{color:#60a5fa;background:#60a5fa26;border-radius:8px;align-items:center;gap:6px;margin-top:4px;padding:8px 12px;font-size:.9rem;text-decoration:none;display:inline-flex}.chat-mention{color:#3b82f6;font-weight:600;text-decoration:none}.chat-mention:hover{text-decoration:underline}.chat-mention.self{color:#2563eb}.chat-mention-bar{border:none;border-top:1px solid var(--border);color:#3b82f6;cursor:pointer;text-align:left;background:#3b82f614;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:.85rem;font-weight:600;transition:background .2s;display:flex}.chat-mention-bar:hover{background:#3b82f624}.chat-mention-bar-icon{background:#3b82f626;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.chat-bubble-wrap.mention-highlight .chat-bubble{animation:3s ease-out forwards mentionFlash}@keyframes mentionFlash{0%,15%,30%,45%,60%{filter:brightness(1.1);box-shadow:0 0 0 2px #3b82f680}7.5%,22.5%,37.5%,52.5%,67.5%{filter:brightness(1.03);box-shadow:0 0 0 1px #3b82f640}to{box-shadow:none;filter:none}}.chat-reply-preview{text-align:left;cursor:pointer;background:#0000001f;border-left:3px solid #ffffff80;border-radius:6px;width:100%;margin-bottom:8px;padding:6px 10px;display:block}.chat-reply-preview.received{border-left-color:var(--primary);background:#7c3aed14}.chat-reply-preview strong{margin-bottom:2px;font-size:.72rem;display:block}.chat-reply-preview span{opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;display:block;overflow:hidden}.chat-reply-bar{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;margin:0 12px 8px;padding:8px 10px;display:flex}.chat-reply-bar-body{flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.chat-reply-bar-body strong{font-size:.78rem;display:block}.chat-reply-bar-body span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;display:block;overflow:hidden}.chat-reply-bar-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.ai-page{padding-bottom:64px}.ai-hero{text-align:center;padding:60px 0 48px;position:relative;overflow:hidden}.ai-hero-glow{background:radial-gradient(#7c3aed40 0%,#0000 70%);position:absolute;inset:0}.ai-hero-inner{position:relative}.ai-hero-inner svg{color:var(--primary);margin-bottom:12px}.ai-hero h1{margin-bottom:12px;font-size:2.5rem;font-weight:800}.ai-hero p{color:var(--text-secondary);max-width:560px;margin:0 auto}.ai-body{margin-top:-20px}.ai-layout{grid-template-columns:280px 1fr;gap:24px;display:grid}.ai-sidebar{height:fit-content;padding:20px;position:sticky;top:88px}.ai-sidebar h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:.9rem}.ai-tool-btn{border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:12px;margin-bottom:6px;padding:12px 14px;transition:all .2s;display:flex}.ai-tool-btn:hover,.ai-tool-btn.active{background:var(--gradient-soft);border-color:var(--primary)}.ai-tool-icon{font-size:1.4rem}.ai-tool-arrow{opacity:.4;margin-left:auto}.ai-prompt-card{margin-bottom:24px;padding:28px}.ai-prompt-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.ai-prompt-input{min-height:120px;margin-bottom:16px;font-size:1rem;line-height:1.6}.ai-generate-btn{width:100%;padding:14px;font-size:1rem}.ai-loading{text-align:center;padding:48px}.ai-loading-orbs{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.ai-loading-orbs span{background:var(--gradient);border-radius:50%;width:12px;height:12px;animation:1.2s infinite orb-bounce}.ai-loading-orbs span:nth-child(2){animation-delay:.2s}.ai-loading-orbs span:nth-child(3){animation-delay:.4s}@keyframes orb-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.ai-output-title{margin-bottom:16px;font-size:1.2rem}.ai-result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.book-idea{grid-template-columns:160px 1fr;gap:28px;display:grid}.ai-result-cover{aspect-ratio:2/3;background:var(--gradient);border-radius:var(--radius);color:#fff;opacity:.9;justify-content:center;align-items:center;display:flex}.ai-genre-tag{background:var(--gradient-soft);color:var(--primary);border-radius:999px;margin-bottom:12px;padding:4px 12px;font-size:.8rem;font-weight:600;display:inline-block}.ai-result-body h2{margin-bottom:16px;font-size:1.8rem}.ai-synopsis{color:var(--text-secondary);margin-bottom:16px;line-height:1.8}.ai-conflict{background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px;font-size:.9rem}.ai-tags{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.character-result{text-align:center}.char-avatar-large{background:var(--gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 16px;font-size:2rem;font-weight:800;display:flex}.char-age{color:var(--text-muted);font-size:.9rem}.char-details{text-align:left;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.char-details label{color:var(--primary);text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.char-details p{color:var(--text-secondary);font-size:.9rem}.ai-outline{flex-direction:column;gap:12px;display:flex}.outline-scene{gap:16px;padding:20px;display:flex}.scene-num{background:var(--gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:800;display:flex}.scene-mood{color:var(--accent);font-size:.75rem;font-style:italic}.ai-prose{padding:0;overflow:hidden}.ai-prose-toolbar{border-bottom:1px solid var(--border);padding:12px 16px}.ai-prose-text{padding:28px;font-size:1.05rem;line-height:1.9}.ai-prose-text p{margin-bottom:1em}.ai-twists{gap:12px;display:grid}.twist-card{align-items:center;gap:16px;padding:20px;display:flex}.twist-num{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:800}.ai-history{margin-top:32px}.ai-history h3{color:var(--text-muted);margin-bottom:12px;font-size:.9rem}.ai-history-item{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-secondary);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}@media (width<=900px){.ai-layout{grid-template-columns:1fr}.ai-sidebar{position:static}.book-idea,.char-details{grid-template-columns:1fr}}.settings-page{max-width:960px}.settings-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.settings-grid{grid-template-columns:1fr 340px;gap:24px;display:grid}@media (width<=900px){.settings-grid{grid-template-columns:1fr}}.settings-card{flex-direction:column;gap:12px;padding:24px;display:flex}.settings-card h3{align-items:center;gap:8px;margin-bottom:12px;display:flex}.settings-preview{margin-bottom:8px;position:relative}.settings-cover-preview{background-position:50%;background-size:cover;border-radius:12px;height:100px;margin-bottom:40px}.settings-avatar-preview{border:3px solid var(--primary);object-fit:cover;border-radius:50%;width:72px;height:72px;margin-left:16px;display:block}.settings-preview--has-cover .settings-avatar-preview{margin-top:-36px}.settings-check{align-items:center;gap:8px;font-size:.9rem;display:flex}.settings-side{flex-direction:column;gap:16px;display:flex}.verified-status{text-align:center;padding:16px}.verified-icon{color:#3b82f6;margin-bottom:8px}.pending-verify{color:#f59e0b}.verify-desc{color:var(--text-muted);font-size:.9rem}.balance-amount{background:linear-gradient(135deg,#7c3aed,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.75rem;font-weight:700}.settings-hint{color:var(--text-muted);margin:0 0 4px;font-size:.82rem}.settings-subscription-card{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;margin-top:16px;padding:14px}.settings-subscription-card h4{align-items:center;gap:8px;margin-bottom:8px;display:flex}.notif-pref-row{border-bottom:1px solid #7c3aed14;flex-wrap:wrap;align-items:center;gap:12px;padding:6px 0;display:flex}.notif-pref-row>span{flex:1;min-width:140px;font-size:.9rem}.reading-goal-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.goal-today{color:#22c55e;font-size:.85rem}.subscription-page{max-width:820px}.subscription-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.subscription-header h1{align-items:center;gap:10px;margin-bottom:8px;display:flex}.subscription-header p{color:var(--text-muted);line-height:1.5}.subscription-stat{flex-direction:column;align-items:center;gap:4px;min-width:120px;padding:16px 20px;display:flex}.subscription-stat strong{font-size:1.6rem}.subscription-stat span{color:var(--text-muted);font-size:.78rem}.subscription-form{padding:22px}.subscription-toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:20px;display:flex}.subscription-toggle-row h3{margin-bottom:4px}.subscription-toggle-row p{color:var(--text-muted);font-size:.88rem}.subscription-toggle-btn{background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:88px;padding:8px 14px;display:flex}.subscription-toggle-btn.on{color:var(--primary-light);background:var(--gradient-soft);border-color:#7c3aed59}.subscription-plans-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.subscription-plans-list{flex-direction:column;gap:12px;display:flex}.subscription-plan-card{border:1px solid var(--border);background:var(--bg-secondary);border-radius:14px;justify-content:space-between;align-items:flex-end;gap:12px;padding:14px;display:flex}.subscription-plan-card.inactive{opacity:.65}.subscription-plan-fields{flex:1;grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}.subscription-plan-fields label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:.78rem;font-weight:600;display:flex}.subscription-plan-actions{align-items:center;gap:6px;display:flex}.subscription-plan-actions .active-plan{color:var(--primary-light)}.subscription-form-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;display:flex}@media (width<=720px){.subscription-header{flex-direction:column}.subscription-plan-card{flex-direction:column;align-items:stretch}.subscription-plan-fields{grid-template-columns:1fr}}.wallet-withdraw-card{border-color:#7c3aed33}.wallet-field-hint{color:var(--text-muted);margin-top:6px;font-size:.8rem;display:block}.wallet-balance-card{text-align:center;margin:24px 0;padding:28px}.wallet-label{color:var(--text-muted);font-size:.9rem}.wallet-amount{background:linear-gradient(135deg,#7c3aed,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:8px 0 20px;font-size:2.5rem;font-weight:800;display:block}.wallet-payment-card{margin-bottom:24px;padding:24px}.wallet-payment-card h3{align-items:center;gap:8px;margin-bottom:8px;display:flex}.wallet-payment-note{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:20px;font-size:.85rem;display:flex}.wallet-card-row{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.wallet-pay-btn{justify-content:center;width:100%;margin-top:8px}.wallet-info-banner{border:1px solid var(--border);align-items:flex-start;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.wallet-info-banner.configured{background:#22c55e14;border-color:#22c55e59}.wallet-info-banner.missing{background:#ef444414;border-color:#ef444459}.wallet-info-banner p{color:var(--text-muted);margin:4px 0 0;font-size:.85rem;line-height:1.5}.wallet-3ds-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080612d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.wallet-3ds-modal{width:100%;max-width:520px;max-height:90vh;padding:24px;overflow:auto}.wallet-3ds-content{margin-top:16px}.wallet-3ds-wait{text-align:center;color:var(--text-muted);margin-top:12px;font-size:.9rem}.wallet-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.wallet-history{padding:20px}.wallet-history h3{align-items:center;gap:8px;margin-bottom:16px;display:flex}.tx-list{flex-direction:column;gap:12px;display:flex}.tx-item{background:var(--surface-2);border-radius:12px;align-items:flex-start;gap:12px;padding:12px;display:flex}.tx-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tx-icon.in{color:#22c55e;background:#22c55e26}.tx-icon.out{color:#ef4444;background:#ef444426}.tx-info{flex-direction:column;flex:1;gap:2px;font-size:.85rem;display:flex}.tx-info strong{font-size:.95rem}.tx-meta{text-align:right;flex-direction:column;gap:2px;font-size:.85rem;display:flex}.tx-in{color:#22c55e;font-weight:600}.tx-out{color:#ef4444;font-weight:600}.tx-status{text-transform:capitalize;color:var(--text-muted)}.tx-date{color:var(--text-muted);font-size:.75rem}.legal-page{max-width:760px;margin:0 auto;padding-bottom:48px}.legal-page h1{margin-bottom:8px}.legal-updated{color:var(--text-muted);margin-bottom:32px;font-size:.9rem}.legal-page section{margin-bottom:28px}.legal-page h2{color:var(--text);margin-bottom:10px;font-size:1.15rem}.legal-page p,.legal-page li{color:var(--text-muted);line-height:1.7}.legal-cms-body p{color:var(--text-muted);margin-bottom:1rem;line-height:1.7}.legal-loading{color:var(--text-muted);padding:24px 0}.legal-footer-links{margin-top:32px;font-size:.95rem}.legal-footer-links a{color:var(--primary)}.legal-page ul{padding-left:1.25rem}.legal-page a{color:var(--primary)}.contests-page .contest-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px;display:grid}.contest-card{flex-direction:column;display:flex;overflow:hidden}.contest-cover{background-position:50%;background-size:cover;background-color:var(--surface-2);height:140px}.contest-body{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.contest-status{text-transform:uppercase;background:var(--surface-2);border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-block}.contest-status.active{color:#22c55e}.contest-status.upcoming{color:#3b82f6}.contest-status.ended{color:var(--text-muted)}.contest-detail{max-width:900px}.contest-submissions{gap:12px;margin-top:16px;display:grid}.contest-sub-item{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.contest-sub-item img{object-fit:cover;border-radius:6px;width:48px;height:64px}.contest-admin-form{margin-bottom:32px}.contest-admin-form .form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.contest-admin-form .form-row{grid-template-columns:1fr}}.rank-up-overlay{z-index:9999;background:#000000a6;justify-content:center;align-items:center;padding:24px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.rank-up-modal{text-align:center;width:100%;max-width:360px;padding:32px 24px 28px;position:relative;overflow:hidden}.rank-up-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;position:absolute;top:12px;right:12px}.rank-up-glow{pointer-events:none;background:radial-gradient(circle,#7c3aed59 0%,#0000 65%);position:absolute;inset:-40%}.rank-up-icon{color:#fbbf24;margin-bottom:8px;position:relative}.rank-up-label{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.85rem;font-weight:600}.rank-up-modal h2{margin-bottom:16px}.rank-up-badge{background:var(--gradient-soft);border-radius:999px;align-items:center;gap:10px;margin-bottom:12px;padding:12px 20px;font-size:1.25rem;font-weight:700;display:inline-flex}.rank-up-emoji{font-size:1.5rem}.rank-up-desc{color:var(--text-muted);margin-bottom:20px;font-size:.95rem}
