:root{--ink:#102a43;--paper:#f5f9ff;--paper-light:#fff;--mint:#dbeafe;--green:#1d4ed8;--coral:#60a5fa;--purple:#2563eb;--line:#1e40af47}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{color:var(--ink);background:#e8f1ff;font-family:Libre Franklin,Arial,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.paper{background-color:var(--paper);background-image:radial-gradient(circle at 12% 12%,#93c5fd33,#0000 28%),radial-gradient(circle at 88% 76%,#dbeafea6,#0000 32%),linear-gradient(135deg,#fffffff5,#eff6ffeb)}h1,h2,h3,.pill{font-family:DM Serif Display,Georgia,serif}h1,h2,h3,p{margin-top:0}.eyebrow{display:block;letter-spacing:.22em;margin-bottom:8px;font-size:10px;font-weight:800}.pill{border:1px solid var(--ink);letter-spacing:.08em;background:linear-gradient(100deg,#eff6ff,#60a5fa);border-radius:999px;min-width:130px;padding:12px 24px;transition:transform .18s,box-shadow .18s;font-size:14px;font-style:italic;font-weight:700;box-shadow:4px 5px #1e40af33}.pill:hover{transform:translate(-2px,-2px);box-shadow:7px 8px #1e40af2e}.pill.aqua{background:linear-gradient(100deg,#fff,#93c5fd)}.pill.outline{box-shadow:none;background:0 0}.pill.submitted{background:var(--mint)}.college-logo{position:relative;display:block;object-fit:contain;filter:drop-shadow(0 5px 4px #1e28232e);flex:none}.college-logo.large{width:270px;height:270px}.college-logo.small{filter:none;width:52px;height:52px}.college-logo.tiny{filter:none;width:62px;height:62px}.book-stack{position:fixed;z-index:2;pointer-events:none;width:135px;height:85px;bottom:17px;right:22px;transform:rotate(-3deg)}.book-stack i{position:absolute;border:2px solid var(--ink);background:var(--coral);border-radius:3px 10px 10px 3px;width:125px;height:17px;right:0;box-shadow:inset 20px 0 #ffffff3d}.book-stack i:first-child{background:#1d4ed8;width:132px;bottom:0}.book-stack i:nth-child(2){background:#bfdbfe;bottom:16px;right:8px}.book-stack i:nth-child(3){background:#60a5fa;bottom:32px;right:-3px}.book-stack i:nth-child(4){background:#1e3a8a;width:112px;bottom:48px;right:12px}.book-stack b{position:absolute;z-index:3;font:700 35px Georgia;bottom:63px;right:42px}.auth-shell{position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;align-items: center;gap:6vw;min-height:100vh;padding:46px 6vw 34px}.auth-shell:before{content:"";position:absolute;pointer-events:none;border:1px solid #1e282373;inset:20px}.auth-brand{display:flex;flex-direction:column;justify-content:center;align-self:stretch;gap:36px}.auth-brand h1{letter-spacing:-.04em;max-width:780px;margin:0;font-size:clamp(42px,5.6vw,86px);font-style:italic;font-weight:400;line-height:.91}.auth-card{position:relative;z-index:3;border:1px solid var(--ink);text-align:center;background:#dbeafeeb;justify-self:end;width:100%;max-width:470px;padding:72px 52px 46px;box-shadow:15px 15px #1e40af24}.user-mark{position:absolute;display:grid;border:1px solid var(--ink);background:#60a5fa;border-radius:50%;place-items: center;width:98px;height:98px;font-size:52px;top:-49px;left:calc(50% - 49px)}.role-tag{display:inline-block;letter-spacing:.2em;border:1px solid;border-radius:30px;margin-bottom:24px;padding:5px 13px;font-size:10px;font-weight:800}.auth-card label{display:block;position:relative;margin-bottom:17px}.auth-card label span{position:absolute;letter-spacing:.12em;font-size:9px;font-weight:800;top:50%;left:17px;transform:translateY(-50%)}.auth-card input{border:1px solid var(--ink);outline:none;text-align:right;background:#ffffff40;width:100%;height:57px;padding:19px 14px 9px 115px;font-family:Georgia,serif}.auth-card input:focus{box-shadow:inset 0 -4px var(--coral);background:#ffffff8c}.auth-helper{margin:6px 0 25px;font:12px Georgia,serif}.auth-helper b{text-decoration:underline;cursor:pointer}.auth-foot{position:absolute;letter-spacing:.18em;font-size:9px;font-weight:800;bottom:37px;left:7vw}.portal-switch{position:absolute;z-index:5;letter-spacing:.15em;background:0 0;border:0;border-bottom:1px solid;font-size:10px;font-weight:800;top:39px;right:7vw}.app-shell{position:relative;overflow:hidden;min-height:100vh;padding-bottom:42px}.topbar{display:grid;grid-template-columns:220px 1fr 220px;border-bottom:1px solid var(--line);text-align:center;align-items: center;height:112px;padding:13px 32px}.topbar h1{letter-spacing:-.02em;margin:0;font-size:clamp(27px,3.5vw,52px);font-weight:400;line-height:1}.brand-mini{display:flex;text-align:left;letter-spacing:.08em;background:0 0;border:0;align-items: center;gap:12px;font:800 11px/1.1 Libre Franklin}.top-actions{display:flex;justify-content:flex-end;gap:9px}.top-actions button{border:1px solid var(--ink);background:0 0;border-radius:50%;width:43px;height:43px;transition:background .2s;font-size:21px}.top-actions button:hover{background:var(--mint)}.app-grid{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 112px)}.app-grid.no-sidebar{grid-template-columns:1fr}aside{position:relative;z-index:3;border-right:1px solid var(--line);padding:30px 20px 120px}.profile-chip{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:10px;margin-bottom:28px;padding-bottom:22px}.profile-chip>span{display:grid;background:var(--green);color:#fff;border-radius:50%;place-items: center;width:36px;height:36px;font-family:Georgia,serif}.profile-chip b,.profile-chip small{display:block}.profile-chip b{font:14px Georgia,serif}.profile-chip small{letter-spacing:.12em;margin-top:3px;font-size:7px}nav{display:grid;gap:7px}nav button{position:relative;display:grid;grid-template-columns:30px 1fr;text-align:left;letter-spacing:.03em;background:0 0;border:0;border-radius:30px;align-items: center;width:100%;padding:11px 11px 11px 6px;font-size:10px;font-weight:800}nav button em{opacity:.55;font:9px Georgia,serif}nav button:hover,nav button.active{outline:1px dashed var(--green);background:#dbeafec7}nav button.active:after{content:"→";position:absolute;right:12px}.side-quote{position:absolute;opacity:.6;max-width:180px;font:italic 11px/1.5 Georgia,serif;bottom:35px}.content{position:relative;z-index:3;min-width:0;padding:40px clamp(28px,4vw,68px) 90px}.menu-popover{position:fixed;z-index:10;border:1px solid var(--ink);background:var(--paper-light);width:210px;padding:14px;top:95px;right:28px;box-shadow:8px 8px #1e282333}.menu-popover button{text-align:left;background:0 0;border:0;width:100%;padding:11px;font:700 11px Georgia,serif}.menu-popover button:hover{background:var(--mint)}.toast{position:fixed;z-index:20;border:1px solid var(--ink);background:var(--green);color:#fff;letter-spacing:.1em;padding:16px 22px;font-size:10px;font-weight:800;bottom:30px;right:30px;box-shadow:6px 6px #1e282333}.dashboard-intro{display:flex;justify-content:space-between;align-items: end;margin-bottom:28px}.dashboard-intro h2{margin:0 0 5px;font-size:clamp(35px,4vw,62px);font-weight:400;line-height:.9}.dashboard-intro p{letter-spacing:.1em;font-size:11px;font-weight:800}.date-card{display:flex;border:1px solid var(--ink);align-items: center;gap:12px;padding:10px 16px}.date-card b{font:40px Georgia,serif}.date-card span{font-size:9px;font-weight:800;line-height:1.3}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{border:1px solid var(--ink);background:#ffffffd1;min-width:0;padding:22px}.panel-heading{display:flex;border-bottom:1px solid var(--line);justify-content:space-between;align-items: start;padding-bottom:14px}.panel-heading h3{margin:0;font-size:20px;font-weight:400}.panel-heading>b{letter-spacing:.1em;border:1px solid;padding:5px 8px;font-size:8px}.pie-wrap{display:flex;justify-content:center;align-items: center;gap:35px;min-height:250px}.pie{display:grid;background:conic-gradient(#1d4ed8 0 62.5%,#60a5fa 62.5% 87.5%,#bfdbfe 87.5%);box-shadow:inset 0 0 0 1px var(--ink);border-radius:50%;place-items: center;width:165px;height:165px}.pie span{display:grid;border:1px solid var(--ink);background:var(--paper-light);text-align:center;border-radius:50%;place-content: center;width:82px;height:82px;font:32px/1 Georgia,serif}.pie small{display:block;letter-spacing:.1em;margin-top:5px;font:7px Libre Franklin}.legend{min-width:180px}.legend p{display:grid;grid-template-columns:11px 1fr auto;gap:7px;margin:13px 0;font-size:8px;font-weight:700;line-height:1.3}.legend i{background:#1d4ed8;width:8px;height:8px}.legend i.mid{background:#60a5fa}.legend i.light{background:#bfdbfe}.bar-chart{display:grid;grid-template-columns:28px 1fr;height:250px;padding-top:25px}.y-labels{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:30px;font-size:8px}.bars{display:flex;background:repeating-linear-gradient(0deg,#0000 0 43px,#1e28231f 44px);border-bottom:1px solid;border-left:1px solid;justify-content:space-around;align-items: end}.bars div{position:relative;height:var(--h);background:linear-gradient(#60a5fa,#1d4ed8);width:18%}.bars div b{position:absolute;text-align:center;width:100%;font-size:9px;top:-20px}.bars div span{position:absolute;text-align:center;width:70px;font-size:7px;font-weight:800;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.admin-dashboard{display:grid;grid-template-columns:.85fr 1.1fr .8fr;gap:17px}.category-panel{background:#eff6ff}.donut{background:conic-gradient(#1e3a8a 0 33.3%,#1d4ed8 33.3% 57.1%,#3b82f6 57.1% 66.6%,#60a5fa 66.6% 90.4%,#bfdbfe 90.4%);border-radius:50%;width:130px;height:130px;margin:22px auto;box-shadow:inset 0 0 0 40px #eff6ff}.progress p{display:flex;justify-content:space-between;margin:9px 0 4px;font-size:8px;font-weight:800}.progress i{display:block;background:#1e282321;height:5px}.progress em{display:block;background:var(--green);height:100%}.group-chart{display:flex;background:repeating-linear-gradient(0deg,#0000 0 49px,#1e28231a 50px);border-bottom:1px solid;justify-content:space-around;align-items: end;height:260px;padding:25px 10px 30px}.group-chart div{display:flex;position:relative;align-items: end;gap:3px}.group-chart i{background:#bfdbfe;width:11px}.group-chart i:nth-child(2){background:#60a5fa}.group-chart i:nth-child(3){background:#1d4ed8}.group-chart span{position:absolute;white-space:nowrap;font-size:7px;top:calc(100% + 9px);left:-7px}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:7px;font-weight:800}.chart-legend span:first-child{color:#93c5fd}.chart-legend span:nth-child(2){color:#3b82f6}.challenge-card{color:#fff;background:#1e3a8a;padding:23px;box-shadow:8px 8px #1e40af33}.challenge-card>span{display:inline-block;color:#bfdbfe;border:1px solid #bfdbfe;border-radius:20px;padding:5px 9px;font-size:8px;font-weight:800}.challenge-card h3{color:#dbeafe;margin:12px 0 20px;font-size:34px;line-height:.9}.challenge-card>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px}.challenge-card p{margin:0;font-size:7px;font-weight:800;line-height:1.2}.challenge-card i{display:block;color:#fff;font-size:23px;font-style:normal}.editorial{display:grid;grid-template-columns:110px 1.15fr .75fr;align-items: center;gap:35px;min-height:500px}.big-number{color:#1e282321;align-self: start;font:italic 110px/.8 DM Serif Display}.editorial h2,.section-lead h2{margin:0 0 25px;font-size:clamp(42px,5vw,76px);font-weight:400;line-height:.9}.editorial p{max-width:680px;font:17px/1.85 Georgia,serif}.quote-card{display:flex;background:var(--green);color:#fff;flex-direction:column;justify-content:center;align-self:stretch;padding:35px;transform:rotate(1deg)}.quote-card>span{color:#bfdbfe;font:80px/1 Georgia,serif}.quote-card p{font:italic 19px/1.5 Georgia,serif}.quote-card small{letter-spacing:.14em;font-size:8px;font-weight:800}.section-lead{display:flex;border-bottom:1px solid var(--line);justify-content:space-between;align-items: end;margin-bottom:35px;padding-bottom:25px}.section-lead h2{margin-bottom:0}.section-lead>p{max-width:320px;margin-bottom:7px;font:15px/1.6 Georgia,serif}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.book-grid article{position:relative;min-width:0}.book-index{position:absolute;opacity:.35;font:italic 26px Georgia,serif;top:0;right:0}.book-cover{position:relative;aspect-ratio:.68;overflow:hidden;color:#fff;display:flex;background:#8b3a32;border:1px solid #15211d;flex-direction:column;width:min(100%,170px);padding:15px 13px;transform:rotate(-1deg);box-shadow:8px 8px #1e282333}.book-cover.real-cover{background:#dbeafe;padding:0}.book-cover.real-cover:after{display:none}.book-cover.real-cover img{display:block;object-fit:cover;width:100%;height:100%}.book-cover:after{content:"";position:absolute;border-left:1px solid #fff6;border-right:1px solid #00000040;width:3px;inset:0 auto 0 8px}.book-cover.japanese{color:#b43a33;background:#f0ede1}.book-cover.android{background:#32634e}.book-cover.hr{background:#202f4b}.book-cover.usage{color:#192522;background:#d6a931}.book-cover.os{color:#26352f;background:#c9ddd2}.book-cover.grammar{background:#a9443d}.cover-kicker{letter-spacing:.12em;font-size:6px;font-weight:800}.book-cover strong{margin-top:20px;font:22px/.96 Georgia,serif}.cover-art{display:grid;opacity:.65;flex:1;place-items: center;font:52px Georgia,serif}.book-cover small{letter-spacing:.08em;font-size:6px;font-weight:800}.book-grid article>div:last-child{padding-top:19px}.book-grid h3,.share-list h3{margin:0 0 4px;font-size:17px;font-weight:400;line-height:1.05}.book-grid p,.share-list p{letter-spacing:.1em;margin-bottom:15px;font-size:8px;font-weight:800}.book-category{display:block;color:var(--green);letter-spacing:.12em;min-height:18px;margin-bottom:7px;font-size:7px;font-weight:800}.book-grid .pill{min-width:105px;padding:8px 18px;font-size:11px}.admin-books{grid-template-columns:repeat(3,1fr)}.table-wrap{overflow:auto;border:1px solid var(--ink);background:#ffffffc7}table{border-collapse:collapse;width:100%;font-family:Georgia,serif}th{border-bottom:2px solid var(--ink);text-align:left;letter-spacing:.1em;background:#1e28230f;padding:17px 18px;font:800 9px Libre Franklin}td{border-bottom:1px solid #1e282359;padding:20px 18px;font-size:15px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#dbeafea6}.table-footer{display:flex;justify-content:space-between;align-items: center;margin-top:20px}.table-footer>span{letter-spacing:.15em;font-size:8px;font-weight:800}.status{display:inline-block;letter-spacing:.08em;border:1px solid;border-radius:20px;padding:5px 10px;font:800 8px Libre Franklin}.status.success{background:#dbeafe}.status.warning{background:#bfdbfe}.status.danger{background:#fecaca}.status.muted{background:#e2e8f0}.points{color:var(--green);font-size:18px}.row-actions{display:flex;gap:8px}.row-actions button{background:0 0;border:1px solid;border-radius:50%;width:32px;height:32px}.tabs{display:flex;gap:60px;margin-bottom:35px}.tabs button{position:relative;opacity:.45;background:0 0;border:0;padding:0 0 8px;font:38px DM Serif Display}.tabs button span{margin-right:12px;font:11px Libre Franklin}.tabs button.active{opacity:1;border-bottom:2px dashed}.borrow-form{border:1px solid var(--ink);background:#ffffffe6;max-width:980px;margin:auto;padding:32px 42px;box-shadow:10px 12px #1e40af21}.form-brand{display:flex;border-bottom:1px solid;align-items: center;gap:12px;padding-bottom:18px}.form-brand div b,.form-brand div small{display:block}.form-brand div b{font:20px Georgia,serif}.form-brand div small{letter-spacing:.1em;font-size:7px}.form-brand>span{margin-left:auto;font-size:8px;font-weight:800}.borrow-form>h2{text-align:center;font-size:32px;font-weight:400}fieldset{border:1px solid var(--line);margin:22px 0 0;padding:20px}legend{background:var(--purple);color:#fff;letter-spacing:.12em;padding:7px 12px;font-size:9px;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px}.selected-book-summary{display:flex;border-bottom:1px solid #1e282340;align-items: center;gap:22px;margin-bottom:24px;padding-bottom:20px}.selected-book-summary .book-cover{flex:none;width:75px;box-shadow:4px 4px #1e282333}.selected-book-summary h3{margin:0 0 5px;font-size:25px;font-weight:400}.selected-book-summary p{margin:0;font:italic 13px Georgia,serif}.form-grid label,.account-fields label{display:grid;grid-template-columns:140px 1fr;letter-spacing:.08em;align-items: center;font-size:8px;font-weight:800}.form-grid label.wide{grid-column:1/-1}.form-grid input,.account-fields input,.account-fields select{outline:none;background:0 0;border:0;border-bottom:1px solid;width:100%;padding:8px;font:14px Georgia,serif}.form-grid input:focus,.account-fields input:focus{background:#dbeafea6}.checks{font:11px Georgia,serif}fieldset ul{columns:2;column-gap:35px;margin:0;padding-left:20px;font:11px/1.5 Georgia,serif}.agree{display:block;margin-top:15px;font-size:8px;font-weight:800}.form-actions{display:flex;justify-content:flex-end;align-items: center;gap:14px;margin-top:24px}.text-button{background:0 0;border:0;border-bottom:1px solid;font-size:9px;font-weight:800}.badge-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.badge-admin-grid article{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:18px;padding:16px}.big-badge{display:grid;text-align:center;border:6px double #ffffffb3;border-radius:50%;flex:none;place-content: center;width:115px;height:115px;box-shadow:3px 5px #1e282340}.big-badge span{font:45px Georgia,serif}.big-badge small{max-width:80px;font-size:7px;font-weight:800}.cyan{background:#93c5fd}.pink{background:#60a5fa}.lime{color:#fff;background:#3b82f6}.red{color:#fff;background:#2563eb}.purple{color:#fff;background:#1e3a8a}.badge-admin-grid h3{margin:0 0 5px;font-size:18px;font-weight:400}.badge-admin-grid p{font:10px/1.4 Georgia,serif}.mini-badge{display:inline-grid;box-shadow:1px 2px 0 var(--ink);border:2px solid #ffffffb3;border-radius:50%;place-items: center;width:31px;height:31px;margin-right:-5px;font:16px Georgia,serif}.share-list{display:grid;grid-template-columns:1fr 1fr;gap:35px}.share-list article{display:flex;border:1px solid var(--line);background:#ffffffb8;align-items: center;gap:30px;padding:25px}.share-list .book-cover{flex:none;width:135px}.share-list h3{font-size:25px}.modal-panel{position:relative;border:1px solid var(--ink);background:#ffffffeb;max-width:900px;margin:0 auto;padding:40px;box-shadow:12px 12px #1e40af2e}.modal-panel>h2{margin-bottom:30px;font-size:40px;font-weight:400;line-height:1}.modal-grid,.confirm-share{display:grid;grid-template-columns:200px 1fr;gap:45px}.modal-grid .book-cover,.confirm-share .book-cover{width:180px}.student-list h3{border-bottom:1px solid;padding-bottom:12px}.student-list>div{display:flex;border-bottom:1px solid #1e282333;justify-content:space-between;align-items: center;padding:15px 0}.student-list span{display:flex;align-items: center;gap:12px}.student-list i{display:grid;background:var(--green);color:#fff;border-radius:50%;place-items: center;width:38px;height:38px;font-style:normal}.student-list .pill{min-width:100px;padding:8px 17px}.modal-cancel{position:absolute;letter-spacing:.1em;background:0 0;border:0;border-bottom:1px solid;font-size:8px;font-weight:800;top:25px;right:25px}.confirm-share>div:last-child{align-self: center}.confirm-share h3{margin:5px 0 20px;font-size:45px}.confirm-share p{font:24px Georgia,serif}.confirm-share .pill{margin-right:10px}.success-panel{text-align:center}.success-panel .success-mark{display:grid;background:var(--mint);border:1px solid;border-radius:50%;place-items: center;width:70px;height:70px;margin:0 auto 20px;font-size:34px}.success-panel .book-cover{width:120px;margin:20px auto}.success-panel h2{font-size:32px}.ebook-detail{display:grid;grid-template-columns:290px 1fr;gap:60px;max-width:1050px;margin:auto}.ebook-visual .book-cover{width:260px}.saved{position:relative;color:#fff;text-align:center;letter-spacing:.1em;background:linear-gradient(100deg,#1e3a8a,#60a5fa);border:1px solid;border-radius:30px;width:120px;margin:-18px 0 0 155px;padding:10px;font:800 8px/1.3 Libre Franklin}.ebook-info{padding-top:20px}.ebook-info h2{margin:0 0 15px;font-size:clamp(38px,4.3vw,64px);font-weight:400;line-height:.92}.ebook-info>a{text-decoration:underline;font:italic 15px Georgia,serif}.rating{display:flex;align-items: center;gap:18px;margin:22px 0}.rating span{color:#2563eb;letter-spacing:.1em;font-size:25px}.rating b{font:26px Georgia,serif}.rating small{font-size:8px;font-weight:800}.ebook-info>p{max-width:650px;font:15px/1.7 Georgia,serif}.ebook-info label{display:block;letter-spacing:.12em;margin-top:25px;font-size:9px;font-weight:800}.ebook-info textarea{display:block;resize:vertical;background:#dbeafeb8;border:1px solid;width:100%;height:125px;margin-top:8px;padding:16px;font:15px Georgia,serif}.review-actions{display:flex;justify-content:space-between;align-items: center;margin-top:15px}.review-actions small{letter-spacing:.1em;font-size:7px;font-weight:800}.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;min-height:440px}.terms-grid article{display:grid;grid-template-columns:80px 1fr;background:#ffffffb8;border:1px solid;gap:20px;padding:38px}.terms-grid article>span{opacity:.2;font:italic 60px Georgia,serif}.terms-grid small{letter-spacing:.15em;font-size:8px;font-weight:800}.terms-grid h2{margin:12px 0 25px;font-size:42px;font-weight:400;line-height:.95}.terms-grid li{margin-bottom:20px;padding-left:8px;font:15px/1.5 Georgia,serif}.policy-foot{text-align:center;letter-spacing:.13em;margin:30px 0 0;font-size:8px;font-weight:800}.account-tools{display:flex;justify-content:space-between;align-items: center;margin-bottom:24px}.account-tools p{margin:0;font:20px Georgia,serif}.pagination{display:flex;justify-content:center;gap:8px;margin-top:25px}.pagination button{background:0 0;border:1px solid;border-radius:50%;width:36px;height:36px}.pagination button.active{background:var(--green);color:#fff}.account-form{position:relative;background:#ffffffe6;border:1px solid;max-width:760px;margin:auto;padding:48px;box-shadow:12px 12px #1e40af26}.account-form h2{font-size:42px;font-weight:400}.account-form .close{position:absolute;background:0 0;border:1px solid;border-radius:50%;width:38px;height:38px;font-size:25px;top:18px;right:20px}.account-fields{display:grid;gap:15px;margin-top:30px}.account-fields label{grid-template-columns:180px 1fr;border-bottom:1px solid #1e40af26;padding-bottom:10px}.logout-screen{position:relative;display:grid;place-items: center;min-height:100vh;padding:30px}.logout-screen:before{content:"";position:absolute;border:1px solid var(--line);inset:20px}.logout-card{position:relative;z-index:3;text-align:center;max-width:750px}.logout-card h1{font-size:clamp(50px,7vw,95px);font-weight:400;line-height:.87}.logout-card p{font:17px Georgia,serif}.logout-card>div{display:flex;justify-content:center;gap:15px;margin-top:30px}@media (width<=1100px){.admin-dashboard{grid-template-columns:1fr 1fr}.challenge-card{grid-column:1/-1}.book-grid{grid-template-columns:repeat(2,1fr)}.badge-admin-grid{grid-template-columns:1fr 1fr}.editorial{grid-template-columns:70px 1fr}.quote-card{grid-column:2}.auth-shell{grid-template-columns:1fr 420px}.college-logo.large{width:190px;height:190px}.logo-g{font-size:70px}.app-grid{grid-template-columns:220px}.topbar{grid-template-columns:180px 1fr 180px}.chart-grid,.terms-grid{grid-template-columns:1fr}}@media (width<=760px){.auth-shell{display:block;padding:90px 28px}.auth-brand{display:block}.auth-brand .college-logo{width:100px;height:100px;margin-bottom:25px}.auth-brand h1{margin-bottom:80px;font-size:42px}.auth-card{padding:65px 24px 35px}.portal-switch{top:40px}.auth-foot{display:none}.topbar{grid-template-columns:55px 1fr 45px;height:auto;min-height:90px;padding:10px}.brand-mini span,.topbar .eyebrow{display:none}.topbar h1{font-size:24px}.top-actions{display:grid}.top-actions button{display:none}.top-actions button:last-child{display:block;width:38px;height:38px}.app-grid{display:block}.app-grid aside{overflow:auto;border-bottom:1px solid;border-right:0;padding:15px}.profile-chip,.side-quote{display:none}nav{display:flex;width:max-content}nav button{width:170px}.content{padding:28px 18px 100px}.dashboard-intro{display:block}.date-card{display:none}.pie-wrap{flex-direction:column;padding-top:20px}.admin-dashboard{grid-template-columns:1fr}.challenge-card{grid-column:auto}.section-lead{display:block}.section-lead h2,.editorial h2{font-size:42px}.section-lead>p{margin-top:20px}.book-grid,.admin-books,.share-list,.badge-admin-grid{grid-template-columns:1fr}.book-grid article{display:flex;gap:22px}.book-grid .book-cover{flex:none;width:125px}.editorial{display:block}.big-number{display:none}.quote-card{margin-top:30px}.share-list article{gap:18px;padding:15px}.share-list .book-cover{width:100px}.modal-panel{padding:28px 20px}.modal-panel>h2{font-size:29px}.modal-grid,.confirm-share{grid-template-columns:110px 1fr;gap:18px}.modal-grid .book-cover,.confirm-share .book-cover{width:110px}.confirm-share h3{font-size:32px}.ebook-detail{grid-template-columns:1fr;gap:25px}.ebook-visual{display:flex;align-items: end}.ebook-visual .book-cover{width:150px}.saved{margin:0 0 15px -15px}.ebook-info h2{font-size:40px}.terms-grid article{grid-template-columns:40px 1fr;padding:23px}.terms-grid article>span{font-size:35px}.terms-grid h2{font-size:32px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.borrow-form{padding:25px 15px}.form-grid label,.account-fields label{grid-template-columns:1fr;gap:6px}fieldset ul{columns:1}.account-form{padding:40px 22px}.account-form h2{font-size:32px}.logout-card h1{font-size:48px}.logout-card>div{flex-direction:column}.book-stack{opacity:.35}table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{border-bottom:1px solid;padding:12px}td{display:grid;grid-template-columns:120px 1fr;border:0;padding:8px;font-size:13px}td:before{content:attr(data-label);letter-spacing:.08em;font:800 7px Libre Franklin}.row-actions{display:flex}.table-footer{align-items: flex-end}.tabs{gap:30px}.tabs button{font-size:30px}}
