:root{--blue:#0d4b9d;--blue2:#2798f1;--ink:#152238;--muted:#6f8099;--line:#d9e6f4;--soft:#f4f8fe;--white:#fff;--shadow:0 16px 45px rgba(21,66,120,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f8fbff,#edf5ff);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{text-decoration:none;color:inherit}.site{max-width:1600px;margin:auto;padding:28px}.topbar{background:linear-gradient(120deg,#0f4693,#2da1f5);color:#fff;border-radius:22px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:15px;min-width:0}.brand b{font-size:21px}.brand small{display:block;margin-top:5px;color:#e9f5ff}.logo{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#643cf4,#2d87ff);display:grid;place-items:center;font-size:24px;font-weight:900;box-shadow:inset 0 0 0 1px #ffffff22}.topbar nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.topbar nav a{padding:13px 16px;border:1px solid #ffffff55;border-radius:11px;font-weight:800;transition:.2s}.topbar nav a:hover,.topbar nav a.active{background:#fff;color:#1557a5;box-shadow:0 8px 24px #143a6e28}.searchbar,.listing,.exam-page{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(25,72,120,.06)}.searchbar form{display:grid;grid-template-columns:2fr 1fr auto;gap:10px}input,select,textarea{width:100%;border:1px solid #c8d8eb;background:#fff;border-radius:14px;padding:15px 17px;font:inherit;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#268cf0;box-shadow:0 0 0 4px #268cf018}button,.btn{border:0;border-radius:12px;background:linear-gradient(120deg,#0d4d9d,#228fe5);color:#fff;padding:13px 18px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.home-grid{display:grid;grid-template-columns:300px 1fr 355px;gap:18px;margin-top:18px}.panel,.hero{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}.panel h3,.material-list h3{display:flex;justify-content:space-between;align-items:center}.panel h3 span,.material-list h3 span{background:#e6f3ff;color:#1770cb;border-radius:999px;padding:6px 10px}.mini-card,.latest-card{display:block;border:1px solid var(--line);border-radius:16px;padding:15px;margin:10px 0;background:#fff}.mini-card small,.latest-card small{display:block;color:var(--muted);margin-top:7px;line-height:1.45}.latest-card{display:flex;justify-content:space-between;align-items:center;gap:10px}.latest-card em{font-style:normal;background:#0d56aa;color:#fff;padding:9px 11px;border-radius:10px;white-space:nowrap}.hero{padding:62px 50px;background:linear-gradient(135deg,#f9fcff,#e7f3ff)}.hero>small{font-weight:900;color:#0871d3}.hero h1{font-size:clamp(42px,5vw,70px);line-height:1.04;margin:24px 0 16px}.hero p{font-size:19px;color:var(--muted);line-height:1.55}.hero-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.hero-cats a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;gap:10px}.count-search{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-bottom:18px}.count-search.only-search{grid-template-columns:1fr}.count-pill{border:1px solid var(--line);border-radius:14px;padding:15px 18px;font-weight:900;background:#fff;white-space:nowrap}.cards{display:grid;gap:14px}.category-grid,.exam-grid,.material-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:230px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#f9fbff);overflow:hidden;transition:.2s}.card:before{content:"";position:absolute;left:0;top:0;width:82%;height:28px;background:#eaf3ff;border-radius:0 16px 16px 0}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#8ec2f2}.card-badge{position:relative;z-index:1;font-size:12px;font-weight:900;color:#0d67c4;margin-bottom:15px}.card-icon{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#eef5ff;padding:6px;margin-top:4px}.emoji{font-size:31px;margin-top:4px}.card h3{margin:12px 0 8px;font-size:19px;line-height:1.3}.card p,.card small{color:var(--muted);line-height:1.48}.card .btn{margin-top:auto}.card-actions{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.card-actions em{font-style:normal;background:#eaf4ff;color:#1169c9;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.exam-page>.back{display:inline-flex;margin-bottom:15px;color:#0d66c4;border:1px solid #2789ec;padding:12px 15px;border-radius:11px;font-weight:900}.exam-head{background:linear-gradient(120deg,#0f4b9c,#2699ee);color:#fff;border-radius:18px;padding:25px;display:flex;align-items:center;gap:18px}.exam-head img{width:78px;height:78px;object-fit:contain;border-radius:15px;background:#fff;padding:4px}.exam-head h1{margin:0 0 8px;font-size:clamp(25px,3vw,40px)}.exam-head p{margin:0;color:#e7f4ff}.exam-head>span{margin-left:auto;border:1px solid #ffffff55;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-top:16px;flex-wrap:wrap}.tabs a{background:#edf4fd;border-radius:12px 12px 0 0;padding:15px 18px;font-weight:900}.tabs a.active{background:linear-gradient(120deg,#0e4b9c,#208ce4);color:#fff;box-shadow:0 6px 18px #0d5dbd2c}.material-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;margin-top:16px}.inline-reader,.material-list{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff}.reader-title{background:linear-gradient(120deg,#0e4b9c,#2393e9);color:#fff;padding:20px}.reader-title h2{margin:6px 0;font-size:clamp(24px,3vw,38px)}.reader-title p{margin:0;color:#e9f6ff}.reader-empty{min-height:560px;background:#737373;color:#fff;display:grid;place-items:center;text-align:center}.book-reader{background:#777}.book-stage{min-height:620px;padding:24px;display:flex;justify-content:center;align-items:flex-start;gap:2px;position:relative;overflow:auto;background:#777}.page-canvas{display:block;background:#fff;box-shadow:0 8px 24px #0003}.left-page{border-radius:5px 0 0 5px}.right-page{border-radius:0 5px 5px 0}.book-loading{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900;background:#777}.reader-controls{background:#fff;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border-top:1px solid var(--line);flex-wrap:wrap}.reader-controls button,.reader-controls a{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#17304d;font-weight:800}.material-list h3{margin:0;padding:17px;background:linear-gradient(120deg,#1172cc,#20a0e8);color:#fff}.material-list a{display:block;margin:13px;border:1px solid #63a8ea;border-radius:14px;padding:15px}.material-list a.active{background:#eef6ff;box-shadow:0 0 0 3px #2589e51a}.material-list small{display:block;color:var(--muted);margin-top:7px}.no-material{padding:18px;color:var(--muted)}.empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:18px;padding:55px;text-align:center;color:var(--muted)}footer{margin-top:24px;background:#0d3976;color:#fff;border-radius:22px;padding:32px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}footer a{display:block;color:#d8e7f7;margin-top:10px}footer p{color:#c8d9eb}.mobile-nav{display:none}.install-body{min-height:100vh;display:grid;place-items:center;padding:20px}.install-card{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow);display:grid;gap:15px}.logo.big{width:72px;height:72px;margin:auto;font-size:31px}.install-card h1,.install-card p,.install-card small{text-align:center}.alert{background:#fff0f0;color:#a91d1d;border:1px solid #ffc4c4;padding:13px;border-radius:12px}.success{background:#eaffef;color:#087b31;border:1px solid #b5ebc4;padding:13px;border-radius:12px}.admin-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.admin-nav{background:#0c3876;color:#fff;padding:24px;display:flex;flex-direction:column;gap:7px;position:sticky;top:0;height:100vh;overflow:auto}.admin-brand{display:flex;align-items:center;gap:10px;font-size:20px;margin-bottom:20px}.admin-nav>a:not(.admin-brand){padding:14px;border-radius:10px}.admin-nav>a:hover{background:#ffffff1c}.admin-main{padding:28px;min-width:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats>div,.admin-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.stats b{display:block;font-size:39px;color:#1268c5}.quick{display:flex;gap:10px;flex-wrap:wrap}.quick a{background:#1264bf;color:#fff;padding:13px 16px;border-radius:10px;font-weight:900}.admin-grid{display:grid;grid-template-columns:minmax(380px,560px) 1fr;gap:18px}.admin-card{display:grid;gap:14px;align-content:start}.manage-list>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:13px 0}.manage-list span:last-child{display:flex;align-items:center;gap:10px}.manage-list form{display:inline}.manage-list small{display:block;color:var(--muted);margin-top:4px}.danger{background:#e94343;padding:8px 10px}.switch{display:flex;align-items:center;gap:9px}.switch input{width:20px}.toggles{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:1100px){.home-grid{grid-template-columns:260px 1fr}.latest{grid-column:1/-1}.category-grid,.exam-grid,.material-grid{grid-template-columns:repeat(2,1fr)}.material-layout{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){body{padding-bottom:104px}.site{padding:18px}.topbar nav{display:none}.brand b{font-size:20px}.brand small{font-size:13px}.logo{width:64px;height:64px}.searchbar form{grid-template-columns:1fr}.home-grid{grid-template-columns:1fr}.hero{padding:34px 24px}.hero h1{font-size:40px}.hero-cats{grid-template-columns:repeat(2,1fr)}.category-grid,.exam-grid,.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-height:245px;padding:16px}.card h3{font-size:17px}.count-search{grid-template-columns:1fr}.count-pill{display:none}.exam-head{padding:18px}.exam-head img{width:60px;height:60px}.exam-head h1{font-size:24px}.exam-head>span{font-size:9px}.material-layout{grid-template-columns:1fr}.material-list{order:-1}.book-stage{min-height:520px;padding:14px}.right-page{display:none!important}.reader-controls{position:sticky;bottom:0}.mobile-nav{display:grid;position:fixed;z-index:100;left:14px;right:14px;bottom:10px;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:24px;padding:8px;box-shadow:0 14px 38px #133c6c35}.mobile-nav a{display:grid;place-items:center;gap:3px;padding:9px 2px;border-radius:16px;color:#71809a;font-weight:900}.mobile-nav a.active{background:linear-gradient(135deg,#0e4d9e,#2c98ef);color:#fff;box-shadow:0 8px 22px #0f63bd40}.mobile-nav i{font-style:normal;font-size:21px}.mobile-nav span{font-size:10px}footer{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-nav{position:relative;height:auto;flex-direction:row;white-space:nowrap}.admin-brand{display:none}.admin-main{padding:16px}.stats{grid-template-columns:1fr}}
@media(max-width:430px){.category-grid,.exam-grid,.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-height:220px;padding:14px}.card h3{font-size:15px}.card p,.card small{font-size:12px}.card .btn{font-size:11px;padding:10px}.card-actions em{font-size:10px;padding:7px}.card-icon{width:48px;height:48px}.emoji{font-size:24px}.hero h1{font-size:34px}.exam-head>span{display:none}}
/* v24 RJU-style mobile/detail refinements */
.section-pills{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0}.section-pills a{padding:11px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#1266c8;font-weight:900;box-shadow:0 3px 10px rgba(24,77,135,.08)}.section-pills a.active{background:linear-gradient(120deg,#0e4b9c,#208ce4);color:#fff;border-color:transparent}.native-reader{background:#777}.native-reader iframe{display:block;width:100%;height:82vh;min-height:700px;border:0;background:#777}.reader-actions{display:flex;justify-content:center;gap:10px;padding:12px;background:#fff;border-top:1px solid var(--line)}.reader-actions a{padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-weight:900;color:#0d5fba}.material-layout{grid-template-columns:340px minmax(0,1fr)}.material-list{order:0}.inline-reader{order:1}.category-card .card-badge,.exam-card .card-badge{margin-bottom:10px}.category-card .card-icon,.category-card .emoji,.exam-card .card-icon,.exam-card .emoji{margin-top:0}.materials-page{padding-top:18px}.materials-page .material-card{min-height:210px}
@media(max-width:760px){
 body[data-page="exam"] .topbar{display:none}
 body[data-page="exam"] .exam-page>.back{display:none}
 body[data-page="exam"] .site{padding-top:18px}
 .material-layout{display:flex;flex-direction:column;gap:18px}.material-list{order:0}.inline-reader{order:1}
 .exam-page{padding:8px;border-radius:20px}.exam-head{border-radius:18px;padding:18px;align-items:center}.exam-head img{width:72px;height:72px;flex:0 0 72px}.exam-head h1{font-size:25px;line-height:1.15;margin-bottom:7px}.exam-head p{font-size:14px;line-height:1.35}.exam-head>span{display:none}
 .section-pills{gap:8px;margin:14px 0}.section-pills a{padding:10px 15px;font-size:14px}
 .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex-wrap:nowrap;margin-top:12px}.tabs a{padding:13px 7px;text-align:center;font-size:13px;line-height:1.15;border-radius:12px 12px 0 0}
 .material-list h3{padding:17px}.material-list a{padding:15px;margin:12px}.material-list{order:0}.inline-reader{order:1}
 .native-reader iframe{height:74vh;min-height:540px}.reader-actions{position:sticky;bottom:88px;z-index:4}
 .category-card .card-badge,.exam-card .card-badge{order:0;margin:0 0 10px}.category-card .card-icon,.category-card .emoji,.exam-card .card-icon,.exam-card .emoji{order:1;margin:0 0 8px}.category-card h3,.exam-card h3{order:2}.category-card p,.exam-card p{order:3}.category-card small,.exam-card small{order:4}.category-card .btn,.exam-card .btn{order:5}
 .category-card,.exam-card{min-height:285px}.category-card:before,.exam-card:before{height:52px}.category-card .card-badge,.exam-card .card-badge{z-index:2;padding-top:4px}.category-card .emoji,.exam-card .emoji{font-size:27px;position:absolute;top:15px;left:20px;z-index:3}.category-card .card-icon,.exam-card .card-icon{position:absolute;top:10px;left:14px;width:42px;height:42px;z-index:3;background:transparent;padding:2px}.category-card .card-badge,.exam-card .card-badge{padding-left:47px;min-height:32px;display:flex;align-items:center}.category-grid,.exam-grid{gap:12px}.card h3{margin-top:12px}
}
@media(max-width:430px){.site{padding:14px}.topbar{padding:16px}.brand{gap:12px}.brand b{font-size:19px}.brand small{font-size:12px}.logo{width:60px;height:60px}.category-card,.exam-card{min-height:270px;padding:14px}.category-card h3,.exam-card h3{font-size:17px}.category-card p,.exam-card p,.category-card small,.exam-card small{font-size:13px}.category-card .btn,.exam-card .btn{font-size:12px;padding:11px 10px;width:100%}.exam-head h1{font-size:23px}.tabs a{font-size:12px;padding:12px 4px}.native-reader iframe{min-height:500px}}

