:root{--ink:#171b2d;--muted:#667085;--line:#e7e9f0;--accent:#4f46e5;--accent2:#7c3aed;--soft:#f5f3ff;--bg:#fff;--dark:#12172a;--ok:#087443;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}a{color:inherit;text-decoration:none}.wrap{max-width:1160px;margin:auto;padding:0 22px}.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-weight:900;font-size:23px;letter-spacing:-1.2px;white-space:nowrap}.brand span{color:var(--accent)}nav{display:flex;gap:20px;align-items:center;color:#4d5668;font-size:14px}nav a:hover,.footlinks a:hover{color:var(--accent)}.btn{display:inline-block;border:0;background:var(--accent);color:#fff;padding:12px 18px;border-radius:10px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(79,70,229,.16)}.btn:hover{background:#4338ca}.btn.ghost{background:var(--soft);color:var(--accent);box-shadow:none}.btn.dark{background:var(--dark)}.btn.mini{padding:7px 12px;font-size:12px}.notice{margin-top:18px;padding:12px 15px;border-radius:10px;border:1px solid}.notice.success{background:#ecfdf3;color:var(--ok);border-color:#abefc6}.notice.error{background:#fef3f2;color:var(--danger);border-color:#fecdca}.hero{padding:88px 0;background:radial-gradient(circle at 85% 20%,#ede9fe,transparent 34%),linear-gradient(135deg,#f8f7ff,#fff)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center}.eyebrow{font-size:12px;font-weight:900;letter-spacing:1.6px;color:var(--accent)}h1{font-size:50px;line-height:1.08;letter-spacing:-2.5px;margin:10px 0 18px}h1 span{color:var(--accent)}h2{font-size:31px;letter-spacing:-1.1px;margin:5px 0 0}h3{line-height:1.25}.hero p{font-size:18px;color:var(--muted);max-width:680px}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.hero-visual{display:flex;justify-content:center}.visual-card{width:320px;height:390px;border-radius:26px;background:linear-gradient(145deg,#e8e4ff,#fff);display:grid;place-items:center;box-shadow:0 30px 70px rgba(42,32,95,.14)}.fakebook{width:205px;height:292px;border-radius:10px;background:#1d2544;color:#fff;padding:28px;transform:rotate(-5deg);box-shadow:15px 18px 0 #a69bff,0 18px 35px #1d254440;font-weight:800}.fakebook .tiny{font-size:11px;letter-spacing:1.5px;color:#c9c4ff}.fakebook .big{display:block;font-size:39px;line-height:1;margin-top:20px}.fakebook small{display:block;margin-top:135px;color:#ddd8ff}.section{padding:66px 0 78px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:20px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #171b2d0d}.card img{display:block;width:100%;aspect-ratio:2/3;height:auto;object-fit:contain;object-position:center;background:#f1f2f6}.cardbody{padding:15px}.cardbody small{color:var(--accent);font-weight:800}.card h3{margin:6px 0;font-size:18px}.card p{color:var(--muted);margin:4px 0 10px;font-size:14px}.price{font-weight:900}.empty{grid-column:1/-1;border:1px dashed #cfd3df;border-radius:14px;padding:35px;text-align:center;color:var(--muted)}.band{background:var(--dark);color:#fff;padding:48px 0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.three p{color:#b7bdce}.search{display:flex;gap:10px;margin:24px 0 35px}.search input{flex:1}.bookpage{display:grid;grid-template-columns:330px 1fr;gap:55px}.bookcover img{display:block;width:100%;border-radius:14px;box-shadow:0 22px 55px #171b2d1b}.author{color:var(--muted)}.meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tag{background:var(--soft);color:var(--accent);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.buybox{margin-top:30px;padding:20px;border:1px solid var(--line);border-radius:15px;display:flex;justify-content:space-between;align-items:center;gap:20px}.buybox b{font-size:26px}.auth{min-height:68vh;background:#f7f7fa;padding:70px 20px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:28px;box-shadow:0 10px 30px #11100008}.auth .panel{max-width:520px;margin:auto}.formwide{max-width:780px;margin:auto}label{display:block;font-weight:750;margin:15px 0}input,textarea,select{width:100%;padding:12px 13px;border:1px solid #d6dae4;border-radius:9px;font:inherit;margin-top:6px;background:#fff}input:focus,textarea:focus,select:focus{outline:3px solid #4f46e51a;border-color:#8b85ef}textarea{resize:vertical}.muted{color:var(--muted)}.dashgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.dashgrid .btn{margin:5px 8px 5px 0}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line)}th{background:#f7f7fa}.badge{padding:4px 8px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:12px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.stat{padding:18px;border:1px solid var(--line);border-radius:13px}.stat strong{display:block;font-size:27px}.stat span{color:var(--muted);font-size:13px}.foot{display:flex;justify-content:space-between;gap:25px;padding:36px 22px}.foot p{color:var(--muted);margin:5px 0}.footlinks{display:flex;gap:20px;color:var(--muted);align-items:center}.copyright{text-align:center;border-top:1px solid var(--line);padding:15px;color:var(--muted);font-size:12px}.prose{max-width:800px}.prose h2{margin-top:30px}.author-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.author-card{padding:22px;border:1px solid var(--line);border-radius:14px}.avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--accent);font-weight:900;font-size:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:25px}.small{font-size:13px}.right{text-align:right}@media(max-width:850px){.hero-grid,.bookpage,.split{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.three,.dashgrid,.author-grid,.stats{grid-template-columns:1fr}.hero-visual{display:none}h1{font-size:40px}nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.nav{align-items:flex-start;padding-top:14px;padding-bottom:14px}.foot{flex-direction:column}.footlinks{flex-wrap:wrap}}@media(max-width:500px){.wrap{padding:0 16px}.cards{grid-template-columns:1fr 1fr}.search{flex-direction:column}.buybox{align-items:flex-start;flex-direction:column}.section{padding-top:45px}.hero{padding:60px 0}}
.band .three > div > a { color: inherit; text-decoration: none; }
.band .three > div > a:hover { text-decoration: underline; }
.footlinks a { cursor:pointer; pointer-events:auto; }
.admin-footer-link { font-weight:800; color:var(--accent); }

.footer-action{cursor:pointer;pointer-events:auto;text-decoration:none}.footer-action:hover{color:var(--accent);text-decoration:underline}.admin-footer-link{font-weight:900}

/* Book cover display fix: preserve complete cover artwork without cropping. */
.card img{width:100%;aspect-ratio:2/3;height:auto;object-fit:contain;object-position:center;background:#f1f2f6}
.bookcover img{width:100%;height:auto;object-fit:contain;object-position:center}
