:root{font-family:Segoe UI,Noto Sans,DejaVu Sans,Arial,sans-serif;line-height:1.5;font-weight:400;color:#f5efff;background:radial-gradient(circle at top,rgba(52,21,109,.35),transparent 38%),radial-gradient(circle at 70% 65%,rgba(71,23,184,.18),transparent 30%),#090511;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}a{font-weight:600;text-decoration:none}button,input{font:inherit}.auth-layout{position:relative;display:grid;place-items:center;min-height:100vh;padding:32px 20px;overflow:hidden}.auth-layout:before,.auth-layout:after{content:"";position:absolute;border-radius:999px;filter:blur(90px);opacity:.55;pointer-events:none}.auth-layout:before{width:420px;height:420px;background:#551cff38;bottom:-120px;right:8%}.auth-layout:after{width:300px;height:300px;background:#723bff29;top:-80px;left:12%}.auth-card{position:relative;z-index:1;width:min(100%,560px);padding:38px 40px 34px;border:1px solid rgba(255,255,255,.06);border-radius:28px;background:linear-gradient(180deg,#181126f5,#100a1bf5);box-shadow:0 30px 80px #03010a99,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.brand-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:34px}.brand{display:inline-flex;align-items:center;gap:14px}.brand-mark{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;width:34px;height:28px}.brand-mark span{border-radius:6px;background:linear-gradient(180deg,#8f74ff,#4e1fff);box-shadow:0 0 22px #5b32ff73}.brand-mark span:first-child{transform:skewY(6deg)}.brand-mark span:last-child{transform:skewY(-6deg)}.brand-name{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:#f4efff}.auth-copy{margin-bottom:24px}.auth-title{margin:0;font-size:clamp(2.1rem,4vw,3rem);line-height:1.06;letter-spacing:-.03em;color:#fff7ff}.auth-form{display:grid;gap:18px}.action-row{display:grid;gap:12px}.form-feedback{margin:0;padding:14px 16px;border-radius:16px;font-size:.96rem;line-height:1.5}.form-feedback-error{border:1px solid rgba(255,94,141,.26);background:#5818316b;color:#ffd1df}.form-feedback-success{border:1px solid rgba(113,231,183,.2);background:#1244345c;color:#d8fff0}.status-chip{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px;border:1px solid rgba(137,112,255,.16);border-radius:16px;background:#32205b6b;color:#d9ceff;font-size:.95rem}.status-chip span{color:#f1eaff}.field{display:flex;align-items:center;min-height:72px;padding:0 22px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#120c1feb;box-shadow:inset 0 1px #ffffff0a;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.field:focus-within{border-color:#8163ffe6;box-shadow:0 0 0 3px #684aff2e,inset 0 1px #ffffff0f;transform:translateY(-1px)}.field input{width:100%;border:0;outline:0;padding:0;font:inherit;font-size:1.02rem;color:#f3edff;background:transparent}.field input::placeholder{color:#8d849f}.field-password{gap:12px}.field-icon{display:inline-flex;align-items:center;justify-content:center;color:#7a4dff}.field-icon svg{width:22px;height:22px;fill:currentColor}.submit-button{margin-top:6px;min-height:72px;border:0;border-radius:18px;font-size:1.55rem;font-weight:700;letter-spacing:-.03em;color:#f7f1ff;background:linear-gradient(90deg,#3812e0,#7747ff);box-shadow:0 16px 36px #5222ff61,inset 0 1px #fff3;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.submit-button:disabled{cursor:wait;opacity:.82}.submit-button:hover{transform:translateY(-2px);box-shadow:0 22px 48px #5222ff73,inset 0 1px #ffffff3d;filter:brightness(1.04)}.secondary-button{min-height:58px;border:1px solid rgba(138,118,255,.24);border-radius:18px;background:#1e1433f0;color:#e7ddff;font-size:1rem;font-weight:600;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.secondary-button:hover:not(:disabled){transform:translateY(-1px);border-color:#9b85ff6b;background:#271a43fa}.secondary-button:disabled{cursor:wait;opacity:.72}.submit-button:focus-visible,.auth-switch:focus-visible,.secondary-button:focus-visible,.modal-close:focus-visible{outline:3px solid rgba(132,110,255,.36);outline-offset:3px}.auth-footer{margin:24px 0 0;color:#b1a9c6;font-size:1.05rem;line-height:1.45}.auth-switch{padding:0;border:0;background:transparent;font:inherit;font-weight:700;color:#7f5dff;cursor:pointer}.auth-switch:hover{color:#9a80ff}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:24px;background:#06040db8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.verification-modal{position:relative;width:min(100%,520px);padding:28px;border:1px solid rgba(255,255,255,.08);border-radius:28px;background:linear-gradient(180deg,#181126fa,#100a1bfa);box-shadow:0 30px 80px #03010a8c,inset 0 1px #ffffff0d}.modal-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:999px;background:#ffffff0f;color:#f4efff;font-size:1.5rem;cursor:pointer}.modal-copy{display:grid;gap:10px;margin-bottom:24px}.modal-eyebrow{margin:0;color:#9f8cf6;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.modal-title{margin:0;color:#fff7ff;font-size:clamp(1.7rem,4vw,2.2rem);line-height:1.08}.modal-text{margin:0;color:#c5bddb}.modal-text span{color:#fff7ff}.modal-form{display:grid;gap:16px}.modal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:12px;margin-top:4px}@media(max-width:640px){.auth-layout{padding:18px}.auth-card{padding:28px 22px 24px;border-radius:22px}.brand-header{margin-bottom:26px}.brand-name{font-size:1.65rem}.field,.submit-button{min-height:64px}.submit-button{font-size:1.3rem}.modal-backdrop{padding:16px}.verification-modal{padding:24px 18px 18px;border-radius:24px}.modal-actions{grid-template-columns:1fr}}.home-page{min-height:100vh;padding:32px 16px 48px;background:transparent;color:#f5efff}.home-shell{width:min(100%,1100px);margin:0 auto}.home-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.home-title{margin:0 0 8px;font-size:2rem;line-height:1.2}.home-subtitle{margin:0;color:#b9b2cb}.home-header-actions{display:flex;gap:10px}.home-header-button,.book-open-button{min-height:40px;padding:0 16px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#271c43e6;color:#f5efff}.search-panel{display:grid;gap:12px;padding:16px;margin-bottom:20px;background:#140e22eb;border:1px solid rgba(255,255,255,.08);border-radius:12px}.search-label{font-size:.95rem;font-weight:600}.search-input{width:100%;min-height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#0b0814f2;color:#f5efff}.catalog-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.genre-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.genre-filter-button{min-height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#140e22eb;color:#d7cff2}.genre-filter-button.is-active{border-color:#896effe6;background:#442d85e6;color:#fff}.summary-card{min-width:150px;padding:14px 16px;background:#140e22eb;border:1px solid rgba(255,255,255,.08);border-radius:12px}.summary-label{margin:0 0 6px;font-size:.9rem;color:#b9b2cb}.summary-value{margin:0;font-size:1.4rem;font-weight:700}.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.book-card{padding:16px;background:#140e22eb;border:1px solid rgba(255,255,255,.08);border-radius:12px}.book-cover{display:grid;place-items:center;height:160px;margin-bottom:14px;border-radius:10px;background:#37285ccc;color:#d7cff2;font-size:.95rem;overflow:hidden}.book-cover-image{width:100%;height:100%;object-fit:cover}.book-title{margin:0 0 6px;font-size:1.1rem}.book-author,.book-meta{margin:0 0 4px;color:#b9b2cb}.book-open-button{margin-top:10px}.empty-state{padding:24px;text-align:center;background:#140e22eb;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#b9b2cb}@media(max-width:640px){.home-page{padding:20px 12px 32px}.home-title{font-size:1.65rem}.home-header{flex-direction:column}}.book-page{min-height:100vh;padding:24px 16px 40px;color:#f5efff}.book-page-shell{width:min(100%,1100px);margin:0 auto}.book-topbar,.book-section,.book-hero,.author-card,.comment-card,.book-footer{background:#140e22eb;border:1px solid rgba(255,255,255,.08);border-radius:12px}.book-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:20px}.book-brand{margin:0;font-size:1.8rem}.book-search{flex:1 1 240px;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0b0814f2;color:#f5efff}.book-topbar-actions{display:flex;gap:10px}.book-topbar-button,.book-action-button,.book-action-button-secondary,.author-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:10px;border:1px solid rgba(255,255,255,.14);color:#f5efff;background:#271c43e6}.book-hero{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;padding:24px;margin-bottom:20px}.book-cover-large{display:grid;place-items:center;min-height:320px;border-radius:12px;background:#37285ccc;color:#d7cff2;overflow:hidden}.book-cover-large-image{width:100%;height:100%;object-fit:cover}.book-hero-title{margin:0 0 8px;font-size:2.1rem}.book-hero-author{margin:0 0 16px;color:#b9b2cb;font-size:1.1rem}.book-genre-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.book-genre-item{padding:8px 12px;border-radius:999px;background:#37285ccc;color:#e6ddff}.book-rating{margin:0 0 18px;color:#d7cff2;font-size:1.05rem}.book-action-row,.book-action-panel{display:flex;flex-wrap:wrap;gap:12px}.book-action-button{background:linear-gradient(90deg,#3812e0,#7747ff);border:0}.book-action-button-secondary{background:#271c43e6}.book-action-button-secondary:disabled{cursor:not-allowed;opacity:.55}.book-action-button:disabled{cursor:not-allowed;opacity:.55}.book-section{padding:24px;margin-bottom:20px}.book-section-title{margin:0 0 16px;font-size:1.7rem}.book-description{margin:0 0 16px;color:#d0c7e6}.book-detail-list{display:grid;gap:8px}.book-detail-item{color:#b9b2cb}.author-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:20px}.author-avatar{display:grid;place-items:center;width:96px;height:96px;border-radius:999px;background:#37285ccc;color:#d7cff2}.author-name{margin:0 0 10px;font-size:1.25rem}.author-text{margin:0 0 12px;color:#d0c7e6}.comments-list{display:grid;gap:12px}.comment-form{display:grid;gap:12px;margin-bottom:16px}.comment-input{min-height:96px;width:100%;resize:vertical;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#0b0814f2;color:#f5efff;font:inherit}.comment-error{margin:0 0 16px;color:#ffb7c5}.comment-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:16px}.comment-avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:#37285ccc;color:#d7cff2}.comment-name{margin:0 0 8px;font-size:1.05rem}.comment-text{margin:0;color:#d0c7e6}.book-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 20px}.book-footer-text,.book-footer-links{display:flex;flex-wrap:wrap;gap:16px;color:#b9b2cb}@media(max-width:720px){.book-hero{grid-template-columns:1fr}.book-cover-large{min-height:240px}.author-card,.comment-card{grid-template-columns:1fr}}.account-page{min-height:100vh;padding:24px 16px 40px;color:#f5efff}.account-page-shell{width:min(100%,1100px);margin:0 auto}.account-header,.account-block,.account-profile-card,.account-book-card,.account-activity-card{background:#140e22eb;border:1px solid rgba(255,255,255,.08);border-radius:12px}.account-header{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;margin-bottom:20px}.account-brand,.account-title,.account-section-title,.account-name,.account-book-title,.account-activity-title{margin:0}.account-header-links{align-items:center;display:flex;flex-wrap:wrap;gap:14px;color:#b9b2cb}.account-nav-button{min-height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#271c43e6;color:#f5efff}.account-profile-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:24px;margin-bottom:20px}.account-avatar{display:grid;place-items:center;width:120px;height:120px;border-radius:999px;background:#37285ccc;color:#d7cff2}.account-title{font-size:1.9rem}.account-text,.account-book-meta,.account-activity-text{color:#b9b2cb}.account-text{margin:10px 0 0}.account-block{padding:20px;margin-bottom:20px}.account-section-title{margin-bottom:16px;font-size:1.4rem}.account-stats-grid,.account-books-grid{display:grid;gap:12px}.account-stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.account-stat-card{padding:16px;border-radius:12px;background:#37285c73}.account-stat-label{margin:0 0 8px;color:#b9b2cb}.account-stat-value{margin:0;font-size:1.5rem;font-weight:700}.account-books-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.account-book-card{padding:16px}.account-book-cover{display:grid;place-items:center;height:140px;margin-bottom:12px;border-radius:10px;background:#37285ccc;color:#d7cff2;overflow:hidden}.account-book-cover-image{width:100%;height:100%;object-fit:cover}.account-book-title{margin-bottom:6px}.account-book-meta{margin:0 0 4px}.account-inline-button{margin-top:10px}.account-activity-list{display:grid;gap:12px}.account-activity-card{padding:16px}.account-activity-title{margin-bottom:8px}.account-activity-text{margin:0}@media(max-width:720px){.account-header,.account-profile-card{grid-template-columns:1fr;display:grid}}