/* =========================================================
   Hint Plus Library v25 — RJU Student Library UI System
   Front-end only. Admin styles and data flow remain unchanged.
   ========================================================= */
:root{
  --rju-navy:#0a337a;
  --rju-blue:#1773dc;
  --rju-sky:#2196e8;
  --rju-ink:#14213d;
  --rju-muted:#667892;
  --rju-line:#dce5f2;
  --rju-soft:#f4f8ff;
  --rju-shadow:0 18px 44px rgba(10,51,122,.12);
}
body:not(.admin-body){background:linear-gradient(180deg,#f8fbff 0%,#edf4ff 100%);color:var(--rju-ink)}
.site{max-width:none;width:calc(100% - 24px);padding:16px 6px 28px;margin:0 auto}
.topbar{padding:15px 17px;border-radius:18px;background:linear-gradient(120deg,var(--rju-navy),#1764c9 58%,#2a94f2);box-shadow:0 18px 40px rgba(10,51,122,.22)}
.brand{gap:12px}.brand b{font-size:20px}.brand small{font-size:13px;color:#d7e7ff}.logo{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.16);box-shadow:none}
.topbar nav a{padding:10px 13px;border-radius:10px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);font-weight:800}
.topbar nav a:hover,.topbar nav a.active{background:#fff;color:var(--rju-navy);box-shadow:none}
.searchbar,.listing,.exam-page{border-color:var(--rju-line);border-radius:18px;box-shadow:0 12px 34px rgba(15,46,97,.08)}
.searchbar{padding:14px}.searchbar input,.searchbar select{min-height:46px;border-radius:11px}.searchbar button{border-radius:11px;background:linear-gradient(135deg,var(--rju-navy),var(--rju-blue))}
.home-grid{grid-template-columns:310px minmax(0,1fr) 360px;gap:16px}.panel,.hero{border-color:var(--rju-line);border-radius:18px;box-shadow:0 12px 34px rgba(15,46,97,.08)}
.hero{background:radial-gradient(circle at right top,rgba(33,150,232,.15),transparent 28%),linear-gradient(145deg,#fbfdff,#f1f6fd)}
.hero h1{font-size:clamp(38px,5vw,62px);line-height:1.05}.hero p{color:var(--rju-muted)}
.mini-card,.latest-card{border-color:#b9d2f7;background:#f6f9ff;border-radius:13px}.latest h3{background:linear-gradient(135deg,#0c80d8,#1f98e8);color:#fff;margin:-18px -18px 12px;padding:14px}.latest h3 span{background:rgba(255,255,255,.2);color:#fff}

/* RJU browse/list cards */
.flat-list{padding:18px}.count-search{gap:12px}.count-pill{border:1px solid var(--rju-line);background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(15,46,97,.07);font-weight:850;color:var(--rju-ink)}
.cards{gap:14px}.category-grid,.exam-grid,.material-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-height:235px;padding:18px;border:1px solid var(--rju-line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 8px 22px rgba(15,46,97,.06);overflow:hidden;transition:.18s ease}
.card:hover{transform:translateY(-2px);border-color:#a9c9f5;box-shadow:0 12px 28px rgba(23,100,201,.12)}
.card:before{content:"";position:absolute;left:0;right:10%;top:0;height:28px;border-radius:16px 16px 16px 0;background:#eaf3ff}
.card-badge{position:relative;z-index:2;display:block;width:auto;margin:0 0 18px;padding:1px 0;color:#1266c8;background:transparent;font-size:12px;font-weight:900;text-transform:none}
.card-icon{position:relative;z-index:2;width:58px;height:58px;object-fit:cover;border-radius:13px;margin-bottom:10px;background:#fff}.emoji{position:relative;z-index:2;font-size:30px;margin-bottom:8px}
.card h3{font-size:19px;line-height:1.28;margin:4px 0 8px;color:var(--rju-ink)}.card p,.card small{color:var(--rju-muted);line-height:1.45}.card small{display:block;margin-bottom:12px}
.card>.btn{margin-top:auto;align-self:flex-start;padding:11px 15px;border-radius:10px;background:linear-gradient(135deg,var(--rju-navy),var(--rju-blue))}
.card-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}.card-actions .btn{padding:11px 15px;border-radius:10px}.card-actions em{font-style:normal;padding:8px 10px;border-radius:999px;background:#e9f4ff;color:#1266c8;font-size:11px;font-weight:900}
.materials-page .material-card{min-height:190px}.materials-page .material-card h3{margin-top:8px}

/* Detail page — same hierarchy as RJU */
.exam-page{padding:18px}.back{display:inline-flex;margin-bottom:14px;padding:10px 14px;border:1px solid var(--rju-blue);border-radius:10px;background:#fff;color:var(--rju-blue);font-weight:800}
.exam-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;border-radius:17px;background:linear-gradient(135deg,#0f459e,#1b72d7);color:#fff}
.exam-head img{width:84px;height:84px;object-fit:cover;border-radius:13px;background:#fff}.exam-head h1{margin:0 0 7px;font-size:34px;line-height:1.12;color:#fff}.exam-head p{margin:0;color:#dbeafe}.exam-head>span{padding:7px 10px;border:1px solid rgba(255,255,255,.32);border-radius:999px;font-size:10px;font-weight:800}
.section-pills{margin:14px 0 0;gap:8px}.section-pills a{padding:8px 12px;border-radius:999px}.tabs{margin-top:14px;gap:6px}.tabs a{padding:12px 16px;border-radius:10px 10px 0 0;background:#eef4ff;color:#31547f;font-weight:800}.tabs a.active{background:linear-gradient(135deg,var(--rju-navy),var(--rju-blue));color:#fff}
.material-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:16px;margin-top:14px;align-items:start}
.inline-reader,.material-list{border:1px solid var(--rju-line);border-radius:16px;background:#fff;overflow:hidden}.inline-reader{order:1}.material-list{order:2}
.reader-title{padding:14px 16px;background:linear-gradient(135deg,#0f459e,#1b72d7);color:#fff}.reader-title small{color:#dbeafe}.reader-title h2{margin:4px 0;color:#fff;font-size:28px}.reader-title p{margin:5px 0 0;color:#dbeafe}
.material-list h3{margin:0;padding:14px;background:linear-gradient(135deg,#0c80d8,#1f98e8);color:#fff}.material-list h3 span{min-width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.2);padding:0}.material-list a{margin:12px;padding:14px;border:1px solid #b9d2f7;border-radius:13px;background:#f6f9ff}.material-list a.active{border-color:var(--rju-blue);box-shadow:0 0 0 2px rgba(23,115,220,.12)}

/* Clear book reader */
.book-reader{background:#777}.book-stage{position:relative;display:grid;place-items:center;min-height:650px;padding:24px;background:#858585;overflow:auto}.book{position:relative;display:grid;grid-template-columns:1fr 6px 1fr;width:min(100%,1080px);aspect-ratio:1.42;background:#666;filter:drop-shadow(0 16px 26px rgba(0,0,0,.28));transition:aspect-ratio .2s ease}.book-page{position:relative;display:grid;place-items:center;background:#fff;overflow:hidden}.book-left{border-radius:4px 0 0 4px}.book-right{border-radius:0 4px 4px 0}.book-page canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;background:#fff}.book-page>span{position:absolute;bottom:5px;color:#555;font-size:10px}.book>i{background:linear-gradient(90deg,#aaa,#fff,#aaa)}
.book-arrow{position:absolute;z-index:4;width:48px;height:72px;border:0;border-radius:14px;background:rgba(0,0,0,.2);color:#fff;font-size:42px}.book-arrow.book-prev{left:6px}.book-arrow.book-next{right:6px}.book-loading{position:absolute;inset:0;display:grid;place-items:center;background:#777;color:#fff;font-weight:900;z-index:3}.book-reader.ready .book-loading{display:none}.book-reader.error .book-loading{background:#5f5f5f;padding:30px;text-align:center}
.reader-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;background:#fff;border-top:1px solid var(--rju-line);flex-wrap:wrap}.reader-controls button,.reader-controls a{padding:8px 11px;border:1px solid var(--rju-line);border-radius:9px;background:#fff;color:var(--rju-ink);font-weight:800}.reader-controls a{text-decoration:none}

footer{background:linear-gradient(135deg,#071d49,#0b357c);border-radius:18px;color:#d8e6ff}
.mobile-nav{border-color:var(--rju-line)}

@media(max-width:1200px){.home-grid{grid-template-columns:270px minmax(0,1fr)}.latest{grid-column:1/-1}.category-grid,.exam-grid,.material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.material-layout{grid-template-columns:minmax(0,2fr) minmax(250px,1fr)}}
@media(max-width:900px){.category-grid,.exam-grid,.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-layout{grid-template-columns:1fr}.material-list{order:1}.inline-reader{order:2}}
@media(max-width:760px){
 body{padding-bottom:102px}.site{width:100%;padding:18px 18px 28px}.topbar{padding:16px;border-radius:20px}.topbar nav{display:none}.brand{gap:14px}.brand b{font-size:23px}.brand small{font-size:14px;line-height:1.45}.logo{width:66px;height:66px;border-radius:17px;font-size:28px}
 body[data-page="exam"] .topbar{display:none}body[data-page="exam"] .exam-page>.back{display:none}body[data-page="exam"] .site{padding-top:18px}
 .listing,.exam-page{padding:12px;border-radius:20px}.count-search{grid-template-columns:1fr}.count-pill{display:none}.category-grid,.exam-grid,.material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .card{min-height:285px;padding:14px}.card:before{height:52px;right:16%}.card-badge{min-height:32px;display:flex;align-items:center;padding-left:0;margin-bottom:12px}.card-icon,.emoji{margin-top:0}.card h3{font-size:18px}.card p,.card small{font-size:13px}.card>.btn{width:100%;font-size:12px;padding:11px 8px}.card-actions{gap:6px}.card-actions .btn{font-size:11px;padding:10px 8px}.card-actions em{font-size:10px;padding:7px 8px}
 .exam-head{grid-template-columns:72px minmax(0,1fr);padding:18px;gap:14px}.exam-head img{width:72px;height:72px}.exam-head h1{font-size:25px;line-height:1.15}.exam-head p{font-size:14px;line-height:1.35}.exam-head>span{display:none}.section-pills{gap:8px}.section-pills a{font-size:13px;padding:9px 13px}
 .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tabs a{font-size:12px;padding:12px 5px;text-align:center;line-height:1.12}
 .material-layout{display:flex;flex-direction:column;gap:18px}.material-list{order:1;width:100%}.inline-reader{order:2;width:100%}.reader-title h2{font-size:24px}.book-stage{min-height:520px;padding:14px}.book{grid-template-columns:1fr;aspect-ratio:.72;width:min(100%,600px)}.book>i,.book-left{display:none!important}.book-right{border-radius:4px}.book-arrow{width:38px;height:62px;font-size:34px}.reader-controls{position:sticky;bottom:88px;z-index:5}
 .mobile-nav{display:grid;position:fixed;z-index:100;left:14px;right:14px;bottom:10px;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--rju-line);border-radius:24px;padding:8px;box-shadow:0 14px 38px rgba(19,60,108,.21)}.mobile-nav a{display:grid;place-items:center;gap:3px;padding:9px 2px;border-radius:16px;color:#71809a;font-weight:900}.mobile-nav a.active{background:linear-gradient(135deg,var(--rju-navy),var(--rju-blue));color:#fff;box-shadow:0 8px 22px rgba(15,99,189,.25)}.mobile-nav i{font-style:normal;font-size:21px}.mobile-nav span{font-size:10px}
 footer{grid-template-columns:1fr;padding-bottom:115px}
}
@media(max-width:430px){.site{padding:14px}.brand b{font-size:20px}.brand small{font-size:12px}.logo{width:60px;height:60px}.category-grid,.exam-grid,.material-grid{gap:10px}.card{min-height:268px;padding:12px}.card h3{font-size:16px}.card p,.card small{font-size:12px}.exam-head h1{font-size:22px}.tabs a{font-size:11px}.book-stage{min-height:490px;padding:10px}}
