
:root{
 --blue:#0d3f8c;--blue2:#1268b3;--red:#df1725;--yellow:#f2d100;
 --ink:#18324d;--muted:#6c7d8d;--bg:#f3f6f9;--line:#dfe7ef;--white:#fff;
 --shadow:0 10px 28px rgba(25,54,83,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
.appbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:8px 24px;position:sticky;top:0;z-index:40}
.logo{height:56px;width:auto;object-fit:contain}
.brand{font-weight:800;color:var(--blue);font-size:18px;white-space:nowrap}
.nav{display:flex;gap:4px;margin-left:16px}
.nav button{border:0;background:transparent;color:#4d6276;padding:10px 12px;border-radius:10px;cursor:pointer;font-weight:700}
.nav button:hover,.nav button.active{background:#edf4fa;color:var(--blue)}
.search{margin-left:auto;width:min(430px,36vw)}
.search input{width:100%;border:1px solid var(--line);background:#f8fbfd;border-radius:12px;padding:12px 14px;outline:none}
.wrap{max-width:1220px;margin:auto;padding:26px 22px 60px}
.hero{background:linear-gradient(120deg,#0d3f8c,#176bb4);color:white;border-radius:22px;padding:30px 34px;display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:center;box-shadow:var(--shadow)}
.hero h1{font-size:38px;line-height:1.1;margin:0 0 10px}
.hero p{margin:0;opacity:.92;font-size:16px;line-height:1.5}
.hero .hint{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.chip{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);padding:7px 10px;border-radius:999px;font-size:13px}
.hero-card{background:#fff;color:var(--ink);padding:18px;border-radius:18px}
.hero-card h3{margin:0 0 10px;color:var(--blue)}
.hero-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.grid-title{display:flex;justify-content:space-between;align-items:end;margin:30px 0 14px}
.grid-title h2{margin:0;color:var(--blue);font-size:24px}.grid-title p{margin:0;color:var(--muted);font-size:14px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quick{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(25,54,83,.05);cursor:pointer;min-height:126px}
.quick:hover{transform:translateY(-2px);transition:.18s;box-shadow:var(--shadow)}
.quick .icon{font-size:26px}.quick h3{margin:10px 0 6px;color:var(--blue);font-size:17px}.quick p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.status{display:inline-block;margin-top:10px;font-size:12px;padding:5px 8px;border-radius:999px;background:#fff3d6;color:#835e00;font-weight:700}
.library{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}
.book-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;cursor:pointer;box-shadow:0 6px 20px rgba(25,54,83,.06);transition:.18s}
.book-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cover{height:265px;background:linear-gradient(145deg,#f9fbfd,#e9f1f7);padding:16px;display:flex;align-items:center;justify-content:center}
.cover img{max-height:100%;max-width:100%;object-fit:contain;background:#fff;box-shadow:0 7px 20px rgba(25,48,72,.14)}
.book-body{padding:15px 16px 17px}.kind{font-size:11px;font-weight:800;color:var(--red);letter-spacing:.08em}
.book-body h3{margin:6px 0;color:var(--blue);font-size:18px}.book-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.45;min-height:40px}
.meta{display:flex;justify-content:space-between;margin-top:12px;font-size:13px}.pill{background:#eaf3fb;color:var(--blue);padding:5px 9px;border-radius:999px;font-weight:700}
.panel{display:none}.panel.active{display:block}
.empty{background:#fff;border:1px dashed #cbd9e6;border-radius:16px;padding:28px;text-align:center;color:var(--muted)}
.empty strong{display:block;color:var(--blue);font-size:18px;margin-bottom:7px}
.result{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:8px 0;cursor:pointer}
.result b{color:var(--blue)}.result small{color:#738496}
#results{display:none;margin-top:18px}#results.active{display:block}
.reader{display:none;position:fixed;inset:76px 0 0 0;grid-template-columns:280px 1fr;background:#dfe8ef;z-index:30}.reader.active{display:grid}
.sidebar{background:#fff;border-right:1px solid var(--line);overflow:auto;padding:12px}
.thumb{display:flex;gap:9px;padding:7px;border-radius:10px;cursor:pointer;border:1px solid transparent;align-items:center}
.thumb:hover,.thumb.active{background:#eef5fb;border-color:#cfe0ef}.thumb img{width:72px;max-height:100px;object-fit:contain;border:1px solid #e5edf4}.thumb span{font-size:13px;color:#5c6d7e}
.stage{position:relative;display:flex;align-items:center;justify-content:center;padding:50px 62px 82px;overflow:hidden}
.reader-title{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#fff;padding:8px 14px;border-radius:10px;color:var(--blue);font-weight:800;box-shadow:0 3px 12px rgba(25,48,72,.10)}
.frame{width:min(1080px,calc(100vw - 420px));height:calc(100vh - 205px);display:flex;align-items:center;justify-content:center;perspective:1700px}
.page{max-width:100%;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 14px 38px rgba(25,45,65,.25);border-radius:3px}
.page.flip{animation:flip .28s ease}@keyframes flip{0%{transform:rotateY(0)}45%{transform:rotateY(-10deg);opacity:.88}100%{transform:rotateY(0)}}
.navarrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#fff;color:var(--blue);width:46px;height:62px;border-radius:13px;font-size:28px;cursor:pointer;box-shadow:0 4px 16px rgba(25,45,65,.15)}
.prev{left:12px}.next{right:12px}
.toolbar{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center;background:#fff;padding:8px 10px;border-radius:14px;box-shadow:0 7px 22px rgba(25,45,65,.16)}
.tool{border:0;background:#edf4fa;color:var(--blue);padding:9px 11px;border-radius:9px;cursor:pointer;font-weight:700}.count{min-width:80px;text-align:center;font-weight:700}
@media(max-width:900px){
 .brand,.nav{display:none}.search{width:100%}.appbar{padding:7px 10px}.logo{height:48px}
 .hero{grid-template-columns:1fr;padding:24px}.hero h1{font-size:30px}.quick-grid{grid-template-columns:1fr 1fr}
 .reader.active{grid-template-columns:1fr}.sidebar{display:none}.stage{padding:46px 10px 78px}.frame{width:100%;height:calc(100vh - 195px)}
 .navarrow{width:39px;height:54px}.prev{left:4px}.next{right:4px}.reader-title{font-size:13px;max-width:72%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:620px){.quick-grid{grid-template-columns:1fr}.hero h1{font-size:27px}.search input{font-size:14px}.wrap{padding:18px 12px 50px}}
